Work Around for Convolution1DLayer

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?

Réponses (4)

Aditya
Aditya le 7 Août 2024
Modifié(e) : Aditya le 7 Août 2024

0 votes

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 le 7 Août 2024
Modifié(e) : Walter Roberson le 7 Août 2024

0 votes

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 le 7 Août 2024

0 votes

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 commentaires

Kevin Monahan
Kevin Monahan le 7 Août 2024
I am. The error specifically saps mlkdnn does not support this. It also does not work with Cuda. I am running 2024a.
Ram Kokku
Ram Kokku le 8 Août 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.
森
le 17 Août 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?

Connectez-vous pour commenter.

Matt J
Matt J le 7 Août 2024
Modifié(e) : Matt J le 7 Août 2024

0 votes

Why not just use a convolution2dLayer? A 1D input is just a special case of a 2D input.

2 commentaires

Kevin Monahan
Kevin Monahan le 7 Août 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 le 7 Août 2024
Modifié(e) : Matt J le 7 Août 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.

Connectez-vous pour commenter.

Catégories

En savoir plus sur MATLAB Coder dans Centre d'aide et File Exchange

Produits

Version

R2024a

Commenté :

森
le 17 Août 2024

Community Treasure Hunt

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

Start Hunting!

Translated by