目录
1.写在前面
2.为什么是PyTorch
3.神经网络在做些什么?
4.PyTorch VS Tensorflow
5.PyTorch安装
1.写在前面
从今天开始我们将进行一个崭新的模块,因为这个学习了深度学习的课程,基本工程的实现需要学习一门深度学习工具,对比Tensorflow和PyTorch,我们首先学习一下PyTorch的基本知识。
2.为什么是PyTorch
选择PyTorch肯定是因为这个框架对初学者比较友好,PyTorch是Torch在Python上面的一个延伸,Torch是一个神经网络库,以前是在Lua上面开发的,但是Lua又不是特别流行,所以开发团队将Torch移植到了Python上面,也引起了社会巨大反响。
著名的 Facebook, twitter 等都在使用它, 这就说明 PyTorch 的确是好用的, 而且是值得推广。而且如果你知道 Numpy, PyTorch 说他就是在神经网络领域可以用来替换 numpy 的模块。
3.神经网络在做些什么?
神经网络在学习拟合线条(回归问题)
神经网络在区分数据(分类问题)
4.PyTorch VS Tensorflow
据 PyTorch 自己介绍, 他们家的最大优点就是建立的神经网络是动态的, 对比静态的 Tensorflow, 他能更有效地处理一些问题, 比如说 RNN 变化时间长度的输出. 而我认为, 各家有各家的优势和劣势, 所以我们要以中立的态度. 两者都是大公司, Tensorflow 自己说自己在分布式训练上下了很大的功夫, 那我就默认 Tensorflow 在这一点上要超出 PyTorch, 但是 Tensorflow 的静态计算图使得他在 RNN 上有一点点被动 (虽然它用其他途径解决了), 不过用 PyTorch 的时候, 你会对这种动态的 RNN 有更好的理解.
而且 Tensorflow 的高度工业化, 它的底层代码… 你是看不懂的. PyTorch 好那么一点点, 如果你深入 API, 你至少能比看 Tensorflow 多看懂一点点 PyTorch 的底层在干嘛.
最后我的建议就是:
- 如果你是学生, 随便选一个学, 或者稍稍偏向 PyTorch, 因为写代码的时候应该更好理解. 懂了一个模块, 转换 Tensorflow 或者其他的模块都好说.
- 如果是上班了, 跟着你公司来, 公司用什么, 你就用什么, 不要脱群.
5.PyTorch安装
PyTorch的安装十分简单,直接在网页上就可以选择合适的安装方式:
PyTorch 会安装两个模块, 一个是 torch, 一个 torchvision, torch 是主模块, 用来搭建神经网络的, torchvision 是辅模块, 有数据库, 还有一些已经训练好的神经网络等着你直接用, 比如 (VGG, AlexNet, ResNet)。