背景:最近百度 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