文章目录
1. 初识PyTorch
1.1 什么是PyTorch,为什么选择PyTorch
讲到PyTorch,其实它是从Torch发展而来的,那我们先讲一下什么是Torch。Torch是一个与Numpy类似的张量(Tensor)操作库,与Numpy不同的是Torch对GPU支持的很好,Lua是Torch的上层包装,它的底层语言为C++。由于Lua语言相对比较小众,所以Facebook使用Python语言对Torch的底层进行调用,这也就是现在的Pytorch。Pytorch之所以流行,其中一个原因是Pytorch借鉴了Chainer API的设计规范。
Pytorch的版本迭代:0.1(THNN 后端)->0.4(Variable和Tensor的合并)->1.0(CAFFE2后端)->1.x。其中0.4版本新特性可参考:https://www.jianshu.com/p/85c0671d5193。
PyTorch是一个基于Torch的Python开源机器学习库,用于自然语言处理等应用程序。 它主要由Facebook的人工智能研究小组开发。在Facebook中,使用Pytorch进行科学研究,而使用Caffe2进行产品部署。
PyTorch相比TensorFlow而言,它的设计初衷是简单易用用,所以它是基于动态图进行实现的,从而方便调试。当然,TensorFlow在1.5版的时候就引入了Eager Execution机制实现了动态图,但它还是默认使用静态图。
2022年更新:PyTorch相比于TensorFlow而言,PyTorch支持绝大多数的H