PyTorch自定义重实现CLIP模型时Logits无变化,文本-图片相似度分数异常问题
PyTorch自定义重实现CLIP模型时Logits无变化,文本-图片相似度分数异常问题
我最近在PyTorch里自定义重实现CLIP模型的时候碰到了个棘手的问题,想跟大伙请教下:
问题现象
当我用两段文本描述同一张猫的图片(一段明确说明这是猫的照片,另一段错误描述成狗的照片),计算它们和图片的相似度分数时,结果居然几乎一模一样,完全没法区分正确描述和错误描述。
输出的相似度分数如下:
Cat similarity: tensor([[-3.5724]], grad_fn=<MulBackward0>) Dog similarity: tensor([[-3.4155]], grad_fn=<MulBackward0>)
CLIP模型相关代码说明
我这个实现是基于openai/clip-vit-base-patch32的 checkpoint 来做的,其中encode_text函数负责接收原始文本输入并进行处理...(注:原提问中此处内容未完整给出)
备注:内容来源于stack exchange,提问作者Yousef




