TensorFlow由谷歌人工智能团队谷歌大脑(Google Brain)开发和维护,拥有包括TensorFlow Hub、TensorFlow Lite、TensorFlow Research Cloud在内的多个项目以及各类应用程序接口(Application Programming Interface, API),是一个适合所有人学习的开源的机器学习框架。

今天刚参加了谷歌开发者大会,了解到了目前TensorFlow用于很多科学实验,解决了很多社会问题,感触很深。所以决定更多了解下TensorFlow。

环境准备

  • 具备 Python 基础
  • 具备数学基础(如线性代数、微积分)
  • 对机器学习/深度学习的概念(如CNN、RNN、强化学习)稍有了解
  • 配置好 Python 和 TensorFlow 环境,配置好适合的 Python IDE(如PyCharm),环境配置方法请参考 https://tf.wiki/zh/installation.html (中文)或 https://tf.wiki/en/installation.html (英文)

查看python和tensorflow的版本号:

  • 用命令python -V 或者python3 -V查看版本号:
    lichaoqiang@lichaoqiangs-MacBook-Pro ~/project/python  python3 -V              
    Python 3.5.2
  • 查看tensoflow的版本号,可以用如下脚本
    #!/usr/local/bin/python3
    import tensorflow as tf
    print(tf.__version__)
    运行tensorflow-version.py脚本可以查看:
     lichaoqiang@lichaoqiangs-MacBook-Pro  ~/project/pythonpython3 tensorflow-version.py
    1.11.0

用TensorFlow解决实际问题案例

  • 具体问题描述

      某公司有四个工厂,分布在不同地区,同时三种产品,产量(单位;t), 试用矩阵统计这些数据。
    工厂/产品 P1 P2 P3
    5 2 4
    3 8 2
    6 0 4
    0 1 6


    其中四行分别表示甲乙丙丁四个工厂的生产情况,三列分布表示三种产品P1,P2,P3的产量。
    再设矩阵
    2 4
    1 3
    3 2
    其中第一列表示三种产品的单件利润,第二列表示三种产品的单件体积。

  • 用python实现使用tensorflow来计算,新建脚本tensorflow-demo05.py,代码如下:

#!/usr/local/bin/python3
import tensorflow as tf
tf.enable_eager_execution()

a = tf.constant([[5,2,4], [3, 8,2],[6,0,4],[0,1,6]])
b = tf.constant([[2,4],[1,3],[3,2]])
c = tf.matmul(a, b)
print(c)

  • 执行python脚本得到结果
    (venv)  ✘ lichaoqiang@lichaoqiangs-MacBook-Pro  ~/project/python  python3 tensorflow-demo05.py 
    2018-11-25 22:02:52.718706: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
    tf.Tensor(
    [[24 34]
    [20 40]
    [24 32]
    [19 15]], shape=(4, 2), dtype=int32)

    很简单的几行代码可以轻松计算出了四个工厂的利润(结果第一列)和这四个工厂产品需要的存储空间(结果第二列)。通过这个简单的例子可以看出,Tensorflow的很多计算模型很实用,而且也很容易上手,后面空了,我再试一试其他功能。