1

Tensorflow 2.3 で Autoencoder を実装しようとしています。ディスクに保存されている独自の画像データセットを入力として使用しています。これを正しい方法で行う方法を誰かに説明してもらえますか?

tf.keras.preprocessing.image_dataset_from_directory() を使用してディレクトリにデータをロードしようとしましたが、上記のメソッドから取得したデータでトレーニングを開始すると、次のエラーが発生します。

「ValueError: データセットを入力として使用する場合、y 引数はサポートされていません。」

PFB 実行中のコード

'''

import tensorflow as tf
from convautoencoder import ConvAutoencoder
from tensorflow.keras.optimizers import Adam
import matplotlib.pyplot as plt
import numpy as np

EPOCHS = 25
batch_size = 1
img_height = 180
img_width = 180
data_dir = "/media/aniruddha/FE47-91B8/Laptop_Backup/Auto-Encoders/Basic/data"

train_ds = tf.keras.preprocessing.image_dataset_from_directory(
  data_dir,
  validation_split=0.2,
  subset="training",
  seed=123,
  image_size=(img_height, img_width),
  batch_size=batch_size)

val_ds = tf.keras.preprocessing.image_dataset_from_directory(
  data_dir,
  validation_split=0.2,
  subset="validation",
  seed=123,
  image_size=(img_height, img_width),
  batch_size=batch_size)

(encoder, decoder, autoencoder) = ConvAutoencoder.build(224, 224, 3)
opt = Adam(lr=1e-3)
autoencoder.compile(loss="mse", optimizer=opt)

H = autoencoder.fit(    train_ds, train_ds, validation_data=(val_ds, val_ds),   epochs=EPOCHS, batch_size=batch_size)

'''

4

2 に答える 2