전체코드
nlp/single_task_model.py at main · mirageoasis/nlp
모델을 초기화 하는 과정이다.
def __init__(self, **kwargs):
super().__init__()
self.save_hyperparameters() # 이 부분에서 self.hparams에 위 kwargs가 저장된다.
self.model = AutoModelForSequenceClassification.from_pretrained(self.hparams.pretrained_model, return_dict=True, num_labels=11)
self.tokenizer = AutoTokenizer.from_pretrained(
self.hparams.pretrained_tokenizer
if self.hparams.pretrained_tokenizer
else self.hparams.pretrained_model
)
처음 모델을 train 시킬 때 모델, 토크나이저 그리고 hyper parameter를 초기화를 해주는 구간이다.
super().__init__()
self.save_hyperparameters() # 이 부분에서 self.hparams에 위 kwargs가 저장된다.
super class의 초기화 함수를 실행하고, kwargs를 통해 받아온 parameters를 초기화 시켜준다.
self.model = AutoModelForSequenceClassification.from_pretrained(self.hparams.pretrained_model, return_dict=True, num_labels=11)
현재 모델의 특성상 분류하는 라벨이 11개 이므로 num_labels=11로 설정한다. 그리고 리턴타입은 dictionary로 해준다.(forward에서 편하다) 이외에 필요한 parameter를 넘겨준다.
모델 파인튜닝에 필요한 매게변수는 여기서 참고가 가능하다. from_pretrained 문서에는 존재하지 않는다.