質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Keras

Kerasは、TheanoやTensorFlow/CNTK対応のラッパーライブラリです。DeepLearningの数学的部分を短いコードでネットワークとして表現することが可能。DeepLearningの最新手法を迅速に試すことができます。

PyTorch

PyTorchは、オープンソースのPython向けの機械学習ライブラリ。Facebookの人工知能研究グループが開発を主導しています。強力なGPUサポートを備えたテンソル計算、テープベースの自動微分による柔軟なニューラルネットワークの記述が可能です。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

1回答

2498閲覧

npzファイルをtensor化できるのか

shu214

総合スコア18

Keras

Kerasは、TheanoやTensorFlow/CNTK対応のラッパーライブラリです。DeepLearningの数学的部分を短いコードでネットワークとして表現することが可能。DeepLearningの最新手法を迅速に試すことができます。

PyTorch

PyTorchは、オープンソースのPython向けの機械学習ライブラリ。Facebookの人工知能研究グループが開発を主導しています。強力なGPUサポートを備えたテンソル計算、テープベースの自動微分による柔軟なニューラルネットワークの記述が可能です。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2020/02/10 17:52

前提・実現したいこと

フォルダ内の画像ファイル全体を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化することは可能でしょうか?
ご回答よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

npz ファイルを保存するときに、np.savez("x.npz", 名前=numpy配列) のように名前をつけて、
data = np.load("x.npz") で読み込んだあとに、data[名前] とアクセスすると、保存したときの numpy 配列が得られます。

python

1import numpy as np 2import torch 3 4x = np.array([1, 2, 3]) 5np.savez("x.npz", x=x) 6 7data = np.load("x.npz") 8print(data["x"]) # [1 2 3] 9 10x = torch.from_numpy(data["x"]) 11print(x) # tensor([1, 2, 3])

投稿2020/02/10 21:26

tiitoi

総合スコア21956

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

shu214

2020/02/11 04:20

ご教授ありがとうございます。 できました!! tensor([[[[0.7608, 0.7647, 0.7451], [0.7451, 0.7490, 0.7255], [0.7529, 0.7412, 0.7216], ..., [0.7373, 0.7412, 0.7216], [0.7490, 0.7529, 0.7333], [0.7451, 0.7490, 0.7176]], [[0.7608, 0.7569, 0.7373], [0.7333, 0.7373, 0.7176], [0.7373, 0.7529, 0.7490], ...,
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問