Has Microsoft abandoned CNTK?
Asked Answered
E

1

19

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.

Earmuff answered 24/4, 2019 at 13:41 Comment(2)
It will no longer be developed. There was never official support so you aren't losing that. However it looks to be fully fledged already, there may not be much to gain by continued updates to it. They said they may do bug-fixes, but it appears that Microsoft has put CNTK in a position where they can use it without maintaining it anymore.Sorrows
Thank you for the info. I wasn't expecting support but tech changes so much & so quickly that it is risky banking on outdated software. I guess I'll have to start over with something else.Earmuff
Z
15

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).

Zeal answered 25/4, 2019 at 8:32 Comment(3)
Basically abandoned, just don't want to admit it in one wordSin
@Zeal what is ORT ? do you have a link? because I cannot find anything about itCzar
@MarioM ORT is ONNX RuntIme. github.com/microsoft/onnxruntimeZeal

© 2022 - 2024 — McMap. All rights reserved.