ViLT-多模态论文复现

17 篇文章 0 订阅
2 篇文章 1 订阅
作者分享了个人学习多模态研究的经验,参考了B站李沐的论文讲解,涉及Vision-and-LanguageTransformer(ViLT)的论文和代码。在安装和运行代码时遇到版本兼容性问题,解决了权重文件下载及放置,并进行了VQA演示。作者计划进一步研究如何用自己的数据集进行训练。
摘要由CSDN通过智能技术生成

写在前面

个人学习记录之作。仅供参考。

相关资料

关于多模态,其实这个图片已经基本上说尽了。

然后特别推荐B站李沐大神的论文讲解:多模态论文串讲·上【论文精读·46】

 论文地址:https://arxiv.org/abs/2102.03334

论文代码地址:GitHub - dandelin/ViLT: Code for the ICML 2021 (long talk) paper: "ViLT: Vision-and-Language Transformer Without Convolution or Region Supervision"

代码下载下来之后,按教程先装环境。

遇到了几个问题。

1.包因为版本的改动,需要进行修改。

 如图所示,你需要将

./VILT/vilt/gadgets/my_metrics.py中的头文件改为
from torchmetrics import Metric

第二,需要自己下载权重文件,在GIT当中有,比较大,大约1.2GB一个。

下载好之后,同目录下新建weights,放进去。

第三测试,我直接运行了demo文件

看了下输出,基本上全是warning,可能是因为版本吧,我这边提醒好多库更新了。

进来后是这个样子,这个是demo_vqa.py的

 

这个是demo.py的,

我测试了几个。运行报错。

 

因为主要是为了学习思想,代码细节,我就不深究了。

看了下git,使用命令行启动。

python demo_vqa.py with num_gpus=0 load_path="weights/vilt_vqa.ckpt" test_only=True

 测试1:请问花是什么颜色

测试2:请问这是什么?

 

测试3:这是什么花?

 

因为这是用的官方的图,我想测试下自己的。

百度了一个猫,大概是这样

 

 测试1:这是什么?

测试2,这是什么猫?

 

测试3:这个猫是什么颜色?

 

 OK,反正跑通了。。。

后续继续研究一下如何训练自己数据集。

 

ViLT (Visual and Language Transformer) 是一种视觉和语言模型,它将图像和文本表示结合在一起,用于多种视觉问答任务。微调(fine-tuning)ViLT通常涉及以下几个步骤[^4]: 1. **预训练模型加载**[^4]: 使用ViLT的预训练权重,这些权重是在大规模图像和文本数据集上训练得到的,如Conceptual Captions。 2. **任务特定的数据准备**[^4]: 对于VQA任务,需要一个包含问题和对应图像对的数据集,如VQA v2.0。图像可能需要经过适当的预处理,如缩放和归一化。 3. **输入编码**[^4]: 将图像通过视觉编码器(如CLIP或ResNet)转换成嵌入向量,同时将问题作为文本序列通过Transformer编码器处理。 4. **联合表示**[^4]: 结合视觉和语言嵌入,通常是通过逐层加权融合或者直接拼接,生成跨模态的表示。 5. **任务层添加**[^4]: 在模型顶部添加一个或多个全连接层,针对VQA任务可能是分类层,用于预测答案。 6. **微调**[^4]: 用预先准备好的VQA数据集训练整个模型,目标是调整所有参数以优化VQA任务的性能。 7. **评估与调整**[^4]: 在验证集上评估模型性能,可能需要调整超参数或进行更多迭代来提升性能。 请注意,实际微调过程会涉及到具体的代码实现,通常使用深度学习框架如PyTorch[^5]: ```python # 示例代码片段 model = ViLT(pretrained=True) optimizer = torch.optim.Adam(model.parameters(), lr=1e-5) for epoch in range(num_epochs): model.train() # ...执行训练步骤... model.eval() # ...执行验证和评估... ```
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值