1

我尝试基于颜色直方图的 MSE 实现 keras 损失函数。

def histoLoss(y_true, y_pred):
    hist_true = tf.histogram_fixed_width(y_true, [-1.0, 1.0], nbins=256, dtype=K.floatx())
    hist_pred = tf.histogram_fixed_width(y_pred, [-1.0, 1.0], nbins=256, dtype=K.floatx())

    hist_true = hist_true / (33*33.0*2)
    hist_pred = hist_pred / (33*33.0*2)

    hist_true = K.clip(hist_true, K.epsilon(), 1)
    hist_pred = K.clip(hist_pred, K.epsilon(), 1)
    return K.mean(K.square(hist_pred - hist_true), axis=-1)

我收到以下错误:

“/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/tensorflow/python/framework/constant_op.py”,第 110 行,在 _constant_tensor_conversion_function 返回常量(v,dtype=dtype,名称=名称)

文件“/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/tensorflow/python/framework/constant_op.py”,第 99 行,常量 tensor_util.make_tensor_proto(value, dtype=dtype ,形状=形状,验证形状=验证形状))

make_tensor_proto 中的文件“/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/tensorflow/python/framework/tensor_util.py”,第 360 行引发 ValueError(“不支持任何值。 ") ValueError:不支持任何值。

我做错了什么?

4

0 回答 0