#诞生
1.2017年1月,Facebook人工智能研究院(FAIR)团队在GitHub上开源了pyTorch,并迅速占领GitHub热度榜榜首。
#常见深度学习框架简介
#Theano
1、Theano最初诞生于蒙特利尔大学LISA实验室,于2008年开始开发,是第一个有较大影响力的Python深度学习框架;Theano是一个Python库,可用于定义、优化和计算数学表达式,特别是多维数组(numpy.ndarray),在解决包含大量数据的问题时,使用Theano编程可实现比手写C语句更快的速度,二通过GPU加速,Theano甚至比基于CPU计算的C语言快上好几个数量级;
2、不足:调试困难,构建图慢;
3、奠定:2017年9月28日发布"Theano is Dead",退出历史舞台,但是奠定了深度学习框架的设计方向——以计算图为框架的核心,采用GPU加速计算。
#TensorFlow
1、2015年11月10日,Google宣布退出全新的机器学习开源工具TensorFlow,TensorFlow最初是由Google机器智能研究部门的Google Brain团队开发,基于Google 2011年开发的深度学习基础架构DistBelief构建起来的;
2、应用:机器学习和深度神经网络,是一个非常基础的系统,因此可以应用于众多领域;
3、不足:
过于复杂的系统设计,TensorFlow在GitHub代码仓库的总代码量超过100万行;
频繁变动的接口;
接口设计过于晦涩难懂;
文档混乱脱节;
4、点评:不完美但最流行的深度学习框架,社区强大,适合生产环境。
#Caffe/Caffe2
1、Caffe的全称Convolutional Architecture for Fast Feature Embedding,他是一个清晰、高效的深度学习框架,核心语言是C++,支持命令行、Python和MATLAB接口,可以在CPU上运行也可以在GPU上运行;
2、Caffe的优点是简介快捷,缺点是缺少灵活性,不同于Keras由于太多封装导致灵活性丧失,Caffe灵活性的缺失主要是因为它的设计;
3、Caffe的作者从加州伯克利分校毕业后加入了Google,参与过TensorFlow的开发,后来离开Google加入FAIR,担任工程主管,并开发了Caffe2;Caffe2是一个兼具表现力、速度和模块性的开源深度学习框架;设计追求轻量级,强调便携性;
4、点评:文档不够完善,但性能优异,几乎全平台支持(Caffe2),适合生产环境。
#CNTK
1、2015年8月,微软公司在CodePlex上宣布由微软研究院开发的计算网络工具集CNTK将开源,5个月后,2016年1月25日,微软公司在他们的GitHub仓库上正式开源了CNTK;
2、CNTK性能比Caffe、Theano、TensorFlow等主流工具要强,CNTK支持CPU和GPU模式,和TensorFlow/Theano一样,它把神经网络描述成一个计算图的结构,叶子结点代表输入或者网络参数,其他结点代表计算步骤;
3、社区不够活跃,但是性能突出,擅长语音方面的相关研究。
#pytorch
简洁:pytorch的设计追求最少的封装,尽量避免重复造轮子,pytorch的设计遵循tensor->variable(autograd)->nn.Module三个由低到高的抽象层次,分别代表高维数组(张量)、自动求导(变量)和神经网络(层/模块),这三个抽象之间联系紧密,可以同时进行修改和操作;
速度:pytorch的灵活性不以速度为代价;
2018-10-04 21:59:38
易用:pytorch是所有框架中面向对象设计的最优雅的一个;
活跃的社区:pytorch提供了完成的文档,循序渐进的指南,作者亲自维护的论坛(https://discuss.pytorch.org/)供用户交流和求。
原文地址:https://www.cnblogs.com/monkeyT/p/9743587.html