keras model.evaluate() 不显示损失
keras model.evaluate() does not show loss
我在 keras
中创建了以下形式的神经网络:
from keras.layers import Dense, Activation, Input
from keras import Model
input_dim_v = 3
hidden_dims=[100, 100, 100]
inputs = Input(shape=(input_dim_v,))
net = inputs
for h_dim in hidden_dims:
net = Dense(h_dim)(net)
net = Activation("elu")(net)
outputs = Dense(self.output_dim_v)(net)
model_v = Model(inputs=inputs, outputs=outputs)
model_v.compile(optimizer='adam', loss='mean_squared_error', metrics=['mse'])
稍后,我使用 model_v.train_on_batch(X[i],y[i])
在单个示例上训练它。
为了测试神经网络是否正在成为更好的函数逼近器,我想根据累积的 X
和 y
评估模型(在我的例子中,X
和y
随时间增长)定期。但是,当我调用 model_v.evaluate(X, y)
时,只有特征进度条出现在控制台中,但既没有打印损失值,也没有打印 mse-metric(在本例中是相同的)。
我该如何更改?
evaluate()
方法的进度条中没有显示loss和metric值。相反,它们作为 evaluate()
方法的输出返回,因此您可以打印它们:
for i in n_iter:
# ... get the i-th batch or sample
# ... train the model using the `train_on_batch` method
# evaluate the model on whole or part of test data
loss_metric = model.evaluate(test_data, test_labels)
print(loss_metric)
According to the documentation,如果您的模型有多个输出 and/or 指标,您可以使用 model.metric_names
属性找出 loss_metric
中的值对应的内容。
我在 keras
中创建了以下形式的神经网络:
from keras.layers import Dense, Activation, Input
from keras import Model
input_dim_v = 3
hidden_dims=[100, 100, 100]
inputs = Input(shape=(input_dim_v,))
net = inputs
for h_dim in hidden_dims:
net = Dense(h_dim)(net)
net = Activation("elu")(net)
outputs = Dense(self.output_dim_v)(net)
model_v = Model(inputs=inputs, outputs=outputs)
model_v.compile(optimizer='adam', loss='mean_squared_error', metrics=['mse'])
稍后,我使用 model_v.train_on_batch(X[i],y[i])
在单个示例上训练它。
为了测试神经网络是否正在成为更好的函数逼近器,我想根据累积的 X
和 y
评估模型(在我的例子中,X
和y
随时间增长)定期。但是,当我调用 model_v.evaluate(X, y)
时,只有特征进度条出现在控制台中,但既没有打印损失值,也没有打印 mse-metric(在本例中是相同的)。
我该如何更改?
evaluate()
方法的进度条中没有显示loss和metric值。相反,它们作为 evaluate()
方法的输出返回,因此您可以打印它们:
for i in n_iter:
# ... get the i-th batch or sample
# ... train the model using the `train_on_batch` method
# evaluate the model on whole or part of test data
loss_metric = model.evaluate(test_data, test_labels)
print(loss_metric)
According to the documentation,如果您的模型有多个输出 and/or 指标,您可以使用 model.metric_names
属性找出 loss_metric
中的值对应的内容。