티스토리 뷰

반응형

Pytorch Tensor 자료형을 .npy 로 저장하고, 불러오고, Tensor로 다시 변형하는 아래 과정을 모두 알아보자.

 

Tensor -> numpy array -> np.save() -> .npy 파일 -> np.load() -> numpy array -> Tensor

 

 

- Tensor를 numpy로 변형

        # (3, 50, 50) 크기의 랜덤으로 초기화된 텐서 배열을 생성

        a = torch.randn(3, 50, 50)  ## a == torch.Size([3, 50, 50])

        # Tensor -> numpy

        a_np = a.numpy()

 

    - 여기서 Tensor의 device type이 'cuda'라면 'cpu'로 바꿔주는 과정이 필요하다

        b = torch.randn(3, 50, 50).to('cuda')  ## b == torch.Size([3, 50, 50])

        # Tesnor -> numpy

        b_np = b.cpu().numpy()

 

 

- .npy 파일로 로컬에 저장

        # numpy 배열 'b'를 경로 '/data/npyfile.npy'로 저장

        np.save('/data/npy_file', b)

 

 

- .npy 파일 불러오기

        # np_load.shape == (3, 50, 50)

        np_load = np.load('/data/npy_file.npy')

 

 

- numpy Array -> Tensor

        # device type이 'cuda'인 tensor 완성

        result = torch.from_numpy(np_load).to('cuda')

반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함