当前位置:   article > 正文

sd-webui手动构建最新教程

sd-webui手动构建最新教程

拷贝了一个 别人构建好环境的 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
  • 1
  • 2

然后先下载 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

  • 1
  • 2

仓库提供了手动构建的文档,链接 https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Install-and-Run-on-NVidia-GPUs
image.png
因为文档不是最新的,依赖项也有新的变化,这里给出 repositories 中下载的其他依赖项
image.png
这些依赖项下载后,有些【taming-transformers …】需要进行手动安装,切换到目录下,执行

pip install -e .
  • 1

错误汇总

No module named ‘pytorch_lightning.utilities.distributed‘

pip install pytorch_lightning==1.9.2
  • 1

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-models
cd repositories/generative-models
pip install -e .
  • 1
  • 2
  • 3

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-diffusion
pip install -e .
  • 1
  • 2
  • 3

ModuleNotFoundError: No module named ‘taming‘

git clone https://github.com/CompVis/taming-transformers.git repositories/taming-transformers
cd repositories/taming-transformers
pip install -e . 
  • 1
  • 2
  • 3

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()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27

huggingface 模型下载

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

pip install hf-transfer
  • 1

终端/powershell执行 设置代理

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

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

success !!!

image.png

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

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号