더북(TheBook)

최종적인 텐서의 형태는 다음과 같습니다.

torch.Size([13, 1, 33, 768])

최종 텐서에서 불필요한 ‘배치’ 차원을 제거합니다.

코드 10-62 텐서의 형태 변경

token_embeddings = torch.squeeze(token_embeddings, dim=1) ------ 배치 차원(1) 제거
token_embeddings.size() ------ 배치 차원 제거 후 최종 텐서의 형태를 출력

다음은 배치 차원이 제거된 텐서의 최종 형태를 출력한 결과입니다.

torch.Size([13, 33, 768])

마지막으로 permute를 사용하여 ‘계층 개수’와 ‘토큰 개수’에 대한 차원의 위치를 바꾸어 줍니다.

코드 10-63 텐서 차원 변경

token_embeddings = token_embeddings.permute(1, 0, 2) ------ ①
token_embeddings.size()

permutetranspose와 유사하게 차원을 맞교환할 때 사용합니다. 구체적인 사용 방법은 다음과 같습니다.

import torch
x = torch.rand(2, 3, 3) ------ 임의의 값을 갖는 텐서 생성
y = x.permute(2, 1, 0)
print(x)
print(y)
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.