Part Number: AM5728
Tool/software: Linux
I want to use the SSD model in AM5728, so I port the example. I refered http://software-dl.ti.com/processor-sdk-linux/esd/docs/05_03_00_07/linux/Foundational_Components_TIDL.html and change the import configuration file which like these:
# Default - 0
randParams = 0
# 0: Caffe, 1: TensorFlow, Default - 0
modelType = 0
# 0: Fixed quantization By tarininng Framework, 1: Dyanamic quantization by TIDL, Default - 1
quantizationStyle = 1
# quantRoundAdd/100 will be added while rounding to integer, Default - 50
quantRoundAdd = 25
numParamBits = 8
# 0 : 8bit Unsigned, 1 : 8bit Signed Default - 1
inElementType = 0
inputNetFile = "./deploy.prototxt"
inputParamsFile = "./voc0712_ssdJacintoNetV2_iter_120000.caffemodel"
outputNetFile = "./tidl_net_myjdetNet_ssd_768x320.bin"
outputParamsFile = "./tidl_param_myjdetNet_ssd_768x320.bin"
rawSampleInData = 1
preProcType = 4
sampleInData = "./trace_dump_0_768x320.y"
tidlStatsTool = "eve_test_dl_algo_ref.out"
# layersGroupId = 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 0
conv2dKernelType = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
I commented the layersGroupId to make the model only run on DSP. And I change the main.cpp file which like following:
(Please visit the site to view this file)
And I can compiled the project successfully. But when I run it, there is a problem, how can I fix this?
./ssd_multibox -p 40 -d 1 -e 0 -f 1000 -i ./clips/pexels_videos_3623.mp4
Input: ./clips/pexels_videos_3623.mp4
111
init done
Using Wayland-EGL
wlpvr: PVR Services Initialised
Using the 'xdg-shell-v5' shell integration
Confidence(%):
111
opts.num_dsps=1
2222
ssd_multibox: inc/executor.h:172: T* tidl::malloc_ddr(size_t) [with T = char; size_t = unsigned int]: Assertion `val != nullptr' failed.
And I found the problem is Executor* e_dsp = CreateExecutor(DeviceType::DSP, opts.num_dsps, c, 1); in main.cpp :209.
Please help me, thanks!