Py学习  »  机器学习算法

【赠书】5本159元的《深度学习之TensorFlow工程化项目实战》

AINLP • 4 年前 • 288 次点击  



周末联合博文视点做个新书活动,送5本价值159元的《深度学习之TensorFlow工程化项目实战》,规则和之前一样,直接抽,公众号后台回复读书, 弹出抽奖小程序后点击参与,开奖时间是后天晚上8点,也就是6月18日周二20点开奖。中奖用户必须是AINLP公众号粉丝,否则视为自动放弃,请中奖的同学添加微信号 "AINLP2" ,再确认一下快递信息,过期不候。最后感谢本次活动的赞助者「博文视点」



以下是《深度学习之TensorFlow工程化项目实战》的相关介绍:


这是一本非常全面的、专注于实战的AI图书,兼容TensorFlow 1.x和2.x版本,共75个实例。

本书结构清晰、案例丰富、通俗易懂、实用性强。适合对人工智能、TensorFlow感兴趣的读者作为自学教程。另外,本书也适合社会培训学校作为培训教材,还适合大中专院校的相关专业作为教学参考书。


以下是本书的详细目录:

=====1篇  准备=====

1章  学习准备/2

∣1.1  TensorFlow能做什么/2

∣1.2  学习TensorFlow的知识/3

∣1.3  学习技巧:跟读代码/4

∣1.4  如何学习本书/4

-

2章  搭建开发环境/5

2.1  准备硬件环境/5

2.2  下载及安装Anaconda/6

2.3  安装TensorFlow/9

2.4  GPU版本的安装方法/10

∣2.4.1  在Windows中安装CUDA/10

∣2.4.2  在Linux中安装CUDA/13

∣2.4.3  在Windows中安装cuDNN/13

∣2.4.4  在Linux中安装cuDNN/14

∣2.4.5  常见错误及解决方案/16

2.5  测试显卡的常用命令/16

2.6  TensorFlow 1.x版本与2.x版本共存的解决方案/18

-

3章  实例1:用AI模型识别图像是桌子、猫、狗,还是其他/21

3.1  准备代码环境并预训练模型/21

3.2  代码实现:初始化环境变量,并载入ImgNet标签/24

3.3  代码实现:定义网络结构/25

3.4  代码实现:载入模型进行识别/26

3.5  扩展:用更多预训练模型完成图片分类任务/28

===== 2篇  基础

4章  用TensorFlow制作自己的数据集/30

4.1  快速导读/30

∣4.1.1  什么是数据集/30

∣4.1.2  TensorFlow的框架/31

∣4.1.3  什么是TFDS/31

4.2  实例2:将模拟数据制作成内存对象数据集/32

∣4.2.1  代码实现:生成模拟数据/32

∣4.2.2  代码实现:定义占位符/33

∣4.2.3  代码实现:建立会话,并获取显数据/34

∣4.2.4  代码实现:模拟数据可视化/34

∣4.2.5  运行程序/34

∣4.2.6  代码实现:创建带有迭代值并支持乱序功能的模拟数据集/35

4.3  实例3:将图片制作成内存对象数据集/37

∣4.3.1  样本介绍/38

∣4.3.2  代码实现:载入文件名称与标签/39

∣4.3.3  代码实现:生成队列中的批次样本数据/40

∣4.3.4  代码实现:在会话中使用数据集/41

∣4.3.5  运行程序/42

4.4  实例4:将Excel文件制作成内存对象数据集/42

∣4.4.1  样本介绍/43

∣4.4.2  代码实现:逐行读取数据并分离标签/43

∣4.4.3  代码实现:生成队列中的批次样本数据/44

∣4.4.4  代码实现:在会话中使用数据集/45

∣4.4.5  运行程序/46

4.5  实例5:将图片文件制作成TFRecord数据集/46

∣4.5.1  样本介绍/47

∣4.5.2  代码实现:读取样本文件的目录及标签/47

∣4.5.3  代码实现:定义函数生成TFRecord数据集/48

∣4.5.4  代码实现:读取TFRecord数据集,并将其转化为队列/49

∣4.5.5  代码实现:建立会话,将数据保存到文件/50

∣4.5.6  运行程序/51

4.6  实例6:将内存对象制作成Dataset数据集/52

∣4.6.1  如何生成Dataset数据集/52

∣4.6.2  如何使用Dataset接口/53

∣4.6.3  tf.data.Dataset接口所支持的数据集变换操作/54

∣4.6.4  代码实现:以元组和字典的方式生成Dataset对象/58

∣4.6.5  代码实现:对Dataset对象中的样本进行变换操作/59

∣4.6.6  代码实现:创建Dataset迭代器/60

∣4.6.7  代码实现:在会话中取出数据/60

∣4.6.8  运行程序/61

∣4.6.9  使用tf.data.Dataset.from_tensor_slices接口的注意事项/62

4.7  实例7:将图片文件制作成Dataset数据集/63

∣4.7.1  代码实现:读取样本文件的目录及标签/64

∣4.7.2  代码实现:定义函数,实现图片转换操作/64

∣4.7.3  代码实现:用自定义函数实现图片归一化/65

∣4.7.4  代码实现:用三方函数将图片旋转30°/65

∣4.7.5  代码实现:定义函数,生成Dataset对象/66

∣4.7.6  代码实现:建立会话,输出数据/67

∣4.7.7  运行程序/68

4.8  实例8:将TFRecord文件制作成Dataset数据集/69

∣4.8.1  样本介绍/69

∣4.8.2  代码实现:定义函数,生成Dataset对象/70

∣4.8.3  代码实现:建立会话输出数据/71

∣4.8.4  运行程序/72

4.9  实例9:在动态图中读取Dataset数据集/72

∣4.9.1  代码实现:添加动态图调用/72

∣4.9.2  制作数据集/73

∣4.9.3  代码实现:在动态图中显示数据/73

∣4.9.4  扩展示例10:在TensorFlow 2.x中操作数据集/74

4.10  实例11:在不同场景中使用数据集/77

∣4.10.1  代码实现:在训练场景中使用数据集/78

∣4.10.2  代码实现:在应用模型场景中使用数据集/79

∣4.10.3  代码实现:在训练与测试混合场景中使用数据集/80

4.11  tf.data.Dataset接口的更多应用/81

-

5章  10分钟快速训练自己的图片分类模型/82

5.1  快速导读/82

∣5.1.1  认识模型和模型检查点文件/82

∣5.1.2  了解“预训练模型”与微调(Fine-Tune)/82

∣5.1.3  学习TensorFlow中的预训练模型库——TF-Hub库/83

5.2  实例12:通过微调模型分辨男女/83

∣5.2.1  准备工作/84

∣5.2.2  代码实现:处理样本数据并生成Dataset对象/85

∣5.2.3  代码实现:定义微调模型的类MyNASNetModel/88

∣5.2.4  代码实现:构建MyNASNetModel类中的基本模型/88

∣5.2.5  代码实现:实现MyNASNetModel类中的微调操作/89

∣5.2.6  代码实现:实现与训练相关的其他方法/90

∣5.2.7  代码实现:构建模型,用于训练、测试、使用/92

∣5.2.8  代码实现:通过二次迭代来训练微调模型/94

∣5.2.9  代码实现:测试模型/96

5.3  扩展:通过摄像头实时分辨男女/100

5.4  TF-slim接口中的更多成熟模型/100

∣5.5  实例13:用TF-Hub库微调模型以评估人物的年龄/100

∣5.5.1  准备样本/101

∣5.5.2  下载TF-Hub库中的模型/102

∣5.5.3  代码实现:测试TF-Hub库中的MobileNet_V2模型/104

∣5.5.4  用TF-Hub库微调MobileNet_V2模型/107

∣5.5.5  代码实现:用模型评估人物的年龄/109

∣5.5.6  扩展:用TF-Hub库中的其他模型实现不同领域的分类任务/113

∣5.6  总结/113

∣5.7  练习题/114

∣5.7.1  基于TF-slim接口的练习/115

∣5.7.2  基于TF-Hub库的练习/115

-

6章  用TensorFlow编写训练模型的程序/117

6.1  快速导读/117

∣6.1.1  训练模型是怎么一回事/117

∣6.1.2  用“静态图”方式训练模型/117

∣6.1.3  用“动态图”方式训练模型/118

∣6.1.4  什么是估算器框架接口(Estimators API)/119

∣6.1.5  什么是tf.layers接口/120

∣6.1.6  什么是tf.keras接口/121

∣6.1.7  什么是tf.js接口/122

∣6.1.8  什么是TFLearn框架/123

∣6.1.9  该选择哪种框架/123

∣6.1.10  分配运算资源与使用分布策略/124

∣6.1.11  用tfdbg调试TensorFlow模型/127

∣6.1.12  用钩子函数(Training_Hooks)跟踪训练状态/127

∣6.1.13  用分布式运行方式训练模型/128

∣6.1.14  用T2T框架系统更方便地训练模型/128

∣6.1.15  将TensorFlow 1.x中的代码移植到2.x版本/129

∣6.1.16  TensorFlow 2.x中的新特性——自动图/130

6.2  实例14:用静态图训练一个具有保存检查点功能的回归模型/131

∣6.2.1  准备开发步骤/131

∣6.2.2  生成检查点文件/131

∣6.2.3  载入检查点文件/132

∣6.2.4  代码实现:在线性回归模型中加入保存检查点功能/132

∣6.2.5  修改迭代次数,二次训练/135

6.3  实例15:用动态图(eager)训练一个具有保存检查点功能的回归模型/136

∣6.3.1  代码实现:启动动态图,生成模拟数据/136

∣6.3.2  代码实现:定义动态图的网络结构/137

∣6.3.3  代码实现:在动态图中加入保存检查点功能/138

∣6.3.4  代码实现:按指定迭代次数进行训练,并可视化结果/139

∣6.3.5  运行程序,显示结果/140

∣6.3.6  代码实现:用另一种方法计算动态图梯度/141

∣6.3.7  扩展实例16:在动态图中获取参数变量/142

∣6.3.8  小心动态图中的参数陷阱/144

∣6.3.9  扩展实例17:在静态图中使用动态图/145

6.4  实例18:用估算器框架训练一个回归模型/147

∣6.4.1  代码实现:生成样本数据集/147

∣6.4.2  代码实现:设置日志级别/148

∣6.4.3  代码实现:实现估算器的输入函数/148

∣6.4.4  代码实现:定义估算器的模型函数/149

∣6.4.5  代码实现:通过创建config文件指定硬件的运算资源/151

∣6.4.6  代码实现:定义估算器/152

∣6.4.7  用tf.estimator.RunConfig控制更多的训练细节/153

∣6.4.8  代码实现:用估算器训练模型/153

∣6.4.9  代码实现:通过热启动实现模型微调/155

∣6.4.10  代码实现:测试估算器模型/158

∣6.4.11  代码实现:使用估算器模型/158

∣6.4.12  扩展实例19:为估算器添加日志钩子函数/159

6.5  实例20:将估算器代码改写成静态图代码/161

∣6.5.1  代码实现:复制网络结构/161

∣6.5.2  代码实现:重用输入函数/163

∣6.5.3  代码实现:创建会话恢复模型/163

∣6.5.4  代码实现:继续训练/163

6.6  实例21:用tf.layers API在动态图上识别手写数字/165

∣6.6.1  代码实现:启动动态图并加载手写图片数据集/165

∣6.6.2  代码实现:定义模型的类/166

∣6.6.3  代码实现:定义网络的反向传播/167

∣6.6.4  代码实现:训练模型/167

6.7  实例22:用tf.keras API训练一个回归模型/168

∣6.7.1  代码实现:用model类搭建模型/168

∣6.7.2  代码实现:用sequential类搭建模型/169

∣6.7.3  代码实现:搭建反向传播的模型/171

∣6.7.4  代码实现:用两种方法训练模型/172

∣6.7.5  代码实现:获取模型参数/172

∣6.7.6  代码实现:测试模型与用模型进行预测/173

∣6.7.7  代码实现:保存模型与加载模型/173

∣6.7.8  代码实现:将模型导出成JSON文件,再将JSON文件导入模型/175

∣6.7.9  扩展实例23:在tf.keras接口中使用预训练模型ResNet/176

∣6.7.10  扩展:在动态图中使用tf.keras接口/178

∣6.7.11  扩展实例24:在静态图中使用tf.keras接口/178

6.8  实例25:用tf.js接口后方训练一个回归模型/180

∣6.8.1  代码实现:在HTTP的头标签中添加tfjs模块/180

∣6.8.2  代码实现:用JavaScript脚本实现回归模型/181

∣6.8.3  运行程序:在浏览器中查看效果/181

∣6.8.4  扩展:tf.js 接口的应用场景/182

6.9  实例26:用估算器框架实现分布式部署训练/182

∣6.9.1  运行程序:修改估算器模型,使其支持分布式/182

∣6.9.2  通过TF_CONFIG进行分布式配置/183

∣6.9.3  运行程序/185

∣6.9.4  扩展:用分布策略或KubeFlow框架进行分布式部署/186

6.10  实例27:在分布式估算器框架中用tf.keras接口训练ResNet模型,识别图片中是橘子还是苹果/186

∣6.10.1  样本准备/186

∣6.10.2  代码实现:准备训练与测试数据集/187

∣6.10.3  代码实现:制作模型输入函数/187

∣6.10.4  代码实现:搭建ResNet模型/188

∣6.10.5  代码实现:训练分类器模型/189

∣6.10.6  运行程序:评估模型/190

∣6.10.7  扩展:全连接网络的优化/190

6.11  实例28:在T2T框架中用tf.layers接口实现MNIST数据集分类/191

∣6.11.1  代码实现:查看T2T框架中的数据集(problems)/191

∣6.11.2  代码实现:构建T2T框架的工作路径及下载数据集/192

∣6.11.3  代码实现:在T2T框架中搭建自定义卷积网络模型/193

∣6.11.4  代码实现:用动态图方式训练自定义模型/194

∣6.11.5  代码实现:在动态图中用metrics模块评估模型/195

6.12  实例29:在T2T框架中,用自定义数据集训练中英文翻译模型/196

∣6.12.1  代码实现:声明自己的problems数据集/196

∣6.12.2  代码实现:定义自己的problems数据集/197

∣6.12.3  在命令行下生成tfrecoder格式的数据/198

∣6.12.4  查找T2T框架中的模型及参,并用指定的模型及参进行训练/199

∣6.12.5  用训练好的T2T框架模型进行预测/201

∣6.12.6  扩展:在T2T框架中,如何选取合适的模型及参/202

6.13  实例30:将TensorFlow 1.x中的代码升级为可用于2.x版本的代码/203

∣6.13.1  准备工作:创建Python虚环境/203

∣6.13.2  使用工具转换源码/204

∣6.13.3  修改转换后的代码文件/204

∣6.13.4  将代码升级到TensorFlow 2.x版本的经验总结/205

3篇  进阶

-7章  特征工程——会说话的数据/208

7.1  快速导读/208

∣7.1.1  特征工程的基础知识/208

∣7.1.2  离散数据特征与连续数据特征/209

∣7.1.3  了解特征列接口/210

∣7.1.4  了解序列特征列接口/210

∣7.1.5  了解弱学习器接口——梯度提升树(TFBT接口)/210

∣7.1.6  了解特征预处理模块(tf.Transform)/211

∣7.1.7  了解因子分解模块/212

∣7.1.8  了解加权矩阵分解算法/212

∣7.1.9  了解Lattice模块——点阵模型/213

∣7.1.10  联合训练与集成学习/214

7.2  实例31:用wide_deep模型预测人口收入/214

∣7.2.1  了解人口收入数据集/214

∣7.2.2  代码实现:探索性数据分析/217

∣7.2.3  认识wide_deep模型/218

∣7.2.4  部署代码文件/219

∣7.2.5  代码实现:初始化样本常量/220

∣7.2.6  代码实现:生成特征列/220

∣7.2.7  代码实现:生成估算器模型/222

∣7.2.8  代码实现:定义输入函数/223

∣7.2.9  代码实现:定义用于导出冻结图文件的函数/224

∣7.2.10  代码实现:定义类,解析启动参数/225

∣7.2.11  代码实现:训练和测试模型/226

∣7.2.12  代码实现:使用模型/227

∣7.2.13  运行程序/228

7.3  实例32:用弱学习器中的梯度提升树算法预测人口收入/229

∣7.3.1  代码实现:为梯度提升树模型准备特征列/230

∣7.3.2  代码实现:构建梯度提升树模型/230

∣7.3.3  代码实现:训练并导出梯度提升树模型/231

∣7.3.4  代码实现:设置启动参数,运行程序/232

。。。。。。。。。。。

∣14.4.1  项目背景/737

∣14.4.2  技术方案/738

∣14.4.3  方案缺陷/738

∣14.4.4  工程化补救方案/738

14.5  实例75:智能冰箱产品——硬件成本之痛/739

∣14.5.1  智能冰箱系列的产品背景/739

∣14.5.2  智能冰箱的技术基础/740

∣14.5.3  真实的非功能性需求——低成本/740

∣14.5.4  未来的技术趋势及应对策略/741

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/34747
 
288 次点击