This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TDA4VM: How to modify edgeai-benchmark to support yolov6 model compilation?

Part Number: TDA4VM

I have tried to replace yolov6's MaxPool5x5 to two MaxPool3x3. And check "artifacts\tempDir\graphvizInfo.txt" that all operators are supported as shown below:

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
180
0 TIDL_cast_in Cast outputAdjNodes 1 1 inputAdjNodes 0 imagesNet_IN diagInfo
1 TIDL_Scale_In Add outputAdjNodes 1 2 inputAdjNodes 1 0 diagInfo
2 images Mul outputAdjNodes 1 3 inputAdjNodes 1 1 diagInfo
3 Conv_0 Conv outputAdjNodes 1 4 inputAdjNodes 1 2 diagInfo
4 Relu_1 Relu outputAdjNodes 1 5 inputAdjNodes 1 3 diagInfo
5 Conv_2 Conv outputAdjNodes 1 6 inputAdjNodes 1 4 diagInfo
6 Relu_3 Relu outputAdjNodes 1 7 inputAdjNodes 1 5 diagInfo
7 Conv_4 Conv outputAdjNodes 1 8 inputAdjNodes 1 6 diagInfo
8 Relu_5 Relu outputAdjNodes 1 9 inputAdjNodes 1 7 diagInfo
9 Conv_6 Conv outputAdjNodes 1 10 inputAdjNodes 1 8 diagInfo
10 Relu_7 Relu outputAdjNodes 2 11 88 inputAdjNodes 1 9 diagInfo
11 Conv_8 Conv outputAdjNodes 1 12 inputAdjNodes 1 10 diagInfo
12 Relu_9 Relu outputAdjNodes 1 13 inputAdjNodes 1 11 diagInfo
13 Conv_10 Conv outputAdjNodes 1 14 inputAdjNodes 1 12 diagInfo
14 Relu_11 Relu outputAdjNodes 1 15 inputAdjNodes 1 13 diagInfo
15 Conv_12 Conv outputAdjNodes 1 16 inputAdjNodes 1 14 diagInfo
16 Relu_13 Relu outputAdjNodes 1 17 inputAdjNodes 1 15 diagInfo
17 Conv_14 Conv outputAdjNodes 1 18 inputAdjNodes 1 16 diagInfo
18 Relu_15 Relu outputAdjNodes 1 19 inputAdjNodes 1 17 diagInfo
19 Conv_16 Conv outputAdjNodes 1 20 inputAdjNodes 1 18 diagInfo
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

But when I ran "run_benchmarks_pc.sh", I still encountered an error as shown below:

Fullscreen
1
2
Error: Layer 0, outputs:outputs is missing inputs in the network and cannot be topologically sorted
Input 0: outputs, dataId=0
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX


Full information using debug level=2 is like this:

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
(ti_bm_8_5) programer@programer-VirtualBox:~/project/CMS/ti-benchmark_r8_5/edgeai-benchmark$ . ./run_benchmarks_pc.sh
TARGET_SOC: TDA4VM
Pass the appropriate commandline argument to use another one.
before run_set_env
target_device/SOC: TDA4VM
before run_set_target_machine
find: ‘./work_dirs/modelartifacts/8bits/’: No such file or directory
after run_set_target_machine
TIDL_TOOLS_PATH=/home/programer/project/CMS/ti-benchmark_r8_5/edgeai-benchmark/tools/TDA4VM/tidl_tools
LD_LIBRARY_PATH=/home/programer/project/CMS/ti-benchmark_r8_5/edgeai-benchmark/tools/TDA4VM/tidl_tools
PYTHONPATH=::::
after run_set_env
===================================================================
argv: ['./scripts/benchmark_modelzoo.py', 'settings_import_on_pc.yaml', '--target_device', 'TDA4VM']
settings: {'include_files': None, 'pipeline_type': 'accuracy', 'num_frames': 500, 'calibration_frames': 20, 'calibration_iterations': 20, 'configs_path': './configs', 'models_path': './models', 'modelartifacts_path': './work_dirs/modelartifacts/TDA4VM', 'datasets_path': './data', 'target_device': 'TDA4VM', 'target_machine': 'pc', 'run_suffix': None, 'parallel_devices': [0], 'tensor_bits': 8, 'runtime_options': None, 'run_import': True, 'run_inference': True, 'run_missing': True, 'detection_threshold': 0.4, 'detection_top_k': 500, 'detection_nms_threshold': None, 'detection_keep_top_k': None, 'save_output': True, 'num_output_frames': 50, 'model_selection': ['y6n_ti_lite_640x416_f20_i20'], 'model_shortlist': None, 'model_exclusion': None, 'task_selection': 'detection', 'runtime_selection': ['onnxrt'], 'session_type_dict': {'onnx': 'onnxrt', 'tflite': 'tflitert', 'mxnet': 'tvmdlr'}, 'dataset_type_dict': {'imagenet': 'imagenetv2c'}, 'dataset_selection': ['coco'], 'dataset_loading': True, 'config_range': None, 'enable_logging': True, 'verbose': True, 'capture_log': False, 'experimental_models': False, 'rewrite_results': False, 'with_udp': False, 'flip_test': False, 'model_transformation_dict': None, 'report_perfsim': False, 'tidl_offload': True, 'input_optimization': None, 'run_dir_tree_depth': None, 'settings_file': 'settings_import_on_pc.yaml', 'basic_keys': ['include_files', 'pipeline_type', 'num_frames', 'calibration_frames', 'calibration_iterations', 'configs_path', 'models_path', 'modelartifacts_path', 'datasets_path', 'target_device', 'target_machine', 'run_suffix', 'parallel_devices', 'tensor_bits', 'runtime_options', 'run_import', 'run_inference', 'run_missing', 'detection_threshold', 'detection_top_k', 'detection_nms_threshold', 'detection_keep_top_k', 'save_output', 'num_output_frames', 'model_selection', 'model_shortlist', 'model_exclusion', 'task_selection', 'runtime_selection', 'session_type_dict', 'dataset_type_dict', 'dataset_selection', 'dataset_loading', 'config_range', 'enable_logging', 'verbose', 'capture_log', 'experimental_models', 'rewrite_results', 'with_udp', 'flip_test', 'model_transformation_dict', 'report_perfsim', 'tidl_offload', 'input_optimization', 'run_dir_tree_depth', 'settings_file'], 'dataset_cache': None}
work_dir: ./work_dirs/modelartifacts/TDA4VM/8bits
INFO:20240328-175603: dataset exists - will reuse - ./data/coco
loading annotations into memory...
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Any suggestion?

Thanks

--Joy