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

Docker环境中CUDA12.1+PyTorch2.1.1安装Detectron2失败原因排查

Detectron2与CUDA12.1兼容性问题分析及解决

核心原因

CUDA 12.0及以上版本已完全移除对compute_35、compute_37等旧GPU架构的编译支持,而Detectron2的默认编译配置仍包含这些旧架构选项,导致nvcc编译时触发"不支持该架构"的报错。CUDA 11.x系列(如11.7)还保留对旧架构的兼容,因此切换基础镜像后编译成功。

Detectron2对CUDA12.1的支持情况

较新版本的Detectron2(v0.6及之后)已适配CUDA12.x,但需要手动调整编译参数,排除CUDA12不支持的旧架构:

  • 方法一:设置环境变量指定目标GPU架构
    在安装Detectron2前,通过环境变量限定仅编译当前GPU支持的架构(需根据你的GPU型号修改,比如RTX30系列为8.6,RTX40系列为8.9,A100为8.0):
    export TORCH_CUDA_ARCH_LIST="8.0;8.6;8.9"
    
  • 方法二:修改Detectron2源码配置
    编辑detectron2_repo/setup.py,找到包含compute_35的架构列表,移除这些CUDA12不支持的条目。

Dockerfile适配示例(CUDA12.1场景)

在执行Detectron2安装步骤前添加环境变量设置,示例片段:

# 适配CUDA12.x,指定当前GPU支持的架构
ENV TORCH_CUDA_ARCH_LIST="8.0;8.6;8.9"
# 安装Detectron2
RUN pip install -e detectron2_repo

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 06:32:40