nnet.keras.layer.FlattenCStyleLayer 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:
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
Deep Learning HDL Toolbox Support Package For Intel FPGA And SoC Devices 21.2.4
Matlab R2021b Update 6 (18.104.22.1687237)
Wang Chen on 11 Apr 2023
Is it possible for you to upgrade to R2022a or higher version of MATLAB?
This issue is fixed in R2022a, please see following bug report: https://www.mathworks.com/support/bugreports/2522278?s_tid=srchtitle_nnet.keras.layer.FlattenCStyleLayer_2
Alternatively, In R2021b, If your network is a SeriesNetwork type, the nnet.keras.layer.FlattenCStyleLayer is also suppored.