Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Has Microsoft abandoned CNTK?

Tags:

cntk

I want to know if CNTK dead? Release notes on GitHub dated 03/31/2019: "Today’s 2.7 release will be the last main release of CNTK." I've spent months developing software using CNTK and now it appears to be a waste of time and money. I've search for an answer on numerous sites and still no answer. stackoverflow is one of the sites recommend by Microsoft.

like image 647
rwbta Avatar asked Apr 24 '19 13:04

rwbta


People also ask

What does CNTK stand for?

The Microsoft Cognitive Toolkit (CNTK) is an open-source toolkit for commercial-grade distributed deep learning. It describes neural networks as a series of computational steps via a directed graph.

Is CNTK a deep learning framework?

CNTK [28] is an open-source deep learning toolkit developed by Microsoft. It is a toolkit that allows users to graphically run deep neural network models step-by-step on various deep neural network models and analyze the results. ...

Is CNTK still being developed?

NOTE: CNTK is no longer actively developed. See the release notes of the final major releasefor details. The Microsoft Cognitive Toolkit (CNTK) is an open-source toolkit for commercial-grade distributed deep learning. It describes neural networks as a series of computational steps via a directed graph.

Is CNTK a waste of time and money?

I've spent months developing software using CNTK and now it appears to be a waste of time and money. I've search for an answer on numerous sites and still no answer. stackoverflow is one of the sites recommend by Microsoft. Show activity on this post. From KedengMS, one of the maintainers for CNTK. Reposted from github.

What to do if you already have CNTK?

Model maintainers: If you already have CNTK models working, and to maintain it just means training with new data, you can continue to use CNTK the way you currently use it. Actually, teams inside Microsoft are doing this too. If there are serious bugs preventing productivity, they still will be fixed.

What is Microsoft Cognitive Toolkit (CNTK)?

The Microsoft Cognitive Toolkit (CNTK) is an open-source toolkit for commercial-grade distributed deep learning. It describes neural networks as a series of computational steps via a directed graph.


Video Answer


1 Answers

From KedengMS, one of the maintainers for CNTK. Reposted from github.

Thanks for all the CNTK supporters, and I am privileged to have worked on it, and learned a lot in the process. You can continue to use CNTK for training and inference in the way it currently is, as other Microsoft internal teams that still runs old models even in BrainScript or NDL. Stopping adding new features does not mean CNTK is no longer open source, it just means that going forward, there will be no new GPU support (say, CUDA 11+), and no major new features added. For different user scenarios, I think you may have different choices:

  • Deep learning newcomers: IMO CNTK is still a good entry to understand basics of deep learning, if you found CNTK documents/tutorials/examples useful. Once you learnt the basic, it won't be too hard to switch between frameworks. However, the DL field is changing rapidly and CNTK has already lagged behind in a lot of ways, so if you need more advanced features like dynamic graph, PyTorch would be a better choice.

  • Model maintainers: If you already have CNTK models working, and to maintain it just means training with new data, you can continue to use CNTK the way you currently use it. Actually, teams inside Microsoft are doing this too. If there are serious bugs preventing productivity, they still will be fixed. For inference, you can continue to use CNTK C/C++/Python/C#/Java APIs, or you may export CNTK models in ONNX format, and use ONNX Runtime or ORT as a slimmer and faster inference engine. You'll be surprised to find how much faster it is comparing to CNTK, and how slimmer the setup is (forget about OpenMPI when you just need inference!). ORT currently provides C/C++/Python/C# interfaces.

  • Model builders: If you have CNTK model, and want to use features that are not currently supported in CNTK, please consider switch to other frameworks like TensorFlow/PyTorch/etc. Our team has done lots of data reader work inside PyTorch to ensure teams in Microsoft can switch from CNTK to PyTorch. Besides, we are also in the process of migrating CNTK specific distributed trainer like BMUF to PyTorch. Hopefully you'll find that useful too when migrating your model.

The good thing about open source is that the community can continue to fork/evolve if needed, unlike other Microsoft products that only ship binaries (Win7 I am looking at you).

like image 62
snowflake Avatar answered Nov 02 '22 08:11

snowflake