더북(TheBook)

텐서의 차원을 조작하는 코드는 다음과 같습니다.

temp = torch.tensor([
    [1, 2], [3, 4]]) ------ 2×2 행렬 생성

print(temp.shape)
print('------------------------')
print(temp.view(4, 1)) ------ 2×2 행렬을 4×1로 변형
print('------------------------')
print(temp.view(-1)) ------ 2×2 행렬을 1차원 벡터로 변형
print('------------------------')
print(temp.view(1, -1)) ------ -1은 (1, ?)와 같은 의미로 다른 차원으로부터 해당 값을 유추하겠다는 것입니다. temp의 원소 개수(2×2=4)를 유지한 채 (1, ?)의 형태를 만족해야 하므로 (1, 4)가 됩니다.
print('------------------------')
print(temp.view(-1, 1)) ------ 앞에서와 마찬가지로 (?, 1)의 의미로 temp의 원소 개수(2×2=4)를 유지한 채 (?, 1)의 형태를 만족해야 하므로 (4, 1)이 됩니다.

다음은 텐서의 차원을 조작한 결과입니다.

torch.Size([2, 2])
------------------------
tensor([[1],
        [2],
        [3],
        [4]])
------------------------
tensor([1, 2, 3, 4])
------------------------
tensor([[1, 2, 3, 4]])
------------------------
tensor([[1],
        [2],
        [3],
        [4]])

텐서의 사용에 대해 알아보았으므로 이제 구체적으로 데이터를 준비하고 신경망을 구축하는 단계로 넘어가겠습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.