0x00 TensorFlow环境搭建
本教程引用 https://www.tensorflow.org/install/install_windows
- 仅支持CPU。如果您的系统没有 NVIDIA® GPU,则必须安装此版本。请注意,此版本的 TensorFlow 通常更容易安装(用时通常在 5 或 10 分钟内),所以即使您拥有 NVIDIA GPU,我们也建议先安装此版本。预编译的二进制文件将使用 AVX 指令。
- 支持GPU。TensorFlow 程序在 GPU 上的运行速度通常要比在 CPU 上快得多。因此,如果您的系统配有满足以下所示先决条件的 NVIDIA® GPU,并且您需要运行性能至关重要的应用,则最终应安装此版本。
GPU版本环境搭建
GPU版本要求使用NVIDIA GPU卡,并且CUDA计算能力在3.0及以上。CUDA 计算能力为3.0或更高的卡需要从源码编译安装TensorFlow 。计算能力为3.5或更高的卡可以使用编译好的二进制文件安装TensorFlow (使用pip安装.whl)。
当前为TensorFlow-gpu 1.11.0的环境要求,必须按照要求的版本安装,若版本高于或低于要求都有可能出现错误。
- CUDA Toolkit 9.0
- cuDNN v7.0 下载完后解压,将内部的三个文件夹复制到CUDA Toolkit 的安装目录下
注意:cuDNN 版本必须完全匹配:如果无法找到 cuDNN64_7.dll
,TensorFlow 就不会加载。要使用不同版本的 cuDNN,必须从源代码构建。
0x01 TensorFlow安装
使用pip安装
支持的python版本:3.5 3.6
CPU版本安装:
pip3 install tensorflow
GPU版本安装:
pip3 install tensorflow-gpu
使用Anaconda安装
通过调用以下命令创建名为
tensorflow
的 conda 环境:C:> conda create -n tensorflow pip python=3.5
通过发出以下命令激活 conda 环境:
C:> activate tensorflow (tensorflow)C:> # Your prompt should change
发出相应命令以在 conda 环境中安装 TensorFlow。要安装仅支持 CPU 的 TensorFlow 版本,请输入以下命令:
(tensorflow)C:> pip install --ignore-installed --upgrade tensorflow
要安装 GPU 版本的 TensorFlow,请输入以下命令(在同一行):
(tensorflow)C:> pip install --ignore-installed --upgrade tensorflow-gpu
验证安装是否成功
进入Python环境
输入:
>>> import tensorflow as tf
>>> hello = tf.constant('Hello, TensorFlow!')
>>> sess = tf.Session()
>>> print(sess.run(hello))
若输出以下内容就说明安装成功:
Hello, TensorFlow!
如果系统输出一条错误消息而不是问候语,请参阅 常见的安装问题
常见的安装问题
我们借助 Stack Overflow 来记录 TensorFlow 安装问题及其补救措施。下表包含了 Stack Overflow 上一些常见安装问题解答的链接。如果您遇到了下表中未列出的错误消息或其他安装问题,请在 Stack Overflow 上进行搜索。如果 Stack Overflow 中没有显示相关错误消息,请在 Stack Overflow 上提一个新的问题,并指定 tensorflow
标签。
Stack Overflow 链接 | 错误消息 |
---|---|
41007279 | [...\stream_executor\dso_loader.cc] Couldn't open CUDA library nvcuda.dll |
41007279 | [...\stream_executor\cuda\cuda_dnn.cc] Unable to load cuDNN DSO |
42006320 | ImportError: Traceback (most recent call last): File "...\tensorflow\core\framework\graph_pb2.py", line 6, in from google.protobuf import descriptor as _descriptor ImportError: cannot import name 'descriptor' |
42011070 | No module named "pywrap_tensorflow" |
42217532 | OpKernel ('op: "BestSplits" device_type: "CPU"') for unknown op: BestSplits |
43134753 | The TensorFlow library wasn't compiled to use SSE instructions |
38896424 | Could not find a version that satisfies the requirement tensorflow |