Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
coolalex776
apachecn-dl-zh
提交
e7b0e589
A
apachecn-dl-zh
项目概览
coolalex776
/
apachecn-dl-zh
与 Fork 源项目一致
Fork自
OpenDocCN / apachecn-dl-zh
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
A
apachecn-dl-zh
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
e7b0e589
编写于
1月 16, 2021
作者:
W
wizardforcel
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
2021-01-16 17:40:11
上级
0f60f5c5
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
21 addition
and
21 deletion
+21
-21
new/pt-ai-fund/0.md
new/pt-ai-fund/0.md
+12
-12
new/pt-ai-fund/3.md
new/pt-ai-fund/3.md
+3
-3
new/pt-ai-fund/4.md
new/pt-ai-fund/4.md
+1
-1
new/pt-ai-fund/6.md
new/pt-ai-fund/6.md
+4
-4
new/pt-ai-fund/8.md
new/pt-ai-fund/8.md
+1
-1
未找到文件。
new/pt-ai-fund/0.md
浏览文件 @
e7b0e589
# 前言
**人工
**
**
智能**
(
**AI**
)继续流行并破坏了广泛的领域,但这是一个复杂而艰巨的话题。 在本书中,您将掌握构建深度学习应用程序的方法,以及如何使用 PyTorch 进行研究和解决实际问题。
**人工智能**
(
**AI**
)继续流行并破坏了广泛的领域,但这是一个复杂而艰巨的话题。 在本书中,您将掌握构建深度学习应用程序的方法,以及如何使用 PyTorch 进行研究和解决实际问题。
本书从张量处理的基础开始,采用基于配方的方法,然后介绍了
**卷积
**
**神经网络**
(
**CNN**
)和 PyTorch 中的
**循环神经网络**
(
**RNN**
)。 熟悉这些基本网络后,您将使用深度学习来构建医学图像分类器。 接下来,您将使用 TensorBoard 进行可视化。 您还将深入研究
**生成性**
**对抗性**
**网络**
(
**GAN**
)和
**深度**
**增强**
**学习**
(
**DRL**
),然后最终将模型大规模部署到生产中。 您将发现针对机器学习,深度学习和强化学习中常见问题的解决方案。 您将学习如何在计算机视觉,
**自然**
**语言**
**
处理**
(
**NLP**
)中实现 AI 任务并解决实际问题。 其他实际领域。
本书从张量处理的基础开始,采用基于配方的方法,然后介绍了
**卷积
神经网络**
(
**CNN**
)和 PyTorch 中的
**循环神经网络**
(
**RNN**
)。 熟悉这些基本网络后,您将使用深度学习来构建医学图像分类器。 接下来,您将使用 TensorBoard 进行可视化。 您还将深入研究
**生成对抗网络**
(
**GAN**
)和
**深度强化学习**
(
**DRL**
),然后最终将模型大规模部署到生产中。 您将发现针对机器学习,深度学习和强化学习中常见问题的解决方案。 您将学习如何在计算机视觉,
**自然语言
处理**
(
**NLP**
)中实现 AI 任务并解决实际问题。 其他实际领域。
到本书结尾,您将拥有使用 PyTorch 框架的 AI 中最重要且应用最广泛的技术的基础。
...
...
@@ -12,21 +12,21 @@
# 本书涵盖的内容
第 1 章
和
*使用 PyTorch 处理张量*
介绍 PyTorch 及其安装,然后继续使用 PyTorch 处理张量。
第 1 章
,“使用 PyTorch 处理张量”
介绍 PyTorch 及其安装,然后继续使用 PyTorch 处理张量。
第 2 章,
*处理神经网络*
全面介绍了开始和训练全连接神经网络的所有要求,从而对基本神经网络的所有组件进行了详尽的解释。 :层,前馈网络,反向传播,损失函数,梯度,权重更新以及使用 CPU / GPU。
第 2 章,
“处理神经网络”
全面介绍了开始和训练全连接神经网络的所有要求,从而对基本神经网络的所有组件进行了详尽的解释。 :层,前馈网络,反向传播,损失函数,梯度,权重更新以及使用 CPU / GPU。
第 3 章,
*用于计算机视觉的卷积神经网络*
首先介绍了用于更高级任务的一类神经网络,即卷积神经网络。 在这里,我们将与 PyTorch 一起探索 TorchVision,训练 CNN 模型,并使用 TensorBoard 可视化其进度。 我们还将介绍与卷积网络构建块相关的各种任务。 卷积神经网络(CNN 或 ConvNet)是一类 DNN,最常用于分析图像。
第 3 章,
“用于计算机视觉的卷积神经网络”
首先介绍了用于更高级任务的一类神经网络,即卷积神经网络。 在这里,我们将与 PyTorch 一起探索 TorchVision,训练 CNN 模型,并使用 TensorBoard 可视化其进度。 我们还将介绍与卷积网络构建块相关的各种任务。 卷积神经网络(CNN 或 ConvNet)是一类 DNN,最常用于分析图像。
第 4 章
和
*用于 NLP 的循环神经网络*
探索循环神经网络,并研究 RNN 中的各种修改以及最佳实践。
第 4 章
,“用于 NLP 的循环神经网络”
探索循环神经网络,并研究 RNN 中的各种修改以及最佳实践。
第 5 章,
*迁移学习和 TensorBoard*
显示了如何使用经过训练的 ResNet-50 模型训练图像分类器以区分正常和肺炎的胸部 X 射线。 我们将替换分类器,并使用两个输出单位来代表正常和肺炎类别。
第 5 章,
“迁移学习和 TensorBoard”
显示了如何使用经过训练的 ResNet-50 模型训练图像分类器以区分正常和肺炎的胸部 X 射线。 我们将替换分类器,并使用两个输出单位来代表正常和肺炎类别。
第 6 章
和
*探索生成对抗网络*
探索生成对抗网络,以及如何实现 PyTorch 的组件并训练端到端网络。 我们将探索 DCGAN,并通过渐进式 GAN 网络进一步改善 DCGAN 的局限性。
第 6 章
,“探索生成对抗网络”
探索生成对抗网络,以及如何实现 PyTorch 的组件并训练端到端网络。 我们将探索 DCGAN,并通过渐进式 GAN 网络进一步改善 DCGAN 的局限性。
第 7 章,
*深度强化学习*
可帮助您通过各种食谱来了解深度 RL。 本章是一系列食谱和任务,您将在其中利用所需的能力和架构来转变为深度强化学习专家。
第 7 章,
“深度强化学习”
可帮助您通过各种食谱来了解深度 RL。 本章是一系列食谱和任务,您将在其中利用所需的能力和架构来转变为深度强化学习专家。
第 8 章
和
*在 PyTorch*
中生产 AI 模型
,着眼于以两种方式生产 PyTorch 应用程序。 首先,生成已经训练过的模型,其次,对大型数据集进行分布式训练。 最后,我们将研究各种框架之间的可移植性。
第 8 章
,“PyTorch 中的生产 AI 模型”
,着眼于以两种方式生产 PyTorch 应用程序。 首先,生成已经训练过的模型,其次,对大型数据集进行分布式训练。 最后,我们将研究各种框架之间的可移植性。
# 充分利用这本书
...
...
@@ -84,7 +84,7 @@ torch.Size([2, 3])
pip3
install
https
:
//
download
.
pytorch
.
org
/
whl
/
cu90
/
torch
-
1.1
.
0
-
cp36
-
cp36m
-
win_amd64
.
whl
```
**粗体**
:表示新术语,重要单词或您在屏幕上看到的单词。 例如,菜单或对话框中的单词会出现在这样的文本中。 这是一个示例:“
**标量**
是单个独立值。”
**粗体**
:表示新术语,重要单词或您在屏幕上看到的单词。 例如,菜单或对话框中的单词会出现在这样的文本中。 这是一个示例:“
**标量**
是单个独立值。”
警告或重要提示如下所示。
...
...
@@ -92,7 +92,7 @@ pip3 install https://download.pytorch.org/whl/cu90/torch-1.1.0-cp36-cp36m-win_am
# 栏目
在本书中,您会发现几个经常出现的标题(
*准备工作*
,
*如何执行...*
,
*工作原理...*
,[
*和*
,另请参阅
*)。*
在本书中,您会发现几个经常出现的标题(
“准备工作”,“操作步骤”,“工作原理”,“另见”。
要给出有关如何完成配方的明确说明,请按以下说明使用这些部分:
...
...
new/pt-ai-fund/3.md
浏览文件 @
e7b0e589
...
...
@@ -603,7 +603,7 @@ pip install torchvision==0.x.x
# 定义 CNN 架构
到目前为止,在本章中,我们一直在研究 CNN 的不同组成部分,以及如何将数据集中的数据加载到可以馈入 CNN 模型的格式中。 在本食谱中,我们将通过到目前为止已经看到的完成模型的组件来定义 CNN 模型架构。 这与我们在第 2 章,
*处理神经网络*
中介绍的全连接神经网络非常相似。 为了更好地理解此配方,从第 2 章,
*处理神经网络*
修改全连接神经网络的模型定义将是一个好主意。 我们将在 CIFAR10 数据集上建立图像分类模型,我们在
*加载图像数据*
配方中对此进行了讨论。
到目前为止,在本章中,我们一直在研究 CNN 的不同组成部分,以及如何将数据集中的数据加载到可以馈入 CNN 模型的格式中。 在本食谱中,我们将通过到目前为止已经看到的完成模型的组件来定义 CNN 模型架构。 这与我们在第 2 章,
“处理神经网络”中介绍的全连接神经网络非常相似。 为了更好地理解此配方,从第 2 章,“处理神经网络”
修改全连接神经网络的模型定义将是一个好主意。 我们将在 CIFAR10 数据集上建立图像分类模型,我们在
*加载图像数据*
配方中对此进行了讨论。
# 怎么做...
...
...
@@ -676,7 +676,7 @@ CNN(
# 这个怎么运作...
此食谱的工作方式与第 2 章
和
*处理神经网络*
时非常相似,当我们研究一个全连接神经网络时。 我们从
`__init__()`
方法和父类的构造函数开始,定义了从 PyTorch 中的
`nn.Module`
继承的 CNN 类。 之后,我们通过传入与每一层相关的参数来定义 CNN 中的各个层。 对于我们的第一卷积层,输入通道的数量为 3(RGB),输出通道的数量定义为 16,其平方核大小为 3。第二卷积层采用上一层的张量,并具有 16 个输入通道和 32 个输出通道,内核尺寸为 3 x3。类似地,第三卷积层具有 32 个输入通道和 64 个输出通道,内核尺寸为 3 x 3。 我们还需要一个最大池化层,并使用 2 的内核大小和 2 的步幅。我们使用
`.view()`
将张量的三个维度展平为一个维度,以便可以将其传递到全连接网络中。
`view`
函数中的-1 通过确保
`view`
函数之前和之后的元素数量保持相同(在本例中为批量大小)来确保将正确的尺寸自动分配给该尺寸。
此食谱的工作方式与第 2 章
,“处理神经网络”
时非常相似,当我们研究一个全连接神经网络时。 我们从
`__init__()`
方法和父类的构造函数开始,定义了从 PyTorch 中的
`nn.Module`
继承的 CNN 类。 之后,我们通过传入与每一层相关的参数来定义 CNN 中的各个层。 对于我们的第一卷积层,输入通道的数量为 3(RGB),输出通道的数量定义为 16,其平方核大小为 3。第二卷积层采用上一层的张量,并具有 16 个输入通道和 32 个输出通道,内核尺寸为 3 x3。类似地,第三卷积层具有 32 个输入通道和 64 个输出通道,内核尺寸为 3 x 3。 我们还需要一个最大池化层,并使用 2 的内核大小和 2 的步幅。我们使用
`.view()`
将张量的三个维度展平为一个维度,以便可以将其传递到全连接网络中。
`view`
函数中的-1 通过确保
`view`
函数之前和之后的元素数量保持相同(在本例中为批量大小)来确保将正确的尺寸自动分配给该尺寸。
对于第一个全连接层,我们有 1,024 个输入(通过将最大池后的
`64 x 4 x 4`
张量展平而获得)和 512 个输出。 对于最后一个全连接层,我们有 512 个输入和 10 个输出,代表输出类别的数量。 我们还为全连接层定义了一个辍学层,概率为 0.3。
...
...
@@ -694,7 +694,7 @@ CNN(
# 训练图像分类器
现在我们已经定义了模型,接下来的主要步骤是使用手头的数据训练该模型。 这将与我们在第 2 章,
*处理神经网络*
和我们全连接神经网络中进行的训练非常相似。 在本食谱中,我们将完成训练图像分类器的工作。 如果您在完成本食谱之前,先阅读了第 2 章和
*与神经网络*
的
*实现优化器*
食谱,那将非常有用。
现在我们已经定义了模型,接下来的主要步骤是使用手头的数据训练该模型。 这将与我们在第 2 章,
“处理神经网络”
和我们全连接神经网络中进行的训练非常相似。 在本食谱中,我们将完成训练图像分类器的工作。 如果您在完成本食谱之前,先阅读了第 2 章和
*与神经网络*
的
*实现优化器*
食谱,那将非常有用。
# 怎么做...
...
...
new/pt-ai-fund/4.md
浏览文件 @
e7b0e589
...
...
@@ -472,7 +472,7 @@ return self.fc(hidden)
# 还有更多...
对于具有两个以上状态的毒性审查任务,我们将使用
`CrossEntropyLoss()`
,对于仅具有一个输出的情感分析器,我们将使用
`BCEWithLogitsLoss()`
。 其余训练与我们在第 3 章,
*用于计算机视觉的卷积神经网络*
中看到的内容相同,我们在其中训练了卷积神经网络。
对于具有两个以上状态的毒性审查任务,我们将使用
`CrossEntropyLoss()`
,对于仅具有一个输出的情感分析器,我们将使用
`BCEWithLogitsLoss()`
。 其余训练与我们在第 3 章,
“用于计算机视觉的卷积神经网络”
中看到的内容相同,我们在其中训练了卷积神经网络。
# 也可以看看
...
...
new/pt-ai-fund/6.md
浏览文件 @
e7b0e589
...
...
@@ -34,7 +34,7 @@ GAN 中的两个模型称为生成器和鉴别器,其中生成器负责创建
# 创建一个 DCGAN 生成器
在本食谱及其后续食谱中,我们将实现 DCGAN。 DCGAN 代表“深度卷积 GAN”; 与香草 GAN 相比,它们有很大的改进。 在 DCGAN 中,我们使用卷积神经网络,而不是香草 GAN 中的全连接网络。 在第 3 章
和
*用于计算机视觉的卷积神经网络*
中,我们看到了第 2 章和
*的全连接分类器如何处理神经网络*
,是该领域的一项改进; DCGAN 与香草 GAN 的情况相同。 在 DCGAN 中,我们将使用批量归一化,这是一种技术,它可以将作为输入输入到下一层的层的输出归一化。 批量归一化允许网络的每一层独立于其他层进行学习,从而减少了协变量偏移。
在本食谱及其后续食谱中,我们将实现 DCGAN。 DCGAN 代表“深度卷积 GAN”; 与香草 GAN 相比,它们有很大的改进。 在 DCGAN 中,我们使用卷积神经网络,而不是香草 GAN 中的全连接网络。 在第 3 章
,“用于计算机视觉的卷积神经网络”
中,我们看到了第 2 章和
*的全连接分类器如何处理神经网络*
,是该领域的一项改进; DCGAN 与香草 GAN 的情况相同。 在 DCGAN 中,我们将使用批量归一化,这是一种技术,它可以将作为输入输入到下一层的层的输出归一化。 批量归一化允许网络的每一层独立于其他层进行学习,从而减少了协变量偏移。
批量归一化是通过缩放来实现的,以使平均值为 0,方差为 1。在此配方中,我们将生成类似于 MNIST 数据集的手写数字,其中包含来自噪声矢量的数据。 我们将扩展此噪声矢量,将其转换为 2D 矩阵,最后将其转换为 28 x 28 黑白图像。 为了增加高度和宽度,我们必须执行与卷积操作相反的操作,这称为反卷积。 我们将在使用卷积执行分类任务时执行此操作。 在执行反卷积时,我们将增加高度和宽度,同时减少通道数。
...
...
@@ -42,7 +42,7 @@ GAN 中的两个模型称为生成器和鉴别器,其中生成器负责创建
![](
img/89189246-b3a7-49dc-acc5-78bc00c5f9b7.png
)
请注意,我们将使用第 3 章
和
*用于计算机视觉的卷积神经网络*
*和*
中的概念,因此再次阅读这些食谱将非常有用。
请注意,我们将使用第 3 章
,“用于计算机视觉的卷积神经网络”
*和*
中的概念,因此再次阅读这些食谱将非常有用。
# 怎么做...
...
...
@@ -114,7 +114,7 @@ def forward(self, input):
# 这个怎么运作...
在此食谱中,我们进行了变换以将图像转换为张量并对其进行归一化,就像在第 3 章
和
*用于计算机视觉的卷积神经网络*
中所做的一样。 然后,我们确定了机器上的设备:CPU 或 GPU。 然后,我们定义了从
`nn.Module`
类继承的
`Generator_model`
类,就像在所有以前的架构中所做的一样。
在此食谱中,我们进行了变换以将图像转换为张量并对其进行归一化,就像在第 3 章
,“用于计算机视觉的卷积神经网络”
中所做的一样。 然后,我们确定了机器上的设备:CPU 或 GPU。 然后,我们定义了从
`nn.Module`
类继承的
`Generator_model`
类,就像在所有以前的架构中所做的一样。
在构造函数中,我们传递了
`z_dim`
参数,这是我们的噪声矢量大小。 然后,我们定义了一个全连接单元
`self.fc`
,我们将噪声矢量传递给该单元,并为其提供了
`256 * 7 * 7`
输出。 然后,我们定义了一个称为
`self.gen`
的
`nn.Sequential`
单元,其中包含用于定义生成器的关键组件。 我们使用 PyTorch 中提供的
`nn.ConvTranspose2d`
,
`nn.BatchNorm2d`
和
`nn.LeakyReLU`
使用一组反卷积,批处理规范化和激活层。
`ConvTranspose2d`
接受输入通道,输出通道,内核大小,步幅和填充等参数。
`BatchNorm2d`
接受上一层的要素/通道数作为其参数,而 LeakyReLU 接受负斜率的角度。
...
...
@@ -136,7 +136,7 @@ def forward(self, input):
# 准备好
在本食谱中,我们将严重依赖第 3 章
和
*用于计算机视觉的卷积神经网络*
的食谱,因此最好快速浏览 第 3 章,
*用于计算机视觉的卷积神经网络*
。
在本食谱中,我们将严重依赖第 3 章
,“用于计算机视觉的卷积神经网络”的食谱,因此最好快速浏览 第 3 章,“用于计算机视觉的卷积神经网络”
。
# 怎么做...
...
...
new/pt-ai-fund/8.md
浏览文件 @
e7b0e589
...
...
@@ -440,7 +440,7 @@ pip install onnx
这样,我们就可以进行配方了。
对于此配方,我们还将需要在第 3 章
和
*用于计算机视觉的卷积神经网络*
中在
`CIFAR-10`
上训练的模型的训练权重。
对于此配方,我们还将需要在第 3 章
,“用于计算机视觉的卷积神经网络”
中在
`CIFAR-10`
上训练的模型的训练权重。
# 怎么做...
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录