你好,
当我在自定义测试数据上运行LayoutLM序列标注任务的推理/预测时,遇到了以下错误。当我在自定义测试数据上运行评估时也会出现这种情况。如果我只使用默认的训练和测试集,一切都会顺利进行。请问有人能建议我正确实现这个的方法吗?因为我目前卡在这里了。我已经尝试了多种方法,但都会导致相同的错误。
根据以下链接,我已经对run_seq_labeling.py进行了一些修改以便运行。
方法1a)
步骤1) 训练。请注意,文件夹“data”包含训练数据和原始测试数据。
python run_seq_labeling.py --data_dir data
--model_type layoutlm
--model_name_or_path path/to/pretrained/model/directory
--do_lower_case
--max_seq_length 512
--do_train
--num_train_epochs 100.0
--logging_steps 10
--save_steps -1
--output_dir path/to/output/directory
--labels data/labels.txt
--per_gpu_train_batch_size 16
--per_gpu_eval_batch_size 16
--fp16
步骤2) 推理/预测。请注意,文件夹“data1”包含自定义测试数据。
python run_seq_labeling.py --do_predict
--data_dir data1
--model_type layoutlm
--model_name_or_path output_
--do_lower_case
--output_dir predictions1
--labels data1/labels.txt
结果:Assert错误
方法1b)
步骤1) 训练。与方法1a相同。
步骤2) 评估。
python run_seq_labeling.py --data_dir infer_data
--model_type layoutlm
--model_name_or_path output_method1
--do_lower_case
--do_eval
--output_dir output_eval1
--labels infer_data/labels.txt
结果:Assert错误
步骤3) 推理(由于步骤2中的错误无法执行此步骤)
方法2a:
步骤1) 训练。将data_dir中的测试数据替换为infer(自定义)数据。
python run_seq_labeling.py --data_dir data_method2
--model_type layoutlm
--model_name_or_path model
--do_lower_case
--max_seq_length 512
--do_train
--num_train_epochs 10.0
--logging_steps 10
--save_steps -1
--output_dir output_method2
--labels data_method2/labels.txt
--per_gpu_train_batch_size 16
--per_gpu_eval_batch_size 16
--fp16
1条答案
按热度按时间fzsnzjdm1#
我建议你查看这个仓库:https://github.com/knitemblazor/Multilingual_LayoutLM