安装Stable-Diffusion遇hipErrorNoBinaryForGpu错误,PyTorch GPU验证失败求助
问题详情
- 硬件/系统:Ryzen 5800X、RX 6700XT、32GB内存、Ubuntu 22.04.1
- 触发场景:安装Stable Diffusion并运行脚本时,以及执行PyTorch验证测试时
- 错误日志:
"hipErrorNoBinaryForGpu: Unable to find code object for all current devices!" Aborted (core dumped) - 当前环境状态:
- Conda已安装
torch 1.12.0a0+git2a932eb、torchvision 0.13.0a0+f5afae5 - 执行
torch.cuda.is_available(未加括号)返回函数对象(说明未正确调用该方法) - PyTorch官方基础验证(生成随机数组)通过,但GPU驱动检查失败
- Conda已安装
解决方案
核心原因
你使用的是AMD RX6700XT显卡,需要适配ROCm版本的PyTorch,而非普通CUDA版本。当前安装的PyTorch是针对NVIDIA CUDA编译的,无法兼容AMD的HIP运行时,导致无法找到对应GPU的二进制执行代码。
具体步骤
卸载现有PyTorch包
执行以下命令清理环境:conda uninstall -y torch torchvision安装ROCm适配版PyTorch
针对Ubuntu 22.04和RX6700XT,推荐安装适配ROCm 5.x的PyTorch版本,执行:conda install pytorch torchvision torchaudio rocm5.4.2 -c pytorch -c rocm若上述命令出现依赖问题,可改用官方推荐的ROCm 5.6版本命令:
conda install pytorch torchvision torchaudio pytorch-rocm5.6 -c pytorch -c rocm注:安装前需确保已正确配置ROCm驱动,Ubuntu 22.04需满足ROCm 5.2及以上版本要求。
验证GPU适配情况
启动Python终端,执行以下代码确认:import torch # 正确调用方法(必须加括号) print(torch.cuda.is_available()) print(torch.cuda.device_count()) print(torch.cuda.get_device_name(0))正常输出应为
True、1以及你的RX6700XT设备名称。重新配置Stable Diffusion依赖
回到Stable Diffusion项目目录,重新安装适配当前PyTorch的依赖:pip install -r requirements.txt --upgrade重新运行Stable Diffusion
启动SD脚本,此时应能正常调用RX6700XT进行图像生成。
内容的提问来源于stack exchange,提问作者lead oxide
相关产品推荐
相关产品推荐

