[AI教程]TensorFlow入门:Hello World与基本操作

文章目录

  • 1.TensorFlow介绍
  • 2.Hello World
  • 3.基本操作

1.TensorFlow介绍

TensorFlow™ 是一个采用数据流图(data flow graphs),用于数值计算的开源软件库。节点(Nodes)在图中表示数学操作,图中的线(edges)则表示在节点间相互联系的多维数据数组,即张量(tensor)。它灵活的架构让你可以在多种平台上展开计算,例如台式计算机中的一个或多个CPU(或GPU),服务器,移动设备等等。TensorFlow 最初由Google大脑小组(隶属于Google机器智能研究机构)的研究员和工程师们开发出来,用于机器学习和深度神经网络方面的研究,但这个系统的通用性使其也可广泛用于其他计算领域。

[AI教程]TensorFlow入门:Hello World与基本操作_第1张图片

TensorFlow使用数据流图表示运算操作。数据流图用“结点”(nodes)和“线”(edges)的有向图来描述数学计算。“节点” 一般用来表示施加的数学操作,但也可以表示数据输入(feed in)的起点/输出(push out)的终点,或者是读取/写入持久变量(persistent variable)的终点。“线”表示“节点”之间的输入/输出关系。这些数据“线”可以输运“size可动态调整”的多维数据数组,即“张量”(tensor)。张量从图中流过的直观图像是这个工具取名为“Tensorflow”的原因。一旦输入端的所有张量准备好,节点将被分配到各种计算设备完成异步并行地执行运算。

2.Hello World

按照推荐的教程,完成TensorFlow的安装。

TensorFlow-Windows的安装请参考: 安装教程.

第一部分内容:创建一个名为hello的常量,创建会话(session),运行会话并输出常量。

打开终端,输入命令激活TensorFlow环境:

activate tensorflow

输入python,并回车,如下图所示:

图片名称

首先,在python中导入TensorFlow:

import tensorflow as tf

定义一个常量hello

hello = tf.constant('Hello, TensorFlow!')

创建回话

sess = tf.Session()

运行,并输出

print(sess.run(hello))

输出结果:

b'Hello, TensorFlow!'
[AI教程]TensorFlow入门:Hello World与基本操作_第2张图片

3.基本操作

TensorFlow的几个概念:
① 图(Graph):用来表示计算任务,也就我们要做的一些操作。
②会话(Session):建立会话,此时会生成一张空图;在会话中添加节点和边,形成一张图,一个会话可以有多个图,通过执行这些图得到结果。如果把每个图看做一个车床,那会话就是一个车间,里面有若干个车床,用来把数据生产成结果。
③Tensor:用来表示数据,是我们的原料。
④ 变量(Variable):用来记录一些数据和状态,是我们的容器。
⑤ feed和fetch:可以为任意的操作(arbitrary operation) 赋值或者从其中获取数据。相当于一些铲子,可以操作数据。

形象的比喻是:把会话看做车间,图看做车床,里面用Tensor做原料,变量做容器,feed和fetch做铲子,把数据加工成我们的结果。

接下来,我们将实现标量的加、乘操作,向量的加、乘操作。

  • 标量的加、乘操作:
import tensorflow as tf
# 定义两个占位符a和b,将接收接下来要相加、乘的两个标量2,3
a = tf.placeholder(tf.int16)
b = tf.placeholder(tf.int16)
add = tf.add(a, b)
mul = tf.multiply(a, b)
# 启动计算图
# 其中 add为加操作,mul为乘操作,a和b接收数据,feed_dict将数据输入到计算图中
# sess.run 运行计算图
with tf.Session() as sess:
    print ("Addition with variables: %i" % sess.run(add, feed_dict={a: 2, b: 3}))
    print ("Multiplication with variables: %i" % sess.run(mul, feed_dict={a: 2, b: 3}))

输出(2加3和2乘3):

Addition with variables: 5
Multiplication with variables: 6
  • 向量的加、乘操作:
import tensorflow as tf
#定义两个矩阵常量
matrix1 = tf.constant([[3., 3.]])
matrix2 = tf.constant([[2.],[2.]])

#两个矩阵乘
product = tf.matmul(matrix1, matrix2)

#启动计算图
#sess.run 运行计算图
with tf.Session() as sess:
   result = sess.run(product)
   print result

输出两个矩阵的乘积:

[[ 12.]]

参考文献:
[1] TensorFlow Examples: github.
[2] 五分钟带你入门TensorFlow: link.
[3] TensorFlow 中文社区 link.

本文内容编辑:费东

你可能感兴趣的:([AI教程]TensorFlow入门:Hello World与基本操作)