pytorch第一弹
标签: pytorch
深度学习
本系列需要有基本的python编程能力以及对深度学习有皮毛的了解,比如知道什么是前向传播,反向传播,什么是卷积池化等。
为什么是pytorch
随着深度学习不断火热,也出现了大量的深度学习框架,借助这些深度学习框架你能很快的实现一个深度网络。对于这些框架而言,其核心就是实现了一些基本的操作-比如卷积,池化以及一些常见的损失函数,激活函数、还有重中之重的反向传播。借助这些框架,我们搭建网络时,只需要把前向传播的过程定义好就行了,反向过程框架会自动帮我们完成。
当前的主流框架有Tensorflow
、mxnet
、caffe
、pytorch
,他们都是大同小异,里面都会包含一些基本的定义,但为什么当前pytorch
这么火呢,我觉得和它的好用分不开,我使用过tensorflow,也用过pytorch。发现pytorch更加符合平时的编程习惯,因为pytorch在运行代码的时候是每一次迭代都会建立一次前向过程,所以能够通过调试来很清楚的发现里面发生了什么,所以pytorch也叫做动态的。而tensorflow则在定义完前向之后,会把前向图固定起来,也就是只在运行的时候简历一次前向传播,所以使得tensorflow不易调试。你学习pytorch的时候觉得和学习一个python的包没什么区别,都是调用来调用去,但是再用Tensorflow的时候,就像学了一门新的语言一样,很晦涩难懂,所以推荐用pytroch。
深度学习能做什么
其实也不要把深度学习看作是无所不能,其实其就是一个较强的特征提取器,能够自动的从数据里面学一些东西,来知道特征学习的方向,导致深度学习相对传统的手工提取特征方式更加厉害。(这里主要指计算机视觉方向)
安装pytorch
https://pytorch.org/ 按照你的需要安装即可,这里主要是了解你是否有GPU以及如果有GPU的话,选择对应cuda版本即可。安装完后在你的python下键入import torch
成功即可。注意这里是torch,因为pytorch其实就是torch的python版本。
pytorch下的helloword
这里使用torch进行一个简单的输出尝试:
这就说明你的torch已经配置完成,剩下的就是开始操刀学习吧。