簡體   English   中英

Tensorflow中的外部損失函數

[英]External loss function in Tensorflow

我有一個簡單的2層密集型NN,我想使用回歸模型來計算4個給定的~ 700個圖像特征。 不幸的是,我沒有基本事實要素,因此我使用自定義損失函數。 這是函數的來源:

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) 不幸的是,我無法提供gcompare_img因為它們是無法轉換為張量的python函數和python字典。

有沒有辦法以某種方式破解它並達到預期的結果?

提前致謝!

您可以在帶有tf.map的tf.map使用外部函數,但我要說的是,這些函數無法通過它計算梯度。 但是損失函數在每種情況下都必須是可導出的。 因此您必須在tensorflow中編寫函數。

對於您的dict值,您可以使用

table = tf.contrib.lookup.HashTable( tf.contrib.lookup.KeyValueTensorInitializer(keys, values), -1)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM