微软在2017中发布了VS Tools for AI,旨在提升用户对于深度学习的需求体验,应老师号召,这里比较一下我用过的深度学习的3个IDE。
Jupyternotebook
我认为Jupyternotebook的核心竞争力在于“文学编程”的思想。想象一下你在终端中运行程序,可视化结果显示在另一个窗口中,脚本存在其他文档中,你还需另外写一份说明文档来解释程序如何执行以及结果如何。此时 Jupyter Notebook 从天而降,将说明文字、代码、图表、公式、结论都整合在一个文档中。你该是多么开心啊!而且我个人感觉在使用Jupyter的时候,整个UI界面是很柔和的,给人很光滑的感觉,spyder和VS不能给我这种感觉。
个人认为Jupyter最大的缺点是不能像spyder和VS一样直观的debug,必须借助pdb,不能像后两者一样直接F10,F11那么方便,不过这也是它的设计思想决定的,因为Jupyter从一开始设计的时候就是往"随意","打草稿"方向发展。
spyder
我认为spyder的创新在于像matlab!它最大的优点就是模仿MATLAB的“工作空间”的功能,可以很方便地观察变量的值。
spyder缺点就是没有Jupyter那么文学气息。
VS
之前没用过VS下的AI tool,这次为了这个作业,强行安装使用。具体来说,就是先安装一个Anaconda,然后conda装tf(以前在win上装的tf全都卸载了,--呜呜),最后在VS下建立一个tfapp.py,并且配置项目python环境。我认为VS AI tool最大的创新就是和与 Azure机器学习无缝集成以实现了试验功能。对于我们一般普通人吧,穷,买不起GPU。微软Azure机器学习平台,Google,亚马逊都提供了云计算平台,只要提交任务,交点钱,就能跑程序,得到预测结果。但是后两家貌似没有VS这样的IDE(有我也可能不知道),MS就把Azure嵌入到VS里了,这样只要select cluster,然后登陆Azure账号,就能用拖动图形的方式来生成神经网络,对于新手来说是很方便的。当然也可以本地跑py文件。
个人认为VS最大缺点,就是太大了。。这点貌似也没法改变,人家功能就这么多。
我们的团队项目
我们要做的主要是实验室信息网页,我个人觉得可能有的创新说不上,但是最重要是用户体验好,UI界面好,要务实,能让学弟学妹找到有用的信息,这就够了!
何为创新
我认为商业产品的创新在于抓住人们生活中的痛点以及之前产品的不足,做到创新必要时可能舍弃之前产品可能存在的优点。比如Jupyter舍弃了直观debug这样的功能,获得了UI界面的简约大气以及浓郁的文学气息,给人一种"随意"的感觉。MS结合自身Azure平台优势,往VS里面加AI tools,让VS变得更加"笨重"了,同时功能也更加强大了~
创新之道无他,保持开发的心态,因地制宜。