Intel® Distribution of OpenVINO™ Toolkit
Community assistance about the Intel® Distribution of OpenVINO™ toolkit, OpenCV, and all aspects of computer vision-related on Intel® platforms.

Issue running Yolo-v3

Dravecky__Andrej
Beginner
780 Views

Hi,
I'm trying to run Yolo-v3 trained on custom dataset and I've ran into problems.

What I did: 
I've trained the network on my custom dataset with 3 classes successfully
using Yolo-v3 implementation from here.

After the training I've used the included freeze_graph.py script to generate
ProtoBuffer file with the graph structure and trained weights.

I've converted this file to IR (seemingly without problem) using Model Optimizer for tensorflow:

python3 mo_tf.py --input_model my_model.pb --tensorflow_use_custom_operations custom_op.json --batch 1 --input_shape [1, 512, 512, 3]

with custom operations config edited as follows to match my model:

[
  {
    "id": "TFYOLOV3",
    "match_kind": "general",
    "custom_attributes": {
      "classes": 3,
      "anchors": [10, 13, 16, 30, 33, 23, 30, 61, 62, 45, 59, 119, 116, 90, 156, 198, 373, 326],
      "coords": 4,
      "num": 9,
      "masks":[[6, 7, 8], [3, 4, 5], [0, 1, 2]],
      "entry_points": ["pred_sbbox/concat_2", "pred_mbbox/concat_2", "pred_lbbox/concat_2"]
    }
  }
]

When I try to run this representation on Mustang V100 (with object_detection_demo_yolov3_async) as:

>> python3 object_detection_demo_yolov3_async.py -d HDDL -m ir/yolov3_ir.xml -i test_img.jpg

I run into this Runtime error:

Traceback (most recent call last):
  File "object_detection_demo_yolov3_async.py", line 359, in <module>
    sys.exit(main() or 0)
  File "object_detection_demo_yolov3_async.py", line 231, in main
    exec_net = ie.load_network(network=net, num_requests=2, device_name=args.device)
  File "ie_api.pyx", line 85, in openvino.inference_engine.ie_api.IECore.load_network
  File "ie_api.pyx", line 92, in openvino.inference_engine.ie_api.IECore.load_network
RuntimeError: AssertionFailed: _allocatedIntermData.count(topParent) > 0

When I try to run it using CPU, a get following:

>> python3 object_detection_demo_yolov3_async.py -d CPU -l ~/inference_engine_samples_build/intel64/Release/lib/libcpu_extension.so -m ir/yolov3_ir.xml -i test_img.jpg
[ INFO ] Creating Inference Engine...
[ INFO ] Loading network files:
	ir/yolov3_ir.xml
	ir/yolov3_ir.bin
[ INFO ] Preparing inputs
[ INFO ] Loading model to the plugin
[ INFO ] Starting inference...
To close the application, press 'CTRL+C' here or switch to the output window and press ESC key
To switch between sync/async modes, press TAB key in the output window
Traceback (most recent call last):
  File "object_detection_demo_yolov3_async.py", line 359, in <module>
    sys.exit(main() or 0)
  File "object_detection_demo_yolov3_async.py", line 276, in main
    out_blob = out_blob.reshape(net.layers[net.layers[layer_name].parents[0]].shape)
ValueError: cannot reshape array of size 6936 into shape (1,4,17,17,3)

Im running ubuntu 18.04, kernel version 5.0
Any help would be much appreciated :)

 

EDIT: Added zipped model

0 Kudos
3 Replies
JesusE_Intel
Moderator
780 Views

Hi Andrej,

Would you mind sharing your TensorFlow Model (.pb) for me to try to convert from my end? Are you using the latest OpenVINO toolkit 2020.1 release?

Also, there may be some architectural differences in the YOLOv3 Implementation you are using. The OpenVINO Toolkit supports the YoloV3 implementation from the following link: https://github.com/mystic123/tensorflow-yolo-v3

Regards,

Jesus

0 Kudos
Dravecky__Andrej
Beginner
780 Views

Hi,
I'm sorry for my late response, here is my frozen model.

I was using v2019 R3 .. I've tried to upgrade to 2020.1 and I've encountered same error.
Regards,

Andrej

0 Kudos
D__yugendra
Novice
753 Views
Have you solved that problem? I am also facing same problem.
Thank you.
0 Kudos
Reply