Я не думаю, что есть встроенный способ сделать это. Однако один из альтернативных способов заключается в том, чтобы поместить генератор в другой генератор и изменить в нем метки (для демонстрации здесь я предположил, что изначально у нас есть четыре класса, и мы хотим, чтобы классы один и два считались новыми первый класс и третий и четвертый классы рассматриваются как новый второй класс):
# define the generator
datagen = ImageDataGenerator(...)
# assign class_mode to 'sparse' to make our work easier
gen = datagen.flow_from_directory(..., class_mode= 'sparse')
# define a mapping from old classes to new classes (i.e. 0,1 -> 0 and 2,3 -> 1)
old_to_new = np.array([0, 0, 1, 1])
# the wrapping generator
def new_gen(gen):
for data, labels in gen:
labels = old_to_new[labels]
# now you can call np_utils.to_categorical method
# if you would like one-hot encoded labels
yield data, labels
# ... define your model
# fit the model
model.fit(new_gen(gen), ...)