Вам не нужен специальный метод fit_generator.Просто пользовательский оптимизатор.Оптимизатор определяет операции обновления веса.Таким образом, вы можете определить собственный оптимизатор, который будет реализовывать стратегию, аналогичную sgd или Adam после подрезания весов.
Ключ в том, чтобы определить класс, который происходит от keras.optimizers.Optimizer
и реализует метод get_updates
.Этот метод определяет способ обновления весов града.В вашей версии вы можете обрезать градиенты.
Я могу указать вам пример кода: я написал собственный оптимизатор, который позволяет использовать оптимизаторы SciPy вместо sgd (https://github.com/pedro-r-marques/keras-opt). Это простонесколько строк кода, поэтому целесообразно использовать в качестве примера.