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.

TIDL-1.1 SSD model test application output on DSP



Hi,

I have changed config_list.txt to "C:\REL.TIDL.01.01.00.00_Hardware\modules\ti_dl\test\testvecs\config\infer\tidl_config_jdetnet.txt  " .

So that it can run the SSD model with DSP on hardware TDA2xx and look at the profile output and the output result. The result bin file for " trace_dump_0_768x320.y " image. When I visualize this output on the same image, then I am getting false result.

Please find the attachment of result bin file and a visualized image of the same. 

How to make sense of this output? Please guide.

TIDL_SSD_DSP_output.zip

  • Hi,

    Did you run the full SSD net work on DSP, then will not work and will not be optimal.

    We need to run initial layers in the SSD network on EVE and only last few layers on DSP, then output will be proper and optimal.

    Please run this attached "tidl_config_jdetnet_eve.txt" on EVE, then after run the attached "tidl_config_jdetnet_dsp.txt" file on the DSP and this DSP output will be the final output.

    rawImage    = 1
    numFrames   = 1
    preProcType  = 4
    #inData   = "D:\work\vision\dsp_git\dsp_apps\modules\ti_dl\test\testvecs\config\caffe_models\SSD\000535.jpg"
    #inData   = D:\work\vision\dsp_git\dsp_apps\modules\ti_dl\test\testvecs\config\caffe_models\SSD\000220.jpg
    #inData   = "D:\work\vision\CNN\data\tiscapes\VIRB0003_200frames_00.11\out000018_crop.png"
    #inData   = "D:\work\vision\CNN\data\tiscapes\V105Crop_200frames_0249\out000026.png"
    traceDumpBaseName   = ".\trace_dump_"
    updateNetWithStats   = 0
    netBinFile     = ..\..\test\testvecs\config\tidl_models\jdetnet\tidl_net_jdetNet_ssd.bin
    paramsBinFile        = ..\..\test\testvecs\config\tidl_models\jdetnet\tidl_param_jdetNet_ssd.bin
    
    readQ  = 0
    writeQ = 0
    #inData   = "..\..\test\testvecs\input\trace_dump_0_768x384.y"
    inData   = "..\..\test\testvecs\input\trace_dump_0_768x320.y"
    outData   = ".\stats_tool_out_eve.bin"
    #inData   = ".\stats_tool_out_eve.bin"
    #outData   = ".\stats_tool_out.bin"
    layersGroupId = 1
    runFullNet = 0
    
    
    
    

    rawImage    = 1
    numFrames   = 1
    preProcType  = 4
    #inData   = "D:\work\vision\dsp_git\dsp_apps\modules\ti_dl\test\testvecs\config\caffe_models\SSD\000535.jpg"
    #inData   = D:\work\vision\dsp_git\dsp_apps\modules\ti_dl\test\testvecs\config\caffe_models\SSD\000220.jpg
    #inData   = "D:\work\vision\CNN\data\tiscapes\VIRB0003_200frames_00.11\out000018_crop.png"
    #inData   = "D:\work\vision\CNN\data\tiscapes\V105Crop_200frames_0249\out000026.png"
    traceDumpBaseName   = ".\trace_dump_"
    updateNetWithStats   = 0
    netBinFile     = ..\..\test\testvecs\config\tidl_models\jdetnet\tidl_net_jdetNet_ssd.bin
    paramsBinFile        = ..\..\test\testvecs\config\tidl_models\jdetnet\tidl_param_jdetNet_ssd.bin
    
    readQ  = 0
    writeQ = 0
    #inData   = "..\..\test\testvecs\input\trace_dump_0_768x384.y"
    #inData   = "..\..\test\testvecs\input\trace_dump_0_768x320.y"
    #outData   = ".\stats_tool_out_eve.bin"
    inData   = ".\stats_tool_out_eve.bin"
    outData   = ".\stats_tool_out.bin"
    layersGroupId = 2
    runFullNet = 0
    
    
    
    

    Thanks,

    Praveen

  • Hello Praveen,

    I tried what you are suggested above. And I am unable to get proper results. Below are the steps that I followed for execution:

    1. Changed config_list.txt to "C:\REL.TIDL.01.01.00.00_Hardware\modules\ti_dl\test\testvecs\config\infer\tidl_config_jdetnet_eve.txt ".

    2. Ran the SSD model with EVE on hardware TDA2xx .

    3. It had generated "stats_tool_out_eve.bin".

    4. Again changed config_list.txt to "C:\REL.TIDL.01.01.00.00_Hardware\modules\ti_dl\test\testvecs\config\infer\tidl_config_jdetnet_dsp.txt".

    5. Ran the SSD model with DSP on hardware TDA2xx.

    6. It had generated "stats_tool_out.bin".

    And When I visualize this "stats_tool_out.bin" output on same " trace_dump_0_768x320.y " image, then also not able to get proper results.

    Please find attached .zip file which includes binary files and a visualized image of the same.

    Please have a look and let me know if any issue.

    Regards,

    Gouri

    Updated_TIDL_SSD_DSP_OUTPUT.zip

  • Hi Gouri,

    Did you generate the tidl_net_jdetNet_ssd.bin and tidl_param_jdetNet_ssd.bin files using import tool or you are using existing bin files from the release package?

    Thanks,
    Praveen
  • Hello Praveen,

    I am using existing bin files from the release package.

    Thanks,
    Gouri
  • Hi Gouri,

    Existing bin files should work fine, Can you please list the steps or commands used for building executables?
    Also, do you access to source release? If so you can check on host emulation.

    Thanks,
    Praveen
  • Hello Praveen,

    I have changed only config files given by you and used existing (Pre-build) executables and bin files.
    I had not built any new executable.

    And about to check on host emulation I don’t have a source release of it. Can you please share the link of source release?

    Thanks,
    Gouri
  • Hi Gouri,

    Could please try with these attached config files?

    rawImage    = 1
    numFrames   = 1
    preProcType  = 4
    #inData   = "D:\work\vision\dsp_git\dsp_apps\modules\ti_dl\test\testvecs\config\caffe_models\SSD\000535.jpg"
    #inData   = D:\work\vision\dsp_git\dsp_apps\modules\ti_dl\test\testvecs\config\caffe_models\SSD\000220.jpg
    #inData   = "D:\work\vision\CNN\data\tiscapes\VIRB0003_200frames_00.11\out000018_crop.png"
    #inData   = "D:\work\vision\CNN\data\tiscapes\V105Crop_200frames_0249\out000026.png"
    traceDumpBaseName   = ".\trace_dump_"
    updateNetWithStats   = 0
    netBinFile     = ..\..\test\testvecs\config\tidl_models\jdetnet\tidl_net_jdetNet_ssd.bin
    paramsBinFile        = ..\..\test\testvecs\config\tidl_models\jdetnet\tidl_param_jdetNet_ssd.bin
    
    readQ  = 1
    writeQ = 1
    #inData   = "..\..\test\testvecs\input\trace_dump_0_768x384.y"
    inData   = "..\..\test\testvecs\input\trace_dump_0_768x320.y"
    outData   = ".\stats_tool_out_eve.bin"
    #inData   = ".\stats_tool_out_eve.bin"
    #outData   = ".\stats_tool_out.bin"
    layersGroupId = 1
    runFullNet = 0
    
    
    
    

    rawImage    = 1
    numFrames   = 1
    preProcType  = 4
    #inData   = "D:\work\vision\dsp_git\dsp_apps\modules\ti_dl\test\testvecs\config\caffe_models\SSD\000535.jpg"
    #inData   = D:\work\vision\dsp_git\dsp_apps\modules\ti_dl\test\testvecs\config\caffe_models\SSD\000220.jpg
    #inData   = "D:\work\vision\CNN\data\tiscapes\VIRB0003_200frames_00.11\out000018_crop.png"
    #inData   = "D:\work\vision\CNN\data\tiscapes\V105Crop_200frames_0249\out000026.png"
    traceDumpBaseName   = ".\trace_dump_"
    updateNetWithStats   = 0
    netBinFile     = ..\..\test\testvecs\config\tidl_models\jdetnet\tidl_net_jdetNet_ssd.bin
    paramsBinFile        = ..\..\test\testvecs\config\tidl_models\jdetnet\tidl_param_jdetNet_ssd.bin
    
    readQ  = 1
    writeQ = 1
    #inData   = "..\..\test\testvecs\input\trace_dump_0_768x384.y"
    #inData   = "..\..\test\testvecs\input\trace_dump_0_768x320.y"
    #outData   = ".\stats_tool_out_eve.bin"
    inData   = ".\stats_tool_out_eve.bin"
    outData   = ".\stats_tool_out.bin"
    layersGroupId = 2
    runFullNet = 0
    
    
    
    

    Source release is shared only through CDDS. Do you have CDDS account?

    Thanks,

    Praveen

  • Hello Praveen,

    I tried with latest attached config files, and with that files, I am getting the good result for default image( trace_dump_0_768x320.y).

    But when I tried with another image, then it is not giving any results on input image for EVE and for DSP as well. Please find attached zip file having an input image, bin files, changed config files and a visualized image.

    Please guide.

    TIDL_SSD_Output.zip

    Thanks,

    Gouri

  • Hi Gouri,

    You may need to generate the "tidl_net_jdetNet_ssd.bin" and "tidl_param_jdetNet_ssd.bin" files for this image using import tool and use generated bin files and try.

    Thanks,
    Praveen
  • Hello Praveen,

    I am using the same sized input image for which pre-build binaries are built. When tried for the same image on EVE with simulator with same binaries, It is shown correct results. Please find attached image result for the same.

    I tried to generate new bin files as you suggested but there is no any required .prototxt and .caffemodel for the dimensions 768x320.

    Please share the link if do you have .prototxt and .caffemodel.

    Thanks,

    Gouri

    TIDL_SSD_EVE_Simulator.zip

  • Hi Gouri,

    Please follow steps in below e2e link to download and run models..
    e2e.ti.com/.../689617

    Also, remember full SSD net wiil not run on DSP, We need to run initial layers in the SSD network on EVE and only last few layers on DSP to get proper optimal output. To get this please set the below two parameters properly based those mentioned conditions,

    1. The parameter "layersGroupId" specifies the group of layers that needs to be processed on a given CORE, let say layersGroupId = 1 for EVE and layersGroupId =2 for DSP.
    So user need to set this parameter for each layer in the import config file based on below condition to get optimal execution of SSD network.
    Condition : The FlattenLayer , ConcatLayer and DectectionOutputLayers should run on DSP and rest of the all the layers on EVE in the SSD network.

    2. The parameter " conv2dKernelType" can be either 0 or 1 for each layer. Default value is 0 for all the layers. Set it to 0 to use sparse convolution, otherwise, set it to 1 to use dense convolution.
    So, user need to set this parameter for each layer in the import config file based on below condition to get optimal execution of SSD network.
    Condition : Use dense convolution for Convolution layers with width x height < 64x64, as dense convolution is optimal for small resolutions and this value is ignored for other type of layers.

    Thanks,
    Praveen