gpt4 book ai didi

python - Tensorboard 损失图可以追溯到过去 (Keras)

转载 作者:行者123 更新时间:2023-12-05 07:29:28 25 4
gpt4 key购买 nike

我遇到了与描述的问题类似的问题 here ,只有我使用带有 Tensorflow 后端的 Keras 而不是 Tensorflow。我用不同的元参数训练了 18 个用于时间序列预测的 MLP 模型,所有模型都使用相同的基本架构创建。我正在扫描的 3 个元参数是模型用于预测的前瞻性、模型的深度以及我是否正在使用 L2 正则化。

    model = Sequential()
# input_shape should be a 3D tensor with shape (batch_size, timesteps ,input_dim)
model.add(Flatten())
# hidden layer sizes should drop gradually from 256 to 2*lookahead
hidden_layer_sizes = [int(256 - i * (256 - 2 * lookahead) / depth) for i in range(depth)]
for hidden_layer_size in hidden_layer_sizes:
if regularization:
model.add(Dense(hidden_layer_size, kernel_initializer="he_normal",
kernel_regularizer = regularizers.l2(0.01), activation=activations))
else:
model.add(Dense(hidden_layer_size, kernel_initializer="he_normal",
activation=activations))
model.add(Dense(2 * lookahead))
loss = losses.mean_squared_error
model.compile(loss=loss, optimizer=self.kwargs["optimizer"], metrics=['mae'])

每个模型的张量板数据通过相关的 Keras 回调保存在单独的文件夹中

callback_tensorboard = TensorBoard(log_dir=log_dir,
histogram_freq=5,
write_graph=False,
write_grads=True,
write_images=False)

但由于某种原因,18 个模型中有 3 个保存了两个 tensorboard 文件,而不是一个,生成的图表显示了这种随时间倒退的奇怪现象 enter image description here

为什么会这样?然后删除第二个张量板文件,我该怎么做才能防止这种情况发生?

最佳答案

发生这种情况是因为每次调用 mode.fit() 时都会重新初始化 keras 中的内部纪元计数器。但是,您可以在编译模型时手动设置它,例如:

model.compile(optimizer=tf.train.AdamOptimizer(),
loss=tf.losses.mean_squared_error)
init_epoch = 0

然后当 ypu 调用 fit 时,您可以将附加参数传递给 keras,它描述了当前纪元:

epoch_count = 200
init_epoch += epoch_count
history = model.fit(x_train, y_train,
batch_size=256,
epochs=init_epoch,
validation_data=(x_test, y_test),
verbose=1,
initial_epoch=init_epoch-epoch_count,
)

关于python - Tensorboard 损失图可以追溯到过去 (Keras),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52737412/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com