导读 | PyTorch是用于Python的开源AI框架软件包,具有Tensor计算,包括强大的GPU加速和建立于基于磁带autodiff系统之上的深度神经网络。 |
该新版本的重要性在于,减少了从研究过程到生产过程中移动AI驱动的项目所需的时间,同时提高了这些应用程序的准确度和性能。这些改进的发生,部分是因为混合前端在命令式和声明式执行模式间的转换。
PyTorch的核心优势在于,它是前端必不可少的部分,它通过适应性可编程模式实现迭代原型设计和实验。PyTorch的第一个版本发布于2017年早些时候,其软件包的下载次数已经超过了110万次。Jia将它的流行归因于:
它的速度、生产力和支持最前沿AI模型(如动态图形)的能力迅速使之成为最受AI研究人员欢迎的重要开发工具。
PyTorch应用的一个众所周知的例子是,加州大学伯克利分校计算机科学家所构建的项目,它基于循环一致对抗网络进行非配对图到图的转换。该项目通过使用一组对齐的图像训练集来学习图像输入和输出映射。
PyTorch目前的版本已经取得了一些成果,为AI研究、开发和生产规模上的性能提供了灵活性,但是,也存在一些挑战。Jia解释说:
由于它和Python紧密的耦合,我们常常需要把研究代码(无论是训练脚本还是经过训练的模型)转换为Caffe2中的图形模式表示,以在生产规模上运行。Caffe2的基于图形执行程序允许开发人员利用最先进的优化技术,比如图形转换、高效的内存重用和严格的硬件接口集成等等。
另外,PyTorch 1.0 集成了Caffe2和ONNX的功能,并把它与PyTorch的能力结合在一起,以提供从研究原型到生产部署的无缝路径。通过利用Caffe2,建立PyTorch依赖关系的公司也能够期望获得对更大的规模和可靠性的支持。PyTorch博客更进一步解释了使用Caffe2的重要性:
初创企业、大公司和任何希望围绕PyTorch构建产品的人都要求获得产品支持。在脸书(PyTorch的最大利益相关者),我们拥有Caffe2,它已经是生产就绪平台,运行于我们的数据中心,并向横跨8代iPhone以及6代安卓CPU架构的超过10亿部手机交付产品。它在Inter/ARM、TensorRT支持以及所有生产所需的位数上有服务器优化推理。考虑到所有这些价值锁定在PyTorch团队与其密切合作的平台上,我们决定把PyTorch和Caffe2结合在一起,从而为PyTorch提供生产级准备。
ONNX是一种开放格式,用于表示那些能够在不同AI框架之间交换的深度学习模型。在PyTorch 1.0中,ONNX是本地支持的导出模型。它也为加速运行时间和硬件特定库提供了接口。Jia提到了这种方法的一些好处:
它给予开发人员完全的自由,以混合和匹配最好的AI框架和工具,而无需承担资源密集型的定制工程。
PyTorch项目期望于2018年夏季的某个时候发布1.0版本,并且可以在其GitHup repo上查看pull requests。
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/119110.html