We have trained a Mask R-CNN model on a NVIDIA GPU to do object instance segmentation and tested on some images with sufficient performance. Now we are looking into deploy the trained model on Neural Compute Stick 2. I'm just getting started with OpenVINO toolkit and here is what I have done:
I downloaded
mask_rcnn_inception_v2_coco.tar.gzfromTensorFlow detection model zooand decompressed it.I used
ModelOptimizeras follows to get anIntermediate Representation:python3 mo_tf.py \ --input_model ./frozen_inference_graph.pb \ -- tensorflow_use_custom_operations_config extensions/front/tf/mask_rcnn_support.json \ --tensorflow_object_detection_api_pipeline_config ./pipeline.config \ --data_type FP16
(I used data type of FP16 as the default FP32 is not supported on VPU)
- Then I used Inference Engine in the
mask_rcnn_demoas follows:
./mask_rcnn_demo -m ./frozen_graph.xml -i ./image.jpg -d MYRIAD
However, I got the following error:
[ ERROR ] [VPU] Softmax input or output
SecondStageBoxPredictor/ClassPredictor/BiasAdd/softmax has invalid batch
Could someone please point me to the source of this error?
I understand from the documentation that currently Mask RCNN is only supported on CPU and GPU, but I would like to know is there anything I can do to get it run on VPU (such as write custom layers for layers not supported in Model Optimizer?). I haven't found any explanation on why Mask RCNN is not supported on VPU in the documentation yet.
Thanks,