前言
运行环境
- Windows 10
网上看了很多博客,浪费了我很多时间,其中有很多介绍通过 Anaconda 安装 Tensorflow 的教程,他们的方法有很多都有很大问题!
错误的安装姿势
大家不要这样安装,因为你有可能遇到各种各样的问题和错误,正确的方法相当简单!下面展示错误的方法:
01. 安装 Anaconda(这一步没问题)
从官方网站下载和安装 Anaconda 即可,这里不过多解释
02. 创建 Tensorflow 运行环境(这里就开始有问题了)
打开 Anaconda Prompt 执行
(base) > conda create -n tensorflow python=3.6
这一步仅仅是添加并装好了一个支持 python3.6 的名为 tensorflow 的运行环境,而他们下一步的做法是通过 pip 来安装 tensorflow 软件包
03. 安装 Tensorflow
(base) > conda activate tensorflow
(tensorflow) > pip install --upgrade --ignore-installed --index-url https://mirrors.aliyun.com/pypi/simple/ tensorflow-gpu
这样一套做下来你可能可以安装好 tensorflow,但很多情况下,你在测试的时候会遇到各种各样的问题(你可能在 import tensorflow 就会出错),实际上你通过 Anaconda 安装并不需要那么复杂
正确的安装姿势
建议大家安装的时候在官方上查询相关教程,网上有很多过时或者错误的博客,很容易误导大家(包括我这篇说不定也是)
下面介绍我在 2019/3/22 安装时,官方给出的安装办法:https://www.anaconda.com/tensorflow-in-anaconda/
Tensorflow 普通版本
打开 Anaconda Prompt 执行
(base) > conda create -n tensorflow_env tensorflow
(base) > conda activate tensorflow_env #这一步是进入你上一步创建的环境
(tensorflow_env) >
没错就这么简单,如果想退出当前 tensorflow_env 环境,执行
(tensorflow_env) > conda deactivate
如果你下载太慢,可以添加以下镜像源
(base) > conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
(base) > conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
(base) > conda config --set show_channel_urls yes
GPU 支持
Tensorflow GPU 版本,执行的命令与前面不同,打开 Anaconda Prompt 执行
(base) > conda create -n tensorflow_gpuenv tensorflow-gpu
(base) > conda activate tensorflow_gpuenv
(tensorflow_gpuenv) >
另外就是,通过 Anaconda 安装(使用上面的命令)Tensorflow GPU 版本,不需要你再单独安装并配置 CUDA 与 cuDNN SDK,前面的官网有提到
When installing TensorFlow using pip, the CUDA and CuDNN libraries needed for GPU support must be installed separately, adding a burden on getting started. When the GPU accelerated version of TensorFlow is installed using conda, by the command “conda install tensorflow-gpu”, these libraries are installed automatically, with versions known to be compatible with the tensorflow-gpu package.
测试
以普通版本为例,打开 Anaconda Prompt 执行
(base) > conda activate tensorflow_env
(tensorflow_env) > python
>>> import tensorflow as tf
>>> hello = tf.constant('Hello, TensorFlow!') #初始化一个TensorFlow的常量
>>> sess = tf.Session() #启动一个会话
>>> print(sess.run(hello))
如果正确会得到如下反馈
...
...
...
b'hello, TensorFlow!'
>>> exit() #退出


被折叠的 条评论
为什么被折叠?



