Work Around for Convolution1DLayer

2 views (last 30 days)
Kevin Monahan
Kevin Monahan on 7 Aug 2024
Commented: on 17 Aug 2024
I am trying to do code generation of a trained deep learning network however it uses a convolution1dlayer. It seems this is not currently supported by matlab. What are some possible solutions to this problem?

Answers (4)

Aditya
Aditya on 7 Aug 2024
Edited: Aditya on 7 Aug 2024
Hi Kevin,
Please do refer to this MATLAB answer post by MathWorks Support Team on the same issue: Is code generation supported for "convolution1DLayer"? - MATLAB Answers - MATLAB Central (mathworks.com)
Hope this helps!

Ram Kokku
Ram Kokku on 7 Aug 2024
Edited: Walter Roberson on 7 Aug 2024
Convolution1DLayer supports code generation in the latest (R2024a) version of MATLAB. See the extended capabilities section : here - https://www.mathworks.com/help/deeplearning/ref/nnet.cnn.layer.convolution1dlayer.html

Steven Lord
Steven Lord on 7 Aug 2024
Are you certain that you're using release R2024a? It appears from the Release Notes that support for generating code from this layer was added in release R2024a.
  3 Comments
Ram Kokku
Ram Kokku on 8 Aug 2024
@Kevin Monahan, use TargetLibrary=none (https://www.mathworks.com/help/coder/ref/coder.deeplearningconfig.html). Both MATLAB Coder and GPU Coder support TargetLibrary=none. so, you should be able to generate both C/C++ and CUDA. For Better performance, you may need to explicit enable hardware features like instructionset (AVX2, AVX512) and multi-threading. See https://www.mathworks.com/help/coder/ug/optimize-generic-c-cpp-code-performance.html for more details.
森
on 17 Aug 2024
I meet the same problem when generating coder containg Convolution1DLayer using TargetLibrary=none, and I also use the version 2024a. So this means actualy version 2024a stiil does not support the code generation for Convolution1DLayer?

Sign in to comment.


Matt J
Matt J on 7 Aug 2024
Edited: Matt J on 7 Aug 2024
Why not just use a convolution2dLayer? A 1D input is just a special case of a 2D input.
  2 Comments
Kevin Monahan
Kevin Monahan on 7 Aug 2024
I did not make the model. It was given to me pretrained. I need to take it and move it out of Matlab for future research.
Matt J
Matt J on 7 Aug 2024
Edited: Matt J on 7 Aug 2024
Why does that matter? It was given to you, but surely you can use replaceLayer to swap the 1D convolutional layers for 2D ones.

Sign in to comment.

Categories

Find more on Deep Learning with GPU Coder in Help Center and File Exchange

Products


Release

R2024a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!