初识Pytorch和Pytorch环境配置

  • pytorch的发展与框架
  • 动态图静态图
  • 二者性能的对比
  • pytorch可以干什么?
  • 环境配置
  • 遇到的问题


pytorch的发展与框架

       深度学习框架的话,对我而言就是分为Tensorflow和Pytorch两大阵营。他们的主要区别就是静态图优先还是动态图优先。
       

动态图静态图

       动态图:一步一步来,有结果而且符合人们的思维。
       静态图:只有公式,然后最终把数据输入。这是一种分离的状态,定义好公式,run的时候直接输入数据使用且不能修改,即 define→run 的过程。
       

二者性能的对比

pytorch是不是等于torch torchvision三个库 pytorch与torch区别_解决方案


       Tensorflow1和2不兼容给我整笑了,1的优势2无法继承了。

       

pytorch可以干什么?

       pytorch可以GPU加速,自动求导,有常用网络层。

       比如进行一个GPU的加速:

pytorch是不是等于torch torchvision三个库 pytorch与torch区别_解决方案_02

       这里第一次使用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上进行一个搭建。

  1. 安装Anaconda(python也会顺带安装好,里面需要注意的是path添加选项一定要点!!!)
  2. 找到自己显卡对应的版本,由于我的驱动已经安装好了,因此我不需要去官网进行安装或者更新,如有需要,先把Cuda安装好。
  3. 安装Cudnn
  4. 在Anaconda的Prompt里面创建名为Pytorch的环境
  5. 在Pytorch官网找到对应的版本,在激活了Pytorch环境之后,在其中进行对应语句的运行(因为你在官网选好版本之后,会有相应的运行语句的,复制到命令行即可)
  6. 我选择在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都没装)