본문 바로가기
카테고리 없음

[pytorch, 파이토치] torch.ones_like, 같은 사이즈의 1로 구성된 텐서 만들기

by 최신 마트 정보 2024. 9. 18.
반응형
print(ones.size()) #torch.Size([3, 2, 4])
print(tensor.size()) #torch.Size([3, 2, 4])

어떤 텐서와 같은 size를 갖으면서 구성요소가 모두 1인 텐서를 만들때는 torch.ones_like를 사용하면 됩니다. 이번 글에서는 torch.ones_like 사용법과 사용 예시에 대해 알아보겠습니다.

torch.nn.DataParallel을 일반 모델로 전환하기

[python] itertools.product 으로 조합 만들기

[python] 파이썬으로 난수, 랜덤넘버 생성하기 random.random() 함수 사용법

 

목차

     

    torch.ones_like 사용법

    A #파이토치 텐서가 있다.
    B = torch.ones_like(A) # A와 사이즈가 같은 1로 구성된 텐서

    사용법은 쉽다. 위와 같이 어떤 torch tensor A가 있다고 하자. torch.ones_like에 A를 입력으로 넣으면 된다. 예시를 보는 것이 제일 빠를 것이다.

    torch.ones_like 사용 예시 및 주의 사항

    import torch
    tensor = torch.randn((3,2,4))
    print(tensor.size())
    #torch.Size([3, 2, 4])

     

    위와 같이 torch를 import한다.

    특정 size를 갖는 tensor를 정의해본다.

    tensor의 size는 [3,2,4]가 나온다.

    이제 ones_like를 사용하자.

    ones = torch.ones_like(tensor)
    print(ones)
    # tensor([[[1., 1., 1., 1.],
             [1., 1., 1., 1.]],
    
            [[1., 1., 1., 1.],
             [1., 1., 1., 1.]],
    
            [[1., 1., 1., 1.],
             [1., 1., 1., 1.]]])

     

    torch.ones_like함수에 입력을 tensor로 넣자.

    그러면 tensor와 크기가 같고 구성요소가 1인 텐서가 나온다.

    ones = torch.ones_like(tensor.size())
    #TypeError: ones_like(): argument 'input' (position 1) must be Tensor, not torch.Size

    torch.ones_like에 size를 넣으면 안되고 tensor를 넣어야 한다는 주의사항이 있다.

    반응형

    댓글