Linux机器:bert-tensorflow调多GPU

1.上传代码包

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

2.数据上传及脚本参数修改

以文本分类任务为例:

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

3.运行及查看效果

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。

你可能感兴趣的:(NLP)