Keras中具有自定义损失功能的批次大小错误

我正在使用Keras开发一个检测器,其中输出y_true包含具有500个值的向量“ y”,其中包含一个脉冲,该脉冲指示从信号中的500个样本中检测到事件的时间。

Ex: y=[0, 0, 0,....,0,1,1,1,1,1,1,1,1,1,1,1,0,....0,0,0]

我之前使用过'mse'进行损耗处理,并且可以工作,但是我想使用一个损耗函数,该函数考虑y_true脉冲的中间值与y_pred最大值之间的距离。稍后,我使用y_pred中的最大值对其进行归一化并定义其周围的脉冲。

由于我不能仅使用距离并使它可微,因此我定义了此自定义损失函数,该函数用估计的距离对均方误差进行加权。

import tensorflow as tf
import keras.backend as kb

def custom_loss_function (y_true, y_pred):
    
    t_label = []
    t_picking = 0    
    t_label = tf.where(y_true == 1)[:,0]    
    mayor = tf.reduce_max(y_pred)
    t_picking = tf.where(y_pred == mayor)[:,0]    
    d = tf.cast(abs(t_label[5]-t_picking)/50,tf.float32)

    loss = (kb.mean(kb.square(y_true-y_pred)))*d

    return loss

其中t_label [5]和t_picking分别是y_trye中的脉冲中间值和y_pred中的最大值。d是它们之间的距离。

我使用Adam优化器和64的批处理大小,使用此损失函数编译了模型。一切正常,并且可以对模型进行编译,但是在培训过程中出现了此错误:

InvalidArgumentError:  Incompatible shapes: [64] vs. [2]
 [[node Adam/gradients/gradients/loss/dense_1_loss/custom_loss_function/weighted_loss/mul_grad/BroadcastGradientArgs (defined at C:\Users\Maca\anaconda3\lib\site-packages\keras\backend\tensorflow_backend.py:3009) ]] [Op:__inference_keras_scratch_graph_2220]

我之前尝试过使用其他自定义损失函数,但没有出现此问题,但是我看不出错误的出处。

您知道我为什么会收到此错误,如何解决该错误?

安德烈

特定批次中有两个相等的最大值。因此,您t_picking有时(很少)有两个(或更多)值而不是一个。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Keras中的自定义损耗函数(焦距损耗)输入大小错误

来自分类Dev

如何使用自定义损失函数处理批量大小错误?

来自分类Dev

自定义对话框大小错误

来自分类Dev

TensorFlow自定义层:获取实际的批次大小

来自分类Dev

PyTorch中具有自定义后向功能的损失-简单的MSE示例中的爆炸损失

来自分类Dev

如何在Keras中加快具有自定义损失功能的模型的训练?

来自分类Dev

Keras 自定义损失具有使用的功能之一和条件

来自分类Dev

Keras上的自定义损失功能

来自分类Dev

Keras中的自定义损失函数应该返回该批次的单个损失值,还是返回该训练批次中每个样本的大量损失?

来自分类Dev

Pandoc有堆栈大小错误?

来自分类Dev

PHP中的文件大小错误

来自分类Dev

IE中的按钮大小错误

来自分类Dev

NVMe中的扇区大小错误

来自分类Dev

RTMP 中的块大小错误?

来自分类Dev

在每个批次大小中使用自定义填充训练 LSTM

来自分类Dev

张量流中具有循环的自定义损失

来自分类Dev

Keras 中自定义损失的输出

来自分类Dev

keras中不同批次大小的培训模型

来自分类Dev

Keras顺序模型中的最大安全批次大小

来自分类Dev

keras中不同批次大小的培训模型

来自分类Dev

NestedScrollView内具有wrap_content宽度的PlayerView大小错误

来自分类Dev

NSImage大小错误?

来自分类Dev

使用Tensorflow Distribution进行损失的Keras模型在批次大小> 1时失败

来自分类Dev

自定义keras损失

来自分类Dev

如何为Keras使用自定义损失功能

来自分类Dev

Keras 中的小错误:ValueError 的错误纠正?

来自分类Dev

Keras的自定义损失函数中y_true的大小

来自分类Dev

如何编写具有加权平均的keras自定义f1损失函数?

来自分类Dev

Keras自定义损失函数InvalidArgumentError:In [1]不是矩阵。相反,它具有形状[]

Related 相关文章

  1. 1

    Keras中的自定义损耗函数(焦距损耗)输入大小错误

  2. 2

    如何使用自定义损失函数处理批量大小错误?

  3. 3

    自定义对话框大小错误

  4. 4

    TensorFlow自定义层:获取实际的批次大小

  5. 5

    PyTorch中具有自定义后向功能的损失-简单的MSE示例中的爆炸损失

  6. 6

    如何在Keras中加快具有自定义损失功能的模型的训练?

  7. 7

    Keras 自定义损失具有使用的功能之一和条件

  8. 8

    Keras上的自定义损失功能

  9. 9

    Keras中的自定义损失函数应该返回该批次的单个损失值,还是返回该训练批次中每个样本的大量损失?

  10. 10

    Pandoc有堆栈大小错误?

  11. 11

    PHP中的文件大小错误

  12. 12

    IE中的按钮大小错误

  13. 13

    NVMe中的扇区大小错误

  14. 14

    RTMP 中的块大小错误?

  15. 15

    在每个批次大小中使用自定义填充训练 LSTM

  16. 16

    张量流中具有循环的自定义损失

  17. 17

    Keras 中自定义损失的输出

  18. 18

    keras中不同批次大小的培训模型

  19. 19

    Keras顺序模型中的最大安全批次大小

  20. 20

    keras中不同批次大小的培训模型

  21. 21

    NestedScrollView内具有wrap_content宽度的PlayerView大小错误

  22. 22

    NSImage大小错误?

  23. 23

    使用Tensorflow Distribution进行损失的Keras模型在批次大小> 1时失败

  24. 24

    自定义keras损失

  25. 25

    如何为Keras使用自定义损失功能

  26. 26

    Keras 中的小错误:ValueError 的错误纠正?

  27. 27

    Keras的自定义损失函数中y_true的大小

  28. 28

    如何编写具有加权平均的keras自定义f1损失函数?

  29. 29

    Keras自定义损失函数InvalidArgumentError:In [1]不是矩阵。相反,它具有形状[]

热门标签

归档