본문 바로가기

머신러닝공부

PyTorch - numpy를 활용하기 간단 정리 Colab

728x90
반응형

torch <-> numpy
Torch Tensor(
텐서) Numpy array(배열)로 변환 가능
numpy()
from_numpy()
Tensor
 CPU상에 있다면 Numpy배열은 메모리 공간을 공유하므로 하나가 변하면, 다른 하나도 변함

import torch
a = torch.ones(7) # 7
개의 1 텐서 print(a)

     tensor([1., 1., 1., 1., 1., 1., 1.])

import numpy
b = a.numpy() # numpy 
형태의 배열 print(b)

     [1. 1. 1. 1. 1. 1. 1.]

a.add_(1) # a의 값에 1을 더함

print(a)

print(b) # Tensor CPU상에 있다면 numpy와 메모리 공간을 공유하므로 둘다 변함 print(b) # Tensor CPU상에 있다면 numpy와 메모리 공간을 공유하므로 둘다 변함

     tensor([2., 2., 2., 2., 2., 2., 2.])
     [2. 2. 2. 2. 2. 2. 2.]
import numpy as np
a = np.ones(7)
b = torch.from_numpy(a)

np.add(a, 1, out=a) # a 1을 더한후 a에 저장 np.add(a, 1, out=a) # a 1을 더한후 a에 저장

print(a)
print(b)
     [2. 2. 2. 2. 2. 2. 2.]
     tensor([2., 2., 2., 2., 2., 2., 2.], dtype=torch.float64)
반응형