【问题标题】:Tensorflow Object to a numpy arrayTensorflow 对象到一个 numpy 数组
【发布时间】:2020-06-28 09:54:48
【问题描述】:

我正在尝试在 Keras 中使用自定义 F1 得分函数,但我的目标变量是一个数组,我不想对它们进行热编码,所以我使用 sparse_categorical_crossentropy 作为损失。

from keras import backend as K
def f1(y_true, y_pred):
  print(type(y_true))
  return y_true

当我运行上面的代码时,我得到 y_true 和 y_pred 为<class 'tensorflow.python.framework.ops.Tensor'>。我们如何将 y_true 和 y_pred 转换为 NumPy 数组,以便在它们上实现 sklearn 的 F1 score 函数?

【问题讨论】:

  • y_true.numpy() 应该给你一个 numpy 数组
  • 以上对你有用吗?
  • 我收到以下错误。 AttributeError: 'Tensor' object has no attribute 'numpy'
  • 你用的是什么版本的TF?
  • 我不是 TF 用户,但我认为只有 Eager tensors 才有这个属性。

标签: python numpy tensorflow keras


【解决方案1】:

使用(正如@learner 在 cmets 中所建议的那样):

y_true = y_true.numpy()
y_pred = y_pred.numpy()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-04-17
    • 1970-01-01
    • 1970-01-01
    • 2011-06-20
    • 1970-01-01
    • 1970-01-01
    • 2012-04-04
    相关资源
    最近更新 更多