반응형
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를 넣어야 한다는 주의사항이 있다.
반응형
댓글