pytorch编译错误: inverse: LAPACK library not found in compilation的解决办法

pytorch编译错误:编译中找不到LAPACK库的解决办法

RuntimeError: inverse: LAPACK library not found in compilation

复现该问题:

import torch
A = torch.rand(5,5)
torch.inverse(A)

Linux环境下(或者docker)解决办法

apt-get liblapack-dev

Windows环境下解决办法

在conda中输入

conda install -c lapack

将相关编译的库引入,
再重新编译pytorch。

简述一下pytorch编译中遇到的坑

以1.8.0为例子。
参考博客

Windows环境下老显卡跑PyTorch GPU版本

在Windows上编译Pytorch 源码

PyTorch编译尝试笔记

首先呢第三个是给了个编译好的wheel但是,用后就发现上述问题,一气之下智能自己编译一个了。

然后对于git拉取pytorch分支也不太懂,就啦了

git clone --recursive https://github.com/pytorch/pytorch/tree/release/1.8
cd pytorch
# if you are updating an existing checkout
git submodule sync
git submodule update --init --recursive

pytorch1.8release
这个版本了的,没有拉到1.8.1的,一脸懵逼,可能房主拉的是gitee的?

简述一下博主为什么用VS2019的16.6.5版本。

主要是官方文件中提到了
Note: There’s a compilation issue in several Visual Studio 2019 versions since 16.7.1, so please make sure your Visual Studio 2019 version is not in 16.7.1 ~ 16.7.5
然后博主编译遇到问题了,理论上现在高版本应该没问题了。
VS2019 16.5.5下载地址

一些特殊指令

仅编译

python setup.py build

编译并安装

python  setup.py install --cmake

编译为轮子

python setup.py bdist_wheel

测试cuda与pytorch是否可用

import torch
print('CUDA版本:',torch.version.cuda)
print('Pytorch版本:',torch.__version__)
print('显卡是否可用:','可用' if(torch.cuda.is_available()) else '不可用')
print('显卡数量:',torch.cuda.device_count())
print('是否支持BF16数字格式:','支持' if (torch.cuda.is_bf16_supported()) else '不支持')
print('当前显卡型号:',torch.cuda.get_device_name())
print('当前显卡的CUDA算力:',torch.cuda.get_device_capability())
# 以下代码测试是否能通过gpu加速  是否缺少Lapack包
a = torch.Tensor(5,3)
a = a.cuda()
print(a)
A = torch.rand(5,5)
torch.inverse(A)

可用的pytorch wheel(低算力版本)

版本说明:

cuda == 10.2
window == 10
cudadnn== 7.6.4.38
python == 3.8
pytorch == 1.8.0

且用且珍惜,编译一次太麻烦了。
zd200572 low_gpu_pytorch_1.8.1 缺少lapack
龙晨天的 torch-1.8.0a0+56b43f4-cp38-cp38-win_amd64.whl 解决了缺少lapack的问题

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
这个错误提示意味着 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` 的错误提示。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值