运行BioBERT-Pytorch模型保姆级详细步骤
简介
biobert-pytorch模型可在linux系统下运行(github上的开源代码里的readme里给出的命令是linux系统下的命令),也可在windows系统下运行。代码中下载数据集的文件 dowmload.sh preprocess.sh
无法直接在windows系统下运行。因此有两种解决方法。
一:整个代码都在linux系统下运行,需要安装虚拟机,如果习惯用Linux系统的,运行起来不会太困难;也可以在linux系统下只运行.sh文件,把数据集拿过来,然后到windows下面运行。(github上biobert-pytorch模型中从谷歌网站下载数据集有点问题,不能直接下载,需要数据集的可以从bert模型里下载或者私信我哟)
二:整个都在windows系统上运行,需要安装Git,用来运行.sh文件。安装完之后修改一下配置就可以运行.sh文件了。具体链接奉上。git下载:
https://git-scm.com/download/win
git配置环境:
https://blog.csdn.net/qq_44696773/article/details/125615631
运行环境
python 3.8
transformers:4.24.0
pytorch 1.12.1
linux服务器
运行
在运行之前需要先运行preprocess.sh文件对数据进行预处理。
配置参数:下图是github上给出的参数配置,是Linux里的命令
这是我自己运行时设置的参数(windows系统下):
--data_dir
./datasets/NCBI-disease
--labels
./datasets/NCBI-disease/labels.txt
--model_name_or_path
dmis-lab/biobert-base-cased-v1.1
--output_dir
output/NCBI-disease
--max_seq_length
128
--num_train_epochs
3
--per_device_train_batch_size
4
--save_steps
1000
--seed
1
--do_train
true
--do_eval
true
--do_predict
true
--overwrite_output_dir
一定要注意路径问题,根据自己的项目修改路径!!!
配好参数之后运行run_ner.py文件,当出现下图所示时就成功一大半了,接下来就是漫长的等待过程,下载预训练模型和训练模型,我在实验室电脑上跑的,没有GPU,太慢了,就转战到服务器上运行了,速度大大提升了。
出现的问题
ValueError:num_samples should be a positive integar value…
解决方法:数据集的问题,可能下载的不全
AttributeError: ‘Trainer’ object has no attribute ‘is_world_master’
解决方法:将代码中的所有 ‘is_world_master’ 改为‘is_world_process_zero’ 大概有3、4处记得修改完
结果
训练完模型见下图:
调代码的过程真的是磨练人脾气的过程,坚持不住的时候再坚持一下下,就会有意想不到的结果。祝你好运!