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?

Antworten (4)

Aditya
Aditya am 7 Aug. 2024
Bearbeitet: Aditya am 7 Aug. 2024

0 Stimmen

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 am 7 Aug. 2024
Bearbeitet: Walter Roberson am 7 Aug. 2024

0 Stimmen

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 am 7 Aug. 2024

0 Stimmen

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 Kommentare

Kevin Monahan
Kevin Monahan am 7 Aug. 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 am 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.
森
am 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?

Melden Sie sich an, um zu kommentieren.

Matt J
Matt J am 7 Aug. 2024
Bearbeitet: Matt J am 7 Aug. 2024

0 Stimmen

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

2 Kommentare

Kevin Monahan
Kevin Monahan am 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 am 7 Aug. 2024
Bearbeitet: Matt J am 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.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu MATLAB Coder finden Sie in Hilfe-Center und File Exchange

Produkte

Version

R2024a

Gefragt:

am 7 Aug. 2024

Kommentiert:

森
am 17 Aug. 2024

Community Treasure Hunt

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

Start Hunting!

Translated by