猿问

Tensorflow 中的外部损失函数

我有一个简单的 2 层密集 NN,我想使用回归模型来计算~ 700图像的4 个给定特征。不幸的是,我没有基本事实元素,所以我使用自定义损失函数。这是函数的来源:


def loss_function(logits, img, g, compare_img):


    final_img = img_pipeline(vga_8b=img, g=g%external color gamma function%)


    with tf.name_scope('Loss'):

        loss = score(gt_image=compare_img, curr_img=final_img)

        return loss

logits当前评估的 4 个数字在哪里,g 只是用作图像颜色伽马的插值函数,img 是外部灰度图像,用于生成用于该score函数的最终结果图像。compare_img不是真实图像,而是(kept in python dict)评分函数中用于评估当前生成的图像的一些统计值。不幸的是,我无法提供g,compare_img因为它们是无法转换为张量的 python 函数和 python 字典。


有没有办法以某种方式破解它并达到预期的结果?


ABOUTYOU
浏览 183回答 1
1回答

噜噜哒

您可以将外部函数与 tensorflow 一起使用,tf.map但我不敢说,这些函数无法通过它计算梯度。但是你的损失函数需要在每种情况下都可以推导出来。所以你必须在tensorflow中编写函数。对于您的 dict 值,您可以创建一个查找表table = tf.contrib.lookup.HashTable(  tf.contrib.lookup.KeyValueTensorInitializer(keys, values), -1)
随时随地看视频慕课网APP

相关分类

Python
我要回答