我正在研究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中找到。