Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

评测mmbench_video会报错 #530

Open
helloworld01001 opened this issue Oct 19, 2024 · 14 comments
Open

评测mmbench_video会报错 #530

helloworld01001 opened this issue Oct 19, 2024 · 14 comments

Comments

@helloworld01001
Copy link

你好,我在评测mmbench_video会报以下错误,请问该怎么解决?CUDA_VISIBLE_DEVICES=5 python /share/project/open-compass_1011/VLMEvalKit/run.py --data MMBench-Video --model llavaonevision-qwen --work-dir /share/project/open-compass_1011/VLMEvalKit/test-results/llava_onevision_qwen --nframe 16 --pack

0it [00:00, ?it/s]
2024-10-19 14:27:49,039 - RUN - ERROR - Model llavaonevision-qwen x Dataset MMBench-Video combination failed: string indices must be integers, skipping this combination.
Traceback (most recent call last):
File "/share/project/open-compass_1011/VLMEvalKit/run.py", line 121, in main
model = infer_data_job_video(
File "/share/project/open-compass_1011/VLMEvalKit/vlmeval/inference_video.py", line 143, in infer_data_job_video
model = infer_data(
File "/share/project/open-compass_1011/VLMEvalKit/vlmeval/inference_video.py", line 94, in infer_data
struct = dataset.build_prompt(
File "/share/project/open-compass_1011/VLMEvalKit/vlmeval/dataset/mmbench_video.py", line 139, in build_prompt
return self.build_prompt_nopack(line, num_frames, video_llm)
File "/share/project/open-compass_1011/VLMEvalKit/vlmeval/dataset/mmbench_video.py", line 120, in build_prompt_nopack
question = line['question']
TypeError: string indices must be integers

@FangXinyu-0913
Copy link
Collaborator

您好 @helloworld01001 ,我看到我们并不支持llavaonevision-qwen这个模型,想问一下您具体使用的是下列的哪个模型呢~
image
以及这种问题的出现,可能是因为传入的line为index,尚未在dataframe里取出对应的数据,可以通过下列这个方式取出。
image

@helloworld01001
Copy link
Author

你好,我用的是llavaonevision-qwen2系列的,应该不是模型的问题,其他模型也有这个问题。下面这段代码就是原代码里面的

image

@FangXinyu-0913
Copy link
Collaborator

我这边用最新的主分支代码跑下列指令,是没有这个报错的
python run.py --model llava_onevision_qwen2_7b_ov --data MMBench-Video --verbose
image
想问一下您报错的时候,build_prompt_nopack这个函数传入的line是什么参数类型呢

@jun0yayay
Copy link

我这边用最新的主分支代码跑下列指令,是没有这个报错的 python run.py --model llava_onevision_qwen2_7b_ov --data MMBench-Video --verbose image 想问一下您报错的时候,build_prompt_nopack这个函数传入的line是什么参数类型呢

您好我想问问,怎么修改数据集和下载的vlm模型本地路径呢?就是改成自己本地的,不重新下载了

@FangXinyu-0913
Copy link
Collaborator

数据集的话可以在此处修改
image
把80行的cache路径改成您存储数据集的根路径即可
vlm的话则可以修改config.py的model_path
image
但需注意传入类后,提取出的model_name与原先一致(保证文件名和模型名称一致,如llava-onevision-qwen2-7b-si)。

@jun0yayay
Copy link

数据集的话可以在此处修改 image 把80行的cache路径改成您存储数据集的根路径即可 vlm的话则可以修改config.py的model_path image 但需注意传入类后,提取出的model_name与原先一致(保证文件名和模型名称一致,如llava-onevision-qwen2-7b-si)。

你好,我还想问一个:from transformers import Qwen2VLForConditionalGeneration, Qwen2VLProcessor
ImportError: cannot import name 'Qwen2VLForConditionalGeneration' from 'transformers' (/opt/conda/envs/vl-eval/lib/python3.11/site-packages/transformers/init.py)

版本是和你们说的那个4.33.0推荐的一致transformers,为什么还会报错呀

@FangXinyu-0913
Copy link
Collaborator

llava-onevision属于llava-next series的延伸,建议您使用最新版本的transformers进行测试(或参照官方配置,选择4.40.0.dev0版本)
image
image

@jun0yayay
Copy link

Collaborator

** FangXinyu-0913**

您好我用的是qwen2vl跑的videomme,能不能单独开帖子问您

@helloworld01001
Copy link
Author

helloworld01001 commented Oct 21, 2024

我这边用最新的主分支代码跑下列指令,是没有这个报错的 python run.py --model llava_onevision_qwen2_7b_ov --data MMBench-Video --verbose image 想问一下您报错的时候,build_prompt_nopack这个函数传入的line是什么参数类型呢

你好,我在评测qwen2vl的时候还是会遇到那个错误, File "/share/project/open-compass_date/open-compass_1021/VLMEvalKit/vlmeval/dataset/mmbench_video.py", line 118, in build_prompt_nopack
question = line['question']
TypeError: string indices must be integers

但是InternVL2-2B和MiniCPM-V-2可以正常评测,请问该怎么解决

@FangXinyu-0913
Copy link
Collaborator

想问一下您报错的时候,build_prompt_nopack这个函数传入的line是什么参数类型呢

@helloworld01001
Copy link
Author

是字符串类型的,build_prompt_nopack中 line 的类型是: <class 'str'>,可是InternVL2-2B和MiniCPM-V-2可以正常评测

@helloworld01001
Copy link
Author

想问一下您报错的时候,build_prompt_nopack这个函数传入的line是什么参数类型呢

还有就是评测InternVL2-2B的时候是不是没有调用build_prompt_nopack函数,因为没有打印我调试的代码

@FangXinyu-0913
Copy link
Collaborator

想问一下您报错的时候,build_prompt_nopack这个函数传入的line是什么参数类型呢

还有就是评测InternVL2-2B的时候是不是没有调用build_prompt_nopack函数,因为没有打印我调试的代码

是的,InternVL2-2B是走的模型自身的build_custom_prompt这个函数

@FangXinyu-0913
Copy link
Collaborator

是字符串类型的,build_prompt_nopack中 line 的类型是: <class 'str'>,可是InternVL2-2B和MiniCPM-V-2可以正常评测

有line的具体信息吗(是怎么样一个字符串),因为之前确实没有遇到过这种情况

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants