`tf.keras.metrics.mean_absolute_error(y_true,y_pred)`不再适用于tensorflow v2.16

问题描述 投票:0回答:1

我有一个函数,可以使用 mae、mse、rmse、mape 和 mase 等指标创建一个用于评估的字典。错误在于“MAE”。截至 2024 年 1 月,此功能有效;附上错误截图。代码片段:

def evaluate_preds(y_true, y_pred):
  # Make sure float32 (for metric calculations)
  y_true = tf.cast(y_true, dtype=tf.float32)
  y_pred = tf.cast(y_pred, dtype=tf.float32)

  # Calculate various metrics
  mae = tf.keras.metrics.mean_absolute_error(y_true, y_pred) #error here
  mse = tf.keras.metrics.mean_squared_error(y_true, y_pred) 
  rmse = tf.sqrt(mse)
  mape = tf.keras.metrics.mean_absolute_percentage_error(y_true, y_pred)
  mase = mean_absolute_scaled_error(y_true, y_pred)
  
  return {"mae": mae.numpy(),
          "mse": mse.numpy(),
          "rmse": rmse.numpy(),
          "mape": mape.numpy(),
          "mase": mase.numpy()}

我使用 stackoverflow 进行故障排除,查看文档,但没有成功。我进行设置的步骤是:

  • 已安装
    miniforge
  • conda install <package_name>
  • 安装在虚拟环境中的软件包是
    tensorflow-macos,tensorflow-metal,jupyter,pandas,numpy,matplotlib scikit-learn

错误描述

keras._tf_keras.keras.metrics
似乎误导了我。

如有任何帮助!

谢谢,

约旦 错误截图

tensorflow forecasting
1个回答
0
投票

令人惊讶的是,通过导入 Keras,它起作用了。 我想在tf 2.x中,Keras版本也从2升级到了3

5 月 3 日,从 TensorFlow 导入 keras 成功了:

from tensorflow import keras
。然而,12 小时后运行笔记本时出现了同样的错误。幸运的是,
import keras
成功了。

© www.soinside.com 2019 - 2024. All rights reserved.