1 PyTorch的基本概念(什么是Pytorch,为什么选择Pytorch?)
Pytorch是一个基于torch以PYTHON优先的深度学习框架(python开源机器学习库),用于自然语言处理等应用程序不仅能够实现强大的GPU(graphics processing unit图形处理器)加速,还支持动态神经网络,这是很多主流框架(例如tensorflow)都不支持的。Pytorch既可以看作是有GPU支持的numpy,看可以看作是有自动求导功能的深度神经网络。(torch是类似于numpy的张量(tensor)操作库,能很好支持GPU,Lua是torch的上层包装,但是比较小众,Face book用Python调用torch的底层形成pytorch,在Face book中用pytorch进行科学研究,使用Caffe2进行产品部署。)
选择pytorch原因:1,没有一劳永逸的框架,多学个框架多个思路和技能;2,tensorflow和Caffe都是命令式的语言,静态,需要先建立一个框架,然后重复使用该框架,若想改变网络结构需重头开始,而Pytorch通过反向求导技术可以零延迟的任意改变结构神经网络行为,可提供最高的效率和最佳的灵活性,这是Pytorch做大的优势;3,Pytorch的设计思路是线性、直观、易于操作的,执行一行代码,没有异步的世界观,出现bug时易于找到出错位置,可避免Debug时因错误指向或异步和不透明的引擎而浪费时间;4,相对于Tensorflow,Pytorch代码更加简洁直观,易于深入API,了解底层框架。5,Pytorch特点:支持GPU,动态神经网络,Python优先,命令式体验,轻松扩展。
缺点:2017年3月发布,还是beta(软件验收测试)阶段,可能会有小bug,社区不强大。1
2 Pytroch的安装
配置Python环境:安装anaconda,打开Anaconda prompt,输入conda install pytorch-cpu -c pytorch,下载packages,再输入pip install torchvision,torchvision安装成功。验证是否下载成功:打开Anaconda jupyter notebook,输入print(import torch),print(import torchvision),print(torch)不报错即可。
3 通用代码实现流程(实现一个深度学习的代码流程)
import torch as t
import torchvision as tv
import torchvision.transforms as transforms
from torch.autograd import Variable
import torch.nn as nn
import torch.nn.functional as F
1 参考https://blog.youkuaiyun.com/broadview2006/article/details/80133047
2参考https://blog.youkuaiyun.com/herosunly/article/details/89036914