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: Pooling layer error when importing YOLOV5 in TIDL

Part Number: TDA4VM

Hello team,

I tried importing YOLOv5 model in TIDL-RT. (SDK :08_02_00_05)

I observed the following error.

kindly let me know the solution.

Below is the import file and prototxt file used.

IMPORT FILE


modelType = 2
numParamBits = 8
numFeatureBits = 8
#quantizationStyle = 3
#quantizationStyle = 2
inputNetFile = "../../test/testvecs/models/public/onnx/yolo5_11.onnx"
outputNetFile = "../../test/testvecs/config/tidl_models/onnx/tidl_net_yolo5.bin"
outputParamsFile = "../../test/testvecs/config/tidl_models/onnx/tidl_io_yolo5_"
inDataNorm = 1
#inMean = 0 0 0
#inScale = 0.003921568627 0.003921568627 0.003921568627
inDataFormat = 1
inWidth = 640
inHeight = 640
inNumChannels = 3
numFrames = 1
inData = "../../test/testvecs/config/detection_list_yolo5.txt"
perfSimConfig = ../../test/testvecs/config/import/device_config.cfg
inElementType = 0
outDataNamesList = "/model.17/cv3/act/Mul_output_0,/model.20/cv3/act/Mul_output_0,/model.23/cv3/act/Mul_output_0"
metaArchType = 6
metaLayersNamesList = "../../test/testvecs/config/import/public/onnx/tidl_import_yolo5_metaarch.prototxt"
postProcType = 2

PROTOTXT FILE

name: "yolo_v5"
tidl_yolo {
name: "yolo_v5"
in_width: 640
in_height: 640
#10,13, 16,30, 33,23, 30,61, 62,45, 59,119, 116,90, 156,198, 373,326
yolo_param {
input: "/model.17/cv3/act/Mul_output_0"
anchor_width: 19
anchor_width: 44
anchor_width: 38
anchor_height: 27
anchor_height: 40
anchor_height: 94
}
yolo_param {
input: "/model.20/cv3/act/Mul_output_0"
anchor_width: 96
anchor_width: 86
anchor_width: 180
anchor_height: 68
anchor_height: 152
anchor_height: 137
}
yolo_param {
input: "/model.23/cv3/act/Mul_output_0"
anchor_width: 140
anchor_width: 303
anchor_width: 238
anchor_height: 301
anchor_height: 264
anchor_height: 542
}
detection_output_param {
num_classes: 9
share_location: true
background_label_id: 0
nms_param {
nms_threshold: 0.45
top_k: 5
}
code_type: CENTER_SIZE_EXP
keep_top_k: 5
confidence_threshold: 0.25
}
}

Regards,
Padmasree N.

  • Hi Padmasree,

    Max pool with kernel size 5x5 is not supported in our SW now.

    Can you replace the it with 2 back to back 3x3 max pool layers and try? This is what we have used in TI lite version of Yolo v5

  • Hello Kumar,

    Thanks for your reply!

    Now, I am trying to import our YOLov5 model using TIDL-OSRT.

    As per the documentation, I hope the unsupported maxpool layer will be offloaded to ARM. Kindly correct me if I am wrong.

    Also, to export the onnx file, I have used the below command.

    python export.py --weights best.pt --img 640 --batch 1 --simplify --nms --include onnx --opset 11

    How to export the prototxt file?

    The export.py from official YOLOv5 by Ultralytics is different from that of TI YOLOv5 lite. 

    Kindly let me know the same.

    Regards,

    Padmasree N.

  • Hello ,

    Any updates on my above query?

    Thanks in Advance!

    Regards,

    Padmasree N.