最近比较扎心,需要同时安装pytorch和TensorFlow。我们买的GPU最现在比较顶配的,结果安装的cuda版本比较高。
然后通过conda install tensorflow-gpu=1.9 方式懒人安装法。后面再用conda 安装pytorch自动升级了我的TensorFlow。
可是我不想升级TensorFlow啊,真心无语。
我们安装的pytorch版本较早,然后他对应的cuda版本不能太新,这样就会导致和TensorFlow现在需要的cuda版本冲突了。
但是安装过程中又出现Torchvision失败。不管了,直接gank。
PyTorch官网:http://pytorch.org/ 由于官网各种点击按钮没有反应,只能下载安装
下载PyTorch
选择旧版本安装
找到所需版本,如上图所示,下载cu80/torch-0.2.0.post3-cp27-cp27mu-manylinux1_x86_64.whl。其中,0.2.0表示PyTorch版本,cp27表示支持Python2.7,cu80表示支持CUDA 8.0。
安装PyTorch
进入PyTorch的下载目录,使用pip命令安装:
pip install torch-0.2.0.post3-cp27-cp27m-manylinux1_x86_64.whl
或直接从链接安装
pip install http://download.pytorch.org/whl/cu80/torch-0.2.0.post3-cp27-cp27mu-manylinux1_x86_64.whl
切记:在安装之前请先将已经安装的numpy卸载掉(尝试过了,卸不掉),安装PyTorch过程中会自动安装numpy,不然会报ImportError: numpy.core.multiarray failed to import错误。就是这个坑,后面发现有人说去找到Linux对于的python文件自己改代码,头大了。所以放弃了,用conda建虚拟空间去安装一个单独的pytorch
安装torchvision
pip install torchvision
验证
import torch
import torchvision
print(torch.cuda.is_available())
若验证通过,则PyTorch已经安装成功。
1、使用conda卸载Pytorch,灭卵用任然可以import
-
conda uninstall pytorch
-
conda uninstall libtorch
2、使用pip卸载Pytorch,这个才是真正的卸载
pip uninstall torch
ubuntu利用conda创建虚拟环境,并安装cuda,cudnn,pytorch
cd到conda shell脚本安装包所在目录,安装conda:bash Anaconda3-5.1.0-Linux-x86_64.sh
创建虚拟环境:conda create -n your_env_name python=3.6
使用 conda create -n your_env_name python=X.X(2.7、3.6等),anaconda 命令创建python版本为X.X、名字为your_env_name的虚拟环境。your_env_name文件可以在Anaconda安装目录envs文件下找到。 指定python版本为2.7,注意至少需要指定python版本或者要安装的包, 在不指定python版本时,自动安装最新python版本。
————————————————
激活虚拟环境:source activate your_env_name
添加conda国内镜像:
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 yes
安装cuda:conda install cudatoolkit=8.0 -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/linux-64/
安装cudnn:conda install cudnn=7.0.5 -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/linux-64/
安装pytorch指定版本:conda install pytorch=0.3.0 torchvision=0.2.0 -c soumith
或
根据电脑环境,按照pytorch官网对应代码安装
torch官网:https://pytorch.org/get-started/locally/
以上操作之后,有报错了
在ubuntu下安装pytorch1.0 + cuda10.1 + python3.6 ,运行torchvision时出现问题
libcudart.so.10.0: cannot open shared object file: No such file or directory
原因:我的Ubuntu下安装的是cuda-10.1,但安装pytorch时官网给的cuda-10.1的选项,只能安装cuda-10.0版的pytorch,另外官网给的安装命令 conda install pytorch torchvision cudatoolkit=10.1 -c pytorch 居然就是有bug啊,没发现呢?
百度一番,有人提出下面的操作:
解决步骤:
1. 如果你按照官网命令安装,出现上述问题后,输入下面三条命令即可,参考自这位博主
sudo ln -s /usr/local/cuda-10.1/lib64/libcudart.so.10.1 /usr/lib
sudo ln -s /usr/local/cuda-10.1/lib64/libcudart.so.10.1 /usr/lib/libcudart.so.10.0
sudo ldconfig
2. 如果你跟我一样修改为10.1了,在执行第一步之后会出现
ImportError:/usr/lib/libcudart.so.10.0:version 'libcudart.so.10.0' not..
参考自github,需要重新安装 cudatoolkit-10.0,执行以下命令
conda install -c anaconda cudatoolkit==10.0
3. 如果执行第二步时出现 PackageNotFoundError: Packages missing in current channels...
那是因为包的名字不对,则首先执行
anaconda search -t conda cudatoolkit
然后找到合适的安装包名称如 anaconda/cudatoolkit,接着执行
anaconda show anaconda/cudatoolkit
会显示多个版本,选择合适的版本,修改并执行显示的最后一行命令
conda install --channel https://conda.anaconda.org/anaconda cudatoolkit==10.0.130
4. 如果执行第三步跟我一样没有指定版本,不知道为啥pytorch对应的cuda版本就变成了9.0, 可能跟我一样在运行torchvision时还会出现Pytorch has CUDA Version=9.0 and torchvision has CUDA Version=10.0...
首先运行
pip show torch
找到pytorch的安装目录,然后在 {安装目录}/torch/version.py中,修改cuda变量为你刚刚安装的cudatoolkit版本,我的是
cuda = '10.0.130'
做完上面的操作,还是报错了。
ImportError: /home/anaconda3/envs/maskrcnn-benchmark/lib/python3.6/site-packages/torchvision/_C.cpython-36m-x86_64-linux-gnu.so: undefined symbol: _ZN3c1019UndefinedTensorImpl10_singletonE
无语了,他们自家的东西居然还有这bug,做到这里,已经心态爆炸了,直接删了conda虚拟环境,从头再建个新conda环境。
原因:torchvision的版本安装过程丢失了某些文件,这个就是Linux系统的坑,有时候网不好,就失败。隔了个半天莫名其妙地又可以 了。有时候报个奇怪的错,放一段 时间再安装突然不报错了。
命令:pip install torchvision==0.2.2
安装的过程中会卸载之前安装的版本。
其实具体完整方法如下:
/home/developer/anaconda3/lib/python3.6/site-packages/torch/_C.cpython-36m-x86_64-linux-gnu.so: undefined symbol: _Z11libshm_initPKc
cd /anaconda3/lib/python3.6/site-package
rm -rf torch*
conda install torchvision
重装 完成
————————————————
上面的bug就是按照最后那一句来的,结果居然有bug,无语了。后面我仔细看了一下,有个地方发现上面的问题证据。
这里证实上面说的他们只有cuda10.0,所以导致bug。然后conda自己装吧,还出现Torch和Torchvision版本不兼容的bug。
于是我只能在这个界面找了下面的命令安装,果然OK了。
# CUDA 10.0
conda install pytorch==1.1.0 torchvision==0.3.0 cudatoolkit=10.0 -c pytorch
上面的操作是我新建了conda环境下的安装方法:
退出虚拟环境:
使用如下命令即可退出创建的虚拟环境
Linux: source deactivate your_env_name(虚拟环境名称)
Windows:deactivate env_name,也可以使用`activate root`切回root环境
删除虚拟环境:
删除环境:
使用命令conda remove -n your_env_name(虚拟环境名称) --all, 即可删除。
删除虚拟环境中的包:
使用命令conda remove --name $your_env_name $package_name(包名) 即可。
conda常用命令
conda list:查看安装了哪些包。
conda install package_name(包名):安装包
conda env list 或 conda info -e:查看当前存在哪些虚拟环境
conda update conda:检查更新当前conda
验证
import torch
import torchvision
print(torch.cuda.is_available())
若验证通过,则PyTorch已经安装成功。
nvcc -V 查看cuda版本信息。
import tensorflow as tf
print(tf.__version__) #查看TensorFlow版本信息
如何查看当前pytorch版本
有时候我们想要知道当前的pytorch版本,我们可以使用如下代码打印出当前的版本:
-
import torch
-
print(torch.__version__)
————————————————
https://www.cnblogs.com/haiyang21/p/11216025.html
https://blog.csdn.net/miao0967020148/article/details/80400357
原文链接:https://blog.csdn.net/sizhi_xht/article/details/80964099
原文链接:https://blog.csdn.net/sinat_31987445/article/details/90714659
原文链接:https://blog.csdn.net/kaixinjiuxing666/article/details/80321124
原文链接:https://blog.csdn.net/q295684174/article/details/79002952