第1章 Keras概述 1
1.1 Keras简介 1
1.1.1 Keras 2 1
1.1.2 Keras功能构成 4
1.2 Keras特点 6
1.3 主要深度学习框架 8
1.3.1 Caffe 8
1.3.2 Torch 10
1.3.3 Keras 12
1.3.4 MXNet 12
1.3.5 TensorFlow 13
1.3.5 CNTK 14
1.3.6 Theano 14
第2章 Keras的安装与配置 16
2.1 Windows环境下安装Keras 16
2.1.1 硬件配置 16
2.1.2 Windows版本 18
2.1.3 Microsoft Visual Studio版本 18
2.1.4 Python环境 18
2.1.5 CUDA 18
2.1.6 加速库CuDNN 19
2.1.7 Keras框架的安装 19
2.2 Linux环境下的安装 20
2.2.1 硬件配置 20
2.2.2 Linux版本 21
2.2.3 Ubuntu环境的设置 22
2.2.4 CUDA开发环境 22
2.2.5 加速库cuDNN 23
2.2.6 Keras框架安装 24
第3章 Keras快速上手 25
3.1 基本概念 25
3.2 初识Sequential模型 29
3.3 一个MNIST手写数字实例 30
3.3.1 MNIST数据准备 30
3.3.2 建立模型 31
3.3.3 训练模型 32
第4章 Keras模型的定义 36
4.1 Keras模型 36
4.2 Sequential模型 38
4.2.1 Sequential模型接口 38
4.2.2 Sequential模型的数据输入 48
4.2.3 模型编译 49
4.2.4 模型训练 50
4.3 函数式模型 51
4.3.1 全连接网络 52
4.3.2 函数模型接口 53
4.3.3 多输入和多输出模型 63
4.3.4 共享层模型 67
第5章 Keras网络结构 71
5.1 Keras层对象方法 71
5.2 常用层 72
5.2.1 Dense层 72
5.2.2 Activation层 74
5.2.3 Dropout层 75
5.2.4 Flatten层 75
5.2.5 Reshape层 76
5.2.6 Permute层 77
5.2.7 RepeatVector层 78
5.2.8 Lambda层 79
5.2.9 ActivityRegularizer层 80
5.2.10 Masking层 81
5.3 卷积层 82
5.3.1 Conv1D层 82
5.3.2 Conv2D层 84
5.3.3 SeparableConv2D层 87
5.3.4 Conv2DTranspose层 91
5.3.5 Conv3D层 94
5.3.6 Cropping1D层 97
5.3.6 Cropping2D层 97
5.3.7 Cropping3D层 98
5.3.8 UpSampling1D层 99
5.3.9 UpSampling2D层 100
5.3.10 UpSampling3D层 101
5.3.11 ZeroPadding1D层 102
5.3.12 ZeroPadding2D层 103
5.3.13 ZeroPadding3D层 104
5.4 池化层 105
5.4.1 MaxPooling1D层 105
5.4.2 MaxPooling2D层 106
5.4.3 MaxPooling3D层 108
5.4.4 AveragePooling1D层 109
5.4.5 AveragePooling2D层 110
5.4.6 AveragePooling3D层 111
5.4.7 GlobalMaxPooling1D层 112
5.4.8 GlobalAveragePooling1D层 113
5.4.9 GlobalMaxPooling2D层 113
5.4.10 GlobalAveragePooling2D层 114
5.5 局部连接层 115
5.5.1 LocallyConnected1D层 115
5.5.2 LocallyConnected2D层 117
5.6 循环层 120
5.6.1 Recurrent层 120
5.6.2 SimpleRNN层 124
5.6.3 GRU层 126
5.6.4 LSTM层 127
5.7 嵌入层 129
5.8 融合层 131
5.9 激活层 134
5.9.1 LeakyReLU层 134
5.9.2 PReLU层 134
5.9.3 ELU层 135
5.9.4 ThresholdedReLU层 136
5.10 规范层 137
5.11 噪声层 139
5.11.1 GaussianNoise层 139
5.11.2 GaussianDropout层 139
5.12 包装器Wrapper 140
5.12.1 TimeDistributed层 140
5.12.2 Bidirectional层 141
5.13 自定义层 142
第6章 Keras数据预处理 144
6.1 序列数据预处理 145
6.1.1 序列数据填充 145
6.1.2 提取序列跳字样本 148
6.1.3 生成序列抽样概率表 151
6.2 文本预处理 153
6.2.1 分割句子获得单词序列 153
6.2.2 OneHot序列编码器 154
6.2.3 单词向量化 155
6.3 图像预处理 159
第7章 Keras内置网络配置 167
7.1 模型性能评估模块 168
7.1.1 Keras内置性能评估方法 168
7.1.2 使用Keras内置性能评估 170
7.1.3 自定义性能评估函数 171
7.2 损失函数 171
7.3 优化器函数 174
7.3.1 Keras优化器使用 174
7.3.2 Keras内置优化器 176
7.4 激活函数 180
7.4.1 添加激活函数方法 180
7.4.2 Keras内置激活函数 181
7.4.3 Keras高级激活函数 185
7.5 初始化参数 189
7.5.1 使用初始化方法 189
7.5.2 Keras内置初始化方法 190
7.5.3 自定义Keras初始化方法 196
7.6 正则项 196
7.6.1 使用正则项 197
7.6.2 Keras内置正则项 198
7.6.3 自定义Keras正则项 198
7.7 参数约束项 199
7.7.1 使用参数约束项 199
7.7.2 Keras内置参数约束项 200
第8章 Keras实用技巧和可视化 202
8.1 Keras调试与排错 202
8.1.1 Keras Callback回调函数与调试技巧 202
8.1.2 备份和还原Keras模型 215
8.2 Keras内置Scikit-Learn接口包装器 217
8.3 Keras内置可视化工具 224
第9章 Keras实战 227
9.1 训练一个准确率高于90%的Cifar-10预测模型 227
9.1.1 数据预处理 232
9.1.2 训练 233
9.2 在Keras模型中使用预训练词向量判定文本类别 239
9.2.1 数据下载和实验方法 240
9.2.2 数据预处理 241
9.2.3 训练 245
9.3 用Keras实现DCGAN生成对抗网络还原MNIST样本 247
9.3.1 DCGAN网络拓扑结构 250
9.3.2 训练 254
· · · · · · (
收起)