提交 0bbda538 编写于 作者: W wizardforcel

2021-01-21 17:31:25

上级 4fe8df8d
......@@ -608,7 +608,7 @@ test_loader = torch.utils.data.DataLoader(test_data, \
能够识别图像中的物体而不管变化的 CNN 具有不变性。 实际上,CNN 对于每种类型的变化都可以是不变的。
## 使用 PyTorch 进行数据扩充
## PyTorch 数据扩充
使用`Torchvision`包在 PyTorch 中执行数据扩充非常容易。 该软件包除了包含流行的数据集和模型架构之外,还包含可以在数据集上执行的常见图像转换功能。
......@@ -723,7 +723,7 @@ test_data = datasets.CIFAR10('data', train=False, download=True, \
此外,通常在卷积层以及 FC 层(不包括输出层)上执行批归一化。
## 使用 PyTorch 进行批量归一化
## PyTorch 批量归一化
在 PyTorch 中,考虑到有两种不同的类型,添加批归一化就像向网络架构添加新层一样简单,如下所述:
......
......@@ -248,7 +248,7 @@ for i in range(1, epochs+1):
最后,计算损失函数,该函数用于更新网络参数。 然后,该过程再次开始,直到达到所需的时期数。
## 活动 6.01:使用简单的 RNN 进行时间序列预测
## 活动 6.01:使用简单 RNN 的时间序列预测
对于此活动,您将使用简单的 RNN 解决时间序列问题。 让我们考虑以下情况:您的公司希望能够提前预测所有产品的需求。 这是因为生产每种产品都需要花费相当长的时间,并且该过程花费大量金钱。 因此,除非产品很可能被出售,否则他们不希望在生产上花费金钱和时间。 为了预测未来需求,他们为您提供了一个数据集,其中包含去年销售中所有产品的每周需求(在销售交易中)。 请按照以下步骤完成此活动:
......@@ -668,7 +668,7 @@ while starter[-1] != "." and counter < 50:
3. 只要循环和循环用于执行新字符的预测,只要字符数不超过 50,并且直到新字符是一个句点即可。
4. 每个新字符都添加到起始句子中,以形成新的文本序列。
## 活动 6.02:使用 LSTM 网络进行文本生成
## 活动 6.02:使用 LSTM 网络文本生成
注意
......
......@@ -1509,7 +1509,7 @@
# 6.使用 RNN 分析数据序列
## 活动 6.01:使用简单的 RNN 进行时间序列预测
## 活动 6.01:使用简单 RNN 的时间序列预测
### 解决方案
......
......@@ -41,7 +41,7 @@ RNN 由循环层组成。 尽管它们在许多方面类似于标准前馈神经
稍后我们将看到,我们实际上可以在每个时间步长都采用隐藏状态,而不是使用最终的隐藏状态,这对于 NLP 中的序列到序列翻译任务很有用。 但是,暂时来说,我们只是将隐藏层作为对网络其余部分的输出。
## 使用 RNN 进行情感分析
## 使用 RNN 情感分析
在情感分析的上下文中,我们的模型是根据评论的情感分析数据集训练的,该数据集由多个文本评论和 0 或 1 的标签组成,具体取决于评论是负面还是正面 。 这意味着我们的模型成为分类任务(两个类别为负/正)。 我们的句子经过一层学习的单词嵌入,以形成包含多个向量的句子的表示(每个单词一个)。 然后将这些向量顺序地馈入我们的 RNN 层,最终的隐藏状态将通过另一个全连接层。 我们的模型输出是介于 0 到 1 之间的单个值,具体取决于我们的模型是根据句子预测的是消极情感还是正面情感。 这意味着我们完整的分类模型如下所示:
......@@ -493,7 +493,7 @@ print("Test Accuracy: {:.2f}".format(num_correct/len(test_loader.dataset)))
然后,我们将模型预测与真实标签进行比较,以获得`correct_tensor`,这是一个评估我们模型的每个预测是否正确的向量。 然后,我们对该向量求和,然后将其除以其长度,以获得模型的总精度。 在这里,我们获得了 76% 的准确率。 尽管我们的模型肯定还远非完美,但鉴于我们的训练量很小且训练时间有限,这一点也不差! 仅用于说明从 NLP 数据学习时 LSTM 的有用性。 接下来,我们将展示如何使用模型从新数据进行预测。
## 使用我们的模型进行预测
## 将我们的模型用于预测
既然我们已经有了训练有素的模型,那么应该可以对一个新句子重复我们的预处理步骤,并将其传递给我们的模型,并对其情感进行预测。 我们首先创建一个函数来预处理输入句子以预测:
......
......@@ -495,7 +495,7 @@ print(f'\t Val. Loss: {valid_loss:.3f} |  Val. Acc: {valid_acc*100:.2f}%')
值得庆幸的是,我们发现确实存在。 训练和验证损失在每个时期都会下降,准确率也会提高,这表明我们的模型确实在学习! 经过多次训练后,我们可以采用最佳模型并进行预测。
## 使用经过训练的 CNN 进行预测
## 使用经过训练的 CNN 预测
幸运的是,使用我们训练有素的模型进行预测是一个相对简单的任务。 我们首先使用`load_state_dict`函数加载最佳模型:
......
# 使用 PyTorch 进行深度学习:60 分钟的突击
# PyTorch 深度学习:60 分钟的突击
> 原文:<https://pytorch.org/tutorials/beginner/deep_learning_60min_blitz.html>
......
# 使用`nn.Transformer`和`torchtext`进行序列到序列建模
# 使用`nn.Transformer`和`torchtext`序列到序列建模
> 原文:<https://pytorch.org/tutorials/beginner/transformer_tutorial.html>
......
# 从零开始的 NLP:使用字符级 RNN 对名称进行分类
# 从零开始的 NLP:使用字符级 RNN 的名称分类
> 原文:<https://pytorch.org/tutorials/intermediate/char_rnn_classification_tutorial.html>
......
# 使用`torchtext`进行文本分类
# 使用`torchtext`文本分类
> 原文:<https://pytorch.org/tutorials/beginner/text_sentiment_ngrams_tutorial.html>
......
......@@ -120,7 +120,7 @@ conda install opencv
```
### 使用 CMake 进行构建
### 将 CMake 用于构建
为了使用 [CMake](https://cmake.org) 构建系统将自定义运算符构建到共享库中,我们需要编写一个简短的`CMakeLists.txt`文件并将其与我们先前的`op.cpp`文件放置在一起。 为此,让我们就一个看起来像这样的目录结构达成一致:
......@@ -633,7 +633,7 @@ $ ./example_app example.pt
第一种方法是使用 C++ 扩展程序的[方便的即时(JIT)编译界面](https://pytorch.org/docs/stable/cpp_extension.html#torch.utils.cpp_extension.load)在您首次运行 PyTorch 脚本时在后台编译代码。 第二种方法依赖于古老的`setuptools`包,并涉及编写单独的`setup.py`文件。 这样可以进行更高级的配置,并与其他基于`setuptools`的项目集成。 我们将在下面详细探讨这两种方法。
### 使用 JIT 编译进行构建
### 使用 JIT 编译构建
PyTorch C++ 扩展工具包提供的 JIT 编译功能可将自定义运算符的编译直接嵌入到您的 Python 代码中,例如 在训练脚本的顶部。
......
......@@ -22,7 +22,7 @@ import torch.autograd.profiler as profiler
```
## 使用 Profiler 进行性能调试
## 使用 Profiler 性能调试
Profiler 有助于识别模型中的性能瓶颈。 在此示例中,我们构建了一个自定义模块,该模块执行两个子任务:
......
# 使用 Ray Tune 进行超参数调整
# 使用 Ray Tune 超参数调整
> 原文:<https://pytorch.org/tutorials/beginner/hyperparameter_tuning_tutorial.html>
......
# 在 PyTorch 中使用 Eager 模式进行静态量化(beta)
# PyTorch 中使用 Eager 模式的静态量化(beta)
> 原文:<https://pytorch.org/tutorials/advanced/static_quantization_tutorial.html#>
......
......@@ -18,7 +18,7 @@
[`torch.distributed.rpc`](https://pytorch.org/docs/master/rpc.html)程序包可以帮助解决上述情况。 在情况 1 中, [RPC](https://pytorch.org/docs/master/rpc.html#rpc)[RRef](https://pytorch.org/docs/master/rpc.html#rref) 允许将数据从一个工作程序发送到另一个工作程序,同时轻松引用远程数据对象。 在情况 2 中,[分布式 Autograd](https://pytorch.org/docs/master/rpc.html#distributed-autograd-framework)[分布式优化器](https://pytorch.org/docs/master/rpc.html#module-torch.distributed.optim)使执行反向传递和优化器步骤就像本地训练一样。 在接下来的两节中,我们将使用强化学习示例和语言模型示例来演示[`torch.distributed.rpc`](https://pytorch.org/docs/master/rpc.html)的 API。 请注意,本教程并非旨在构建最准确或最有效的模型来解决给定的问题,相反,此处的主要目标是演示如何使用[`torch.distributed.rpc`](https://pytorch.org/docs/master/rpc.html)包来构建分布式训练 应用。
## 使用 RPC 和 RRef 进行分布式强化学习
## 使用 RPC 和 RRef 分布式强化学习
本节介绍了使用 RPC 建立玩具分布式强化学习模型以解决 [OpenAI Gym](https://gym.openai.com) 中的 CartPole-v1 的步骤。 策略代码主要是从现有的单线程[示例](https://github.com/pytorch/examples/blob/master/reinforcement_learning)中借用的,如下所示。 我们将跳过`Policy`设计的详细信息,并将重点介绍 RPC 的用法。
......
......@@ -136,7 +136,7 @@ Discrete(16)
`Discrete(16)`输出表示冻结湖环境的观察(状态)空间是一组离散值,并具有 16 种要由代理探索的不同状态。
# 使用 OpenAI Gym 环境对代理进行编程
# 使用 OpenAI Gym 环境对代理编程
本节考虑的环境是 **FrozenLake-v0**。 有关环境的实际文档可以在[这个页面](https://gym.openai.com/envs/FrozenLake-v0/)中找到。
......
......@@ -223,7 +223,7 @@ MDP 试图通过将网格划分为状态,动作,模型/转换模型和奖励
让我们尝试通过示例来理解这一点。
# 使用 Bellman 方程进行值迭代的示例
# 使用 Bellman 方程值迭代的示例
请考虑以下环境和给定的信息:
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册