我想知道CNTK是否已经停止更新了?GitHub 上 2019 年 03 月 31 日的发布说明中写到:“今天的 2.7 版本将是 CNTK 的最后一个主要版本。” 我花费数月时间使用 CNTK 开发软件,现在似乎成了浪费时间和金钱。我在许多网站上搜索答案,但仍然找不到答案。Microsoft 建议使用 stackoverflow 网站。
我想知道CNTK是否已经停止更新了?GitHub 上 2019 年 03 月 31 日的发布说明中写到:“今天的 2.7 版本将是 CNTK 的最后一个主要版本。” 我花费数月时间使用 CNTK 开发软件,现在似乎成了浪费时间和金钱。我在许多网站上搜索答案,但仍然找不到答案。Microsoft 建议使用 stackoverflow 网站。
来自CNTK维护者之一KedengMS的转载。源自github。
感谢所有支持CNTK的人,我很荣幸能够参与其中,并在此过程中学到了很多。您可以继续以目前的方式使用CNTK进行训练和推理,就像其他Microsoft内部团队一样,即使在BrainScript或NDL中仍运行旧模型。停止添加新功能并不意味着CNTK不再是开源的,它只意味着将来将不会提供新的GPU支持(例如,CUDA 11+),也不会添加重大新功能。对于不同的用户场景,我认为您可能有不同的选择:
深度学习新手:如果您觉得CNTK文档/教程/示例有用,则CNTK仍然是理解深度学习基础知识的良好入门。一旦掌握了基本知识,切换到其他框架也不会太难。然而,DL领域正在迅速变化,CNTK在许多方面已经滞后,因此如果您需要更高级的功能,如动态图,则PyTorch将是一个更好的选择。
模型维护人员:如果您已经拥有使用CNTK的模型,并且维护它只意味着用新数据进行训练,则可以继续以目前的方式使用CNTK。实际上,Microsoft内部的团队也在这样做。如果存在严重的错误影响生产力,它们仍将得到修复。对于推理,您可以继续使用CNTK C/C++/Python/C#/Java APIs,或者将CNTK模型导出为ONNX格式,并使用ORT作为更轻巧和更快速的推理引擎。您会惊讶地发现,与CNTK相比,ORT的速度更快,设置更轻巧(当您只需要推理时,请忘记OpenMPI!)。ORT目前提供C/C++/Python/C#接口。
模型构建者:如果您拥有CNTK模型,并且想要使用目前未受支持的功能,请考虑切换到其他框架,如TensorFlow/PyTorch等。我们团队在PyTorch中进行了大量的数据读取器工作,以确保Microsoft团队可以从CNTK切换到PyTorch。此外,我们还在将CNTK特定的分布式训练器,如BMUF迁移到PyTorch的过程中。希望在迁移模型时您也会发现这些工作很有用。
开源的好处在于,如果需要,社区可以继续进行分支/演进,而不像其他Microsoft产品只提供二进制文件(Win7我在看着你)。