无数踩坑系列(3)-配置pytorch


在实际开发中,想要在自己的机子上跑别人的代码;或者,在新的机子上跑自己的代码,总是面临着环境配置的问题。python配置环境时最主要的就是库的配置。配置环境的过程中会出现各种各样的状况,环境配置完全后也会应为库文件版本的不同而导致各种问题。本文记录了在最近一次环境配置过程中踩过的种种神坑。

1. 命令一键式安装

官网命令行一键安装:https://pytorch.org/

conda install pytorch torchvision cudatoolkit=9.0 -c pytorch

如果网不好的话安装着安装着,输出提示:An HTTP error occurred when trying to retrieve this URL.

2019年conda 相继关闭了清华和中科大的镜像源,所以通过在官网下载速度太慢,此情此景下:尝试用source安装,安装过程中遇到各种奇葩问题,总结如下:

2.源码安装

问题1

问题:没有安装git

The program ‘git’ is currently not installed. To run ‘git’ please ask your administrator to install

解决:终端上安装

sudo apt-get install git

问题2

问题:git缓存不够大

error: RPC failed; curl 56 GnuTLS recv error (-54): Error in the pull function.
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed
fatal: clone of ‘https://github.com/eigenteam/eigen-git-mirror.git’ into submodule path ‘third_party/eigen’ failed

参考文档:https://blog.csdn.net/qq_34121797/article/details/79561110

问题3

问题:git 克隆到一半,因为各种原因(网不好,突然断电,缓存不够大)终止克隆,想要继续下载。

解决方案:

~/source/$ cd pytorch#进入对应的仓库目录底下,更新一遍
~/source/pytorch$ git submodule update --init --recursive

参考文档:https://blog.csdn.net/kingroc/article/details/86526150

问题4

File “setup.py”, line 749, in
build_deps()
File “setup.py”, line 323, in build_deps
cmake=cmake)
File “/home/chenyy/pytorch/tools/build_pytorch_libs.py”, line 61, in build_caffe2
rerun_cmake)
File “/home/chenyy/pytorch/tools/setup_helpers/cmake.py”, line 330, in generate
self.run(args, env=my_env)
File “/home/chenyy/pytorch/tools/setup_helpers/cmake.py”, line 107, in run
check_call(command, cwd=self.build_dir, env=env)
File “/home/chenyy/anaconda3/lib/python3.6/subprocess.py”, line 286, in check_call
retcode = call(*popenargs, **kwargs)
File “/home/chenyy/anaconda3/lib/python3.6/subprocess.py”, line 267, in call
with Popen(*popenargs, **kwargs) as p:
File “/home/chenyy/anaconda3/lib/python3.6/subprocess.py”, line 709, in init
restore_signals, start_new_session)
File “/home/chenyy/anaconda3/lib/python3.6/subprocess.py”, line 1344, in _execute_child
raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: ‘cmake’: ‘cmake’

(conda install numpy ninja pyyaml mkl mkl-include setuptools cmake cffi typing)
解决:确保你的环境中有以上支持包,并且确认该环境被激活,(如果环境没有激活就会被自己蠢死)

conda activate python36

每次装都有惊喜,会发现不同的错误,真是神了。

下面几篇文章都总结了源码安装过程中会出现的错误:
https://blog.csdn.net/hungryof/article/details/78187512
https://blog.csdn.net/tanmx219/article/details/86505741
总结的了他配置过程中的种种错误,挺好的。还提供了源码安装的卸载方法,估计之后的源码安装和这个差不多。

3.克隆一个已有环境,带pytorch

配置好pytorch 之后发现还是不能用,最后能想到的就是GPU的版本不对

解决方案,克隆一个已有的环境
参考文档:https://www.jianshu.com/p/b86c17057da8

1.将已有的环境打包成.yaml文件(切换到指定的文件夹,文件会在终端正在工作的文件夹下面生成一个.yaml文件)

conda env export > environment.yaml

2.生成指定名字的环境:

conda env create --name python362 -f environment1.yaml

->出现问题1:

Error: ‘conda’ can only be installed into the root environment

->解决:打开对应的环境,去除一些链接项,再生成.yaml文件再操作就可以了
参考文档:https://blog.csdn.net/lazybones_3/article/details/79501243

4.GPU驱动版本不对

按照:conda install pytorch torchvision cudatoolkit=10.1命令装完,发现cuda并不能用:

>>> import torch
>>> torch.cuda.is_available()
False

运行需要GPU的程序,报错信息如下:
no CUDA-capable device is detected Traceback (most recent call last):

解决:
1.查看机子的合适驱动

ubuntu-drivers devices

2.安装合适驱动

sudo apt-get install nvidia-xxx #xxx 为版本号

3.安装完后重启

sudo reboot

4.查看驱动状态

sudo nvidia-smi

参考资料:https://blog.csdn.net/flowrush/article/details/80254301

在2.安装驱动的时候,又报了一个错:E: Sub-process /usr/bin/dpkg returned an error code (1)
采用下面博文方法二修复了:

sudo apt-get update --fix-missing
sudo apt-get autoremove && sudo apt-get clean && sudo apt-get install -f

修复后重启,驱动就合适了,之前装的带cuda版本的pytorch环境动能用了。
参考资料:https://blog.csdn.net/sunshinegirl168660/article/details/72934398

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值