python-3.x - Keras 模型输出信息/日志级别

标签 python-3.x keras

我正在使用 Keras 构建神经网络模型:

model_keras = Sequential()
model_keras.add(Dense(4, input_dim=input_num, activation='relu',kernel_regularizer=regularizers.l2(0.01)))
model_keras.add(Dense(1, activation='linear',kernel_regularizer=regularizers.l2(0.01)))
sgd = optimizers.SGD(lr=0.01, clipnorm=0.5)
model_keras.compile(loss='mean_squared_error',  optimizer=sgd)
model_keras.fit(X_norm_train, y_norm_train, batch_size=20, epochs=100)

输出如下所示。我想知道是否有可能消除损失,比如每 10 个时代而不是每个时代?谢谢!
Epoch 1/200
20/20 [==============================] - 0s - loss: 0.2661
Epoch 2/200
20/20 [==============================] - 0s - loss: 0.2625
Epoch 3/200
20/20 [==============================] - 0s - loss: 0.2590
Epoch 4/200
20/20 [==============================] - 0s - loss: 0.2556
Epoch 5/200
20/20 [==============================] - 0s - loss: 0.2523
Epoch 6/200
20/20 [==============================] - 0s - loss: 0.2490
Epoch 7/200
20/20 [==============================] - 0s - loss: 0.2458
Epoch 8/200
20/20 [==============================] - 0s - loss: 0.2427
Epoch 9/200
20/20 [==============================] - 0s - loss: 0.2397
Epoch 10/200
20/20 [==============================] - 0s - loss: 0.2367
Epoch 11/200
20/20 [==============================] - 0s - loss: 0.2338
Epoch 12/200
20/20 [==============================] - 0s - loss: 0.2309
Epoch 13/200
20/20 [==============================] - 0s - loss: 0.2281
Epoch 14/200
20/20 [==============================] - 0s - loss: 0.2254
Epoch 15/200
20/20 [==============================] - 0s - loss: 0.2228
   :

最佳答案

无法降低记录到标准输出的频率,但是,通过 verbose=0论据 fit()方法将完全关闭日志记录。

由于循环周期未在 Keras 的顺序模型中公开,因此收集具有自定义频率的标量变量摘要的一种方法是使用 Keras callbacks .特别是,您可以使用 TensorBoard (假设您使用 tensorflow 后端运行)或 CSVLogger (任何后端)回调以收集任何标量变量摘要(训练损失,在您的情况下):

from keras.callbacks import TensorBoard

model_keras = Sequential()
model_keras.add(Dense(4, input_dim=input_num, activation='relu',kernel_regularizer=regularizers.l2(0.01)))
model_keras.add(Dense(1, activation='linear',kernel_regularizer=regularizers.l2(0.01)))
sgd = optimizers.SGD(lr=0.01, clipnorm=0.5)
model_keras.compile(loss='mean_squared_error',  optimizer=sgd)

TB = TensorBoard(histogram_freq=10, batch_size=20)

model_keras.fit(X_norm_train, y_norm_train, batch_size=20, epochs=100, callbacks=[TB])

设置 histogram_freq=10将每 10 个 epoch 节省一次损失。

编辑:通过 validation_data=(...)fit方法还将允许检查验证级别指标。

关于python-3.x - Keras 模型输出信息/日志级别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46475934/

相关文章:

python - 如何在 tensorflow 自定义训练循环中考虑 l1 和 l2 正则化器?

tensorflow - 尝试使用 'tensorflow.keras.applications' 导入和预测时 VScode 内核崩溃

python - 无法使用keras.load_model保存/加载模型-IndexError : list index out of range

python-3.x - python 3.6 *记录模块错误* UnicodeEncodeError : 'charmap' codec can't encode characters

python - 'from dot import asterisk' 在 Python 3 中有什么作用?

python - OpenCV + 健身房复古 : Invalid number of channels in input image

python - 使用 - 和 * 创建树输出

tensorflow - 神经网络框架和 RL 算法库有什么区别?

python - 带有 Tensorflow 后端的 Keras 是否可以随意强制使用 CPU 或 GPU?

python - 如何删除动态生成的复选框?