Я пытаюсь запустить SSD ResNet50 FPN COCO
(ssd_resnet50_v1_fpn_shared_box_predictor_640x640_coco14_sync_2018_07_03
) модель на NCS2, используя MYRIAD, Python API, но она зависает при загрузке IR в плагин со следующей ошибкой.
E: [xLink] [ 80143] handleIncomingEvent:240 handleIncomingEvent() Read failed -4
E: [xLink] [ 80143] dispatcherEventReceive:308 dispatcherEventReceive() Read failed -4 | event 0x7f35137fde80 USB_WRITE_REQ
E: [xLink] [ 80143] eventReader:256 eventReader stopped
E: [xLink] [ 80144] dispatcherEventSend:908 Write failed event -4
E: [watchdog] [ 81144] sendPingMessage:164 Failed send ping message: X_LINK_ERROR
E: [watchdog] [ 82144] sendPingMessage:164 Failed send ping message: X_LINK_ERROR
E: [watchdog] [ 83144] sendPingMessage:164 Failed send ping message: X_LINK_ERROR
E: [watchdog] [ 84145] sendPingMessage:164 Failed send ping message: X_LINK_ERROR
...
Failed send ping message: X_LINK_ERROR
продолжает отображаться, пока я не нажму Ctrl + C, чтобы убить скрипт.Я заметил USB_WRITE_REQ
в ошибке, поэтому подумал, что это как-то связано с портом USB3, но когда я попробовал более легкую модель ssd_mobilenet_v2_coco
, она работала как чудо.
Это скрипт для генерации ИК(IR сгенерирован успешно)
python mo_tf.py --input_model ~/workspace/pi/ssd_resnet50_v1_fpn_shared_box_predictor_640x640_coco14_sync_2018_07_03/frozen_inference_graph.pb --output_dir ~/workspace/pi/ssd_resnet50_v1_fpn_shared_box_predictor_640x640_coco14_sync_2018_07_03/openvino_model/FP16 --tensorflow_use_custom_operations_config ~/intel/computer_vision_sdk/deployment_tools/model_optimizer/extensions/front/tf/ssd_v2_support.json --tensorflow_object_detection_api_pipeline_config ~/workspace/pi/ssd_resnet50_v1_fpn_shared_box_predictor_640x640_coco14_sync_2018_07_03/pipeline.config --data_type FP16
Это скрипт, который я использовал для тестирования
python test.py -m ~/workspace/pi/ssd_resnet50_v1_fpn_shared_box_predictor_640x640_coco14_sync_2018_07_03/openvino_model/FP16/frozen_inference_graph.xml -i ~/workspace/object-detection/test_images/image.jpg -d MYRIAD
Вот фрагмент скрипта Python
plugin = IEPlugin(device=args.device, plugin_dirs=args.plugin_dir)
if args.cpu_extension and 'CPU' in args.device:
plugin.add_cpu_extension(args.cpu_extension)
# Read IR
log.info("Reading IR...")
net = IENetwork(model=model_xml, weights=model_bin)
if plugin.device == "CPU":
supported_layers = plugin.get_supported_layers(net)
not_supported_layers = [l for l in net.layers.keys() if l not in supported_layers]
if len(not_supported_layers) != 0:
log.error("Following layers are not supported by the plugin for specified device {}:\n {}".
format(plugin.device, ', '.join(not_supported_layers)))
log.error("Please try to specify cpu extensions library path in demo's command line parameters using -l "
"or --cpu_extension command line argument")
sys.exit(1)
assert len(net.inputs.keys()) == 1, "Demo supports only single input topologies"
assert len(net.outputs) == 1, "Demo supports only single output topologies"
input_blob = next(iter(net.inputs))
out_blob = next(iter(net.outputs))
n, c, h, w = net.inputs[input_blob].shape
log.info("Loading IR to the plugin...")
exec_net = plugin.load(network=net) # <== stuck at this line
Единственная причина, по которой яМожно подумать, почему ssd_mobilenet_v2_coco_2018_03_29
работает, а ssd_resnet50_v1_fpn_shared_box_predictor_640x640_coco14_sync_2018_07_03
- это не тот размер, который составляет 33 МБ для первого и около 100 МБ для второго.Я думаю, что модель SSD Resnet50, возможно, достигла ограничения ресурсов моего ноутбука.Если это причина, как я могу обойти это?Я использую l_openvino_toolkit_p_2018.5.455
в Ubuntu 18.04.
Модель SSD ResNet50 FPN COCO
из зоопарка моделей обнаружения объектов TensorFlow и поддерживается инструментарием Openvino (https://software.intel.com/en-us/articles/OpenVINO-Using-TensorFlow).