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

PyTorch编译提示LAPACK库未找到,运行torch.inverse报RuntimeError如何解决?

问题原因
  • 报错是因为自行编译的PyTorch没有开启LAPACK线性代数库支持,torch.inverse等矩阵运算依赖该库提供的底层接口,编译时检测不到对应依赖就会跳过该功能模块,运行调用时触发报错。
解决方案

按如下步骤修改Dockerfile即可:

步骤1:补充安装系统层面线性代数依赖

在现有pip安装依赖的指令前,新增系统包安装指令(基于Debian/Ubuntu系镜像,其他发行版替换为对应包管理命令即可):

RUN apt update && apt install -y --no-install-recommends libopenblas-dev liblapack-dev gfortran && rm -rf /var/lib/apt/lists/*

步骤2:新增PyTorch编译时的LAPACK/BLAS指定环境变量

在编译PyTorch的脚本中新增对应环境变量,显式开启MKL的BLAS/LAPACK支持(已提前安装了mkl、mkl-include依赖,直接指定即可):
修改后的PyTorch编译片段如下:

# PyTorch
RUN apt update && apt install -y --no-install-recommends libopenblas-dev liblapack-dev gfortran && rm -rf /var/lib/apt/lists/*
RUN pip3 install astunparse numpy ninja pyyaml mkl mkl-include setuptools cmake cffi typing_extensions future six requests dataclasses

ENV PYTORCH_INST_VERSION="v1.8.1"
RUN git clone --recursive --branch ${PYTORCH_INST_VERSION} https://github.com/pytorch/pytorch pytorch-src && \
    cd pytorch-src && \
    export MAX_JOBS=$((`nproc` - 2)) && \
    export TORCH_CUDA_ARCH_LIST=${CUDA_ARCH} && \
    # 新增以下3行环境变量,显式指定使用MKL提供的BLAS和LAPACK实现
    export USE_MKL=1 && \
    export BLAS=MKL && \
    export LAPACK=MKL && \
    python3 setup.py install --prefix=/opt/pytorch && \
    cp -r /opt/pytorch/lib/python3.8/site-packages/* /usr/lib/python3/dist-packages/ && \
    cd /opt && \
    rm -rf /opt/pytorch-src

备选方案(MKL不可用时)

如果上述修改后编译仍检测不到LAPACK,可将新增的3行环境变量替换为以下内容,改用OpenBLAS实现:

export USE_MKL=0 && \
export BLAS=OpenBLAS && \
export LAPACK=OpenBLAS && \
验证方法

编译完成后运行你提供的复现代码,无报错输出矩阵逆即表示修复成功。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.10 10:39:01