self.iterations 在 Keras 的优化器 class 中指的是什么

What does self.iterations refer to in Keras' Optimizer class

我一直在努力理解 Keras' Optimizer class,并意识到有一个变量我不太理解 - self.iterations。这是指:

  1. 已执行更新的单个样本的数量?
  2. 已执行更新的单个批次的数量? (这就是我所相信的)
  3. 执行更新的总时期数(即通过训练集的完整传递)?

是2。

整个keras函数每批迭代一次。

一种测试方法是获取一小部分数据并训练一个时期:

#get 3 batches of size 32 from the data
small_X = X_train[:3*32]
small_Y = Y_train[:3*32]

#print the initial value of iterations
print(keras.backend.eval(model.optimizer.iterations))

#train for 1 epoch with batch size 32
model.fit(small_X, small_Y, epochs=1, batch_size=32, verbose=0)

#see the new value of iterations
print(keras.backend.eval(model.optimizer.iterations))