求助transformers库的大模型BLIP2的程序错误是怎么回事?

程序源码如下:
from transformers import Blip2ForConditionalGeneration, AutoTokenizer, AutoProcessor
model_name='model/Salesforce_blip2-opt-2.7b'
model = Blip2ForConditionalGeneration.from_pretrained(model_name)
processor = AutoProcessor.from_pretrained(model_name)
tokenizer = AutoTokenizer.from_pretrained(model_name)
model.eval()

# 评估循环
for batch in dataloader:
    images, reports, _ = batch
    images = images.to(device)

    # 使用processor处理输入
    inputs = processor(images=images, text=reports, padding=True, truncation=True, return_tensors="pt").to(device)

    # 前向传播
    with torch.no_grad():
        outputs = model.generate(**inputs)

以上程序执行后错误如下:
outputs = model.generate(**inputs)
File "D:\anaconda3\envs\llava\lib\site-packages\peft\peft_model.py", line 647, in generate
return self.get_base_model().generate(args, **kwargs)
File "D:\anaconda3\envs\llava\lib\site-packages\torch\utils_contextlib.py", line 115, in decorate_context
return func(
args, **kwargs)
File "D:\anaconda3\envs\llava\lib\site-packages\transformers\models\blip_2\modeling_blip_2.py", line 2316, in generate
inputs_embeds[special_image_mask] = language_model_inputs.flatten()
RuntimeError: shape mismatch: value tensor of shape [2621440] cannot be broadcast to indexing result of shape [0]

哪位大牛能给解释一下这是怎么回事呀?谢谢!

展开
收起
游客ijsp4ghgv6ufc 2024-12-12 21:00:59 328 分享 版权
1 条回答
写回答
取消 提交回答
  • 您可以尝试在输入指令时,明确要求通义千问忽略之前的任何代码,并仅根据当前需求生成代码。如果问题依旧,建议询问阿里云的工作人员以获取进一步帮助。如果对您有帮助的话,可以帮忙采纳一下。谢谢。

    2025-02-10 12:25:12
    赞同 209 展开评论