У меня есть простой двухслойный плотный 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)
используются в функции оценки для оценки текущего полученного изображения.
К сожалению, я не могу кормить g
и compare_img
, так как они представляют собой функцию python и словарь python, которые нельзя преобразовать в тензоры.
Есть ли способ как-нибудь взломать его и добиться желаемого результата?
Заранее спасибо!