Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
ERNIE
提交
1a672a1c
E
ERNIE
项目概览
PaddlePaddle
/
ERNIE
大约 1 年 前同步成功
通知
109
Star
5997
Fork
1270
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
29
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
E
ERNIE
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
29
Issue
29
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
1a672a1c
编写于
3月 05, 2019
作者:
Y
Yibing Liu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Some tiny adjustments
上级
8dbdf489
变更
3
显示空白变更内容
内联
并排
Showing
3 changed file
with
5 addition
and
5 deletion
+5
-5
BERT/README.md
BERT/README.md
+2
-2
BERT/predict_classifier.py
BERT/predict_classifier.py
+2
-2
BERT/run_classifier.py
BERT/run_classifier.py
+1
-1
未找到文件。
BERT/README.md
浏览文件 @
1a672a1c
...
@@ -12,7 +12,7 @@
...
@@ -12,7 +12,7 @@
-
支持 BERT GPU 多卡 Fine-tuning
-
支持 BERT GPU 多卡 Fine-tuning
-
提供 BERT 预测接口 demo, 方便多硬件设备生产环境的部署
-
提供 BERT 预测接口 demo, 方便多硬件设备生产环境的部署
2)支持
FP16/FP32
混合精度训练和 Fine-tuning,节省显存开销、加速训练过程;
2)支持
FP16/FP32
混合精度训练和 Fine-tuning,节省显存开销、加速训练过程;
3)提供转换成 Paddle Fluid 参数格式的
[
BERT 开源预训练模型
](
https://github.com/google-research/bert
)
供下载,以进行下游任务的 Fine-tuning, 包括如下模型:
3)提供转换成 Paddle Fluid 参数格式的
[
BERT 开源预训练模型
](
https://github.com/google-research/bert
)
供下载,以进行下游任务的 Fine-tuning, 包括如下模型:
...
@@ -155,7 +155,7 @@ python -u run_classifier.py --task_name ${TASK_NAME} \
...
@@ -155,7 +155,7 @@ python -u run_classifier.py --task_name ${TASK_NAME} \
--num_iteration_per_drop_scope
1
--num_iteration_per_drop_scope
1
```
```
这里的
`chinese_L-12_H-768_A-12`
即是转换后的中文预训练模型。需要注意的是,BERT 支持按两种方式构建一个 batch 的数据,
`in_tokens`
参数影响
`batch_size`
参数的意义,如果
`in_tokens`
为
`true`
则按照 token 个数构建 batch, 如不设定则按照 example 个数来构建 batch. 训练过程中会输出训练误差、训练速度等信息,训练结束后会输出如下所示的在验证集上的测试结果:
这里的
`chinese_L-12_H-768_A-12`
即是转换后的中文预训练模型。需要注意的是,BERT
on PaddlePaddle
支持按两种方式构建一个 batch 的数据,
`in_tokens`
参数影响
`batch_size`
参数的意义,如果
`in_tokens`
为
`true`
则按照 token 个数构建 batch, 如不设定则按照 example 个数来构建 batch. 训练过程中会输出训练误差、训练速度等信息,训练结束后会输出如下所示的在验证集上的测试结果:
```
```
[dev evaluation] ave loss: 0.622958, ave acc: 0.770281, elapsed time: 8.946956 s
[dev evaluation] ave loss: 0.622958, ave acc: 0.770281, elapsed time: 8.946956 s
...
...
BERT/predict_classifier.py
浏览文件 @
1a672a1c
...
@@ -109,13 +109,13 @@ def main(args):
...
@@ -109,13 +109,13 @@ def main(args):
# Due to the design that ParallelExecutor would drop small batches (mostly the last batch)
# Due to the design that ParallelExecutor would drop small batches (mostly the last batch)
# So using ParallelExecutor may left some data unpredicted
# So using ParallelExecutor may left some data unpredicted
# if prediction of each and every example is needed, use Executor instead
# if prediction of each and every example is needed,
please
use Executor instead
predict_exe
=
fluid
.
ParallelExecutor
(
predict_exe
=
fluid
.
ParallelExecutor
(
use_cuda
=
args
.
use_cuda
,
main_program
=
predict_prog
)
use_cuda
=
args
.
use_cuda
,
main_program
=
predict_prog
)
predict_pyreader
.
decorate_tensor_provider
(
predict_pyreader
.
decorate_tensor_provider
(
processor
.
data_generator
(
processor
.
data_generator
(
batch_size
=
args
.
batch_size
,
phase
=
'test'
,
epoch
=
1
))
batch_size
=
args
.
batch_size
,
phase
=
'test'
,
epoch
=
1
,
shuffle
=
False
))
predict_pyreader
.
start
()
predict_pyreader
.
start
()
all_results
=
[]
all_results
=
[]
...
...
BERT/run_classifier.py
浏览文件 @
1a672a1c
...
@@ -65,7 +65,7 @@ data_g = ArgumentGroup(parser, "data", "Data paths, vocab paths and data process
...
@@ -65,7 +65,7 @@ data_g = ArgumentGroup(parser, "data", "Data paths, vocab paths and data process
data_g
.
add_arg
(
"data_dir"
,
str
,
None
,
"Path to training data."
)
data_g
.
add_arg
(
"data_dir"
,
str
,
None
,
"Path to training data."
)
data_g
.
add_arg
(
"vocab_path"
,
str
,
None
,
"Vocabulary path."
)
data_g
.
add_arg
(
"vocab_path"
,
str
,
None
,
"Vocabulary path."
)
data_g
.
add_arg
(
"max_seq_len"
,
int
,
512
,
"Number of words of the longest seqence."
)
data_g
.
add_arg
(
"max_seq_len"
,
int
,
512
,
"Number of words of the longest seqence."
)
data_g
.
add_arg
(
"batch_size"
,
int
,
819
2
,
"Total examples' number in batch for training. see also --in_tokens."
)
data_g
.
add_arg
(
"batch_size"
,
int
,
3
2
,
"Total examples' number in batch for training. see also --in_tokens."
)
data_g
.
add_arg
(
"in_tokens"
,
bool
,
False
,
data_g
.
add_arg
(
"in_tokens"
,
bool
,
False
,
"If set, the batch size will be the maximum number of tokens in one batch. "
"If set, the batch size will be the maximum number of tokens in one batch. "
"Otherwise, it will be the maximum number of examples in one batch."
)
"Otherwise, it will be the maximum number of examples in one batch."
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录