pytorch tensor .npy로 save & load
지난 포스팅에서 어떻게 tensor와 numpy로 확장자를 변환하는지에 대해 포스팅했었다. 이는 데이터끼리의 변환에 대한 이야기였다면 지금은 딥러닝 학습후 결과물을 어떻게 npy확장자로 어떻게 저장하며, npy확장자는 어떻게 불러오는지에 대해 알아보고자 한다.
텐서를 npy확장자로 저장하기까지의 흐름은 이러하다.
torch.tensor -> numpy.array ->np.save()
-
tensor -> numpy
#임의의 텐서를 만들어본다. size = (3,256,256)
A_tensor = torch.rand(3,256,256)
#변환(이때 tensor가 gpu에 할당되어있다면 numpy로 변환이 바로 안된다. 이에 관한 포스팅을 2022.1.10에 해두었으니 더 궁금하면 확인)
A_numpy = A_tensor.numpy()
-
numpy save
np.save('저장할위치',A_numpy)
이런 과정을 통해서 저장된 npy 파일을 불러오는 흐름은 이러하다
.npy -> numpy.array -> torch.tensor
-
npy load(numpy)
np_load = np.load('npy 파일의 위치')
-
numpy -> tensor
A_load_tensor = torch.from_numpy(np_load)
##원래 gpu에 할당되어있던 경우라면 .to(‘cuda’) 붙여준다.