Repository: open-compass/VLMEvalKit
Issue: 评测videomme，基于qwen2-vl-7b
Root cause: Configuration Error

1. transformers好像报错了说找不到 causal
ImportError: cannot import name 'Qwen2VLForConditionalGeneration' from 'transformers' (/opt/conda/envs/vl-eval/lib/python3.11/site-packages/transformers/__init__.py)

2. 为什么videomme这个我一步步debug看到的模态是image呀？这是对的吗？就是它进入的逻辑是这个： CustomVQADataset

@FangXinyu-0913

1. qwen2-vl-7b需要使用的transformer版本得按照他的官方指引进行安装（参见https://github.com/QwenLM/Qwen2-VL?tab=readme-ov-file#quickstart）
2. qwen2-vl-7b内部有相关函数对视频进行解析，因此传入到qwen2-vl-7b的为视频+prompt，按setting进行取帧及推理等操作
（参见https://github.com/QwenLM/Qwen2-VL/blob/main/qwen-vl-utils/src/qwen_vl_utils/vision_process.py#L127)

BTW, qwen团队仍在维修qwen2-vl的视频推理精度对不齐的相关问题，具体进度可以关注https://github.com/open-compass/VLMEvalKit/issues/484

> 1. qwen2-vl-7b需要使用的transformer版本得按照他的官方指引进行安装（参见[https://github.com/QwenLM/Qwen2-VL?tab=readme-ov-file#quickstart）](https://github.com/QwenLM/Qwen2-VL?tab=readme-ov-file#quickstart%EF%BC%89)
> 2. qwen2-vl-7b内部有相关函数对视频进行解析，因此传入到qwen2-vl-7b的为视频+prompt，按setting进行取帧及推理等操作
>    （参见https://github.com/QwenLM/Qwen2-VL/blob/main/qwen-vl-utils/src/qwen_vl_utils/vision_process.py#L127)
> 
> BTW, qwen团队仍在维修qwen2-vl的视频推理精度对不齐的相关问题，具体进度可以关注#484

第二个问题还想咨询一下，我加载video-mme后进入的是：
```
 if 'A' in data and 'B' in data:
        if 'image' in data or 'image_path' in data:
            warnings.warn(f'Will assume unsupported dataset {dataset_name} as a Custom MCQ dataset. ')
            return CustomMCQDataset(dataset=dataset_name, **kwargs)
        else:
            warnings.warn(f'Will assume unsupported dataset {dataset_name} as a Custom Text MCQ dataset. ')
            return CustomTextMCQDataset(dataset=dataset_name, **kwargs)
    else:
        warnings.warn(f'Will assume unsupported dataset {dataset_name} as a Custom VQA dataset. ')
        return CustomVQADataset(dataset=dataset_name, **kwargs)
```
        
第二个逻辑就是 Custom VQA dataset ，不知是否正确，那个‘A’和'B'我看了看数据好像是有A和B选项选择但是没进去不知道为什么

> 1. qwen2-vl-7b需要使用的transformer版本得按照他的官方指引进行安装（参见[https://github.com/QwenLM/Qwen2-VL?tab=readme-ov-file#quickstart）](https://github.com/QwenLM/Qwen2-VL?tab=readme-ov-file#quickstart%EF%BC%89)
> 2. qwen2-vl-7b内部有相关函数对视频进行解析，因此传入到qwen2-vl-7b的为视频+prompt，按setting进行取帧及推理等操作
>    （参见https://github.com/QwenLM/Qwen2-VL/blob/main/qwen-vl-utils/src/qwen_vl_utils/vision_process.py#L127)
> 
> BTW, qwen团队仍在维修qwen2-vl的视频推理精度对不齐的相关问题，具体进度可以关注#484

我的意思是，我知道videomme是视频，我有数据，但是为什么用你们的代码进入的是image就是customvqa这个数据集，这是否正确

> > 1. qwen2-vl-7b需要使用的transformer版本得按照他的官方指引进行安装（参见[https://github.com/QwenLM/Qwen2-VL?tab=readme-ov-file#quickstart）](https://github.com/QwenLM/Qwen2-VL?tab=readme-ov-file#quickstart%EF%BC%89)
> > 2. qwen2-vl-7b内部有相关函数对视频进行解析，因此传入到qwen2-vl-7b的为视频+prompt，按setting进行取帧及推理等操作
> >    （参见https://github.com/QwenLM/Qwen2-VL/blob/main/qwen-vl-utils/src/qwen_vl_utils/vision_process.py#L127)
> > 
> > BTW, qwen团队仍在维修qwen2-vl的视频推理精度对不齐的相关问题，具体进度可以关注#484
> 
> 我的意思是，我知道videomme是视频，我有数据，但是为什么用你们的代码进入的是image就是customvqa这个数据集，这是否正确

这有可能是您没正确配置dataset_name，导致判定该数据集为您自定义的custom_prompt，因而进入该函数。您可以考虑用这条指令`python run.py --model Qwen2-VL-2B-Instruct --data Video-MME --verbose`进行尝试

> > > 1. qwen2-vl-7b需要使用的transformer版本得按照他的官方指引进行安装（参见[https://github.com/QwenLM/Qwen2-VL?tab=readme-ov-file#quickstart）](https://github.com/QwenLM/Qwen2-VL?tab=readme-ov-file#quickstart%EF%BC%89)
> > > 2. qwen2-vl-7b内部有相关函数对视频进行解析，因此传入到qwen2-vl-7b的为视频+prompt，按setting进行取帧及推理等操作
> > >    （参见https://github.com/QwenLM/Qwen2-VL/blob/main/qwen-vl-utils/src/qwen_vl_utils/vision_process.py#L127)
> > > 
> > > BTW, qwen团队仍在维修qwen2-vl的视频推理精度对不齐的相关问题，具体进度可以关注#484
> > 
> > 
> > 我的意思是，我知道videomme是视频，我有数据，但是为什么用你们的代码进入的是image就是customvqa这个数据集，这是否正确
> 
> 这有可能是您没正确配置dataset_name，导致判定该数据集为您自定义的custom_prompt，因而进入该函数。您可以考虑用这条指令`python run.py --model Qwen2-VL-2B-Instruct --data Video-MME --verbose`进行尝试

路径我已经改了，但是在

```
if md5(data_file) != self.MD5:
                return False
```
               


返回false了是为什么？
MD5是否要改？

这可能是因为过程中在视频路径等方面配置有问题，使得绝对路径写入tsv导致出现md5不匹配，您如果确认md5在您本地没有问题，能够正确寻找到视频文件，可以注释掉这两行忽略
<img width="1094" alt="image" src="https://github.com/user-attachments/assets/9a50c009-b032-49d8-8b81-0de5b597cb08">


> 这可能是因为过程中在视频路径等方面配置有问题，使得绝对路径写入tsv导致出现md5不匹配，您如果确认md5在您本地没有问题，能够正确寻找到视频文件，可以注释掉这两行忽略 <img alt="image" width="1094" src="https://private-user-images.githubusercontent.com/81462011/378348006-9a50c009-b032-49d8-8b81-0de5b597cb08.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mjk1MDE1NDMsIm5iZiI6MTcyOTUwMTI0MywicGF0aCI6Ii84MTQ2MjAxMS8zNzgzNDgwMDYtOWE1MGMwMDktYjAzMi00OWQ4LThiODEtMGRlNWI1OTdjYjA4LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDEwMjElMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQxMDIxVDA5MDA0M1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWZhM2Q3MDMwMDkxZjhjNjE4NDVkOThmMDJkNWI0ZjgzMzU1OTM0YmEyNTFiYjMwN2I5YWJiZmI1MTc3MGFhZTAmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.I4yvgoCDgPvTzuLDn9xkpXkYRC_mloqCNzuxrFl6ny4">

还想请教一下，我现在主要想查看videomme的评测代码，不知道您有推荐哪块吗？应该没有封装吧，因为我可能要adapt到其他地方。可能主要想看qwen2在videomme上的效果

videomme比较关键的就是模型推理给出代码之后进行评估，可以参照这个函数https://github.com/open-compass/VLMEvalKit/blob/main/vlmeval/dataset/videomme.py#L220

> videomme比较关键的就是模型推理给出代码之后进行评估，可以参照这个函数https://github.com/open-compass/VLMEvalKit/blob/main/vlmeval/dataset/videomme.py#L220

好的好的，我还想请教一下，我在安装那个flash-attn2的时候一直都是比较慢的，就是在那个build wheel时候，不知道您一般是怎么安装的？它会卡在那里很久。。


> > videomme比较关键的就是模型推理给出代码之后进行评估，可以参照这个函数https://github.com/open-compass/VLMEvalKit/blob/main/vlmeval/dataset/videomme.py#L220
> 
> 好的好的，我还想请教一下，我在安装那个flash-attn2的时候一直都是比较慢的，就是在那个build wheel时候，不知道您一般是怎么安装的？它会卡在那里很久。。

你好，一般来说这是因为网络问题，无法拉取到wheel。您可以选择到[官方仓库](https://github.com/Dao-AILab/flash-attention/releases/tag/v2.6.3)里手动下载上传至服务器安装，或者通过一些方法使得您的服务器能访问到github。此外如果不是这个问题，您可以加上--verbose参数查看更详细的报错信息。

> > videomme比较关键的就是模型推理给出代码之后进行评估，可以参照这个函数https://github.com/open-compass/VLMEvalKit/blob/main/vlmeval/dataset/videomme.py#L220
> 
> 好的好的，我还想请教一下，我在安装那个flash-attn2的时候一直都是比较慢的，就是在那个build wheel时候，不知道您一般是怎么安装的？它会卡在那里很久。。



> > > videomme比较关键的就是模型推理给出代码之后进行评估，可以参照这个函数https://github.com/open-compass/VLMEvalKit/blob/main/vlmeval/dataset/videomme.py#L220
> > 
> > 
> > 好的好的，我还想请教一下，我在安装那个flash-attn2的时候一直都是比较慢的，就是在那个build wheel时候，不知道您一般是怎么安装的？它会卡在那里很久。。
> 
> 你好，一般来说这是因为网络问题，无法拉取到wheel。您可以选择到[官方仓库](https://github.com/Dao-AILab/flash-attention/releases/tag/v2.6.3)里手动下载上传至服务器安装，或者通过一些方法使得您的服务器能访问到github。此外如果不是这个问题，您可以加上--verbose参数查看更详细的报错信息。

好的，请问现在这个评测是否支持vcg-diverse呢，我看了看是不支持的。