ubuntu18系统anaconda安装tensorflow_qq_39429669的博客-CSDN博客
安装的过程主要思考两个问题:
接下来会针对这两个问题和其他问题进行说明。
虚拟环境中cuda版本与系统cuda版本不同有什么影响
1.虚拟环境中的cuda和系统安装的cuda是互不影响的,所以在虚拟环境中放心安装你需要的cuda版本。安装之后为了验证时候安装成功,在终端运行了nvcc -V(V大写),很奇怪的发现和系统安装的cuda是一个版本。其实这个命令执行之后就是获得系统安装的版本,如果想要看虚拟环境中安装的版本应该运行conda list | grep cuda。
2.github上不同的项目所支持的pytorch版本是不一样的,而pytorch版本和cuda版本之间又是互相依赖的,所以如果可以利用anaconda灵活地在不同cuda版本间切换将是非常方便。我们可以在conda创建的不同虚拟环境中安装不同的cuda和cudnn版本,以此来实现不同cuda版本间的切换。最好一个项目创建一个虚拟环境,这样比较好。
3.但是!!cuda版本不能是任意的欧!需要安装与显卡对应的cuda和cudnn,这样才可以用显卡进行训练。小白亲测,在anaconda虚拟环境中配置相应版本的cuda发现运行代码的时候出现错误,提示显卡能够支持cudnn>=9000,而现在cudnn=8000,这个时候要升级虚拟环境中的cuda,cudnn版本和安装的pytorch版本,这个需要查阅相关文件,看看自己的电脑需要安装什么版本的cuda,cudnn,pytorch。如果不正确安装在使用显卡跑网络的时候会出现问题。
4.除非你打算安装CUDA 10.0并自行编译 TensorFlow 或 PyTorch ,否则不要自行安装 CUDA 和 cuDNN!安装了也可以使用。因为版本兼容问题是个大坑,而网上很多教程却避而不谈。其实最简单稳妥的办法就是通过 Anaconda 安装 TensorFlow ,让它来安装正确的依赖 —— 例如 CUDA 和 cuDNN。
操作实例:安装驱动-不知是否在系统上安装了cuda和cudnn-在环境中conda安装cuda和cudnn-不知是否安装tensorflow
千万不要这种方式,conda安装tensorflow可以自动安装对应版本的cuda和cudnn,不需要在环境中提前安装cuda和cudnn
显卡驱动安装适合本机显卡的版本。如果以前已经安装可以直接跳过。
链接
安装好显卡驱动后,使用nvidia-smi命令可以查看这个显卡驱动可以安装的最高的cuda版本是多少,如下:
Driver Version: 461.40 表明当前驱动版本是461.40
CUDA Version: 11.2 表明当前驱动可以安装的cuda最高版本是11.2
上面虽然显示的当前驱动版本461.40可以安装的cuda最高版本是11.2,但是我们还不能直接就认定我们就安装cuda 11.2,还需要查看pytorch的版本要求,比如我想安装pytorchv1.8.0,如下:
pytorchv1.8.0 要求的cuda版本是11.1,那我就可以确定安装cuda11.1
注意:
链接
conda search cudatoolkit
# 查看可以用来安装的cudatoolkit的所有版本都有哪些
conda search cudatoolkit --info
# 查看所有列出来的cudatoolkit的详细信息,包括版本号version,文件网址url,依赖项dependencies
# 文件网址url:
# 直接conda install cudatoolkit,通常下载安装包的速度很慢,因而可以用上面给出的文件网址url来用下载工具去下载这个包,再去本地安装
# 依赖项dependencies:
# 想要使用cudatoolkit,还需要安装什么才可以使用。
执行conda search cudatoolkit --info命令后,会显示出源内所有的cuda版本,以及下载地址,如图所示
找到自己想要的cuda版本后,先把cuda下载到本地。首先复制url字段里的下载链接,然后用命令cd到想要下载的目录,执行如下代码下载
wget 你刚刚复制的链接地址
执行如下命令进行安装,因为是通过本地安装的,所以需要写明本地包的路径
# 然后安装本地包
conda install --use-local 本地cuda包所在的路径
在cudnn仓库中找到适用于某个cudatoolkit版本的cudnn版本
# cudnn仓库
https://developer.nvidia.com/rdp/cudnn-archive
# 如下
适用于CUDA 11.1 的 cudnn 有多个版本。
conda search cudnn
# 下图中cudnn 8.1.0.77 出现了两个版本,因而可以先运行一下conda install cudnn=8.1.0.77,看一下默认安装的是哪个版本,然后再决定去下载哪个版本的cudnn 8.1.0.77
# 查看详细信息,并根据提供的网址去下载到本地
conda search cudnn --info
# 之后本地安装即可
还是复制你想要版本的cudnn的下载地址,使用wget 链接地址进行下载
wget 链接地址
conda install --use-local 本地cudnn包所在的路径
在虚拟环境中安装完cuda和cudnn想要测试是否安装成功,不能使用nvcc -V命令测试,需要
conda list | grep cuda
也可以在虚拟环境中安装pytorch包进行测试,十分复杂不建议。
安装pytorch
首先安装与cuda相匹配的pytorch和torchvision包,可以去pytorch官网查询。
因为我的cuda版本是11.0,支持的pytorch版本为1.7.1,所以我安装的是这俩个,你可以根据你的需要安装。
conda install pytorch==1.7.1 torchvision==0.8.2 torchaudio==0.7.2 cudatoolkit=11.0
测试cuda版本
装好pytorch后,命令行输入python,进入python的命令行,导入torch包
查询cuda版本
print(torch.version.cuda)
查询cudnn版本
print(torch.backends.cudnn.version())
如图所示
在conda环境中,可以直接用conda装cuda和cudnn,缺点是conda源中没有全部版本的cuda和cudnn,而且更新较慢。
# 查看conda源中可以安装的cuda和cudnn版本
conda search cuda
conda search cudnn
# 安装
conda install cuda==版本 # 可指定版本
conda install cudnn==版本 # 可指定版本
和安装tensorflow不同的是,pytorch官网介绍的安装命令附带了下载和安装cuda,但是没有附带cudnn,所以还需要额外安装cudnn。
如下:
按照上面的命令安装好(不用conda安装cudnn)之后,使用网上的“检测pytorch的gpu是否可用的命令“检测时显示gpu可用,但是没有cudnn,所以还是不能用。
# 检测pytorch的gpu是否可用的命令
import torch
torch.cuda.is_available()
所以要用conda命令安装cudnn
安装torch和torchvision时候,使用pip命令,不要用conda命令,很容易断掉
pip install torch==1.7.1+cu101 torchvision==0.8.2+cu101 torchaudio===0.7.2 -f https://download.pytorch.org/whl/torch_stable.html
# liux中
https://blog.csdn.net/Mr__George/article/details/102972958
conda install cudatoolkit=9.0 -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/linux-64/
conda install cudnn=7.1.4 -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/linux-64/
#-c代表--channel
参考你所需要的Tensorflow版本,安装对应版本的cuda,这点很重要!!!!实际中强烈推荐严格按照对应关系进行环境的安装:tensorflow与CUDA、cudnn的版本向上兼容还是向下兼容说不清楚
https://tensorflow.google.cn/install/source_windows#tested_build_configurations
版本选择总结:
对于pytorch:
对于tensorflow:
安装流程总结:
流程1:
新建环境装python, 尝试先安装对应的cudatoolkit、cudnn(这个可以conda search cudnn),再装适合的tensorflow。
流程2:
已知所需tensorflow的版本,查找对应的python版本,新建环境装py,再装对应版本的tensorflow、cuda、cudnn。
一般在python中安装tensorflow的gpu版本时,pip会检查tensorflow依赖的其他的包,如果依赖的包没有安装,则会先安装最新版本的依赖包。这时候tensorflow的gpu版本依赖cudatoolkit和cudnn程序包,pip就会安装最新版本的cudatoolkit和cudnn程序包,最终导致gpu驱动版本和cuda运行时版本不匹配。
从驱动和运行时的版本对应关系来看,版本为384.81的驱动程序 对应的 运行时版本是9.0,也就是说我们在python中安装cudatoolkit和cudnn程序包版本9.2是过高了。
因为系统中依赖GPU驱动的程序比较多,一般出现这种情况,我们都是更改cudatoolkit和cudnn程序包的版本。
于是,先卸载python中安装cudatoolkit和cudnn程序包:pip uninstall cudnn ; pip uninstall cudatoolkit
然后安装对应版本的cudatoolkit和cudnn程序包:pip install cudatoolkit=9.0;pip install cudnn
注:不要自行安装CUDA和cuDNN,最简单有效的方法是通过Anaconda安装Tensorflow,让它自动安装正确的依赖
这个安装天时地利人和,必须各版本适配。非常建议!!网上查找自己显卡成功过的适配模式!!!下面分享一些安装成功的环境。愿大家都能成功!!!
cuda安装有anaconda管理,不直接安装于系统中!!如果你使用了anaconda,那么其实cuda套件安装过程十分简单。
在官方文档中介绍了在Anaconda中安装TensorFlow有两种方法,一种是使用conda安装,另一种是使用pip安装。在实际操作时发现由于网络原因,稍大一点的安装包就会长时间卡住无响应。可以考虑将需要的安装包下载后以local模式进行安装,在操作中发现pip安装可下载的资源比较多,而conda安装资源比较难找,所以采用pip的方式进行安装。
在conda安装时,可以看到TensorFlow需要依赖的package及版本如下:
请问大神们,pip install 和conda install有什么区别吗? - HexUp的回答 - 知乎
请问大神们,pip install 和conda install有什么区别吗? - PP鲁的回答 - 知乎
问题描述:我使用 Anaconda ,并且可以通过conda install
获得这些软件包是相当广泛的.但是,有时候我确实需要安装conda存储库中不可用的软件包,因此请从pypi 取而代之. 运行命令conda update --all
时,conda还会更新这些pypi软件包吗?还是我必须单独更新它们? conda文档似乎没有答案. 这个问题和答案似乎表明没有, conda不管理pypi软件包,但我仍然不确定.
推荐答案:否,conda update
和conda install
不会更新随pip
安装的软件包(或使用pip
安装的软件包).
这些conda
命令仅检查您的默认" anaconda-通道或使用-c
指定的通道,它们会忽略其他所有内容. conda list
是一个例外,它还显示了随pip
安装的软件包,这些软件包被标记为
,并且不会被更新.
不止是tensorflow,在anaconda环境中安装其他包时,也有conda install和pip install两种方式,要根据需求选择合适的方式。安装相同的包时,一种方式不行,可以试试另一种。在anaconda环境中安装cuda和cudaa时,好像只有conda install一种方式。
在pip安装模式下,根据安装过程的提升,将对应版本的安装文件从本文最末的Python安装包下载地址中下载到本地。比如在此次安装过程中,参考链接作者手动下载了几个比较大的安装文件,如下所示。我认为有些麻烦了,网不好可以多等一会,也可以使用国内源,并且我安装的时候网还可以。
pip install numpy-1.11.2-cp27-cp27mu-manylinux1_x86_64.whl
pip install protobuf-3.0.0-py2.py3-none-any.whl
pip install tensorflow-0.11.0rc0-cp27-none-linux_x86_64.whl
Pytorch的安装需要在其官网上下载whl文件。但非常不幸的是,pytorch.org 需要,所以我将安装包下载下来,有需要的可以取用。
https://pan.baidu.com/s/1dfn2QgxZ3v17sdnz4vr1NA
在pytorch文件路径下输入
pip install torch-0.4.0-cp36-cp36m-linux_x86_64.whl
pip install torchvision
操作实例:通过tensorflow cuda和cudnn的安装,介绍conda install和pip install两种安装方式
搜索Tensorflow:
安装之前可以搜索都有什么版本,是否有自己所需要的匹配版本:
conda search tensorflow-gpu
或 pip search tensorflow-gpu
pip search 无法正常工作,因为官网暂时关掉了这个功能,可以直接去官网搜索合适版本
linux ubuntu pip search报错 Fault: <Fault -32500: “RuntimeError: PyPI‘s XMLRPC API is currently disab_Hello Word!-CSDN博客
安装tensorflow
conda install tensorflow-gpu #默认最新版本 当前为cuda 11.0
or
conda install tensorflow-gpu==1.14.0
pip install tensorflow-gpu==1.15.0
pip install --ignore-installed --upgrade https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-1.2.0-cp35-cp35m-linux_x86_64.whl
如果找不到合适的源,就指定合适的网址或者将conda换成pip
搜索keras版本:
conda search keras-gpu
或 pip search keras-gpu
安装keras:
conda install keras-gpu==版本号
conda install keras==版本号
安装cudatoolkit
conda install -c anaconda cudatoolkit #-c代表--channel。 它用于指定搜索包的频道 默认最新版本
or
conda install cudatoolkit=10.0 # 若需指定版本
安装cudnn
conda install -c anaconda cudnn #若上步指定了版本,这里将做自动匹配~
conda install cudnn = 7.3.1
conda install -c spyder-ide spyder=3.0.0 加一个-c表示从http://anaconda.org下载资源包
有些包在conda默认的channels中不包含,比如cudatoolkit-8.0,cudnn等,这时只需要在conda install指令后加上-c anaconda即可。比如要下载cudatoolkit-8.0,在只需要输入
conda install -c anaconda cudatoolkit=8.0
conda install -c anaconda - Runtime69 - 博客园
conda install临时用国内源
conda install cudatoolkit=9.0 -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/linux-64/
conda install cudnn=7.1.4 -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/linux-64/
#-c代表--channel
并不是所有软件包都能直接安装,有一些需要指定安装源,例如做AI中经常会用到的OpenCV便是无法直接安装的,需要指定安装源,命令如下:(或者只用pip安装)
conda install --channel https://conda.anaconda.org/menpo opencv3
各人建议安装这两个深度学习框架时,选择conda方法安装,可将相关联的软件包同时安装。pip安装通常时在有特殊需求不需要关联包时。安装opencv时可以使用pip方法安装。
利用pip安装时,通常官网会相对慢一些,可以选择国内的一些镜像,比如:
清华镜像:https://pypi.tuna.tsinghua.edu.cn/simple
阿里镜像:https://mirrors.aliyun.com/pypi/simple
豆瓣镜像:https://pypi.douban.com/simple
中国科技大学镜像:https://pypi.mirrors.ustc.edu.cn/simple
可根据以下为例应用:
pip install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple
或 pip install opencv-python==3.4.0 -i https://pypi.tuna.tsinghua.edu.cn/simple
删除整个环境:
conda remove -n 环境名称 --all
删除环境中的某个包:
conda remove --name 环境名称 包名称
如果出现安装不成功的情况,需要把相应已存在的tensorflow文件夹删除:
cd /home/amax/anaconda3/envs/
rm -r tensorflow/
ls #查看tensorflow文件夹是否删除exit。如果已删除成功,floww再次运rm行创建tensorflow环境命令即可。
看版本对照表时发现Bazel的对应,不知道是什么,是否下载
Bazel是谷歌开源编译工具,不用下载,进行tensorflow源码安装时才需要下载。
如何评价谷歌开源的Bazel编译工具? - MKP的回答 - 知乎
bazel 安装与手动安装tensorflow - 知乎
虚拟环境中cuda版本与系统cuda版本不同有什么影响_bloomerOAO的博客-CSDN博客_cuda版本不同会影响模型结果
不踩坑:Ubuntu下安装TensorFlow的最简单方法(无需手动安装CUDA和cuDNN) - 知乎
conda虚拟环境中安装cuda和cudnn,再也不用头疼版本号的问题了_何飞飞的博客-CSDN博客_conda cudnn版本
在anaconda环境中使用conda命令安装cuda、cudnn、tensorflow(-gpu)、pytorch_LIWEI940638093的博客-CSDN博客_conda安装cudatoolkit
在anaconda环境中使用conda命令安装cuda、cudnn、tensorflow(-gpu)、pytorch_hellopbc-CSDN博客_conda安装cuda
还在系统中安装CUDA?Anaconda虚拟环境中安装CUDA配合Tensorflow-gpu-多版本 - 简书
Ubuntu16.04 Anaconda创建虚拟环境Tensorflow+keras+opencv_wuhongwuyan的博客-CSDN博客
7.Ubuntu16.04安装Anaconda、TensorFlow教程_xjtuse123的博客-CSDN博客_ubuntu中anaconda安装tensorflow