linux / windows 系统搭建pytorch环境的一些细节:

不同系统搭建pytorch环境的通用细节:

1、切换环境要用 conda activate env_name

2、常用命令:

        2.1 删除环境:conda remove -n env_name --all

        2.2 添加环境:conda create -n env_name python=3.8

        但是上述加入的环境变量,只有几个基础包,如果想要更多的话(例如numpy等),就在命令最后加一个anaconda     例如   conda create -n env_name python=3.8 anaconda

        2.3 查询当前有几个环境:conda env list

        2.4 检查conda是否安装完成:conda --versionpython

        2.5 安装/卸载第三方包:进入该环境后,conda install  requests(包名)  conda remove requests(包名)  或者: pip install requests  pip uninstall requests

3、Anaconda有时候会崩,比如conda下载东西时提示各种failed,如果这些failed解决不了,可以考虑将所有终端关掉,然后重新打开终端再试试,可能就能恢复,因为有时候你进行的操作没有更新。

如果实在解决不了,①首先可以试试 conda clean -a 命令 清理缓存和不用的软件,如果还不行,②其次可以尝试卸载当前环境,如果还解决不了,③最后就卸载Anaconda软件后重新安装。具体卸载方法参考上文。

4、下载好pytorch后,通过 import torch torch.cuda.is_available()  from torch.backends import cudnn (torch.backends.cudnn.is_available())检测是否安装成功pytorch和cudatoolkit(或者系统中的cuda)和cudnn

5、Anaconda添加清华源时,常规添加方式是可以下载的,如果报错的话,就换个网。① 特别的:连接手机热点时,遇到过sslerror错误,网上百度不到原因,后来换成校园网就可以下载了;② 此外下载完成后还遇到过checksumerror,同样百度不到原因,把Anaconda卸载后重新安装就好了(但一定要卸载干净)

6、检测cuda的版本: nvcc -V    或者  nvidia-smi

如果 nvcc -V 或者 nvidia-smi 检测不到cuda,但是你确实安装过,这时候应该是环境变量的问题,百度一下添加环境变量。

7、下面关于下载pytorch语句的解释:conda install pytorch==1.10.1 torchvision==0.11.2 torchaudio==0.10.1 cudatoolkit=11.3 -c pytorch -c conda-forge

-c pytorch 是指定下载的来源是pytorch ;   -c conda-forge 是指定下载的来源是anaconda ;  如果在pytorch的来源没有这个包,那么就转去 anaconda下载(例如pytorch没有cudatoolkit这个包)。因此举一反三,如果我们想指定下载的来源,可以加上 “ -c 下载源 ”

cudatoolkit=11.3 这个语句,不一定非得有,如果在系统中有了CUDA,那么这个语句没有也可以,参照后面的知识点。另外补充:如果CUDA想用不同版本,可以在anaconda中下载不同版本cudatoolkit,下载好之后anaconda中的环境用的就是cudatoolkit,而不是系统中的CUDA,但是如果你下载失败,比如说cudatoolkit下到一半崩了,timeout超时了(或者解析错误了,或者系统警告waring了),这么这时候系统中的CUDA是不起作用的,你torch.cuda.is_available()是会报错的,因为此时用的是你anaconda环境中的cudatoolkit,而这个环境中的cudatoolkit是错误的,这时你只有把anaconda环境中的cudatoolkit卸载干净才会使用系统中的cuda。所以,如果系统中已经有了cuda,就可以这么下载:conda install pytorch==1.10.1 torchvision==0.11.2 torchaudio==0.10.1  -c pytorch

8、有些版本的Anaconda软件,使用 conda install 时不能使用代理(VPN),不知道这里面的原因。但是亲测过Anaconda 2020.07版本和Anaconda 2021.11月对待VPN是不同的,前者可以使用代理,后者不行。如果遇到 ProxyError: Conda cannot proceed due to an error in your proxy configuration 错误原因,你可以选择关闭代理,继续使用Anaconda,但是个人建议换个Anaconda吧……因为VPN下得快啊。

9、运行 pip install requests 报错, ERROR: Exception   如下。 这种情况是没有关掉VPN,关了就可以了

 10、conda安装报错后,可以用pip命令安装,例如某个包下不下来(比如下载matplotlib时,conda下不了,就用pip下载);

11、一下子下载多个安装包时,有些包没有下载成功,再用原命令重新下一遍(pytorch或者cudatoolkit太大,timeout了),如果重新下之后又报错了,或者警告了(警告内容大多数是需要你手动删除某个文件,这时候你 import torch 是没有这个模块的),可以用 conda clean -a 清除掉,然后重新下。

12、想用Pycharm的终端,但提示 Cannot open Local Terminal  Failed to start [powershell.exe] ,这是因为控制台的路径不对,在 file→settings→Tools→Terminal→Shell path 中把值设置为 电脑系统 powershell.exe 文件的全路径。

针对linux系统搭建pytorch环境的一些细节:

1、linux系统想要打开Anaconda 需要先进入conda的base环境,然后在命令行输入anaconda-navigator 打开Anaconda软件    

2、想要打开jupyter,首先进入conda 环境,然后输入 jupyter notebook 可以打开

3、linux系统卸载Anaconda,注意要卸载干净,否则重装后可能还会崩;在用户文件夹rm -rf *conda* 有关的所有内容,特别是有一些隐藏文件,例如 .condarc .conda 可以通过 ls -a 查看,然后一并删除。再重新下载即可。

这里需要提一下,卸载时.bashrc里面的环境变量可以不删,只要你下次还用默认安装路径就可以

4、conda install 时可以打开linux系统工具包中的流量管理工具,查看下载速度。

5、可以在系统中安装cudnn,也可以在anaconda的环境中安装cudnn。

在anaconda中安装cudnn的语句: conda install cudnn

在系统中安装cudnn:

(1)nvidia官网下载,选择 Cudnn library for linux

(2)解压包: tar -xzvf   pack_name

(3)执行安装,(拷贝头文件和库文件并给予权限)

sudo cp cuda/include/* /usr/local/cuda/include

sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64

sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*

(4)验证安装是否成功

cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

6、同样的,可以在系统中安装cuda,也可以在anaconda中安装cudatoolkit (相关细节见文末)。

个人理解 / 知识点:

        如果在系统中安装了cuda,那么即使conda环境中没有安装cudatookit,也可以使用cuda(亲测有效),不过这时候的cuda是系统中的;如果在conda环境中安装了cudatoolkit,这时候使用的就是conda环境中的cudatoolkit了。

        如果conda环境中没有cudatoolkit,那么系统中的cuda版本一定要大于等于pytorch所需的cuda的版本。(补充:cuda驱动可以向下兼容,所以一直保持最新就行,例如torch需要11.1版本的cuda,那么系统中是11.3版本的cuda是完全可以用的)

        如果在conda中安装cudatoolkit,不用担心版本问题,因为conda会自动安装相匹配的版本。

        因此,在conda里面离线安装pytorch,是完全可以的,尽管在conda里没法离线安装cudatoolkit(或许也可以,但我没研究过),因为只要系统中装有高版本的cuda,conda就可以只安装pytorch离线安装方法pytorch离线安装网站

        个人认为,只需要在系统中安装高版本cuda即可,因为cuda只需要选择高版本,就可以适配一切torch版本。虽然conda作用是隔离环境,但是隔离的是python环境和pytorch环境,而不管什么版本的pytorch和python,安装最高版本的cuda都可以运行。因此可以将cuda固定在系统中,只改变conda里面的torch版本和python版本。

此外,除了可以离线安装 pytorch,还可以离线/在线安装 torchtext(用于nlp)、torchaudio(用于音频)、torchvision(用于视频)等等等

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值