在Tensorflow Keras中创建自定义指标类

GRS

我想建立一个指标,以计算组级别的精度。

例如,假设LSTM输出为shape (batch, 10, 1),我想沿时间维度分组(按10个时间戳分组)并计算精度。

我创建了指标,该指标继承了精度:

class PrecisionGrouped(tf.keras.metrics.Precision):
  def __init__(self,
               thresholds=None,
               top_k=None,
               class_id=None,
               name=None,
               dtype=None):
    super(PrecisionGrouped, self).__init__(name=name, dtype=dtype)

  def update_state(self, y_true, y_pred, sample_weight=None):
    y_true = tf.math.reduce_max(y_true, axis=1)
    y_pred = tf.math.reduce_max(y_pred, axis=1)
    return super().update_state(y_true, y_pred, sample_weight)

但是,当我运行代码时,它抱怨update_state方法应该返回张量。但是我只是在调用父方法,该方法还会返回update_op

TypeError: To be compatible with tf.contrib.eager.defun, Python functions must return zero or more Tensors; in compilation of <function PrecisionGrouped.update_state at 0x1a384b1400>, found return value of type <class 'tensorflow.python.framework.ops.Operation'>, which is not a Tensor.

我要做的就是在输入中添加一个简单的预处理步骤。tf.keras.metrics.Precision()可以正常工作,但不起作用PrecisionGrouped()

维维克·梅塔(Vivek Mehta)

您可以从update_state()方法中删除收益

def update_state(self, y_true, y_pred, sample_weight=None):
    y_true = tf.math.reduce_max(y_true, axis=1)
    y_pred = tf.math.reduce_max(y_pred, axis=1)
    super().update_state(y_true, y_pred, sample_weight)

您可以从自定义指标中删除返回语句和组操作。不需要。由于TPU存在问题,内置指标有不同的要求。修复此问题后,我们还将从内置指标中删除update_state的返回值。

请参阅此GitHub问题以获取更多详细信息。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用Tensorflow 2.1的Keras模型的自定义指标

来自分类Dev

Tensorflow和Keras:建立精确度的自定义指标

来自分类Dev

Tensorflow回调作为CTC的自定义指标

来自分类Dev

从Tensorflow中的图像的自定义数据集创建批次

来自分类Dev

在 tensorflow 中创建自定义层时出错

来自分类Dev

TensorFlow中卷积的自定义填充

来自分类Dev

使用tf.keras.layers.concatenate()作为Tensorflow中的自定义层

来自分类Dev

Tensorflow一种用于多输出模型的自定义指标

来自分类Dev

如何在Tensorflow中为自定义内核创建/运行基准测试?

来自分类Dev

如何使用批量大小在自定义TensorFlow层中创建张量

来自分类Dev

在TensorFlow联合中创建自定义联合数据集

来自分类Dev

在TensorFlow中定义自定义模型/架构

来自分类Dev

如何在Tensorflow中编写自定义损失函数?

来自分类Dev

从tensorflow服务中的.a文件静态链接自定义op

来自分类Dev

用于Tensorflow 2中的自定义训练循环的Tensorboard

来自分类Dev

在Tensorflow 2.0中制作自定义激活功能

来自分类Dev

如何使TensorFlow中的自定义Op可导入Python?

来自分类Dev

关于 Tensorflow 和 PyTorch 中的自定义操作

来自分类Dev

Tensorflow Checkpoint自定义地图

来自分类Dev

添加自定义TensorFlow OP

来自分类Dev

Tensorflow:用于自定义 softmax 的 NaN

来自分类Dev

Tensorflow 自定义激活函数

来自分类Dev

tensorflow lite 添加自定义操作

来自分类Dev

自定义 Tensorflow Hub 模块的输入

来自分类Dev

如何在keras中实现自定义指标?

来自分类Dev

使用自定义张量作为变量的TensorFlow 2.0 Keras层

来自分类Dev

Tensorflow 2.0:自定义keras度量标准导致tf.function跟踪警告

来自分类Dev

如何在Tensorflow 2.x Keras自定义层中使用多个输入?

来自分类Dev

Tensorflow 2:自定义损失函数的工作原理与原始Keras SparseCategoricalCrossentropy不同

Related 相关文章

  1. 1

    使用Tensorflow 2.1的Keras模型的自定义指标

  2. 2

    Tensorflow和Keras:建立精确度的自定义指标

  3. 3

    Tensorflow回调作为CTC的自定义指标

  4. 4

    从Tensorflow中的图像的自定义数据集创建批次

  5. 5

    在 tensorflow 中创建自定义层时出错

  6. 6

    TensorFlow中卷积的自定义填充

  7. 7

    使用tf.keras.layers.concatenate()作为Tensorflow中的自定义层

  8. 8

    Tensorflow一种用于多输出模型的自定义指标

  9. 9

    如何在Tensorflow中为自定义内核创建/运行基准测试?

  10. 10

    如何使用批量大小在自定义TensorFlow层中创建张量

  11. 11

    在TensorFlow联合中创建自定义联合数据集

  12. 12

    在TensorFlow中定义自定义模型/架构

  13. 13

    如何在Tensorflow中编写自定义损失函数?

  14. 14

    从tensorflow服务中的.a文件静态链接自定义op

  15. 15

    用于Tensorflow 2中的自定义训练循环的Tensorboard

  16. 16

    在Tensorflow 2.0中制作自定义激活功能

  17. 17

    如何使TensorFlow中的自定义Op可导入Python?

  18. 18

    关于 Tensorflow 和 PyTorch 中的自定义操作

  19. 19

    Tensorflow Checkpoint自定义地图

  20. 20

    添加自定义TensorFlow OP

  21. 21

    Tensorflow:用于自定义 softmax 的 NaN

  22. 22

    Tensorflow 自定义激活函数

  23. 23

    tensorflow lite 添加自定义操作

  24. 24

    自定义 Tensorflow Hub 模块的输入

  25. 25

    如何在keras中实现自定义指标?

  26. 26

    使用自定义张量作为变量的TensorFlow 2.0 Keras层

  27. 27

    Tensorflow 2.0:自定义keras度量标准导致tf.function跟踪警告

  28. 28

    如何在Tensorflow 2.x Keras自定义层中使用多个输入?

  29. 29

    Tensorflow 2:自定义损失函数的工作原理与原始Keras SparseCategoricalCrossentropy不同

热门标签

归档