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: Yolov5m loss of accuracy issue on EVM

Part Number: TDA4VM

Hi team,

Here's an issue from the customer may need your help:

When deploying a pretrained model yolov5M6_640_ti_lite_44p1_62p9.onnx to a TDA4 EVM (8bits quantization), accuracy tested based on coco dataset val2017, conf 0.001, NMS 0.65, AP[0.5:0.95] result on EVM is 0.284. The accuracy of 0.441 is significantly different from the floating point model in the TI release page. TIDL tried 16bits of quantization, and the result on the EVM was 0.311, and the accuracy loss was still significant.

1) Has TI been tested for accuracy on the TDA4 EVM based on this pretrained yolov5m model?

2) Could you help check the configuration of the import if there are any parameters that need to be improved? Or any recommended configuration for this model?

TI_device_a72_test_dl_algo_host_RT.out is used for handle val2017, and the import configuration file is as follows:

 modelType = 2
    numParamBits = 8
    numFeatureBits = 8
    #quantizationStyle = 3
    quantizationStyle = 2
    inputNetFile = "../../test/testvecs/models/public/onnx/yolov5m6_640_ti_lite_44p1_62p9.onnx"
    outputNetFile = "../../test/testvecs/config/tidl_models/onnx/tidl_net_yolov5m6_640_ti_lite_44p1_62p9.bin"
    outputParamsFile = "../../test/testvecs/config/tidl_models/onnx/tidl_io_yolov5m6_640_ti_lite_44p1_62p9_"
    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.txt"
    perfSimConfig = ../../test/testvecs/config/import/device_config.cfg
    inElementType = 0
    metaArchType = 4
    metaLayersNamesList = "../../test/testvecs/config/import/public/onnx/yolov5m6_640_ti_lite_metaarch.prototxt"
    postProcType = 2
    foldPreBnConv2D = 0
    #calibrationOption = 7

For prototxt file, only the confidence_threshold: 0.001 has been modified regarding the release configuration. And the infer configuration file is as follows:

    inFileFormat = 2
    numFrames = 5000
    netBinFile = "testvecs/config/tidl_models/onnx/tidl_net_yolov5m6_640_ti_lite_44p1_62p9.bin"
    ioConfigFile = "testvecs/config/tidl_models/onnx/tidl_io_yolov5m6_640_ti_lite_44p1_62p9_1.bin"
    inData = testvecs/config/name_list_acc.txt
    outData = testvecs/output/tidl_yolov5m6_640_ti_lite_44p1_62p9_od.bin
    inResizeMode = 0
    debugTraceLevel = 0
    writeTraceLevel = 0
    postProcType = 2

Could you help check this case? Thanks.

Best Regards,

Cherry