tensorflow - 基于直方图定义 TF 中的损失函数

标签 tensorflow histogram gradient

我想在 tensorflow 中定义一个基于直方图的损失函数,但这需要直方图函数支持梯度,但事实并非如此。例如,使用 tf.histogram_fixed_width 我得到一个错误“没有为任何变量提供梯度,检查你的图表是否有不支持梯度的操作”。 因此,我正在寻找一种解决方法或替代函数来计算支持梯度的 tensorflow 中的直方图。

最佳答案

损失函数的形式必须是 f(x, [y, ...])->R。它必须产生一个单一的实数并且必须是可微的(对于每个 R 都必须存在朝向更好解决方案的方向感)。直方图接受你的输入,但产生一个数据结构作为输出,它们是不可微分的。您可以尝试用自己的话来定义“更好”或“好”的直方图应该是什么样子。如果您有一个形状,可以用理想直方图来描述它,并使用 KL-散度作为理想直方图和实际直方图之间的损失函数。

关于tensorflow - 基于直方图定义 TF 中的损失函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56508036/

相关文章:

r - 可视化 R 中整数数据的频率

python - 从 numpy 数组绘制直方图

r - 基于 data.table R 中的列的条件滚动差异或梯度

android层列表不会同时显示渐变和实体

python - 将列表列表传递到 tensorflow

python - 如何在 Keras 中实现加权均方误差函数

opencv - OpenCV Mat单节

android - 使用设置了三种以上颜色的 gradientDrawable

tensorflow - Keras 序列模型到 Tensorflow EstimatorSpec 的准确性下降

python - 如何在 Tensorflow 中复制 PyTorch 的 nn.functional.unfold 函数?