【无标题】

本文前提为windows系统

关于CUDA版本及cudatoolkit

在GitHub页中Minghan Qin团队提及使用了CUDA11.8但是yml中采取了cudatoolkit版本为11.6 。本人思索再三不知道是怎么实现的。但是测试结果为安装CUDA11.6也可以。

NVIDIA控制面板打不开或nvidia -smi命令报错或no CUDA-capable device is detected

进入控制面板-设备管理器或者win键搜索设备管理器查看显示适配器的NVIDIAGeForce。可能显示“NVIDIA驱动程序无法使用 显示由于该设备有问题,Windows 已将其停止。”
解决方法:
在设备管理器中右键点击NVIDIA驱动,选择卸载设备,卸载的时候勾选删除此设备的驱动程序,然后重启一下机器,重启之后进入GeForce experience这个软件,登陆NVIDIA账户,选择驱动程序,点击下载,下载之后选择自定义安装,勾选执行清洁安装,看一下能否安装成功。

如果没有GeForce experience这个软件,可以通过下面链接下载:https://cn.download.nvidia.com/GFE/GFEClient/3.20.4.14/GeForce_Experience_v3.20.4.14.exe

自我感觉CUDA无问题但是一直再报错CUDA的可能性问题

检查conda源是否为清华源。清华源的pytorch默认是下载cpu版本, 未找到清华源下载gpu的方法。
这个时候就只能去pytorch官网pip下载对应包, 如果vpn允许, 可以自行使用pip install torch下载,但是一般pip下载会受限于墙失败。所以说先分析一下下载命令:
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
前半部分正常pip命令不看, 我们直接去看后半截是一个网址。前往pytorch官方下载源网址如图。进入这个网址能看到这样的
观察分析一下,这些链接组成结构是:
安装环境-torch版本-支持的python版本(cpxx)-支持的电脑型号
cuxx:指CUDA版本, 118就是CUDA11.8对应的pytorch
win-amd64:大部分Windows系统支持的版本
(向下翻可以找到cuxx开头的是我们需要的)

同样cuxx附近还有对应的torchvision, torchaudio等

点击下载为 .whl 格式文件。打开Anaconda Prompt并activate到对应环境,然后pip install xxxxx.whl。如

pip install torch-1.12.1+cu116-cp37-cp37m-win_amd64.whl

最后新建一个文件输入代码测试安装是否成功

import torch

# 检查是否存在可用的 GPU
if torch.cuda.is_available():
    print("CUDA is available!")
else:
    print("CUDA is not available.")
print(torch.version.cuda)

如果安装版本正确且为GPU版将输出CUDA is available!

报错中提示无ninja模块及“subprocess.CalledProcessError: Command ‘[‘ninja‘, ‘-v‘]‘ returned non-zero exit status 1”

无ninja模块

conda install ninja

“subprocess.CalledProcessError: Command ‘[‘ninja‘, ‘-v‘]‘ returned non-zero exit status 1”

这个错误的出现主要是因为pytorch版本大于1.5,可行的解决方法有两个:

  1. 将setup.py中的“cmdclass={‘build_ext’: BuildExtension}”这一行改为“cmdclass={‘build_ext’: BuildExtension.with_options(use_ninja=False)}”,pytorch默认使用ninjia作为backend,这里把它禁用掉就好了

  2. torch/utils/cpp_extension.py中的[‘ninja’,‘-v’]改成[‘ninja’,‘–version’],这个方法亲测可行, 但是仍然建议先尝试上一种。
    P.S. 假设你的虚拟环境叫LangSplat, 你的torch默认安装目录在

C:\ProgramData\anaconda3\envs\LangSplat\Lib\site-packages\torch

参考文献

cl.exe找不到

这个可能情况有两个:

  1. 环境变量未配置:把C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.39.33519\bin\Hostx86\arm64\ 添加进环境变量的Path
    P.S.这是我的路径, 诸位可以在C:\Program Files\Microsoft Visual Studio文件夹下搜索cl.exe文件并查找路径。
  2. 不存在cl.exe文件:下载VS2019, 按步骤安装完成之后转到上一种情况添加环境变量。
    P.S.VS2022想要转VS2019可以在VS installer中点击修改, 在C++桌面开发中选择这个。但是VS2022也有概率可以编译成功(未能复现)。
    在这里插入图片描述

编译报错:too few arguments for template template parameter “Tuple“ detected

前往torch的目录中寻找cast.h文件,默认安装路径如下:

C:\ProgramData\anaconda3\envs\LangSplat\Lib\site-packages\torch\include\pybind11

然后把下面网址的cast.h替换你的cast.h。

https://gist.github.com/johnbanq/f4e4e8ba9253ba0dc4e09ad0e0b73ebb

参考文献

暂且如此, 有新的再加

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值