PyTorch简介
PyTorch是2017年1月FAIR(Facebook AI Research)发布的一款深度学习框架。从名称可以看出,PyTorch是由Py和Torch构成的。其中,Torch是纽约大学在2012年发布的一款机器学习框架,采用Lua语言为接口,但因Lua语言较为小众,导致Torch知名度不高。PyTorch是在Torch基础上用 python语言进行封装和重构打造而成的。
PyTorch发展
- 2017年1月正式发布PyTorch
- 2018年4月更新0.4.0版,支持Windows系统,caffe2正式并入PyTorch
- 2018年11月更新1.0稳定版,已GitHub 增长第二快的开源项目
- 2019年5月更新1.1.0版,支持TensorBoard,增强可视化功能
- 2019年8月更新1.2.0版,更新torchvision,torchaudio 和torchtext,增加更多功能
arXiv是学术界风向标。上图是2014年10月至2018年02月arXiv论文中深度学习框架提及次数统计。可以看到PyTorch的增长速度与TensorFlow一致。
Github是工业界风向标。上图是2019年3月各深度学习框架在GitHub上的Start, Forks, Watchers和Contributors数量对比。
PyTorch优点
- 上手快:掌握Numpy和基本深度学习概念即可上手
- 代码简洁灵活:用nn.module封装使网络搭建更方便;基于动态图机制,更灵活
- Debug方便:调试PyTorch就像调试 Python 代码一样简单
- 文档规范:https://pytorch.org/docs/stable/index.html可查各版本文档
- 资源多:arXiv中的新算法大多有PyTorch实现
- 开发者多:GitHub上贡献者(Contributors)已超过1100+
- 背靠大树:FaceBook维护开发
适合人群
- 深度学习初学者:模型算法实现容易,加深深度学习概念认识
- 机器学习爱好者:数十行代码便可实现人脸识别,目标检测,图像生成等有趣实验
- 算法研究员:最新arXiv论文算法快速复现