gpt4 book ai didi

python-3.x - 如何从 Chollet Deep Learning with Python 中解决 KeyError : 'val_mean_absolute_error' Keras 2. 3.1 和 TensorFlow 2.0

转载 作者:行者123 更新时间:2023-12-03 18:14:03 28 4
gpt4 key购买 nike

我在 Chollet 的书 Deep Learning with Python 的第 3.7 节。
该项目旨在找出 1970 年代波士顿特定郊区的房屋中位价。

https://github.com/fchollet/deep-learning-with-python-notebooks/blob/master/3.7-predicting-house-prices.ipynb

在“使用 K 折验证验证我们的方法”部分,我尝试运行这段代码:

num_epochs = 500
all_mae_histories = []
for i in range(k):
print('processing fold #', i)
# Prepare the validation data: data from partition # k
val_data = train_data[i * num_val_samples: (i + 1) * num_val_samples]
val_targets = train_targets[i * num_val_samples: (i + 1) * num_val_samples]

# Prepare the training data: data from all other partitions
partial_train_data = np.concatenate(
[train_data[:i * num_val_samples],
train_data[(i + 1) * num_val_samples:]],
axis=0)
partial_train_targets = np.concatenate(
[train_targets[:i * num_val_samples],
train_targets[(i + 1) * num_val_samples:]],
axis=0)

# Build the Keras model (already compiled)
model = build_model()
# Train the model (in silent mode, verbose=0)
history = model.fit(partial_train_data, partial_train_targets,
validation_data=(val_data, val_targets),
epochs=num_epochs, batch_size=1, verbose=0)
mae_history = history.history['val_mean_absolute_error']
all_mae_histories.append(mae_history)


我收到一个错误 KeyError: 'val_mean_absolute_error'
mae_history = history.history['val_mean_absolute_error']

我猜解决方案是找出正确的参数来替换 val_mean_absolute_error。我尝试查看一些 Keras 文档以了解正确的键值。有人知道正确的键值吗?

最佳答案

您的代码中的问题是,当您编译模型时,您没有添加特定的 ' mae ' 度量。

如果您想添加 ' mae ' 度量在你的代码中,你需要这样做:

  • model.compile('sgd', metrics=[tf.keras.metrics.MeanAbsoluteError()])
  • model.compile('sgd', metrics=['mean_absolute_error'])

  • 这一步之后,你可以试试看是否正确的名字是 val_mean_absolute_errorval_mae .最有可能的是,如果您像我在选项 2 中演示的那样编译模型,您的代码将使用“ val_mean_absolute_error”。

    此外,您还应该将代码片段放在编译模型的位置,上面的问题文本中缺少它(即 build_model() 函数)

    关于python-3.x - 如何从 Chollet Deep Learning with Python 中解决 KeyError : 'val_mean_absolute_error' Keras 2. 3.1 和 TensorFlow 2.0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60053547/

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