Autoencoder自定义数据集张量流2.3 ValueError:使用数据集作为输入时不支持y参数

问题描述

我正在尝试在Tensorflow 2.3中实现自动编码器。我将自己存储在磁盘上的图像数据集作为输入。有人可以向我解释如何以正确的方式完成此操作吗?

我尝试使用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,subset="validation",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)

'''

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)