初识Pytorch和Pytorch环境配置
- pytorch的发展与框架
- 动态图静态图
- 二者性能的对比
- pytorch可以干什么?
- 环境配置
- 遇到的问题
pytorch的发展与框架
深度学习框架的话,对我而言就是分为Tensorflow和Pytorch两大阵营。他们的主要区别就是静态图优先还是动态图优先。
动态图静态图
动态图:一步一步来,有结果而且符合人们的思维。
静态图:只有公式,然后最终把数据输入。这是一种分离的状态,定义好公式,run的时候直接输入数据使用且不能修改,即 define→run 的过程。
二者性能的对比
Tensorflow1和2不兼容给我整笑了,1的优势2无法继承了。
pytorch可以干什么?
pytorch可以GPU加速,自动求导,有常用网络层。
比如进行一个GPU的加速:
这里第一次使用Cuda为什么时间更长呢?因为需要初始化一些配置,要花费一定的时间,第二次可以看到明显时间更少了。
对于求导而言,代码如下:
# 赋值,告诉torch我需要求导
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)
...
grads = autograd.grad(y, [a,b,c])
# 求出来的a,b,c都是相应的导数
常用网络层:nn.Linear nn.Conv2d nn.LSTM和一些激活函数等等“函数”。
环境配置
由于我刚刚换的Y9000P,且是32G内存+512G+1T的固态,因此我什么都不怕!(bushi)
我配置的思路是在Anaconda上进行一个搭建。
- 安装Anaconda(python也会顺带安装好,里面需要注意的是path添加选项一定要点!!!)
- 找到自己显卡对应的版本,由于我的驱动已经安装好了,因此我不需要去官网进行安装或者更新,如有需要,先把Cuda安装好。
- 安装Cudnn
- 在Anaconda的Prompt里面创建名为Pytorch的环境
- 在Pytorch官网找到对应的版本,在激活了Pytorch环境之后,在其中进行对应语句的运行(因为你在官网选好版本之后,会有相应的运行语句的,复制到命令行即可)
- 我选择在jupyter notebook进行操作,在激活的环境下输入jupyter notebook即可跳转到相应界面。
遇到的问题
如何查看自己的显卡版本/如何查看自己CUDA版本?
解决方案:打开nvidia面板,帮助里面就有。
WARNING conda.gateways.disk.delete:unlink_or_rename_to_trash(140)
解决方案:csdn
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
解决方案:可能是相应限制时长太短;修改为清华源;直接把包下载好,离线本地安装。(或者你连Cudnn都没装)