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

    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]])

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

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