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

1.TensorFlow介绍

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

图片名称

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!')

创建会话(Session 是 Tensorflow 为了控制,和输出文件的执行的语句. 运行 session.run() 可以获得你要得知的运算结果, 或者是你所要运算的部分.)

sess = tf.Session()

运行,并输出

print(sess.run(hello))

输出结果:

b'Hello, TensorFlow!'
图片名称

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为加操作,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.

  • 4
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
TensorFlow 是一个由 Google 开发的开源机器学习框架,可以用于构建和训练各种机器学习模型,包括神经网络。 以下是使用 TensorFlow 入门的步骤: 1. 安装 TensorFlow:可以使用 pip 安装 TensorFlow,命令为 pip install tensorflow。 2. 导入 TensorFlow:在 Python 代码中导入 TensorFlow,命令为 import tensorflow as tf。 3. 定义计算图:使用 TensorFlow 定义计算图,即定义输入、模型和输出。 4. 训练模型:使用 TensorFlow 训练模型,即提供输入数据和期望输出数据,通过梯度下降算法更新模型参数。 5. 评估模型:使用 TensorFlow 评估模型,即提供测试数据,计算模型的准确率或其他指标。 以下是一个使用 TensorFlow 实现线性回归的示例代码: ``` import tensorflow as tf # 定义输入数据和期望输出数据 x = tf.placeholder(tf.float32, [None, 1]) y_ = tf.placeholder(tf.float32, [None, 1]) # 定义模型 w = tf.Variable(tf.zeros([1, 1])) b = tf.Variable(tf.zeros([1])) y = tf.matmul(x, w) + b # 定义损失函数 loss = tf.reduce_mean(tf.square(y - y_)) # 定义优化器 train_step = tf.train.GradientDescentOptimizer(0.01).minimize(loss) # 训练模型 sess = tf.Session() sess.run(tf.global_variables_initializer()) for i in range(1000): batch_xs, batch_ys = generate_batch() sess.run(train_step, feed_dict={x: batch_xs, y_: batch_ys}) # 评估模型 test_xs, test_ys = generate_test_data() print(sess.run(loss, feed_dict={x: test_xs, y_: test_ys})) ``` 在以上代码中,placeholder 是 TensorFlow 中的占位符,用于表示输入数据和期望输出数据。Variable 是 TensorFlow 中的变量,用于表示模型参数。reduce_mean 和 square 是 TensorFlow 中的函数,用于计算损失函数。GradientDescentOptimizer 是 TensorFlow 中的优化器,用于更新模型参数。sess.run 是 TensorFlow 中的函数,用于执行计算图中的节点。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值