Как расклассифицировать свои массивы для обучения нейросети

У меня есть 54 файла, в них лежат вычисления, которые я проводил при динамических расчетах вагона. Эти 54 файла делятся на две половины 27 - это порожний вагон, еще 27 - груженый и в каждом из них, эти 27 файлов делятся на 3 группы по 9 файлов. Файлы формата csv я прочитал через Pandas, перевел в массивы через .values(). Получается, что у меня 54 отдельных массива (у всех размер (3194, 25)), а моя задача создать классы для 27 файлов порожнего и 27 груженого, чтобы как при использовании f.keras.utils.image_dataset_from_directory() файлы распределились по классам. Я создал просто обычные классы:

class X_train():
  def __init__(self,loaded_40km, loaded_60km, loaded_90km):
    self.loaded_40km = loaded_40km
    self.loaded_60km = loaded_60km
    self.loaded_90km = loaded_90km
  
  def loaded_40km(loaded_40km, x40_g_str, x40_g_r3,x40_g_r6,x40_plz05_str,x40_plz05_r3,x40_plz05_r6,x40_plz12_str,x40_plz12_r3,x40_plz12_r6):
    loaded_40km.x40_g_str = x40_g_str
    loaded_40km.x40_g_r3 = x40_g_r3
    loaded_40km.x40_g_r6 = x40_g_r6
    loaded_40km.x40_plz05_str = x40_plz05_str
    loaded_40km.x40_plz05_r3 = x40_plz05_r3
    loaded_40km.x40_plz05_r6 = x40_plz05_r6
    loaded_40km.x40_plz12_str = x40_plz12_str
    loaded_40km.x40_plz12_r3 = x40_plz12_r3
    loaded_40km.x40_plz12_r6 = x40_plz12_r6
  
  def loaded_60km(loaded_60km, x60_g_str, x60_g_r3,x60_g_r6,x60_plz05_str,x60_plz05_r3,x60_plz05_r6,x60_plz12_str,x60_plz12_r3,x60_plz12_r6):
    loaded_60km.x60_g_str = x60_g_str
    loaded_60km.x60_g_r3 = x60_g_r3
    loaded_60km.x60_g_r6 = x60_g_r6
    loaded_60km.x60_plz05_str = x60_plz05_str
    loaded_60km.x60_plz05_r3 = x60_plz05_r3
    loaded_60km.x60_plz05_r6 = x60_plz05_r6
    loaded_60km.x60_plz12_str = x60_plz12_str
    loaded_60km.x60_plz12_r3 = x60_plz12_r3
    loaded_60km.x60_plz12_r6 = x60_plz12_r6
  
  def loaded_90km (loaded_90km, x90_g_str, x90_g_r3,x90_g_r6,x90_plz05_str,x90_plz05_r3,x90_plz05_r6,x90_plz12_str,x90_plz12_r3,x90_plz12_r6):
    loaded_90km.x90_g_str = x90_g_str
    loaded_90km.x90_g_r3 = x90_g_r3
    loaded_90km.x90_g_r6 = x90_g_r6
    loaded_90km.x90_plz05_str = x90_plz05_str
    loaded_90km.x90_plz05_r3 = x90_plz05_r3
    loaded_90km.x90_plz05_r6 = x90_plz05_r6
    loaded_90km.x90_plz12_str = x90_plz12_str
    loaded_90km.x90_plz12_r3 = x90_plz12_r3
    loaded_90km.x90_plz12_r6 = x90_plz12_r6

По такой же аналогии сделал Y_train. После чего сделал архитектуру

model = Sequential()
model.add(Input(shape=(25,)))
model.add(Dense(1, input_shape=(25,), activation='softmax'))
model.add(Dense(128, activation='softmax'))
model.add(Dropout(0.2))
model.add(Dense(500, activation='softmax'))
model.add(Dropout(0.2))
model.add(Dense(500, activation='softmax'))
model.add(Dropout(0.2))
model.add(Dense(500, activation='softmax'))
model.add(Dropout(0.2))
model.add(Dense(500, activation='softmax'))
model.add(Dropout(0.2))
model.add(Dense(128, activation='softmax'))
model.add(Dropout(0.2))
model.add(Dense(25, activation='softmax'))
model.summary()
model.compile(loss='binary_crossentropy', 
              optimizer='rmsprop',
              metrics=['accuracy'])
history = model.fit(x=X_train, y=y_train, epochs=10)

И при выполнении model.fit() выдает ошибку: ValueError: Failed to find data adapter that can handle input: <class 'type'>, <class 'type'> Подскажите, пожалуйста как решить данный вопрос


Ответы (0 шт):