当前位置:网站首页>图书 > 正文 >>

TensorFlow 2.0神经网络实践

图书信息

作者(意)保罗·加莱奥内(Paolo Galeone)
出版社机械工业出版社
ISBN9787111659273
出版时间2020-06-01
字数15.7万
分类科技,计算机,网络,软件系统

读书简介

本书通过聚焦于发基于神经网络的解决方案来介绍机器学习,首先将从熟悉构建深度学习解决方案所需的概念和技术始,然后介绍如何创建分类器、构建目标检测和语义分割神经网络、训练生成式模型,以及使用TF 2.0的工具,如TensorFlow Datasets和TensorFlow Hub,加速发过程。学完本书之后,读者将能够使用TF 2.0发任何机器学习问题的解决方案,并能将它们部署到生产环境之中。

目录

译者序

前言

作者简介

审校者简介

第一部分 神经网络基础

第1章 什么是机器学习

1.1 数据集的重要性

1.1.1 n维空间

1.1.2 维度诅咒

1.2 有监督学习

1.2.1 距离和相似性——k-NN算法

1.2.2 参数模型

1.2.3 评估模型性能——度量指标

1.3 无监督学习

1.4 半监督学习

1.5 总结

1.6 练习题

第2章 神经网络与深度学习

2.1 神经网络

2.1.1 生物神经元

2.1.2 人工神经元

2.1.3 全连接层

2.1.4 激活函数

2.1.5 损失函数

2.1.6 参数初始化

2.2 优化

2.2.1 梯度下降法

2.2.2 梯度下降优化算法

2.2.3 反向传播和自动微分

2.3 卷积神经网络

2.3.1 卷积运算符

2.3.2 二维卷积

2.3.3 卷间的二维卷积

2.3.4 1×1×D卷积

2.4 正则化

2.4.1 dropout

2.4.2 数据扩充

2.4.3 早期停止

2.4.4 批量归一化

2.5 总结

2.6 练习题

第二部分 TensorFlow基础

第3章 TensorFlow图架构

3.1 环境设置

3.1.1 TensorFlow 1.x的环境设置

3.1.2 TensorFlow 2.0的环境设置

3.2 数据流图

3.2.1 主要结构——tf.Graph

3.2.2 图定义——从tf.Operation到tf.Tensor

3.2.3 图放置——tf.device

3.2.4 图执行——tf.Session

3.2.5 静态图中的变量

3.3 模型定义和训练

3.3.1 用tf.layers定义模型

3.3.2 自动微分——损失函数和优化器

3.4 用Python操作图

3.4.1 给占位符赋值

3.4.2 总结记录

3.4.3 保存模型参数和模型选择

3.5 总结

3.6 练习题

第4章 TensorFlow 2.0架构

4.1 重新学习这个框架

4.2 Keras框架及其模型

4.2.1 顺序API

4.2.2 函数式API

4.2.3 子类方法

4.3 eager执行模式和新的特征

4.3.1 基本示例

4.3.2 函数,而不是会话

4.3.3 不再有全局的东西

4.3.4 控制流

4.3.5 GradientTape

4.3.6 定制训练循环

4.3.7 保存和恢复模型状态

4.3.8 总结记录和指标度量

4.3.9 AutoGraph

4.4 代码库迁移

4.5 总结

4.6 练习题

第5章 高效的数据输入流水线和估计器API

5.1 高效的数据输入流水线

5.1.1 输入流水线的结构

5.1.2 tf.data.Dataset对象

5.1.3 性能优化

5.1.4 构建自己的数据集

5.1.5 数据扩充

5.1.6 TensroFlow数据集——tdfs

5.1.7 Keras整合

5.1.8 eager整合

5.2 估计器API

5.2.1 数据输入流水线

5.2.2 定制估计器

5.2.3 预制估计器

5.3 总结

5.4 练习题

第三部分 神经网络应用

第6章 使用TensorFlow Hub进行图像分类

6.1 获取数据

6.2 迁移学习

6.2.1 TensorFlow Hub

6.2.2 使用Inception v3作为特征提取器

6.2.3 使数据适应模型

6.2.4 建立模型——hub.KerasLayer

6.2.5 训练与评估

6.2.6 训练速度

6.3 微调

6.3.1 何时微调

6.3.2 TensorFlow Hub集成

6.3.3 训练和评估

6.3.4 训练速度

6.4 总结

6.5 练习题

第7章 目标检测

7.1 获取数据

7.2 目标定位

7.2.1 定位是一个回归问题

7.2.2 IoU

7.2.3 平均精度

7.2.4 平均精度均值

7.2.5 改进训练脚本

7.3 分类和定位

7.3.1 多任务学习

7.3.2 双头网络

7.3.3 基于锚的检测器

7.3.4 锚框

7.4 总结

7.5 练习题

第8章 语义分割和自定义数据集生成器

8.1 语义分割

8.1.1 挑战

8.1.2 反卷积——转置卷积

8.1.3 U-Net架构

8.2 创建一个TensorFlow数据集生成器

8.2.1 层次化结构

8.2.2 数据集类和DatasetInfo

8.2.3 创建数据集分割

8.2.4 生成示例

8.2.5 使用生成器

8.3 模型训练与评估

8.3.1 数据准备

8.3.2 训练循环和Keras回调函数

8.3.3 评估与推论

8.4 总结

8.5 练习题

第9章 生成式对抗网络

9.1 了解GAN及其应用

9.1.1 价值函数

9.1.2 非饱和价值函数

9.1.3 模型定义和训练阶段

9.1.4 GAN的应用

9.2 无条件的GAN

9.2.1 准备数据

9.2.2 定义生成器

9.2.3 定义鉴别器

9.2.4 定义损失函数

9.2.5 无条件的GAN中的对抗训练过程

9.3 有条件的GAN

9.3.1 为有条件的GAN获取数据

9.3.2 在有条件的GAN中定义生成器

9.3.3 在有条件的GAN中定义鉴别器

9.3.4 对抗训练过程

9.4 总结

9.5 练习题

第10章 在生产环境中部署模型

10.1 SavedModel序列化格式

10.1.1 特征

10.1.2 通过Keras模型创建SavedModel

10.1.3 使用通用函数进行SavedModel转换

10.2 Python部署

10.2.1 通用计算图

10.2.2 Keras模型

10.2.3 平面图

10.3 支持部署的平台

10.3.1 TensorFlow.js

10.3.2 Go绑定和tfgo

10.4 总结

10.5 练习题