I implemented Fast-SCNN real-time segmentation network in TensorFlow 1.14 using Keras. I successfully turned frozen graph to intermediate representation, xml and bin files were generated. I was using the latest Model Optimizer version. When i tried to load the model to MYRIAD device, I got the following error
[ INFO ] Creating Inference Engine [ INFO ] Loading network files: /home/ivan/models/fast_scnn_model.xml /home/ivan/models/fast_scnn_model.bin [ INFO ] Preparing input blobs [ INFO ] Loading model to the plugin E: [global] [ 37406] [python3] XLinkReadData:165 addEventWithPerf(&event, &opTime) failed with error: 3 E: [ncAPI] [ 37406] [python3] ncGraphAllocate:2053 Can't read input tensor descriptors of the graph, rc: X_LINK_COMMUNICATION_FAIL Traceback (most recent call last): File "video_seg.py", line 141, in <module> sys.exit(main() or 0) File "video_seg.py", line 94, in main exec_net = ie.load_network(network=net, device_name=args.device) File "ie_api.pyx", line 134, in openvino.inference_engine.ie_api.IECore.load_network File "ie_api.pyx", line 141, in openvino.inference_engine.ie_api.IECore.load_network RuntimeError: Failed to allocate graph: NC_ERROR E: [global] [ 37480] [Scheduler00Thr] dispatcherEventSend:53 Write failed (header) (err -4) | event XLINK_CLOSE_STREAM_REQ E: [xLink] [ 37480] [Scheduler00Thr] sendEvents:1036 Event sending failed E: [global] [ 37480] [Scheduler00Thr] dispatcherEventSend:53 Write failed (header) (err -4) | event XLINK_RESET_REQ E: [xLink] [ 37480] [Scheduler00Thr] sendEvents:1036 Event sending failed E: [ncAPI] [ 47480] [python3] ncDeviceClose:1838 Device didn't appear after reboot
I'm not sure where the problem is. One thing that I'm suspecting is that the network is using depthwise convolution layers. I haven't found information here whether or not the operation is supported on MYRIAD. I have found here that the optimizer is supporting that operation in TensorFlow. I would appreciate your advice.
The problem was that the input size was too large (1024 x 2048 x 3) so I guess the stick doesn't allow such big input sizes, I lowered it to (512 x 1024 x 3) and the net was successfully loaded to the stick.