DL框架之TensorFlow:深度学习框架TensorFlow Core(低级别TensorFlow API)的简介、安装、使用方法之详细攻略
DL框架之TensorFlow:TensorFlow Core(低级别TensorFlow API)的简介、安装、使用方法之详细DL框架之TensorFlow:深度学习框架TensorFlow Core(低级别TensorFlow API)的简介、安装、使用方法之详细攻略
目录
TensorFlow Core的简介
TensorFlow Core的安装
TensorFlow Core的使用方法
图
TensorBoard
会话 (Session)
TensorFlow Core的简介
TensorFlow Core是低级别TensorFlow API。
TensorFlow Core的安装
默认自带
TensorFlow Core的使用方法
参考文章:https://tensorflow.google.cn/guide/low_level_intro
您可以将 TensorFlow Core 程序看作由两个互相独立的部分组成:
- 构建计算图 (
tf.Graph
)。 - 运行计算图(使用
tf.Session
)。
图
计算图是排列成一个图的一系列 TensorFlow 指令。图由两种类型的对象组成。
- 操作(简称“op”):图的节点。操作描述了消耗和生成张量的计算。
- 张量:图的边。它们代表将流经图的值。大多数 TensorFlow 函数会返回
tf.Tensors
。
重要提示:tf.Tensors
不具有值,它们只是计算图中元素的手柄。
我们来构建一个简单的计算图。最基本的指令是一个常量。构建指令的 Python 函数将一个张量值作为输入值。生成的指令不需要输入值。它在运行时输出的是被传递给构造函数的值。我们可以创建如下所示的两个浮点数常量 a
和 b
:
a = tf.constant(3.0, dtype=tf.float32)
b = tf.constant(4.0) # also tf.float32 implicitly
total = a + b
print(a)
print(b)
print(total)
打印语句会生成:
Tensor("Const:0", shape=(), dtype=float32)
Tensor("Const_1:0", shape=(), dtype=float32)
Tensor("add:0", shape=(), dtype=float32)
请注意,打印张量并不会如您可能预期的那样输出值 3.0
、4.0
和 7.0
。上述语句只会构建计算图。这些 tf.Tensor
对象仅代表将要运行的操作的结果。
图中的每个指令都拥有唯一的名称。这个名称不同于使用 Python 分配给相应对象的名称。张量是根据生成它们的指令命名的,后面跟着输出索引,如上文的 "add:0"
所示。
TensorBoard
TensorFlow 提供了一个名为 TensorBoard 的实用程序。TensorBoard 的诸多功能之一是将计算图可视化。您只需要使用几个简单的命令就能轻松完成此操作。
首先将计算图保存为 TensorBoard 摘要文件,具体操作如下所示:
writer = tf.summary.FileWriter('.')
writer.add_graph(tf.get_default_graph())
这将在当前目录中生成一个 event
文件,其名称格式如下:
events.out.tfevents.{timestamp}.{hostname}
现在,在新的终端中使用以下 shell 命令启动 TensorBoard:
tensorboard --logdir .
接下来,在您的浏览器中打开 TensorBoard 的图页面,您应该会看到与以下图形类似的图:
要详细了解 TensorBoard 的计算图可视化工具,请参阅 TensorBoard:图的直观展示。
会话 (Session)
要评估张量,需要实例化一个 tf.Session
对象(非正式名称为会话)。会话会封装 TensorFlow 运行时的状态,并运行 TensorFlow 操作。如果说 tf.Graph
像一个 .py
文件,那么 tf.Session
就像一个 python
可执行对象。
下面的代码会创建一个 tf.Session
对象,然后调用其 run
方法来评估我们在上文中创建的 total
张量:
sess = tf.Session()
print(sess.run(total))
当您使用 Session.run
请求输出节点时,TensorFlow 会回溯整个图,并流经提供了所请求的输出节点对应的输入值的所有节点。因此此指令会打印预期的值 7.0:
7.0
您可以将多个张量传递给 tf.Session.run
。run
方法以透明方式处理元组或字典的任何组合,如下例所示:
print(sess.run({'ab':(a, b), 'total':total}))
它返回的结果拥有相同的布局结构:
{'total': 7.0, 'ab': (3.0, 4.0)}
在调用 tf.Session.run
期间,任何 tf.Tensor
都只有单个值。例如,以下代码调用 tf.random_uniform
来生成一个 tf.Tensor
,后者会生成随机的三元素矢量(值位于 [0,1)
区间内):
vec = tf.random_uniform(shape=(3,))
out1 = vec + 1
out2 = vec + 2
print(sess.run(vec))
print(sess.run(vec))
print(sess.run((out1, out2)))
每次调用 run
时,结果都会显示不同的随机值,但在单个 run
期间(out1
和 out2
接收到相同的随机输入值),结果显示的值是一致的:
[ 0.52917576 0.64076328 0.68353939]
[ 0.66192627 0.89126778 0.06254101]
(array([ 1.88408756, 1.87149239, 1.84057522], dtype=float32),array([ 2.88408756, 2.87149239, 2.84057522], dtype=float32)
)
部分 TensorFlow 函数会返回 tf.Operations
,而不是 tf.Tensors
。对指令调用 run
的结果是 None
。您运行指令是为了产生副作用,而不是为了检索一个值。这方面的例子包括稍后将演示的初始化和训练操作。
DL框架之TensorFlow:深度学习框架TensorFlow Core(低级别TensorFlow API)的简介、安装、使用方法之详细攻略相关推荐
- DL之FAN:FAN人脸对齐网络(Face Alignment depth Network)的论文简介、案例应用之详细攻略
DL之FAN:FAN人脸对齐网络(Face Alignment depth Network)的论文简介.案例应用之详细攻略 目录 FAN人脸对齐网络(Face Alignment depth Netw ...
- Python编程语言学习:包导入和模块搜索路径简介、使用方法之详细攻略
Python编程语言学习:包导入和模块搜索路径简介.使用方法之详细攻略 目录 包导入和模块搜索路径简介 1.Pyhon搜索模块路径的机制 2.自定义配置搜索路径
- Python语言学习:Python常用自带库(imageio、pickle)简介、使用方法之详细攻略
Python语言学习:Python常用自带库(imageio.pickle)简介.使用方法之详细攻略 目录 imageio简介及其常见使用方法 pickle简介及其常见使用方法 简介 使用方法 简介及 ...
- DL框架之Tensorflow:深度学习框架Tensorflow的简介、安装、使用方法之详细攻略
DL框架之Tensorflow:深度学习框架Tensorflow的简介.安装.使用方法之详细攻略 目录 Tensorflow的简介 1.描述 2.TensorFlow的六大特征 3.了解Tensorf ...
- DL框架:主流深度学习框架(TensorFlow/Pytorch/Caffe/Keras/CNTK/MXNet/Theano/PaddlePaddle)简介、多个方向比较、案例应用之详细攻略
DL框架:主流深度学习框架(TensorFlow/Pytorch/Caffe/Keras/CNTK/MXNet/Theano/PaddlePaddle)简介.多个方向比较.案例应用之详细攻略 目录 深 ...
- 基于TensorFlow深度学习框架,运用python搭建LeNet-5卷积神经网络模型和mnist手写数字识别数据集,设计一个手写数字识别软件。
本软件是基于TensorFlow深度学习框架,运用LeNet-5卷积神经网络模型和mnist手写数字识别数据集所设计的手写数字识别软件. 具体实现如下: 1.读入数据:运用TensorFlow深度学习 ...
- DL框架之PyTorch:深度学习框架PyTorch的简介、安装、使用方法之详细攻略
DL框架之PyTorch:PyTorch的简介.安装.使用方法之详细攻略 DL框架之PyTorch:深度学习框架PyTorch的简介.安装.使用方法之详细攻略 目录 PyTorch的简介 1.pyto ...
- DL框架之darknet:深度学习框架darknet的简介、安装、使用方法的详细攻略
DL框架之darknet:深度学习框架darknet的简介.安装.使用方法的详细攻略 目录 darknet的简介 darknet的安装 darknet的使用方法 1.YOLO: Real-Time O ...
- DL框架之Keras:深度学习框架Keras框架的简介、安装(Python库)、相关概念、Keras模型使用、使用方法之详细攻略
DL框架之Keras:深度学习框架Keras框架的简介.安装(Python库).相关概念.Keras模型使用.使用方法之详细攻略 目录 Keras的简介 1.Keras的特点 2.Keras四大特性 ...
最新文章
- 用纯JS做俄罗斯方块 - 简要思路介绍(1)
- android 自定义actionbar前面有一块空白,解决Android V7后自定义Toolbar、ActionBar左侧有空白问题...
- 剑指offer 算法 (递归与循环)
- 让PIP源使用国内镜像
- MVC 用户权限HttpContext.User.IsInRole()
- 企业形象广告的几个突破要点
- springboot 启动退出终端不停止
- 深度学习笔记(40) YOLO
- AndroidLinker与SO加壳技术之下篇 1
- Linux中查看某个软件的安装路径
- 怎么让图片居中php,怎么让CSS文件里图片居中
- 编写高效的C++程序方法之使用对象池
- 古早但有用:CISA 发布15个正遭利用的老旧漏洞
- CentOs 设置静态IP 方法[测试没问题]
- java 通用查询_java 通用查询
- 常用SQL Server数据修复命令DBCC一览(转载)
- 安装@vue/cli脚手架又又又出问题啦!!!
- MATLAB--求一个矩阵中所有元素的平均值
- 支付宝——手机网站支付接口研究
- Kafka消费者启动报错: Not authorized to access group