Are Microsoft CNTK models going to be supported in the DNN module anytime soon?
Are there plans to support Microsoft Cognitive Toolkit (CNTK) models in the OpenCV DNN module?
Hi, @xgirones! First of all we need to know that mentioned framework will be interesting for computer vision community. Feel free to do a research: find interesting models trained in CNTK. We'll use it for tests and tutorials.
Thanks for your answer. I have already tried CNTK and I plan to use it in my current project. CNTK is supported by Microsoft and it seems that they are putting a lot of effort on it.
https://docs.microsoft.com/en-us/cognitive-toolkit/
They already provide a separate DLL for model evaluation, but it would be great to evaluate the models using OpenCV. In this way I could train my models using both TensorFlow and CNTK and pick the one that performs better for each specific case.
If you want to take a look at some popular models trained with CNTK you can take a look at the following URL
https://www.microsoft.com/en-us/cognitive-toolkit/features/model-gallery/
Hm, may I ask a question? What do you mean by "pick the one that performs better for each specific case"?
I meant the framework that performs better for each specific problem. Apparently, both have similar accuracy, but TensorFlow performs slightly better for conv nets, and CNTK is a lot faster when using LSTM.
https://github.com/szilard/benchm-dl/blob/master/keras_backend.md
Am I right that you want to achieve faster training? Because this benchmarks seems to me about it. Let me help you with making a decision. If you train you model in TensorFlow you have to spend more time for training (according to benchmark) but (+1) you may convert it to CNTK format (using their tools), (+2) run it in OpenCV right now. But if you train model in CNTK you have only faster training time. I haven't found CNTK->TF converter and OpenCV is not supports it. So, model trained in CNTK seems to be used inside CNTK. If training time is critical, you'd better you CNTK.
Yes, I want to achieve the fastest training available for LSTM, and CNTK appears to be the best at it. However, I find their model evaluator less convenient (Windows and Linux only, no OpenCL) and I would like to leverage the capabilities of the OpenCV dnn module.
I am sure that many other OpenCV + DNN users share the same needs as me: fastest possible training + portable and efficient model evaluation.