深度学习进阶:卷积神经网络和对象检测pdf下载pdf下载

深度学习进阶:卷积神经网络和对象检测百度网盘pdf下载

作者:
简介:本篇主要提供深度学习进阶:卷积神经网络和对象检测pdf下载
出版社:机械工业出版社自营官方旗舰店
出版时间:2020-07
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

产品特色

内容简介

本书介绍卷积神经网络的核心——错综复杂的细节和算法的微妙之处。主要包括卷积神经网络的高级主题和使用Keras和TensorFlow的对象检测。

目录

前言
致谢
第1章 简介和设置开发环境 1
1.1 GitHub存储库和配套网站 2
1.2 必备的数学知识 3
1.3 Python开发环境 3
1.3.1 Google Colab 4
1.3.2 Anaconda 6
1.3.3 Docker映像 14
1.3.4 你选择哪个选项 18
第2章 TensorFlow:高级主题 20
2.1 Eager Execution简介 21
2.1.1 启用Eager Execution 21
2.1.2 Eager Execution多项式拟合 22
2.1.3 应用Eager Execution 的MNIST数据分类 26
2.2 TensorFlow和Numpy兼容性 30
2.3 硬件加速 30
2.3.1 检测GPU的可用性 30
2.3.2 设备名称 31
2.3.3 显式设备使用 32
2.3.4 GPU加速器演示:矩阵乘法 33
2.3.5 MNIST示例上的GPU加速效果 34
2.4 仅特定层训练 36
2.4.1 仅特定层训练示例 37
2.4.2 层移除 40
2.5 Keras回调函数 42
2.5.1 自定义回调类 42
2.5.2 自定义回调类示例 44
2.6 模型存储与加载 47
2.6.1 手动保存权重 52
2.6.2 保存整个模型 53
2.7 数据集抽象类 53
2.7.1 遍历数据集 55
2.7.2 简单批处理 56
2.7.3 使用MNIST数据集进行简单批处理 57
2.7.4 在Eager Execution模式下使用tf.data.Dataset 60
2.8 本章小结 60
第3章 卷积神经网络的基础 61
3.1 核和过滤器 61
3.2 卷积 62
3.3 卷积示例 71
3.4 池化 77
3.5 CNN的构建基块 81
3.5.1 卷积层 82
3.5.2 池化层 83
3.5.3 叠加层 84
3.6 CNN的权重数量 84
3.6.1 卷积层 84
3.6.2 池化层 85
3.6.3 稠密层 85
3.7 CNN的示例:MNIST数据集 85
3.8 CNN学习的可视化 89
3.8.1 keras.backend.function()简介 89
3.8.2 核的作用效果 91
3.8.3 最大池化的作用效果 93
第4章 高级CNN与迁移学习 95
4.1 多通道卷积 95
4.2 初始网络的历史和基础 98
4.2.1 初始模块:初始版本 99
4.2.2 初始模块中的参数数量 100
4.2.3 具有降维功能的初始模块 100
4.3 多种成本函数:GoogLeNet 102
4.4 Keras中的初始模块示例 103
4.5 偏离:Keras中的自定义损失 106
4.6 如何使用预先训练过的网络 108
4.7 迁移学习简介 111
4.8 猫狗问题 114
4.8.1 迁移学习的经典方法 114
4.8.2 迁移学习实验 120
第5章 成本函数与风格转换 123
5.1 神经网络模型的构成 123
5.1.1 训练被视为优化问题 124
5.1.2 具体示例:线性回归 125
5.2 成本函数 126
5.2.1 数学符号 126
5.2.2 典型成本函数 127
5.3 神经风格转换 134
5.3.1 神经风格转换背后的数学原理 135
5.3.2 Keras中的图像风格转换示例 139
5.3.3 使用神经风格转换生成剪影 145
5.3.4 masking 146
第6章 对象分类简介 148
6.1 什么是对象定位 148
6.1.1 重要的可用数据集 150
6.1.2 交并比 152
6.2 一种简单的对象定位方法:滑动窗口法 153
6.3 分类和定位 159
6.4 基于区域的卷积神经网络 161
6.5 快速R-CNN 164
6.6 更快的R-CNN 165
第7章 对象定位:基于Python的实现 167
7.1 YOLO方法 167
7.1.1 YOLO工作机制 168
7.1.2 YOLOv2 170
7.1.3 YOLOv3 171
7.1.4 非极大值抑制 171
7.1.5 损失函数 172
7.2 YOLO在Python和OpenCV中的实现 173
7.2.1 YOLO的Darknet实现 173
7.2.2 应用Darknet测试对象检测 175
7.3 为特定图像训练YOLO模型 180
7.4 本章小结 181
第8章 组织学组织分类 183
8.1 数据分析和准备 184
8.2 建立模型 192
8.3 数据增强 201
8.3.1 水平和垂直移动 202
8.3.2 垂直翻转图像 203
8.3.3 随机旋转图像 204
8.3.4 图像缩放 205
8.3.5 综合操作 206
8.4 带有数据增强的VGG16 206
8.4.1 fit()函数 207
8.4.2 fit_generator()函数 207
8.4.3 train_on_batch()函数 208
8.4.4 训练网络 208
8.5 现在好好享受 209

前言/序言

这是我写的第二本书,它涵盖了深度学习的高级主题。本书不是面向初学者,因此需要具备一些基础知识才能理解。如果你是一位初学者,我建议你看看我出版的第一本书《深度学习:基于案例理解深度神经网络》。要理解本书,你应该有一些中级到高级的Python深度学习经验(以及一般的神经网络经验)。本书假设你知道正则化、超参数调整、小批量梯度下降,以及哪些优化器更有效(你如何理解Adam?),等等。书中还会大量使用Keras(来自TensorFlow),所以我建议你学习一些Keras的知识,这将有助于你学习书中的例子。
我试着用一种实用的方法来处理一些高级的主题,比如迁移学习或者多损失函数网络。这意味着我将解释这些概念,然后展示如何在Keras中实现这些功能。我花了很多时间准备代码,你可以在GitHub存储库中找到它,所以你在阅读本书的时候可以获取并使用这些代码。我们所要处理的高级主题的代码太长,无法对其进行完整的讨论,所以我只剖析最重要的部分。在GitHub中,你可以获得所有的代码。
虽然本书涉及多个研究领域,但并不是为经验丰富的研究人员而写。它是为那些想开始做研究的实践者而写,旨在弥合初学者和研究者之间的鸿沟。关于很高级的主题,比如对象检测,我并没有解释太多的技术细节,否则本书将变成一本研究论文集。
请记住,我在书中描述的很多东西,比如YOLO对象检测算法,都只有几年的历史。对于高级主题,理解算法的唯一方法是阅读原始论文。你应该习惯在没有书的情况下那样做。在这里,我尽力给你工具,阐述你阅读研究论文所需要的语言。然后就靠你自己了。
如果你想进一步研究深度学习,你应该习惯阅读研究论文。它们阅读起来不容易,需要花费时间。但本书可以给你提供很多工具和提示信息,帮你开启阅读。阅读并理解本书的所有内容,将会是你的研究生涯的开始。自此,你将学会阅读研究论文。如果可能的话,试着重复论文作者所做的事情(大多数情况下,考虑到深度学习所需的基础环境,你并不能重复别人的工作,但是你总可以尝试)。如果你正在寻找在项目中使用特定算法的方法,那么了解算法和阅读研究论文将为你提供足够的知识来进行项目评估,你还可以了解别人的研究现状。
我希望你喜欢本书,希望你从中学到一些东西,希望它能帮助你,但我更希望你阅读愉快,这比什么都重要!

2019年7月3日于苏黎世