From d32cc73327205688cf9bd7a1cc169a90e09df82a Mon Sep 17 00:00:00 2001
From: linjieccc <40840292+linjieccc@users.noreply.github.com>
Date: Thu, 16 Sep 2021 16:50:59 +0800
Subject: [PATCH] Update nlp pretrained model docs (#1594)
---
.../bert-base-chinese/README.md | 223 +++++++++--------
modules/text/language_model/ernie/README.md | 229 +++++++++--------
.../text/language_model/ernie_tiny/README.md | 231 ++++++++++--------
.../ernie_v2_eng_base/README.md | 228 +++++++++--------
.../ernie_v2_eng_large/README.md | 228 +++++++++--------
.../language_model/roberta-wwm-ext/README.md | 215 ++++++++--------
6 files changed, 738 insertions(+), 616 deletions(-)
diff --git a/modules/text/language_model/bert-base-chinese/README.md b/modules/text/language_model/bert-base-chinese/README.md
index c7299f81..83a2180c 100644
--- a/modules/text/language_model/bert-base-chinese/README.md
+++ b/modules/text/language_model/bert-base-chinese/README.md
@@ -1,78 +1,43 @@
-```shell
-$ hub install bert-base-chinese==2.0.2
-```
+# bert-base-chinese
+|模型名称|bert-base-chinese|
+| :--- | :---: |
+|类别|文本-语义模型|
+|网络|bert-base-chinese|
+|数据集|百度自建数据集|
+|是否支持Fine-tuning|是|
+|模型大小|681MB|
+|最新更新日期|2021-02-26|
+|数据指标|-|
+
+## 一、模型基本信息
+
+- ### 模型介绍
-
+
更多详情请参考[BERT论文](https://arxiv.org/abs/1810.04805)
-## API
-
-```python
-def __init__(
- task=None,
- load_checkpoint=None,
- label_map=None,
- num_classes=2,
- suffix=False,
- **kwargs,
-)
-```
-
-创建Module对象(动态图组网版本)。
-
-**参数**
-
-* `task`: 任务名称,可为`seq-cls`(文本分类任务,原来的`sequence_classification`在未来会被弃用)或`token-cls`(序列标注任务)。
-* `load_checkpoint`:使用PaddleHub Fine-tune api训练保存的模型参数文件路径。
-* `label_map`:预测时的类别映射表。
-* `num_classes`:分类任务的类别数,如果指定了`label_map`,此参数可不传,默认2分类。
-* `suffix`: 序列标注任务的标签格式,如果设定为`True`,标签以'-B', '-I', '-E' 或者 '-S'为结尾,此参数默认为`False`。
-* `**kwargs`:用户额外指定的关键字字典类型的参数。
-```python
-def predict(
- data,
- max_seq_len=128,
- batch_size=1,
- use_gpu=False
-)
-```
-
-**参数**
-
-* `data`: 待预测数据,格式为\[\[sample\_a\_text\_a, sample\_a\_text\_b\], \[sample\_b\_text\_a, sample\_b\_text\_b\],…,\],其中每个元素都是一个样例,每个样例可以包含text\_a与text\_b。每个样例文本数量(1个或者2个)需和训练时保持一致。
-* `max_seq_len`:模型处理文本的最大长度
-* `batch_size`:模型批处理大小
-* `use_gpu`:是否使用gpu,默认为False。对于GPU用户,建议开启use_gpu。
-
-**返回**
-
-* `results`:list类型,不同任务类型的返回结果如下
- * 文本分类:列表里包含每个句子的预测标签,格式为\[label\_1, label\_2, …,\]
- * 序列标注:列表里包含每个句子每个token的预测标签,格式为\[\[token\_1, token\_2, …,\], \[token\_1, token\_2, …,\], …,\]
-
-```python
-def get_embedding(
- data,
- use_gpu=False
-)
-```
+## 二、安装
-用于获取输入文本的句子粒度特征与字粒度特征
+- ### 1、环境依赖
-**参数**
+ - paddlepaddle >= 2.0.0
-* `data`:输入文本列表,格式为\[\[sample\_a\_text\_a, sample\_a\_text\_b\], \[sample\_b\_text\_a, sample\_b\_text\_b\],…,\],其中每个元素都是一个样例,每个样例可以包含text\_a与text\_b。
-* `use_gpu`:是否使用gpu,默认为False。对于GPU用户,建议开启use_gpu。
+ - paddlehub >= 2.0.0 | [如何安装PaddleHub](../../../../docs/docs_ch/get_start/installation.rst)
-**返回**
+- ### 2、安装
-* `results`:list类型,格式为\[\[sample\_a\_pooled\_feature, sample\_a\_seq\_feature\], \[sample\_b\_pooled\_feature, sample\_b\_seq\_feature\],…,\],其中每个元素都是对应样例的特征输出,每个样例都有句子粒度特征pooled\_feature与字粒度特征seq\_feature。
+ - ```shell
+ $ hub install bert-base-chinese
+ ```
+ - 如您安装时遇到问题,可参考:[零基础windows安装](../../../../docs/docs_ch/get_start/windows_quickstart.md)
+ | [零基础Linux安装](../../../../docs/docs_ch/get_start/linux_quickstart.md) | [零基础MacOS安装](../../../../docs/docs_ch/get_start/mac_quickstart.md)
+## 三、模型API预测
-**代码示例**
+- ### 1、预测代码示例
```python
import paddlehub as hub
@@ -96,71 +61,126 @@ for idx, text in enumerate(data):
```
详情可参考PaddleHub示例:
-- [文本分类](https://github.com/PaddlePaddle/PaddleHub/tree/release/v2.0.0-beta/demo/text_classification)
-- [序列标注](https://github.com/PaddlePaddle/PaddleHub/tree/release/v2.0.0-beta/demo/sequence_labeling)
+- [文本分类](../../../../demo/text_classification)
+- [序列标注](../../../../demo/sequence_labeling)
-## 服务部署
+- ### 2、API
-PaddleHub Serving可以部署一个在线获取预训练词向量。
+ - ```python
+ def __init__(
+ task=None,
+ load_checkpoint=None,
+ label_map=None,
+ num_classes=2,
+ suffix=False,
+ **kwargs,
+ )
+ ```
-### Step1: 启动PaddleHub Serving
+ - 创建Module对象(动态图组网版本)
-运行启动命令:
+ - **参数**
-```shell
-$ hub serving start -m bert-base-chinese
-```
+ - `task`: 任务名称,可为`seq-cls`(文本分类任务)或`token-cls`(序列标注任务)。
+ - `load_checkpoint`:使用PaddleHub Fine-tune api训练保存的模型参数文件路径。
+ - `label_map`:预测时的类别映射表。
+ - `num_classes`:分类任务的类别数,如果指定了`label_map`,此参数可不传,默认2分类。
+ - `suffix`: 序列标注任务的标签格式,如果设定为`True`,标签以'-B', '-I', '-E' 或者 '-S'为结尾,此参数默认为`False`。
+ - `**kwargs`:用户额外指定的关键字字典类型的参数。
-这样就完成了一个获取预训练词向量服务化API的部署,默认端口号为8866。
+ - ```python
+ def predict(
+ data,
+ max_seq_len=128,
+ batch_size=1,
+ use_gpu=False
+ )
+ ```
-**NOTE:** 如使用GPU预测,则需要在启动服务之前,请设置CUDA_VISIBLE_DEVICES环境变量,否则不用设置。
+ - **参数**
-### Step2: 发送预测请求
+ - `data`: 待预测数据,格式为\[\[sample\_a\_text\_a, sample\_a\_text\_b\], \[sample\_b\_text\_a, sample\_b\_text\_b\],…,\],其中每个元素都是一个样例,每个样例可以包含text\_a与text\_b。每个样例文本数量(1个或者2个)需和训练时保持一致。
+ - `max_seq_len`:模型处理文本的最大长度
+ - `batch_size`:模型批处理大小
+ - `use_gpu`:是否使用gpu,默认为False。对于GPU用户,建议开启use_gpu。
-配置好服务端,以下数行代码即可实现发送预测请求,获取预测结果
+ - **返回**
-```python
-import requests
-import json
-
-# 指定用于获取embedding的文本[[text_1], [text_2], ... ]}
-text = [["今天是个好日子"], ["天气预报说今天要下雨"]]
-# 以key的方式指定text传入预测方法的时的参数,此例中为"data"
-# 对应本地部署,则为module.get_embedding(data=text)
-data = {"data": text}
-# 发送post请求,content-type类型应指定json方式,url中的ip地址需改为对应机器的ip
-url = "http://10.12.121.132:8866/predict/bert-base-chinese"
-# 指定post请求的headers为application/json方式
-headers = {"Content-Type": "application/json"}
-
-r = requests.post(url=url, headers=headers, data=json.dumps(data))
-print(r.json())
-```
+ - `results`:list类型,不同任务类型的返回结果如下
+ - 文本分类:列表里包含每个句子的预测标签,格式为\[label\_1, label\_2, …,\]
+ - 序列标注:列表里包含每个句子每个token的预测标签,格式为\[\[token\_1, token\_2, …,\], \[token\_1, token\_2, …,\], …,\]
+
+ - ```python
+ def get_embedding(
+ data,
+ use_gpu=False
+ )
+ ```
+
+ - 用于获取输入文本的句子粒度特征与字粒度特征
+
+ - **参数**
+
+ - `data`:输入文本列表,格式为\[\[sample\_a\_text\_a, sample\_a\_text\_b\], \[sample\_b\_text\_a, sample\_b\_text\_b\],…,\],其中每个元素都是一个样例,每个样例可以包含text\_a与text\_b。
+ - `use_gpu`:是否使用gpu,默认为False。对于GPU用户,建议开启use_gpu。
+
+ - **返回**
-## 查看代码
+ - `results`:list类型,格式为\[\[sample\_a\_pooled\_feature, sample\_a\_seq\_feature\], \[sample\_b\_pooled\_feature, sample\_b\_seq\_feature\],…,\],其中每个元素都是对应样例的特征输出,每个样例都有句子粒度特征pooled\_feature与字粒度特征seq\_feature。
-https://github.com/PaddlePaddle/models/tree/develop/PaddleNLP/pretrain_langauge_models/BERT
+## 四、服务部署
+- PaddleHub Serving可以部署一个在线获取预训练词向量。
-## 依赖
+- ### 第一步:启动PaddleHub Serving
-paddlepaddle >= 2.0.0
+ - ```shell
+ $ hub serving start -m bert-base-chinese
+ ```
-paddlehub >= 2.0.0
+ - 这样就完成了一个获取预训练词向量服务化API的部署,默认端口号为8866。
-## 更新历史
+ - **NOTE:** 如使用GPU预测,则需要在启动服务之前,请设置CUDA_VISIBLE_DEVICES环境变量,否则不用设置。
+
+- ### 第二步:发送预测请求
+
+ - 配置好服务端,以下数行代码即可实现发送预测请求,获取预测结果
+
+ - ```python
+ import requests
+ import json
+
+ # 指定用于获取embedding的文本[[text_1], [text_2], ... ]}
+ text = [["今天是个好日子"], ["天气预报说今天要下雨"]]
+ # 以key的方式指定text传入预测方法的时的参数,此例中为"data"
+ # 对应本地部署,则为module.get_embedding(data=text)
+ data = {"data": text}
+ # 发送post请求,content-type类型应指定json方式,url中的ip地址需改为对应机器的ip
+ url = "http://10.12.121.132:8866/predict/bert-base-chinese"
+ # 指定post请求的headers为application/json方式
+ headers = {"Content-Type": "application/json"}
+
+ r = requests.post(url=url, headers=headers, data=json.dumps(data))
+ print(r.json())
+ ```
+
+## 五、更新历史
* 1.0.0
初始发布
+* 1.0.1
+
+ 修复python 2的兼容问题
+
* 1.1.0
支持get_embedding与get_params_layer
* 2.0.0
- 全面升级动态图,接口有所变化。
+ 全面升级动态图版本,接口有所变化
* 2.0.1
@@ -168,4 +188,7 @@ paddlehub >= 2.0.0
* 2.0.2
- 增加文本匹配任务`text-matching`
+ 增加文本匹配任务`text-matching`
+ ```shell
+ $ hub install bert-base-chinese==2.0.2
+ ```
diff --git a/modules/text/language_model/ernie/README.md b/modules/text/language_model/ernie/README.md
index 26e12954..09ab85fc 100644
--- a/modules/text/language_model/ernie/README.md
+++ b/modules/text/language_model/ernie/README.md
@@ -1,88 +1,52 @@
-```shell
-$ hub install ernie==2.0.2
-```
-## 在线体验
-AI Studio 快速体验
-
-
-
-
-
-
+# ernie
+|模型名称|ernie|
+| :--- | :---: |
+|类别|文本-语义模型|
+|网络|ernie-1.0|
+|数据集|百度自建数据集|
+|是否支持Fine-tuning|是|
+|模型大小|384MB|
+|最新更新日期|2021-02-26|
+|数据指标|-|
-
-
-
+## 一、模型基本信息
+- ### 模型介绍
-更多详情请参考[ERNIE论文](https://arxiv.org/abs/1904.09223)
+Ernie是百度提出的基于知识增强的持续学习语义理解模型,该模型将大数据预训练与多源丰富知识相结合,通过持续学习技术,不断吸收海量文本数据中词汇、结构、语义等方面的知识,实现模型效果不断进化。
-## API
-```python
-def __init__(
- task=None,
- load_checkpoint=None,
- label_map=None,
- num_classes=2,
- suffix=False,
- **kwargs,
-)
-```
+ - AI Studio 快速体验
-创建Module对象(动态图组网版本)。
+
+
+
-**参数**
+
+
+
-* `task`: 任务名称,可为`seq-cls`(文本分类任务,原来的`sequence_classification`在未来会被弃用)或`token-cls`(序列标注任务)。
-* `load_checkpoint`:使用PaddleHub Fine-tune api训练保存的模型参数文件路径。
-* `label_map`:预测时的类别映射表。
-* `num_classes`:分类任务的类别数,如果指定了`label_map`,此参数可不传,默认2分类。
-* `suffix`: 序列标注任务的标签格式,如果设定为`True`,标签以'-B', '-I', '-E' 或者 '-S'为结尾,此参数默认为`False`。
-* `**kwargs`:用户额外指定的关键字字典类型的参数。
+ - 更多详情请参考[ERNIE论文](https://arxiv.org/abs/1904.09223)
-```python
-def predict(
- data,
- max_seq_len=128,
- batch_size=1,
- use_gpu=False
-)
-```
-
-**参数**
-
-* `data`: 待预测数据,格式为\[\[sample\_a\_text\_a, sample\_a\_text\_b\], \[sample\_b\_text\_a, sample\_b\_text\_b\],…,\],其中每个元素都是一个样例,每个样例可以包含text\_a与text\_b。每个样例文本数量(1个或者2个)需和训练时保持一致。
-* `max_seq_len`:模型处理文本的最大长度
-* `batch_size`:模型批处理大小
-* `use_gpu`:是否使用gpu,默认为False。对于GPU用户,建议开启use_gpu。
-
-**返回**
-
-* `results`:list类型,不同任务类型的返回结果如下
- * 文本分类:列表里包含每个句子的预测标签,格式为\[label\_1, label\_2, …,\]
- * 序列标注:列表里包含每个句子每个token的预测标签,格式为\[\[token\_1, token\_2, …,\], \[token\_1, token\_2, …,\], …,\]
-
-```python
-def get_embedding(
- data,
- use_gpu=False
-)
-```
+## 二、安装
-用于获取输入文本的句子粒度特征与字粒度特征
+- ### 1、环境依赖
-**参数**
+ - paddlepaddle >= 2.0.0
-* `data`:输入文本列表,格式为\[\[sample\_a\_text\_a, sample\_a\_text\_b\], \[sample\_b\_text\_a, sample\_b\_text\_b\],…,\],其中每个元素都是一个样例,每个样例可以包含text\_a与text\_b。
-* `use_gpu`:是否使用gpu,默认为False。对于GPU用户,建议开启use_gpu。
+ - paddlehub >= 2.0.0 | [如何安装PaddleHub](../../../../docs/docs_ch/get_start/installation.rst)
-**返回**
+- ### 2、安装
-* `results`:list类型,格式为\[\[sample\_a\_pooled\_feature, sample\_a\_seq\_feature\], \[sample\_b\_pooled\_feature, sample\_b\_seq\_feature\],…,\],其中每个元素都是对应样例的特征输出,每个样例都有句子粒度特征pooled\_feature与字粒度特征seq\_feature。
+ - ```shell
+ $ hub install ernie
+ ```
+ - 如您安装时遇到问题,可参考:[零基础windows安装](../../../../docs/docs_ch/get_start/windows_quickstart.md)
+ | [零基础Linux安装](../../../../docs/docs_ch/get_start/linux_quickstart.md) | [零基础MacOS安装](../../../../docs/docs_ch/get_start/mac_quickstart.md)
+## 三、模型API预测
-**代码示例**
+- ### 1、预测代码示例
```python
import paddlehub as hub
@@ -106,58 +70,110 @@ for idx, text in enumerate(data):
```
详情可参考PaddleHub示例:
-- [文本分类](https://github.com/PaddlePaddle/PaddleHub/tree/release/v2.0.0-beta/demo/text_classification)
-- [序列标注](https://github.com/PaddlePaddle/PaddleHub/tree/release/v2.0.0-beta/demo/sequence_labeling)
+- [文本分类](../../../../demo/text_classification)
+- [序列标注](../../../../demo/sequence_labeling)
-## 服务部署
+- ### 2、API
-PaddleHub Serving可以部署一个在线获取预训练词向量。
+ - ```python
+ def __init__(
+ task=None,
+ load_checkpoint=None,
+ label_map=None,
+ num_classes=2,
+ suffix=False,
+ **kwargs,
+ )
+ ```
-### Step1: 启动PaddleHub Serving
+ - 创建Module对象(动态图组网版本)
-运行启动命令:
+ - **参数**
-```shell
-$ hub serving start -m ernie
-```
+ - `task`: 任务名称,可为`seq-cls`(文本分类任务)或`token-cls`(序列标注任务)。
+ - `load_checkpoint`:使用PaddleHub Fine-tune api训练保存的模型参数文件路径。
+ - `label_map`:预测时的类别映射表。
+ - `num_classes`:分类任务的类别数,如果指定了`label_map`,此参数可不传,默认2分类。
+ - `suffix`: 序列标注任务的标签格式,如果设定为`True`,标签以'-B', '-I', '-E' 或者 '-S'为结尾,此参数默认为`False`。
+ - `**kwargs`:用户额外指定的关键字字典类型的参数。
-这样就完成了一个获取预训练词向量服务化API的部署,默认端口号为8866。
+ - ```python
+ def predict(
+ data,
+ max_seq_len=128,
+ batch_size=1,
+ use_gpu=False
+ )
+ ```
-**NOTE:** 如使用GPU预测,则需要在启动服务之前,请设置CUDA_VISIBLE_DEVICES环境变量,否则不用设置。
+ - **参数**
-### Step2: 发送预测请求
+ - `data`: 待预测数据,格式为\[\[sample\_a\_text\_a, sample\_a\_text\_b\], \[sample\_b\_text\_a, sample\_b\_text\_b\],…,\],其中每个元素都是一个样例,每个样例可以包含text\_a与text\_b。每个样例文本数量(1个或者2个)需和训练时保持一致。
+ - `max_seq_len`:模型处理文本的最大长度
+ - `batch_size`:模型批处理大小
+ - `use_gpu`:是否使用gpu,默认为False。对于GPU用户,建议开启use_gpu。
-配置好服务端,以下数行代码即可实现发送预测请求,获取预测结果
+ - **返回**
-```python
-import requests
-import json
-
-# 指定用于获取embedding的文本[[text_1], [text_2], ... ]}
-text = [["今天是个好日子"], ["天气预报说今天要下雨"]]
-# 以key的方式指定text传入预测方法的时的参数,此例中为"data"
-# 对应本地部署,则为module.get_embedding(data=text)
-data = {"data": text}
-# 发送post请求,content-type类型应指定json方式,url中的ip地址需改为对应机器的ip
-url = "http://10.12.121.132:8866/predict/ernie"
-# 指定post请求的headers为application/json方式
-headers = {"Content-Type": "application/json"}
-
-r = requests.post(url=url, headers=headers, data=json.dumps(data))
-print(r.json())
-```
+ - `results`:list类型,不同任务类型的返回结果如下
+ - 文本分类:列表里包含每个句子的预测标签,格式为\[label\_1, label\_2, …,\]
+ - 序列标注:列表里包含每个句子每个token的预测标签,格式为\[\[token\_1, token\_2, …,\], \[token\_1, token\_2, …,\], …,\]
+
+ - ```python
+ def get_embedding(
+ data,
+ use_gpu=False
+ )
+ ```
+
+ - 用于获取输入文本的句子粒度特征与字粒度特征
+
+ - **参数**
+
+ - `data`:输入文本列表,格式为\[\[sample\_a\_text\_a, sample\_a\_text\_b\], \[sample\_b\_text\_a, sample\_b\_text\_b\],…,\],其中每个元素都是一个样例,每个样例可以包含text\_a与text\_b。
+ - `use_gpu`:是否使用gpu,默认为False。对于GPU用户,建议开启use_gpu。
+
+ - **返回**
+
+ - `results`:list类型,格式为\[\[sample\_a\_pooled\_feature, sample\_a\_seq\_feature\], \[sample\_b\_pooled\_feature, sample\_b\_seq\_feature\],…,\],其中每个元素都是对应样例的特征输出,每个样例都有句子粒度特征pooled\_feature与字粒度特征seq\_feature。
+
+## 四、服务部署
+
+- PaddleHub Serving可以部署一个在线获取预训练词向量。
+
+- ### 第一步:启动PaddleHub Serving
+
+ - ```shell
+ $ hub serving start -m ernie
+ ```
+
+ - 这样就完成了一个获取预训练词向量服务化API的部署,默认端口号为8866。
+
+ - **NOTE:** 如使用GPU预测,则需要在启动服务之前,请设置CUDA_VISIBLE_DEVICES环境变量,否则不用设置。
-## 查看代码
+- ### 第二步:发送预测请求
-https://github.com/PaddlePaddle/ERNIE
+ - 配置好服务端,以下数行代码即可实现发送预测请求,获取预测结果
-## 依赖
+ - ```python
+ import requests
+ import json
-paddlepaddle >= 2.0.0
+ # 指定用于获取embedding的文本[[text_1], [text_2], ... ]}
+ text = [["今天是个好日子"], ["天气预报说今天要下雨"]]
+ # 以key的方式指定text传入预测方法的时的参数,此例中为"data"
+ # 对应本地部署,则为module.get_embedding(data=text)
+ data = {"data": text}
+ # 发送post请求,content-type类型应指定json方式,url中的ip地址需改为对应机器的ip
+ url = "http://10.12.121.132:8866/predict/ernie"
+ # 指定post请求的headers为application/json方式
+ headers = {"Content-Type": "application/json"}
-paddlehub >= 2.0.0
+ r = requests.post(url=url, headers=headers, data=json.dumps(data))
+ print(r.json())
+ ```
-## 更新历史
+## 五、更新历史
* 1.0.0
@@ -190,3 +206,6 @@ paddlehub >= 2.0.0
* 2.0.2
增加文本匹配任务`text-matching`
+ ```shell
+ $ hub install ernie==2.0.2
+ ```
diff --git a/modules/text/language_model/ernie_tiny/README.md b/modules/text/language_model/ernie_tiny/README.md
index 3f2d9f57..d3814a72 100644
--- a/modules/text/language_model/ernie_tiny/README.md
+++ b/modules/text/language_model/ernie_tiny/README.md
@@ -1,88 +1,53 @@
-```shell
-$ hub install ernie_tiny==2.0.2
-```
-## 在线体验
-AI Studio 快速体验
-
+# ernie_tiny
+|模型名称|ernie_tiny|
+| :--- | :---: |
+|类别|文本-语义模型|
+|网络|ernie_tiny|
+|数据集|百度自建数据集|
+|是否支持Fine-tuning|是|
+|模型大小|346MB|
+|最新更新日期|2021-02-26|
+|数据指标|-|
-
-
-
+## 一、模型基本信息
+- ### 模型介绍
-
-
-
+Ernie是百度提出的基于知识增强的持续学习语义理解模型,该模型将大数据预训练与多源丰富知识相结合,通过持续学习技术,不断吸收海量文本数据中词汇、结构、语义等方面的知识,实现模型效果不断进化。
-更多详情请参考[ERNIE论文](https://arxiv.org/abs/1904.09223)
+ - AI Studio 快速体验
-## API
+
+
+
-```python
-def __init__(
- task=None,
- load_checkpoint=None,
- label_map=None,
- num_classes=2,
- suffix=False,
- **kwargs,
-)
-```
+
+
+
-创建Module对象(动态图组网版本)。
+ - 更多详情请参考[ERNIE论文](https://arxiv.org/abs/1904.09223)
-**参数**
+## 二、安装
-* `task`: 任务名称,可为`seq-cls`(文本分类任务,原来的`sequence_classification`在未来会被弃用)或`token-cls`(序列标注任务)。
-* `load_checkpoint`:使用PaddleHub Fine-tune api训练保存的模型参数文件路径。
-* `label_map`:预测时的类别映射表。
-* `num_classes`:分类任务的类别数,如果指定了`label_map`,此参数可不传,默认2分类。
-* `suffix`: 序列标注任务的标签格式,如果设定为`True`,标签以'-B', '-I', '-E' 或者 '-S'为结尾,此参数默认为`False`。
-* `**kwargs`:用户额外指定的关键字字典类型的参数。
+- ### 1、环境依赖
-```python
-def predict(
- data,
- max_seq_len=128,
- batch_size=1,
- use_gpu=False
-)
-```
+ - paddlepaddle >= 2.0.0
-**参数**
+ - paddlehub >= 2.0.0 | [如何安装PaddleHub](../../../../docs/docs_ch/get_start/installation.rst)
-* `data`: 待预测数据,格式为\[\[sample\_a\_text\_a, sample\_a\_text\_b\], \[sample\_b\_text\_a, sample\_b\_text\_b\],…,\],其中每个元素都是一个样例,每个样例可以包含text\_a与text\_b。每个样例文本数量(1个或者2个)需和训练时保持一致。
-* `max_seq_len`:模型处理文本的最大长度
-* `batch_size`:模型批处理大小
-* `use_gpu`:是否使用gpu,默认为False。对于GPU用户,建议开启use_gpu。
+- ### 2、安装
-**返回**
+ - ```shell
+ $ hub install ernie_tiny
+ ```
+ - 如您安装时遇到问题,可参考:[零基础windows安装](../../../../docs/docs_ch/get_start/windows_quickstart.md)
+ | [零基础Linux安装](../../../../docs/docs_ch/get_start/linux_quickstart.md) | [零基础MacOS安装](../../../../docs/docs_ch/get_start/mac_quickstart.md)
-* `results`:list类型,不同任务类型的返回结果如下
- * 文本分类:列表里包含每个句子的预测标签,格式为\[label\_1, label\_2, …,\]
- * 序列标注:列表里包含每个句子每个token的预测标签,格式为\[\[token\_1, token\_2, …,\], \[token\_1, token\_2, …,\], …,\]
-```python
-def get_embedding(
- data,
- use_gpu=False
-)
-```
+## 三、模型API预测
-用于获取输入文本的句子粒度特征与字粒度特征
-
-**参数**
-
-* `data`:输入文本列表,格式为\[\[sample\_a\_text\_a, sample\_a\_text\_b\], \[sample\_b\_text\_a, sample\_b\_text\_b\],…,\],其中每个元素都是一个样例,每个样例可以包含text\_a与text\_b。
-* `use_gpu`:是否使用gpu,默认为False。对于GPU用户,建议开启use_gpu。
-
-**返回**
-
-* `results`:list类型,格式为\[\[sample\_a\_pooled\_feature, sample\_a\_seq\_feature\], \[sample\_b\_pooled\_feature, sample\_b\_seq\_feature\],…,\],其中每个元素都是对应样例的特征输出,每个样例都有句子粒度特征pooled\_feature与字粒度特征seq\_feature。
-
-
-**代码示例**
+- ### 1、预测代码示例
```python
import paddlehub as hub
@@ -97,7 +62,7 @@ label_map = {0: 'negative', 1: 'positive'}
model = hub.Module(
name='ernie_tiny',
version='2.0.2',
- task='sequence_classification',
+ task='seq-cls',
load_checkpoint='/path/to/parameters',
label_map=label_map)
results = model.predict(data, max_seq_len=50, batch_size=1, use_gpu=False)
@@ -106,58 +71,111 @@ for idx, text in enumerate(data):
```
详情可参考PaddleHub示例:
-- [文本分类](https://github.com/PaddlePaddle/PaddleHub/tree/release/v2.0.0-beta/demo/text_classification)
-- [序列标注](https://github.com/PaddlePaddle/PaddleHub/tree/release/v2.0.0-beta/demo/sequence_labeling)
+- [文本分类](../../../../demo/text_classification)
+- [序列标注](../../../../demo/sequence_labeling)
-## 服务部署
-PaddleHub Serving可以部署一个在线获取预训练词向量。
+- ### 2、API
-### Step1: 启动PaddleHub Serving
+ - ```python
+ def __init__(
+ task=None,
+ load_checkpoint=None,
+ label_map=None,
+ num_classes=2,
+ suffix=False,
+ **kwargs,
+ )
+ ```
-运行启动命令:
+ - 创建Module对象(动态图组网版本)
-```shell
-$ hub serving start -m ernie_tiny
-```
+ - **参数**
-这样就完成了一个获取预训练词向量服务化API的部署,默认端口号为8866。
+ - `task`: 任务名称,可为`seq-cls`(文本分类任务)或`token-cls`(序列标注任务)。
+ - `load_checkpoint`:使用PaddleHub Fine-tune api训练保存的模型参数文件路径。
+ - `label_map`:预测时的类别映射表。
+ - `num_classes`:分类任务的类别数,如果指定了`label_map`,此参数可不传,默认2分类。
+ - `suffix`: 序列标注任务的标签格式,如果设定为`True`,标签以'-B', '-I', '-E' 或者 '-S'为结尾,此参数默认为`False`。
+ - `**kwargs`:用户额外指定的关键字字典类型的参数。
-**NOTE:** 如使用GPU预测,则需要在启动服务之前,请设置CUDA_VISIBLE_DEVICES环境变量,否则不用设置。
+ - ```python
+ def predict(
+ data,
+ max_seq_len=128,
+ batch_size=1,
+ use_gpu=False
+ )
+ ```
-### Step2: 发送预测请求
+ - **参数**
-配置好服务端,以下数行代码即可实现发送预测请求,获取预测结果
+ - `data`: 待预测数据,格式为\[\[sample\_a\_text\_a, sample\_a\_text\_b\], \[sample\_b\_text\_a, sample\_b\_text\_b\],…,\],其中每个元素都是一个样例,每个样例可以包含text\_a与text\_b。每个样例文本数量(1个或者2个)需和训练时保持一致。
+ - `max_seq_len`:模型处理文本的最大长度
+ - `batch_size`:模型批处理大小
+ - `use_gpu`:是否使用gpu,默认为False。对于GPU用户,建议开启use_gpu。
-```python
-import requests
-import json
-
-# 指定用于获取embedding的文本[[text_1], [text_2], ... ]}
-text = [["今天是个好日子"], ["天气预报说今天要下雨"]]
-# 以key的方式指定text传入预测方法的时的参数,此例中为"data"
-# 对应本地部署,则为module.get_embedding(data=text)
-data = {"data": text}
-# 发送post请求,content-type类型应指定json方式,url中的ip地址需改为对应机器的ip
-url = "http://10.12.121.132:8866/predict/ernie_tiny"
-# 指定post请求的headers为application/json方式
-headers = {"Content-Type": "application/json"}
-
-r = requests.post(url=url, headers=headers, data=json.dumps(data))
-print(r.json())
-```
+ - **返回**
+
+ - `results`:list类型,不同任务类型的返回结果如下
+ - 文本分类:列表里包含每个句子的预测标签,格式为\[label\_1, label\_2, …,\]
+ - 序列标注:列表里包含每个句子每个token的预测标签,格式为\[\[token\_1, token\_2, …,\], \[token\_1, token\_2, …,\], …,\]
+
+ - ```python
+ def get_embedding(
+ data,
+ use_gpu=False
+ )
+ ```
+
+ - 用于获取输入文本的句子粒度特征与字粒度特征
+
+ - **参数**
+
+ - `data`:输入文本列表,格式为\[\[sample\_a\_text\_a, sample\_a\_text\_b\], \[sample\_b\_text\_a, sample\_b\_text\_b\],…,\],其中每个元素都是一个样例,每个样例可以包含text\_a与text\_b。
+ - `use_gpu`:是否使用gpu,默认为False。对于GPU用户,建议开启use_gpu。
+
+ - **返回**
+
+ - `results`:list类型,格式为\[\[sample\_a\_pooled\_feature, sample\_a\_seq\_feature\], \[sample\_b\_pooled\_feature, sample\_b\_seq\_feature\],…,\],其中每个元素都是对应样例的特征输出,每个样例都有句子粒度特征pooled\_feature与字粒度特征seq\_feature。
+
+## 四、服务部署
+
+- PaddleHub Serving可以部署一个在线获取预训练词向量。
+
+- ### 第一步:启动PaddleHub Serving
+
+ - ```shell
+ $ hub serving start -m ernie_tiny
+ ```
+
+ - 这样就完成了一个获取预训练词向量服务化API的部署,默认端口号为8866。
+
+ - **NOTE:** 如使用GPU预测,则需要在启动服务之前,请设置CUDA_VISIBLE_DEVICES环境变量,否则不用设置。
-## 查看代码
+- ### 第二步:发送预测请求
-https://github.com/PaddlePaddle/ERNIE
+ - 配置好服务端,以下数行代码即可实现发送预测请求,获取预测结果
-## 依赖
+ - ```python
+ import requests
+ import json
-paddlepaddle >= 2.0.0
+ # 指定用于获取embedding的文本[[text_1], [text_2], ... ]}
+ text = [["今天是个好日子"], ["天气预报说今天要下雨"]]
+ # 以key的方式指定text传入预测方法的时的参数,此例中为"data"
+ # 对应本地部署,则为module.get_embedding(data=text)
+ data = {"data": text}
+ # 发送post请求,content-type类型应指定json方式,url中的ip地址需改为对应机器的ip
+ url = "http://10.12.121.132:8866/predict/ernie_tiny"
+ # 指定post请求的headers为application/json方式
+ headers = {"Content-Type": "application/json"}
-paddlehub >= 2.0.0
+ r = requests.post(url=url, headers=headers, data=json.dumps(data))
+ print(r.json())
+ ```
-## 更新历史
+## 五、更新历史
* 1.0.0
@@ -182,3 +200,6 @@ paddlehub >= 2.0.0
* 2.0.2
增加文本匹配任务`text-matching`
+ ```shell
+ $ hub install ernie_tiny==2.0.2
+ ```
diff --git a/modules/text/language_model/ernie_v2_eng_base/README.md b/modules/text/language_model/ernie_v2_eng_base/README.md
index 24d0103a..d69e1540 100644
--- a/modules/text/language_model/ernie_v2_eng_base/README.md
+++ b/modules/text/language_model/ernie_v2_eng_base/README.md
@@ -1,84 +1,49 @@
+# ernie_v2_eng_base
+|模型名称|ernie_v2_eng_base|
+| :--- | :---: |
+|类别|文本-语义模型|
+|网络|ernie_v2_eng_base|
+|数据集|百度自建数据集|
+|是否支持Fine-tuning|是|
+|模型大小|1.3G|
+|最新更新日期|2021-03-16|
+|数据指标|-|
-```shell
-$ hub install ernie_v2_eng_base==2.0.2
-```
-
-
-
-
-
-
-
-
-
-更多详情请参考[ERNIE论文](https://arxiv.org/abs/1907.12412)
+## 一、模型基本信息
-## API
+- ### 模型介绍
-```python
-def __init__(
- task=None,
- load_checkpoint=None,
- label_map=None,
- num_classes=2,
- suffix=False,
- **kwargs,
-)
-```
+Ernie是百度提出的基于知识增强的持续学习语义理解模型,该模型将大数据预训练与多源丰富知识相结合,通过持续学习技术,不断吸收海量文本数据中词汇、结构、语义等方面的知识,实现模型效果不断进化。
-创建Module对象(动态图组网版本)。
+ -
+
+
-**参数**
+
+
+
-* `task`: 任务名称,可为`seq-cls`(文本分类任务,原来的`sequence_classification`在未来会被弃用)或`token-cls`(序列标注任务)。
-* `load_checkpoint`:使用PaddleHub Fine-tune api训练保存的模型参数文件路径。
-* `label_map`:预测时的类别映射表。
-* `num_classes`:分类任务的类别数,如果指定了`label_map`,此参数可不传,默认2分类。
-* `suffix`: 序列标注任务的标签格式,如果设定为`True`,标签以'-B', '-I', '-E' 或者 '-S'为结尾,此参数默认为`False`。
-* `**kwargs`:用户额外指定的关键字字典类型的参数。
+ - 更多详情请参考[ERNIE论文](https://arxiv.org/abs/1907.12412)
-```python
-def predict(
- data,
- max_seq_len=128,
- batch_size=1,
- use_gpu=False
-)
-```
-
-**参数**
-
-* `data`: 待预测数据,格式为\[\[sample\_a\_text\_a, sample\_a\_text\_b\], \[sample\_b\_text\_a, sample\_b\_text\_b\],…,\],其中每个元素都是一个样例,每个样例可以包含text\_a与text\_b。每个样例文本数量(1个或者2个)需和训练时保持一致。
-* `max_seq_len`:模型处理文本的最大长度
-* `batch_size`:模型批处理大小
-* `use_gpu`:是否使用gpu,默认为False。对于GPU用户,建议开启use_gpu。
-
-**返回**
-
-* `results`:list类型,不同任务类型的返回结果如下
- * 文本分类:列表里包含每个句子的预测标签,格式为\[label\_1, label\_2, …,\]
- * 序列标注:列表里包含每个句子每个token的预测标签,格式为\[\[token\_1, token\_2, …,\], \[token\_1, token\_2, …,\], …,\]
-
-```python
-def get_embedding(
- data,
- use_gpu=False
-)
-```
+## 二、安装
-用于获取输入文本的句子粒度特征与字粒度特征
+- ### 1、环境依赖
-**参数**
+ - paddlepaddle >= 2.0.0
-* `data`:输入文本列表,格式为\[\[sample\_a\_text\_a, sample\_a\_text\_b\], \[sample\_b\_text\_a, sample\_b\_text\_b\],…,\],其中每个元素都是一个样例,每个样例可以包含text\_a与text\_b。
-* `use_gpu`:是否使用gpu,默认为False。对于GPU用户,建议开启use_gpu。
+ - paddlehub >= 2.0.0 | [如何安装PaddleHub](../../../../docs/docs_ch/get_start/installation.rst)
-**返回**
+- ### 2、安装
-* `results`:list类型,格式为\[\[sample\_a\_pooled\_feature, sample\_a\_seq\_feature\], \[sample\_b\_pooled\_feature, sample\_b\_seq\_feature\],…,\],其中每个元素都是对应样例的特征输出,每个样例都有句子粒度特征pooled\_feature与字粒度特征seq\_feature。
+ - ```shell
+ $ hub install ernie_tiny
+ ```
+ - 如您安装时遇到问题,可参考:[零基础windows安装](../../../../docs/docs_ch/get_start/windows_quickstart.md)
+ | [零基础Linux安装](../../../../docs/docs_ch/get_start/linux_quickstart.md) | [零基础MacOS安装](../../../../docs/docs_ch/get_start/mac_quickstart.md)
+## 三、模型API预测
-**代码示例**
+- ### 1、预测代码示例
```python
import paddlehub as hub
@@ -102,58 +67,110 @@ for idx, text in enumerate(data):
```
详情可参考PaddleHub示例:
-- [文本分类](https://github.com/PaddlePaddle/PaddleHub/tree/release/v2.0.0-beta/demo/text_classification)
-- [序列标注](https://github.com/PaddlePaddle/PaddleHub/tree/release/v2.0.0-beta/demo/sequence_labeling)
+- [文本分类](../../../../demo/text_classification)
+- [序列标注](../../../../demo/sequence_labeling)
-## 服务部署
+- ### 2、API
-PaddleHub Serving可以部署一个在线获取预训练词向量。
+ - ```python
+ def __init__(
+ task=None,
+ load_checkpoint=None,
+ label_map=None,
+ num_classes=2,
+ suffix=False,
+ **kwargs,
+ )
+ ```
-### Step1: 启动PaddleHub Serving
+ - 创建Module对象(动态图组网版本)
-运行启动命令:
+ - **参数**
-```shell
-$ hub serving start -m ernie_v2_eng_base
-```
+ - `task`: 任务名称,可为`seq-cls`(文本分类任务)或`token-cls`(序列标注任务)。
+ - `load_checkpoint`:使用PaddleHub Fine-tune api训练保存的模型参数文件路径。
+ - `label_map`:预测时的类别映射表。
+ - `num_classes`:分类任务的类别数,如果指定了`label_map`,此参数可不传,默认2分类。
+ - `suffix`: 序列标注任务的标签格式,如果设定为`True`,标签以'-B', '-I', '-E' 或者 '-S'为结尾,此参数默认为`False`。
+ - `**kwargs`:用户额外指定的关键字字典类型的参数。
-这样就完成了一个获取预训练词向量服务化API的部署,默认端口号为8866。
+ - ```python
+ def predict(
+ data,
+ max_seq_len=128,
+ batch_size=1,
+ use_gpu=False
+ )
+ ```
-**NOTE:** 如使用GPU预测,则需要在启动服务之前,请设置CUDA_VISIBLE_DEVICES环境变量,否则不用设置。
+ - **参数**
-### Step2: 发送预测请求
+ - `data`: 待预测数据,格式为\[\[sample\_a\_text\_a, sample\_a\_text\_b\], \[sample\_b\_text\_a, sample\_b\_text\_b\],…,\],其中每个元素都是一个样例,每个样例可以包含text\_a与text\_b。每个样例文本数量(1个或者2个)需和训练时保持一致。
+ - `max_seq_len`:模型处理文本的最大长度
+ - `batch_size`:模型批处理大小
+ - `use_gpu`:是否使用gpu,默认为False。对于GPU用户,建议开启use_gpu。
-配置好服务端,以下数行代码即可实现发送预测请求,获取预测结果
+ - **返回**
-```python
-import requests
-import json
-
-# 指定用于获取embedding的文本[[text_1], [text_2], ... ]}
-text = [["今天是个好日子"], ["天气预报说今天要下雨"]]
-# 以key的方式指定text传入预测方法的时的参数,此例中为"data"
-# 对应本地部署,则为module.get_embedding(data=text)
-data = {"data": text}
-# 发送post请求,content-type类型应指定json方式,url中的ip地址需改为对应机器的ip
-url = "http://10.12.121.132:8866/predict/ernie_v2_eng_base"
-# 指定post请求的headers为application/json方式
-headers = {"Content-Type": "application/json"}
-
-r = requests.post(url=url, headers=headers, data=json.dumps(data))
-print(r.json())
-```
+ - `results`:list类型,不同任务类型的返回结果如下
+ - 文本分类:列表里包含每个句子的预测标签,格式为\[label\_1, label\_2, …,\]
+ - 序列标注:列表里包含每个句子每个token的预测标签,格式为\[\[token\_1, token\_2, …,\], \[token\_1, token\_2, …,\], …,\]
+
+ - ```python
+ def get_embedding(
+ data,
+ use_gpu=False
+ )
+ ```
+
+ - 用于获取输入文本的句子粒度特征与字粒度特征
+
+ - **参数**
+
+ - `data`:输入文本列表,格式为\[\[sample\_a\_text\_a, sample\_a\_text\_b\], \[sample\_b\_text\_a, sample\_b\_text\_b\],…,\],其中每个元素都是一个样例,每个样例可以包含text\_a与text\_b。
+ - `use_gpu`:是否使用gpu,默认为False。对于GPU用户,建议开启use_gpu。
+
+ - **返回**
+
+ - `results`:list类型,格式为\[\[sample\_a\_pooled\_feature, sample\_a\_seq\_feature\], \[sample\_b\_pooled\_feature, sample\_b\_seq\_feature\],…,\],其中每个元素都是对应样例的特征输出,每个样例都有句子粒度特征pooled\_feature与字粒度特征seq\_feature。
+
+## 四、服务部署
+
+- PaddleHub Serving可以部署一个在线获取预训练词向量。
+
+- ### 第一步:启动PaddleHub Serving
+
+ - ```shell
+ $ hub serving start -m ernie_v2_eng_base
+ ```
+
+ - 这样就完成了一个获取预训练词向量服务化API的部署,默认端口号为8866。
+
+ - **NOTE:** 如使用GPU预测,则需要在启动服务之前,请设置CUDA_VISIBLE_DEVICES环境变量,否则不用设置。
-## 查看代码
+- ### 第二步:发送预测请求
-https://github.com/PaddlePaddle/ERNIE
+ - 配置好服务端,以下数行代码即可实现发送预测请求,获取预测结果
-## 依赖
+ - ```python
+ import requests
+ import json
-paddlepaddle >= 2.0.0
+ # 指定用于获取embedding的文本[[text_1], [text_2], ... ]}
+ text = [["今天是个好日子"], ["天气预报说今天要下雨"]]
+ # 以key的方式指定text传入预测方法的时的参数,此例中为"data"
+ # 对应本地部署,则为module.get_embedding(data=text)
+ data = {"data": text}
+ # 发送post请求,content-type类型应指定json方式,url中的ip地址需改为对应机器的ip
+ url = "http://10.12.121.132:8866/predict/ernie_v2_eng_base"
+ # 指定post请求的headers为application/json方式
+ headers = {"Content-Type": "application/json"}
-paddlehub >= 2.0.0
+ r = requests.post(url=url, headers=headers, data=json.dumps(data))
+ print(r.json())
+ ```
-## 更新历史
+## 五、更新历史
* 1.0.0
@@ -177,4 +194,7 @@ paddlehub >= 2.0.0
* 2.0.2
- 增加文本匹配任务`text-matching`
+ 增加文本匹配任务`text-matching`
+ ```shell
+ $ hub install ernie_v2_eng_base==2.0.2
+ ```
diff --git a/modules/text/language_model/ernie_v2_eng_large/README.md b/modules/text/language_model/ernie_v2_eng_large/README.md
index 5552b6ea..84c912a9 100644
--- a/modules/text/language_model/ernie_v2_eng_large/README.md
+++ b/modules/text/language_model/ernie_v2_eng_large/README.md
@@ -1,84 +1,49 @@
+# ernie_v2_eng_large
+|模型名称|ernie_v2_eng_large|
+| :--- | :---: |
+|类别|文本-语义模型|
+|网络|ernie_v2_eng_large|
+|数据集|百度自建数据集|
+|是否支持Fine-tuning|是|
+|模型大小|1.3G|
+|最新更新日期|2021-03-16|
+|数据指标|-|
-```shell
-$ hub install ernie_v2_eng_large==2.0.2
-```
-
-
-
-
-
-
-
-
-
-更多详情请参考[ERNIE论文](https://arxiv.org/abs/1907.12412)
+## 一、模型基本信息
-## API
+- ### 模型介绍
-```python
-def __init__(
- task=None,
- load_checkpoint=None,
- label_map=None,
- num_classes=2,
- suffix=False,
- **kwargs,
-)
-```
+Ernie是百度提出的基于知识增强的持续学习语义理解模型,该模型将大数据预训练与多源丰富知识相结合,通过持续学习技术,不断吸收海量文本数据中词汇、结构、语义等方面的知识,实现模型效果不断进化。
-创建Module对象(动态图组网版本)。
+ -
+
+
-**参数**
+
+
+
-* `task`: 任务名称,可为`seq-cls`(文本分类任务,原来的`sequence_classification`在未来会被弃用)或`token-cls`(序列标注任务)。
-* `load_checkpoint`:使用PaddleHub Fine-tune api训练保存的模型参数文件路径。
-* `label_map`:预测时的类别映射表。
-* `num_classes`:分类任务的类别数,如果指定了`label_map`,此参数可不传,默认2分类。
-* `suffix`: 序列标注任务的标签格式,如果设定为`True`,标签以'-B', '-I', '-E' 或者 '-S'为结尾,此参数默认为`False`。
-* `**kwargs`:用户额外指定的关键字字典类型的参数。
+ - 更多详情请参考[ERNIE论文](https://arxiv.org/abs/1907.12412)
-```python
-def predict(
- data,
- max_seq_len=128,
- batch_size=1,
- use_gpu=False
-)
-```
-
-**参数**
-
-* `data`: 待预测数据,格式为\[\[sample\_a\_text\_a, sample\_a\_text\_b\], \[sample\_b\_text\_a, sample\_b\_text\_b\],…,\],其中每个元素都是一个样例,每个样例可以包含text\_a与text\_b。每个样例文本数量(1个或者2个)需和训练时保持一致。
-* `max_seq_len`:模型处理文本的最大长度
-* `batch_size`:模型批处理大小
-* `use_gpu`:是否使用gpu,默认为False。对于GPU用户,建议开启use_gpu。
-
-**返回**
-
-* `results`:list类型,不同任务类型的返回结果如下
- * 文本分类:列表里包含每个句子的预测标签,格式为\[label\_1, label\_2, …,\]
- * 序列标注:列表里包含每个句子每个token的预测标签,格式为\[\[token\_1, token\_2, …,\], \[token\_1, token\_2, …,\], …,\]
-
-```python
-def get_embedding(
- data,
- use_gpu=False
-)
-```
+## 二、安装
-用于获取输入文本的句子粒度特征与字粒度特征
+- ### 1、环境依赖
-**参数**
+ - paddlepaddle >= 2.0.0
-* `data`:输入文本列表,格式为\[\[sample\_a\_text\_a, sample\_a\_text\_b\], \[sample\_b\_text\_a, sample\_b\_text\_b\],…,\],其中每个元素都是一个样例,每个样例可以包含text\_a与text\_b。
-* `use_gpu`:是否使用gpu,默认为False。对于GPU用户,建议开启use_gpu。
+ - paddlehub >= 2.0.0 | [如何安装PaddleHub](../../../../docs/docs_ch/get_start/installation.rst)
-**返回**
+- ### 2、安装
-* `results`:list类型,格式为\[\[sample\_a\_pooled\_feature, sample\_a\_seq\_feature\], \[sample\_b\_pooled\_feature, sample\_b\_seq\_feature\],…,\],其中每个元素都是对应样例的特征输出,每个样例都有句子粒度特征pooled\_feature与字粒度特征seq\_feature。
+ - ```shell
+ $ hub install ernie_tiny
+ ```
+ - 如您安装时遇到问题,可参考:[零基础windows安装](../../../../docs/docs_ch/get_start/windows_quickstart.md)
+ | [零基础Linux安装](../../../../docs/docs_ch/get_start/linux_quickstart.md) | [零基础MacOS安装](../../../../docs/docs_ch/get_start/mac_quickstart.md)
+## 三、模型API预测
-**代码示例**
+- ### 1、预测代码示例
```python
import paddlehub as hub
@@ -102,58 +67,110 @@ for idx, text in enumerate(data):
```
详情可参考PaddleHub示例:
-- [文本分类](https://github.com/PaddlePaddle/PaddleHub/tree/release/v2.0.0-beta/demo/text_classification)
-- [序列标注](https://github.com/PaddlePaddle/PaddleHub/tree/release/v2.0.0-beta/demo/sequence_labeling)
+- [文本分类](../../../../demo/text_classification)
+- [序列标注](../../../../demo/sequence_labeling)
-## 服务部署
+- ### 2、API
-PaddleHub Serving可以部署一个在线获取预训练词向量。
+ - ```python
+ def __init__(
+ task=None,
+ load_checkpoint=None,
+ label_map=None,
+ num_classes=2,
+ suffix=False,
+ **kwargs,
+ )
+ ```
-### Step1: 启动PaddleHub Serving
+ - 创建Module对象(动态图组网版本)
-运行启动命令:
+ - **参数**
-```shell
-$ hub serving start -m ernie_v2_eng_large
-```
+ - `task`: 任务名称,可为`seq-cls`(文本分类任务)或`token-cls`(序列标注任务)。
+ - `load_checkpoint`:使用PaddleHub Fine-tune api训练保存的模型参数文件路径。
+ - `label_map`:预测时的类别映射表。
+ - `num_classes`:分类任务的类别数,如果指定了`label_map`,此参数可不传,默认2分类。
+ - `suffix`: 序列标注任务的标签格式,如果设定为`True`,标签以'-B', '-I', '-E' 或者 '-S'为结尾,此参数默认为`False`。
+ - `**kwargs`:用户额外指定的关键字字典类型的参数。
-这样就完成了一个获取预训练词向量服务化API的部署,默认端口号为8866。
+ - ```python
+ def predict(
+ data,
+ max_seq_len=128,
+ batch_size=1,
+ use_gpu=False
+ )
+ ```
-**NOTE:** 如使用GPU预测,则需要在启动服务之前,请设置CUDA_VISIBLE_DEVICES环境变量,否则不用设置。
+ - **参数**
-### Step2: 发送预测请求
+ - `data`: 待预测数据,格式为\[\[sample\_a\_text\_a, sample\_a\_text\_b\], \[sample\_b\_text\_a, sample\_b\_text\_b\],…,\],其中每个元素都是一个样例,每个样例可以包含text\_a与text\_b。每个样例文本数量(1个或者2个)需和训练时保持一致。
+ - `max_seq_len`:模型处理文本的最大长度
+ - `batch_size`:模型批处理大小
+ - `use_gpu`:是否使用gpu,默认为False。对于GPU用户,建议开启use_gpu。
-配置好服务端,以下数行代码即可实现发送预测请求,获取预测结果
+ - **返回**
-```python
-import requests
-import json
-
-# 指定用于获取embedding的文本[[text_1], [text_2], ... ]}
-text = [["今天是个好日子"], ["天气预报说今天要下雨"]]
-# 以key的方式指定text传入预测方法的时的参数,此例中为"data"
-# 对应本地部署,则为module.get_embedding(data=text)
-data = {"data": text}
-# 发送post请求,content-type类型应指定json方式,url中的ip地址需改为对应机器的ip
-url = "http://10.12.121.132:8866/predict/ernie_v2_eng_large"
-# 指定post请求的headers为application/json方式
-headers = {"Content-Type": "application/json"}
-
-r = requests.post(url=url, headers=headers, data=json.dumps(data))
-print(r.json())
-```
+ - `results`:list类型,不同任务类型的返回结果如下
+ - 文本分类:列表里包含每个句子的预测标签,格式为\[label\_1, label\_2, …,\]
+ - 序列标注:列表里包含每个句子每个token的预测标签,格式为\[\[token\_1, token\_2, …,\], \[token\_1, token\_2, …,\], …,\]
+
+ - ```python
+ def get_embedding(
+ data,
+ use_gpu=False
+ )
+ ```
+
+ - 用于获取输入文本的句子粒度特征与字粒度特征
+
+ - **参数**
+
+ - `data`:输入文本列表,格式为\[\[sample\_a\_text\_a, sample\_a\_text\_b\], \[sample\_b\_text\_a, sample\_b\_text\_b\],…,\],其中每个元素都是一个样例,每个样例可以包含text\_a与text\_b。
+ - `use_gpu`:是否使用gpu,默认为False。对于GPU用户,建议开启use_gpu。
+
+ - **返回**
+
+ - `results`:list类型,格式为\[\[sample\_a\_pooled\_feature, sample\_a\_seq\_feature\], \[sample\_b\_pooled\_feature, sample\_b\_seq\_feature\],…,\],其中每个元素都是对应样例的特征输出,每个样例都有句子粒度特征pooled\_feature与字粒度特征seq\_feature。
+
+## 四、服务部署
+
+- PaddleHub Serving可以部署一个在线获取预训练词向量。
+
+- ### 第一步:启动PaddleHub Serving
+
+ - ```shell
+ $ hub serving start -m ernie_v2_eng_large
+ ```
+
+ - 这样就完成了一个获取预训练词向量服务化API的部署,默认端口号为8866。
+
+ - **NOTE:** 如使用GPU预测,则需要在启动服务之前,请设置CUDA_VISIBLE_DEVICES环境变量,否则不用设置。
-## 查看代码
+- ### 第二步:发送预测请求
-https://github.com/PaddlePaddle/ERNIE
+ - 配置好服务端,以下数行代码即可实现发送预测请求,获取预测结果
-## 依赖
+ - ```python
+ import requests
+ import json
-paddlepaddle >= 2.0.0
+ # 指定用于获取embedding的文本[[text_1], [text_2], ... ]}
+ text = [["今天是个好日子"], ["天气预报说今天要下雨"]]
+ # 以key的方式指定text传入预测方法的时的参数,此例中为"data"
+ # 对应本地部署,则为module.get_embedding(data=text)
+ data = {"data": text}
+ # 发送post请求,content-type类型应指定json方式,url中的ip地址需改为对应机器的ip
+ url = "http://10.12.121.132:8866/predict/ernie_v2_eng_large"
+ # 指定post请求的headers为application/json方式
+ headers = {"Content-Type": "application/json"}
-paddlehub >= 2.0.0
+ r = requests.post(url=url, headers=headers, data=json.dumps(data))
+ print(r.json())
+ ```
-## 更新历史
+## 五、更新历史
* 1.0.0
@@ -177,4 +194,7 @@ paddlehub >= 2.0.0
* 2.0.2
- 增加文本匹配任务`text-matching`
+ 增加文本匹配任务`text-matching`
+ ```shell
+ $ hub install ernie_v2_eng_large==2.0.2
+ ```
diff --git a/modules/text/language_model/roberta-wwm-ext/README.md b/modules/text/language_model/roberta-wwm-ext/README.md
index af4e87ee..2f7c5c5f 100644
--- a/modules/text/language_model/roberta-wwm-ext/README.md
+++ b/modules/text/language_model/roberta-wwm-ext/README.md
@@ -1,78 +1,43 @@
-```shell
-$ hub install roberta-wwm-ext==2.0.2
-```
+# roberta-wwm-ext
+|模型名称|roberta-wwm-ext|
+| :--- | :---: |
+|类别|文本-语义模型|
+|网络|roberta-wwm-ext|
+|数据集|百度自建数据集|
+|是否支持Fine-tuning|是|
+|模型大小|391MB|
+|最新更新日期|2021-03-16|
+|数据指标|-|
+
+## 一、模型基本信息
+
+- ### 模型介绍
+
更多详情请参考[RoBERTa论文](https://arxiv.org/abs/1907.11692)、[Chinese-BERT-wwm技术报告](https://arxiv.org/abs/1906.08101)
-## API
-
-```python
-def __init__(
- task=None,
- load_checkpoint=None,
- label_map=None,
- num_classes=2,
- suffix=False,
- **kwargs,
-)
-```
-
-创建Module对象(动态图组网版本)。
-
-**参数**
-
-* `task`: 任务名称,可为`seq-cls`(文本分类任务,原来的`sequence_classification`在未来会被弃用)或`token-cls`(序列标注任务)。
-* `load_checkpoint`:使用PaddleHub Fine-tune api训练保存的模型参数文件路径。
-* `label_map`:预测时的类别映射表。
-* `num_classes`:分类任务的类别数,如果指定了`label_map`,此参数可不传,默认2分类。
-* `suffix`: 序列标注任务的标签格式,如果设定为`True`,标签以'-B', '-I', '-E' 或者 '-S'为结尾,此参数默认为`False`。
-* `**kwargs`:用户额外指定的关键字字典类型的参数。
-
-```python
-def predict(
- data,
- max_seq_len=128,
- batch_size=1,
- use_gpu=False
-)
-```
-
-**参数**
-
-* `data`: 待预测数据,格式为\[\[sample\_a\_text\_a, sample\_a\_text\_b\], \[sample\_b\_text\_a, sample\_b\_text\_b\],…,\],其中每个元素都是一个样例,每个样例可以包含text\_a与text\_b。每个样例文本数量(1个或者2个)需和训练时保持一致。
-* `max_seq_len`:模型处理文本的最大长度
-* `batch_size`:模型批处理大小
-* `use_gpu`:是否使用gpu,默认为False。对于GPU用户,建议开启use_gpu。
-
-**返回**
-
-* `results`:list类型,不同任务类型的返回结果如下
- * 文本分类:列表里包含每个句子的预测标签,格式为\[label\_1, label\_2, …,\]
- * 序列标注:列表里包含每个句子每个token的预测标签,格式为\[\[token\_1, token\_2, …,\], \[token\_1, token\_2, …,\], …,\]
+## 二、安装
-```python
-def get_embedding(
- data,
- use_gpu=False
-)
-```
-
-用于获取输入文本的句子粒度特征与字粒度特征
+- ### 1、环境依赖
-**参数**
+ - paddlepaddle >= 2.0.0
-* `data`:输入文本列表,格式为\[\[sample\_a\_text\_a, sample\_a\_text\_b\], \[sample\_b\_text\_a, sample\_b\_text\_b\],…,\],其中每个元素都是一个样例,每个样例可以包含text\_a与text\_b。
-* `use_gpu`:是否使用gpu,默认为False。对于GPU用户,建议开启use_gpu。
+ - paddlehub >= 2.0.0 | [如何安装PaddleHub](../../../../docs/docs_ch/get_start/installation.rst)
-**返回**
+- ### 2、安装
-* `results`:list类型,格式为\[\[sample\_a\_pooled\_feature, sample\_a\_seq\_feature\], \[sample\_b\_pooled\_feature, sample\_b\_seq\_feature\],…,\],其中每个元素都是对应样例的特征输出,每个样例都有句子粒度特征pooled\_feature与字粒度特征seq\_feature。
+ - ```shell
+ $ hub install roberta-wwm-ext
+ ```
+ - 如您安装时遇到问题,可参考:[零基础windows安装](../../../../docs/docs_ch/get_start/windows_quickstart.md)
+ | [零基础Linux安装](../../../../docs/docs_ch/get_start/linux_quickstart.md) | [零基础MacOS安装](../../../../docs/docs_ch/get_start/mac_quickstart.md)
+## 三、模型API预测
-**代码示例**
+- ### 1、预测代码示例
```python
import paddlehub as hub
@@ -96,59 +61,110 @@ for idx, text in enumerate(data):
```
详情可参考PaddleHub示例:
-- [文本分类](https://github.com/PaddlePaddle/PaddleHub/tree/release/v2.0.0-beta/demo/text_classification)
-- [序列标注](https://github.com/PaddlePaddle/PaddleHub/tree/release/v2.0.0-beta/demo/sequence_labeling)
+- [文本分类](../../../../demo/text_classification)
+- [序列标注](../../../../demo/sequence_labeling)
-## 服务部署
+- ### 2、API
-PaddleHub Serving可以部署一个在线获取预训练词向量。
+ - ```python
+ def __init__(
+ task=None,
+ load_checkpoint=None,
+ label_map=None,
+ num_classes=2,
+ suffix=False,
+ **kwargs,
+ )
+ ```
-### Step1: 启动PaddleHub Serving
+ - 创建Module对象(动态图组网版本)
-运行启动命令:
+ - **参数**
-```shell
-$ hub serving start -m roberta-wwm-ext
-```
+ - `task`: 任务名称,可为`seq-cls`(文本分类任务)或`token-cls`(序列标注任务)。
+ - `load_checkpoint`:使用PaddleHub Fine-tune api训练保存的模型参数文件路径。
+ - `label_map`:预测时的类别映射表。
+ - `num_classes`:分类任务的类别数,如果指定了`label_map`,此参数可不传,默认2分类。
+ - `suffix`: 序列标注任务的标签格式,如果设定为`True`,标签以'-B', '-I', '-E' 或者 '-S'为结尾,此参数默认为`False`。
+ - `**kwargs`:用户额外指定的关键字字典类型的参数。
-这样就完成了一个获取预训练词向量服务化API的部署,默认端口号为8866。
+ - ```python
+ def predict(
+ data,
+ max_seq_len=128,
+ batch_size=1,
+ use_gpu=False
+ )
+ ```
-**NOTE:** 如使用GPU预测,则需要在启动服务之前,请设置CUDA_VISIBLE_DEVICES环境变量,否则不用设置。
+ - **参数**
-### Step2: 发送预测请求
+ - `data`: 待预测数据,格式为\[\[sample\_a\_text\_a, sample\_a\_text\_b\], \[sample\_b\_text\_a, sample\_b\_text\_b\],…,\],其中每个元素都是一个样例,每个样例可以包含text\_a与text\_b。每个样例文本数量(1个或者2个)需和训练时保持一致。
+ - `max_seq_len`:模型处理文本的最大长度
+ - `batch_size`:模型批处理大小
+ - `use_gpu`:是否使用gpu,默认为False。对于GPU用户,建议开启use_gpu。
-配置好服务端,以下数行代码即可实现发送预测请求,获取预测结果
+ - **返回**
-```python
-import requests
-import json
-
-# 指定用于获取embedding的文本[[text_1], [text_2], ... ]}
-text = [["今天是个好日子"], ["天气预报说今天要下雨"]]
-# 以key的方式指定text传入预测方法的时的参数,此例中为"data"
-# 对应本地部署,则为module.get_embedding(data=text)
-data = {"data": text}
-# 发送post请求,content-type类型应指定json方式,url中的ip地址需改为对应机器的ip
-url = "http://10.12.121.132:8866/predict/roberta-wwm-ext"
-# 指定post请求的headers为application/json方式
-headers = {"Content-Type": "application/json"}
-
-r = requests.post(url=url, headers=headers, data=json.dumps(data))
-print(r.json())
-```
+ - `results`:list类型,不同任务类型的返回结果如下
+ - 文本分类:列表里包含每个句子的预测标签,格式为\[label\_1, label\_2, …,\]
+ - 序列标注:列表里包含每个句子每个token的预测标签,格式为\[\[token\_1, token\_2, …,\], \[token\_1, token\_2, …,\], …,\]
+
+ - ```python
+ def get_embedding(
+ data,
+ use_gpu=False
+ )
+ ```
+
+ - 用于获取输入文本的句子粒度特征与字粒度特征
+
+ - **参数**
+
+ - `data`:输入文本列表,格式为\[\[sample\_a\_text\_a, sample\_a\_text\_b\], \[sample\_b\_text\_a, sample\_b\_text\_b\],…,\],其中每个元素都是一个样例,每个样例可以包含text\_a与text\_b。
+ - `use_gpu`:是否使用gpu,默认为False。对于GPU用户,建议开启use_gpu。
+
+ - **返回**
+
+ - `results`:list类型,格式为\[\[sample\_a\_pooled\_feature, sample\_a\_seq\_feature\], \[sample\_b\_pooled\_feature, sample\_b\_seq\_feature\],…,\],其中每个元素都是对应样例的特征输出,每个样例都有句子粒度特征pooled\_feature与字粒度特征seq\_feature。
+
+## 四、服务部署
+
+- PaddleHub Serving可以部署一个在线获取预训练词向量。
+
+- ### 第一步:启动PaddleHub Serving
+
+ - ```shell
+ $ hub serving start -m roberta-wwm-ext
+ ```
+
+ - 这样就完成了一个获取预训练词向量服务化API的部署,默认端口号为8866。
-## 查看代码
+ - **NOTE:** 如使用GPU预测,则需要在启动服务之前,请设置CUDA_VISIBLE_DEVICES环境变量,否则不用设置。
-https://github.com/PaddlePaddle/models/tree/develop/PaddleNLP/paddlenlp/transformers/roberta
+- ### 第二步:发送预测请求
+ - 配置好服务端,以下数行代码即可实现发送预测请求,获取预测结果
-## 依赖
+ - ```python
+ import requests
+ import json
-paddlepaddle >= 2.0.0
+ # 指定用于获取embedding的文本[[text_1], [text_2], ... ]}
+ text = [["今天是个好日子"], ["天气预报说今天要下雨"]]
+ # 以key的方式指定text传入预测方法的时的参数,此例中为"data"
+ # 对应本地部署,则为module.get_embedding(data=text)
+ data = {"data": text}
+ # 发送post请求,content-type类型应指定json方式,url中的ip地址需改为对应机器的ip
+ url = "http://10.12.121.132:8866/predict/roberta-wwm-ext"
+ # 指定post请求的headers为application/json方式
+ headers = {"Content-Type": "application/json"}
-paddlehub >= 2.0.0
+ r = requests.post(url=url, headers=headers, data=json.dumps(data))
+ print(r.json())
+ ```
-## 更新历史
+## 五、更新历史
* 1.0.0
@@ -165,3 +181,6 @@ paddlehub >= 2.0.0
* 2.0.2
增加文本匹配任务`text-matching`
+ ```shell
+ $ hub install roberta-wwm-ext==2.0.2
+ ```
--
GitLab