ComfyUI - 在服务器中部署 AIGC 绘画的 ComfyUI 工具 教程

欢迎关注我的CSDN:https://spike.blog.csdn.net/

本文地址:https://spike.blog.csdn.net/article/details/141140498

免责声明:本文来源于个人知识与公开资料,仅用于学术交流,欢迎讨论,不支持转载。


ComfyUI 是功能强大且高度模块化的 AI 绘画工具,基于 Stable Diffusion 技术,采用节点式工作流界面,使用户能够更直观地控制图像生成过程。特点是模块化设计,允许用户通过拖放节点来创建和调整工作流,极大地提高了灵活性和可定制性。速度更快,灵活的组建工作流,专业团队的需求,节点式编辑。

GitHub: https://github.com/comfyanonymous/ComfyUI

bash 复制代码
git clone https://github.com/comfyanonymous/ComfyUI

配置 conda 环境

bash 复制代码
conda create -n comfyui python=3.9
pip install torch==1.13.1+cu117 torchvision==0.14.1+cu117 torchaudio==0.13.1 --extra-index-url https://download.pytorch.org/whl/cu117
pip install numpy==1.26.4

Numpy 必须是 1.x 版本,否则报错:

bash 复制代码
A module that was compiled using NumPy 1.x cannot be run in
NumPy 2.0.1 as it may crash. To support both 1.x and 2.x
versions of NumPy, modules must be compiled with NumPy 2.0.

安装其他库:

bash 复制代码
pip install -r requirements.txt

启动任务,默认端口是 8188:

bash 复制代码
python3 main.py --listen 0.0.0.0
# nohup python3 -u main.py --listen 0.0.0.0 > nohup.run_main.out &
# ps -aux | grep "main.py"
# kill -9 [pid]

启动成功的日志,例如 http://[your ip]:8188/:

bash 复制代码
Total VRAM 81052 MB, total RAM 1031523 MB
pytorch version: 1.13.1+cu117
Set vram state to: NORMAL_VRAM
Device: cuda:0 NVIDIA A100-SXM4-80GB : 
Using sub quadratic optimization for cross attention, if you have memory or speed issues try using: --use-split-cross-attention
[Prompt Server] web root: workspace_comfyui/ComfyUI/web

Import times for custom nodes:
   0.0 seconds: workspace_comfyui/ComfyUI/custom_nodes/websocket_image_save.py

Starting server

To see the GUI go to: http://0.0.0.0:8188

ComfyUI 启动成功:

ComfyUI 支持复用 Stable Diffusion WebUI 的配置,修改 extra_model_paths.yaml

yaml 复制代码
a111:
    base_path: workspace/stable_diffusion_webui/

    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: extensions/sd-webui-controlnet/models

注意:需要修改 controlnet 的默认模型路径,这个部分与默认不一致,其他逐个验证即可。

workspace_comfyui/ComfyUI/custom_nodes 文件夹中,安装自定义 ComfyUI-Manager 插件:

第 1 次启动时,需要等待安装配置,## ComfyUI-Manager: installing dependencies. (GitPython)

安装翻译插件:AIGODLIKE-ComfyUI-Translation,重启服务即可:

bash 复制代码
cd custom_nodes
git clone https://github.com/AIGODLIKE/AIGODLIKE-ComfyUI-Translation.git

将 ComfyUI 页面翻译成中文:

点击 Queue Prompt,即可运行程序。

提示词:

  • beautiful scenery nature glass bottle landscape, purple galaxy bottle,
  • 美丽的风景自然玻璃瓶景观,紫色银河瓶。

如图所示:

运行报错:

bash 复制代码
  File "workspace_comfyui/ComfyUI/custom_nodes/ComfyUI-Manager/glob/manager_server.py", line 1710, in <lambda>
    threading.Thread(target=lambda: asyncio.run(default_cache_update())).start()
  File "envs/comfyui/lib/python3.9/asyncio/runners.py", line 44, in run
    return loop.run_until_complete(main)
	File "aiohttp/client_reqrep.py", line 1014, in start
    self._continue = None
  File "aiohttp/helpers.py", line 713, in __exit__
    raise asyncio.TimeoutError from None
asyncio.exceptions.TimeoutError

原因是 GitHub 国内访问异常,使用代理即可,参考源码 ComfyUI-Manager/glob/manager_server.py#1688,即:

python 复制代码
async def default_cache_update():
    async def get_cache(filename):
        # uri = 'https://raw.githubusercontent.com/ltdrdata/ComfyUI-Manager/main/' + filename
        uri = 'https://mirror.ghproxy.com/https://raw.githubusercontent.com/ltdrdata/ComfyUI-Manager/main/' + filename
        cache_uri = str(core.simple_hash(uri)) + '_' + filename
        cache_uri = os.path.join(core.cache_dir, cache_uri)

        json_obj = await core.get_data(uri, True)

        with core.cache_lock:
            with open(cache_uri, "w", encoding='utf-8') as file:
                json.dump(json_obj, file, indent=4, sort_keys=True)
                print(f"[ComfyUI-Manager] default cache updated: {uri}")

    a = get_cache("custom-node-list.json")
    b = get_cache("extension-node-map.json")
    c = get_cache("model-list.json")
    d = get_cache("alter-list.json")
    e = get_cache("github-stats.json")

    await asyncio.gather(a, b, c, d, e)


threading.Thread(target=lambda: asyncio.run(default_cache_update())).start()

修改 uri,增加 https://mirror.ghproxy.com/ 前缀,即可

参考:https://github.com/runningcheese/MirrorSite

相关推荐
EdisonZhou23 分钟前
大模型应用开发初探 : 通用函数调用Planner
aigc·.net·.net core
人工智能培训咨询叶梓1 小时前
生成式人工智能在无人机群中的应用、挑战和机遇
人工智能·语言模型·自然语言处理·aigc·无人机·多模态·生成式人工智能
AI极客菌17 小时前
Stable Diffusion绘画 | 生成高清多细节图片的各个要素
人工智能·ai·ai作画·stable diffusion·aigc·midjourney·人工智能作画
SHI-HANG1 天前
13 Midjourney从零到商用·实战篇:漫画设计一条龙
ai作画·aigc·midjourney
灵魂画师向阳1 天前
AI绘画Stable Diffusion 自制素材工具: layerdiffusion插件—你的透明背景图片生成工具
ai作画·stable diffusion·ai绘画·抠图·ai绘画教程·透明背景·sd教程
NLP工程化1 天前
Dify 中的讯飞星火平台工具源码分析
aigc·dify
Seal软件1 天前
GPUStack 0.2:开箱即用的分布式推理、CPU推理和调度策略
大模型·llm·aigc·gpu·genai·gpu集群
GPUStack1 天前
GPUStack 0.2:开箱即用的分布式推理、CPU推理和调度策略
ai·大模型·aigc·gpu·genai·gpu集群
Hoper.J1 天前
使用 HFD 加快 Hugging Face 模型和数据集的下载
llm·aigc·hugging face·hfd
洋葱蚯蚓2 天前
构建自己的文生图工具:Python + Stable Diffusion + CUDA
开发语言·python·stable diffusion