можно написать свою функцию шага обучения, а все остальные задачи переложить на фреймворк.
Для этого достаточно переопределить метод train_step() класса Model, который вызывается функцией fit() для обработки каждого пакета данных, и использовать fit() как обычно, а функция будет запускать ваш алгоритм обучения.
Глубокое обучение на Python. 2-е межд. издание
·
Франсуа Шолле