sd-webui手动构建最新教程

蔡不菜和他的uU们 2024-06-23 17:33:02 阅读 78

拷贝了一个 别人构建好环境的 sd-webui 项目,【项目内构建venv环境方式】 发现环境无法正常使用【后来发现,是这个环境是依赖本机原有python进行构建的,路径被写成绝对路径,迁移后无法找到】,决定自己重新构建,使用conda创建虚拟环境,这一形式来构建环境【后续如果迁移,应该修改少一点就可以实现】

不依赖 自动化构建 .bat,也可以帮助更好理解sd-webui的结构,一点点把它构建起来,加深了解

环境说明:windows+conda+torch2.1.0, 其他依赖下载日期 2024/5/14

如有疑问或实现中遇到问题,欢迎留言、加群讨论【群号:392784757】或私信与我联系

手动构建

conda create -n sd-webui python==3.10.6 # python 3.10.6 官方推荐conda activate sd-webui

然后先下载 torch版本【后面不用修改,也不会出现 torch not compiled with cuda enable】

pip install torch==2.1.0 torchvision==0.16.0 torchaudio==2.1.0 --index-url https://download.pytorch.org/whl/cu118

仓库提供了手动构建的文档,链接 https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Install-and-Run-on-NVidia-GPUs

image.png

因为文档不是最新的,依赖项也有新的变化,这里给出 repositories 中下载的其他依赖项

image.png

这些依赖项下载后,有些【taming-transformers …】需要进行手动安装,切换到目录下,执行

pip install -e .

错误汇总

No module named ‘pytorch_lightning.utilities.distributed‘

pip install pytorch_lightning==1.9.2

Unable to find “sgm”

[Bug]: Unable to find “sgm” · Issue #13191 · AUTOMATIC1111/stable-diffusion-webui

git clone https://github.com/Stability-AI/generative-models.git repositories/generative-modelscd repositories/generative-modelspip install -e .

ModuleNotFoundError: No module named ‘ldm.modules.midas’

On macbook : ModuleNotFoundError: No module named ’ldm.modules.midas · AUTOMATIC1111/stable-diffusion-webui · Discussion #8545

git clone https://github.com/Stability-AI/stablediffusion.git && mv stablediffusion repositories/stable-diffusion cd repositories/stable-diffusionpip install -e .

ModuleNotFoundError: No module named ‘taming‘

git clone https://github.com/CompVis/taming-transformers.git repositories/taming-transformerscd repositories/taming-transformerspip install -e .

stable-diffusion-webui-assets’ does not exist

image.png

下载下面项目 放置到对应目录下

GitHub - AUTOMATIC1111/stable-diffusion-webui-assets: Web assets for stable-diffusion-webui

torch not compiled with cuda enabled

image.png

检查 torch 是否是GPU版本,不是重新下载

safetensors_rust.SafetensorError: Error while deserializing header: MetadataIncompleteBuffer

文件不完整 重新下载

safetensors_rust.SafetensorError: Error while deserializing header: MetadataIncompleteBuffer-CSDN博客

AttributeError: ‘NoneType’ object has no attribute 'lowvram’640

这个问题,我处理了半天,最好我刷新了很多次,模型又可以正常加载了

AttributeError: NoneType’ object has no attribute ‘lowvram’ #15595 ---->

Fix corrupt model initial load loop

已经修改了,但应该是还没合并到main分支里面

修改内容【修改后是下面的样子】

modules\sd_models.py

def send_model_to_cpu(m):if m is not None: if m.lowvram: lowvram.send_everything_to_cpu() else: m.to(devices.cpu) devices.torch_gc()

extensions-builtin\Lora\ui_extra_networks_lora.py

# if shared.opts.lora_show_all or not enable_filter: # pass # elif sd_version == network.SdVersion.Unknown: # model_version = network.SdVersion.SDXL if shared.sd_model.is_sdxl else network.SdVersion.SD2 if shared.sd_model.is_sd2 else network.SdVersion.SD1 # if model_version.name in shared.opts.lora_hide_unknown_for_versions: # return None if shared.sd_model is not None: # still show LoRA in case an error occurs during initial model loading if shared.opts.lora_show_all or not enable_filter: pass elif sd_version == network.SdVersion.Unknown: model_version = network.SdVersion.SDXL if shared.sd_model.is_sdxl else network.SdVersion.SD2 if shared.sd_model.is_sd2 else network.SdVersion.SD1 if model_version.name in shared.opts.lora_hide_unknown_for_versions: return None elif shared.sd_model.is_sdxl and sd_version != network.SdVersion.SDXL: return None elif shared.sd_model.is_sd2 and sd_version != network.SdVersion.SD2: return None elif shared.sd_model.is_sd1 and sd_version != network.SdVersion.SD1: return None # elif shared.sd_model.is_sdxl and sd_version != network.SdVersion.SDXL: # return None # elif shared.sd_model.is_sd2 and sd_version != network.SdVersion.SD2: # return None # elif shared.sd_model.is_sd1 and sd_version != network.SdVersion.SD1: # return None return item

huggingface 模型下载

huggingface-cli+hf-transfer 【感觉超级快】

pip install hf-transfer

终端/powershell执行 设置代理

$env:HF_ENDPOINT = "https://hf-mirror.com"$env:HF_HUB_ENABLE_HF_TRANSFER = 1

image.png

这个下载速度,有时候能冲到 200多MB/s 厉害

success !!!

image.png

如有疑问或实现中遇到问题,欢迎留言、加群讨论【群号:392784757】或私信与我联系



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。