m0_56547566 2024-04-20 19:35 采纳率: 25%
浏览 436

使用ssh时出错module 'torch.cuda' has no attribute 'OutOfMemoryError'

使用ssh远程链接服务器,运行时显示出错
module 'torch.cuda' has no attribute 'OutOfMemoryError'

img


在网上查了一下,说可能是GPU版本的问题,但试了试显示CUDA可用,GPU没有,不知道怎么了

img

  • 写回答

3条回答 默认 最新

  • 专家-赤兔[在线] 优质创作者: 编程框架技术领域 2024-04-20 19:35
    关注

    引自免费微信小程序:皆我百晓生

    看起来你在尝试通过SSH连接到服务器上运行一个基于PyTorch的深度学习项目,遇到了两个主要问题:AttributeError: module 'torch.cuda' has no attribute 'OutOfMemoryError'NameError: name 'torch' is not defined

    首先解决第二个问题,即NameError: name 'torch' is not defined,这表明在你的环境中没有正确地导入torch库。确保你已经安装了PyTorch,并且在代码中正确导入它。可以在evaluate.py文件的开头添加以下两行:

    import torch
    

    对于第一个问题,AttributeError: module 'torch.cuda' has no attribute 'OutOfMemoryError',这可能是因为你正在使用的PyTorch版本过低,导致某些新特性(如OutOfMemoryError)不可用。为了修复这个问题,你需要更新你的PyTorch到最新版本。你可以通过以下命令在服务器上更新PyTorch:

    pip install --upgrade torch torchvision
    

    如果你的环境是虚拟环境(venv),请先激活虚拟环境再执行上述命令。

    此外,如果你确实有GPU资源并且想要利用它,但在运行时却提示无GPU可用,那可能是因为PyTorch没有找到你的GPU。检查你的系统设置,确认是否正确配置了CUDA和CuDNN,并且你的PyTorch与这些依赖项兼容。你也可以通过下面的Python代码来检查GPU的可用性:

    print(torch.version.cuda)  # 输出CUDA版本
    print(torch.backends.cudnn.version())  # 输出CuDNN版本
    print(torch.cuda.device_count())  # 输出可用GPU数量
    device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
    print(device)
    

    如果输出显示没有GPU可用,那么你可能需要检查你的CUDA和CuDNN安装,或者确保你的环境变量设置正确,特别是LD_LIBRARY_PATHCUDA_HOME

    如果你仍然遇到问题,可以尝试重新安装PyTorch及其依赖项,确保所有组件都已正确配置。如果问题依然存在,建议检查你的服务器是否有足够的显存来运行你的模型。如果内存不足,你可能需要调整模型参数、批处理大小或使用数据增强技术来减少内存占用。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 4月20日