1)github代码包下载: https://github.com/HaoyuHu/bert-multi-gpu
2)将整个代码包压缩上传至linux某一文件夹,例如:
打开待存储文件路径:cd /data/usr_name
上传压缩包:rz并选择压缩包(假如包名为bert-multi-gpu.zip)上传
3)解压 7za x bert-multi-gpu.zip
4)进去解压后的bert-multi-gpu文件夹 cd bert-multi-gpu
以文本分类任务为例:
1)需要上传bert模型文件,新建model文件夹 mkdir model,将如下内容上传至model文件夹
model.ckpt.data-00000-of-00001 model.ckpt.index model.ckpt.meta
2)将bert_config.json和vocab.txt上传至bert-multi-gpu文件夹
进入bert-multi-gpu文件夹
rz并选择bert_config.json和vocab.txt并上传
3)上传待分类数据,数据格式为.tsv,包括train.tsv dev.tsv test.tev,文件每一行内容为:句子+\t+句子类别(0或1)
bert-multi-gpu文件夹下新建QQP:mkdir QQP
将上述三个.tsv文件上传至QQP文件夹
4)修改run_custom_classifier.py参数
_create_examples()下代码255行注释掉;
_create_examples()下代码InputExample中text_b设为None
1)激活conda环境
查看conda环境
命令conda info -e
激活包含tensorflow1.13的tf-gpu环境
命令source activate tf-gpu
2)输入代码执行命令
python run_custom_classifier.py \
--task_name=QQP \
--do_lower_case=true \
--do_train=true \
--do_eval=true \
--do_predict=False \
--save_for_serving=true \
--data_dir=QQP \
--vocab_file=vocab.txt \
--bert_config_file=bert_config.json \
--init_checkpoint=model/model.ckpt \
--max_seq_length=128 \
--train_batch_size=32 \
--learning_rate=2e-5 \
--num_train_epochs=3.0 \
--use_gpu=true \
--num_gpu_cores=4 \
--use_fp16=true \
--output_dir=outputs/bert-large-uncased-qqp
等待一会,敲nvidia-smi出现如下结果(多块GPU memory被占用且计算占比接近100%)即可,说明bert-tensorflow可调多GPU。