BERT CRF model file with validation 모델을 로드할 때 생기는 오류 및 대처법
hansd410 opened this issue · 0 comments
hansd410 commented
오류 1. RuntimeError: Error(s) in loading state_dict for KobertCRF: Missing key(s) in state_dict: "bert.embeddings.position_ids".
-
원인 : model/net.py 에서 사용하는 bert version 이 transformers 버전이나, 훈련 시 pytorch_pretrained_bert 버전으로 훈련한 것으로 보임
-
해결책 : model/net.py 에서 BertModel 버전 수정
#from transformers import BertModel, BertConfig
from pytorch_pretrained_bert import BertModel, BertConfig
오류 2. TypeError: dropout(): argument 'input' (position 1) must be Tensor, not list
- 원인 : 예전 버전의 bert와 현재 버전의 bert의 출력 형식의 차이에서 오는 오류
- 해결책 : model/net.py에서 KobertCRF class의 bert 출력 수정
outputs = self.bert(input_ids=input_ids,
token_type_ids=token_type_ids,
attention_mask=attention_mask,
output_all_encoded_layers=False)