【Linux】ComfyUI和SD WebUI之PYTHON环境共享,模型共享,LORA等公共资源共享。最大限度节约空间

news2025/1/19 11:38:04

需求

一般玩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.coloradmin.cn/o/2214074.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringCloud学习记录|day4

学习材料 2024最新SpringCloud微服务开发与实战,java黑马商城项目微服务实战开发(涵盖MybatisPlus、Docker、MQ、ES、Redis高级等) 网关 微服务下,好多不同地址和端口,而前端只知道8080,这怎么解决&…

不起眼的错误参数导致remote-debugging-port不生效

引言 背景 由于有一些小需求需要控制浏览器批量执行请求,最简单的方案是使用 DrissionPage 来实现,遂有了下面的问题。 问题 通过命令行传入 remote-debugging-port9111 参数,但是调试了一天,一直不生效,各种方法都…

【数据结构与算法】线性表链式存储结构

线性表链式存储结构 文章目录 链式存储结构*头结点和头指针一.线性链表(单链表)1.1定义1.2初始化1.2.1带头结点的初始化1.2.2不带头结点的初始化 1.3插入1.3.1按位序插入1.3.2指定结点的后插入操作1.3.3指定结点的前插入操作 1.4删除1.4.1按位序删除1.4.…

小猿口算安卓端安装包PK一题秒过关。。。

大家好,我是小黄。 近段时间,越来越多的同学都想去小猿口算里面虐小学生,但是发现越来越多的计算机学生带着科技与他们进行对抗,这样非计算机专业的大学生们​苦不堪言。 现在,非计算机大学生们翻身的机会来了&#…

二叉平衡树(AVL树)Java语言实现

一、二叉平衡树 上一章所示的同一组元素按照不同顺序插入到二叉排序树中可能会产生两种形状不同的二叉排序树。 当出现右边的情况时,树的高度过高,如果要查找值为“70”的节点需要查找7次,其查找次数已经接近于链表了,这样会导致…

短短几日连发数案,艺术家Jennifer Le Feuvre插画版权维权

案件基本情况起诉时间:2024-10-7、2024-10-8、2024-10-9案件号:24-cv-09629、24-cv-09636、24-cv-09640、24-cv-09688、24-cv-09697、24-cv-09709、24-cv-09712、24-cv-09757、24-cv-09775、24-cv-09794原告:Jennifer Le Feuvre原告律所&…

【安装教程】Windows10环境下Pytorch(GPU版)的安装与配置

目录 Pytorch的概念安装前要求一、NVIDIA驱动查看二、Anaconda的安装2.1 Anaconda的安装2.2 创建虚拟环境2.3 激活虚拟环境 三、CUDA ToolKit的安装(选做,CPU版本可跳过)3.1 CUDA安装包的下载(以CUDA11.6.0为例)3.2 CU…

架构设计笔记-19-大数据架构设计理论与实践

知识要点 案例分析 1.Lambda架构优缺点 2.web架构设计 3.web系统架构设计相关技术 论文

面向对象的继承性

目录 1、继承的概念 2、方法的重写 3、重载和重写的区别 4、super关键字 5、this和super的区别 6、final关键字 7、抽象类 8、接口 1、继承的概念 在程序中,继承描述的是事物之间的所属关系,通过继承可以使很多事物之间形成一种关系体系。 在Java…

51单片机的智能空调【proteus仿真+程序+报告+原理图+演示视频】

1、主要功能 该系统由AT89C51/STC89C52单片机LCD1602显示模块温湿度传感器继电器按键等模块构成。适用于空调温度控制等相似项目。 可实现功能: 1、LCD1602实时显示室内温湿度、运行模式、设定温度和定时时间 2、首先选择空调的运行模式,如加热、制冷、除湿&…

@RequestMapping对不同参数的接收方式

1、简单参数 1、参数名与形参变量名相同,定义形参即可接收参数,且会自动进行类型转换。 RequestMapping("/simple")public String simpleParam(String name,int age){String username name;int userAge age;System.out.println(username&…

芝法酱学习笔记(0.7)——harbor与SpringBoot容器化docker部署

前言 之前我们主要讲的jar包部署。使用jar包部署可能导致不同服务互相争抢资源(隔离性),不同服务可能需要不同的jdk环境,有时也会造成困扰。故在微服务时代,我们通常使用docker部署 一、docker安装 docke相关的知识…

Dev-C++萌新学习福利3

朝鲜球作品原创https://blog.csdn.net/2401_86502594?spm1011.2124.3001.5343 清北互联地址https://www.17ac.cn/#/ 萌新福利 作品成本6999元!!! 清北互联团队编写课程,本人不收费。亏本买卖,良心服务,同嫂…

ASP.NET Core8.0学习笔记(二十)——EFCore导航属性与外键

一、什么是实体间关系 数据库表(实体)之间的关系:一对一(学生-成绩)、一对多(学生-科目)、多对多(教师-班级)。数据库中,每一个实体可以由主键唯一标识&…

自学1个月拿金奖!北交大学子分享昇腾AI原生创新算子挑战赛金奖之路

近年来在人工智能领域,算子开发的价值日益凸显,算子开发也受到越来越多年轻开发者的青睐。对于高校开发者,如何从零开始学习算子开发,提升软硬结合的AI开发能力?成功已举办两个赛季的昇腾AI原生创新算子挑战赛&#xf…

IDEA中的快捷键大全--超详细

目录 一、通用类型 1.1 图示 1.2 表格化 二、编写速度提升 2.1 图示 2.1.1 表格化 2.2 图示 2.2.1 表格化: 三、类结构,查找和查看源码 3.1 图示 3.2 表格化 四、查找,替换和关闭 4.1图示 4.2 表格化 五、调整格式 5.1 图示 5.2 表格化 六、快捷键的自主定义…

docker login 命令登录harbor镜像仓库(含报错)

作者:程序那点事儿 日期:2024/02/02 14:10 执行登录命令:docker login -uadmin 192.168.43.106:8880 报错: Error response from daemon: Get "https://192.168.43.106:8880/v2/": http: server gave HTTP response t…

计组-CPU构成(运算器与控制器的组成)

整个计算机,由主机和外设2部分构成 计算机结构中: 主机(这里的主机包含的部分远比我们主机箱里的部件要少):只包括2大部件,一个是CPU,一个是主存储器(即我们平时说的内存&#xff…

专题1:方向导数与梯度

一、回忆偏导数 多元函数(比如有x、y两个变量)在某个点有两个偏导数,一个是关于x的偏导数,一个是关于y的偏导数。如下所示: 所谓偏导数,其实就是某点处函数在x的正方向或y的正方向上的变化率。从图像上来看…

JavaSE--全盘拿下数组的关键要领

嗨嗨大家~我来啦!今天我们来进入数组的学习吧。 目录 一 数组的定义 1 创建数组 2 初始化数组 二 数组的使用 1 数组的访问 2 数组的遍历 2.1 for 循环打印 2.2 for-each 打印数组 三 数组是引用类型 3.1 JVM内存分布 3.2 区分基本类型与引用类型变…