注意:这里的源不仅有清华源,还有conda-forge的源,因此要想可以下载任意一个版本的Tensorflow,最好需要VPN,当然,如果没有也没事,清华源里面的版本也基本够用。下面为具体的实现过程。
本篇博客可以解决主环境中已经安装过cudnn,但与tensorflow版本不对应的问题,直接将cudnn下载安装在虚拟环境中。
一、开发环境
安装Tensorflow的开发环境:Anaconda+CUDA+cuDNN
二、安装过程
1、Anaconda的安装
直接参考我写的博客:
2、选择Tensorflow的版本
下图为Tensorflow官网中,windows版GPU版的Tensorflow版本与Python、cuDNN、CUDA的对应关系,在 Windows 环境中从源代码构建 | TensorFlow。选择你想安装的Tensorflow版本,这里我选择安装1.15.0的版本。那么相应的Python为3.5-3.7(我选择的是3.7),cuDNN为7.4,CUDA为10,因此,一会我必须在虚拟环境中安装对应的版本。
注意:由于清华源和conda-forge等源中,目前支持最高版本的Tensorflow为2.6.0,因此,2.6.0以上版本不能通过源来安装。
2.1 CUDA版本的确定
首先,搜索NVIDIA Control Panel(win+s进行搜索)。
然后打开并点页面左下角系统信息,找到组件里的NVCUDA64.DLL,发现CUDA驱动为11.6.106版本。那么就说明你之后安装CUDA的cudatoolkit的版本不能超过11.6.106。所以我这里安装CUDA的cudatoolkit版本就可以设置为11.6(或更低)。这是系统限制的,只能安比这低的。
2.2 配置Anaconda
win+r打开cmd
2.2.1 添加清华镜像源
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/
注意: 如果添加了镜像源无法下载tensorflow,建议删掉镜像源,再重新安装。
2.2.2 删掉镜像源
conda config --remove-key channels
2.3 创建conda虚拟环境
在cmd中分别输入下列命令:
2.3.1 创建虚拟环境
tf1.15.0是环境的名称,可以随便取,python=3.7说明虚拟环境的python版本是3.7。因此,Python已经被我们安好了,接下来就是CUDA和cuDNN
注意:创建虚拟环境的目的主要是不让虚拟环境与主环境产生冲突,比方说,你主环境已经安装了CUDA11.8,但Tensorflow并不需要那么高的版本,你想安一个CUDA11.2,若你安装在主环境中,就会产生版本冲突,因此,安装在虚拟环境中可以有效避免。
conda create --name tf1.15.0 python=3.7
2.3.2 激活虚拟环境
进入到我们创建的虚拟环境,之后的Tensorflow的安装就在这个虚拟环境中。
conda activate tf1.15.0
2.4 搜索Tensorflow、CUDA、cudnn的版本
在cmd中分别输入下列命令:
2.4.1 搜索Tensorflow的版本
conda search tensorflow-gpu
下面是清华源中搜索到的Tensorflow版本,基本上的版本都有,我想安装的1.15.0版本也有,因此可以用清华源安装Tensorflow的1.15.0版本。
conda search tensorflow-gpu -c conda-forge
下图是conda-forge源中搜索到的可用的Tensorflow版本,可以看到和清华源的一样。
2.4.2 搜索cuDNN的版本
conda search cudnn
下面是用清华源搜索的可用的CUDA的版本,可以发现,我们需要的cuDNN7.4版本并不存在,因此,我们只能从cuDNN官网上进行下载。
conda search cudnn -c conda-forge
再看conda-forge源,可以发现,cuDNN的版本变多了,且有清华源中不存在的8.0和8.1版本,但一样不存在7.4版本的cuDNN。
2.4.3 搜索CUDA的版本
conda search cudatoolkit
下面是用清华源搜索的可用的CUDA的版本,可以发现,我们需要的CUDA10版本是存在的,因此,可以用清华源进行下载。
conda search cudatoolkit -c conda-forge
再看conda-forge源,可以发现,CUDA的版本变多了,可选择的也就更多了。
3、CUDA、cuDNN、Tensorflow的安装
3.1 CUDA的安装
在cmd中输入下列命令之一:
conda install cudatoolkit=10.0.130
conda install cudatoolkit=10.0.130 -c conda-forge
注意:由于我们之前在清华源和conda-forge都能搜索到10.0版本的CUDA,因此,有VPN的,上面命令都可以输入,没有VPN的,就输清华源的命令即可。
3.2 cuDNN的安装
由于之前我们搜索的cudnn时,无论是清华源还是conda-forge源都没有7.4版本的cudnn,因此,我们需要从官网上进行下载,下面为下载的过程。
3.2.1 cuDNN的下载
打开官网进行下载:cuDNN Archive | NVIDIA Developer
找到7.4版本的cuDNN,注意cuDNN要与CUDA对应,因为我们在虚拟环境中安装了10.0.130的CUDA,因此,选择下图中的红框进行下载。在下载时需要注册登录,注册一个账号进行下载即可。
3.2.2 cuDNN的安装
将压缩包进行解压,存放到anaconda中的虚拟环境中,如下所示。
注意:我安装annaconda是默认路径,若你安装在其他路径,需要到你安装的路径进行寻找。
3.2.3 配置cuDNN的环境变量
在cmd中分别输入下列命令:
这里的路径为你刚才存放cudnn的位置
conda env config vars set LD_LIBRARY_PATH=C:\Users\86198\anaconda3\envs\tf1.15.0\Library\cuda\lib
conda env config vars set CUDNN_INCLUDE_DIR=C:\Users\86198\anaconda3\envs\tf1.15.0\Library\cuda\include
3.2.4 验证环境变量是否配置成功
在cmd中输入下列命令:
conda env config vars list
出现下图情况,说明安装成功。
3.2.5 查看cuDNN的版本
win+r输入powershell
在powershell分别输入下列命令:
注意:路径是你安装的路径,下面仅为示例。
conda activate tf1.15.0
cat C:\Users\86198\anaconda3\envs\tf1.15.0\Library\cuda\include\cudnn.h | findstr CUDNN_MAJOR
cat C:\Users\86198\anaconda3\envs\tf1.15.0\Library\cuda\include\cudnn.h | findstr CUDNN_MINOR
cat C:\Users\86198\anaconda3\envs\tf1.15.0\Library\cuda\include\cudnn.h | findstr CUDNN_PATCHLEVEL
可以看到cudnn为7.4.2的版本。
3.3 Tensorflow的安装
万事俱备,只欠安装。先来对下版本,Python安装的是3.7版本,CUDA安装的是10.0版本,cuDNN安装的7.4版本,只差安装Tensorflow-gpu=1.15.0的版本了。
在cmd中输入下列命令中的一个
conda install tensorflow-gpu==1.15.0
conda install tensorflow-gpu==1.15.0 -c conda-forge
注意:由于搜索Tensorflow版本,清华源和conda-forge一样,因此,两个命令都可以。有VPN的随便选一个,无VPN的,就选第一个即可。
3.4 验证Tensorflow是否安装成功
在cmd中分别输入下列命令:
python
import tensorflow as tf
tf.test.is_built_with_cuda()
如果显示为True,那么恭喜你,成功安装了1.15.0GPU的Tensorflow。
参考文章:
Tensorflow安装教程(完美安装gpu版本的tensorflow)(Windows,Conda,cuda,cudnn版本对应)-CSDN博客