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

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

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

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

CNN (Convolutional Neural Network)

CNN (Convolutional Neural Network)は、全結合層のみではなく畳み込み層とプーリング層で構成されるニューラルネットワークです。画像認識において優れた性能を持ち、畳み込みニューラルネットワークとも呼ばれています。

Python 3.x

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

解決済

flow_from_directoryを用いて画像を読み込む方法

otatatatat
otatatatat

総合スコア1

Keras

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

CNN (Convolutional Neural Network)

CNN (Convolutional Neural Network)は、全結合層のみではなく畳み込み層とプーリング層で構成されるニューラルネットワークです。画像認識において優れた性能を持ち、畳み込みニューラルネットワークとも呼ばれています。

Python 3.x

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

1回答

0リアクション

0クリップ

323閲覧

投稿2022/10/06 02:40

編集2022/10/06 02:42

前提

Kerasの公式ブログを参考に、画像のノイズ除去のCNNを構築しようとしています。https://keras.io/examples/vision/autoencoder/
ブログではmnistから画像を読み込んでいるところを、ディレクトリから読み込むように変更したところ、以下のエラーが発生しました。

実現したいこと

ImageDataGenerator, flow_from_directoryを用いて画像をディレクトリから読み込みたい。

発生している問題・エラーメッセージ

Found 0 images belonging to 0 classes. Found 0 images belonging to 0 classes. Found 0 images belonging to 0 classes. Found 0 images belonging to 0 classes. 2022-10-06 11:36:48.762114: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'nvcuda.dll'; dlerror: nvcuda.dll not found 2022-10-06 11:36:48.769260: W tensorflow/stream_executor/cuda/cuda_driver.cc:263] failed call to cuInit: UNKNOWN ERROR (303) 2022-10-06 11:36:48.774327: I tensorflow/stream_executor/cuda/cuda_diagnostics.cc:169] retrieving CUDA diagnostic information for host: DESKTOP 2022-10-06 11:36:48.776891: I tensorflow/stream_executor/cuda/cuda_diagnostics.cc:176] hostname: DESKTOP- 2022-10-06 11:36:48.781744: I tensorflow/core/platform/cpu_feature_guard.cc:193] This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN) to use the following CPU instructions in performance-critical operations: AVX AVX2 To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags. Model: "model" _________________________________________________________________ Layer (type) Output Shape Param # ================================================================= input_1 (InputLayer) [(None, 1024, 1024, 1)] 0 _________________________________________________________________ conv2d (Conv2D) (None, 1024, 1024, 32) 320 _________________________________________________________________ max_pooling2d (MaxPooling2D) (None, 512, 512, 32) 0 _________________________________________________________________ conv2d_1 (Conv2D) (None, 512, 512, 32) 9248 _________________________________________________________________ max_pooling2d_1 (MaxPooling2 (None, 256, 256, 32) 0 _________________________________________________________________ conv2d_transpose (Conv2DTran (None, 512, 512, 32) 9248 _________________________________________________________________ conv2d_transpose_1 (Conv2DTr (None, 1024, 1024, 32) 9248 _________________________________________________________________ conv2d_2 (Conv2D) (None, 1024, 1024, 1) 289 ================================================================= Total params: 28,353 Trainable params: 28,353 Non-trainable params: 0 _________________________________________________________________ Traceback (most recent call last): File "c:\Users\a_\Desktop\Python\Keras\CNN_denoising.py", line 194, in <module> autoencoder.fit( File "C:\Users\a_\AppData\Local\Programs\Python\Python310\lib\site-packages\tensorflow\python\keras\engine\training.py", line 1137, in fit data_handler = data_adapter.get_data_handler( File "C:\Users\a_\AppData\Local\Programs\Python\Python310\lib\site-packages\tensorflow\python\keras\engine\data_adapter.py", line 1394, in get_data_handler return DataHandler(*args, **kwargs) File "C:\Users\a_\AppData\Local\Programs\Python\Python310\lib\site-packages\tensorflow\python\keras\engine\data_adapter.py", line 1149, in __init__ self._adapter = adapter_cls( File "C:\Users\a_\AppData\Local\Programs\Python\Python310\lib\site-packages\tensorflow\python\keras\engine\data_adapter.py", line 797, in __init__ raise ValueError("`y` argument is not supported when using " ValueError: `y` argument is not supported when using python generator as input.

該当のソースコード

Python

train_data_dir = "D:/python/Object"#ノイズなし訓練画像 img_height = 1024 img_width = 1024 batch_size = 32 train_datagen = ImageDataGenerator(rescale=1.0 / 255) train_data = train_datagen.flow_from_directory( directory = train_data_dir, target_size = (img_height, img_width), color_mode='grayscale', class_mode='input', batch_size=batch_size, shuffle=True ) noisy_train_data_dir = "D:/python/Result"#ノイズあり訓練画像 noisy_train_datagen = ImageDataGenerator(rescale=1.0 / 255) noisy_train_data = noisy_train_datagen.flow_from_directory( directory = noisy_train_data_dir, target_size = (img_height, img_width), color_mode='grayscale', class_mode='input', batch_size=batch_size, shuffle=True ) test_data_dir = "D:/python/Object"#ノイズなしテスト画像 test_datagen = ImageDataGenerator(rescale=1.0 / 255) test_data = test_datagen.flow_from_directory( directory = test_data_dir, target_size = (img_height, img_width), color_mode='grayscale', class_mode='input', batch_size=batch_size, shuffle=True ) noisy_test_data_dir = "D:/python/Result"#ノイズありテスト画像 noisy_test_datagen = ImageDataGenerator(rescale=1.0 / 255) noisy_test_data = noisy_test_datagen.flow_from_directory( directory = noisy_test_data_dir, target_size = (img_height, img_width), color_mode='grayscale', class_mode='input', batch_size=batch_size, shuffle=True ) autoencoder.fit( train_data, train_data, epochs=50, batch_size=128, shuffle=True, validation_data=(test_data, test_data), )

試したこと

ImageDataGeneratorを用いず、リストに画像を読み込ませる方法では正常に動いているようです。
引数class_mode を Noneやbinaryなどに変更してみたが同様のエラーがでました。

補足情報(FW/ツールのバージョンなど)

windows10 pro
Python 3.10.4
tensorflow 2.10.0

以下のような質問にはリアクションをつけましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

リアクションが多い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
86.12%

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

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

質問する

関連した質問

同じタグがついた質問を見る

Keras

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

CNN (Convolutional Neural Network)

CNN (Convolutional Neural Network)は、全結合層のみではなく畳み込み層とプーリング層で構成されるニューラルネットワークです。画像認識において優れた性能を持ち、畳み込みニューラルネットワークとも呼ばれています。

Python 3.x

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