安装tensorflow-gpu 1.12.0

目录


项目场景:

现在需要在NVIDIA RTX3090显卡上运行一个tensorflow 1.x的程序,具体配置如下:

安装tensorflow-gpu 1.12.0

版本选择越新越好,因此选择安装tensorflow-gpu 1.12.0。在安装的过程中,陆续会碰到三个问题,我将在下面依次列出并给予解答。

问题描述1

CUDA版本不匹配,需要重新安装

在安装tensorflow-gpu 1.12.0之前,需要查看该版本的tensorflow所需搭配的CUDA 和cuDNN版本如下:

安装tensorflow-gpu 1.12.0

使用nvidia-smi命令查看当前CUDA版本为11.2:

安装tensorflow-gpu 1.12.0

因此需要在非root条件下,为当前用户额外安装CUDA 9.0和对应的cuDNN 7.1,否则tensorflow 1.12.0根本无法使用。例如,在python交互式命令行中引入tensorflow如下:

import tensorflow

会得到以下报错信息:

安装tensorflow-gpu 1.12.0

这就提示我们需要在CUDA 9.0的环境下才能正常使用tensorflow-gpu 1.12.0。

解决方案1:

额外安装其他版本的CUDA,并实现版本自由切换。

强烈推荐这篇博客:

非root用户在linux下安装多个版本的CUDA和cuDNN(cuda 8、cuda 10.1 等)_随性拂尘倾心的博客-CSDN博客按照他的步骤去做就能很顺利地在多个CUDA版本间自由切换了。

问题描述2:

按照上述博客安装其他版本的CUDA和cuDNN时,在最后的文件配置阶段会遇到两个问题:

1. cuDNN包解压后的cudnn.h文件无法复制到目标文件夹中

安装tensorflow-gpu 1.12.0

在执行第一句话时,系统会提示权限不够(Permission Denied)。

2. 如何查看是否会到最初版本的CUDA

        正如作者所述,想要在多个版本的CUDA之间自由切换,只需每次修改bashrc文件并重新读取配置文件即可,再用nvcc -V指令就能看到CUDA版本在不断变化。但是,这种方式只能看到CUDA版本在额外安装的CUDA之间来回变化,当我们将先前添加的所有export语句都注释并使用source .bashrc重新读取配置文件以后,再使用nvcc -V查看,会发现此时显示的CUDA版本仍然是最后一次选择的CUDA版本,并非原始的CUDA 11.2。

解决方案2:

1. cudnn.h无法复制

安装tensorflow-gpu 1.12.0

        在目标文件夹下同样可以找到一个cudnn.h文件, 该文件是只读文件,因此无法复制替换。此时先将该文件手动删除,再将源文件夹下的cudnn.h文件复制过来即可。

2. 回到最初版本的CUDA

 此时需要将当前窗口关闭后重新打开,再使用nvcc -V命令会得到以下信息:安装tensorflow-gpu 1.12.0

这个时候反而证明CUDA版本回到11.2了。我们还可以进一步做如下尝试进行验证:

在python交互式界面中输入以下语句:

import tensorflow

会得到报错信息:

安装tensorflow-gpu 1.12.0

提示我们需要在CUDA 9.0环境下使用tensorflow,恰好证明我们现在回到了最初的CUDA 11.2 。当然,这种验证方法需要在安装tensorflow之后才能使用。

问题描述3:

tensorflow-gpu 1.12.0安装不断出现意外

我们尝试使用pip命令自动安装tensorflow-gpu 1.12.0。我们使用如下命令进行安装:

python -m pip --default-timeout=6000 install --upgrade -i https://pypi.tuna.tsinghua.edu.cn/simple tensorflow-gpu==1.12.0 --no-cache-dir

但是仍然不能避免出现版本问题,如:

[ERROR] THESE PACKAGES DO NOT MATCH THE HASHES FROM THE REQUIREMENTS FILE

并且,清华镜像源下载速度十分慢;中科大镜像源虽然速度很快,但在安装好tensorflow,并在接下来安装其他附加组件时,会出现找不到匹配包的问题;其他镜像源(如阿里、豆瓣、中科院)更是直接找不到tensorflow-gpu 1.12.0版本的安装包。

解决方案3:

直接在本地下载tensorflow-gpu 1.12.0的安装包,上传到服务器后使用pip进行安装。

1. 方式一(更推荐方式二,下载速度翻倍)

安装包可以在pypi的官网上进行下载:tensorflow-gpu · PyPI

首先选择目标版本:

安装tensorflow-gpu 1.12.0

选择下载文件:

安装tensorflow-gpu 1.12.0

选择对应python3.6版本的安装包:

安装tensorflow-gpu 1.12.0

 2. 方式二

安装包可以在阿里云镜像源中进行下载:Links for tensorflow-gpu。在Pypi中下载速度以KB/s为单位,而在镜像源中下载以MB/s为单位。

选择目标安装包下载:

安装tensorflow-gpu 1.12.0

 下载到本地后,上传到服务器中:

安装tensorflow-gpu 1.12.0

再使用pip命令进行安装:

pip install tensorflow_gpu-1.12.0-cp36-cp36m-manylinux1_x86_64.whl

最终测试

  1.  将CUDA版本切换成CUDA 9.0。
  2. 在python交互界面中输入:
import tensorflow as tf 

sess = tf.Session() 
a = tf.constant(1) 
b = tf.constant(1) 
print(sess.run(a+b)) 

 参考:测试TensorFlow 是否安装成功_zqx951102的博客-CSDN博客_测试tensorflow是否安装成功

 得到输出结果为:

安装tensorflow-gpu 1.12.0

即表明安装成功 。

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
青葱年少的头像青葱年少普通用户
上一篇 2023年2月26日 下午12:02
下一篇 2023年2月26日 下午12:04

相关推荐