csmhwu
  • 深度学习应用开发 - TensorFlow实践
  • 前言
  • 目录
  • 第一章 人工智能导论
    • 第一章 人工智能导论
      • 1.1 感受人工智能时代的到来
      • 1.2 人工智能发展概述,跌宕起伏的60年
      • 1.3 本讲小结与作业
  • 第二章 深度学习简介
    • 第二章 深度学习简介
      • 2.1 机器学习简介
      • 2.2 深度学习简介
      • 2.3 深度学习框架简介
      • 2.4 本讲小结与作业
  • 第三章 磨刀不误砍柴工:TensorFlow基础
    • 第三章 磨刀不误砍柴工:TensorFlow基础
      • 3.1 TensorFlow 基础
      • 3.2 TensorFlow名字的意义
      • 3.3 Tensor 张量
      • 3.4 TensorFlow计算模型 – 数据流图
      • 3.5 Operation 操作
      • 3.6 Session 会话
      • 3.7 常量与变量
      • 3.8 变量的赋值
      • 3.9 Placeholder 占位符
      • 3.10 Feed提交数据和Fetch提取数据
      • 3.11 TensorBoard可视化初步
      • 3.12 本讲小结与作业
  • 第四章 单变量线性回归:TesnsorFlow实战
    • 第四章 单变量线性回归:TesnsorFlow实战
      • 4.1一切从一个神经元说起
      • 4.2 基本术语
      • 4.3 定义损失函数
      • 4.4 模型训练与降低损失
      • 4.5 梯度下降法
      • 4.6 学习率
      • 4.7 超参数
      • 4.8 线性回归问题TensorFlow实战
      • 4.9 在训练中显示损失值
      • 4.10 TensorBoard可视化
      • 4.12 本章小结和作业
  • 第五章 多元线性回归:波士顿房价预测问题TesnsorFlow实战
    • 第五章 多元线性回归:波士顿房价预测问题TesnsorFlow实战
      • 5.1 波士顿房价预测问题简介
      • 5.2 机器学习中的基本线性代数
      • 5.3 准备建模
      • 5.4 数据读取
      • 5.5 构建模型
      • 5.6 训练模型
      • 5.7 进行预测
      • 5.8 后续版本改进
      • 5.9 本章小结和作业
  • 第六章 MNIST手写数字识别:分类应用入门
    • 第六章 MNIST手写数字识别:分类应用入门
      • 6.1 MNIST手写数字识别数据解读
      • 6.2 分类模型构建与训练
      • 6.3 本讲小结与作业
  • 第七章 MNIST手写数字识别进阶:多层神经网络与应用
    • 第七章 MNIST手写数字识别进阶:多层神经网络与应用
      • 7.1 单隐藏层神经网络构建与应用
      • 7.2 多层神经网络建模与模型的还原保存
      • 7.3 TensorBoard进阶与TensorFlow游乐场
      • 7.4 本讲小结与作业
  • 第八章 图像识别问题:卷积神经网络与应用
    • 第八章 图像识别问题:卷积神经网络与应用
      • 8.1从神经网络到卷积神经网络:解决参数太多的问题
      • 8.2 卷积神经网络的基本结构
      • 8.3 TensorFlow对卷积神经网络的支持
      • 8.4 CIFAR-10图像识别案例的TensorFlow实现
      • 8.5 本讲小结与作业
  • 第九章 Deep Dream:理解深度神经网络结构及应用
    • 第九章 Deep Dream:理解深度神经网络结构及应用
      • 9.1 Deep Dream:计算机生成梦幻图像
      • 9.2 经典深度神经网络与数据增强
      • 9.3 Inception模型文件导入与卷积层分析
      • 9.4 Deep Dream图像生成
      • 9.5 本讲小结与作业
  • 第十章 猫狗大战:迁移学习及应用
    • 第十章 猫狗大战:迁移学习及应用
      • 10.1 猫狗大战简介
      • 10.2 迁移学习简介
      • 10.3 数据准备
      • 10.4 VGG16的Tensorflow实现
      • 10.5 VGG16模型复用
      • 10.6 数据输入
      • 10.7 模型重新训练与保存
      • 10.8 预测
  • 第十一章 生成式对抗网络原理及Tensorflow实现
    • 第十一章 生成式对抗网络原理及Tensorflow实现
  • 第十二章 泰坦尼克号旅客生存预测:Keras应用实践
    • 第十二章 泰坦尼克号旅客生存预测:Keras应用实践
  • 第十三章 电影评论情感分析:自然语言处理与循环神经网络
    • 第十三章 电影评论情感分析:自然语言处理与循环神经网络
  • 第十四章 鸢尾花品种识别:TensorFlow.js应用开发
    • 第十四章 鸢尾花品种识别:TensorFlow.js应用开发
      • 14.1 TensorFlow.js 简介
      • 14.2 网页开发环境介绍
      • 14.3 TensorFlow.js 核心概念
      • 14.4 TF.js应用:鸢尾花品种识别
  • 第十五章 花卉识别App:TensorFlow Lite与移动应用开发
    • 第十五章 花卉识别App:TensorFlow Lite与移动应用开发
      • 15.1 TensorFlow Lite 基本介绍
      • 15.2 TensorFlow 基本架构
      • 15.3 TFLite应用:手机识别花型
  • 附录 1 工欲善其事必先利其器:TensorFlow开发环境搭建
    • 附录 1 工欲善其事必先利其器:TensorFlow开发环境搭建
      • 1.1 Windows平台下的TensorFlow开发环境搭建
      • 1.2 Linux环境下TensorFlow的安装
  • 附录 2 工欲善其事必先利其器:简明Python基础
    • 附录2 工欲善其事必先利其器:简明Python基础
      • 2.1 简单print用法
      • 2.2 变量
      • 2.3 标识符
      • 2.4 保留字
      • 2.5 数字数据类型
      • 2.6 布尔类型
      • 2.7 注释
      • 2.8 基本运算
      • 2.9 字符串
      • 2.10 列表
      • 2.11 元组
      • 2.12 集合
      • 2.13 字典
      • 2.14 print的格式化输出
      • 2.15 类型转化
      • 2.16 Python的行
      • 2.17 流程控制
      • 2.18 列表推导式
      • 2.19 循环嵌套(多重循环)
      • 2.20 break语句
      • 2.21 continue语句
      • 2.22 pass语句
      • 2.23 函数
      • 2.24 全局变量与局部变量
      • 2.25 类
      • 2.26 文件
      • 2.27 异常
      • 2.28 导入外部库
      • 2.29 获取帮助信息
    • 附录3 协同编书指南
Powered by GitBook
On this page

Was this helpful?

  1. 第三章 磨刀不误砍柴工:TensorFlow基础
  2. 第三章 磨刀不误砍柴工:TensorFlow基础

3.4 TensorFlow计算模型 – 数据流图

Previous3.3 Tensor 张量Next3.5 Operation 操作

Last updated 6 years ago

Was this helpful?

3.4.1 数据流图的概念

数据流图(如图3所示)是一个有向图,由以下内容构成:

• 一组节点,每个节点都代表一个操作,是一种运算

• 一组有向边,每条边代表节点之间的关系(数据传递和控制依赖)

TensorFlow有两种边:

• 常规边(实线):代表数据依赖关系。一个节点的运算输出成为另一个节点的输入,两个节点之间有tensor流动(值传递)

• 特殊边(虚线):不携带值,表示两个节点之间的控制相关性。比如,happens-before关系,源节点必须在目的节点执行前完成执行

3.4.2 数据流图的实例

可以从图4看出,打印输出的结果不是一个具体的数字,而是一个张量的结构。

3.4.3 数据流图的执行

图5承接图4,可以看出,TensorFlow的计算过程首先创建一个静态的计算模型,然后执行对话才将数据输入获得结果。(注:TensorFlow 1.7之后的版本提供了Eager Execution的功能,可以实现动态图的编程。)

> 示例代码

1.py
# 一个简单计算图
node1 = tf.constant(3.0,tf.float32,name="node1")
node2 = tf.constant(4.0,tf.float32,name="node2")
node3 = tf.add(node1, node2)
print(node3)

# 建立对话并显示运行结果
sess = tf.Session()

print("运行sess.run(node1)的结果:", sess.run(node1))
# 更新变量并返回计算结果
print("运行sess.run(node3)的结果:", sess.run(node3))

# 关闭session
sess.close()
图3-3 数据流图
图3-4 一个简单的计算图
图3-5 数据流图的执行