鱼C论坛

 找回密码
 立即注册
查看: 3941|回复: 1

[已解决]torch问题(stable diffusion2.0)

[复制链接]
发表于 2023-1-13 10:29:35 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
在debian11上执行python,关于torch的报错:
  1. Python 3.10.8 (main, Nov 24 2022, 14:13:03) [GCC 11.2.0] on linux
  2. Type "help", "copyright", "credits" or "license" for more information.
  3. >>> import torch
  4. >>> torch.cuda.is_available()
  5. /root/miniconda3/envs/sd_GPU/lib/python3.10/site-packages/torch/cuda/__init__.py:83: UserWarning: HIP initialization: Unexpected error from hipGetDeviceCount(). Did you run some cuda functions before calling NumHipDevices() that might have already set an error? Error 101: hipErrorInvalidDevice (Triggered internally at  ../c10/hip/HIPFunctions.cpp:110.)
  6.   return torch._C._cuda_getDeviceCount() > 0
  7. False
  8. >>>
复制代码


运行stable diffusion 2.0的时候也是出现了这个错误。
  1. (sd_GPU) root@debian:/home/LYF/stablediffusion/stablediffusion-main# python scripts/txt2img.py --prompt "a professional photograph of an astronaut riding a horse" --ckpt models/ldm/sd_v2/768model.ckpt --config configs/stable-diffusion/v2-inference-v.yaml --H 768 --W 768  
  2. /root/miniconda3/envs/sd_GPU/lib/python3.10/site-packages/torchvision/io/image.py:13: UserWarning: Failed to load image Python extension: /root/miniconda3/envs/sd_GPU/lib/python3.10/site-packages/torchvision/image.so: undefined symbol: _ZN5torch3jit17parseSchemaOrNameERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
  3.   warn(f"Failed to load image Python extension: {e}")
  4. Global seed set to 42
  5. Loading model from models/ldm/sd_v2/768model.ckpt
  6. Global Step: 110000
  7. No module 'xformers'. Proceeding without it.
  8. LatentDiffusion: Running in v-prediction mode
  9. DiffusionWrapper has 865.91 M params.
  10. making attention of type 'vanilla' with 512 in_channels
  11. Working with z of shape (1, 4, 32, 32) = 4096 dimensions.
  12. making attention of type 'vanilla' with 512 in_channels
  13. Traceback (most recent call last):
  14.   File "/home/LYF/stablediffusion/stablediffusion-main/scripts/txt2img.py", line 289, in <module>
  15.     main(opt)
  16.   File "/home/LYF/stablediffusion/stablediffusion-main/scripts/txt2img.py", line 190, in main
  17.     model = load_model_from_config(config, f"{opt.ckpt}")
  18.   File "/home/LYF/stablediffusion/stablediffusion-main/scripts/txt2img.py", line 43, in load_model_from_config
  19.     model.cuda()
  20.   File "/root/miniconda3/envs/sd_GPU/lib/python3.10/site-packages/pytorch_lightning/core/mixins/device_dtype_mixin.py", line 127, in cuda
  21.     return super().cuda(device=device)
  22.   File "/root/miniconda3/envs/sd_GPU/lib/python3.10/site-packages/torch/nn/modules/module.py", line 689, in cuda
  23.     return self._apply(lambda t: t.cuda(device))
  24.   File "/root/miniconda3/envs/sd_GPU/lib/python3.10/site-packages/torch/nn/modules/module.py", line 579, in _apply
  25.     module._apply(fn)
  26.   File "/root/miniconda3/envs/sd_GPU/lib/python3.10/site-packages/torch/nn/modules/module.py", line 579, in _apply
  27.     module._apply(fn)
  28.   File "/root/miniconda3/envs/sd_GPU/lib/python3.10/site-packages/torch/nn/modules/module.py", line 579, in _apply
  29.     module._apply(fn)
  30.   [Previous line repeated 1 more time]
  31.   File "/root/miniconda3/envs/sd_GPU/lib/python3.10/site-packages/torch/nn/modules/module.py", line 602, in _apply
  32.     param_applied = fn(param)
  33.   File "/root/miniconda3/envs/sd_GPU/lib/python3.10/site-packages/torch/nn/modules/module.py", line 689, in <lambda>
  34.     return self._apply(lambda t: t.cuda(device))
  35.   File "/root/miniconda3/envs/sd_GPU/lib/python3.10/site-packages/torch/cuda/__init__.py", line 217, in _lazy_init
  36.     torch._C._cuda_init()
  37. RuntimeError: Unexpected error from hipGetDeviceCount(). Did you run some cuda functions before calling NumHipDevices() that might have already set an error? Error 101: hipErrorInvalidDevice
复制代码


用的显卡是GTX 980 Ti 系统Debian11 ,cuda版本:cuda-11.4
  1. (sd_GPU) root@debian:/home/LYF/stablediffusion/stablediffusion-main# nvidia-smi
  2. Fri Jan 13 10:04:08 2023      
  3. +-----------------------------------------------------------------------------+
  4. | NVIDIA-SMI 470.161.03   Driver Version: 470.161.03   CUDA Version: 11.4     |
  5. |-------------------------------+----------------------+----------------------+
  6. | GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
  7. | Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
  8. |                               |                      |               MIG M. |
  9. |===============================+======================+======================|
  10. |   0  NVIDIA GeForce ...  On   | 00000000:01:00.0 Off |                  N/A |
  11. | 22%   43C    P8    27W / 250W |      1MiB /  6075MiB |      0%      Default |
  12. |                               |                      |                  N/A |
  13. +-------------------------------+----------------------+----------------------+
  14.                                                                               
  15. +-----------------------------------------------------------------------------+
  16. | Processes:                                                                  |
  17. |  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
  18. |        ID   ID                                                   Usage      |
  19. |=============================================================================|
  20. |  No running processes found                                                 |
  21. +-----------------------------------------------------------------------------+

复制代码

所以请问这是什么问题呢?是cuda版本问题吗?还是显卡驱动的问题?非常感谢!!
最佳答案
2023-5-27 12:52:52
这个报错信息指出了一个HIP初始化的错误。HIP是AMD提供的一个类似于CUDA的加速框架。检查您的代码中是否有任何类似于hipGetDeviceCount()或NumHipDevices()的HIP函数调用。如果有,请确保在这些调用之前没有其他CUDA函数调用。

此外,尝试更新pytorch-lightning和pytorch版本以解决此问题。目前最新版本的pytorch为1.10.0,最新的pytorch-lightning可以通过pip安装,命令为:

  1. pip install pytorch-lightning
复制代码


如果您的电脑上还安装了其他版本的pytorch,您可以使用conda或者virtualenv等工具来创建一个隔离的python环境,以防止不同版本之间的冲突。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-5-27 12:52:52 | 显示全部楼层    本楼为最佳答案   
这个报错信息指出了一个HIP初始化的错误。HIP是AMD提供的一个类似于CUDA的加速框架。检查您的代码中是否有任何类似于hipGetDeviceCount()或NumHipDevices()的HIP函数调用。如果有,请确保在这些调用之前没有其他CUDA函数调用。

此外,尝试更新pytorch-lightning和pytorch版本以解决此问题。目前最新版本的pytorch为1.10.0,最新的pytorch-lightning可以通过pip安装,命令为:

  1. pip install pytorch-lightning
复制代码


如果您的电脑上还安装了其他版本的pytorch,您可以使用conda或者virtualenv等工具来创建一个隔离的python环境,以防止不同版本之间的冲突。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-23 20:48

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表