在复现论文Consistency enhancement of model prediction on
document-level named entity recognition的源代码,按照它的readme文件运行,然后到training and refernce 那一块儿(如下图)
运行之后出现下面两张显示的错误
然后makefile 文件它下面那图那样
makefile 下面部分
在复现论文Consistency enhancement of model prediction on
document-level named entity recognition的源代码,按照它的readme文件运行,然后到training and refernce 那一块儿(如下图)
然后makefile 文件它下面那图那样
引自免费微信小程序:皆我百晓生
看起来你在尝试复现一篇关于文档级命名实体识别(Document-Level Named Entity Recognition, Doc-NER)的论文,并且遇到了一些问题。首先,让我们解决Makefile中的错误。
根据错误信息Makefile: 26: recipe for target 'run-ner' failed make : *** [ run-ner ] Error 49
,这表明Makefile中的某个命令执行失败了。Makefile是一种自动化构建工具,用于管理编译过程。为了解决这个问题,我们需要查看Makefile中第26行及其上下文,找到出错的命令。
从提供的Makefile片段来看,似乎缺少了完整的指令来调用训练脚本。 Makefile通常会定义规则(recipes),以便通过简单的命令(如make run-ner
)执行复杂的操作。为了修复这个错误,你需要确保Makefile包含一个调用run_ner.py
的正确命令,将所需的参数传递给它。这里是一个可能的修复:
run-ner:
CUDA_VISIBLE_DEVICES=$(CUDA) \
CUDA_LAUNCH_BLOCKING=1 \
CUDA_DEVICE_ORDER=PCI_BUS_ID \
python $(TRAINING_ROOT)/run_ner.py \
--train_dir $(DATA_DIR)/$(DATA_NAME)/from_rawdata/ \
--eval_dir $(DATA_DIR)/$(DATA_NAME)/from_rawdata/ \
--model_type $(MODEL_TYPE) \
--model_name_or_path $(MODEL_NAME) \
--learning_rate $(LR) \
--weight_decay $(WEIGHT_DECAY) \
--adam_epsilon $(ADAM_EPS) \
--adam_beta1 $(ADAM_BETA1) \
--adam_beta2 $(ADAM_BETA2) \
--num_train_epochs $(EPOCH) \
--warmup_steps $(WARMUP) \
--output_dir $(SAVE_DIR)/$(DATA_NAME)/$(LM)_EP$(EPOCH)_LR$(LR)_ML$(MAX_LENGTH)_WM$(WARMUP)_$(DATA_TYPE)_$(run_name) \
--per_gpu_train_batch_size $(BATCH_SIZE) \
--per_gpu_eval_batch_size $(BATCH_SIZE) \
--logging_steps $(LOGGING) \
--save_steps $(SAVING) \
--max_seq_length $(MAX_LENGTH) \
--gradient_accumulation_steps $(GRADIENT_ACCUMULATE) \
--do_train \
--do_eval \
--do_predict \
--evaluate_during_training \
--wandb_name $(run_name) \
--data_type $(DATA_TYPE) \
--data_name $(DATA_NAME) \
--overwrite_output_dir
将上述内容添加到Makefile的相应位置,然后运行make run-ner
应该可以启动训练。确保你已经下载了预训练模型,并且路径指向正确。此外,检查所有环境变量是否设置正确,特别是CUDA相关设置以及数据目录和模型路径。
如果你仍然遇到问题,请提供更详细的错误输出,以便我能进一步协助你调试。