Python `将`keras.utils.Sequence`用作输入时不支持y`参数。错误

Python `将`keras.utils.Sequence`用作输入时不支持y`参数。错误,python,tensorflow,machine-learning,keras,deep-learning,Python,Tensorflow,Machine Learning,Keras,Deep Learning,注意:垃圾/垃圾/包含图像 mpd.csv是一个csv文件,对应于垃圾/垃圾中的图像/ 这是输出- 文件“D:\python\u scripts\garbage\deep.py”,第54行,在 model.fit(x=x,y=y,epochs=500,verbose=1,回调=[earlyStopping],批处理大小=16) 文件“C:\Python38\lib\site packages\tensorflow\python\keras\engine\training.py”,第66行,在\u

注意:垃圾/垃圾/包含图像 mpd.csv是一个csv文件,对应于垃圾/垃圾中的图像/

这是输出-

文件“D:\python\u scripts\garbage\deep.py”,第54行,在
model.fit(x=x,y=y,epochs=500,verbose=1,回调=[earlyStopping],批处理大小=16)
文件“C:\Python38\lib\site packages\tensorflow\python\keras\engine\training.py”,第66行,在\u方法\u包装中
返回方法(self、*args、**kwargs)
文件“C:\Python38\lib\site packages\tensorflow\python\keras\engine\training.py”,第802行,在fit中
data\u handler=data\u adapter.DataHandler(
文件“C:\Python38\lib\site packages\tensorflow\python\keras\engine\data\u adapter.py”,第1100行,在\uuu init中__
self.\u adapter=适配器\u cls(
文件“C:\Python38\lib\site packages\tensorflow\python\keras\engine\data\u adapter.py”,第891行,在\uu init中__
raise VALUERROR('y'参数在使用时不受支持)
ValueError:'y'参数在使用'keras.utils.Sequence'作为输入时不受支持。

您使用的数据生成器返回图像及其标签,标签从目录名中提取。如果您具有以下目录结构

  • 资料
    • 甲烷
      • 图1.jpg
    • 塑料制品
      • 图像2.jpg
    • dsci
      • 图像3.jpg
模型将理解,图像1为甲烷类,图像2为塑料类,图像3为dsci类,因此无需通过标签。

如果没有该目录结构,则可能需要根据
tf.keras.utils.Sequence
类定义自己的生成器类。您可以阅读有关该类的更多信息您使用的数据生成器将返回图像及其标签,标签将从目录名中提取。如果您有以下目录结构乌尔

  • 资料
    • 甲烷
      • 图1.jpg
    • 塑料制品
      • 图像2.jpg
    • dsci
      • 图像3.jpg
模型将理解,图像1为甲烷类,图像2为塑料类,图像3为dsci类,因此无需通过标签。

如果你没有那种目录结构,那么你可能需要根据
tf.keras.utils.Sequence
类定义你自己的生成器类。你可以阅读更多关于这个类的内容

你觉得这篇文章有用吗?我的项目很成功很高兴听到这个消息,如果你能与你的朋友和网络分享,我将不胜感激。你找到这篇文章了吗有用吗?我的项目很成功很高兴听到这个消息,如果你能与你的朋友和网络分享,我将不胜感激
import pandas as pd
from sklearn.preprocessing import MinMaxScaler
import os
from tensorflow.keras.preprocessing.image import ImageDataGenerator
from tensorflow.keras.layers import Flatten, Dropout, Conv2D, MaxPool2D
from tensorflow.keras.layers import Dense
from tensorflow.keras.models import Sequential
from tensorflow.keras.callbacks import EarlyStopping

train_path = "D:\python_scripts\garbage/garbage/"
img_shape = (437, 694, 3)
df = pd.read_csv("mpd.csv")
scaler = MinMaxScaler()
earlyStopping = EarlyStopping(monitor="val_loss", mode="min", patience=2)

y = df[["methane", "plastic", "dsci"]].values

imgGen = ImageDataGenerator(rotation_range=(20), width_shift_range=(
    0.1), height_shift_range=(0.1), zoom_range=(0.2), shear_range=(0.1), fill_mode="nearest")
imgGen.flow_from_directory(train_path)
x = imgGen.flow_from_directory(train_path, class_mode=None,
                               color_mode="rgb", batch_size=16, target_size=(img_shape)[:0])

model = Sequential()

model.add(Conv2D(filters=128, kernel_size=(3, 3),
                 input_shape=img_shape, activation="relu"))
model.add(MaxPool2D(pool_size=(4, 4)))
model.add(Conv2D(filters=256, kernel_size=(3, 3),
                 input_shape=img_shape, activation="relu"))
model.add(MaxPool2D(pool_size=(4, 4)))
model.add(Conv2D(filters=512, kernel_size=(3, 3),
                 input_shape=img_shape, activation="relu"))
model.add(MaxPool2D(pool_size=(4, 4)))
model.add(Conv2D(filters=1024, kernel_size=(3, 3),
                 input_shape=img_shape, activation="relu"))
model.add(MaxPool2D(pool_size=(4, 4)))

model.add(Flatten())

model.add(Dense(128, activation="relu"))
model.add(Dropout(0.5))
model.add(Dense(256, activation="relu"))
model.add(Dropout(0.5))
model.add(Dense(512, activation="relu"))
model.add(Dropout(0.5))
model.add(Dense(1024, activation="relu"))
model.add(Dropout(0.5))

model.add(Dense(3))

model.compile(optimizer="adam", loss="mse", metrics=["accuracy"])

model.fit(x=x, y=y, epochs=500, verbose=1, callbacks=[earlyStopping])
model.save("deep.h5")