nnet.keras​.layer.Fla​ttenCStyle​Layer is not supported

3 views (last 30 days)
I've imported a NN in SaveModel fromat from TensorFlow (v2.6). It has a Keras flatten layer and when I try to generate the HDL with Deep Learning HDL Toolbox Support Package For Intel FPGA And SoC Devices I get the following message:
Error using dnnfpga.compiler.codegenfpga
Layer nnet.keras.layer.FlattenCStyleLayer is not supported. See the documentation for list of supported layers.
Error in dnnfpga.apis.Workflow/compileNetwork
Error in dnnfpga.apis.Workflow/compile
Error in generate_HDL_from_NN (line 19)
dn = hW.compile;
However, nnet.keras.layer.FlattenCStyleLayer is supported according to documentation (https://es.mathworks.com/help/deep-learning-hdl/ug/supported-networks-layers-boards-and-tools.html)
I realised that nnet.keras.layer.FlattenCStyleLayer must be followed by a Fully connected layer and it does.
These are the layers from the NN imported:
nn.Layers =
7×1 Layer array with layers:
1 'input_layer' Image Input 28×28×1 images
2 'flatten' Keras Flatten Flatten activations into 1-D assuming C-style (row-major) order
3 'dense' Fully Connected 128 fully connected layer
4 'dense_relu' ReLU ReLU
5 'output_layer' Fully Connected 10 fully connected layer
6 'output_layer_softmax' Softmax softmax
7 'ClassificationLayer_output_layer' Classification Output crossentropyex with '0' and 9 other classes
Software version:
Deep Learning HDL Toolbox Support Package For Intel FPGA And SoC Devices 21.2.4
Matlab R2021b Update 6 (
Ubuntu 20.04

Answers (1)

Wang Chen
Wang Chen on 11 Apr 2023
Hi Ruben,
Is it possible for you to upgrade to R2022a or higher version of MATLAB?
Alternatively, In R2021b, If your network is a SeriesNetwork type, the nnet.keras.layer.FlattenCStyleLayer is also suppored.
Rubén on 19 Apr 2023
Edited: Rubén on 19 Apr 2023
Understood. Thank you for your support
The question comes because in deploy documentation it is only mentioned that series network can be deployed: "The Deep Learning HDL Toolbox™ Support Package for Intel FPGA and SoC Devices enables you to deploy your custom series deep learning network, and custom deep learning processor IP on the hardware."

Sign in to comment.


Find more on FPGA, ASIC, and SoC Development in Help Center and File Exchange




Community Treasure Hunt

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

Start Hunting!