Intel® Distribution of OpenVINO™ Toolkit
Community assistance about the Intel® Distribution of OpenVINO™ toolkit, OpenCV, and all aspects of computer vision-related on Intel® platforms.
6403 Discussions

Is it possible to use TensorFlow SSD-MobileNet on NCS?

idata
Employee
3,851 Views

I'm working with an object detection model and I would like to use TensorFlow version of SSD-MobileNet. I saw the Caffe version and tried to retrain it, but the results were very poor. After training for 100 hours the mAP was still less than 0.03. I tried to tweak the learning rate and aspect ratios to better suit my dataset (my objects are mostly squares), but that didn't help. Then I switched to TensorFlow Object Detection API to see if there is a problem in my dataset. However, after training for just 6 hours I already got a mAP of 0.5. I also noticed that the TensorFlow version is also much faster on my machine; (0.6 sec / iteration) vs (2 sec / iteration) on caffe. So the TensorFlow version works much better and I'd like to use that instead if possible.

 

Is there any way to convert the model to NCS? And if direct conversion from TensorFlow to NCS is not possible, would it be possible to convert the model to Caffe format and then to NCS? Or could I just copy the TensorFlow model weights to the equivalent Caffe model?

0 Kudos
47 Replies
idata
Employee
433 Views

@Samuel

 

You can run the converted model on NCS using the OpenVino Inference Engine and the Myriad plugin but it does not work on Raspberry Pi.
0 Kudos
idata
Employee
433 Views

@Tome_at_Intel I was not able to retrain the ssd model. However, I found a pretrained vgg model that contain the class detection I need. However, after successfully compiling the vgg caffe model, I get error running inferences. Please assist me here.

0 Kudos
idata
Employee
433 Views

@Tome_at_Intel We are currently developing prototype hardware based on ASUS TinkerBoard (Raspberry Pi style Arm CPU) and a Myriad Chip (same as NCS).

 

The Caffe SSD MobileNet Model performs worse than the TensorFlow SSD MobileNet and the training process is better with TensorFlow so you can understand why people really want that capability.

 

I believe we cant use OpenVINO because we dont have an intel CPU:

 

https://software.intel.com/en-us/forums/computer-vision/topic/781076

 

Which means we must use the NCSDK.

 

Will TensorFlow MobileNet SSD ever some to the NCSDK (like definitely just not for a bit), or is it possible it wont ever come and that the future support will all be handled through OpenVINO?

 

I know its possible you can't answer questions relating to future product decisions but we need to know now, is the NCSDK a dead end to be replaced with OpenVINO? Will OpenVINO ever support CPUs other than Intel (its supposed to be a open project to compete with CUDA no?)

 

I would love any clarification you can provide on the topic. :smile:

 

Thank you.
0 Kudos
idata
Employee
433 Views

@madhavajay Thank you for the feedback. We wholeheartedly understand your point of view regarding Tensorflow SSD MobileNet. With regards to training SSD MobileNet on Caffe, have you tried using https://github.com/listenlink/caffe/tree/ssd for training? This branch supports CUDNNv9 which has support for training acceleration for depthwise(grouped) convolutions. This could help speed up your training on Caffe.

 

Additionally, I want to add that OpenVINO isn't exclusive to Intel CPUs and currently can be used with other devices/hardware (including NCS devices). Please see https://software.intel.com/en-us/openvino-toolkit for more information.

0 Kudos
idata
Employee
433 Views

@Tome_at_Intel Thanks for the response. I will try some OpenVINO shortly and see how it goes, but can you comment on (or ask) why "Yi G. (Intel)" in the intel forum thread says "no it wont work" https://software.intel.com/en-us/forums/computer-vision/topic/781076

 

I have already posted there a while back but got no response.

0 Kudos
idata
Employee
433 Views

@alex_z

 

I am running inference with ssd_mobilenet_v1_coco model on NCS but get just 1 FPS. According with your comment, you got around 10 FPS. Could you tell me what you did to speed it up?
0 Kudos
Reply