深度学习之PyTorch实战计算机视觉
  • 推荐3
  • 收藏11
  • 浏览7.1K

深度学习之PyTorch实战计算机视觉

唐进民 (作者) 

  • 丛  书:博文视点AI系列
  • 书  号:978-7-121-34144-1
  • 出版日期:2018-05-22
  • 页  数:284
  • 开  本:16(185*235)
  • 出版状态:上市销售
  • 维护人:张国霞
电子书 ¥49.00
购买电子书
纸质版 ¥79.00
计算机视觉、自然语言处理和语音识别是目前深度学习领域很热门的三大应用方向,本书旨在帮助零基础或基础较为薄弱的读者入门深度学习,达到能够独立使用深度学习知识处理计算机视觉问题的水平。通过阅读本书,读者将学到人工智能的基础概念及Python编程技能,掌握PyTorch的使用方法,学到深度学习相关的理论知识,比如卷积神经网络、循环神经网络、自动编码器,等等。在掌握深度学习理论和编程技能之后,读者还会学到如何基于PyTorch深度学习框架实战计算机视觉。本书中的大量实例可让读者在循序渐进地学习的同时,不断地获得成就感。
本书面向对深度学习技术感兴趣、但是相关基础知识较为薄弱或者零基础的读者。
零基础掌握深度学习、Python、PyTorch、神经网络、迁移学习及相关数学知识,用PyTorch实战计算机视觉
唐进民,深入理解深度学习与计算机视觉知识体系,有扎实的Python、PyTorch和数学功底,长期活跃于GitHub、知乎等平台,并分享与深度学习相关的文章,具有一定的阅读量和人气。此前在某AI在线教育平台兼职机器学习入门Mentor,辅导新学员入门机器学习和深度学习。
“人工智能”(Artificial Intelligence,简称AI)一词在很久以前就有了,被大众津津乐道却是近几年的事情,这和机器学习(Machine Learning)、深度学习(Deep Learning)等技术的崛起有着千丝万缕的联系,而这一切又得益于大数据的发展和计算机处理性能的不断提升。
本书将带领读者了解人工智能的相关技术和发展近况,通过一些实例来掌握必备的技能,并能够独立使用相关技术完成对计算机视觉问题的分析和处理。本书各个章节的知识要点如下。
第1章主要介绍人工智能、神经网络和计算机视觉的发展历史,让读者对这一领域有一个全面的认识。
第2章主要介绍在理解和掌握后面章节的内容时需要用到的数学知识,以及在实战操作的过程中进行环境搭建及安装相关软件的方法。本书中数学相关的大部分知识都集中在本章中,其主要目的是让读者先对这个领域的知识产生兴趣,这样才能更好地深入学习和研究。在本章中不会插入大量的数学公式,这样做会让初学者望而却步,在不断消化公式的过程中丧失学习兴趣和动力。通过不断实战来学习,可以累积成就感,这种自顶向下的方式不失为一种更好的学习方法。
第3章主要介绍在学习神经网络的过程中会经常遇到的一些概念和定义。比如后向传播(Back Propagation)、激活函数(Activation Function)、监督学习(Supervised Learning)、无监督学习(Unsupervised Learning),等等,这也是为之后学习深度神经网络做准备。在搭建一个完整的深度神经网络模型时,就需要不断地用到本章的内容了。
第4章主要介绍深度神经网络中的卷积神经网络(Convolutional Neural Network,简称CNN)。首先介绍卷积层、全连接层、池化层等相关内容,之后又列举了目前主流的一些卷积神经网络架构,并对比它们之间的相同点和不同点,以便于掌握不同的卷积神经网络的结构和技术细节。
第5章主要介绍Python编程语言的相关知识,目的是让读者掌握Python语言的语法定义和使用方式,并使用Python语言进行功能代码的编写;还会介绍在处理计算机视觉问题时需要用到的两个重要的Python包:NumPy和Matplotlib。本章内容丰富,而且Python语言自身就很简单且易上手,读者很快就能掌握Python这门编程语言。
第6章主要介绍如何使用PyTorch深度学习框架。PyTorch非常简单易用,能够根据我们的需求快速搭建出我们想要的深度神经网络模型,这在很大程度上归功于PyTorch基于动态图计算的特性,它与基于静态图计算的深度学习框架相比,有更多的优势,比如PyTorch不仅速度快,还有许多功能强大的包可供调用。本章先介绍PyTorch中常用的包和类的使用方法;然后介绍如何使用PyTorch中的一些自动化方法来提升代码的执行效率和简洁度;最后会通过一个综合实例,使用本章的内容解决一个实际的计算机视觉问题。
第7章一开始就是一个关于计算机视觉问题的实战,介绍了一种非常实用的深度神经网络复用方法,即迁移学习(Transfer Learning)。在掌握迁移学习的原理之后,会基于PyTorch对迁移学习进行实战,并解决比之前更复杂的计算机视觉问题。对实战代码的解析会贯穿本章,让读者更深刻地理解代码。
第8章讲解如何基于PyTorch实战图像风格迁移(Neural Style)。通过对本章的学习,读者会发现,利用卷积神经网络不仅能处理图片分类问题,只要有想法和创意,还能做更多、更有趣的事情。
第9章介绍一种多模型融合方法,在现有的模型遭遇性能提升瓶颈时,可通过搭建一种经过科学融合的新模型达到超过预期的泛化能力。本章依然会基于PyTorch对多模型融合方法进行实战。
第10章介绍一种区别于卷积神经网络的新神经网络结构,即循环神经网络(Recurrent Neural Network,简称RNN)。不同于卷积神经网络强大的图像特征提取能力,循环神经网络主要用于处理有序输入的数据。为了方便读者理解模型如何对有序数据进行处理,本章会基于PyTorch使用循环神经网络来处理一个计算机视觉问题。
第11章讲解自动编码器,它是一种使用非监督学习方法的神经网络。自编码器能够实现很多功能,本章会选取一个图像去噪问题来进行自动编码器实战。
本书前6章的内容可作为后5章的铺垫,前6章的知识偏向基础和理论,不过,只有掌握了这些内容,才能从容应对后5章的实战。这个循序渐进的过程会让读者对知识的理解更深刻,技能提升更迅速。
人工智能在近几年大热,网络上的相关资料良莠不齐且没有体系,即使有优秀的干货,对于基础薄弱的初学者来说起点也太高。本书也是出于对这一现状的考虑,通过从基础到实战、由浅入深的过程,让读者基于PyTorch来使用深度学习方法实际解决一些计算机视觉相关的问题,这样,读者在获取知识的过程中会更有成就感,学起来也会更积极、主动。
感谢家人的鼓励和支持,也感谢张国霞编辑的帮助和付出,笔者才能以更好的方式将这部作品呈现在读者的面前。希望读者能遵从敏捷学习的思路,多实战、多思考并不断进步。在本书中会有很多实例,读者可以举一反三、不断实践,在发现问题时要多思考,毕竟本书涉及的内容有限,若想让自己的能力得到更高层次的提升,则需要获取更多的资料来充实自己。

唐进民
2018年5月




轻松注册成为博文视点社区用户(www.broadview.com.cn),扫码直达本书页面。
◎ 提交勘误:您对书中内容的修改意见可在 提交勘误 处提交,若被采纳,将获赠博文视点社区积分(在您购买电子书时,积分可用来抵扣相应金额)。
◎ 交流互动:在页面下方 读者评论 处留下您的疑问或观点,与我们和其他读者一同学习交流。
页面入口:http://www.broadview.com.cn/34144


目录

目录
第1章 浅谈人工智能、神经网络和计算机视觉 1
1.1 人工还是智能 1
1.2 人工智能的三起两落 2
1.2.1 两起两落 2
1.2.2 卷土重来 3
1.3 神经网络简史 5
1.3.1 生物神经网络和人工神经网络 5
1.3.2 M-P模型 6
1.3.3 感知机的诞生 9
1.3.4 你好,深度学习 10
1.4 计算机视觉 11
1.5 深度学习+ 12
1.5.1 图片分类 12
1.5.2 图像的目标识别和语义分割 13
1.5.3 自动驾驶 13
1.5.4 图像风格迁移 14

第2章 相关的数学知识 15
2.1 矩阵运算入门 15
2.1.1 标量、向量、矩阵和张量 15
2.1.2 矩阵的转置 17
2.1.3 矩阵的基本运算 18
2.2 导数求解 22
2.2.1 一阶导数的几何意义 23
2.2.2 初等函数的求导公式 24
2.2.3 初等函数的和、差、积、商求导 26
2.2.4 复合函数的链式法则 27

第3章 深度神经网络基础 29
3.1 监督学习和无监督学习 29
3.1.1 监督学习 30
3.1.2 无监督学习 32
3.1.3 小结 33
3.2 欠拟合和过拟合 34
3.2.1 欠拟合 34
3.2.2 过拟合 35
3.3 后向传播 36
3.4 损失和优化 38
3.4.1 损失函数 38
3.4.2 优化函数 39
3.5 激活函数 42
3.5.1 Sigmoid 44
3.5.2 tanh 45
3.5.3 ReLU 46
3.6 本地深度学习工作站 47
3.6.1 GPU和CPU 47
3.6.2 配置建议 49

第4章 卷积神经网络 51
4.1 卷积神经网络基础 51
4.1.1 卷积层 51
4.1.2 池化层 54
4.1.3 全连接层 56
4.2 LeNet模型 57
4.3 AlexNet模型 59
4.4 VGGNet模型 61
4.5 GoogleNet 65
4.6 ResNet 69

第5章 Python基础 72
5.1 Python简介 72
5.2 Jupyter Notebook 73
5.2.1 Anaconda的安装与使用 73
5.2.2 环境管理 76
5.2.3 环境包管理 77
5.2.4 Jupyter Notebook的安装 79
5.2.5 Jupyter Notebook的使用 80
5.2.6 Jupyter Notebook常用的快捷键 86
5.3 Python入门 88
5.3.1 Python的基本语法 88
5.3.2 Python变量 92
5.3.3 常用的数据类型 94
5.3.4 Python运算 99
5.3.5 Python条件判断语句 107
5.3.6 Python循环语句 109
5.3.7 Python中的函数 113
5.3.8 Python中的类 116
5.4 Python中的NumPy 119
5.4.1 NumPy的安装 119
5.4.2 多维数组 119
5.4.3 多维数组的基本操作 125
5.5 Python中的Matplotlib 133
5.5.1 Matplotlib的安装 133
5.5.2 创建图 133

第6章 PyTorch基础 142
6.1 PyTorch中的Tensor 142
6.1.1 Tensor的数据类型 143
6.1.2 Tensor的运算 146
6.1.3 搭建一个简易神经网络 153
6.2 自动梯度 156
6.2.1 torch.autograd和Variable 156
6.2.2 自定义传播函数 159
6.3 模型搭建和参数优化 162
6.3.1 PyTorch之torch.nn 162
6.3.2 PyTorch之torch.optim 167
6.4 实战手写数字识别 169
6.4.1 torch和torchvision 170
6.4.2 PyTorch之torch.transforms 171
6.4.3 数据预览和数据装载 173
6.4.4 模型搭建和参数优化 174

第7章 迁移学习 180
7.1 迁移学习入门 180
7.2 数据集处理 181
7.2.1 验证数据集和测试数据集 182
7.2.2 数据预览 182
7.3 模型搭建和参数优化 185
7.3.1 自定义VGGNet 185
7.3.2 迁移VGG16 196
7.3.3 迁移ResNet50 203
7.4 小结 219

第8章 图像风格迁移实战 220
8.1 风格迁移入门 220
8.2 PyTorch图像风格迁移实战 222
8.2.1 图像的内容损失 222
8.2.2 图像的风格损失 223
8.2.3 模型搭建和参数优化 224
8.2.4 训练新定义的卷积神经网络 226
8.3 小结 232

第9章 多模型融合 233
9.1 多模型融合入门 233
9.1.1 结果多数表决 234
9.1.2 结果直接平均 236
9.1.3 结果加权平均 237
9.2 PyTorch之多模型融合实战 239
9.3 小结 246

第10章 循环神经网络 247
10.1 循环神经网络入门 247
10.2 PyTorch之循环神经网络实战 249
10.3 小结 257

第11章 自动编码器 258
11.1 自动编码器入门 258
11.2 PyTorch之自动编码实战 259
11.2.1 通过线性变换实现自动编码器模型 260
11.2.2 通过卷积变换实现自动编码器模型 267
11.3 小结 273


本书勘误

印次
  • 页码:140  •  印次: 3

    loc=4 右下角

    xuwentang 提交于 2019/8/1 14:39:47
    张国霞 确认于 2019/11/26 11:32:33

读者评论

  • 请问怎么输出第八章运行后的图片呢?

    Fancy_ddd发表于 2022/1/20 16:04:07
  • 在177-178页,开始训练时,进程会卡住,使用github上的代码也同样会卡住,GPU使用率为0%。python 3.7.8;torch 1.10.1+cu113.希望老师能解答一下,谢谢。

    夏明233发表于 2021/12/29 10:44:36
  • 书中的代码没有电子版吗???

    乔力奎发表于 2021/6/28 22:46:10
  • 书P177代码执行出现问题,报错如下
    File “H:\pytorch学习记录\6.4.02.py”, line 98, in <module>
    loss.backward()

    File “C:\Users\Stein\anaconda3\envs\pytorch\lib\site-packages\torch\tensor.py”, line 221, in backward
    torch.autograd.backward(self, gradient, retain_graph, create_graph)

    File “C:\Users\Stein\anaconda3\envs\pytorch\lib\site-packages\torch\autograd_init_.py”, line 130, in backward
    Variable._execution_engine.run_backward(

    请问有解决办法吗

    石头先生发表于 2021/1/7 12:07:55
  • P173代码运行报错,内容如下
    runfile(‘H:/pytorch学习记录/6.4.02.py’, wdir=’H:/pytorch学习记录’)
    Traceback (most recent call last):

    File “H:\pytorch学习记录\6.4.02.py”, line 37, in <module>
    images, labels = next(iter(data_loader_train))

    File “C:\Users\Stein\anaconda3\envs\pytorch\lib\site-packages\torch\utils\data\dataloader.py”, line 435, in next
    data = self._next_data()

    File “C:\Users\Stein\anaconda3\envs\pytorch\lib\site-packages\torch\utils\data\dataloader.py”, line 475, in _next_data
    data = self._dataset_fetcher.fetch(index) # may raise StopIteration

    File “C:\Users\Stein\anaconda3\envs\pytorch\lib\site-packages\torch\utils\data_utils\fetch.py”, line 44, in fetch
    data = [self.dataset[idx] for idx in possibly_batched_index]

    File “C:\Users\Stein\anaconda3\envs\pytorch\lib\site-packages\torch\utils\data_utils\fetch.py”, line 44, in <listcomp>
    data = [self.dataset[idx] for idx in possibly_batched_index]

    File “C:\Users\Stein\anaconda3\envs\pytorch\lib\site-packages\torchvision\datasets\mnist.py”, line 106, in getitem
    img = self.transform(img)

    TypeError: ‘module’ object is not callable

    请问如何解决?

    石头先生发表于 2021/1/6 21:30:45
    • 这几页有很多错误,如果照着编会报很多错。这里是作者的问题,你需要在下载MNIST数据集的代码前面定义transform,也就是transform = transforms.Compose(...)的那段代码,然后再定义data_train与data_test即可。

      苍茫大地谁主沉浮发表于 2024/3/4 22:33:37

电子书版本

  • Epub

同系列书

  • 深度学习之美:AI时代的数据处理与最佳实践

    张玉宏 (作者)

    深度学习是人工智能的前沿技术。本书深入浅出地介绍了深度学习的相关理论和实践,全书共分16章,采用理论和实践双主线写作方式。第1章给出深度学习的大图。第2章和第3...

    ¥79.00
  • 强化学习精要:核心算法与TensorFlow实现

    冯超 (作者)

    本书从学习强化学习必备的基础知识讲起(基础数学知识+神经网络+TensorFlow),过度到强化学习关注的经典算法,最后讲解一些前沿的强化学习方法。...

    ¥50.00
  • 深度学习之PyTorch实战计算机视觉

    唐进民 (作者)

    计算机视觉、自然语言处理和语音识别是目前深度学习领域很热门的三大应用方向,本书旨在帮助零基础或基础较为薄弱的读者入门深度学习,达到能够独立使用深度学习知识处理计...

    ¥49.00
  • TensorFlow进阶指南:基础、算法与应用

    黄鸿波 (作者)

    本书是由人工智能一线从业专家根据自己日常工作的体会与经验总结而成的,在对TensorFlow的基础知识、环境搭建、神经网络、常用技术的详细讲解当中穿插了自己实战...

    ¥69.00

相关图书

程序员的AI书:从代码开始

张力柯 潘晖 (作者)

随着AI技术的普及,如何快速理解、掌握并应用AI技术,成为绝大多数程序员亟需解决的问题。本书基于Keras框架并以代码实现为核心,详细解答程序员学习AI算法时的...

¥76.30

解析深度学习:卷积神经网络原理与视觉实践

魏秀参 (作者)

深度学习,特别是深度卷积神经网络是人工智能的重要分支领域,卷积神经 网络技术也被广泛应用于各种现实场景,在许多问题上都取得了超越人类智能的 结果。本书作为该...

¥49.00

自然语言处理理论与实战

白宁超 (作者)

自然语言处理是什么?谁需要学习自然语言处理?自然语言处理在哪些地方应用?相关问题一直困扰<br>着不少初学者。针对这一情况,作者结合教学经验和工程应用编写此书。...

¥79.00

21个项目玩转深度学习——基于TensorFlow的实践详解

何之源 (作者)

《21个项目玩转深度学习——基于TensorFlow的实践详解》以实践为导向,深入介绍了深度学习技术和TensorFlow框架编程内容。 通过本书,读者可以训...

¥59.00

TensorFlow:实战Google深度学习框架(第2版)

郑泽宇 (作者)

TensorFlow是谷歌2015年开源的主流深度学习框架,目前已得到广泛应用。本书为TensorFlow入门参考书,旨在帮助读者以快速、有效的方式上手Tens...

¥89.00

深度学习:一起玩转TensorLayer

董豪 郭毅可 杨光 (作者)

本书由TensorLayer创始人领衔,TensorLayer主要开发团队倾力打造而成。内容不仅覆盖了人工神经网络的基本知识,如多层感知器、卷积网络、递归网络及...

¥69.00