Closed wzl0422 closed 3 months ago
只保存了25个epoch是因为设置了earlystop,你可以根据训练日志找到最佳epoch,将--checkpoint
设置为最佳epoch中的ckpt
文件
只保存了25个epoch是因为设置了earlystop,你可以根据训练日志找到最佳epoch,将
--checkpoint
设置为最佳epoch中的ckpt
文件
您说的这个--checkpoint 设置为最佳epoch中的ckpt文件,具体是指什么呢,很抱歉我没太理解。意思是比如下图这个里面这个最佳的epoch25下的那个.ckpt文件就是‘pre_train_checkpoint_of_mkgformer’这个吗?只不过要把这个名字改为epoch25下的那个.ckpt文件名字?我理解的正确吗,如果理解有误,还希望得到指正。非常感谢!如果是的话需要怎么改呢?提示报错的是lit_model.load_state_dict(torch.load(args.checkpoint, map_location="cuda")["state_dict"], strict=False)这句代码。
其次下图这个结果是正常预期之中吗,相比论文中的结果点数都低了一些。
您好,--checkpoint
的设置就是您理解的那样。微调结果比论文结果低了不少,可以尝试调调参,参考 #20, #8,#9
您好,
--checkpoint
的设置就是您理解的那样。微调结果比论文结果低了不少,可以尝试调调参,参考 #20, #8,#9
明白了,非常感谢得到回复!祝顺利!
作者您好,我预训练完以后,再尝试运行微调的bash scripts/run_finetune_mkgformer.sh这个,报出了下面的错误,说是没有找到检查点文件:'pre_train_checkpoint_of_mkgformer',这个是什么问题呢? (MKG) root@autodl-container-bd79408a8f-a7ad41d7:~/autodl-tmp/project/MKG_Analogy-main/MarT# python main.py --gpus "0," --max_epochs=15 --num_workers=4 --model_name_or_path bert-base-uncased --visual_model_path openai/clip-vit-base-patch32 --accumulate_grad_batches 1 --model_class MKGformerKGC --batch_size 32 --pretrain 0 --bce 0 --check_val_every_n_epoch 1 --overwrite_cache --data_dir dataset/MARS --pretrain_path dataset/MarKG --eval_batch_size 128 --max_seq_length 128 --lr 5e-5 --alpha 0.43 --checkpoint pre_train_checkpoint_of_mkgformer
Traceback (most recent call last): File "main.py", line 167, in
main()
File "main.py", line 134, in main
lit_model.load_state_dict(torch.load(args.checkpoint, map_location="cuda")["state_dict"], strict=False)
File "/root/miniconda3/envs/MKG/lib/python3.8/site-packages/torch/serialization.py", line 699, in load
with _open_file_like(f, 'rb') as opened_file:
File "/root/miniconda3/envs/MKG/lib/python3.8/site-packages/torch/serialization.py", line 231, in _open_file_like
return _open_file(name_or_buffer, mode)
File "/root/miniconda3/envs/MKG/lib/python3.8/site-packages/torch/serialization.py", line 212, in init
super(_open_file, self).init(open(name, mode))
FileNotFoundError: [Errno 2] No such file or directory: 'pre_train_checkpoint_of_mkgformer'
然后我看预训练完以后目录里面多了一个output文件夹,里面有:
在epoch25下面有一个.ckpt文件,我不明白为什么训练到epoch29,但是这里面只有到25,是因为25是最佳的了吗?然后这个.ckpt是上面所找的那个检查点文件吗?那要把这个文件挪到MarT目录下把名字改成pre_train_checkpoint_of_mkgformer吗?求解!谢谢!