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

2021-01-16 17:36:43

上级 1ecd7f1b
此差异已折叠。
......@@ -4,5 +4,5 @@
本节包含以下章节:
* “第 1 章” 和*机器学习和深度学习基础知识*
* “第 2 章” 和 *NLP 的 PyTorch 1.x 入门*
\ No newline at end of file
* “第 1 章”,“机器学习和深度学习基础知识”
* “第 2 章”,“NLP 的 PyTorch 1.x 入门”
\ No newline at end of file
# 第 2 部分:自然语言处理基础
# 在本节中,您将学习构建**自然语言处理**(**NLP**)应用程序的基础知识。 您还将在本节中学习如何在 PyTorch 中使用各种 NLP 技术,例如单词嵌入,CBOW 和标记化。
在本节中,您将学习构建**自然语言处理****NLP**)应用程序的基础知识。 您还将在本节中学习如何在 PyTorch 中使用各种 NLP 技术,例如单词嵌入,CBOW 和标记化。
本节包含以下章节:
* “第 3 章” , *NLP 和文本嵌入*
* “第 4 章” 和*词根和词法提取*
\ No newline at end of file
* “第 3 章”,“NLP 和文本嵌入”
* “第 4 章”,“词根和词干提取”
\ No newline at end of file
# 第 3 节:使用 PyTorch 1.x 的实际 NLP 应用程序
在本节中,我们将使用 PyTorch 中可用的各种**自然** **语言** **处理****NLP**)技术来构建各种实际 -使用 PyTorch 的世界应用程序。 情感分析,文本摘要,文本分类以及使用 PyTorch 构建聊天机器人应用程序是本节将介绍的一些任务。
在本节中,我们将使用 PyTorch 中可用的各种**自然语言处理****NLP**)技术来构建各种实际 -使用 PyTorch 的世界应用程序。 情感分析,文本摘要,文本分类以及使用 PyTorch 构建聊天机器人应用程序是本节将介绍的一些任务。
本节包含以下章节:
* “第 5 章” 和*循环神经网络和情感分析*
* “第 6 章” 和*卷积神经网络用于文本分类*
* “第 7 章” 和*使用序列到序列神经网络的文本翻译*
* “第 8 章” 和*使用基于注意力的神经网络构建聊天机器人*
* “第 9 章” 和*未来之路*
\ No newline at end of file
* “第 5 章”,“循环神经网络和情感分析”
* “第 6 章”,“用于文本分类的卷积神经网络”
* “第 7 章”,“使用序列到序列神经网络的文本翻译”
* “第 8 章”,“使用基于注意力的神经网络构建聊天机器人”
* “第 9 章”,“未来之路”
\ No newline at end of file
......@@ -4,7 +4,7 @@
这是一个有关如何训练使用 [nn.Transformer](https://pytorch.org/docs/master/nn.html?highlight=nn%20transformer#torch.nn.Transformer) 模块的序列到序列模型的教程。
PyTorch 1.2 版本包括一个基于纸张[的标准变压器模块。 事实证明,该变压器模型在许多序列间问题上具有较高的质量,同时具有更高的可并行性。 `nn.Transformer`模块完全依赖于注意机制(另一个最近实现为](https://arxiv.org/pdf/1706.03762.pdf) [nn.MultiheadAttention](https://pytorch.org/docs/master/nn.html?highlight=multiheadattention#torch.nn.MultiheadAttention) 的模块)来绘制输入和输出之间的全局依存关系。 `nn.Transformer`模块现已高度模块化,因此可以轻松地修改/组成单个组件(如本教程中的 [nn.TransformerEncoder](https://pytorch.org/docs/master/nn.html?highlight=nn%20transformerencoder#torch.nn.TransformerEncoder) )。
PyTorch 1.2 版本包括一个基于纸张[的标准转换器模块。 事实证明,该转换器模型在许多序列间问题上具有较高的质量,同时具有更高的可并行性。 `nn.Transformer`模块完全依赖于注意机制(另一个最近实现为](https://arxiv.org/pdf/1706.03762.pdf) [nn.MultiheadAttention](https://pytorch.org/docs/master/nn.html?highlight=multiheadattention#torch.nn.MultiheadAttention) 的模块)来绘制输入和输出之间的全局依存关系。 `nn.Transformer`模块现已高度模块化,因此可以轻松地修改/组成单个组件(如本教程中的 [nn.TransformerEncoder](https://pytorch.org/docs/master/nn.html?highlight=nn%20transformerencoder#torch.nn.TransformerEncoder) )。
![../_img/transformer_architecture.jpg](img/4b79dddf1ff54b9384754144d8246d9b.png)
......@@ -128,7 +128,7 @@ test_data = batchify(test_data, eval_batch_size)
### 生成输入序列和目标序列的函数](docs / modern-java-zh /
`get_batch()`功能为变压器模型生成输入和目标序列。 它将源数据细分为长度为`bptt`的块。 对于语言建模任务,模型需要以下单词作为`Target`。 例如,如果`bptt`值为 2,则`i` = 0 时,我们将获得以下两个变量:
`get_batch()`功能为转换器模型生成输入和目标序列。 它将源数据细分为长度为`bptt`的块。 对于语言建模任务,模型需要以下单词作为`Target`。 例如,如果`bptt`值为 2,则`i` = 0 时,我们将获得以下两个变量:
![../_img/transformer_input_target.png](img/20ef8681366b44461cf49d1ab98ab8f2.png)
......
......@@ -114,7 +114,7 @@ test_iter = DataLoader(test_data, batch_size=BATCH_SIZE,
具体来说,我们的模型遵循此处中描述的[架构(您可以在](https://arxiv.org/abs/1409.0473)中找到注释更多的版本[)。](https://github.com/SethHWeidman/pytorch-seq2seq/blob/master/3%20-%20Neural%20Machine%20Translation%20by%20Jointly%20Learning%20to%20Align%20and%20Translate.ipynb)
注意:此模型只是可用于语言翻译的示例模型; 我们选择它是因为它是任务的标准模型,而不是因为它是用于翻译的推荐模型。 如您所知,目前最先进的模型基于“变形金刚”; 您可以在上看到 PyTorch 的实现 Transformer 层[的功能; 特别是,以下模型中使用的“注意”与变压器模型中存在的多头自我注意不同。](https://pytorch.org/docs/stable/nn.html#transformer-layers)
注意:此模型只是可用于语言翻译的示例模型; 我们选择它是因为它是任务的标准模型,而不是因为它是用于翻译的推荐模型。 如您所知,目前最先进的模型基于“变形金刚”; 您可以在上看到 PyTorch 的实现 Transformer 层[的功能; 特别是,以下模型中使用的“注意”与转换器模型中存在的多头自我注意不同。](https://pytorch.org/docs/stable/nn.html#transformer-layers)
```py
import random
......
......@@ -24,7 +24,7 @@
## 1.设置](docs / modern-java-zh /
### 1.1 安装 PyTorch 和 HuggingFace 变压器](docs / modern-java-zh /
### 1.1 安装 PyTorch 和 HuggingFace 转换器](docs / modern-java-zh /
要开始本教程,首先请遵循 PyTorch [(此处](https://github.com/pytorch/pytorch/#installation))和 HuggingFace Github Repo [(此处](https://github.com/huggingface/transformers#installation))中的安装说明。 此外,我们还将安装 [scikit-learn](https://github.com/scikit-learn/scikit-learn) 软件包,因为我们将重复使用其内置的 F1 分数计算帮助器功能。
......@@ -118,7 +118,7 @@ python download_glue_data.py --data_dir='glue_data' --tasks='MRPC'
BERT 的精神是预训练语言表示形式,然后以最小的任务相关参数微调各种任务上的深层双向表示形式,并获得最新的结果。 在本教程中,我们将专注于对预训练的 BERT 模型进行微调,以对 MRPC 任务上的语义等效句子对进行分类。
要为 MRPC 任务微调预训练的 BERT 模型(HuggingFace 变压器中的`bert-base-uncased`模型),可以按照[示例](https://github.com/huggingface/transformers/tree/master/examples#mrpc)中的命令进行操作:
要为 MRPC 任务微调预训练的 BERT 模型(HuggingFace 转换器中的`bert-base-uncased`模型),可以按照[示例](https://github.com/huggingface/transformers/tree/master/examples#mrpc)中的命令进行操作:
```py
export GLUE_DIR=./glue_data
......@@ -435,8 +435,8 @@ loaded_quantized_model = torch.jit.load("bert_traced_eager_quant.pt")
## 参考文献](docs / modern-java-zh /
[1] J.Devlin,M。Chang,K。Lee 和 K. Toutanova, [BERT:用于语言理解的深度双向变压器的预训练(2018)](https://arxiv.org/pdf/1810.04805.pdf)
[1] J.Devlin,M。Chang,K。Lee 和 K. Toutanova, [BERT:用于语言理解的深度双向转换器的预训练(2018)](https://arxiv.org/pdf/1810.04805.pdf)
[2] [HuggingFace 变压](https://github.com/huggingface/transformers)
[2] [HuggingFace 转换](https://github.com/huggingface/transformers)
[3] O. Zafrir,G。Boudoukh,P。Izsak 和 M. Wasserblat(2019 年)。 [Q8BERT:量化的 8 位 BERT](https://arxiv.org/pdf/1910.06188.pdf)
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册