Part Number: TDA4VM
Hi,
I have the Jacinto J7 EVM kit.
https://github.com/TexasInstruments/edgeai-yolov5 Using the relevant repo, I'm using my special data set to train the yolov5s6. After I do the onnx conversion, I have two files. "best.onnx" and "best.prototxt"
The contents of the "best.prototxt" file looks like this.
name: "yolo_v3"
tidl_yolo {
yolo_param {
input: "370"
anchor_width: 19.0
anchor_width: 44.0
anchor_width: 38.0
anchor_height: 27.0
anchor_height: 40.0
anchor_height: 94.0
}
yolo_param {
input: "426"
anchor_width: 96.0
anchor_width: 86.0
anchor_width: 180.0
anchor_height: 68.0
anchor_height: 152.0
anchor_height: 137.0
}
yolo_param {
input: "482"
anchor_width: 140.0
anchor_width: 303.0
anchor_width: 238.0
anchor_height: 301.0
anchor_height: 264.0
anchor_height: 542.0
}
yolo_param {
input: "538"
anchor_width: 436.0
anchor_width: 739.0
anchor_width: 925.0
anchor_height: 615.0
anchor_height: 380.0
anchor_height: 792.0
}
detection_output_param {
num_classes: 36
share_location: true
background_label_id: -1
nms_param {
nms_threshold: 0.65
top_k: 30000
}
code_type: CODE_TYPE_YOLO_V5
keep_top_k: 300
confidence_threshold: 0.005
}
name: "yolo_v3"
in_width: 640
in_height: 640
output: "detections"
}
https://github.com/TexasInstruments/edgeai-benchmark I want to compile my custom model to run on TDA4VM using the corresponding repo.
For this, I set my pipeline_config settings in benchmark_custom.py as follows.
'imagedet-best': dict(
task_type='detection',
calibration_dataset=imagedet_calib_dataset,
input_dataset=imagedet_val_dataset,
preprocess=preproc_transforms.get_transform_onnx((640,640), (640,640), resize_with_pad=[True], backend='cv2'),
session=sessions.ONNXRTSession(**onnx_session_cfg,
runtime_options=utils.dict_update(settings.runtime_options_onnx_np2(),
{'object_detection:meta_arch_type': 6,
'object_detection:meta_layers_names_list':'/home/sefau18/edgeai-modelzoo/models/vision/detection/coco/bests6v2/best.prototxt',
'advanced_options:output_feature_16bit_names_list':'370, 426, 482, 538'
}),
model_path='/home/sefau18/edgeai-modelzoo/models/vision/detection/coco/bests6v2/best.onnx',
postprocess=postproc_transforms.get_transform_detection_yolov5_onnx(squeeze_axis=None, normalized_detections=False, resize_with_pad=True, formatter=postprocess.DetectionBoxSL2BoxLS()),
metric=dict(label_offset_pred=datasets.coco_det_label_offset_90to90()),
model_info=dict(metric_reference={'accuracy_ap[.5:.95]%':45.0})
))
I am sharing the error I got.
(benchmark) sefau18@ubuntu:~/edgeai-benchmark$ ./run_custom_pc.sh
Entering: ./work_dirs/modelartifacts/8bits/cl-3420_tvmdlr_imagenet1k_gluoncv-mxnet_resnet50_v1d-symbol_json.tar.gz.link
run_set_target_device.sh: line 59: cd: ./work_dirs/modelartifacts/8bits/cl-3420_tvmdlr_imagenet1k_gluoncv-mxnet_resnet50_v1d-symbol_json.tar.gz.link/artifacts: Not a directory
Entering: ./work_dirs/modelartifacts/8bits/cl-3410_tvmdlr_imagenet1k_gluoncv-mxnet_mobilenetv2_1.0-symbol_json.tar.gz.link
run_set_target_device.sh: line 59: cd: ./work_dirs/modelartifacts/8bits/cl-3410_tvmdlr_imagenet1k_gluoncv-mxnet_mobilenetv2_1.0-symbol_json.tar.gz.link/artifacts: Not a directory
Entering: ./work_dirs/modelartifacts/8bits/cl-3420_tvmdlr_imagenet1k_gluoncv-mxnet_resnet50_v1d-symbol_json.tar.gz.link.link.link
run_set_target_device.sh: line 59: cd: ./work_dirs/modelartifacts/8bits/cl-3420_tvmdlr_imagenet1k_gluoncv-mxnet_resnet50_v1d-symbol_json.tar.gz.link.link.link/artifacts: Not a directory
Entering: ./work_dirs/modelartifacts/8bits/od-5040_tvmdlr_coco_gluoncv-mxnet_ssd_512_mobilenet1.0_coco-symbol_json.tar.gz.link.link
run_set_target_device.sh: line 59: cd: ./work_dirs/modelartifacts/8bits/od-5040_tvmdlr_coco_gluoncv-mxnet_ssd_512_mobilenet1.0_coco-symbol_json.tar.gz.link.link/artifacts: Not a directory
Entering: ./work_dirs/modelartifacts/8bits/cl-3410_tvmdlr_imagenet1k_gluoncv-mxnet_mobilenetv2_1.0-symbol_json.tar.gz.link.link.link
run_set_target_device.sh: line 59: cd: ./work_dirs/modelartifacts/8bits/cl-3410_tvmdlr_imagenet1k_gluoncv-mxnet_mobilenetv2_1.0-symbol_json.tar.gz.link.link.link/artifacts: Not a directory
Entering: ./work_dirs/modelartifacts/8bits/od-5040_tvmdlr_coco_gluoncv-mxnet_ssd_512_mobilenet1.0_coco-symbol_json.tar.gz.link.link.link
run_set_target_device.sh: line 59: cd: ./work_dirs/modelartifacts/8bits/od-5040_tvmdlr_coco_gluoncv-mxnet_ssd_512_mobilenet1.0_coco-symbol_json.tar.gz.link.link.link/artifacts: Not a directory
Entering: ./work_dirs/modelartifacts/8bits/ss-5818_tvmdlr_ti-robokit_edgeai-tv_deeplabv3plus_mobilenetv2_tv_edgeailite_robokit-zed1hd_768x432_qat-p2_onnx.tar.gz.link.link.link
run_set_target_device.sh: line 59: cd: ./work_dirs/modelartifacts/8bits/ss-5818_tvmdlr_ti-robokit_edgeai-tv_deeplabv3plus_mobilenetv2_tv_edgeailite_robokit-zed1hd_768x432_qat-p2_onnx.tar.gz.link.link.link/artifacts: Not a directory
Entering: ./work_dirs/modelartifacts/8bits/ss-5720_tvmdlr_cocoseg21_edgeai-tv_fpn_aspp_regnetx800mf_edgeailite_512x512_20210405_onnx.tar.gz.link.link
run_set_target_device.sh: line 59: cd: ./work_dirs/modelartifacts/8bits/ss-5720_tvmdlr_cocoseg21_edgeai-tv_fpn_aspp_regnetx800mf_edgeailite_512x512_20210405_onnx.tar.gz.link.link/artifacts: Not a directory
Entering: ./work_dirs/modelartifacts/8bits/cl-3480_tvmdlr_imagenet1k_gluoncv-mxnet_hrnet_w18_small_v2_c-symbol_json.tar.gz.link.link
run_set_target_device.sh: line 59: cd: ./work_dirs/modelartifacts/8bits/cl-3480_tvmdlr_imagenet1k_gluoncv-mxnet_hrnet_w18_small_v2_c-symbol_json.tar.gz.link.link/artifacts: Not a directory
Entering: ./work_dirs/modelartifacts/8bits/od-5030_tvmdlr_coco_gluoncv-mxnet_ssd_512_resnet50_v1_coco-symbol_json.tar.gz.link.link
run_set_target_device.sh: line 59: cd: ./work_dirs/modelartifacts/8bits/od-5030_tvmdlr_coco_gluoncv-mxnet_ssd_512_resnet50_v1_coco-symbol_json.tar.gz.link.link/artifacts: Not a directory
Entering: ./work_dirs/modelartifacts/8bits/cl-3430_tvmdlr_imagenet1k_gluoncv-mxnet_xception-symbol_json.tar.gz.link
run_set_target_device.sh: line 59: cd: ./work_dirs/modelartifacts/8bits/cl-3430_tvmdlr_imagenet1k_gluoncv-mxnet_xception-symbol_json.tar.gz.link/artifacts: Not a directory
Entering: ./work_dirs/modelartifacts/8bits/od-5030_tvmdlr_coco_gluoncv-mxnet_ssd_512_resnet50_v1_coco-symbol_json.tar.gz.link
run_set_target_device.sh: line 59: cd: ./work_dirs/modelartifacts/8bits/od-5030_tvmdlr_coco_gluoncv-mxnet_ssd_512_resnet50_v1_coco-symbol_json.tar.gz.link/artifacts: Not a directory
Entering: ./work_dirs/modelartifacts/8bits/od-5030_tvmdlr_coco_gluoncv-mxnet_ssd_512_resnet50_v1_coco-symbol_json.tar.gz.link.link.link
run_set_target_device.sh: line 59: cd: ./work_dirs/modelartifacts/8bits/od-5030_tvmdlr_coco_gluoncv-mxnet_ssd_512_resnet50_v1_coco-symbol_json.tar.gz.link.link.link/artifacts: Not a directory
Entering: ./work_dirs/modelartifacts/8bits/cl-3430_tvmdlr_imagenet1k_gluoncv-mxnet_xception-symbol_json.tar.gz.link.link.link
run_set_target_device.sh: line 59: cd: ./work_dirs/modelartifacts/8bits/cl-3430_tvmdlr_imagenet1k_gluoncv-mxnet_xception-symbol_json.tar.gz.link.link.link/artifacts: Not a directory
Entering: ./work_dirs/modelartifacts/8bits/ss-5720_tvmdlr_cocoseg21_edgeai-tv_fpn_aspp_regnetx800mf_edgeailite_512x512_20210405_onnx.tar.gz.link
run_set_target_device.sh: line 59: cd: ./work_dirs/modelartifacts/8bits/ss-5720_tvmdlr_cocoseg21_edgeai-tv_fpn_aspp_regnetx800mf_edgeailite_512x512_20210405_onnx.tar.gz.link/artifacts: Not a directory
Entering: ./work_dirs/modelartifacts/8bits/od-5040_tvmdlr_coco_gluoncv-mxnet_ssd_512_mobilenet1.0_coco-symbol_json.tar.gz.link
run_set_target_device.sh: line 59: cd: ./work_dirs/modelartifacts/8bits/od-5040_tvmdlr_coco_gluoncv-mxnet_ssd_512_mobilenet1.0_coco-symbol_json.tar.gz.link/artifacts: Not a directory
Entering: ./work_dirs/modelartifacts/8bits/ss-5818_tvmdlr_ti-robokit_edgeai-tv_deeplabv3plus_mobilenetv2_tv_edgeailite_robokit-zed1hd_768x432_qat-p2_onnx.tar.gz.link
run_set_target_device.sh: line 59: cd: ./work_dirs/modelartifacts/8bits/ss-5818_tvmdlr_ti-robokit_edgeai-tv_deeplabv3plus_mobilenetv2_tv_edgeailite_robokit-zed1hd_768x432_qat-p2_onnx.tar.gz.link/artifacts: Not a directory
Entering: ./work_dirs/modelartifacts/8bits/od-5020_tvmdlr_coco_gluoncv-mxnet_yolo3_mobilenet1.0_coco-symbol_json.tar.gz.link.link
run_set_target_device.sh: line 59: cd: ./work_dirs/modelartifacts/8bits/od-5020_tvmdlr_coco_gluoncv-mxnet_yolo3_mobilenet1.0_coco-symbol_json.tar.gz.link.link/artifacts: Not a directory
Entering: ./work_dirs/modelartifacts/8bits/cl-3420_tvmdlr_imagenet1k_gluoncv-mxnet_resnet50_v1d-symbol_json.tar.gz.link.link
run_set_target_device.sh: line 59: cd: ./work_dirs/modelartifacts/8bits/cl-3420_tvmdlr_imagenet1k_gluoncv-mxnet_resnet50_v1d-symbol_json.tar.gz.link.link/artifacts: Not a directory
Entering: ./work_dirs/modelartifacts/8bits/od-5020_tvmdlr_coco_gluoncv-mxnet_yolo3_mobilenet1.0_coco-symbol_json.tar.gz.link.link.link
run_set_target_device.sh: line 59: cd: ./work_dirs/modelartifacts/8bits/od-5020_tvmdlr_coco_gluoncv-mxnet_yolo3_mobilenet1.0_coco-symbol_json.tar.gz.link.link.link/artifacts: Not a directory
Entering: ./work_dirs/modelartifacts/8bits/cl-3480_tvmdlr_imagenet1k_gluoncv-mxnet_hrnet_w18_small_v2_c-symbol_json.tar.gz.link
run_set_target_device.sh: line 59: cd: ./work_dirs/modelartifacts/8bits/cl-3480_tvmdlr_imagenet1k_gluoncv-mxnet_hrnet_w18_small_v2_c-symbol_json.tar.gz.link/artifacts: Not a directory
Entering: ./work_dirs/modelartifacts/8bits/cl-3430_tvmdlr_imagenet1k_gluoncv-mxnet_xception-symbol_json.tar.gz.link.link
run_set_target_device.sh: line 59: cd: ./work_dirs/modelartifacts/8bits/cl-3430_tvmdlr_imagenet1k_gluoncv-mxnet_xception-symbol_json.tar.gz.link.link/artifacts: Not a directory
Entering: ./work_dirs/modelartifacts/8bits/od-5020_tvmdlr_coco_gluoncv-mxnet_yolo3_mobilenet1.0_coco-symbol_json.tar.gz.link
run_set_target_device.sh: line 59: cd: ./work_dirs/modelartifacts/8bits/od-5020_tvmdlr_coco_gluoncv-mxnet_yolo3_mobilenet1.0_coco-symbol_json.tar.gz.link/artifacts: Not a directory
Entering: ./work_dirs/modelartifacts/8bits/ss-5720_tvmdlr_cocoseg21_edgeai-tv_fpn_aspp_regnetx800mf_edgeailite_512x512_20210405_onnx.tar.gz.link.link.link
run_set_target_device.sh: line 59: cd: ./work_dirs/modelartifacts/8bits/ss-5720_tvmdlr_cocoseg21_edgeai-tv_fpn_aspp_regnetx800mf_edgeailite_512x512_20210405_onnx.tar.gz.link.link.link/artifacts: Not a directory
Entering: ./work_dirs/modelartifacts/8bits/ss-5818_tvmdlr_ti-robokit_edgeai-tv_deeplabv3plus_mobilenetv2_tv_edgeailite_robokit-zed1hd_768x432_qat-p2_onnx.tar.gz.link.link
run_set_target_device.sh: line 59: cd: ./work_dirs/modelartifacts/8bits/ss-5818_tvmdlr_ti-robokit_edgeai-tv_deeplabv3plus_mobilenetv2_tv_edgeailite_robokit-zed1hd_768x432_qat-p2_onnx.tar.gz.link.link/artifacts: Not a directory
Entering: ./work_dirs/modelartifacts/8bits/cl-3410_tvmdlr_imagenet1k_gluoncv-mxnet_mobilenetv2_1.0-symbol_json.tar.gz.link.link
run_set_target_device.sh: line 59: cd: ./work_dirs/modelartifacts/8bits/cl-3410_tvmdlr_imagenet1k_gluoncv-mxnet_mobilenetv2_1.0-symbol_json.tar.gz.link.link/artifacts: Not a directory
Entering: ./work_dirs/modelartifacts/8bits/cl-3480_tvmdlr_imagenet1k_gluoncv-mxnet_hrnet_w18_small_v2_c-symbol_json.tar.gz.link.link.link
run_set_target_device.sh: line 59: cd: ./work_dirs/modelartifacts/8bits/cl-3480_tvmdlr_imagenet1k_gluoncv-mxnet_hrnet_w18_small_v2_c-symbol_json.tar.gz.link.link.link/artifacts: Not a directory
TIDL_TOOLS_PATH=/home/sefau18/edgeai-benchmark/tidl_tools
LD_LIBRARY_PATH=/home/sefau18/edgeai-benchmark/tidl_tools
PYTHONPATH=:
===================================================================
work_dir = ./work_dirs/modelartifacts/8bits
loading annotations into memory...
Done (t=0.30s)
creating index...
index created!
loading annotations into memory...
Done (t=0.37s)
creating index...
index created!
configs to run: ['imagedet-20_onnxrt_coco_bests6v2_best_onnx']
number of configs: 1
TASKS | | 0% 0/1| [< ]
INFO:20220727-224225: starting process on parallel_device - 0 0%| || 0/1 [00:00<?, ?it/s
INFO:20220727-224229: model_path - /home/sefau18/edgeai-modelzoo/models/vision/detection/coco/bests6v2/best.onnx
INFO:20220727-224229: model_file - /home/sefau18/edgeai-benchmark/work_dirs/modelartifacts/8bits/imagedet-20_onnxrt_coco_bests6v2_best_onnx/model/best.onnx
INFO:20220727-224229: running - imagedet-20_onnxrt_coco_bests6v2_best_onnx
INFO:20220727-224229: pipeline_config - {'task_type': 'detection', 'calibration_dataset': <jai_benchmark.datasets.coco_det.COCODetection object at 0x7ff6d0597c88>, 'input_dataset': <jai_benchmark.datasets.coco_det.COCODetection object at 0x7ff6d89e7780>, 'preprocess': <jai_benchmark.preprocess.PreProcessTransforms object at 0x7ff6d89e74e0>, 'session': <jai_benchmark.sessions.onnxrt_session.ONNXRTSession object at 0x7ff6ca7ed588>}
INFO:20220727-224229: import - imagedet-20_onnxrt_coco_bests6v2_best_onnxTIDL Meta PipeLine (Proto) File : /home/sefau18/edgeai-benchmark/work_dirs/modelartifacts/8bits/imagedet-20_onnxrt_coco_bests6v2_best_onnx/model/best.prototxt
yolo_v3
yolo_v3
Number of OD backbone nodes = 195
Size of odBackboneNodeIds = 195
Preliminary subgraphs created = 1
Final number of subgraphs created are : 1, - Offloaded Nodes - 298, Total Nodes - 298
TIDL Meta PipeLine (Proto) File : /home/sefau18/edgeai-benchmark/work_dirs/modelartifacts/8bits/imagedet-20_onnxrt_coco_bests6v2_best_onnx/model/best.prototxt
yolo_v3
yolo_v3
****************************************************
** All the Input Tensor Dimensions has to be greater then Zero
** DIM Error - For Tensor 196, Dim 1 is -1
****************************************************
Editing the prototxt file according to the original doesn't make any sense.
Is there a step-by-step documentation on how to compile a custom yolov5 model and perform inference using "edgeai apps" on the TDA4VM?
Thanks already for your help.