作者简介
P.萨朗(Poornachandra Sarang),Poornachandra Sarang博士在IT行业的职业生涯始于20世纪80年代,在这段漫长的职业生涯中,他广泛研究了各种技术。他曾在圣母大学和孟买大学教授计算机科学与工程。他曾是计算机科学学科的博士生导师,目前是计算机工程学科博士学位论文咨询委员会成员。他目前的研究兴趣是机器/深度学习,发表了多篇期刊文章,并在多个会议上发表过演讲。
周悦,北京交通大学博士,美国北卡罗来纳大学教堂山分校联合培养博士,在图像处理与模式识别领域有丰富的研究经验,主要研究方向为图像检测、三维目标分割、图像配准等。
曹旭阳,北京交通大学博士,京东集团DMT博士管培生,在计算机视觉领域具有8年算法经验,对机器学习算法有较深理解,主要研究方向为图像分割、半监督学习、图像分等。
目录
第1章 TensorFlow快速入门001
1.1 什么是TensorFlow 2.0002
1.1.1 TensorFlow 2.x平台002
1.1.2 训练003
1.1.3 模型保存005
1.1.4 部署005
1.2 TensorFlow 2.x提供什么006
1.2.1 TensorFlow中的tf.keras006
1.2.2 Eager执行006
1.2.3 分布式计算007
1.2.4 TensorBoard007
1.2.5 视觉套件(Vision Kit)008
1.2.6 语音套件(Voice Kit)008
1.2.7 边缘套件(Edge TPU)008
1.2.8 AIY套件的预训练模型009
1.2.9 数据管道009
1.3 安装009
1.3.1 安装步骤009
1.3.2 Docker安装010
1.3.3 无安装010
1.4 测试010
总结012
第2章 深入研究TensorFlow013
2.1 一个简单的机器学习应用程序013
2.1.1 创建Colab笔记本014
2.1.2 导入015
2.1.3 创建数据016
2.1.4 定义神经网络018
2.1.5 编译模型018
2.1.6 训练网络018
2.1.7 检查训练结果019
2.1.8 预测021
2.1.9 完整源码022
2.2 使用TensorFlow解决二分类问题024
2.2.1 创建项目024
2.2.2 导入024
2.2.3 挂载Google云盘025
2.2.4 加载数据026
2.2.5 数据处理027
2.2.6 定义ANN030
2.2.7 模型训练032
2.2.8 完整源码036
总结039
第3章 深入了解tf.keras040
3.1 开始040
3.2 用于模型构建的函数式API041
3.2.1 序列化模型041
3.2.2 模型子类043
3.2.3 预定义层044
3.2.4 自定义层044
3.3 保存模型046
3.4 卷积神经网络049
3.5 使用CNN做图像分类050
3.5.1 创建项目051
3.5.2 图像数据051
3.5.3 加载数据052
3.5.4 创建训练、测试数据集052
3.5.5 准备模型训练数据053
3.5.6 模型开发055
3.5.7 定义模型060
3.5.8 保存模型073
3.5.9 预测未知图像073
总结075
第4章 迁移学习076
4.1 知识迁移076
4.2 TensorFlow Hub077
4.2.1 预训练模型078
4.2.2 模型的使用079
4.3 ImageNet分类器080
4.3.1 创建项目080
4.3.2 分类器URL080
4.3.3 创建模型081
4.3.4 准备图像082
4.3.5 加载标签映射083
4.3.6 显示预测结果084
4.3.7 列出所有类别085
4.3.8 结果讨论085
4.4 犬种分类器085
4.4.1 项目简介086
4.4.2 创建项目086
4.4.3 加载数据086
4.4.4 设置图像和标签088
4.4.5 图像预处理091
4.4.6 处理图像091
4.4.7 关联图像与标签092
4.4.8 创建数据批次093
4.4.9 显示图像函数094
4.4.10 选择预训练模型095
4.4.11 定义模型095
4.4.12 创建数据集097
4.4.13 设置TensorBoard099
4.4.14 训练模型100
4.4.15 训练日志100
4.4.16 验证模型性能101
4.4.17 预测测试图像101
4.4.18 可视化测试结果103
4.4.19 预测未知图像105
4.4.20 使用小数据集训练106
4.4.21 保存、加载模型107
4.5 提交你的工作108
4.6 进一步工作108
总结109
第5章 使用神经网络处理回归问题110
5.1 回归110
5.1.1 定义110
5.1.2 应用111
5.1.3 回归问题111
5.1.4 回归问题的类型111
5.2 神经网络中的回归问题112
5.2.1 创建项目112
5.2.2 提取特征和标签113
5.2.3 定义、训练模型113
5.2.4 预测114
5.3 分析葡萄酒质量114
5.3.1 创建项目114
5.3.2 数据准备114
5.3.3 下载数据115
5.3.4 准备数据集115
5.3.5 创建数据集115
5.3.6 数据归一化116
5.3.7 创建模型119
5.3.8 可视化评价函数119
5.3.9 小模型120
5.3.10 中模型122
5.3.11 大模型124
5.3.12 解决过拟合126
5.3.13 结果讨论129
5.4 损失函数130
5.4.1 均方误差130
5.4.2 平均 误差131
5.4.3 Huber损失131
5.4.4 Log Cosh损失131
5.4.5 分位数损失131
5.5 优化器132
总结132
第6章 Estimators(估算器)134
6.1 Estimators概述134
6.1.1 API接口135
6.1.2 Estimators的优点135
6.1.3 Estimators的类型136
6.1.4 基于Estimators的项目开发流程137
6.2 设置Estimators139
6.3 用于分类的DNN分类器139
6.3.1 加载数据140
6.3.2 准备数据140
6.3.3 Estimators输入函数141
6.3.4 创建Estimators实例142
6.3.5 模型训练142
6.3.6 模型评价143
6.3.7 预测未知数据144
6.3.8 实验不同的ANN结构144
6.3.9 项目源码145
6.4 用于回归的LinearRegressor147
6.4.1 项目描述147
6.4.2 创建项目147
6.4.3 加载数据148
6.4.4 特征选择148
6.4.5 数据清洗149
6.4.6 创建数据集151
6.4.7 建立特征列152
6.4.8 定义输入函数154
6.4.9 创建Estimators实例对象154
6.4.10 模型训练155
6.4.11 模型评估155
6.4.12 项目源码156
6.5 自定义Estimators158
6.5.1 创建项目159
6.5.2 加载数据159
6.5.3 创建数据集159
6.5.4 定义模型159
6.5.5 定义输入函数160
6.5.6 将模型转换为Estimator160
6.5.7 模型训练161
6.5.8 模型评价161
6.5.9 项目源码161
6.6 为预训练模型定义Estimators163
6.6.1 创建项目163
6.6.2 导入VGG16163
6.6.3 创建自定义模型163
6.6.4 编译模型165
6.6.5 创建Estimator165
6.6.6 处理数据165
6.6.7 训练、评价166
6.6.8 项目源码166
总结167
第7章 文本生成169
7.1 循环神经网络170
7.1.1 朴素RNN170
7.1.2 梯度消失和梯度 171
7.1.3 LSTM(一个特例)171
7.2 文本生成174
7.2.1 模型训练174
7.2.2 预测175
7.2.3 模型定义176
7.3 生成新生儿名字176
7.3.1 创建项目176
7.3.2 下载文本177
7.3.3 处理文本177
7.3.4 定义模型180
7.3.5 编译181
7.3.6 创建checkpoints182
7.3.7 训练182
7.3.8 预测182
7.3.9 项目源码-TextGeneration BabyNames 184
7.3.10 保存、重用模型188
7.4 文本生成188
7.4.1 创建项目189
7.4.2 加载文本189
7.4.3 处理数据190
7.4.4 定义模型191
7.4.5 创建checkpoints191
7.4.6 自定义回调类192
7.4.7 模型训练193
7.4.8 结果193
7.4.9 断点续训练194
7.4.10 过程观察195
7.4.11 项目源码196
7.5 进一步工作199
总结199
第8章 语言翻译200
8.1 sequence-to-sequence 模型200
8.1.1 编码器、解码器201
8.1.2 Seq2seq模型的缺点203
8.2 注意力模型203
8.3 英语翻译为西班牙语204
8.3.1 创建项目204
8.3.2 下载数据集205
8.3.3 创建数据集205
8.3.4 数据预处理207
8.3.5 GloVe词嵌入212
8.3.6 定义编码器214
8.3.7 定义解码器215
8.3.8 注意力网络216
8.3.9 定义模型221
8.3.10 模型训练222
8.3.11 预测222
8.3.12 项目源码229
总结237
第9章 自然语言理解238
9.1 Transformer简介238
9.2 Transformer详解239
9.2.1 下载原始数据240
9.2.2 创建数据集240
9.2.3 数据预处理240
9.2.4 构建语料库240
9.2.5 准备训练集数据243
9.2.6 Transformer模型244
9.2.7 多头注意力(机制)245
9.2.8 Scaled Dot-Product 注意力模块248
9.2.9 编码器结构249
9.2.10 编码器252
9.2.11 解码器结构254
9.2.12 定义解码器257
9.2.13 Transformer模型259
9.2.14 创建训练模型261
9.2.15 损失函数261
9.2.16 优化器262
9.2.17 编译262
9.2.18 训练262
9.2.19 预测263
9.2.20 测试263
9.2.21 项目源码264
9.3 下一步是什么276
总结276
0章 图像描述278
10.1 项目简介280
10.2 创建项目280
10.3 下载数据280
10.4 解析Token文件282
10.4.1 加载数据282
10.4.2 创建列表283
10.5 加载InceptionV3模型284
10.6 准备数据集285
10.7 提取特征285
10.8 创建词汇表286
10.9 创建输入序列286
10.10 创建训练数据集287
10.11 创建模型288
10.12 创建编码器288
10.13 创建解码器288
10.13.1 Bahdanau注意力机制289
10.13.2 解码器功能289
10.13.3 解码器初始化289
10.13.4 解码器调用方法290
10.13.5 注意力得分290
10.13.6 注意力权重290
10.13.7 上下文向量291
10.13.8 解码器实现291
10.14 编码器、解码器实例化294
10.15 定义优化器和损失函数294
10.16 创建checkpoints296
10.17 训练函数297
10.18 模型训练298
10.19 模型预测298
10.20 项目源码301
总结310
1章 时间序列预测311
11.1 时间序列预测简介311
11.1.1 什么是时间序列预测311
11.1.2 预测中的问题312
11.1.3 时间序列组成312
11.1.4 单变量与多变量312
11.2 单变量时间序列分析313
11.2.1 创建项目313
11.2.2 准备数据313
11.2.3 创建训练集和测试集316
11.2.4 创建输入张量319
11.2.5 构建模型320
11.2.6 编译和训练320
11.2.7 评估320
11.2.8 预测下一个数据点322
11.2.9 预测数据点区间323
11.2.10 项目源码325
11.3 多变量时间序列分析330
11.3.1 创建项目330
11.3.2 准备数据331
11.3.3 检查平稳性331
11.3.4 探索数据332
11.3.5 准备数据333
11.3.6 创建模型335
11.3.7 训练335
11.3.8 评估335
11.3.9 预测未来点336
11.3.10 预测数据点区间337
11.3.11 项目源码339
总结343
2章 风格迁移344
12.1 快速风格迁移345
12.1.1 创建项目345
12.1.2 下载图像345
12.1.3 准备模型输入图像347
12.1.4 执行风格迁移348
12.1.5 显示输出348
12.1.6 多结果348
12.1.7 项目源码350
12.2 自定义风格迁移351
12.2.1 VGG16结构352
12.2.2 创建项目352
12.2.3 下载图像353
12.2.4 显示图像354
12.2.5 图像预处理354
12.2.6 构建模型355
12.2.7 内容损失357
12.2.8 风格损失357
12.2.9 全变分损失357
12.2.10 计算内容和风格损失358
12.2.11 Evaluator类359
12.2.12 生成输出图像359
12.2.13 显示图像360
12.2.14 项目源码361
总结365
3章 图像生成366
13.1 GAN(生成对抗网络)366
13.2 GAN如何工作366
13.3 生成器367
13.4 判别器367
13.5 数学公式368
13.6 数字生成369
13.6.1 创建项目369
13.6.2 加载数据集369
13.6.3 准备数据集370
13.6.4 定义生成器模型370
13.6.5 测试生成器372
13.6.6 定义判别器模型373
13.6.7 测试判别器374
13.6.8 定义损失函数375
13.6.9 定义新训练函数376
13.6.10 项目源码380
13.7 字母生成385
13.7.1 下载数据385
13.7.2 创建单字母数据集385
13.7.3 输出结果386
13.7.4 项目源码387
13.8 印刷体到手写体392
13.9 生成彩色卡通图像392
13.9.1 下载数据集392
13.9.2 创建数据集392
13.9.3 显示图像393
13.9.4 输出结果394
13.9.5 项目源码394
总结400
4章 图像转换401
14.1 自动编码器401
14.2 色彩空间402
14.3 网络配置402
14.3.1 Vanilla模型403
14.3.2 Merged模型403
14.3.3 使用预训练的Merged模型403
14.4 自动编码器404
14.4.1 加载数据405
14.4.2 创建训练、测试数据集406
14.4.3 准备训练数据406
14.4.4 定义模型407
14.4.5 模型训练410
14.4.6 测试410
14.4.7 未知图像预测412
14.4.8 项目源码413
以下为对购买帮助不大的评价