配置pytorch环境
- 1. 命令一键式安装
- 2.源码安装
- 问题1
- 问题2
- 问题3
- 问题4
- 3.克隆一个已有环境,带pytorch
- 4.GPU驱动版本不对
在实际开发中,想要在自己的机子上跑别人的代码;或者,在新的机子上跑自己的代码,总是面临着环境配置的问题。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