Hi guys,
When I convert slim.separable_convolution2d, snpe-tensorflow-to-dlc would report:
2017-11-22 10:42:49,070 - 308 - WARNING - WARNING_TF_SCOPE_OP_NOT_CONSUMED: Operation (MobileNet/conv_ds_2/depthwise_conv/BiasAdd) not consumed by converter: BiasAdd.
2017-11-22 10:42:49,071 - 123 - ERROR - Conversion failed: ERROR_TF_OPERATION_NOT_MAPPED_TO_LAYER: Some operations in the Tensorflow graph were not resolved to a layer. You can use --allow_unconsumed_nodes for partial graph resolution!
I've checked the BiasAdd API, it is actually tensorflow.python.ops.nn.bias_add. If I use --allow_unconsumed_nodes parameter, it would output a converted dlc file, but still got the warning log:
2017-11-22 11:31:07,168 - 308 - WARNING - WARNING_TF_SCOPE_OP_NOT_CONSUMED: Operation (MobileNet/conv_ds_2/depthwise_conv/BiasAdd) not consumed by converter: BiasAdd.
The question is what does snpe-tensorflow-to-dlc do with BiasAdd operation? Does it just simply ignore BiasAdd operation, and there are no BiasAdd operations in the output dlc file? If does, the dlc file would not give correct computation result.
And how could I get more details information about the unconsumed error log?
Any comments would be appreciated! Thanks.
Please provide a minimal graph (pb) example so we can help you determine why the conversion is not working.
Hi dmarques,
Thanks for replying.
I've got issue fixed by skipping the BiasAdd op. My college executes the batch_norm operation out of separable_convolution2d, then I realized separable_convolution2d has parameters about batch_norm, so I passed the batch_norm function and parameters to separable_convolution2d, it would not report this error any more.