Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
PaddleHub
提交
d4e9ade7
P
PaddleHub
项目概览
PaddlePaddle
/
PaddleHub
大约 1 年 前同步成功
通知
282
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看板
未验证
提交
d4e9ade7
编写于
10月 09, 2019
作者:
S
Steffy-zxf
提交者:
GitHub
10月 09, 2019
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Update autofinetune-nlp.md
上级
f067706b
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
11 addition
and
7 deletion
+11
-7
tutorial/autofinetune-nlp.md
tutorial/autofinetune-nlp.md
+11
-7
未找到文件。
tutorial/autofinetune-nlp.md
浏览文件 @
d4e9ade7
# PaddleHub 超参优化(Auto Fine-tune)——NLP情感分类任务
使用PaddleHub Auto Fine-tune
必须准备两个文件,并且这两个文件需要按照指定的格式书写。这两个文件分别是需要Fine-tune的python脚本finetuee.py和需要优化的超参数信息yaml文件hparam.yaml。
使用PaddleHub Auto Fine-tune
需要准备两个指定格式的文件:待优化的超参数信息yaml文件hparam.yaml和需要Fine-tune的python脚本train.py
以Fine-tune中文情感分类任务为例,
我们
展示如何利用PaddleHub Auto Finetune进行超参优化。
以Fine-tune中文情感分类任务为例,展示如何利用PaddleHub Auto Finetune进行超参优化。
以下是待优化超参数的yaml文件hparam.yaml,包含需要搜
素的超参名字、类型、范围等信息。其中类型只支持float和int类型
以下是待优化超参数的yaml文件hparam.yaml,包含需要搜
索的超参名字、类型、范围等信息。其中类型只支持float和int
```
param_list:
- name : learning_rate
...
...
@@ -29,7 +29,7 @@ param_list:
greater_than : 0.0
```
以下是中文情感分类的
finetunee
.py
以下是中文情感分类的
train
.py
```
python
from
__future__
import
absolute_import
...
...
@@ -44,19 +44,22 @@ import paddlehub as hub
import
os
from
paddlehub.common.logger
import
logger
# yapf: disable
parser
=
argparse
.
ArgumentParser
(
__doc__
)
parser
.
add_argument
(
"--epochs"
,
type
=
int
,
default
=
3
,
help
=
"epochs."
)
# the name of hyperparameters to be searched should keep with hparam.py
parser
.
add_argument
(
"--batch_size"
,
type
=
int
,
default
=
32
,
help
=
"batch_size."
)
parser
.
add_argument
(
"--learning_rate"
,
type
=
float
,
default
=
5e-5
,
help
=
"learning_rate."
)
parser
.
add_argument
(
"--warmup_prop"
,
type
=
float
,
default
=
0.1
,
help
=
"warmup_prop."
)
parser
.
add_argument
(
"--weight_decay"
,
type
=
float
,
default
=
0.01
,
help
=
"weight_decay."
)
parser
.
add_argument
(
"--max_seq_len"
,
type
=
int
,
default
=
128
,
help
=
"Number of words of the longest seqence."
)
parser
.
add_argument
(
"--checkpoint_dir"
,
type
=
str
,
default
=
None
,
help
=
"Directory to model checkpoint"
)
# saved_params_dir and model_path are needed by auto finetune
parser
.
add_argument
(
"--saved_params_dir"
,
type
=
str
,
default
=
""
,
help
=
"Directory for saving model during "
)
parser
.
add_argument
(
"--model_path"
,
type
=
str
,
default
=
""
,
help
=
"load model path"
)
args
=
parser
.
parse_args
()
# yapf: enable.
def
is_path_valid
(
path
):
...
...
@@ -137,6 +140,7 @@ if __name__ == '__main__':
if
is_path_valid
(
args
.
saved_params_dir
)
and
os
.
path
.
exists
(
best_model_dir
):
shutil
.
copytree
(
best_model_dir
,
args
.
saved_params_dir
)
shutil
.
rmtree
(
config
.
checkpoint_dir
)
# acc on dev will be used by auto finetune
print
(
"AutoFinetuneEval"
+
"
\t
"
+
str
(
float
(
eval_avg_score
[
"acc"
])))
```
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录