背景
- 诞生:2017年1月18日由Facebook的AI研究团队在GitHub上公布,目前已经更新到0.4版本,即将发布1.0版本,发展迅速;
特点
- 动态图,即在运行时定义创建,可以多次构建多次运行,非常Pythonic,可以随时查看训练中的tensor值,快速学习网络方法,简洁优雅;
- 无比重视用户体验,可看做支持GPU操作的Numpy;
- caffe2已并入了PyTorch,将caffe2优秀的后端与PyTorch优秀的前端进行了结合
- 更有利于研究人员、爱好者、小规模项目等快速搞出原型
PyTorch与Torch的关系
- Torch:诞生于2002年的纽约大学,使用lua语言,小众性;
- PyTorch:考虑到python的强大,团队重构了tensor上的所有模块,形成动态图
其他主流框架比较
TensorFlow
- 2015年google发布,继承于Theano,静态图,数据即是代码,代码就是数据,最流行;
- 优点:社区强大,功能全面、适合生产环境、边缘部署,更适合大规模部署,特别是需要跨平台和嵌入式部署时;
- 缺点:设计有些复杂,理解入门难,接口与文档皆不完备;
Keras
- 高阶框架,构建与TensorFlow之上
- 优点:快速实现想法,容易上手,简洁
- 缺点:灵活性低,程序运行慢,难以掌握网络精髓