如何训练计算损失需要多个对象值的神经网络?

数据挖掘 神经网络 损失函数
2022-02-17 20:48:46

我想训练一个函数,它给定关于图像的元数据,为在图像上运行的算法生成超参数。

我的理解是(请原谅我,我是这里的新手)神经网络适合这个目的。

我想训练一个功能:

def myHyperParameterFunction(a,b,c,...):
  return (one,two,three,...)

(这是一个以 开头keras.layers.InputLayer(input_shape=(n,))和结尾的神经网络keras.layers.Dense(m)

它为另一种算法生成超参数:

def myAlgorithm(image, (one,two,three,...)):
  return newImage

通过使用myAlgorithm成本函数可以形成:

def lossFunction(true_image, image, (one,two,three,...)):
  return true_image-myAlgorithm(image, (one,two,three,...)) 

查看tensorflow 文档,似乎我只能根据 2 个变量y_true和定义损失函数y_pred,这似乎使这不可能。可能我可以通过作为包含s 和s 的y_true数组的索引来解决这个问题,但这感觉是一个相当尴尬的解决方案(特别是对象类型不能,所以我不能将两个图像都打包进去)。imagetrue_imagey_truenumpy.ndarray

总而言之,问题似乎在于计算损失需要一个额外的外部值(即image, where y_predis(one,two,three,...)y_trueis true_image)。我不受 tensorflow 约束,任何有助于我感兴趣的工具或框架。

我怎么能解决这个问题?

0个回答
没有发现任何回复~