이제 앞에서 토큰화 처리했던 데이터를 버트 모델에 적용하여 훈련시킵니다.
코드 10-58 모델 훈련
with torch.no_grad(): ------ 모델을 평가할 때는 기울기를 계산하지 않습니다.
outputs = model(tokens_tensor, segments_tensors)
hidden_states = outputs[2] ------ 네트워크의 은닉 상태를 가져옵니다.
은닉 상태에 대한 정보는 다음과 같습니다.
코드 10-59 모델의 은닉 상태 정보 확인
print("계층 개수:", len(hidden_states), " (initial embeddings + 12 BERT layers)")
layer_i = 0
print("배치 개수:", len(hidden_states[layer_i]))
batch_i = 0
print("토큰 개수:", len(hidden_states[layer_i][batch_i]))
token_i = 0
print("은닉층의 유닛 개수:", len(hidden_states[layer_i][batch_i][token_i]))
다음은 은닉 상태에 대한 상세 정보입니다.
계층 개수: 13 (initial embeddings + 12 BERT layers) 배치 개수: 1 토큰 개수: 33 은닉층의 유닛 개수: 768