为什么CNTK知名度和普及率不如Tensorflow,Theano,caffe,Torch
我们在开发cloud machine learning的平台时,已经支持了TensorFlow、MXNet、Theano、Torch和Caffe深度学习框架,为了满足部分同事(从微软挖过来)的需求,我也开始研究和对接CNTK框架,有几点感受。
首先是文档补全,在Google只能搜到Github上微软官方的wiki,wiki虽然详细单没有可以完整跑通的例子,Stackoverflow上几乎没有相关的问题。
其次是(在国内)安装困难,源码编译大概要一两个小时,然后发现没有Python binding,重新编译发现需要Python 3。如果使用release好的版本,下载一个500多M的包都花了不少时间,解压后执行脚本还需要wget xxx,结果就卡住了。
因此最易用的方法是build官方提供的Dockerfile,通过容器隔离运行环境,只要花时间总能build过去,这样我们就能完美使用cntk命令了,小米的cloud machine learning也支持用户上传cntk描述文件直接运行,直接提交文件不需要任何依赖。但是官方Dockerfile也没有安装Python binding,也搞了不少时间。
最后,CNTK即使是Python binding的代码风格一看就是C# guy写的,像尝试改一下Example中的模型,最后放弃,因为文档只有wiki。
很欣慰看到软狗也出来自黑,说明我的感受也是正确的,还是建议新人从TensorFlow入手,拥抱最活跃的社区,无论是学习、实践还是生产都能得到最大的帮助 🙂