第1章 人工智能、机器学习与深度学习简介 1
1.1人工智能、机器学习、深度学习的关系 2
1.2机器学习介绍 4
1.3机器学习分类 4
1.4深度学习简介 7
1.5结论 8
第2章 深度学习的原理 9
2.1神经传导的原理 10
2.2以矩阵运算仿真神经网络 13
2.3多层感知器模型 14
2.4使用反向传播算法进行训练 16
2.5结论 21
第3章 TensorFlow与Keras介绍 22
3.1 TensorFlow架构图 23
3.2 TensorFlow简介 24
3.3 TensorFlow程序设计模式 26
3.4 Keras介绍 27
3.5 Keras程序设计模式 28
3.6 Keras与TensorFlow比较 29
3.7结论 30
第4章 在Windows中安装TensorFlow与Keras 31
4.1安装Anaconda 32
4.2启动命令提示符 35
4.3建立TensorFlow的Anaconda虚拟环境 37
4.4在Anaconda虚拟环境安装TensorFlow与Keras 40
4.5启动Jupyter Notebook 42
4.6结论 48
第5章 在Linux Ubuntu中安装TensorFlow与Keras 49
5.1安装Anaconda 50
5.2安装TensorFlow与Keras 52
5.3启动Jupyter Notebook 53
5.4结论 54
第6章 Keras MNIST手写数字识别数据集 55
6.1下载 MNIST数据 56
6.2查看训练数据 58
6.3查看多项训练数据images与label 60
6.4多层感知器模型数据预处理 62
6.5 features数据预处理 62
6.6 label数据预处理 64
6.7结论 65
第7章 Keras多层感知器识别手写数字 66
7.1 Keras多元感知器识别MNIST手写数字图像的介绍 67
7.2进行数据预处理 69
7.3建立模型 69
7.4进行训练 73
7.5以测试数据评估模型准确率 77
7.6进行预测 78
7.7显示混淆矩阵 79
7.8隐藏层增加为1000个神经元 81
7.9多层感知器加入DropOut功能以避免过度拟合 84
7.10建立多层感知器模型包含两个隐藏层 86
7.11结论 89
第8章 Keras卷积神经网络识别手写数字 90
8.1卷积神经网络简介 91
8.2进行数据预处理 97
8.3建立模型 98
8.4进行训练 101
8.5评估模型准确率 104
8.6 进行预测 104
8.7显示混淆矩阵 105
8.8结论 107
第9章 Keras CIFAR-10图像识别数据集 108
9.1下载CIFAR-10数据 109
9.2查看训练数据 111
9.3查看多项images与label 112
9.4将images进行预处理 113
9.5对label进行数据预处理 114
9.6结论 115
第10章 Keras卷积神经网络识别CIFAR-10图像 116
10.1卷积神经网络简介 117
10.2数据预处理 118
10.3建立模型 119
10.4进行训练 123
10.5评估模型准确率 126
10.6进行预测 126
10.7查看预测概率 127
10.8显示混淆矩阵 129
10.9建立3次的卷积运算神经网络 132
10.10模型的保存与加载 135
10.11结论 136
第11章 Keras泰坦尼克号上的旅客数据集 137
11.1下载泰坦尼克号旅客数据集 138
11.2使用Pandas DataFrame读取数据并进行预处理 140
11.3 使用Pandas DataFrame进行数据预处理 142
11.4将DataFrame转换为Array 143
11.5将ndarray特征字段进行标准化 145
11.6将数据分为训练数据与测试数据 145
11.7结论 147
第12章 Keras多层感知器预测泰坦尼克号上旅客的生存概率 148
12.1数据预处理 149
12.2建立模型 150
12.3开始训练 152
12.4评估模型准确率 155
12.5加入《泰坦尼克号》电影中Jack与Rose的数据 156
12.6进行预测 157
12.7找出泰坦尼克号背后的感人故事 158
12.8结论 160
第13章 IMDb网络电影数据集与自然语言处理 161
13.1 Keras自然语言处理介绍 163
13.2下载IMDb数据集 167
13.3读取IMDb数据 169
13.4查看IMDb数据 172
13.5建立token 173
13.6使用token将“影评文字”转换成“数字列表” 174
13.7让转换后的数字长度相同 174
13.8结论 176
第14章 Keras建立MLP、 RNN、 LSTM模型进行IMDb情感分析 177
14.1建立多层感知器模型进行MMDb情感分析 178
14.2数据预处理 179
14.3加入嵌入层 180
14.4建立多层感知器模型 181
14.5训练模型 182
14.6评估模型准确率 184
14.7进行预测 185
14.8查看测试数据预测结果 185
14.9查看《美女与野兽》的影评 187
14.10预测《美女与野兽》的影评是正面或负面的 190
14.11文字处理时使用较大的字典提取更多文字 192
14.12 RNN模型介绍 193
14.13使用Keras RNN模型进行IMDb情感分析 195
14.14 LSTM模型介绍 197
14.15 使用Keras LSTM模型进行IMDb情感分析 199
14.16结论 200
第15章 TensorFlow程序设计模式 201
15.1建立“计算图” 202
15.2执行“计算图” 204
15.3 TensorFlow placeholder 206
15.4 TensorFlow数值运算方法介绍 207
15.5 TensorBoard 208
15.6建立一维与二维张量 211
15.7矩阵基本运算 212
15.8结论 214
第16章 以TensorFlow张量运算仿真神经网络的运行 215
16.1以矩阵运算仿真神经网络 216
16.2以placeholder传入X值 220
16.3创建layer函数以矩阵运算仿真神经网络 222
16.4建立layer debug函数显示权重与偏差 225
16.5结论 226
第17章 TensorFlow MNIST手写数字识别数据集 227
17.1下载MNIST数据 228
17.2查看训练数据 229
17.3查看多项训练数据images与labels 232
17.4批次读取MNIST数据 234
17.5结论 235
第18章 TensorFlow多层感知器识别手写数字 236
18.1 TensorFlow建立多层感知器辨识手写数字的介绍 237
18.2数据准备 239
18.3建立模型 239
18.4定义训练方式 242
18.5定义评估模型准确率的方式 243
18.6进行训练 244
18.7评估模型准确率 249
18.8进行预测 249
18.9隐藏层加入更多神经元 250
18.10建立包含两个隐藏层的多层感知器模型 251
18.11结论 252
第19章 TensorFlow卷积神经网络识别手写数字 253
19.1卷积神经网络简介 254
19.2进行数据预处理 255
19.3建立共享函数 256
19.4建立模型 258
19.5定义训练方式 264
19.6定义评估模型准确率的方式 264
19.7进行训练 265
19.8评估模型准确率 266
19.9进行预测 267
19.10 TensorBoard 268
19.11结论 270
第20章 TensorFlow GPU版本的安装 271
20.1确认显卡是否支持CUDA 273
20.2安装CUDA 274
20.3安装cuDNN 278
20.4将cudnn64 5.dll存放的位置加入Path环境变量 281
20.5在Anaconda建立TensorFlow GPU虚拟环境 283
20.6安装TensorFlow GPU版本 285
20.7安装Keras 286
20.8结论 286
第21章 使用GPU加快TensorFlow与Keras训练 287
21.1启动TensorFlow GPU环境 288
21.2测试GPU与CPU执行性能 293
21.3超出显卡内存的限制 296
21.4以多层感知器的实际范例比较CPU与GPU的执行速度 297
21.5以CNN的实际范例比较CPU与GPU的执行速度 299
21.6以Keras Cifar CNN的实际范例比较CPU与GPU的执行速度 302
21.7结论 304
附录A 本书范例程序的下载与安装说明 305
A.1在Windows系统中下载与安装范例程序 306
A.2在Ubuntu Linux系统中下载与安装范例程序 310