为什么get_update()不是每个历元都执行?你知道吗
我的亚当:
@interfaces.legacy_get_updates_support
def get_updates(self, loss, params):
print("update!")
#Other code is the same
这就是编译和拟合
model.compile(optimizer=Adam(lr=2e-5),loss='binary_crossentropy',metrics=['acc'])
his = model.fit_generator(train_genertor,steps_per_epoch=100,epochs=2,validation_data=val_genertor,validation_steps=50)
输出:
update
Epoch 1/2
Epoch 2/2
为什么不是
update
Epoch 1/2
update
Epoch 2/2
人们忘记的一个重要细节是,TensorFlow的计算模型与普通的计算模型略有不同。在TensorFlow中,您构建一个操作图,然后使用会话对其进行求值,以提供一组实际输入以生成输出。你知道吗
这与普通代码不同,普通代码会反复调用函数。你知道吗
在任何优化器的
get_updates
的情况下,其思想是get_updates
构建运行优化器的一个步骤的操作,然后使用会话对优化器进行迭代计算,因此get_updates
只运行一次来构建计算图。你知道吗相关问题 更多 >
编程相关推荐