liunx装了torch-cuda,运行的却是cpu版的torch
正常运行下面测试代码,但是显示的是cpu
import torchprint(torch.__version__)
if torch.cuda.is_available():print("CUDA is available.")device = torch.device("cuda")x = torch.randn(5, 5).to(device)print(x)
else:print("CUDA is not available.")device = torch.device("cpu")x = torch.randn(5, 5)print(x)
中间有一个userwarning,如下:
UserWarning: CUDA initialization: CUDA unknown error - this may be due to an incorrectly set up environment, e.g. changing env variable CUDA_VISIBLE_DEVICES after program start. Setting the available devices to be zero. (Triggered internally at …/c10/cuda/CUDAFunctions.cpp:109.) return torch._C._cuda_getDeviceCount() > 0
参考:UserWarning: CUDA initialization: CUDA unknown error - this may be due to an incorrectly set up……-CSDN博客
UserWarning: CUDA initialization: CUDA unknown error - this may be due to an incorrectly set up……-CSDN博客
重装pytorch和CUDA也无济于事,后面查到是因为ubuntu在suspend出现的问题,重启服务器物理机就可以了。
重启,问题解决。
下面是挂起的解释(【Shell 命令集合 系统管理 内置命令】Linux 将系统进入挂起(暂停)suspend命令 使用指南_linux suspend-CSDN博客):
suspend命令是Linux系统中的一个内置命令,主要用于将系统进入挂起(暂停)状态,即将计算机的操作系统和硬件设备进入低功耗模式,以节省电力并延长电池寿命。
当使用suspend命令时,系统会将所有正在运行的进程暂停,并将它们的状态保存到内存中。同时,系统会关闭大部分硬件设备,如显示器、硬盘、鼠标、键盘等,以减少能耗。挂起状态下的计算机可以通过按下电源按钮或其他唤醒方式来恢复运行,系统会重新加载之前保存的进程状态,并重新激活硬件设备。
suspend命令的主要作用是在不需要计算机运行时,暂停系统的运行,以节省能源。这对于笔记本电脑用户来说特别有用,当他们需要暂时离开时,可以使用suspend命令将电脑挂起,而不是完全关闭。这样可以在不影响数据的情况下,快速地恢复到之前的工作状态。
mac好像也是一样的情况