资讯专栏INFORMATION COLUMN

TensorFlow入门

LiuZh / 2508人阅读

摘要:例如实例代码中的输出结果为表示这个张量是计算节点输出的第一个结果标识张量的维度信息,说明了张量是一个一维数组,数组长度为标识张量的类型为浮点型。

本文主要参考《Tensorflow 实战Google深度学习框架》一书介绍TensorFlow的基本概念。
TensorFlow的Hello World示例程序如下:

#coding:utf8
#通过import操作加载TensorFlow:
import tensorflow as tf
#定义两个常量向量a b
a = tf.constant([1.0,2.0],name="a")
b = tf.constant([2.0,3.0],name="b")
#将两个向量加起来
result = a+b
#生成一个会话
sess = tf.Session()
#通过会话来计算结果
xxx = sess.run(result)
print(result)    #Tensor("add:0", shape=(2,), dtype=float32)
print(xxx)    #[ 3.  5.]
sess.close()
1.TensorFlow计算模型---计算图

计算图是TensorFlow中最基本的一个概念,TensorFlow中的所有计算都会被转化为计算图上的节点。
TensorFlow中的Tensor表示张量(多维数组),TensorFlow中的Flow表示张量之间通过计算流相互转换的过程。
TensorFlow的每一个计算都是图上的一个节点,节点之间的边描述了节点之间的依赖关系。
TensorFlow程序一般分为两个阶段:

定义计算图中的所有计算
比如上面的示例代码中先定义了两个输入,然后定义了一个计算来得到它们的和。
TensorFlow会自动将定义的计算转化为图上面的节点
TensorFlow支持通过tf.Graph函数生成新的计算图,不同计算图上的张量和运算不会共享。

执行阶段
使用TensorFlow中的会话session来执行定义好的运算。

会话拥有并管理TensorFlow程序运行时的所有资源
TensorFlow中使用会话的模式有两种:
(1)明确调用会话生成和关闭函数:sess = tf.Session() sess.run() sess.close()
(2)利用python的上下文管理机制,将所有的计算放在with中,with tf.Seesion() as sess:sess.run()
另外:在设定默认会话之后,可以通过Tensor.eval()函数计算张量的取值:sess = tf.Session() with sess.as_default():print(result.eval())
直接生成默认会话函数sess = tf.InteractiveSession() sess即为默认会话函数

张量

在TensorFlow中,所有的数据都以张量的形式表示,零阶张量标识一个数,一阶张量为向量,也就是一个一维数组,n阶张量可以理解为n维数组。
张量中并没有真正的保存数字,它保存的只是如何得到这些数字的计算过程。例如实例代码中的result输出结果为Tensor("add:0", shape=(2,), dtype=float32)--add:0表示result这个张量是计算节点“add”输出的第一个结果;shape=(2,)标识张量的维度信息,说明了张量result是一个一维数组,数组长度为2;dtype=float32标识张量的类型为浮点型。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/40741.html

相关文章

  • TensorFlow 2.0 / TF2.0 入门教程实战案例

    摘要:七强化学习玩转介绍了使用创建来玩游戏将连续的状态离散化。包括输入输出独热编码与损失函数,以及正确率的验证。 用最白话的语言,讲解机器学习、神经网络与深度学习示例基于 TensorFlow 1.4 和 TensorFlow 2.0 实现 中文文档 TensorFlow 2 / 2.0 官方文档中文版 知乎专栏 欢迎关注我的知乎专栏 https://zhuanlan.zhihu.com/...

    whataa 评论0 收藏0
  • tensorflow入门与实战

    TensorFlow是一种流行的机器学习库,它提供了许多工具和技术,使得机器学习和深度学习变得更加容易。在这篇文章中,我们将介绍TensorFlow的入门和实战技术,帮助您开始使用这个强大的工具。 首先,让我们来了解一下TensorFlow的基础知识。TensorFlow是一个用于数值计算的开源软件库,它使用数据流图来表示数学运算。数据流图是一种图形表示法,它将数学运算表示为节点,将数据表示为边...

    _Zhao 评论0 收藏400
  • 深度学习

    摘要:深度学习在过去的几年里取得了许多惊人的成果,均与息息相关。机器学习进阶笔记之一安装与入门是基于进行研发的第二代人工智能学习系统,被广泛用于语音识别或图像识别等多项机器深度学习领域。零基础入门深度学习长短时记忆网络。 多图|入门必看:万字长文带你轻松了解LSTM全貌 作者 | Edwin Chen编译 | AI100第一次接触长短期记忆神经网络(LSTM)时,我惊呆了。原来,LSTM是神...

    Vultr 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<