无数踩坑系列(3)-配置pytorch
配置pytorch環(huán)境
- 1. 命令一鍵式安裝
- 2.源碼安裝
- 問(wèn)題1
- 問(wèn)題2
- 問(wèn)題3
- 問(wèn)題4
- 3.克隆一個(gè)已有環(huán)境,帶pytorch
- 4.GPU驅(qū)動(dòng)版本不對(duì)
在實(shí)際開(kāi)發(fā)中,想要在自己的機(jī)子上跑別人的代碼;或者,在新的機(jī)子上跑自己的代碼,總是面臨著環(huán)境配置的問(wèn)題。python配置環(huán)境時(shí)最主要的就是庫(kù)的配置。配置環(huán)境的過(guò)程中會(huì)出現(xiàn)各種各樣的狀況,環(huán)境配置完全后也會(huì)應(yīng)為庫(kù)文件版本的不同而導(dǎo)致各種問(wèn)題。本文記錄了在最近一次環(huán)境配置過(guò)程中踩過(guò)的種種神坑。
1. 命令一鍵式安裝
官網(wǎng)命令行一鍵安裝:https://pytorch.org/
conda install pytorch torchvision cudatoolkit=9.0 -c pytorch
如果網(wǎng)不好的話安裝著安裝著,輸出提示:An HTTP error occurred when trying to retrieve this URL.
2019年conda 相繼關(guān)閉了清華和中科大的鏡像源,所以通過(guò)在官網(wǎng)下載速度太慢,此情此景下:嘗試用source安裝,安裝過(guò)程中遇到各種奇葩問(wèn)題,總結(jié)如下:
2.源碼安裝
問(wèn)題1
問(wèn)題:沒(méi)有安裝git
The program ‘git’ is currently not installed. To run ‘git’ please ask your administrator to install
解決:終端上安裝
sudo apt-get install git
問(wèn)題2
問(wèn)題: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
問(wèn)題3
問(wèn)題:git 克隆到一半,因?yàn)楦鞣N原因(網(wǎng)不好,突然斷電,緩存不夠大)終止克隆,想要繼續(xù)下載。
解決方案:
~/source/$ cd pytorch#進(jìn)入對(duì)應(yīng)的倉(cāng)庫(kù)目錄底下,更新一遍
~/source/pytorch$ git submodule update --init --recursive
參考文檔:https://blog.csdn.net/kingroc/article/details/86526150
問(wèn)題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)
解決:確保你的環(huán)境中有以上支持包,并且確認(rèn)該環(huán)境被激活,(如果環(huán)境沒(méi)有激活就會(huì)被自己蠢死)
conda activate python36
每次裝都有驚喜,會(huì)發(fā)現(xiàn)不同的錯(cuò)誤,真是神了。
下面幾篇文章都總結(jié)了源碼安裝過(guò)程中會(huì)出現(xiàn)的錯(cuò)誤:
https://blog.csdn.net/hungryof/article/details/78187512
https://blog.csdn.net/tanmx219/article/details/86505741
總結(jié)的了他配置過(guò)程中的種種錯(cuò)誤,挺好的。還提供了源碼安裝的卸載方法,估計(jì)之后的源碼安裝和這個(gè)差不多。
3.克隆一個(gè)已有環(huán)境,帶pytorch
配置好pytorch 之后發(fā)現(xiàn)還是不能用,最后能想到的就是GPU的版本不對(duì)
解決方案,克隆一個(gè)已有的環(huán)境
參考文檔:https://www.jianshu.com/p/b86c17057da8
1.將已有的環(huán)境打包成.yaml文件(切換到指定的文件夾,文件會(huì)在終端正在工作的文件夾下面生成一個(gè).yaml文件)
conda env export > environment.yaml
2.生成指定名字的環(huán)境:
conda env create --name python362 -f environment1.yaml
->出現(xiàn)問(wèn)題1:
Error: ‘conda’ can only be installed into the root environment
->解決:打開(kāi)對(duì)應(yīng)的環(huán)境,去除一些鏈接項(xiàng),再生成.yaml文件再操作就可以了
參考文檔:https://blog.csdn.net/lazybones_3/article/details/79501243
4.GPU驅(qū)動(dòng)版本不對(duì)
按照:conda install pytorch torchvision cudatoolkit=10.1命令裝完,發(fā)現(xiàn)cuda并不能用:
>>> import torch >>> torch.cuda.is_available() False運(yùn)行需要GPU的程序,報(bào)錯(cuò)信息如下:
no CUDA-capable device is detected Traceback (most recent call last):
解決:
1.查看機(jī)子的合適驅(qū)動(dòng)
ubuntu-drivers devices
2.安裝合適驅(qū)動(dòng)
sudo apt-get install nvidia-xxx #xxx 為版本號(hào)
3.安裝完后重啟
sudo reboot
4.查看驅(qū)動(dòng)狀態(tài)
sudo nvidia-smi
參考資料:https://blog.csdn.net/flowrush/article/details/80254301
在2.安裝驅(qū)動(dòng)的時(shí)候,又報(bào)了一個(gè)錯(cuò):E: Sub-process /usr/bin/dpkg returned an error code (1)
采用下面博文方法二修復(fù)了:
sudo apt-get update --fix-missing
sudo apt-get autoremove && sudo apt-get clean && sudo apt-get install -f
修復(fù)后重啟,驅(qū)動(dòng)就合適了,之前裝的帶cuda版本的pytorch環(huán)境動(dòng)能用了。
參考資料:https://blog.csdn.net/sunshinegirl168660/article/details/72934398
總結(jié)
以上是生活随笔為你收集整理的无数踩坑系列(3)-配置pytorch的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 《Java8实战》笔记(14):函数式编
- 下一篇: 算法(20)-leetcode-剑指of