conda 使用小记

16 篇文章 0 订阅
6 篇文章 0 订阅

最近比较扎心,需要同时安装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

  1. conda uninstall pytorch

  2. 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版本,我们可以使用如下代码打印出当前的版本:

  1. import torch

  2. 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

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值