1 深度学习的工作环境,一般流程

  • 安装好conda
  • 创建虚拟环境并且激活
    conda create -n pytorch python=3.6source activate pytorch

.
需要知道,使用conda命令安装库时,会安装其他的依赖库(或相关库),而且这些库也有默认的版本。所以在多个库相互兼容的情况下,想要安装指定版本的库,可以使用pip进行单独安装

2 安装pytorch

进入pytorch官网可以看到

基于python的CUDA和基于C语言的CUDA性能差距大吗 python cudatoolkit_安装包

官网已经提供了安装pytorch的命令


conda install pytorch torchvision cudatoolkit=10.2 -c pytorch


执行这命令,可以安装成功就万事大吉。但实际可能安装的过程中发现速度很慢

2022.01.06记录:官网的命令又发生了改变,只有按照官网命令才安装pytorch-gpu(本人电脑上)。按照本文的安装方式,安装的pytorch-cpu版本。

2.1 安装速度奇慢

  • 原因
    使用该命令,速度非常慢,很久以后没有反应,或者失去响应了。这是因为该命令使用的是国外的源导致的。
    先解释下commod:conda install pytorch torchvision cudatoolkit=10.2 -c pytorch。
    这个命令,会安装pytorch、torchvision、cudatoolkit。后面的-c pytorch参数指定了conda获取pytorch的channel,再次指定为conda自带的pytorch仓库。
  • 解决
    -c pytorch语句去掉,然后添加清华镜像的源后,就可以使用清华镜像源快速安装pytorch了
    .
    conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/conda config --set show_channel_urls yesconda install pytorch torchvision cudatoolkit=10.2

.


运行该命令,会安装很多包,等待安装结束即可。前面已经添加了清华镜像源,所以这里库的下载快很多。如果一气呵成安装成功就又万事大吉。


但安装包比较大时,容易与网站失去连接,所以大库跳过安装,然后可以手动下载安装

:安装过程中,在终端显示的安装包的下载链接,可以找到未成功安装的包的链接,然后访问并下载相应的包,然后进行安装即可



l栗子:

基于python的CUDA和基于C语言的CUDA性能差距大吗 python cudatoolkit_pytorch_02


这三个包,我这边网速不好的情况下,安装到一半的时候,就断掉了,


基于python的CUDA和基于C语言的CUDA性能差距大吗 python cudatoolkit_安装包_03


复制对应包的下载链接,进去找到对应包的位置,根据所提示的安装包的全部名称来下载,注意不要受到后缀的影响。当然在安装报错的时候,也会提示下载链接:


基于python的CUDA和基于C语言的CUDA性能差距大吗 python cudatoolkit_pytorch_04


利用以上信息找到下载链接。有时网页下载也会比较慢,复制到迅雷中进行下载,速度很给力


基于python的CUDA和基于C语言的CUDA性能差距大吗 python cudatoolkit_安装包_05


下载下来后,打开终端,在相应的虚拟环境中运行

conda install ***

基于python的CUDA和基于C语言的CUDA性能差距大吗 python cudatoolkit_ubuntu_06


有时运行一遍未成功,在运行一边即可


基于python的CUDA和基于C语言的CUDA性能差距大吗 python cudatoolkit_pytorch_07


然后就可以使用

conda list

查看安装的库了

2.2 安装指定版本的pytorch

上面官网截图的左下角的链接,进入会发现安装指定版本的命令,关于安装速度上的问题,参考2.1的讲解即可。
.
另外要注意:要安装numpy,否则 import torch 会报错