赞
踩
Torch基于Lua语言开发,一定程度上制约了Torch的发展
2016年Google改进了Pytorch开始进入大众视野(THNN后端)。
2018年12月发布Pytorch 1.0( C a f f e 2 Caffe_2 Caffe2)
2019年5月发布Pytorch 1.1
1.Google:
2.Facebook:
3.Amazon:
4.Microsoft:
TensorFlow为静态图,Pytorch是基于动态图方便进行调试。 Pytorch由于基于动态图,方便调试。所以非常受学术界欢迎。而Tensorflow 1.0由谷歌开发,有很多支持和完善的生态系统所以工业界非常受欢迎。Pytoch对新手非常的友好。Tensorflow 2既有静态图又有动态图,相对好上手。但是Pytorch各版本兼容性较好,Tensorflow各版本兼容性较差。Tensorflow 1.0被Google抛弃了,所以Pytorch性能可粗略排第一,Tensorflow 2算Pytoch和Tensorflow 1.0的折中。
使用建议:研究人员使用Pytorch,更多的把精力放在算法本质上,工程师使用Tensorflow 2,Tensorflow在工业界的相应系统生态比较完善。
生态系统非常全面:
1.使用Pytoch可以进行GPU的加速,注意刚加载cuda需要一段时间,所以一次计算的时间会长,之后使用cuda计算的时间会相对较短。
device = torch.device('cuda')
2.Pytorch:提供自动求导功能
# 需要对a,b,c求导
x = torch.tensor(1.)
a = torch.tensor(1., requires_grad=True)
b = torch.tensor(2., requires_grad=True)
c = torch.tensor(3., requires_grad=True)
y = a**2 * x + b * x + c
grads = autograd.grad(y, [a, b, c])
# 输出对应的偏微分
print('after :', grads[0], grads[1], grads[2])
3.Pytorch有许多自带的库
常用网络层
▪ nn.Linear
▪ nn.Conv2d
▪ nn.LSTM
▪ nn.ReLU
▪ nn.Sigmoid
▪ nn.Softmax
▪ nn.CrossEntropyLoss
▪ nn.MSE
CUDA:是Navidia推出,可以利用显卡进行通用计算的开发语言API,像进行软件开发一样,方便调用硬件资源加速计算。首先确定你有Navidia显卡。这样才能安装CUDA。下面是CUDA,Pytorch匹配版本:
以及Pytoch和python的匹配关系
此处我们安装python3.6版本以及Cuda 10.0,首先打开cmd窗口,查看自己的虚拟环境
conda env list
新建python3.6.4环境:
conda create -n torch_1.2.0 python=3.6.4
安装torch 1.2.0
pip install torch===1.2.0 torchvision===0.4.0 -f https://download.pytorch.org/whl/torch_stable.html --target=E:\software\Anaconda\run_file\envs\torch_1.2.0\Lib\site-package
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。