提交 1e4006d5 编写于 作者: A adaxiadaxi

test=develop, test=readdocs_update

上级 9a584e66
欢迎使用**PaddleHub**
# PaddleHub 是什么
# 概述
## PaddleHub是什么
PaddleHub是飞桨生态的预训练模型应用工具,开发者可以便捷地使用高质量的预训练模型结合Fine-tune API快速完成模型迁移到部署的全流程工作。PaddleHub提供的预训练模型涵盖了图像分类、目标检测、词法分析、语义模型、情感分析、视频分类、图像生成、图像分割、文本审核、关键点检测等主流模型。更多详情可查看[PaddleHub官网](https://www.paddlepaddle.org.cn/hub)
......@@ -14,28 +16,37 @@ PaddleHub以预训练模型应用为核心具备以下特点:
* **[自动超参优化](#自动超参优化)**,内置AutoDL Finetuner能力,一键启动自动化超参搜索。
<p align="center">
<img src="imgs/paddlehub_figure.jpg" width='70%' align="middle"
</p>
# PaddleHub 特性
## 一、模型即软件
## PaddleHub特性
### 一、模型即软件
PaddleHub采用模型即软件的设计理念,所有的预训练模型与Python软件包类似,具备版本的概念,通过`hub install/uninstall` 可以便捷完成模型的升级和卸载。此外,还可以通过Python的API或命令行实现快速预测的软件集成,更方便地应用和管理深度学习模型,完成模型的搜索、下载、安装、升级、预测等功能。更加详细的使用说明可以参考[PaddleHub命令行工具](tutorial/cmdintro.md)
目前的预训练模型覆盖了图像分类、语义模型、视频分类、图像生成、图像分割、文本审核、关键点检测等业界主流模型,更多PaddleHub已经发布的模型,请前往 [PaddleHub官网](https://www.paddlepaddle.org.cn/hub) 查看。也可以使用[快速体验](quickstart.md)通过命令行即可调用预训练模型进行预测。
## 二、易用的迁移学习
### 二、易用的迁移学习
迁移学习(Transfer Learning)通俗来讲,就是运用已有的知识来学习新的知识,核心是找到已有知识和新知识之间的相似性。PaddleHub提供了Fine-tune API,只需要少量代码即可完成深度学习模型在自然语言处理和计算机视觉场景下的迁移学习,可以在更短的时间完成模型的训练,同时模型具备更好的泛化能力。
<p align="center">
<img src="imgs/paddlehub_finetune.jpg" width='70%' align="middle"
</p>
<p align="center">
<img src="./imgs/paddlehub_finetune.gif" align="middle"
<img src="imgs/paddlehub_finetune.gif" align="middle"
</p>
<p align='center'>
十行代码完成ERNIE工业级文本分类
</p>
PaddleHub提供了使用Finetune-API和预训练模型完成[文本分类](https://github.com/PaddlePaddle/PaddleHub/tree/release/v1.7/demo/text_classification)[序列标注](https://github.com/PaddlePaddle/PaddleHub/tree/release/v1.7/demo/sequence_labeling)[多标签分类](https://github.com/PaddlePaddle/PaddleHub/tree/release/v1.7/demo/multi_label_classification)[图像分类](https://github.com/PaddlePaddle/PaddleHub/tree/release/v1.7/demo/image_classification)[检索式问答任务](https://github.com/PaddlePaddle/PaddleHub/tree/release/v1.7/demo/qa_classification)[回归任务](https://github.com/PaddlePaddle/PaddleHub/tree/release/v1.7/demo/regression)[句子语义相似度计算](https://github.com/PaddlePaddle/PaddleHub/tree/release/v1.7/demo/sentence_similarity)[阅读理解任务](https://github.com/PaddlePaddle/PaddleHub/tree/release/v1.7/demo/reading_comprehension)等迁移任务的使用示例,详细参见[demo](https://github.com/PaddlePaddle/PaddleHub/tree/release/v1.7/demo)
* 场景化使用
......@@ -67,14 +78,14 @@ PaddleHub采用模型即软件的设计理念,所有的预训练模型与Pytho
[ULMFiT优化策略](tutorial/strategy_exp.md)
## 一键模型转服务
### 三、一键模型转服务
PaddleHub Serving是基于PaddleHub的一键模型服务部署工具,能够通过简单的Hub命令行工具轻松启动一个模型预测在线服务。
其主要包括利用Bert Service实现embedding服务化,以及利用预测模型实现预训练模型预测服务化两大功能。未来还将支持开发者使用PaddleHub Fine-tune API的模型服务化。
关于服务化部署详细信息参见[PaddleHub Serving一键服务部署](tutorial/serving.md)
## 自动超参优化
### 四、自动超参优化
深度学习模型往往包含许多的超参数,而这些超参数的取值对模型性能起着至关重要的作用。因为模型参数空间大,目前超参调整都是通过手动,依赖人工经验或者不断尝试,且不同模型、样本数据和场景下不尽相同,所以需要大量尝试,时间成本和资源成本非常浪费。PaddleHub AutoDL Finetuner可以实现自动调整超参数,使得模型性能达到最优水平。它通过多种调优的算法来搜索最优超参。
......
......@@ -11,7 +11,7 @@ $ hub run chinese_ocr_db_crnn_mobile --input_path test_ocr.jpg --visualization=T
预测结果图片保存在当前运行路径下ocr_result文件夹中,如下图所示。
<p align="center">
<img src="./docs/imgs/ocr_res.jpg" width='70%' align="middle"
<img src="imgs/ocr_res.jpg" width='70%' align="middle"
</p>
* 使用[词法分析](https://www.paddlepaddle.org.cn/hublist?filter=en_category&value=LexicalAnalysis)模型LAC进行分词
......@@ -35,7 +35,7 @@ $ wget https://paddlehub.bj.bcebos.com/resources/test_image.jpg
$ hub run ultra_light_fast_generic_face_detector_1mb_640 --input_path test_image.jpg
```
<p align="center">
<img src="./docs/imgs/face_detection_result.jpeg" align="middle"
<img src="imgs/face_detection_result.jpeg" align="middle"
</p>
......@@ -48,8 +48,8 @@ $ hub run deeplabv3p_xception65_humanseg --input_path test_image.jpg
```
<p align="center">
<img src="./docs/imgs/img_seg_result.jpeg" width="35%" />
<img src="./docs/imgs/humanseg_test_res.png" width="35%" />
<img src="imgs/img_seg_result.jpeg" width="35%" />
<img src="imgs/humanseg_test_res.png" width="35%" />
</p>
<p align='center'>
......
......@@ -12,7 +12,7 @@ author_email:
type: nlp/semantic_model
```
**本示例代码可以参考[finetuned_model_to_module](https://github.com/PaddlePaddle/PaddleHub/tree/release/v1.7/demo/text_classification/finetuned_model_to_module)**
**本示例代码可以参考[finetuned_model_to_module](../../demo/text_classification/finetuned_model_to_module/)**
Module存在一个接口predict,用于接收带预测,并给出文本的情感倾向(正面/负面),支持python接口调用和命令行调用。
```python
......@@ -200,9 +200,9 @@ def predict(self, data, return_result=False, accelerate_mode=True):
### 完整代码
* [module.py](https://github.com/PaddlePaddle/PaddleHub/blob/release/v1.7/demo/text_classification/finetuned_model_to_module/module.py)
* [module.py](../../demo/text_classification/finetuned_model_to_module/module.py)
* [__init__.py](https://github.com/PaddlePaddle/PaddleHub/blob/release/v1.7/demo/text_classification/finetuned_model_to_module/__init__.py)
* [__init__.py](../../demo/text_classification/finetuned_model_to_module/__init__.py)
**NOTE:** `__init__.py`是空文件
......@@ -305,4 +305,4 @@ r = requests.post(url=url, headers=headers, data=json.dumps(data))
print(json.dumps(r.json(), indent=4, ensure_ascii=False))
```
关与PaddleHub Serving更多信息参见[Hub Serving教程](./serving.md)以及[Demo](https://github.com/PaddlePaddle/PaddleHub/tree/release/v1.7/demo/serving)
关与PaddleHub Serving更多信息参见[Hub Serving教程](../../docs/tutorial/serving.md)以及[Demo](../../demo/serving/README.md)
......@@ -6,7 +6,7 @@
Task定义了[组网事件]()和[运行事件]()。其中运行事件的工作流程如下图。
<p align="center">
<img src="https://github.com/PaddlePaddle/PaddleHub/blob/develop/docs/imgs/task_event_workflow.png" hspace='10'/> <br />
<img src="./imgs/task_event_workflow.png" width='70%' align="middle"
</p>
......
......@@ -95,7 +95,7 @@ label_list.txt的格式如下
```
示例:
[DogCat数据集](../reference/dataset.md#class-hubdatasetdogcatdataset)为示例,train_list.txt/test_list.txt/validate_list.txt内容如下示例
[DogCat数据集](../reference/dataset.md)为示例,train_list.txt/test_list.txt/validate_list.txt内容如下示例
```
cat/3270.jpg 0
cat/646.jpg 0
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册