How can I avoid "Unsupported custom layer" error during Code Generation using %#codegen pragma in MATLAB R2025a?

6 views (last 30 days)

While generating C code for my "tf_predict.m" MATLAB function which loads and calls my neural network to produce output predictions, I encountered this error:

"Unsupported custom layer 'kConcatenate1Layer789'."

Code generation does not support custom layers without '%#codegen' defined in the class definition.

Does this mean the custom concatenate layer is unsupported by MATLAB Coder? How do I fix it?

Accepted Answer

MathWorks Support Team
MathWorks Support Team on 28 Aug 2025
This is expected. This error indicates that your custom layer "kConcatenate1Layer789" lacks the required "%#codegen" pragma in its class definition.
This has nothing to do with the built-in concatenation operation, but rather that the custom layer class must be explicitly marked for code generation as described in this MathWorks documentation for defining custom layers for code generation.
Add the pragma like this:
classdef kConcatenate1Layer789 < nnet.layer.Layer %#codegen ... end
Also, I suggest running the following code to verify full compatibility of your network with C code generation. This can flag layers and syntax which is not supported for code generation.
analyzeNetworkForCodegen('<model>.mat')

More Answers (0)

Categories

Find more on Input Specification in Help Center and File Exchange

Products


Release

R2025a

Community Treasure Hunt

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

Start Hunting!