新書推薦:
《
无端欢喜
》
售價:HK$
78.2
《
股票大作手操盘术
》
售價:HK$
55.2
《
何以中国·何谓唐代:东欧亚帝国的兴亡与转型
》
售價:HK$
89.7
《
一间只属于自己的房间 女性主义先锋伍尔夫代表作 女性精神独立与经济独立的象征,做自己,比任何事都更重要
》
售價:HK$
45.8
《
泉舆日志 幻想世界宝石生物图鉴
》
售價:HK$
137.8
《
养育女孩 : 官方升级版
》
售價:HK$
51.8
《
跨界:蒂利希思想研究
》
售價:HK$
109.8
《
千万别喝南瓜汤(遵守规则绘本)
》
售價:HK$
45.9
|
編輯推薦: |
通过TensorFlow图像处理,全面掌握深度学习模型及应用全面深入讲解反馈神经网络和卷积神经网络理论体系结合深度学习实际案例的实现,掌握TensorFlow程序设计方法和技巧着重深度学习实际应用程序开发能力和解决问题能力的培养
|
內容簡介: |
本书总的指导思想是在掌握深度学习的基本知识和特性的基础上,培养使用TensorFlow进行实际编程以解决图像处理相关问题的能力。全书力求深入浅出,通过通俗易懂的语言和详细的程序分析,介绍TensorFlow的基本用法、高级模型设计和对应的程序编写。 本书共22章,内容包括Python类库的安装和使用、TensorFlow基本数据结构和使用、TensorFlow数据集的创建与读取、人工神经网络、反馈神经网络、全卷积神经网络的理论基础、深度学习模型的创建、模型的特性、算法、ResNet、Slim、GAN等。本书强调理论联系实际,重点介绍TensorFlow编程解决图像识别的应用,提供了大量数据集,并以代码的形式实现了深度学习模型,以供读者参考。 本书既可作为学习人工神经网络、深度学习、TensorFlow程序设计以及图像处理等相关内容的程序设计人员培训和自学用书,也可作为高等院校和培训机构相关专业的教材。
|
關於作者: |
王晓华,高校资深计算机专业讲师,给研究生和本科生讲授面向对象程序设计、数据结构、Hadoop程序设计等相关课程。主要研究方向为云计算、数据挖掘。曾主持和参与多项国家和省级科研课题,独立完成一项科研成果获省级成果认定,发表过多篇论文,申请有一项专利。著有《Spark MLlib机器学习实践》等图书。
|
目錄:
|
目 录
目 录
第1章 星星之火 1
1.1 计算机视觉与深度学习 1
1.1.1 人类视觉神经的启迪 2
1.1.2 计算机视觉的难点与人工神经网络 3
1.1.3 应用深度学习解决计算机视觉问题 4
1.2 计算机视觉学习的基础与研究方向 5
1.2.1 学习计算机视觉结构图 5
1.2.2 计算机视觉的学习方式和未来趋势 6
1.3 本章小结 7
第2章 Python的安装与使用 8
2.1 Python基本安装和用法 8
2.1.1 Anaconda的下载与安装 9
2.1.2 Python编译器PyCharm的安装 12
2.1.3 使用Python计算softmax函数 16
2.2 Python常用类库中的threading 17
2.2.1 threading库的使用 18
2.2.2 threading模块中最重要的Thread类 18
2.2.3 threading中的Lock类 19
2.2.4 threading中的join类 20
2.3 本章小结 21
第3章 深度学习的理论基础机器学习 22
3.1 机器学习基本分类 22
3.1.1 基于学科的分类 22
3.1.2 基于学习模式的分类 23
3.1.3 基于应用领域的分类 23
3.2 机器学习基本算法 24
3.2.1 机器学习的算法流程 24
3.2.2 基本算法的分类 25
3.3 算法的理论基础 26
3.3.1 小学生的故事求圆的面积 27
3.3.2 机器学习基础理论函数逼近 27
3.4 回归算法 29
3.4.1 函数逼近经典算法线性回归 29
3.4.2 线性回归的姐妹逻辑回归 31
3.5 机器学习的其他算法决策树 32
3.5.1 水晶球的秘密 32
3.5.2 决策树的算法基础信息熵 33
3.5.3 决策树的算法基础ID3算法 34
3.6 本章小结 35
第4章 Python类库的使用数据处理及可视化展示 37
4.1 从小例子起步NumPy的初步使用 37
4.1.1 数据的矩阵化 37
4.1.2 数据分析 39
4.1.3 基于统计分析的数据处理 40
4.2 图形化数据处理Matplotlib包使用 41
4.2.1 差异的可视化 41
4.2.2 坐标图的展示 42
4.2.3 玩个大的 44
4.3 深度学习理论方法相似度计算 46
4.3.1 基于欧几里得距离的相似度计算 46
4.3.2 基于余弦角度的相似度计算 47
4.3.3 欧几里得相似度与余弦相似度的比较 48
4.4 数据的统计学可视化展示 49
4.4.1 数据的四分位 49
4.4.2 数据的四分位示例 50
4.4.3 数据的标准化 53
4.4.4 数据的平行化处理 55
4.4.5 热点图属性相关性检测 57
4.5 Python实战某地降水的关系处理 58
4.5.1 不同年份的相同月份统计 58
4.5.2 不同月份之间的增减程度比较 59
4.5.3 每月降水不相关吗 60
4.6 本章小结 61
第5章 OpenCV的基础使用 62
5.1 OpenCV基本的图片读取 62
5.1.1 基本的图片存储格式 62
5.1.2 图像的读取与存储 64
5.1.3 图像的转换 65
5.1.4 使用NumPy模块对图像进行编辑 66
5.2 OpenCV的卷积核处理 68
5.2.1 计算机视觉的三种不同色彩空间 68
5.2.2 卷积核与图像特征提取 68
5.2.3 卷积核进阶 70
5.3 本章小结 72
第6章 OpenCV与TensorFlow的融合 73
6.1 图片的自由缩放以及边缘裁剪 73
6.1.1 图像的扩缩裁挖 73
6.1.2 图像色调的调整 74
6.1.3 图像的旋转、平移和翻转 76
6.2 使用OpenCV扩大图像数据库 77
6.2.1 图像的随机裁剪 77
6.2.2 图像的随机旋转变换 78
6.2.3 图像色彩的随机变换 79
6.2.4 对鼠标的监控 80
6.3 本章小结 81
第7章 Lets play TensorFlow 82
7.1 TensorFlow游乐场 82
7.1.1 I want to play a game 82
7.1.2 TensorFlow游乐场背后的故事 86
7.1.3 如何训练神经网络 88
7.2 初识Hello TensorFlow 89
7.2.1 TensorFlow名称的解释 89
7.2.2 TensorFlow基本概念 89
7.2.3 TensorFlow基本架构 92
7.3 本章小结 93
第8章 Hello TensorFlow,从0到1 94
8.1 TensorFlow的安装 94
8.2 TensorFlow常量、变量和数据类型 96
8.3 TensorFlow矩阵计算 100
8.4 Hello TensorFlow 102
8.5 本章小结 107
第9章 TensorFlow重要算法基础 108
9.1 BP神经网络简介 108
9.2 BP神经网络中的两个基础算法 110
9.2.1 最小二乘法(LS算法)详解 111
9.2.2 道士下山的故事梯度下降算法 113
9.3 TensorFlow实战房屋价格的计算 116
9.3.1 数据收集 117
9.3.2 模型的建立与计算 117
9.3.3 TensorFlow程序设计 119
9.4 反馈神经网络反向传播算法 121
9.4.1 深度学习基础 121
9.4.2 链式求导法则 122
9.4.3 反馈神经网络原理与公式推导 124
9.4.4 反馈神经网络原理的激活函数 129
9.4.5 反馈神经网络原理的Python实现 130
9.5 本章小结 136
第10章 TensorFlow数据的生成与读取详解 137
10.1 TensorFlow的队列 137
10.1.1 队列的创建 137
10.1.2 线程同步与停止 141
10.1.3 队列中数据的读取 142
10.2 CSV文件的创建与读取 143
10.2.1 CSV文件的创建 143
10.2.2 CSV文件的读取 144
10.3 TensorFlow文件的创建与读取 146
10.3.1 TFRecords文件的创建 146
10.3.2 TFRecords文件的读取 149
10.3.3 图片文件的创建与读取 150
10.4 本章小结 155
第11章 回归分析从TensorFlow 陷阱与细节开始 156
11.1 TensorFlow线性回归 156
11.1.1 线性回归详解与编程实战 157
11.1.2 线性回归编程中的陷阱与细节设计 159
11.1.3 TensorFlow多元线性回归 163
11.2 多元线性回归实战编程 166
11.2.1 多元线性回归实战的编程房屋价格计算 166
11.2.2 多元线性回归实战的推广数据的矩阵化 168
11.3 逻辑回归详解 174
11.3.1 逻辑回归不是回归算法 174
11.3.2 常用的逻辑回归特征变化与结果转换 175
11.3.3 逻辑回归的损失函数 176
11.3.4 逻辑回归编程实战胃癌的转移判断 178
11.4 本章小结 181
第12章 TensorFlow编程实战MNIST手写体识别 183
12.1 MNIST数据集 183
12.1.1 MNIST是什么 183
12.1.2 MNIST数据集的特征和标签 185
12.2 MNIST数据集实战编程 187
12.2.1 softmax激活函数 187
12.2.2 MNIST编程实战 189
12.2.3 为了更高的准确率 192
12.2.4 增加更多的深度 193
12.3 初识卷积神经网络 195
12.3.1 卷积神经网络 196
12.3.2 卷积神经网络的程序编写 196
12.3.3 多层卷积神经网络的程序编写 199
12.4 本章小结 201
第13章 卷积神经网络原理 202
13.1 卷积运算基本概念 202
13.1.1 卷积运算 203
13.1.2 TensorFlow中卷积函数实现详解 204
13.1.3 使用卷积函数对图像感兴趣区域进行标注 208
13.1.4 池化运算 210
13.1.5 使用池化运算加强卷积特征提取 212
13.2 卷积神经网络的结构详解 213
13.2.1 卷积神经网络原理 213
13.2.2 卷积神经网络的应用实例LeNet5网络结构 216
13.2.3 卷积神经网络的训练 218
13.3 TensorFlow实现LeNet实例 219
13.3.1 LeNet模型分解 219
13.3.2 使用ReLU激活函数代替sigmoid 223
13.3.3 程序的重构模块化设计 227
13.3.4 卷积核和隐藏层参数的修改 231
13.4 本章小结 237
第14章 卷积神经网络公式推导与应用 238
14.1 反馈神经网络算法 238
14.1.1 经典反馈神经网络正向与反向传播公式推导 238
14.1.2 卷积神经网络正向与反向传播公式推导 241
14.2 使用卷积神经网络分辨CIFAR-10数据集 249
14.2.1 CIFAR-10数据集下载与介绍 249
14.2.2 CIFAR-10模型的构建与数据处理 251
14.2.3 CIFAR-10模型的细节描述与参数重构 260
14.3 本章小结 261
第15章 猫狗大战实战AlexNet 262
15.1 AlexNet简介 263
15.1.1 AlexNet模型解读 263
15.1.2 AlexNet程序的实现 266
15.2 实战猫狗大战AlexNet模型 270
15.2.1 数据的收集与处理 271
15.2.2 模型的训练与存储 276
15.2.3 使用训练过的模型预测图片 281
15.2.4 使用Batch_Normalization正则化处理数据集 288
15.3 本章小结 297
第16章 我们都爱Finetuning复用VGG16进行猫狗大战 298
16.1 TensorFlow模型保存与恢复详解 298
16.1.1 TensorFlow保存和恢复函数的使用 298
16.1.2 多次模型的保存和恢复 299
16.1.3 实战TensorFlow模型的存储与恢复 300
16.2 更为细化的保存和恢复方法 304
16.2.1 存储文件的解读 304
16.2.2 更细节地对模型进行恢复和处理 305
16.3 VGGNet实现 309
16.3.1 VGGNet模型解读及与AlexNet比较 309
16.3.2 VGGNet模型的TensorFlow实现 311
16.4 使用已训练好的模型和权重复现VGGNet 315
16.4.1 npz文件的读取 316
16.4.2 复用的VGGNet模型定义 317
16.4.3 保存复用的VGGNet模型为TensorFlow格式 323
16.5 猫狗大战V2 Finetuning使用VGGNet进行图像判断 324
16.5.1 Finetuning基本理解 324
16.5.2 猫狗大战Finetuning使用VGGNet 326
16.6 本章小结 336
第17章 开始找工作吧深度学习常用面试问题答疑 337
17.1 深度学习面试常用问题答疑 337
17.1.1 如何降低过拟合 338
17.1.2 全连接层详解 342
17.1.3 激活函数起作用的原因 342
17.1.4 卷积后的图像大小 343
17.1.5 池化层的作用 343
17.1.6 为什么在最后分类时使用softmax而不是传统的SVM 343
17.2 卷积神经网络调优面试问答汇总 343
17.2.1 数据集的注意事项 343
17.2.2 卷积模型训练的注意事项 344
17.3 NIN模型介绍 344
17.3.1 NIN模型简介 344
17.3.2 猫狗大战NIN的代码实现 345
17.4 deeper is betterGoogLeNet 模型介绍 350
17.4.1 GoogLeNet模型的介绍 350
17.4.2 GoogLeNet模型单元的TensorFlow实现 352
17.4.3 GoogLeNet模型的一些注意事项 354
17.5 本章小结 355
第18章 暂时的冠军ResNet简介及TensorFlow实现 356
18.1 ResNet模型简介 356
18.1.1 ResNet模型定义 357
18.1.2 定义工具的TensorFlow实现 359
18.1.3 ResNet模型的TensorFlow实现 360
18.2 新兴的卷积神经模型简介 362
18.2.1 SqueezeNet模型简介 362
18.2.2 Xception模型简介 365
18.3 本章小结 366
第19章 TensorFlow高级API Slim使用入门 368
19.1 Slim详解 368
19.2 Slim使用方法介绍 369
19.2.1 Slim中变量使用方法介绍 369
19.2.2 Slim中层的使用方法介绍 373
19.2.3 Slim中参数空间使用方法介绍 375
19.3 实战使用Slim定义VGG16 377
19.3.1 VGG16结构图和TensorFlow定义 377
19.3.2 使用Slim创建VGG16并训练 379
19.4 实战使用Slim设计多层感知器(MLP) 382
19.4.1 MLP的Slim实现 383
19.4.2 MLP模型的评估 392
19.5 Slim数据读取方式 394
19.5.1 Slim数据读取格式 394
19.5.2 生成TFRecords格式数据 395
19.5.3 使用Slim读取TFRecords格式数据 398
19.6 本章小结 399
第20章 Slim使用进阶 400
20.1 使用Slim创建卷积神经网络(CNN) 400
20.1.1 数据集获取 400
20.1.2 创建卷积神经网络 403
20.1.3 训练Slim创建的卷积网络 405
20.2 使用Slim预训练模型进行Finetuning 407
20.2.1 Inception-ResNet-v2模型简介 407
20.2.2 使用Inception-ResNet-v2预训练模型参数 408
20.2.3 修改Inception-ResNet-v2预训练模型输出层级 415
20.3 本章小结 419
第21章 全卷积神经网络图像分割入门 420
21.1 全卷积神经网络进行图像分割的理论基础 420
21.1.1 全连接层和全卷积层 421
21.1.2 反卷积(upsampling)计算 423
21.2 全卷积神经网络进行图像分割的分步流程与编程基础 425
21.2.1 使用VGG16进行图像识别 425
21.2.2 上采样(upsampling)详解 428
21.2.3 一种常用的卷积核双线插值 430
21.2.4 实战使用VGG16全卷积网络进行图像分割 434
21.3 本章小结 438
第22章 不服就是GAN对抗生成网络 439
22.1 对抗生成网络详解 439
22.1.1 GAN的基本原理介绍 440
22.1.2 简单GAN的TensorFlow实现 443
22.2 从0到1实战:使用GAN生成手写体数字 449
22.2.1 分步骤简介 450
22.2.2 GAN网络的训练 455
22.3 本章小结 458
|
內容試閱:
|
推荐序
第一次见王晓华是他来我这里做培训,我正好路过门口,听见教室里笑声震天,就好奇地伸头进去看看。一个胖胖的男孩在给一群我们新招的工作人员做培训,好像是在讲代码方面的问题。可以看得出他讲得非常好,底下的听讲者都在抬着头认真听他讲课。要知道其中不乏有清华、北大的佼佼者,而他,却能够轻车熟路地引导他们的思路,驾驭整个课堂。
后来正式认识他也是机缘巧合,一位计算机专业的老同事问我有没有兴趣审阅一本云计算方面的书,当时云计算正好是IT热点,我也想乘此机会做一个了解,就欣然答应。因为我平常也做计算机方面的教学工作,对于教材好坏的敏感性是非常强烈的。有些书虽然署名是中国人,但是很多内容直接就是对外国教材的翻译,既然翻译就要做到信达雅,而往往连最基本的信都做不到,根本不适合初学者或者学生使用。因此当刚拿到这本书的初稿时,我也有疑虑是不是又是一本翻译的书,他写的书我是不是能看懂。抱着这些疑虑,我翻开书稿的第一页,从前言开始,逐渐向我们展示了云计算编程中一个美丽而神秘的世界。全书使用浅显易懂的语句,对每个知识点进行重点分析,同时列举了大量的编程实例,向读者讲解每个类、每个语句的用法,还特别细心地对每条代码做出注释。其用心之严密,着实让人感叹。
后来我们正式见面于南京工业大学的怡园,那天我记得很清楚,外面细雨打着蕉叶,我品着绿茶慢慢地陷入沉思。一声殷老师将我从思索的世界拉回现实。面前站立着一个戴着眼镜,略微显得羞涩而紧张的男孩,从他那胖胖的身形,我依稀觉得在哪见过。哦,你就是王晓华。嗯,是的,我是王晓华,谢谢您抽时间给我审稿。他首先向我表示感谢。我突然感觉有点不好意思,因为其实我也不是太懂,部分是出于学习的目的审阅此书,而此时这个年轻人一口一个殷老师地叫着,谦虚得很。
此次见面,我们交谈甚欢,从云计算谈起,谈到了TensorFlow的开源,谈到了深度学习对商业领域产生的影响和其中蕴含的商机,又谈到了人工智能会对未来社会带来的变革。他一改初见我时青涩稚嫩的形象,侃侃而谈。可以看得出他是对这行真正用心去了解的人,不由得对他刮目相看,并萌生了为其作序的想法。这也就是这篇序的来历。
说了那么多,下面介绍一下这本书吧。首先这本书是介绍人工智能和深度学习的。可能不少人和曾经的我一样有很多疑问,许多以前必须由人工完成的任务,人工神经网络能否为我们代劳?很多人不相信,直至神经网络真的做到了这一点。
人工神经网络在各个领域逐步深入人类社会,基于卷积神经网络的图像描述可以给每幅图片打上独特的标签,借助于循环神经网络的语音识别将推动物联网革命,人工智能绝对是一场深刻的革命,确实在改变我们的生活。虽然我在此仅仅提及了图像、语音和行为三个方面,但是对于人工智能的机会来说远不止这三个方面,在自然语言处理、生物技术等方面,人工智能也有很多东西可以做,这些领域都有创新正在发生,人工智能也可以更多地被应用到机器人的开发中。
我觉得,这本书是写给有志于深度学习的人看的,书中不仅有TensorFlow程序设计的方法介绍,更多的是传递作者对深度学习和人工智能未来发展的思考。我希望这本书能够将更多的有志之士带到这一条通向未来的辉煌之路上来,从而造就更多的人才。
南京工业大学 殷芳
|
|