前提・実現したいこと
フォルダ内の画像ファイル全体をnpzファイルで保存し、それをtensor化してみようとしました。
発生している問題・エラーメッセージ
--------------------------------------------------------------------------- TypeError Traceback (most recent call last) <ipython-input-18-6542e9320607> in <module> ----> 1 print(transform(data)) /usr/anaconda3.7/lib/python3.7/site-packages/torchvision/transforms/transforms.py in __call__(self, img) 59 def __call__(self, img): 60 for t in self.transforms: ---> 61 img = t(img) 62 return img 63 /usr/anaconda3.7/lib/python3.7/site-packages/torchvision/transforms/transforms.py in __call__(self, pic) 90 Tensor: Converted image. 91 """ ---> 92 return F.to_tensor(pic) 93 94 def __repr__(self): /usr/anaconda3.7/lib/python3.7/site-packages/torchvision/transforms/functional.py in to_tensor(pic) 48 """ 49 if not(_is_pil_image(pic) or _is_numpy_image(pic)): ---> 50 raise TypeError('pic should be PIL Image or ndarray. Got {}'.format(type(pic))) 51 52 if isinstance(pic, np.ndarray): TypeError: pic should be PIL Image or ndarray. Got <class 'numpy.lib.npyio.NpzFile'>
該当のソースコード
import glob import numpy as np from keras.preprocessing.image import load_img,img_to_array #image array size img_size = (224,224) #load images Folder dir_name = 'train_images' #File type file_type = 'jpg' #load images and image to array img_list = glob.glob('./' + dir_name + '/*.' + file_type) temp_img_array_list = [] for img in img_list: temp_img = load_img(img,grayscale=False,target_size=(img_size)) temp_img_array = img_to_array(temp_img) /255 temp_img_array_list.append(temp_img_array) temp_img_array_list = np.array(temp_img_array_list) #save np.array np.savez(dir_name+'.npz',temp_img_array_list)
data = np.load('train_images.npz') transform = transforms.Compose([transforms.ToTensor()]) print(transform(data))
npzファイルをtensor化することは可能でしょうか?
ご回答よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/02/11 04:20