当前位置: 首页 > article >正文

【Linux】ComfyUI和SD WebUI之PYTHON环境共享,模型共享,LORA等公共资源共享

需求

一般玩AI绘图都会装ComfyUI和SD WebUI。而且这俩的模型、lora等都是一致的。为了避免空间的浪费,一般会采用共享数据的方式。而且共享的数据可以任意指定分区,这让挂载NAS共享空间成为可能,实现多绘画机ComfyUI和SD WebUI共享资源。

实现

即使我们将能共享的资源共享,我们也仅能实现90%的资源共享,还是部分资源还是无法完全共享,例如sam模型、facedetection等。所以建议应用所在盘至少预留10G的空间。

NAS挂载这里就不说了,重点说配置的部分

远程盘目录

PYTHON环境共享

PYTHON环境共享后,可以节约很多PYTHON组件资源。由于SDWebUI采用venv,因此ComfyUI也采用venv是最合适的,我们将ComfyUI里的venv提到用户根/root。然后所有的pip安装requirements以及运行前,先进入venv环境:

source /root/venv/bin/activate

SDWebUI

目前个人采用的方式,是在启动参数里配置,这样可以根据不同的启动配置来变更参数。例如/data是我们的NAS远程盘。这样来启动SDWebUI:

source /root/venv/bin/activate
cd /root/sd-webui-aki-v4.7
./webui.sh --listen --skip-torch-cuda-test --disable-nan-check --skip-version-check --skip-python-version-check --enable-insecure-extension-access --api --xformers --xformers-flash-attention --opt-sdp-attention --no-half-vae --theme=dark --lora-dir /data/models/Lora --vae-dir /data/models/VAE --ckpt-dir /data/models/checkpoint --controlnet-dir /data/models/ControlNet --embeddings-dir /data/models/embeddings --controlnet-annotator-models-path /data/models/downloads

ComfyUI

配置完后SDWebUI后,我们就可以配置ComfyUI共享一些SDWebUI配置

ComfyUI的配置文件在展开根目录下的extra_model_paths.yaml,没有就新建一个:

主要修改a1111下的base_path以及comfyui下的几个配置

#Rename this to extra_model_paths.yaml and ComfyUI will load it


#config for a1111 ui
#all you have to do is change the base_path to where yours is installed
a111:
    base_path: /root/sd-webui-aki-v4.7/

    checkpoints: models/Stable-diffusion
    configs: models/Stable-diffusion
    vae: models/VAE
    loras: |
         models/Lora
         models/LyCORIS
    upscale_models: |
                  models/ESRGAN
                  models/RealESRGAN
                  models/SwinIR
    embeddings: embeddings
    hypernetworks: models/hypernetworks
    controlnet: models/ControlNet

#config for comfyui
#your base path should be either an existing comfy install or a central folder where you store all of your models, loras, etc.

comfyui:
     base_path: /root/ComfyUI/
     checkpoints: /data/models/checkpoint
     clip: /data/models/clip/
     clip_vision: /data/models/clip_vision/
     configs: /data/models/configs/
     controlnet: /data/models/ControlNet
     embeddings: /data/models/embeddings/
     loras: /data/models/Lora/
#     upscale_models: models/upscale_models/
     vae: /data/models/VAE/
     unet: /data/models/unet/

#other_ui:
#    base_path: path/to/ui
#    checkpoints: models/checkpoints
#    gligen: models/gligen

然后启动comfyui:

#!/bin/bash
cd /root/
source /root/venv/bin/activate
python ComfyUI/main.py --fp8_e4m3fn-text-enc --fp8_e4m3fn-unet --front-end-version Comfy-Org/ComfyUI_frontend@latest --listen 0.0.0.0


http://www.kler.cn/news/342528.html

相关文章:

  • 实用Linux脚本
  • 【论文阅读】Cross Attention Network for Few-shot Classification
  • Golang | Leetcode Golang题解之第464题我能赢吗
  • c#中多态的实例应用说明
  • PHP智慧餐饮新风尚点餐系统
  • vscode 中显示 pnpm : 无法加载文件 C:\Users\AppData\Roaming\npm\pnpm.ps1,因为在此系统上禁止运行脚本
  • pytorch导入数据集
  • Python快速编程小案例——打印蚂蚁森林植树证书
  • YOLOv11训练自己数据集_笔记1
  • ReactRouter快速梳理
  • 【linux 多进程并发】0201 Linux进程fork内存空间,父子进程变量内存地址居然是一样的
  • 潜水打捞系统助力,破解汽车打捞难题
  • 2-118 基于matlab的六面体建模和掉落仿真
  • 继承--C++
  • Spring Boot洗衣店订单系统:智能库存管理
  • QT调用最新的libusb库
  • RelationGraph实现工单进度图——js技能提升
  • 使用 C# 构建强大的网络爬虫:从基础到高级功能实现
  • 【教学类-36-10】20241010职业抽卡(midjounery-niji)(涂色、裁剪、游戏)
  • 【VUE】Vue的diff算法和React的diff算法