You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Colab运行Qwen2.5-VL的OCR功能触发ValueError报错

解决Qwen2.5-VL OCR在Colab中运行的Triton ValueError问题

问题原因

报错ValueError: Pointer argument (at 0) cannot be accessed from Triton (cpu tensor?)是由于模型或输入张量运行在CPU上,但Triton算子需要GPU张量才能执行,通常是Colab未启用GPU或代码未正确指定设备导致。

解决步骤

  • 启用Colab GPU加速
    点击顶部菜单「代码执行程序」→「更改运行时类型」,选择「GPU」作为硬件加速器,保存后重启运行时。

  • 修正inference函数的设备配置
    确保模型加载和输入处理时所有张量都指向GPU,修改代码如下:

    def inference(image_path, prompt):
        from transformers import AutoModelForCausalLM, AutoProcessor
        import torch
        from PIL import Image
    
        # 加载模型时自动分配到GPU
        model = AutoModelForCausalLM.from_pretrained(
            "Qwen/Qwen2.5-VL-7B-Instruct",
            torch_dtype=torch.bfloat16,
            device_map="auto"
        )
        processor = AutoProcessor.from_pretrained("Qwen/Qwen2.5-VL-7B-Instruct")
    
        # 处理输入并将张量移至GPU
        inputs = processor(
            text=prompt,
            images=Image.open(image_path),
            return_tensors="pt"
        ).to("cuda")
    
        # 生成响应
        with torch.no_grad():
            outputs = model.generate(**inputs, max_new_tokens=512)
        response = processor.decode(outputs[0], skip_special_tokens=True)
        return response
    
  • 更新依赖包确保兼容性
    执行以下命令更新相关依赖,适配Qwen2.5-VL的要求:

    pip install --upgrade transformers accelerate torch triton
    
  • 清理GPU缓存并重启运行时
    先执行代码清理缓存:

    import torch
    torch.cuda.empty_cache()
    

    再点击「代码执行程序」→「重启运行时」,重新执行所有步骤。

内容的提问来源于stack exchange,提问作者JS3

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 08:18:15