背景:最近百度 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
本文详细介绍如何使用百度的ERNIE模型进行文本分类任务,包括PaddlePaddle的安装配置、ERNIE模型的运行代码及数据集准备,适用于二分类或多分类场景。

839

被折叠的 条评论
为什么被折叠?



