Самый простой способ объяснить это с помощью тривиального примера. Представьте, что у нас есть 4-битное целое число без знака. 0 будет 0000, а 1111 - 15. Поэтому, если вы увеличиваете 15 вместо 16, вы обмениваетесь назад до 0000, так как 16 на самом деле 10000, и мы не можем представить это с менее чем 5 бит. Переполнение Ergo ...
На практике числа намного больше и округляются до большого отрицательного числа при переполнении, если int подписан, но в основном это происходит.
Другое способ взглянуть на это - считать это в значительной степени тем же самым, что случается, когда одометр в вашем автомобиле снова обрушивается на ноль после удара 999999 км / миль.
Я использовал этот метод для решения этой проблемы, я не знаю, есть ли более простой способ.
class subclass(Model):
def __init__(self):
...
def call(self, x):
...
def model():
x = Input(shape=(24, 24, 3))
return Model(inputs=[x], outputs=self.call(x))
if __name__ == '__main__':
sub = subclass()
sub.model().summary()