다음은 최종 토큰의 형태를 출력한 결과입니다.
형태는: 33 x 768
이제 전체 문장에 대한 단일 벡터를 구해야 합니다. 간단하게 768 길이의 벡터를 생성하는 각 토큰의 두 번째에서 마지막 은닉 계층을 평균화하면 쉽게 구할 수 있습니다.
코드 10-66 문장 벡터
token_vecs = hidden_states[-2][0] ------ ①
sentence_embedding = torch.mean(token_vecs, dim=0)
print("최종 임베딩 벡터의 형태:", sentence_embedding.size())
① 은닉 상태(hidden_states)의 형태는 [13 x 1 x 33 x 768]입니다. 또한, ‘token_vecs’의 텐서 형태는 [33 x 768]이 됩니다.
다음은 최종 임베딩에 대한 벡터 형태를 출력한 결과입니다.
최종 임베딩 벡터의 형태: torch.Size([768])
tokenized_text에서 토큰들을 꺼내서 인덱스와 함께 출력하도록 합니다.
코드 10-67 토큰과 인덱스 출력
for i, token_str in enumerate(tokenized_text):
print(i, token_str)