提交 d594e88b 编写于 作者: 0 0YuanZhang0 提交者: pkpk

fix_dmtk_cpu_and_readme (#3041)

上级 56055e7f
#!/bin/sh #!/bin/bash
export CE_MODE_X=ce
export FLAGS_eager_delete_tensor_gb=0.0 export FLAGS_sync_nccl_allreduce=0
export FLAGS_eager_delete_tensor_gb=1.0
export CUDA_VISIBLE_DEVICES=0 export CUDA_VISIBLE_DEVICES=0
pretrain_model_path="data/saved_models/matching_pretrained"
if [ ! -d ${pretrain_model_path} ]
then
mkdir ${pretrain_model_path}
fi
python -u main.py \ python -u main.py \
--do_train True \ --do_train=true \
--use_cuda \ --use_cuda=true \
--save_path model_files_tmp/matching_pretrained \ --loss_type="CLS" \
--train_path data/unlabel_data/train.ids \ --max_seq_len=50 \
--val_path data/unlabel_data/val.ids \ --save_model_path="data/saved_models/matching_pretrained" \
--print_step 3 \ --save_param="params" \
--num_scan_data 3 | python _ce.py --training_file="data/input/data/unlabel_data/train.ids" \
--epoch=20 \
--print_step=1 \
--save_step=400 \
--batch_size=256 \
--hidden_size=256 \
--emb_size=256 \
--vocab_size=484016 \
--learning_rate=0.001 \
--sample_pro=0.1 \
--enable_ce="store_true" | python _ce.py
export CUDA_VISIBLE_DEVICES=0,1,2,3 save_model_path="data/saved_models/human_finetuned"
if [ ! -d ${save_model_path} ]
then
mkdir ${save_model_path}
fi
python -u main.py \ python -u main.py \
--do_train True \ --do_train=true \
--use_cuda \ --use_cuda=true \
--save_path model_files_tmp/matching_pretrained \ --loss_type="L2" \
--train_path data/unlabel_data/train.ids \ --max_seq_len=50 \
--val_path data/unlabel_data/val.ids \ --init_from_pretrain_model="data/saved_models/matching_pretrained" \
--print_step 3 \ --save_model_path="data/saved_models/human_finetuned" \
--num_scan_data 3 | python _ce.py --save_param="params" \
--training_file="data/input/data/label_data/human/train.ids" \
--epoch=50 \
--print_step=1 \
--save_step=400 \
--batch_size=256 \
--hidden_size=256 \
--emb_size=256 \
--vocab_size=484016 \
--learning_rate=0.001 \
--sample_pro=0.1 \
--enable_ce="store_true" | python _ce.py
...@@ -7,7 +7,7 @@ save_steps: 10 ...@@ -7,7 +7,7 @@ save_steps: 10
num_scan_data: "" num_scan_data: ""
word_emb_init: "" word_emb_init: ""
init_model: "" init_model: ""
use_cuda: "" use_cuda: True
batch_size: 256 batch_size: 256
hidden_size: 256 hidden_size: 256
emb_size: 256 emb_size: 256
...@@ -26,4 +26,4 @@ vocab_path: "" ...@@ -26,4 +26,4 @@ vocab_path: ""
max_seq_len: 128 max_seq_len: 128
random_seed: 110 random_seed: 110
do_save_inference_model: False do_save_inference_model: False
enable_ce: "store_true" enable_ce: ""
...@@ -16,9 +16,6 @@ fi ...@@ -16,9 +16,6 @@ fi
TRAIN_TYPE=$1 TRAIN_TYPE=$1
TASK_TYPE=$2 TASK_TYPE=$2
typeset -l TRAIN_TYPE
typeset -l TASK_TYPE
candi_train_type=("matching" "seq2seq_naive" "seq2seq_att" "keywords" "human") candi_train_type=("matching" "seq2seq_naive" "seq2seq_att" "keywords" "human")
candi_task_type=("train" "predict" "evaluate" "inference") candi_task_type=("train" "predict" "evaluate" "inference")
...@@ -43,6 +40,7 @@ PYTHON_PATH="python" ...@@ -43,6 +40,7 @@ PYTHON_PATH="python"
#train pretrain model #train pretrain model
if [ ! "$CUDA_VISIBLE_DEVICES" ] if [ ! "$CUDA_VISIBLE_DEVICES" ]
then then
export CPU_NUM=1
use_cuda=false use_cuda=false
else else
use_cuda=true use_cuda=true
......
#!/bin/bash #!/bin/bash
train_atis_slot(){ train_atis_slot(){
if [ ! -d "./data/saved_models/atis_slot" ]; then
mkdir "./data/saved_models/atis_slot"
fi
python -u train.py \ python -u train.py \
--task_name atis_slot \ --task_name=atis_slot \
--use_cuda true \ --use_cuda=true \
--do_train true \ --do_train=true \
--do_val true \ --in_tokens=false \
--do_test true \ --epoch=2 \
--epoch 2 \ --batch_size=32 \
--batch_size 32 \ --data_dir=./data/input/data/atis/atis_slot \
--data_dir ./data/atis/atis_slot \ --bert_config_path=./data/pretrain_model/uncased_L-12_H-768_A-12/bert_config.json \
--bert_config_path ./uncased_L-12_H-768_A-12/bert_config.json \ --vocab_path=./data/pretrain_model/uncased_L-12_H-768_A-12/vocab.txt \
--vocab_path ./uncased_L-12_H-768_A-12/vocab.txt \ --init_from_pretrain_model=./data/pretrain_model/uncased_L-12_H-768_A-12/params \
--init_pretraining_params ./uncased_L-12_H-768_A-12/params \ --save_model_path=./data/saved_models/atis_slot \
--checkpoints ./output/atis_slot \ --save_param="params" \
--save_steps 100 \ --save_steps=100 \
--learning_rate 2e-5 \ --learning_rate=2e-5 \
--weight_decay 0.01 \ --weight_decay=0.01 \
--max_seq_len 128 \ --max_seq_len=128 \
--skip_steps 10 \ --print_steps=10 \
--validation_steps 1000000 \ --use_fp16=false \
--num_iteration_per_drop_scope 10 \ --enable_ce=store_true
--use_fp16 false \
--enable_ce
} }
train_mrda(){ train_atis_intent(){
if [ ! -d "./data/saved_models/atis_intent" ]; then
mkdir "./data/saved_models/atis_intent"
fi
python -u train.py \ python -u train.py \
--task_name mrda \ --task_name=atis_intent \
--use_cuda true \ --use_cuda=true \
--do_train true \ --do_train=true \
--do_val true \ --in_tokens=true \
--do_test true \ --epoch=2 \
--epoch 2 \ --batch_size=4096 \
--batch_size 4096 \ --data_dir=./data/input/data/atis/atis_intent \
--data_dir ./data/mrda \ --bert_config_path=./data/pretrain_model/uncased_L-12_H-768_A-12/bert_config.json \
--bert_config_path ./uncased_L-12_H-768_A-12/bert_config.json \ --vocab_path=./data/pretrain_model/uncased_L-12_H-768_A-12/vocab.txt \
--vocab_path ./uncased_L-12_H-768_A-12/vocab.txt \ --init_from_pretrain_model=./data/pretrain_model/uncased_L-12_H-768_A-12/params \
--init_pretraining_params ./uncased_L-12_H-768_A-12/params \ --save_model_path=./data/saved_models/atis_intent \
--checkpoints ./output/mrda \ --save_param="params" \
--save_steps 500 \ --save_steps=100 \
--learning_rate 2e-5 \ --learning_rate=2e-5 \
--weight_decay 0.01 \ --weight_decay=0.01 \
--max_seq_len 128 \ --max_seq_len=128 \
--skip_steps 200 \ --print_steps=10 \
--validation_steps 1000000 \ --use_fp16=false \
--num_iteration_per_drop_scope 10 \ --enable_ce=store_true
--use_fp16 false \
--enable_ce
} }
# FIXME(zjl): this model would fail when GC is enabled, # FIXME(zjl): this model would fail when GC is enabled,
...@@ -63,5 +65,4 @@ sleep 20 ...@@ -63,5 +65,4 @@ sleep 20
cudaid=${single:=0} cudaid=${single:=0}
export CUDA_VISIBLE_DEVICES=$cudaid export CUDA_VISIBLE_DEVICES=$cudaid
train_atis_slot | python _ce.py train_atis_intent | python _ce.py
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
- cudnn >= 7.0 - cudnn >= 7.0
- PaddlePaddle >= 1.3.1,请参考[安装指南](http://www.paddlepaddle.org/#quick-start)进行安装, 由于模块内模型基于bert做finetuning, 训练速度较慢, 建议用户安装GPU版本PaddlePaddle进行训练。 - PaddlePaddle >= 1.3.1,请参考[安装指南](http://www.paddlepaddle.org/#quick-start)进行安装, 由于模块内模型基于bert做finetuning, 训练速度较慢, 建议用户安装GPU版本PaddlePaddle进行训练。
   注意:使用Windows GPU环境的用户,需要将示例代码中的[fluid.ParallelExecutor](http://paddlepaddle.org/documentation/docs/zh/1.4/api_cn/fluid_cn.html#parallelexecutor)替换为[fluid.Executor](http://paddlepaddle.org/documentation/docs/zh/1.4/api_cn/fluid_cn.html#executor)   注意:使用Windows GPU环境的用户,需要将示例代码中的[fluid.ParallelExecutor](http://paddlepaddle.org/documentation/docs/zh/1.4/api_cn/fluid_cn.html#parallelexecutor)替换为[fluid.Executor](http://paddlepaddle.org/documentation/docs/zh/1.4/api_cn/fluid_cn.html#executor)
####   b、安装代码 ####   b、安装代码
    克隆代码库到本地     克隆代码库到本地
...@@ -31,7 +31,7 @@ cd models/PaddleNLP/dialogue_model_toolkit/dialogue_general_understanding ...@@ -31,7 +31,7 @@ cd models/PaddleNLP/dialogue_model_toolkit/dialogue_general_understanding
``` ```
### 任务简介 ### 任务简介
     本模块内共包含6个任务,内容如下:     本模块内共包含6个任务,内容如下:
``` ```
udc: 使用Ubuntu Corpus V1公开数据集,实现对话匹配任务; udc: 使用Ubuntu Corpus V1公开数据集,实现对话匹配任务;
...@@ -41,6 +41,7 @@ atis_intent: 使用微软提供的公开数据集(Airline Travel Information Sys ...@@ -41,6 +41,7 @@ atis_intent: 使用微软提供的公开数据集(Airline Travel Information Sys
mrda: 使用公开数据集Meeting Recorder Dialogue Act,实现DA识别任务; mrda: 使用公开数据集Meeting Recorder Dialogue Act,实现DA识别任务;
swda:使用公开数据集Switchboard Dialogue Act Corpus,实现DA识别任务; swda:使用公开数据集Switchboard Dialogue Act Corpus,实现DA识别任务;
``` ```
### 数据准备 ### 数据准备
    数据集说明:     数据集说明:
...@@ -52,44 +53,51 @@ MRDA: Meeting Recorder Dialogue Act; ...@@ -52,44 +53,51 @@ MRDA: Meeting Recorder Dialogue Act;
SWDA:Switchboard Dialogue Act Corpus; SWDA:Switchboard Dialogue Act Corpus;
``` ```
     数据集、相关模型下载:     数据集、相关模型下载:
``` ```
cd dgu && sh prepare_data_and_model.sh cd dgu && bash prepare_data_and_model.sh
``` ```
     下载的数据集中已提供了训练集,测试集和验证集,用户如果需要重新生成某任务数据集的训练数据,可执行:
    下载的数据集中已提供了训练集,测试集和验证集,用户如果需要重新生成某任务数据集的训练数据,可执行:
``` ```
cd dgu/scripts && sh run_build_data.sh task_name cd dgu/scripts && bash run_build_data.sh task_name
参数说明: 参数说明:
task_name: udc, swda, mrda, atis, dstc2, 选择5个数据集选项中用户需要生成的数据名 task_name: udc, swda, mrda, atis, dstc2, 选择5个数据集选项中用户需要生成的数据名
``` ```
### 单机训练 ### 单机训练
####      方式一: 推荐直接使用模块内脚本训练 ####     方式一: 推荐直接使用模块内脚本训练
``` ```
sh run.sh task_name task_type bash run.sh task_name task_type
参数说明: 参数说明:
task_name: udc, swda, mrda, atis_intent, atis_slot, dstc2,选择6个任务中任意一项; task_name: udc, swda, mrda, atis_intent, atis_slot, dstc2,选择6个任务中任意一项;
task_type: train,predict, evaluate, inference, all, 选择5个参数选项中任意一项(train: 只执行训练,predict: 只执行预测,evaluate:只执行评估过程,依赖预测的结果,inference: 保存inference model,all: 顺序执行训练、预测、评估、保存inference model的过程); task_type: train,predict, evaluate, inference, all, 选择5个参数选项中任意一项(train: 只执行训练,predict: 只执行预测,evaluate:只执行评估过程,依赖预测的结果,inference: 保存inference model,all: 顺序执行训练、预测、评估、保存inference model的过程);
训练示例: sh run.sh atis_intent train 训练示例: bash run.sh atis_intent train
``` ```
     方式一如果为CPU训练:
    方式一如果为CPU训练:
``` ```
请将run.sh内参数设置为: 请将run.sh内参数设置为:
1、export CUDA_VISIBLE_DEVICES= 1、export CUDA_VISIBLE_DEVICES=
``` ```
     方式一如果为GPU训练:
    方式一如果为GPU训练:
``` ```
请将run.sh内参数设置为: 请将run.sh内参数设置为:
1、如果为单卡训练(用户指定空闲的单卡): 1、如果为单卡训练(用户指定空闲的单卡):
export CUDA_VISIBLE_DEVICES=0 export CUDA_VISIBLE_DEVICES=0
2、如果为多卡训练(用户指定空闲的多张卡): 2、如果为多卡训练(用户指定空闲的多张卡):
export CUDA_VISIBLE_DEVICES=0,1,2,3 export CUDA_VISIBLE_DEVICES=0,1,2,3
``` ```
####      方式二: 执行训练相关的代码:
####     方式二: 执行训练相关的代码:
``` ```
export FLAGS_sync_nccl_allreduce=0 export FLAGS_sync_nccl_allreduce=0
...@@ -109,6 +117,10 @@ fi ...@@ -109,6 +117,10 @@ fi
TASK_NAME="atis_intent" #指定训练的任务名称 TASK_NAME="atis_intent" #指定训练的任务名称
BERT_BASE_PATH="data/pretrain_model/uncased_L-12_H-768_A-12" BERT_BASE_PATH="data/pretrain_model/uncased_L-12_H-768_A-12"
if [ ! -d "./data/saved_models/${TASK_NAME}" ]; then
mkdir "./data/saved_models/${TASK_NAME}"
fi
python -u main.py \ python -u main.py \
--task_name=${TASK_NAME} \ --task_name=${TASK_NAME} \
--use_cuda=${use_cuda} \ --use_cuda=${use_cuda} \
...@@ -130,32 +142,40 @@ python -u main.py \ ...@@ -130,32 +142,40 @@ python -u main.py \
--print_steps=10 \ --print_steps=10 \
--use_fp16 false --use_fp16 false
``` ```
注:采用方式二时,模型训练过程可参考run.sh内相关任务的参数设置 注:采用方式二时,模型训练过程可参考run.sh内相关任务的参数设置
### 模型预测 ### 模型预测
####      方式一: 推荐直接使用模块内脚本预测 ####     方式一: 推荐直接使用模块内脚本预测
``` ```
sh run.sh task_name task_type bash run.sh task_name task_type
参数说明: 参数说明:
task_name: udc, swda, mrda, atis_intent, atis_slot, dstc2,选择6个任务中任意一项; task_name: udc, swda, mrda, atis_intent, atis_slot, dstc2,选择6个任务中任意一项;
task_type: train,predict, evaluate, inference, all, 选择5个参数选项中任意一项(train: 只执行训练,predict: 只执行预测,evaluate:只执行评估过程,依赖预测的结果,inference: 保存inference model,all: 顺序执行训练、预测、评估、保存inference model的过程); task_type: train,predict, evaluate, inference, all, 选择5个参数选项中任意一项(train: 只执行训练,predict: 只执行预测,evaluate:只执行评估过程,依赖预测的结果,inference: 保存inference model,all: 顺序执行训练、预测、评估、保存inference model的过程);
预测示例: sh run.sh atis_intent predict 预测示例: bash run.sh atis_intent predict
``` ```
     方式一如果为CPU预测:
    方式一如果为CPU预测:
``` ```
请将run.sh内参数设置为: 请将run.sh内参数设置为:
1、export CUDA_VISIBLE_DEVICES= 1、export CUDA_VISIBLE_DEVICES=
``` ```
     方式一如果为GPU预测:
    方式一如果为GPU预测:
``` ```
请将run.sh内参数设置为: 请将run.sh内参数设置为:
支持单卡预测(用户指定空闲的单卡): 支持单卡预测(用户指定空闲的单卡):
export CUDA_VISIBLE_DEVICES=0 export CUDA_VISIBLE_DEVICES=0
``` ```
注:预测时,如采用方式一,用户可通过修改run.sh中init_from_params参数来指定自己训练好的需要预测的模型,目前代码中默认为加载官方已经训练好的模型; 注:预测时,如采用方式一,用户可通过修改run.sh中init_from_params参数来指定自己训练好的需要预测的模型,目前代码中默认为加载官方已经训练好的模型;
####      方式二: 执行预测相关的代码: ####     方式二: 执行预测相关的代码:
``` ```
export FLAGS_sync_nccl_allreduce=0 export FLAGS_sync_nccl_allreduce=0
export FLAGS_eager_delete_tensor_gb=1 #开启显存优化 export FLAGS_eager_delete_tensor_gb=1 #开启显存优化
...@@ -191,7 +211,8 @@ python -u main.py \ ...@@ -191,7 +211,8 @@ python -u main.py \
注:采用方式二时,模型预测过程可参考run.sh内具体任务的参数设置 注:采用方式二时,模型预测过程可参考run.sh内具体任务的参数设置
### 模型评估 ### 模型评估
     模块中6个任务,各任务支持计算的评估指标内容如下:     模块中6个任务,各任务支持计算的评估指标内容如下:
``` ```
udc: 使用R1@10、R2@10、R5@10三个指标评估匹配任务的效果; udc: 使用R1@10、R2@10、R5@10三个指标评估匹配任务的效果;
atis_slot: 使用F1指标来评估序列标注任务; atis_slot: 使用F1指标来评估序列标注任务;
...@@ -200,7 +221,8 @@ atis_intent: 使用acc指标来评估分类结果; ...@@ -200,7 +221,8 @@ atis_intent: 使用acc指标来评估分类结果;
mrda: 使用acc指标来评估DA任务分类结果; mrda: 使用acc指标来评估DA任务分类结果;
swda:使用acc指标来评估DA任务分类结果; swda:使用acc指标来评估DA任务分类结果;
``` ```
     效果上,6个任务公开数据集评测效果如下表所示:
    效果上,6个任务公开数据集评测效果如下表所示:
| task_name | udc | udc | udc | atis_slot | dstc2 | atis_intent | swda | mrda | | task_name | udc | udc | udc | atis_slot | dstc2 | atis_intent | swda | mrda |
| :------ | :------ | :------ | :------ | :------| :------ | :------ | :------ | :------ | | :------ | :------ | :------ | :------ | :------| :------ | :------ | :------ | :------ |
...@@ -211,19 +233,20 @@ swda:使用acc指标来评估DA任务分类结果; ...@@ -211,19 +233,20 @@ swda:使用acc指标来评估DA任务分类结果;
| SOTA | 76.70% | 87.40% | 96.90% | 96.89% | 74.50% | 98.32% | 81.30% | 91.70% | | SOTA | 76.70% | 87.40% | 96.90% | 96.89% | 74.50% | 98.32% | 81.30% | 91.70% |
| DGU | 82.03% | 90.59% | 97.73% | 97.14% | 91.23% | 97.76% | 80.37% | 91.53% | | DGU | 82.03% | 90.59% | 97.73% | 97.14% | 91.23% | 97.76% | 80.37% | 91.53% |
####      方式一: 推荐直接使用模块内脚本评估 ####     方式一: 推荐直接使用模块内脚本评估
``` ```
sh run.sh task_name task_type bash run.sh task_name task_type
参数说明: 参数说明:
task_name: udc, swda, mrda, atis_intent, atis_slot, dstc2,选择6个任务中任意一项; task_name: udc, swda, mrda, atis_intent, atis_slot, dstc2,选择6个任务中任意一项;
task_type: train,predict, evaluate, inference, all, 选择5个参数选项中任意一项(train: 只执行训练,predict: 只执行预测,evaluate:只执行评估过程,依赖预测的结果,inference: 保存inference model,all: 顺序执行训练、预测、评估、保存inference model的过程); task_type: train,predict, evaluate, inference, all, 选择5个参数选项中任意一项(train: 只执行训练,predict: 只执行预测,evaluate:只执行评估过程,依赖预测的结果,inference: 保存inference model,all: 顺序执行训练、预测、评估、保存inference model的过程);
评估示例: sh run.sh atis_intent evaluate 评估示例: bash run.sh atis_intent evaluate
``` ```
注:评估计算ground_truth和predict_label之间的打分,默认CPU计算即可; 注:评估计算ground_truth和predict_label之间的打分,默认CPU计算即可;
####      方式二: 执行评估相关的代码: ####     方式二: 执行评估相关的代码:
``` ```
TASK_NAME="atis_intent" #指定预测的任务名称 TASK_NAME="atis_intent" #指定预测的任务名称
...@@ -237,28 +260,34 @@ python -u main.py \ ...@@ -237,28 +260,34 @@ python -u main.py \
``` ```
### 模型推断 ### 模型推断
####      方式一: 推荐直接使用模块内脚本保存inference model ####     方式一: 推荐直接使用模块内脚本保存inference model
``` ```
sh run.sh task_name task_type bash run.sh task_name task_type
参数说明: 参数说明:
task_name: udc, swda, mrda, atis_intent, atis_slot, dstc2,选择6个任务中任意一项; task_name: udc, swda, mrda, atis_intent, atis_slot, dstc2,选择6个任务中任意一项;
task_type: train,predict, evaluate, inference, all, 选择5个参数选项中任意一项(train: 只执行训练,predict: 只执行预测,evaluate:只执行评估过程,依赖预测的结果,inference: 保存inference model,all: 顺序执行训练、预测、评估、保存inference model的过程); task_type: train,predict, evaluate, inference, all, 选择5个参数选项中任意一项(train: 只执行训练,predict: 只执行预测,evaluate:只执行评估过程,依赖预测的结果,inference: 保存inference model,all: 顺序执行训练、预测、评估、保存inference model的过程);
保存模型示例: sh run.sh atis_intent inference 保存模型示例: bash run.sh atis_intent inference
``` ```
     方式一如果为CPU执行inference model过程:
    方式一如果为CPU执行inference model过程:
``` ```
请将run.sh内参数设置为: 请将run.sh内参数设置为:
1、export CUDA_VISIBLE_DEVICES= 1、export CUDA_VISIBLE_DEVICES=
``` ```
     方式一如果为GPU执行inference model过程:
    方式一如果为GPU执行inference model过程:
``` ```
请将run.sh内参数设置为: 请将run.sh内参数设置为:
1、单卡模型推断(用户指定空闲的单卡): 1、单卡模型推断(用户指定空闲的单卡):
export CUDA_VISIBLE_DEVICES=0 export CUDA_VISIBLE_DEVICES=0
``` ```
####      方式二: 执行inference model相关的代码: ####     方式二: 执行inference model相关的代码:
``` ```
TASK_NAME="atis_intent" #指定预测的任务名称 TASK_NAME="atis_intent" #指定预测的任务名称
BERT_BASE_PATH="./data/pretrain_model/uncased_L-12_H-768_A-12" BERT_BASE_PATH="./data/pretrain_model/uncased_L-12_H-768_A-12"
...@@ -282,7 +311,7 @@ python -u main.py \ ...@@ -282,7 +311,7 @@ python -u main.py \
``` ```
### 预训练模型 ### 预训练模型
     支持PaddlePaddle官方提供的BERT及ERNIE相关模型作为预训练模型     支持PaddlePaddle官方提供的BERT及ERNIE相关模型作为预训练模型
| Model | Layers | Hidden size | Heads |Parameters | | Model | Layers | Hidden size | Heads |Parameters |
| :------| :------: | :------: |:------: |:------: | | :------| :------: | :------: |:------: |:------: |
...@@ -294,9 +323,9 @@ python -u main.py \ ...@@ -294,9 +323,9 @@ python -u main.py \
### 服务部署 ### 服务部署
     模块内提供已训练好6个对话任务的inference_model模型,用户可根据自身业务情况进行下载使用。     模块内提供已训练好6个对话任务的inference_model模型,用户可根据自身业务情况进行下载使用。
#### 服务器部署 #### 服务器部署
     请参考PaddlePaddle官方提供的[服务器端部署](https://www.paddlepaddle.org.cn/documentation/docs/zh/1.5/advanced_usage/deploy/inference/index_cn.html)文档进行部署上线。     请参考PaddlePaddle官方提供的[服务器端部署](https://www.paddlepaddle.org.cn/documentation/docs/zh/1.5/advanced_usage/deploy/inference/index_cn.html)文档进行部署上线。
## 3、进阶使用 ## 3、进阶使用
...@@ -361,6 +390,7 @@ python -u main.py \ ...@@ -361,6 +390,7 @@ python -u main.py \
## 作者 ## 作者
zhangxiyuan01@baidu.com zhangxiyuan01@baidu.com
zhouxiangyang@baidu.com zhouxiangyang@baidu.com
## 如何贡献代码 ## 如何贡献代码
......
...@@ -27,4 +27,4 @@ use_cuda: True ...@@ -27,4 +27,4 @@ use_cuda: True
task_name: "" task_name: ""
in_tokens: False in_tokens: False
do_save_inference_model: False do_save_inference_model: False
enable_ce: "store_true" enable_ce: ""
...@@ -6,6 +6,7 @@ export FLAGS_eager_delete_tensor_gb=1 ...@@ -6,6 +6,7 @@ export FLAGS_eager_delete_tensor_gb=1
export CUDA_VISIBLE_DEVICES=0 export CUDA_VISIBLE_DEVICES=0
if [ ! "$CUDA_VISIBLE_DEVICES" ] if [ ! "$CUDA_VISIBLE_DEVICES" ]
then then
export CPU_NUM=1
use_cuda=false use_cuda=false
else else
use_cuda=true use_cuda=true
...@@ -14,9 +15,6 @@ fi ...@@ -14,9 +15,6 @@ fi
TASK_NAME=$1 TASK_NAME=$1
TASK_TYPE=$2 TASK_TYPE=$2
typeset -l TASK_NAME
typeset -l TASK_TYPE
BERT_BASE_PATH="./data/pretrain_model/uncased_L-12_H-768_A-12" BERT_BASE_PATH="./data/pretrain_model/uncased_L-12_H-768_A-12"
INPUT_PATH="./data/input/data/${TASK_NAME}" INPUT_PATH="./data/input/data/${TASK_NAME}"
SAVE_MODEL_PATH="./data/saved_models/${TASK_NAME}" SAVE_MODEL_PATH="./data/saved_models/${TASK_NAME}"
...@@ -64,7 +62,7 @@ then ...@@ -64,7 +62,7 @@ then
print_steps=10 print_steps=10
batch_size=4096 batch_size=4096
in_tokens=true in_tokens=true
epoch=1 epoch=20
learning_rate=2e-5 learning_rate=2e-5
INPUT_PATH="./data/input/data/atis/${TASK_NAME}" INPUT_PATH="./data/input/data/atis/${TASK_NAME}"
elif [ "${TASK_NAME}" = "atis_slot" ] elif [ "${TASK_NAME}" = "atis_slot" ]
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册