参数化的自定义损失函数,在keras中输入动态尺寸

我正在尝试实现自定义损失函数,该函数除了y_true和y_pred参数外还带有预测标签。我正在关注this的答案,但是由于我的数据集非常大,因此我每次都使用生成器为模型提供预测标签。我总共给模型提供了三个输入,一个是输入图像,y_true和预测标签,输出是y_pred。但是我正在使用的数据集(PASCAL VOC)是多标签数据集,因此我无法提前给出预测标签的长度。因此,我对如何给模型提供预测标签感到困惑。我尝试过这种方法,但是由于存储标签的.mat文件格式为(*,1),因此它不起作用,其中*表示每个图像的标签数。

preds = np.zeros((batch_size,None,1))
while True:
   mat = scipy.io.loadmat('VOC_aug/dataset/cls/'+train_images_list[k]+'.mat')
   cats = (mat['GTcls'][0][0]['CategoriesPresent'])
   predictions = list(cats)
   preds[i,:,:] = np.array(predictions)

我知道None不适用于numpy数组,因此,我想知道是否还有其他方法可以将此自定义损失函数添加到模型中。我也参考了this的答案,但是由于我在这里使用了生成器,所以我不明白如何实现它。

carol548 回答:参数化的自定义损失函数,在keras中输入动态尺寸

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3119877.html

大家都在问