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

Windows本地运行Detectron2报PyTorch配置路径无效错误咨询

问题描述

本地运行表格检测代码,安装完所有依赖包后,执行以下代码加载基于PubLayNet训练的Detectron2布局检测模型:

import layoutparser as lp

# 加载PubLayNet预训练模型
model = lp.Detectron2LayoutModel(
    'lp://PubLayNet/faster_rcnn_R_50_FPN_3x/config',
    extra_config=["MODEL.ROI_HEADS.SCORE_THRESH_TEST", 0.81],
    label_map={0: "Text", 1: "Title", 2: "List", 3:"Table", 4:"Figure"}
)

运行后触发报错:

OSError: [Errno 22] Invalid argument: 'C:\\Users\\username/.torch/iopath_cache\\s/f3b12qc4hc0yh4m\\config.yml?dl=1.lock'

检查对应缓存目录后发现目录内不存在config.yml配置文件,尝试从layoutparser官方模型库手动下载配置文件放入对应目录后,问题仍未解决。

报错原因

该问题是Windows平台下的路径兼容bug:iopath缓存模块处理模型下载链接时,没有过滤掉URL末尾的?dl=1参数,直接将带参数的字符串拼接到了缓存文件名中,而Windows系统不允许文件名包含?这类特殊字符,因此触发参数非法错误。
手动放置配置文件无法解决问题的原因是,缓存逻辑启动时仍会尝试生成带非法字符的.lock锁文件,路径校验阶段就会直接报错,不会走到读取本地配置文件的步骤。

排查解决方法
  • 方案1:直接加载本地模型文件,跳过自动下载逻辑
    提前将对应版本的模型config配置文件、权重文件下载到本地无特殊字符、无中文的路径下,初始化模型时直接传入本地文件路径即可,示例代码:
    import layoutparser as lp
    # 替换为本地实际存放配置、权重文件的路径
    local_config_path = r"D:\layoutparser_models\faster_rcnn_R_50_FPN_3x\config.yml"
    local_model_weight_path = r"D:\layoutparser_models\faster_rcnn_R_50_FPN_3x\model_final.pth"
    
    model = lp.Detectron2LayoutModel(
        local_config_path,
        model_path=local_model_weight_path,
        extra_config=["MODEL.ROI_HEADS.SCORE_THRESH_TEST", 0.81],
        label_map={0: "Text", 1: "Title", 2: "List", 3:"Table", 4:"Figure"}
    )
    
  • 方案2:修改iopath源码过滤非法文件名字符
    打开当前Python环境对应iopath安装目录下的common/download.py文件,找到生成缓存文件名的代码段,在文件名赋值逻辑后新增一行截断URL参数的代码:
    # 过滤URL中?及后续的查询参数,避免文件名包含非法字符
    file_name = file_name.split("?")[0]
    
    保存修改后重新运行加载模型的代码,自动下载逻辑会生成符合Windows命名规范的缓存文件,即可正常完成模型下载和加载。
  • 方案3:升级依赖包到修复版本
    执行命令升级iopath和layoutparser到最新版本,新版依赖已经修复了Windows平台下URL参数导致的缓存文件名非法问题,升级后无需额外修改即可直接运行原代码:
    pip install --upgrade iopath layoutparser
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.31 00:15:31