百度paddle ernie 实战

背景:最近百度 paddle ernie非常火,而且公司打算使用paddle作为机器学习的框架,所以研究ernie用于文本识别,主要用于文本分类任务,根据资讯的title来做成很多二分类器,比如判定这个资讯是不是XXX标签。

下面是实战的记录,已经调通ernie文本分类的代码,详细记录在这里。

#############  下面的版本是在linux 环境上是可以运行成功的
https://github.com/PaddlePaddle/ERNIE/blob/develop/README.zh.md
ERNIE 2.0: A Continual Pre-training Framework for Language Understanding

https://github.com/PaddlePaddle/ERNIE/blob/develop/README.zh.md#%E5%8D%95%E5%8F%A5%E5%92%8C%E5%8F%A5%E5%AF%B9%E5%88%86%E7%B1%BB%E4%BB%BB%E5%8A%A1
单句和句对分类任务

先跑通官网的demo

1.PaddlePaddle 安装
pip install paddlepaddle -i https://pypi.tuna.tsinghua.edu.cn/simple

校验:
import paddle.fluid
paddle.fluid.install_check.run_check()
Running Verify Fluid Program ...
Your Paddle Fluid works well on SINGLE GPU or CPU.
Your Paddle Fluid works well on MUTIPLE GPU or CPU.
Your Paddle Fluid is installed successfully! Let's start deep Learning with Paddle Fluid now


2.模型&数据


分类或者回归任务的逻辑都封装在 run_classifier.py

数据目录在这里     /home/notebook/code/personal/ERNIE-develop/task_data

预训练模型目录     /home/notebook/code/personal/ERNIE-develop/ERNIE_import

模型运行代码       /home/notebook/code/personal/ERNIE-develop/ernie/run_classifier.py

执行这个代码可以快速运行模型
sh /home/notebook/code/personal/ERNIE-develop/script/zh_task/ernie_base/run_ChnSentiCorp.sh

# 现在终端输入这个命令
export TASK_DATA_PATH=/home/notebook/code/personal/ERNIE-develop/task_data
export MODEL_PATH=/home/notebook/code/personal/ERNIE-develop/ERNIE_import



#run_ChnSentiCorp.sh脚本中的内容
set -eux

export FLAGS_eager_delete_tensor_gb=0
export FLAGS_sync_nccl_allreduce=1
export CUDA_VISIBLE_DEVICES=0

#export MODEL_PATH = /home/notebook/code/personal/ERNIE-develop/ERNIE_import
#export TASK_DATA_PATH = /home/notebook/code/personal/ERNIE-develop/task_data


#export PYTHONPATH=./ernie:${PYTHONPATH:-}
python /home/notebook/code/personal/ERNIE-develop/ernie/run_classifier.py \
                   --use_cuda false \
                   --verbose true \
                   --do_train true \
                   --do_val true \
                   --do_test false \
                   --batch_size 24 \
                   --init_pretraining_params ${MODEL_PATH}/params \
                   --train_set ${TASK_DATA_PATH}/chnsenticorp/train.tsv \
                   --dev_set ${TASK_DATA_PATH}/chnsenticorp/dev.tsv,${TASK_DATA_PATH}/chnsenticorp/test.tsv \
                   --vocab_path ${MODEL_PATH}/vocab.txt \
                   --checkpoints ./checkpoints \
                   --save_steps 1000 \
                   --weight_decay  0.01 \
                   --warmup_proportion 0.0 \
                   --validation_steps 100 \
                   --epoch 10 \
                   --max_seq_len 256 \
                   --ernie_config_path ${MODEL_PATH}/ernie_config.json \
                   --learning_rate 5e-5 \
                   --skip_steps 10 \
                   --num_iteration_per_drop_scope 1 \
                   --num_labels 2 \
                   --random_seed 1
发布了80 篇原创文章 · 获赞 27 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/abc50319/article/details/103033334