今天又在继续折腾 TensorFlow 的安装,现在 2.0 版的 TF 大改,我拿到的教材都是基于 1.x 版本的,代码在 2.0 上跑总是有各种问题。而且 CUDA 等配置也有不少问题,总是出现异常。比如我跑个测试代码:
import tensorflow as tf
hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session()
print(sess.run(hello))
按照网上的教程改来改去都一堆异常:
AttributeError: module 'tensorflow' has no attribute 'Session'
RuntimeError: The Session graph is empty. Add operations to the graph before calling run().
不过在 TF2.0 版本中这样写就没问题:
import tensorflow as tf
tf.compat.v1.disable_eager_execution()
hello = tf.constant('Hello, TensorFlow!')
sess = tf.compat.v1.Session()
print(sess.run(hello))
不过 GPU 模式还是用不了(艹
搞得我烦死了,
所以还是决定乖乖安装旧版本吧。。这种东西最新的并不一定是最适合的。。
此文所有步骤都在科学上网环境下进行的,如果没有科学上网,可能下载一些包速度很慢甚至出现连接超时。可以尝试使用国内镜像下载。
版本对应关系
当在安装Tensorflow的时候,若我们直接使用以下指令:
pip install tensorflow-gpu
这样的话,安装的会是最新版的 tensorflow-gpu 版本。也就是 2.0 版本。而用 GPU 加速又还要装 CUDA、cuDNN,Tensorflow 不同版本要求与 CUDA 及 cuDNN 版本对应兼容。
如若不对应,则出现不兼容情况,会出现以下报错:
ImportError: DLL load failed: Failed to load the native TensorFlow runtime.
兼容情况可去这个链接查看
安装指定版本的Python
这个可以通过装指定版本的 Python 环境解决,我这里就装的 Python 3.6 。
我的前一篇博客说了怎么配置不同环境:
Anaconda 创建和管理不同 Python 环境以及 PyCharm 中不同环境的切换
安装指定版本 TensorFlow
我们可以对照表安装指定版本的 TensorFlow,比如我这里使用以下命令安装1.10版本:
pip install tensorflow-gpu==1.10.0
安装普通CPU版也是这个格式,不要后面的 gpu 就行。
注意是在配置好对应 Python 版本的环境中操作。
安装对应版本的 CUDA
从表中我们知道对应 v9.0 版本,我们去官网下载这个版本即可:
https://developer.nvidia.com/cuda-90-download-archive
这个装好之后还要配置环境变量,这里就不展开说了,网上教程很多。
安装对应版本的 cuDNN
同样是去官网下载对应的 v7 版本,下载这个需要注册并填写一个问卷。
https://developer.nvidia.com/rdp/cudnn-download
终于把所有都装好,跑个测试代码终!于!不!报!异!常!了!
泪牛满面