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: problems when import onnx model

Part Number: TDA4VM


Hi, friends.

there are 5 questions when i work with onnx model import tools. 

Q1  import 16bit QAT onnx to .bin file 
use tidl_import_tool  try this below: seems no ok
QAT 16bit onnx->16bit bin (warning BCNLayer not support ,and board detect result worse than no QAT transfer bin model)
QAT 16bitonnx->8bit bad result.(no warning while transfer but bin model detect result abnormal)
16bit onnx can import as 16 bin?
Q2  if the model import tools suport no PTQ when transport QAT model? and how to do ?
config 8bit 16bit
modelType          = 2
numParamBits = 8     16
numFeatureBits    = 8 16
quantizationStyle  = 3
inputNetFile       = "/home/alex/TDA4/xcb_obs/model/QAT_slot_best.onnx"
outputNetFile      = "/home/alex/TDA4/xcb_obs/slot_bin_16/slots_70w0429net.bin"
outputParamsFile   = "/home/alex/TDA4/xcb_obs/slot_bin_16/slots_70w0429io_"
inDataNorm  = 1
inMean = 0 0 0
inScale = 0.003921568627 0.003921568627 0.003921568627
inDataFormat = 1
inWidth  = 640
inHeight = 640
inNumChannels = 3
calibrationOption   = 7
#biasCalibrationIterations = 1
#numFrames = 1
inData  =   "/home/alex/TDA4/xcb_obs/slot_data/640bmplist.txt"
perfSimConfig = ../../test/testvecs/config/import/device_config.cfg
inElementType = 0
params16bitNamesList = "output2,output3, output1"
outputFeature16bitNamesList="output2,output3, output1"
outDataNamesList = "output2,output3, output1"
debugTraceLevel = 0
writeTraceLevel = 0
postProcType = 0
Q3 import no QAT 32bit onnx->8bit bin,  inYuvFormat = 0 ,but yuv detect abnormal.
Q4 when use inYuvFormat = 0 set infileformat=2 and set inData="640*640 jpg imglist.txt"?  the result seems not ok.
so how set config  do calibration use yuv data list. 
Q5
there are  four cameral data need to be detected each time;how to set the network  suport 4 frame 640*640 NV12 as input.
configfile RGB
configfile YUV modelType          = 2
modelType          = 2 numParamBits     = 8
numParamBits     = 8 numFeatureBits    = 8
numFeatureBits    = 8 quantizationStyle  = 2
quantizationStyle  = 2 inputNetFile       = "/home/alex/TDA4/xcb_obs/model/yolov5s.onnx"
inputNetFile       = "/home/alex/TDA4/xcb_obs/model/yolov5s.onnx" outputNetFile      = "/home/alex/TDA4/xcb_obs/obs_bin0505_yuv/obs_0505net.bin"
outputNetFile      = "/home/alex/TDA4/xcb_obs/obs_bin0505_yuv/obs_0505net.bin" outputParamsFile   = "/home/alex/TDA4/xcb_obs/obs_bin0505_yuv/obs_0505io_"
outputParamsFile   = "/home/alex/TDA4/xcb_obs/obs_bin0505_yuv/obs_0505io_" inDataNorm  = 1
inDataNorm  = 1 inMean = 0 0 0
inMean = 0 0 0 inScale = 0.003921568627 0.003921568627 0.003921568627
inScale = 0.003921568627 0.003921568627 0.003921568627 #inDataFormat = 1
#inDataFormat = 1 inWidth  = 640
inWidth  = 640 inHeight = 640
inHeight = 640 inNumChannels = 3
inNumChannels = 1 calibrationOption  = 7
calibrationOption  = 7 #biasCalibrationIterations = 50
#biasCalibrationIterations = 50 #numFrames = 48
#numFrames = 48 inFileFormat = 2
inFileFormat = 1 inData  ="/home/alex/TDA4/xcb_obs/obs_data/640*640 jpg imglist.txt"
inData  ="/home/alex/TDA4/xcb_obs/obs_data/NV12_0000417_LR" perfSimConfig = ../../test/testvecs/config/import/device_config.cfg
perfSimConfig = ../../test/testvecs/config/import/device_config.cfg inElementType = 0
inElementType = 0 inYuvFormat = -1
inYuvFormat = 0 metaArchType = 4
metaArchType = 4 metaLayersNamesList = "/home/alex/TDA4/xcb_obs/model/yolov5s_640_obs.prototxt"
metaLayersNamesList = "/home/alex/TDA4/xcb_obs/model/yolov5s_640_obs.prototxt" postProcType = 2
postProcType = 2 debugTraceLevel = 2
debugTraceLevel = 2 writeTraceLevel = 2
writeTraceLevel = 2
  • Hi,

    If we already using QAT in model training , do we need use PTQ in TIDL import

    Yes, but need set special import parameter

    quantizationStyle = 3
    calibrationOption = 0

    If import with high SDK version beyond 8.0 need set calibrationOption = 64

    Cary zhang

    BR

  • Hi,

    Does the float model (i.e. without QAT) work in TIDL? Is there any scenario where the model produces correct output?

    Have you tried calibrationOption = 7 with sufficiently large number of calibration images and iterations (recommended 50)?