Python Keras/Tensorflow预测在另一个程序中用于计算损失
我想尝试一个管道,它利用Keras/Tensorflow和另一个程序。我下面的“非常专业”图表显示了我正在努力完成的目标 CNN的输入为2D矩阵,输出为2D矩阵,其尺寸与输入矩阵相同。我想将预测输入一个单独的程序,该程序计算一个新的2D矩阵,然后将该矩阵与输入矩阵进行比较,以计算损失 我知道计算起来会很慢,但我还是想知道它是否可行。我的第一个想法是修改损失函数以与外部程序接口,但少量研究似乎表明这是不可能的。是否有其他方法将一个单独的程序插入损失函数,或者是否有其他方法来返工此管道Python Keras/Tensorflow预测在另一个程序中用于计算损失,python,tensorflow,keras,Python,Tensorflow,Keras,我想尝试一个管道,它利用Keras/Tensorflow和另一个程序。我下面的“非常专业”图表显示了我正在努力完成的目标 CNN的输入为2D矩阵,输出为2D矩阵,其尺寸与输入矩阵相同。我想将预测输入一个单独的程序,该程序计算一个新的2D矩阵,然后将该矩阵与输入矩阵进行比较,以计算损失 我知道计算起来会很慢,但我还是想知道它是否可行。我的第一个想法是修改损失函数以与外部程序接口,但少量研究似乎表明这是不可能的。是否有其他方法将一个单独的程序插入损失函数,或者是否有其他方法来返工此管道 非常感谢您
非常感谢您的任何建议 简单的回答是不,一般来说这是不可能的。这是因为CNN和任何神经网络都是通过使用反向传播和损失函数进行训练的。如果要执行backprop,需要知道将输入x转换为输出y的过程。这样你可以计算梯度。如果你使用一个黑盒程序作为等式的一部分,那么就不可能进行反向支持 一些可能的建议
- 如果可行,您可以训练一个conv网络来模拟blackbox程序,然后将其用作训练的一部分
- 你可以做一些其他形式的优化,没有梯度/使用黑盒损失函数