一、Pytorch介绍
1)Pytorch介绍
PyTorch 是 Torch 在 Python 上的衍生. 因为 Torch 是一个使用 Lua 语言的神经网络库, Torch 很好用, 但是 Lua 又不是特别流行, 所有开发团队将 Lua 的 Torch 移植到了更流行的语言 Python 上.
2)Pytorch和Tensorflow
Pyrtoch最大的优点就是建立的神经网络是动态的,对比静态的TensorFlow,它能更加有效地去处理一些问题,Tensorflow 的静态计算图使得他在 RNN 上有一点点被动 (虽然它用其他途径解决了), 不过用 PyTorch 的时候, 你会对这种动态的 RNN 有更好的理解.而且 Tensorflow 的高度工业化, 它的底层代码… 你是看不懂的. PyTorch 好那么一点点, 如果你深入 API, 你至少能比看 Tensorflow 多看懂一点点 PyTorch 的底层在干嘛.
动态图:构建BP算法,首先要构建一个计算图,即网络的结构拓扑图。如构建一个三层结构,前项计算的时候把网络加到计算图里去,前项结束的时候,结构图就有了,反向传播的时候,从图的最后一层倒推,一层一层计算每一层的梯度,然后更新参数。
Tensorflow是先构建一个结构图,再对参数进行更新,不够灵活。但能分布式训练。