torch.Tensor와 torch.tensor의 차이.

torch.Tensor

# torch.Tensor은 Tensor 객체를 받으면 메모리 주소값을 복사해 온다.

original_data = torch.Tensor([1])
new_data = torch.Tensor(original_data)
print(f"original : {original_data} new : {new_data}")

# original data를 수정
original_data[0] = 2
print(f"original : {original_data} new : {new_data}")

>>> original : tensor([1.]) new : tensor([1.])
    original : tensor([2.]) new : tensor([2.])
# torch.Tensor은 list나 numpy를 받으면 값을 복사해온다

original_data = [1]
new_data = torch.Tensor(original_data)
print(f"original : {original_data} new : {new_data}")

# original data를 수정하자
original_data[0] = 2
print(f"original : {original_data} new : {new_data}")

>>>> original : [1] new : tensor([1.])
     original : [2] new : tensor([1.])

torch.tensor

# torch.torch의 경우 값을 복사해 Tensor 생성

original_data = torch.tensor([1])
new_data = torch.tensor(original_data)
print(f"original : {original_data} new : {new_data}")

# data를 수정하자
original_data[0] = 2
print(f"original : {original_data} new : {new_data}")

>>> original : tensor([1]) new : tensor([1])
    original : tensor([2]) new : tensor([1])

torch.Tensor와 torch.tensor의 차이