【发布时间】:2020-04-06 18:09:15
【问题描述】:
我一直在尝试理解 Keras' Optimizer 类,并意识到有一个我不太理解的变量 - self.iterations。这是指:
- 已执行更新的单个样本的数量?
- 已执行更新的单个批次的数量? (这是我相信的)
- 已执行更新的总 epoch 数(即通过训练集的完整传递)?
【问题讨论】:
我一直在尝试理解 Keras' Optimizer 类,并意识到有一个我不太理解的变量 - self.iterations。这是指:
【问题讨论】:
是 2。
整个 keras 函数每批迭代一次。
一种测试方法是获取一小部分数据并训练一个 epoch:
#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))
【讨论】: