easyphoto

[ ] 已实现

手动git clone git@github.com:aigc-apps/sd-webui-EasyPhoto.git到本地,再复制到D:\ai\stable-diffusion-webui\extensions中。

在sd-web-ui的extensions标签页的Install from URL中填git@github.com:aigc-apps/sd-webui-EasyPhoto.git,再点Install。再去Installed标签页点Apply and restart UI.

启动时报错:

*** Error loading script: easyphoto_ui.py
    Traceback (most recent call last):
      File "D:\ai\stable-diffusion-webui\venv\lib\site-packages\modelscope\utils\ast_utils.py", line 466, in _get_single_file_scan_result
        output = self.astScaner.generate_ast(file)
      File "D:\ai\stable-diffusion-webui\venv\lib\site-packages\modelscope\utils\ast_utils.py", line 365, in generate_ast
        output = self.scan_import(node, show_offsets=False)
      File "D:\ai\stable-diffusion-webui\venv\lib\site-packages\modelscope\utils\ast_utils.py", line 164, in scan_import
        local_out = _scan_import(el, type(el).__name__)
      File "D:\ai\stable-diffusion-webui\venv\lib\site-packages\modelscope\utils\ast_utils.py", line 133, in _scan_import
        return self.scan_import(
      File "D:\ai\stable-diffusion-webui\venv\lib\site-packages\modelscope\utils\ast_utils.py", line 151, in scan_import
        attr = getattr(node, field)
    AttributeError: 'ClassDef' object has no attribute 'type_params'

删除 ~/.cache/modelscope/ast_indexer 这个文件,再重启sd-webui即可。

*** Error loading script: easyphoto_ui.py
    Traceback (most recent call last):
      File "D:\ai\stable-diffusion-webui\modules\scripts.py", line 515, in load_scripts
        script_module = script_loading.load_module(scriptfile.path)
      File "D:\ai\stable-diffusion-webui\modules\script_loading.py", line 13, in load_module
        module_spec.loader.exec_module(module)
      File "<frozen importlib._bootstrap_external>", line 883, in exec_module
      File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
      File "D:\ai\stable-diffusion-webui\extensions\sd-webui-EasyPhoto\scripts\easyphoto_ui.py", line 23, in <module>
        from scripts.easyphoto_train import easyphoto_train_forward
      File "D:\ai\stable-diffusion-webui\extensions\sd-webui-EasyPhoto\scripts\easyphoto_train.py", line 23, in <module>
        from scripts.train_kohya.utils.lora_utils import convert_lora_to_safetensors
      File "D:\ai\stable-diffusion-webui\extensions\sd-webui-EasyPhoto\scripts\train_kohya\utils\lora_utils.py", line 16, in <module>
        from diffusers import AutoencoderKL
      File "D:\ai\stable-diffusion-webui\venv\lib\site-packages\diffusers\__init__.py", line 5, in <module>
        from .utils import (
      File "D:\ai\stable-diffusion-webui\venv\lib\site-packages\diffusers\utils\__init__.py", line 38, in <module>
        from .dynamic_modules_utils import get_class_from_dynamic_module
      File "D:\ai\stable-diffusion-webui\venv\lib\site-packages\diffusers\utils\dynamic_modules_utils.py", line 28, in <module>
        from huggingface_hub import HfFolder, cached_download, hf_hub_download, model_info
    ImportError: cannot import name 'cached_download' from 'huggingface_hub' (D:\ai\stable-diffusion-webui\venv\lib\site-packages\huggingface_hub\__init__.py)

本机解决方案见这里。【
SOLUTION : Replace cached_download by hf_hub_download in D:\ai\stable-diffusion-webui\venv\lib\site-packages\diffusers\utils\dynamic_modules_utils.py】

生成时报错:

Applying attention optimization: InvokeAI... done.
Traceback (most recent call last):
  File "D:\ai\stable-diffusion-webui\venv\lib\site-packages\gradio\routes.py", line 488, in run_predict
    output = await app.get_blocks().process_api(
  File "D:\ai\stable-diffusion-webui\venv\lib\site-packages\gradio\blocks.py", line 1431, in process_api
    result = await self.call_function(
  File "D:\ai\stable-diffusion-webui\venv\lib\site-packages\gradio\blocks.py", line 1103, in call_function
    prediction = await anyio.to_thread.run_sync(
  File "D:\ai\stable-diffusion-webui\venv\lib\site-packages\anyio\to_thread.py", line 33, in run_sync
    return await get_asynclib().run_sync_in_worker_thread(
  File "D:\ai\stable-diffusion-webui\venv\lib\site-packages\anyio\_backends\_asyncio.py", line 877, in run_sync_in_worker_thread
    return await future
  File "D:\ai\stable-diffusion-webui\venv\lib\site-packages\anyio\_backends\_asyncio.py", line 807, in run
    result = context.run(func, *args)
  File "D:\ai\stable-diffusion-webui\venv\lib\site-packages\gradio\utils.py", line 707, in wrapper
    response = f(*args, **kwargs)
  File "D:\ws\apps\python310\lib\contextlib.py", line 79, in inner
    return func(*args, **kwds)
  File "D:\ai\stable-diffusion-webui\extensions\sd-webui-EasyPhoto\scripts\easyphoto_train.py", line 228, in easyphoto_train_forward
    unload_models()
  File "D:\ai\stable-diffusion-webui\extensions\sd-webui-EasyPhoto\scripts\easyphoto_utils\common_utils.py", line 816, in unload_models
    torch.cuda.ipc_collect()
  File "D:\ai\stable-diffusion-webui\venv\lib\site-packages\torch\cuda\__init__.py", line 795, in ipc_collect
    _lazy_init()
  File "D:\ai\stable-diffusion-webui\venv\lib\site-packages\torch\cuda\__init__.py", line 298, in _lazy_init
    torch._C._cuda_init()
RuntimeError: Found no NVIDIA driver on your system. Please check that you have an NVIDIA GPU and installed a driver from http://www.nvidia.com/Download/index.aspx

解决方式在这里
修改D:\ai\stable-diffusion-webui\extensions\sd-webui-EasyPhoto\scripts\easyphoto_utils\common_utils.py”的816行及下一行:

    torch.cuda.empty_cache()
    torch.cuda.ipc_collect()

    if torch.cuda.is_available():
        torch.cuda.empty_cache()
        torch.cuda.ipc_collect()

并删除同目录下的__pycache__文件夹

重新生成或重启sd-webui后再重新生成。

报错:RuntimeError: "slow_conv2d_cpu" not implemented for 'Half'
暂未解决,暂时不使用easyphoto了。

作者:张三  创建时间:2024-12-10 21:59
最后编辑:张三  更新时间:2024-12-10 22:02