0


昇腾推理卡Atlas300IDuo跑sd-webui

Atlas300IDuo跑的sd-webui

参考:https://www.hiascend.com/software/mindie

环境准备

cpu: Kunpeng920
npu: Atlas300 IDuo * 4
memory:256GB

安装环境

驱动安装:https://www.hiascend.com/document/detail/zh/quick-installation/24.0.RC1/quickinstg/800_3000/quickinstg_800_3000_0001.html
cann安装:https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/80RC2alpha001/softwareinst/instg/instg_0001.html
mindie安装:https://www.hiascend.com/document/detail//zh/mindie/10RC1/description/releasenote/download
mindie官方提供镜像:https://ascendhub.huawei.com/

下载源码

源代码路径:
https://gitee.com/ascend/ModelZoo-PyTorch/tree/master/MindIE/MindIE-Torch/built-in/foundation/sd-webui
branch:master
tag: e10748482de9f8be5371c470127e6098d41ed0e4

SD-WebUI-TorchAIE推理指导

参考:Model-PyTorch/MindIE/MindIE-Torch/built-in/foundation/sd-webui/torch_aie_extension/readme.md

  • 1、打开命令行终端,导入环境变量:
source /usr/local/Ascend/mindie/set_env.sh
source /usr/local/Ascend/ascend-toolkit/set_env.sh

运行功能

在stable-diffusion-webui工程路径下执行命令启动webui,自动安装需要的环境

python launch.py --skip-torch-cuda-test --port7860 --enable-insecure-extension-access --listen --log-startup --disable-safe-unpickle --no-half --skip-prepare-environment

在这里插入图片描述

存在的问题:推理速度很慢,一张512*512的图片生成需要18分钟。太慢了,感觉使用cpu来跑的。。。。。。后续蹲优化;

QA

  • 问题一安装requirements.txt的时候ERROR: Could not find a version that satisfies the requirement tb-nightly (from versions: none) ERROR: No matching distribution found for tb-nightly的出现报错解决方式:pip install tb-nightly -i http://mirrors.aliyun.com/pypi/simple --trusted-host mirrors.aliyun.com
  • 问题二、运行的时候出现问题ModuleNotFoundError: No module named ‘_bz2’Traceback (most recent call last): File "/home/stable-diffusion-webui/launch.py", line 48, in<module> main() File "/home/stable-diffusion-webui/launch.py", line 44, in main start() File "/home/stable-diffusion-webui/modules/launch_utils.py", line 465, in start import webui File "/home/stable-diffusion-webui/webui.py", line 13, in<module> initialize.imports() File "/home/stable-diffusion-webui/modules/initialize.py", line 26, in imports from modules import paths, timer, import_hook, errors # noqa: F401 File "/home/stable-diffusion-webui/modules/paths.py", line 60, in<module>import sgm # noqa: F401 File "/home/stable-diffusion-webui/repositories/generative-models/sgm/__init__.py", line 1, in<module> from .models import AutoencodingEngine, DiffusionEngine File "/home/stable-diffusion-webui/repositories/generative-models/sgm/models/__init__.py", line 1, in<module> from .autoencoder import AutoencodingEngine File "/home/stable-diffusion-webui/repositories/generative-models/sgm/models/autoencoder.py", line 12, in<module> from ..modules.diffusionmodules.model import Decoder, Encoder File "/home/stable-diffusion-webui/repositories/generative-models/sgm/modules/__init__.py", line 1, in<module> from .encoders.modules import GeneralConditioner File "/home/stable-diffusion-webui/repositories/generative-models/sgm/modules/encoders/modules.py", line 7, in<module>import open_clip File "/usr/local/python3.10.2/lib/python3.10/site-packages/open_clip/__init__.py", line 1, in<module> from .coca_model import CoCa File "/usr/local/python3.10.2/lib/python3.10/site-packages/open_clip/coca_model.py", line 9, in<module> from .transformer import( File "/usr/local/python3.10.2/lib/python3.10/site-packages/open_clip/transformer.py", line 10, in<module> from .utils import to_2tuple File "/usr/local/python3.10.2/lib/python3.10/site-packages/open_clip/utils.py", line 6, in<module> from torchvision.ops.misc import FrozenBatchNorm2d File "/usr/local/python3.10.2/lib/python3.10/site-packages/torchvision/__init__.py", line 5, in<module> from torchvision import datasets, io, models, ops, transforms, utils File "/usr/local/python3.10.2/lib/python3.10/site-packages/torchvision/datasets/__init__.py", line 1, in<module> from ._optical_flow import FlyingChairs, FlyingThings3D, HD1K, KittiFlow, Sintel File "/usr/local/python3.10.2/lib/python3.10/site-packages/torchvision/datasets/_optical_flow.py", line 12, in<module> from .utils import _read_pfm, verify_str_arg File "/usr/local/python3.10.2/lib/python3.10/site-packages/torchvision/datasets/utils.py", line 1, in<module>import bz2 File "/usr/local/python3.10.2/lib/python3.10/bz2.py", line 17, in<module> from _bz2 import BZ2Compressor, BZ2DecompressorModuleNotFoundError: No module named '_bz2'- 解决方法:复制/usr/lib/python3.10/lib-dynload/_bz2.cpython-310-aarch64-linux-gnu.so 至/usr/local/python3.10.2/lib/python3.10/lib-dynload目录下,并分配可读权限:chmod a+r ./_bz2.cpython-310-aarch64-linux-gnu.so
  • 问题三运行报错ModuleNotFoundError: No module named ‘_lzma’Traceback (most recent call last): File "/home/stable-diffusion-webui/launch.py", line 48, in<module> main() File "/home/stable-diffusion-webui/launch.py", line 44, in main start() File "/home/stable-diffusion-webui/modules/launch_utils.py", line 465, in start import webui File "/home/stable-diffusion-webui/webui.py", line 13, in<module> initialize.imports() File "/home/stable-diffusion-webui/modules/initialize.py", line 26, in imports from modules import paths, timer, import_hook, errors # noqa: F401 File "/home/stable-diffusion-webui/modules/paths.py", line 60, in<module>import sgm # noqa: F401 File "/home/stable-diffusion-webui/repositories/generative-models/sgm/__init__.py", line 1, in<module> from .models import AutoencodingEngine, DiffusionEngine File "/home/stable-diffusion-webui/repositories/generative-models/sgm/models/__init__.py", line 1, in<module> from .autoencoder import AutoencodingEngine File "/home/stable-diffusion-webui/repositories/generative-models/sgm/models/autoencoder.py", line 12, in<module> from ..modules.diffusionmodules.model import Decoder, Encoder File "/home/stable-diffusion-webui/repositories/generative-models/sgm/modules/__init__.py", line 1, in<module> from .encoders.modules import GeneralConditioner File "/home/stable-diffusion-webui/repositories/generative-models/sgm/modules/encoders/modules.py", line 7, in<module>import open_clip File "/usr/local/python3.10.2/lib/python3.10/site-packages/open_clip/__init__.py", line 1, in<module> from .coca_model import CoCa File "/usr/local/python3.10.2/lib/python3.10/site-packages/open_clip/coca_model.py", line 9, in<module> from .transformer import( File "/usr/local/python3.10.2/lib/python3.10/site-packages/open_clip/transformer.py", line 10, in<module> from .utils import to_2tuple File "/usr/local/python3.10.2/lib/python3.10/site-packages/open_clip/utils.py", line 6, in<module> from torchvision.ops.misc import FrozenBatchNorm2d File "/usr/local/python3.10.2/lib/python3.10/site-packages/torchvision/__init__.py", line 5, in<module> from torchvision import datasets, io, models, ops, transforms, utils File "/usr/local/python3.10.2/lib/python3.10/site-packages/torchvision/datasets/__init__.py", line 1, in<module> from ._optical_flow import FlyingChairs, FlyingThings3D, HD1K, KittiFlow, Sintel File "/usr/local/python3.10.2/lib/python3.10/site-packages/torchvision/datasets/_optical_flow.py", line 12, in<module> from .utils import _read_pfm, verify_str_arg File "/usr/local/python3.10.2/lib/python3.10/site-packages/torchvision/datasets/utils.py", line 6, in<module>import lzma File "/usr/local/python3.10.2/lib/python3.10/lzma.py", line 27, in<module> from _lzma import *ModuleNotFoundError: No module named '_lzma'- 解决方法:sudo apt-get install liblzma-devpip install backports.lzma修改 lzma.py文件find / -name lzma.py找到源码文件路径 vim /usr/local/python/lib/python3.10.xxx/lzma.py#修改前from _lzma import *from _lzma import _encode_filter_properties, _decode_filter_properties#修改后 try: from _lzma import * from _lzma import _encode_filter_properties, _decode_filter_propertiesexcept ImportError: from backports.lzma import * from backports.lzma import _encode_filter_properties, _decode_filter_properties
  • 问题四、运行报错ImportError: libGL.so.1Traceback (most recent call last): File "/home/stable-diffusion-webui/launch.py", line 48, in<module> main() File "/home/stable-diffusion-webui/launch.py", line 44, in main start() File "/home/stable-diffusion-webui/modules/launch_utils.py", line 465, in start import webui File "/home/stable-diffusion-webui/webui.py", line 13, in<module> initialize.imports() File "/home/stable-diffusion-webui/modules/initialize.py", line 39, in imports from modules import processing, gradio_extensons, ui # noqa: F401 File "/home/stable-diffusion-webui/modules/processing.py", line 14, in<module>import cv2 File "/usr/local/python3.10.2/lib/python3.10/site-packages/cv2/__init__.py", line 181, in<module> bootstrap() File "/usr/local/python3.10.2/lib/python3.10/site-packages/cv2/__init__.py", line 153, in bootstrap native_module = importlib.import_module("cv2") File "/usr/local/python3.10.2/lib/python3.10/importlib/__init__.py", line 126, in import_module return _bootstrap._gcd_import(name[level:], package, level)ImportError: libGL.so.1: cannot open shared object file: No such file or directory- 解决办法:ubuntu: sudo apt-get install libgl1-mesa-glxcentos: yum install mesa-libGL -y
  • 问题五、运行报错libgthread-2.0.so.0:No module 'xformers'. Proceeding without it.Warning: caught exception 'Torch not compiled with CUDA enabled', memory monitor disabledinitialize shared: donein0.196sTraceback (most recent call last): File "/home/stable-diffusion-webui/launch.py", line 48, in<module> main() File "/home/stable-diffusion-webui/launch.py", line 44, in main start() File "/home/stable-diffusion-webui/modules/launch_utils.py", line 465, in start import webui File "/home/stable-diffusion-webui/webui.py", line 13, in<module> initialize.imports() File "/home/stable-diffusion-webui/modules/initialize.py", line 39, in imports from modules import processing, gradio_extensons, ui # noqa: F401 File "/home/stable-diffusion-webui/modules/processing.py", line 14, in<module>import cv2 File "/usr/local/python3.10.2/lib/python3.10/site-packages/cv2/__init__.py", line 181, in<module> bootstrap() File "/usr/local/python3.10.2/lib/python3.10/site-packages/cv2/__init__.py", line 153, in bootstrap native_module = importlib.import_module("cv2") File "/usr/local/python3.10.2/lib/python3.10/importlib/__init__.py", line 126, in import_module return _bootstrap._gcd_import(name[level:], package, level)ImportError: libgthread-2.0.so.0: cannot open shared object file: No such file or directory- 解决办法:apt-get install libglib2.0-0
  • 问题六、运行报错Can’t load tokenizer for 'openai/clip-vit-large-patch14reating model quickly: OSErrorTraceback (most recent call last): File "/usr/local/python3.10.2/lib/python3.10/threading.py", line 966, in _bootstrap self._bootstrap_inner() File "/usr/local/python3.10.2/lib/python3.10/threading.py", line 1009, in _bootstrap_inner self.run() File "/usr/local/python3.10.2/lib/python3.10/threading.py", line 946, in run self._target(*self._args, **self._kwargs) File "/home/stable-diffusion-webui/modules/initialize.py", line 149, in load_model shared.sd_model # noqa: B018 File "/home/stable-diffusion-webui/modules/shared_items.py", line 175, in sd_model return modules.sd_models.model_data.get_sd_model() File "/home/stable-diffusion-webui/modules/sd_models.py", line 620, in get_sd_model load_model() File "/home/stable-diffusion-webui/modules/sd_models.py", line 723, in load_model sd_model = instantiate_from_config(sd_config.model) File "/home/stable-diffusion-webui/repositories/stable-diffusion-stability-ai/ldm/util.py", line 89, in instantiate_from_config return get_obj_from_str(config["target"])(**config.get("params", dict())) File "/home/stable-diffusion-webui/repositories/stable-diffusion-stability-ai/ldm/models/diffusion/ddpm.py", line 563, in __init__ self.instantiate_cond_stage(cond_stage_config) File "/home/stable-diffusion-webui/repositories/stable-diffusion-stability-ai/ldm/models/diffusion/ddpm.py", line 630, in instantiate_cond_stage model = instantiate_from_config(config) File "/home/stable-diffusion-webui/repositories/stable-diffusion-stability-ai/ldm/util.py", line 89, in instantiate_from_config return get_obj_from_str(config["target"])(**config.get("params", dict())) File "/home/stable-diffusion-webui/repositories/stable-diffusion-stability-ai/ldm/modules/encoders/modules.py", line 103, in __init__ self.tokenizer = CLIPTokenizer.from_pretrained(version) File "/usr/local/python3.10.2/lib/python3.10/site-packages/transformers/tokenization_utils_base.py", line 1809, in from_pretrained raise EnvironmentError(OSError: Can't load tokenizer for 'openai/clip-vit-large-patch14'. If you were trying to load it from 'https://huggingface.co/models', make sure you don't have a local directory with the same name. Otherwise, make sure 'openai/clip-vit-large-patch14' is the correct path to a directory containing all relevant files for a CLIPTokenizer tokenizer.- 解决办法:进入stable-diffusion-webui路径下1、新建openai目录2、git lfs install3、git clone https://www.modelscope.cn/AI-ModelScope/clip-vit-large-patch14.git4、cd clip-vit-large-patch14执行git lfs pull
  • 问题七、运行报错:Creating model from config: /home/stable-diffusion-webui/configs/v1-inference.yamlloading stable diffusion model: RuntimeErrorTraceback (most recent call last): File "/usr/local/python3.10.2/lib/python3.10/threading.py", line 966, in _bootstrap self._bootstrap_inner() File "/usr/local/python3.10.2/lib/python3.10/threading.py", line 1009, in _bootstrap_inner self.run() File "/usr/local/python3.10.2/lib/python3.10/threading.py", line 946, in run self._target(*self._args, **self._kwargs) File "/home/stable-diffusion-webui/modules/initialize.py", line 149, in load_model shared.sd_model # noqa: B018 File "/home/stable-diffusion-webui/modules/shared_items.py", line 175, in sd_model return modules.sd_models.model_data.get_sd_model() File "/home/stable-diffusion-webui/modules/sd_models.py", line 620, in get_sd_model load_model() File "/home/stable-diffusion-webui/modules/sd_models.py", line 748, in load_model load_model_weights(sd_model, checkpoint_info, state_dict, timer) File "/home/stable-diffusion-webui/modules/sd_models.py", line 393, in load_model_weights model.load_state_dict(state_dict, strict=False) File "/home/stable-diffusion-webui/modules/sd_disable_initialization.py", line 223, in<lambda> module_load_state_dict = self.replace(torch.nn.Module, 'load_state_dict', lambda *args, **kwargs: load_state_dict(module_load_state_dict, *args, **kwargs)) File "/home/stable-diffusion-webui/modules/sd_disable_initialization.py", line 221, in load_state_dict original(module, state_dict, strict=strict) File "/usr/local/python3.10.2/lib/python3.10/site-packages/torch/nn/modules/module.py", line 2138, in load_state_dict load(self, state_dict) File "/usr/local/python3.10.2/lib/python3.10/site-packages/torch/nn/modules/module.py", line 2126, in load load(child, child_state_dict, child_prefix) File "/usr/local/python3.10.2/lib/python3.10/site-packages/torch/nn/modules/module.py", line 2126, in load load(child, child_state_dict, child_prefix) File "/usr/local/python3.10.2/lib/python3.10/site-packages/torch/nn/modules/module.py", line 2126, in load load(child, child_state_dict, child_prefix)[Previous line repeated 1more time] File "/usr/local/python3.10.2/lib/python3.10/site-packages/torch/nn/modules/module.py", line 2120, in load module._load_from_state_dict( File "/home/stable-diffusion-webui/modules/sd_disable_initialization.py", line 225, in<lambda> linear_load_from_state_dict = self.replace(torch.nn.Linear, '_load_from_state_dict', lambda *args, **kwargs: load_from_state_dict(linear_load_from_state_dict, *args, **kwargs)) File "/home/stable-diffusion-webui/modules/sd_disable_initialization.py", line 191, in load_from_state_dict module._parameters[name]= torch.nn.parameter.Parameter(torch.zeros_like(param, device=device, dtype=dtype), requires_grad=param.requires_grad) File "/usr/local/python3.10.2/lib/python3.10/site-packages/torch/_meta_registrations.py", line 4507, in zeros_like res = aten.empty_like.default( File "/usr/local/python3.10.2/lib/python3.10/site-packages/torch/_ops.py", line 448, in __call__ return self._op(*args, **kwargs or {}) File "/usr/local/python3.10.2/lib/python3.10/site-packages/torch/_refs/__init__.py", line 4681, in empty_like return torch.empty_permuted(RuntimeError: unknown format type:117Stable diffusion model failed to loadApplying attention optimization: InvokeAI... done.Exception in thread Thread-6 (load_model):Traceback (most recent call last): File "/usr/local/python3.10.2/lib/python3.10/threading.py", line 1009, in _bootstrap_inner self.run() File "/usr/local/python3.10.2/lib/python3.10/threading.py", line 946, in run self._target(*self._args, **self._kwargs) File "/home/stable-diffusion-webui/modules/initialize.py", line 154, in load_model devices.first_time_calculation() File "/home/stable-diffusion-webui/modules/devices.py", line 265, in first_time_calculation x = torch.zeros((1,1)).to(device, dtype)RuntimeError: unknown format type:-748707168

解决办法:

把stable-diffusion-webui退回到1.7.0的版本;
git checkout v1.7.0


本文转载自: https://blog.csdn.net/weixin_50005386/article/details/138999633
版权归原作者 大海里的猴儿 所有, 如有侵权,请联系我们删除。

“昇腾推理卡Atlas300IDuo跑sd-webui”的评论:

还没有评论