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

Databricks部署detectron2模型时出现torch模块未找到构建错误

问题根源

detectron2的安装过程中,其setup.py会在生成元数据阶段尝试导入torch,但此时pip尚未完成torch的安装。尽管conda_env中同时列出了torch和detectron2,但pip处理git源包时,会优先进行元数据生成,而此时torch还未被安装,导致报错。


解决方案

方案一:通过conda安装torch和torchvision

将torch、torchvision从pip依赖移至conda依赖项中,conda会先完成这些包的安装,再处理pip部分的依赖,确保detectron2安装时torch已存在。同时需添加pytorch通道以获取正确的包版本。

修改后的conda_env代码:

conda_env = {
    "channels": ["defaults", "pytorch"],
    "dependencies": [
        "python=3.8",
        "pip",
        "pytorch=2.0.1",
        "torchvision=0.15.2",
        "numpy",
        {
            "pip": [
                "mlflow",
                "git+https://github.com/facebookresearch/detectron2.git"
            ]
        }
    ]
}

注意:需根据detectron2版本选择兼容的torch版本,例如detectron2 v0.7+需要torch 1.9及以上版本。

方案二:使用预编译的detectron2 wheel包

预先构建与当前torch版本兼容的detectron2 wheel包,上传至DBFS后,在pip依赖中直接引用该wheel文件路径,避免从git源码编译时的依赖问题。

示例:

{
    "pip": [
        "torch",
        "mlflow",
        "torchvision",
        "numpy",
        "/dbfs/mnt/{container_name}/detectron2-0.6-cp38-cp38-linux_x86_64.whl"
    ]
}

构建wheel包时需确保与部署环境的Python版本、torch版本、CUDA版本一致。

方案三:拆分依赖安装步骤(进阶)

若必须使用pip安装所有依赖,可通过自定义MLflow环境脚本,先安装torch再安装detectron2。此方法需编写额外shell脚本,复杂度较高,不推荐作为首选方案。


替换原代码中的conda_env部分,重新注册模型即可解决安装顺序问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 13:25:53