CURRENT_DIR=`pwd`/classifier_pytorch
export BERT_BASE_DIR=$CURRENT_DIR/prev_trained_model/bert-base-chinese
export GLUE_DIR=$CURRENT_DIR/chineseGLUEdatasets
export OUTPUR_DIR=$CURRENT_DIR/outputs
TASK_NAME="tnews"

export PYTHONPATH=./classifier_pytorch:$PYTHONPATH

export MASTER_ADDR='127.0.0.1'
export MASTER_PORT='23333'
export WORLD_SIZE=4

RANK_ID_START=0
KERNEL_NUM=$(($(nproc) / 8))

for ((RANK_ID = $RANK_ID_START; RANK_ID < $((WORLD_SIZE + RANK_ID_START)); RANK_ID++))
do
	PID_START=$((KERNEL_NUM * $RANK_ID))
	PID_END=$((PID_START + KERNEL_NUM - 1))
	export RANK=$RANK_ID
	taskset -c $PID_START-$PID_END nohup python -u \
	run.py \
	--local_rank $RANK_ID \
	--fp16 \
	--model_type=bert \
	--model_name_or_path=$BERT_BASE_DIR \
	--task_name=$TASK_NAME \
	--do_train \
	--do_eval \
	--do_lower_case \
	--data_dir=$GLUE_DIR/${TASK_NAME}/ \
	--max_seq_length=128 \
	--per_gpu_train_batch_size=256 \
	--per_gpu_eval_batch_size=32 \
	--learning_rate=6e-5 \
	--num_train_epochs=4.0 \
	--logging_steps=8372 \
	--save_steps=8372 \
	--output_dir=$OUTPUR_DIR/${TASK_NAME}_output/ \
	--overwrite_output_dir \
	&
done