Keras深度学习 基于Python
作者: (韩)金兑映 著 颜廷连 译
出版时间: 2020年版
内容简介
在众多深度学习框架中,***上手的就是Keras,其简单、可扩展、可重复使用的特征使得非深度学习者也能轻松驾驭。《Keras深度学习 基于Python》通过日常生活中常见的乐高模型块,以简洁易懂的语言介绍了使用Keras时必知的深度学习概念,提供了可实操的Python源代码,讲解了能够直观构建并理解深度学习模型的模块示例。
目录
第 1 章 走进Keras 1
1.1 关于Keras .1
1.1.1 为什么是Keras 1
1.1.2 Keras 的主要特征 2
1.1.3 Keras 的基本概念 2
1.2 Mac 版Keras 安装 .4
1.2.1 创建项目目录 .5
1.2.2 创建虚拟开发环境 .5
1.2.3 安装基于Web 的Python 开发
环境Jupyter Notebook .6
1.2.4 安装主要的包 .6
1.2.5 安装深度学习库 .7
1.2.6 测试安装环境 .7
1.2.7 更换深度学习引擎 .10
1.2.8 重启 .10
1.2.9 解决错误 .10
1.3 Windows 版Keras 安装 .12
1.3.1 安装Anaconda .12
1.3.2 创建项目目录 .14
1.3.3 创建虚拟环境 .15
1.3.4 安装基于Web 的Python 开发
环境Jupyter Notebook .16
1.3.5 安装主要的包 .17
1.3.6 安装深度学习库 .17
1.3.7 测试安装环境 .18
1.3.8 重启 .21
1.3.9 解决错误 .21
第 2 章 深度学习概念 .25
2.1 数据集简介 .25
2.1.1 训练集、验证集和测试集 .25
2.1.2 Q&A 29
2.2 关于训练过程 .29
2.2.1 Batchsize 与训练周期 30
2.2.2 Q&A 32
2.3 查看训练过程 .33
2.3.1 调用history 函数 .33
2.3.2 启动TensorBoard .36
2.3.3 编写回调函数 .39
2.3.4 Q&A 43
2.4 训练早停 .43
2.4.1 过拟合模型 .43
2.4.2 设置早停 .46
2.4.3 Q&A 51
2.5 模型评价 .52
2.5.1 分类 .53
2.5.2 检测与搜索 .60
2.5.3 分离 .65
2.6 查看/ 保存/ 调用训练模型 .68
2.6.1 查看简易模型 .69
2.6.2 实操中的深度学习系统 .70
2.6.3 保存已训练模型 .71
2.6.4 查看模型架构 .73
2.6.5 调用已训练模型 .73
2.6.6 Q&A 74
第3 章 分层概念 76
3.1 多层感知层介绍 .76
3.1.1 模仿人类神经系统的神经元 .76
3.1.2 连接输入/ 输出的Dense 层 .78
3.2 搭建多层感知神经网模型 .82
3.2.1 定义问题 .83
3.2.2 准备数据 .83
3.2.3 生成数据集 .84
3.2.4 搭建模型 .85
3.2.5 设置模型训练过程 .86
3.2.6 训练模型 .86
3.2.7 评价模型 .87
3.2.8 全部代码 .87
3.3 卷积神经网络分层 .89
3.3.1 过滤特征显著的卷积层 .89
3.3.2 忽略细微变化的最大池化层 .95
3.3.3 将视频一维化的Flatten 层 .96
3.3.4 尝试搭建模型 .97
3.4 搭建卷积神经网络模型 .101
3.4.1 定义问题 .101
3.4.2 准备数据 .102
3.4.3 生成数据集 .103
3.4.4 搭建模型 .104
3.4.5 设置模型训练过程 .105
3.4.6 训练模型 .105
3.4.7 评价模型 .106
3.4.8 使用模型 .107
3.4.9 全部代码 .107
3.5 卷积神经网络模型数据增强 .109
3.5.1 现实问题 .110
3.5.2 查看原有模型结果 . 111
3.5.3 数据增强 .113
3.5.4 查看改善后的模型结果 .116
3.6 循环神经网络分层 .119
3.7 搭建循环神经网络模型 .121
3.7.1 准备序列数据 .121
3.7.2 生成数据集 .122
3.7.3 训练过程 .123
3.7.4 预测过程 .124
3.7.5 多层感知器神经网络模型 .126
3.7.6 太阳城
LSTM 模型 131
3.7.7 Stateful LSTM 模型 .136
3.7.8 多种输入属性的模型结构 .141
第4 章 示例应用 148
4.1 输入– 预测数值模型示例 .148
4.1.1 准备数据集 .148
4.1.2 准备层 .149
4.1.3 模型准备 .149
4.1.4 全部代码 .152
4.1.5 训练结果比较 .156
4.2 输入数值二元分类模型示例 .157
4.2.1 准备数据集 .157
4.2.2 准备层 .159
4.2.3 准备模型 .159
4.2.4 全部代码 .161
4.2.5 训练结果比较 .164
4.3 输入数值多元分类问题模型示例 .165
4.3.1 准备数据集 .165
4.3.2 数据预处理 .167
4.3.3. 准备层 168
4.3.4 准备模型 .168
4.3.5 全部代码 .170
4.3.6 训练结果比较 .174
4.4 输入视频预测数值的模型示例 .174
4.4.1 准备数据集 .175
4.4.2 准备层 .176
4.4.3 准备模型 .177
4.4.4 全部代码 .178
4.4.5 训练结果比较 .184
4.5 输入视频预测二元分类问题的模型
示例 .185
4.5.1 准备数据集 .185
4.5.2 准备层 .187
4.5.3 准备模型 .187
4.5.4 全部代码 .189
4.5.5 训练结果比较 .198
4.6 输入视频预测多元分类问题的模型
示例 .199
4.6.1 准备数据集 .200
4.6.2 准备层 .201
4.6.3 准备模型 .201
4.6.4 全部代码 .203
4.6.5 训练结果比较 .212
4.7 输入时间序列数据,预测数值的
模型示例 .213
4.7.1 准备数据集 .213
4.7.2 准备层 .215
4.7.3 准备模型 .215
4.7.4 全部代码 .218
4.7.5 训练结果比较 .228
4.7.6 Q&A 229
4.8 根据输入句子(时间序列数值)预测
二元分类问题的模型示例 .230
4.8.1 准备数据集 .230
4.8.2 准备层 .231
4.8.3 准备模型 .232
4.8.4 全部代码 .235
4.8.5 训练结果比较 .241
4.9 输入句子(时间序列数值)预测多元
分类问题的模型示例 .242
4.9.1 准备数据集 .243
4.9.2 准备层 .243
4.9.3 准备模型 .243
4.9.4 全部代码 .246
4.9.5 训练结果比较 .253