Ошибка значения: Фигуры (Нет, Нет) и (Нет, 224, 244, Нет) несовместимы

#python #image-processing #keras #data-augmentation

Вопрос:

Я пытаюсь обучить модель, которая выполняет увеличение данных, после чего я сохраню дополненные изображения на своем диске: я загрузил изображения с помощью ImageDataGenerator и flow_from_directory

 def my_preprocessing_func(img):
    image = np.array(img)
    return image / 255

datagen=ImageDataGenerator(rotation_range=90,preprocessing_function=my_preprocessing_func)
dataset=datagen.flow_from_directory(directory=data_path,target_size=(224,224),batch_size=2)


model=Sequential([
    preprocessing.Resizing(224,244),
    preprocessing.RandomRotation(0.3)
])

 model.compile(optimizer=Adam(learning_rate=0.005),loss=categorical_crossentropy,metrics=['accuracy'])
 

Я получаю ошибку при обучении модели

 model.fit_generator(dataset)



ValueError: in user code:

C:UsersMedRiAppDataRoamingPythonPython38site-packagestensorflowpythonkerasenginetraining.py:855 train_function  *
    return step_function(self, iterator)
C:UsersMedRiAppDataRoamingPythonPython38site-packagestensorflowpythonkerasenginetraining.py:845 step_function  **
    outputs = model.distribute_strategy.run(run_step, args=(data,))
C:UsersMedRiAppDataRoamingPythonPython38site-packagestensorflowpythondistributedistribute_lib.py:1285 run
    return self._extended.call_for_each_replica(fn, args=args, kwargs=kwargs)
C:UsersMedRiAppDataRoamingPythonPython38site-packagestensorflowpythondistributedistribute_lib.py:2833 call_for_each_replica
    return self._call_for_each_replica(fn, args, kwargs)
C:UsersMedRiAppDataRoamingPythonPython38site-packagestensorflowpythondistributedistribute_lib.py:3608 _call_for_each_replica
    return fn(*args, **kwargs)
C:UsersMedRiAppDataRoamingPythonPython38site-packagestensorflowpythonkerasenginetraining.py:838 run_step  **
    outputs = model.train_step(data)
C:UsersMedRiAppDataRoamingPythonPython38site-packagestensorflowpythonkerasenginetraining.py:796 train_step
    loss = self.compiled_loss(
C:UsersMedRiAppDataRoamingPythonPython38site-packagestensorflowpythonkerasenginecompile_utils.py:204 __call__
    loss_value = loss_obj(y_t, y_p, sample_weight=sw)
C:UsersMedRiAppDataRoamingPythonPython38site-packagestensorflowpythonkeraslosses.py:155 __call__
    losses = call_fn(y_true, y_pred)
C:UsersMedRiAppDataRoamingPythonPython38site-packagestensorflowpythonkeraslosses.py:259 call  **
    return ag_fn(y_true, y_pred, **self._fn_kwargs)
C:UsersMedRiAppDataRoamingPythonPython38site-packagestensorflowpythonutildispatch.py:206 wrapper
    return target(*args, **kwargs)
C:UsersMedRiAppDataRoamingPythonPython38site-packagestensorflowpythonkeraslosses.py:1643 categorical_crossentropy
    return backend.categorical_crossentropy(
C:UsersMedRiAppDataRoamingPythonPython38site-packagestensorflowpythonutildispatch.py:206 wrapper
    return target(*args, **kwargs)
C:UsersMedRiAppDataRoamingPythonPython38site-packagestensorflowpythonkerasbackend.py:4862 categorical_crossentropy
    target.shape.assert_is_compatible_with(output.shape)
C:UsersMedRiAppDataRoamingPythonPython38site-packagestensorflowpythonframeworktensor_shape.py:1161 assert_is_compatible_with
    raise ValueError("Shapes %s and %s are incompatible" % (self, other))

ValueError: Shapes (None, None) and (None, 224, 244, None) are incompatible