如何在Keras中为具有多个输入和输出的模型定义自定义损失函数?

时间:2020-06-13 09:13:19

标签: python tensorflow keras deep-learning

我正在研究Keras的体系结构实现,该体系结构需要2个输入(input_im_low,input_im_high)并将它们分别传递给一个体系结构并获得2个输出。网络使用的是基于这两个输出和输入定义的自定义损失函数,由于训练的目的是减少自定义损失,因此没有任何事实依据。我尝试根据Keras文档(https://keras.io/api/losses/)创建损失函数,但无法正常工作。我不确定是否需要使用add_loss()API,如果可以,应如何针对我的情况进行调整?

有人可以建议我如何调整损失函数吗?

我通过运行代码得到以下错误:

vector<uint8_t> v =  { 21 };
uint8_t valueToSearch = 21;


for (vector<uint8_t>::const_iterator i = v.begin(); i != v.end(); ++i){
    cout << unsigned(*i) << ' ' << endl;
}


auto it = find(v.begin(), v.end(), valueToSearch);
if ( it != v.end() )
{
    string m = "valueToSearch was found in the vector " + valueToSearch;
    cout << m << endl;

}

这是代码:

    per_sample_losses = loss_fn.call(targets[i], outs[i])
IndexError: list index out of range

P.S。 -该网络的Tensorflow 1.x实现可在https://github.com/weichen582/RetinexNet中找到。

0 个答案:

没有答案