Tensorflow安装详解与样例Demo演示

在使用Tensorflow进行机器学习之前, 我们需要在自己的机器上先安装相关的软件。我们可以安照Tensorflow官方网站上提供的步骤,一步一步的进行安装。官网上会提供多种环境下的部署方法,包括:Linux, Windows,MacOS和Docker容器等等。一般建议在容器或者Virtualenv这样的虚拟环境下进行Tensorflow的安装以及与此配套的一些第三方软件的集成。比较好的一种方式是对于生产环境可以采用Docker这类的容器进行Tensorflow的部署,而对于开发环境可以采用Conda的依赖环境进行安装。 这样可以保证不同版本之间的强依赖关系,避免依赖导致的不必要的冲突发生。

这篇文章将一步一步的带大家在Conda的依赖环境下安装Tensorflow和其周边的第三方插件, 并且演示一个使用Tensorflow的小示例。接下来,我在Windows设备上操作整个过程。

1. Minconda安装

Minconda和Conda的区别在于Minconda其实就是Conda的一个子集,是Conda的一个简化安装版:

如果您选择Anaconda,可能:
是conda或Python的新手,喜欢一次性安装Python和150多个科学软件包。
有时间和磁盘空间-可能需要几分钟和300MB的磁盘空间。
不想单独安装要使用的每个软件包。

如果您选择Miniconda,可能:
不介意安装要单独使用的每个软件包。
没有时间或磁盘空间来一次安装150个以上的软件包。
希望快速访问Python和conda命令,并且希望以后再整理其他程序。

这里提供Miniconda安装软件的下载地址, 请依据自己的喜好和机器环境酌情选择。如果你下直接安装完整的Conda软件,也可以在这个链接下载
详细的操作文档请参见:Conda文档

1.1. 管理Conda

  • 通查看Conda的版本验证Conda是否安装:

    1
    C:\Users\44355> conda --version

    或者

    1
    C:\Users\44355> conda -V

    Conda会返回版本号,例如:conda 4.8.0。

  • 查看更详细的Conda信息:

    1
    C:\Users\44355> conda info

    Conda返回更多的安装信息,包括安装路径、Conda版本、Python版本、基础环境路径、包缓存路径等。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
        active environment : base
    active env location : D:\software\Miniconda3
    shell level : 1
    user config file : C:\Users\44355\.condarc
    populated config files : C:\Users\44355\.condarc
    conda version : 4.8.0
    conda-build version : not installed
    python version : 3.7.3.final.0
    virtual packages :
    base environment : D:\software\Miniconda3 (writable)
    channel URLs : https://repo.anaconda.com/pkgs/main/win-64
    https://repo.anaconda.com/pkgs/main/noarch
    https://repo.anaconda.com/pkgs/r/win-64
    https://repo.anaconda.com/pkgs/r/noarch
    https://repo.anaconda.com/pkgs/msys2/win-64
    https://repo.anaconda.com/pkgs/msys2/noarch
    package cache : D:\software\Miniconda3\pkgs
    C:\Users\44355\.conda\pkgs
    C:\Users\44355\AppData\Local\conda\conda\pkgs
    envs directories : D:\software\Miniconda3\envs
    C:\Users\44355\.conda\envs
    C:\Users\44355\AppData\Local\conda\conda\envs
    platform : win-64
    user-agent : conda/4.8.0 requests/2.22.0 CPython/3.7.3 Windows/10 Windows/10.0.17763
    administrator : False
    netrc file : None
    offline mode : False
  • 更新Conda到最新版本:

    1
    C:\Users\44355> conda update conda

    更多参考:Conda Management

1.2. Conda的环境管理

  • 命令行创建一个新环境

    1
    C:\Users\44355> conda create --name tensorflow-env
  • 命令行激活指定环境

    1
    C:\Users\44355> conda activate tensorflow-env

    激活环境后所有的操作会在当前激活的环境下进行。

  • 命令行停用当前环境

    1
    (tensorflow-env) C:\Users\44355> conda deactivate

    更多参考:Conda Environment Management

2. 在tensorflow-env环境下进行Python安装

  • 当我们在Conda中激活tensorflow-env环境,则出现如下提示:
    1
    (tensorflow-env) C:\Users\44355>
    此时表明当前已经进入tensorflow-env环境。
  • 由于在安装Conda的时候其自身内嵌安装了相应的Python版本,因此我们无需再额外安装Python,就可以直接在tensorflow-env环境中安装Tensorflow。
    首先查看Tensorflow各个版本:
    1
    (tensorflow-env) C:\Users\44355> conda search tensorflow
    或者
    1
    (tensorflow-env) C:\Users\44355> conda search tensorflow-gpu
    选择一个安装版本进行安装:
    1
    (tensorflow-env) C:\Users\44355> conda install tensorflow=1.8.0
    或者直接安装最新版本的Tensorflow:
    1
    (tensorflow-env) C:\Users\44355> conda install tensorflow
  • 安装完成后验证Tensorflow是否安装成功:
    1
    2
    3
    4
    (tensorflow-env) C:\Users\44355> python
    >>> import tensorflow as tf #不报错即安装成功
    >>> exit()
    (tensorflow-env) C:\Users\44355> conda deactivate
    更多参考:Tensorflow官方安装

3. 在tensorflow-env环境下安装常用的第三方软件

3.1. 安装Jupyter

  • Jupyter是一款为了开发跨多种编程语言的交互式计算的开源软件,它提供开放的标准和服务。
    JupyterLab是用于Jupyter笔记本,代码和数据的基于Web的交互式开发环境。 JupyterLab非常灵活:配置和安排用户界面以支持数据科学,科学计算和机器学习中的各种工作流程。 JupyterLab是可扩展的和模块化的:编写可添加新组件并与现有组件集成的插件。接下来我们通过pip命令来安装JupyterLab。

    1
    (tensorflow-env) C:\Users\44355> pip install jupyterlab

    更多参考:Jupyter官方安装

  • Jupyter Notebook是Jupyter中的一个开源Web应用程序,允许您创建和共享包含实时代码,方程式,可视化效果和叙述文本的文档。用途包括:数据清理和转换,数值模拟,统计建模,数据可视化,机器学习等。我们可以通过命令来启动Jupyter Notebook服务。

    1
    (tensorflow-env) C:\Users\44355> jupyter notebook

    终端上会打印如下启动信息:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    [I 10:20:26.155 NotebookApp] Serving notebooks from local directory: C:\Users\44355
    [I 10:20:26.160 NotebookApp] The Jupyter Notebook is running at:
    [I 10:20:26.161 NotebookApp] http://localhost:8888/?token=00f06b6e31b020740277e2d20eef416da634cc55d6f6a2ba
    [I 10:20:26.162 NotebookApp] or http://127.0.0.1:8888/?token=00f06b6e31b020740277e2d20eef416da634cc55d6f6a2ba
    [I 10:20:26.162 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
    [C 10:20:26.406 NotebookApp]

    To access the notebook, open this file in a browser:
    file:///C:/Users/44355/AppData/Roaming/jupyter/runtime/nbserver-138920-open.html
    Or copy and paste one of these URLs:
    http://localhost:8888/?token=00f06b6e31b020740277e2d20eef416da634cc55d6f6a2ba
    or http://127.0.0.1:8888/?token=00f06b6e31b020740277e2d20eef416da634cc55d6f6a2ba

    接下来会自动打开浏览器进入Jupyter Notebook操作界面:

    更多参考:Jupyter官方文档

3.2. 安装Matplotlib

Matplotlib是一个Python 2D绘图库,它以多种硬拷贝格式和跨平台的交互式环境生成出版物质量的图形。 Matplotlib可用于Python脚本,Python和IPython Shell,Jupyter Notebook,Web应用程序服务器和四个图形用户界面工具包。
接下来我们通过Python来安装Matplotlib插件:

1
2
(tensorflow-env) C:\Users\44355> python -m pip install -U pip
(tensorflow-env) C:\Users\44355> python -m pip install -U matplotlib

更多参考:Matplotlib官方安装
现在我们只需几行代码就可以生成图表,直方图,功率谱,条形图,误差图,散点图等。

4. 示例代码演示TensorFlow, Jupyter Notebook, and Matplotlib的使用

接下来,我们在Jupyter Notebook界面中写一段很简单的演示代码。
首先我们在Jupyter Notebook操作界面的右上角单击 new 按钮,然后选择Python版本,这边选择的是安装Conda时自带的Python3.

进入代码操作界面后,可以把默认代码文件名Untitled修改成自己定义的名字,这里修改成“My First Notebook”。

然后我们在代码块区域输入如下示例代码:

1
2
3
4
5
6
7
8
9
10
11
import tensorflow as tf
import numpy as np
import matplotlib.pyplot as plt

%matplotlib inline
a = tf.random_normal([2,20])
sess = tf.Session()
out = sess.run(a)
x, y = out
plt.scatter(x, y)
plt.show()

代码中tf.random_normal()函数用于从服从指定正太分布的数值中取出指定个数的值。 shape=[2,20]是输出张量的形状,一个2行20列的矩阵。然后tensorflow运行计算后的输出按行分别传给x和y两个变量。最后以Matplotlib的scatter散点图的方式图形化展示,其中x代表横轴值,y代表纵轴值。
代码可以分成多个代码块,代码块可以通过左上角 + 号增加,最终完成界面如下:

完成Python示例代码后,可以点击 Run 按钮逐步执行代码块,这里代码调用tensorflow正太分布算法,最终结果会使用Matplotlib去直观的展示20个点的随机正太分布情况。

4. 结语

至此整个Tensorflow的安装详解和示例代码演示到此结束,如果需要了解更多的相关细节,请阅读本文中提供的更多的官方链接。如有疑问欢迎大家留言!欢迎来踩留印!