Torch - 错误 getrf : Lapack library not found in compile time

在学习torch的时候遇到这个错误,更确切的是在使用torch模块中的inverse函数的时候出现的报错。
百度了下,在HermanHGF的这篇博客中提到是由于未安装OpenBLAS所致,给出了如下的解决方案:

git clone https://github.com/xianyi/OpenBLAS.git
cd OpenBLAS
make NO_AFFINITY=1 USE_OPENMP=1
sudo make install

然后添加路径,进行torch模块的安装。

CMAKE_LIBRARY_PATH=/opt/OpenBLAS/include:/opt/OpenBLAS/lib:$CMAKE_LIBRARY_PATH
luarocks install torch

原文的解决方案到此为止,然而在尝试过后依然不行,于是搜到了以下的解决方案:

  • 根据提示安装lapack库
sudo apt-get install liblapack-dev
  • 按照之前的步骤重新安装OpenBLAS,torch模块即可。

另, 在安装OpenBLAS的时候,可能还会出现以下报错提示,

OpenBLAS: Detecting fortran compiler failed. Cannot compile LAPACK. Only compile BLAS.

需要安装gfortran编译器进行编译。

sudo apt-get install gfortran

安装后重复以上步骤即可

至此,完美解决inverse报错。

参考资料:

  1. 安装Torch参考官方文档遇到的问题
这个错误提示意味着 PyTorch 在编译时没有使用 LAPACK 库,导致无法执行 `torch.inverse()` 函数。 要解决这个问题,你需要重新编译 PyTorch 并包含 LAPACK 库。具体的步骤如下: 1. 安装 LAPACK 库。你可以在 LAPACK 官方网站上下载并安装 LAPACK 库,或者使用系统包管理器安装。在 Ubuntu 中,你可以使用以下命令安装 LAPACK 库: ``` sudo apt-get install liblapack-dev ``` 2. 安装 PyTorch 的依赖项。在编译 PyTorch 之前,你需要安装一些依赖项,可以使用以下命令安装: ``` sudo apt-get install -y python3-dev python3-pip python3-venv build-essential libatlas-base-dev gfortran ``` 3. 克隆 PyTorch 仓库并切换到合适的分支。你可以在 PyTorch 的 GitHub 页面上克隆 PyTorch 仓库,并切换到合适的分支。在这个例子中,我们将使用最新的稳定版分支 `v1.9.0`。 ``` git clone --recursive https://github.com/pytorch/pytorch cd pytorch git checkout v1.9.0 ``` 4. 安装 PyTorch。在切换到合适的分支后,你可以使用以下命令编译和安装 PyTorch: ``` export USE_CUDA=0 python3 setup.py install ``` 在编译时,你需要设置 `USE_CUDA` 环境变量为 0,以禁用 CUDA 支持。这是因为如果你的系统上没有安装 NVIDIA GPU 或者没有安装 CUDA 驱动,PyTorch 将无法使用 CUDA 加速。 5. 测试 PyTorch。在安装成功后,你可以启动 Python 并导入 PyTorch 模块进行测试,具体的步骤可以参考我之前的回答。如果一切正常,你将不再看到 `RuntimeError: inverse: LAPACK library not found in compilation` 的错误提示。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值