Mobilenet SSD caffe model
Join Date: 24 Aug 17
Posts: 10
Posted: Wed, 2018-07-04 02:39
HI,
In release note, Version 1.15.0 Support MobilenetSSD (Caffe)
I use the following MobilenetSSD source, but failed to convert model to DLC
https://github.com/chuanqi305/MobileNet-SSD
error message:
/host/snpe-1.15.0/lib/python/snpe/snpe_caffe_to_dlc.py:2388: RuntimeWarning: error_code=1000; error_message=Layer is not supported. Layer detection_out of type SsdDetectionOutput not supported by GPU runtime; error_component=Model Validation; line_no=257; thread_id=140164480030464 confidence_threshold=params.confidence_threshold)
Can you provide any MobilenetSSD caffe model?
Thanks
Hi Jacob_Ke,
The message is just warning not error. Please check current folder after running the conversion command. DLC file would be generated. Make sure to turn on CPU fall-back option when you execute the dlc because the SSD DetectionOutput layer is not supported on GPU and DSP.
Thanks,
Jihoon
Thanks!
Hi jihoonk,
I'm running MobileNet SSD with DSP, the model is quantized by PC tool. But I can not get the right output from user buffers.
I changed the output buffer's codec as following way:
if (std::string::npos != std::string(name).find("Preprocessor/sub")){
userBufferEncoding.reset(new zdl::DlSystem::UserBufferEncodingTf8(128, 0.007812));
LOGI("SNPE quantize(%s): set input parameter", name);
}
else if (std::string::npos != std::string(name).find("detection_classes:0") )
{
userBufferEncoding.reset(new zdl::DlSystem::UserBufferEncodingTf8(0, 0.3373)); //
LOGI("SNPE quantize(%s)detection_classes: set output parameter", name);
}
else if (std::string::npos != std::string(name).find("Postprocessor/BatchMultiClassNonMaxSuppression_scores")
|| std::string::npos != std::string(name).find("Postprocessor/BatchMultiClassNonMaxSuppression_boxes")
|| std::string::npos != std::string(name).find("Postprocessor/BatchMultiClassNonMaxSuppression_classes") )
{
userBufferEncoding.reset(new zdl::DlSystem::UserBufferEncodingTf8(0, 0.003922));
LOGI("SNPE quantize(%s): set output parameter", name);
}
Looking for your input. Thank you~
Hi svenzhang,
Did you set enviorment variables properly? If not, refer to below guide.
https://developer.qualcomm.com/docs/snpe/dsp_runtime.html
DSP runtime accepts non-quantized network models as well. In DSP mode, SNPE applies quantization in initialization step automatically.
Thanks,
Jihoon
Hi,
i have tried to use the mobilenetSSD dlc model in my test program, and i also use the API setCPUFallbackMode(), still can not run the pragram, and error occured in the setBuilderOptions, error message is "Floating point exception" when using cpu mode, "Segmentation fault" when using gpu mode, could you please help check with this error?By the way, i use SNPE version 1.15.
Hi,
I am using following command to convert caffe model (as specified in qualcomm site)to dlc:
> snpe-caffe-to-dlc --input_network MobileNetSSD_deploy.prototxt --caffe_bin MobileNetSSD_deploy.caffemodel --output_path caffe_mobilenet_ssd.dlc
During conversion getting the following warning (rather dlc is being created):
RuntimeWarning: info_code=1000; message=Layer is not supported. Layer detection_out of type SsdDetectionOutput not supported by GPU runtime; component=Model Validation; line_no=353; thread_id=140679599646464