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?

Respuestas (4)

Aditya
Aditya el 7 de Ag. de 2024
Editada: Aditya el 7 de Ag. de 2024

0 votos

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 el 7 de Ag. de 2024
Editada: Walter Roberson el 7 de Ag. de 2024

0 votos

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 el 7 de Ag. de 2024

0 votos

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 comentarios

Kevin Monahan
Kevin Monahan el 7 de Ag. de 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 el 8 de Ag. de 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.
森
el 17 de Ag. de 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?

Iniciar sesión para comentar.

Matt J
Matt J el 7 de Ag. de 2024
Editada: Matt J el 7 de Ag. de 2024

0 votos

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

2 comentarios

Kevin Monahan
Kevin Monahan el 7 de Ag. de 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 el 7 de Ag. de 2024
Editada: Matt J el 7 de Ag. de 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.

Iniciar sesión para comentar.

Categorías

Más información sobre MATLAB Coder en Centro de ayuda y File Exchange.

Productos

Versión

R2024a

Preguntada:

el 7 de Ag. de 2024

Comentada:

森
el 17 de Ag. de 2024

Community Treasure Hunt

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

Start Hunting!

Translated by