본문 바로가기
python

pytorch tensor.new, 파이토치 tensor.new new_zeros(), new_ones(), new_full()

by 타닥타닥 토다토닥 부부 2023. 5. 18.
반응형

pytorch tensor.new, 파이토치  tensor.new new_zeros()new_ones()new_full()

설명
tensor.new()는 PyTorch에서 주어진 tensor의 속성(데이터 타입, 디바이스 등)을 그대로 유지하면서 새로운 tensor를 생성하는 데 사용되는 메서드입니다. 

 

new() 사용예시

import torch

# 기존 tensor 생성
original_tensor = torch.tensor([[1, 2], [3, 4]], dtype=torch.float32, device='cpu')

# new()를 사용하여 기존 tensor와 동일한 속성을 가진 새로운 tensor 생성
new_tensor = original_tensor.new(2, 2)
print(new_tensor)

# out : tensor([[ 5.6052e-45,  8.5899e+09],
#               [-4.3220e+29,  2.8629e-42]])

 

[참고] new_zeros()new_ones()new_full() 사용
new_zeros()new_ones()new_full() 함수를 이용하면 new 매서드와 똑같이 속성을 유지하지만, 지정된 tensor를 만들 수 있습니다.

 

new_zeros() 사용예시

new_zeros_tensor = original_tensor.new_zeros(2, 2)
print(new_zeros_tensor)

# out : tensor([[0., 0.],
#               [0., 0.]])

 

new_ones() 사용예시

new_ones_tensor = original_tensor.new_ones(2, 2)
print(new_ones_tensor)

# out : tensor([[1., 1.],
#               [1., 1.]])

 

new_full() 사용예시

new_full_tensor = original_tensor.new_full((2, 2), fill_value=7.0)
print(new_full_tensor)

# out : tensor([[7., 7.],
#.             [7., 7.]])
반응형

댓글