FeiElysia/ViECap

CLIP在batch和非batch情况下编码文本结果不一致

Closed this issue · 4 comments

作者您好,我在实验过程中发现,clip的encoder.encoder_text()在用batch text输入和非batch text输入时,同一个text提取到的feature不一样,请问您知道是什么原因吗?
image

在单个样本和batch上有误差我觉得算是正常现象?你也算了,两个元素之间的平均误差只有3e-4,你做推理了吗,我觉得最后选出来的class name应该是一样的

好的,感谢作者。
另外还有个问题想请教一下,就是论文中Table 5里0.1%数据下的性能,我复现出来的效果很差,CIDEr都为0,离Table 5的结果相差甚远。请问相比于100%等数据量的情况下超参是有不同吗?还有是有其他方面需要特别设置的。

1%,10%和100%是正常的吗?我感觉可能是你代码没弄对,因为就算没训练好CIDEr也不可能是0才对,可以debug一下。

训练超参的话记得把训练的epoch设大一点,因为样本数比较少了,需要更多的epoch

1%,10%和100%是正常的。
实验了一下,是epoch的问题,0.1%时设置到60即可复现论文结果。
感谢作者解答以及开源!非常好的一个工作。