在python3.8和pytorch1.8.1的基础上安装tensorflow

以往看的模型都是用pytorch跑就行,但是看到的一个创新点是用tensorflow跑的,迫于无奈,如果想要融入进去就得安装TensorFlow...

  1. 根据官网的指示,使用 tensorflow2 的 python 版本应当大于 3.5
  2. 如果使用 python 3.8,那么 Tensorflow 版本要大于 2.2

最大的感悟是,正确是安装思路应该是:

  1. 了解阶段:设备情况----> 能接受的最大cuda/cudnn版本---->pytorch/tensorflow版本。
  2. 版本选择阶段:先确定好想安装的pytorch/tensorflow版本---->确定其他配件的版本
  3. 最后再从底层文件依次安装。

每次根据电脑性能选择了,接受范围内最适配的底层包进行安装,最后都会发现,我想要安装的最终文件要求更高。又是苟且安装成功的一天...

一、下载cudnn

一定要选好恰当的版本。

版本选择可以参考:tensorflow与cuda版本对应

下载网址:https://developer.nvidia.com/rdp/cudnn-archive(需要注册 NVIDIA 开发者账号并加入开发者计划(免费))

二、 解压+移动

解压结果如下:

1.打开cuda的安装目录(我的版本是11.1):C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1

2.将解压出来的三个文件夹 复制到cuda

此处利用管理者权限选择**"替换"**

三、安装tensorflow-gpu==2.4.0

python 复制代码
pip install tensorflow-gpu==2.4.0 -i https://mirrors.aliyun.com/pypi/simple  # 阿里云镜像

需要注意的是,一定要写tensorflow-gpu==2.4.0 而不是 "tensorflow==2.4.0"

四、验证

接下来验证tensorflow是否安装成功。

python 复制代码
python # 输入python进入代码编写界面

import tensorflow as tf  # 导入库
tf.__version__  # 查看版本号

最后测试GPU情况

python 复制代码
tf.test.is_gpu_available()

然鹅没成功,返回"False"了。

解决办法参考:TensorFlow2.4 GPU版安装教程

观察发现报错原因:缺少了某些 CUDA 库文件(尤其是 cusolver64_10.dll)

打开cuda安装目录下的bin文件,即C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1\bin。

将**"cusolver64_11.dll" 文件复制重命名为 cusolver64_10.dll**即可

再次运行测试代码,返回True。

小插曲:

tensorflow安装成功了,但是numpy和pandas、matplotlib之间的版本依赖关系出现了错误。

模拟一下安装过程检查版本依赖,

python 复制代码
pip install --dry-run matplotlib==3.3.4 pandas==1.2.5 multidict==5.2.0  # 模拟一下安装过程检查版本依赖

没有报错就直接安装了。


安装pydoe,直接安装即可

python 复制代码
pip install pyDOE -i https://mirrors.aliyun.com/pypi/simple

参考博客

1.Anaconda同时安装PyTorch和TensorFlow2.x版本教程(Windows + GPU/CUDA)

2.windows10下CUDA11.1、CUDNN11.1、tensorflow-gpu 2.4.1和torch安装教程

  1. win 10 下安装深度学习环境(tensorflow + pytorch, CUDA + CUDNN)