Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
PaddleHub
提交
840fd096
P
PaddleHub
项目概览
PaddlePaddle
/
PaddleHub
大约 1 年 前同步成功
通知
281
Star
12117
Fork
2091
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
200
列表
看板
标记
里程碑
合并请求
4
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
PaddleHub
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
200
Issue
200
列表
看板
标记
里程碑
合并请求
4
合并请求
4
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
840fd096
编写于
12月 09, 2019
作者:
W
wuzewu
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'release/v1.4' into develop
上级
d6873caf
85806145
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
59 addition
and
18 deletion
+59
-18
README.md
README.md
+31
-15
RELEASE.md
RELEASE.md
+13
-0
paddlehub/finetune/task/basic_task.py
paddlehub/finetune/task/basic_task.py
+6
-1
paddlehub/finetune/task/sequence_task.py
paddlehub/finetune/task/sequence_task.py
+9
-2
未找到文件。
README.md
浏览文件 @
840fd096
...
@@ -9,21 +9,21 @@ PaddleHub是基于PaddlePaddle生态下的预训练模型管理和迁移学习
...
@@ -9,21 +9,21 @@ PaddleHub是基于PaddlePaddle生态下的预训练模型管理和迁移学习
*
便捷地获取PaddlePaddle生态下的所有预训练模型,涵盖了图像分类、目标检测、词法分析、语义模型、情感分析、语言模型、视频分类、图像生成、图像分割等主流模型。
*
便捷地获取PaddlePaddle生态下的所有预训练模型,涵盖了图像分类、目标检测、词法分析、语义模型、情感分析、语言模型、视频分类、图像生成、图像分割等主流模型。
*
更多详情可查看官网:https://www.paddlepaddle.org.cn/hub
*
更多详情可查看官网:https://www.paddlepaddle.org.cn/hub
*
通过PaddleHub Fine-tune API,结合少量代码即可完成
**大规模预训练模型**
的迁移学习,具体Demo可参考以下链接:
*
通过PaddleHub Fine-tune API,结合少量代码即可完成
**大规模预训练模型**
的迁移学习,具体Demo可参考以下链接:
*
[
文本分类
](
https://github.com/PaddlePaddle/PaddleHub/tree/release/v1.3
/demo/text-classification
)
*
[
文本分类
](
.
/demo/text-classification
)
*
[
序列标注
](
https://github.com/PaddlePaddle/PaddleHub/tree/release/v1.3
/demo/sequence-labeling
)
*
[
序列标注
](
.
/demo/sequence-labeling
)
*
[
多标签分类
](
https://github.com/PaddlePaddle/PaddleHub/tree/release/v1.3
/demo/multi-label-classification
)
*
[
多标签分类
](
.
/demo/multi-label-classification
)
*
[
图像分类
](
https://github.com/PaddlePaddle/PaddleHub/tree/release/v1.3
/demo/image-classification
)
*
[
图像分类
](
.
/demo/image-classification
)
*
[
检索式问答任务
](
https://github.com/PaddlePaddle/PaddleHub/tree/release/v1.3
/demo/qa_classification
)
*
[
检索式问答任务
](
.
/demo/qa_classification
)
*
[
回归任务
](
https://github.com/PaddlePaddle/PaddleHub/tree/release/v1.3
/demo/sentence_similarity
)
*
[
回归任务
](
.
/demo/sentence_similarity
)
*
[
句子语义相似度计算
](
https://github.com/PaddlePaddle/PaddleHub/tree/release/v1.3
/demo/sentence_similarity
)
*
[
句子语义相似度计算
](
.
/demo/sentence_similarity
)
*
[
阅读理解任务
](
https://github.com/PaddlePaddle/PaddleHub/tree/release/v1.3
/demo/reading-comprehension
)
*
[
阅读理解任务
](
.
/demo/reading-comprehension
)
*
支持超参优化(AutoDL Finetuner),自动调整超参数,给出效果较佳的超参数组合。
*
支持超参优化(AutoDL Finetuner),自动调整超参数,给出效果较佳的超参数组合。
*
[
PaddleHub超参优化功能AutoDL Finetuner使用示例
](
https://github.com/PaddlePaddle/PaddleHub/tree/release/v1.3
/demo/autofinetune
)
*
[
PaddleHub超参优化功能AutoDL Finetuner使用示例
](
.
/demo/autofinetune
)
*
引入『
**模型即软件**
』的设计理念,通过Python API或者命令行实现一键预测,更方便地应用PaddlePaddle模型库。
*
引入『
**模型即软件**
』的设计理念,通过Python API或者命令行实现一键预测,更方便地应用PaddlePaddle模型库。
*
[
PaddleHub命令行工具介绍
](
https://github.com/PaddlePaddle/PaddleHub/wiki/PaddleHub%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%B7%A5%E5%85%B7
)
*
[
PaddleHub命令行工具介绍
](
https://github.com/PaddlePaddle/PaddleHub/wiki/PaddleHub%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%B7%A5%E5%85%B7
)
*
一键Module服务化部署 - HubServing
*
一键Module服务化部署 - HubServing
*
[
PaddleHub-Serving一键服务部署
](
https://github.com/PaddlePaddle/PaddleHub/wiki/PaddleHub-Serving%E4%B8%80%E9%94%AE%E6%9C%8D%E5%8A%A1%E9%83%A8%E7%BD%B2
)
*
[
PaddleHub-Serving一键服务部署
](
https://github.com/PaddlePaddle/PaddleHub/wiki/PaddleHub-Serving%E4%B8%80%E9%94%AE%E6%9C%8D%E5%8A%A1%E9%83%A8%E7%BD%B2
)
*
[
使用示例
](
https://github.com/PaddlePaddle/PaddleHub/tree/release/v1.3
/demo/serving
)
*
[
使用示例
](
.
/demo/serving
)
## 目录
## 目录
...
@@ -38,17 +38,30 @@ PaddleHub是基于PaddlePaddle生态下的预训练模型管理和迁移学习
...
@@ -38,17 +38,30 @@ PaddleHub是基于PaddlePaddle生态下的预训练模型管理和迁移学习
## 安装
## 安装
### 环境依赖
### 环境依赖
*
Python==2.7 or Python>=3.5
*
Python==2.7 or Python>=3.5 for Linux or Mac
*
PaddlePaddle>=1.6.1
**Python>=3.6 for Windows**
*
PaddlePaddle>=1.5
除上述依赖外,PaddleHub的预训练模型和预置数据集需要连接服务端进行下载,请确保机器可以正常访问网络。若本地已存在相关的数据集和预训练模型,则可以离线运行PaddleHub。
除上述依赖外,PaddleHub的预训练模型和预置数据集需要连接服务端进行下载,请确保机器可以正常访问网络。若本地已存在相关的数据集和预训练模型,则可以离线运行PaddleHub。
**NOTE:**
若是出现离线运行PaddleHub错误,请更新PaddleHub 1.1.1版本之上。
**NOTE:**
1.
若是出现离线运行PaddleHub错误,请更新PaddleHub 1.1.1版本之上。
pip安装方式如下:
pip安装方式如下:
```
shell
```
shell
$
pip
install
paddlehub
$
pip
install
paddlehub
```
```
2.
下载数据集、module等,PaddleHub要求机器可以访问外网。可以使用server_check()可以检查本地与远端PaddleHub-Server的连接状态,使用方法如下:
```
python
import
paddlehub
paddlehub
.
server_check
()
# 如果可以连接远端PaddleHub-Server,则显示Request Hub-Server successfully.
# 如果无法连接远端PaddleHub-Server,则显示Request Hub-Server unsuccessfully.
```
## 快速体验
## 快速体验
安装成功后,执行下面的命令,可以快速体验PaddleHub无需代码、一键预测的命令行功能:
安装成功后,执行下面的命令,可以快速体验PaddleHub无需代码、一键预测的命令行功能:
...
@@ -86,11 +99,14 @@ $ hub run faster_rcnn_coco2017 --input_path test_object_detection.jpg
...
@@ -86,11 +99,14 @@ $ hub run faster_rcnn_coco2017 --input_path test_object_detection.jpg
|类别|AIStudio链接|
|类别|AIStudio链接|
|-|-|
|-|-|
|ERNIE Tiny 文本分类|
[
点击体验
](
https://aistudio.baidu.com/aistudio/projectdetail/186443
)
|ERNIE文本分类|
[
点击体验
](
https://aistudio.baidu.com/aistudio/projectDetail/79380
)
|
|ERNIE文本分类|
[
点击体验
](
https://aistudio.baidu.com/aistudio/projectDetail/79380
)
|
|ERNIE序列标注|
[
点击体验
](
https://aistudio.baidu.com/aistudio/projectDetail/79377
)
|
|ERNIE序列标注|
[
点击体验
](
https://aistudio.baidu.com/aistudio/projectDetail/79377
)
|
|ELMo文本分类|
[
点击体验
](
https://aistudio.baidu.com/aistudio/projectDetail/79400
)
|
|ELMo文本分类|
[
点击体验
](
https://aistudio.baidu.com/aistudio/projectDetail/79400
)
|
|senta情感分类|
[
点击体验
](
https://aistudio.baidu.com/aistudio/projectDetail/79398
)
|
|senta情感分类|
[
点击体验
](
https://aistudio.baidu.com/aistudio/projectDetail/79398
)
|
|图像分类|
[
点击体验
](
https://aistudio.baidu.com/aistudio/projectDetail/79378
)
|
|图像分类|
[
点击体验
](
https://aistudio.baidu.com/aistudio/projectDetail/79378
)
|
|自定义数据FineTune(序列标注任务)|
[
点击体验
](
https://aistudio.baidu.com/aistudio/projectdetail/184200
)
|
|自定义数据FineTune(文本分类任务)|
[
点击体验
](
https://aistudio.baidu.com/aistudio/projectdetail/185121
)
|
## 教程
## 教程
...
@@ -149,4 +165,4 @@ print(res)
...
@@ -149,4 +165,4 @@ print(res)
## 更新历史
## 更新历史
详情参考
[
更新历史
](
https://github.com/PaddlePaddle/PaddleHub/blob/release/v1.3
/RELEASE.md
)
详情参考
[
更新历史
](
.
/RELEASE.md
)
RELEASE.md
浏览文件 @
840fd096
# `v1.4.1`
*
修复利用Transformer类模型完成序列标注任务适配paddle1.6版本的问题
*
Windows下兼容性提升为python >= 3.6
# `v1.4.0`
*
新增预训练模型ERNIE tiny
*
新增数据集:INEWS、BQ、DRCD、CMRC2018、THUCNEWS,支持ChineseGLUE(CLUE)V0 所有任务
*
修复module与PaddlePaddle版本兼容性问题
*
优化Hub Serving启动过程和模型加载流程,提高服务响应速度
# `v1.3.0`
# `v1.3.0`
*
新增PaddleHub Serving服务部署
*
新增PaddleHub Serving服务部署
...
...
paddlehub/finetune/task/basic_task.py
浏览文件 @
840fd096
...
@@ -261,6 +261,10 @@ class BasicTask(object):
...
@@ -261,6 +261,10 @@ class BasicTask(object):
var
=
self
.
env
.
main_program
.
global_block
().
vars
[
var_name
]
var
=
self
.
env
.
main_program
.
global_block
().
vars
[
var_name
]
var
.
persistable
=
True
var
.
persistable
=
True
# to avoid to print logger two times in result of the logger usage of paddle-fluid 1.6
for
handler
in
logging
.
root
.
handlers
[:]:
logging
.
root
.
removeHandler
(
handler
)
if
self
.
is_train_phase
:
if
self
.
is_train_phase
:
with
fluid
.
program_guard
(
self
.
env
.
main_program
,
with
fluid
.
program_guard
(
self
.
env
.
main_program
,
self
.
_base_startup_program
):
self
.
_base_startup_program
):
...
@@ -287,7 +291,7 @@ class BasicTask(object):
...
@@ -287,7 +291,7 @@ class BasicTask(object):
self
.
exe
.
run
(
self
.
env
.
startup_program
)
self
.
exe
.
run
(
self
.
env
.
startup_program
)
# to avoid to print logger two times in result of the logger usage of paddle-fluid
# to avoid to print logger two times in result of the logger usage of paddle-fluid
1.5
for
handler
in
logging
.
root
.
handlers
[:]:
for
handler
in
logging
.
root
.
handlers
[:]:
logging
.
root
.
removeHandler
(
handler
)
logging
.
root
.
removeHandler
(
handler
)
...
@@ -588,6 +592,7 @@ class BasicTask(object):
...
@@ -588,6 +592,7 @@ class BasicTask(object):
return
self
.
finetune
(
do_eval
=
True
)
return
self
.
finetune
(
do_eval
=
True
)
def
finetune
(
self
,
do_eval
=
False
):
def
finetune
(
self
,
do_eval
=
False
):
# Start to finetune
# Start to finetune
with
self
.
phase_guard
(
phase
=
"train"
):
with
self
.
phase_guard
(
phase
=
"train"
):
self
.
init_if_necessary
()
self
.
init_if_necessary
()
...
...
paddlehub/finetune/task/sequence_task.py
浏览文件 @
840fd096
...
@@ -19,9 +19,12 @@ from __future__ import print_function
...
@@ -19,9 +19,12 @@ from __future__ import print_function
import
time
import
time
from
collections
import
OrderedDict
from
collections
import
OrderedDict
import
numpy
as
np
import
numpy
as
np
import
paddle
import
paddle.fluid
as
fluid
import
paddle.fluid
as
fluid
from
paddlehub.finetune.evaluate
import
chunk_eval
,
calculate_f1
from
paddlehub.finetune.evaluate
import
chunk_eval
,
calculate_f1
from
paddlehub.common.utils
import
version_compare
from
.basic_task
import
BasicTask
from
.basic_task
import
BasicTask
...
@@ -61,8 +64,12 @@ class SequenceLabelTask(BasicTask):
...
@@ -61,8 +64,12 @@ class SequenceLabelTask(BasicTask):
return
True
return
True
def
_build_net
(
self
):
def
_build_net
(
self
):
self
.
seq_len
=
fluid
.
layers
.
data
(
if
version_compare
(
paddle
.
__version__
,
"1.6"
):
name
=
"seq_len"
,
shape
=
[
1
],
dtype
=
'int64'
)
self
.
seq_len
=
fluid
.
layers
.
data
(
name
=
"seq_len"
,
shape
=
[
-
1
],
dtype
=
'int64'
)
else
:
self
.
seq_len
=
fluid
.
layers
.
data
(
name
=
"seq_len"
,
shape
=
[
1
],
dtype
=
'int64'
)
seq_len
=
fluid
.
layers
.
assign
(
self
.
seq_len
)
seq_len
=
fluid
.
layers
.
assign
(
self
.
seq_len
)
if
self
.
add_crf
:
if
self
.
add_crf
:
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录