Моя модель ожидает получения двух входных массивов при прогнозировании.(значение, метка)
train_model = models.Model(inputs=[x, y], outputs=[out_seg, shared_decoder(masked_by_y, conv_cap_2_1, x )]) # [x:image,y: mask] // [out_seg:length, reconstruction output]
Итак, я создал следующий класс, используя Sequence.
class No_decoder_sequence(keras.utils.Sequence):
def __init__(self, x_set, y_set, batch_size):
self.x, self.y = x_set, y_set
self.batch_size = batch_size
def __len__(self):
return int(np.ceil(len(self.x) / float(self.batch_size)))
def __getitem__(self, idx):
batch_x = self.x[idx * self.batch_size:(idx + 1) * self.batch_size]
batch_x = np.expand_dims(batch_x ,-1)
batch_y = self.y[idx * self.batch_size:(idx + 1) * self.batch_size]
return np.array(batch_x), np.array(batch_y)
Однако возникает ошибка, когда я пытаюсь использовать класс для прогнозирования следующим образом:
no_decoder_generator_1 = No_decoder_sequence(X_val_1, y_val_1, batch_size=1)
y_predict_1, x_predict_1 = model.predict_generator(generator=no_decoder_generator_1, steps=len(X_val_1))
y_predict_1 = np.asarray(y_predict_1)
x_predict_1 = np.asarray(x_predict_1)
ValueError: Ошибка при проверке ввода модели: список массивов Numpy, передаваемых в вашу модель, не соответствует размеру, ожидаемому моделью.Ожидается увидеть 2 массива (ов), но вместо этого получен следующий список из 1 массива: [массив ([[[[0.9287956],.
) Почему мой No_decoder_sequence
возвращает только одно значение массива?

А как проверить, возвращает ли последовательность значений класса?