百度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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章