Zhao Dongyu's Blog

A life which is unexamined is not worth living.

0%

ComfyUI

开始学习 ComfyUI,学学文生图相关的知识

教程

ComfyUI 官方教程

由浅入深了解Diffusion Model

从零开始教你玩转ComfyUI-保姆级部署教程-手把手带你ComfyUI工作流搭建

ComfyUI 是节点式的Stable Diffusion用户界面。

  • 节点式就是每个功能被拆解成独立的模块,模块之间由线相连,用于传递信息。这种形式呈现出清晰的工作流,并且允许根据需求来自由搭建工作流。
1
2
3
4
5
6
7
8
source ~/miniforge3/bin/activate
conda create --name ComfyUI
conda init bash
conda activate ComfyUI

git clone https://github.com/comfyanonymous/ComfyUI
cd ComfyUI
pip install -r requirements.txt

由于PyTorch 通常支持 Python 3.8、3.9、3.10(部分支持 3.11)。 报错:

1
2
ERROR: Could not find a version that satisfies the requirement torch (from versions: none)
ERROR: No matching distribution found for torch

于是安装3.10

conda install python=3.10

下载模型 wget -P ~/Projects/ComfyUI/models/checkpoints https://hf-mirror.com/LarryAIDraw/v1-5-pruned-emaonly/resolve/main/v1-5-pruned-emaonly.ckpt

  • os.environ['CUDA_VISIBLE_DEVICES']
    • 设置了一个环境变量,用于限制哪些 GPU 设备对程序可见。这个变量在程序启动时确定,并且通常在设置后会影响如 TensorFlow 和 PyTorch 等深度学习框架,使它们只看到特定的 GPU。
    • 必须在任何与 torch 或 CUDA 相关的模块加载之前设置。如果 torch 已经初始化了 CUDA 设备,然后再设置这个环境变量,那么它将不会生效。

启动: python main.py

Q&A

Stable Diffusion 和 Pixel Diffusion 的区别?

Stable Diffusion 和 Pixel Diffusion 都是基于扩散模型(Diffusion Models)的图像生成方法,但它们有一些关键的区别,特别是在 处理图像的方式训练策略 上。

特性 Stable Diffusion Pixel Diffusion
噪声添加 先在潜在空间添加噪声,后再通过反向去噪生成图像。 直接在图像的像素空间上添加噪声并去噪。
潜在空间 使用VAE将图像转换为潜在空间,在潜在空间中进行扩散操作。 不使用潜在空间,直接在像素空间中进行操作。
生成效率 更高效,因为操作在潜在空间进行,减少了计算复杂度。 可能较低效,因为需要处理原始图像像素,计算需求更大。
计算资源需求 需要较少的计算资源,适合生成较高分辨率的图像。 需要更多的计算资源,尤其在生成高分辨率图像时。
应用领域 艺术创作、文本到图像生成、游戏开发等。 主要用于更精细的像素级图像生成任务。
生成质量 生成质量高,能够生成非常细致的图像,特别适合生成艺术风格图像。 可能在一些细节处理上表现更好,但计算开销较大。

简而言之,Stable Diffusion 更侧重于在潜在空间中进行高效的图像生成,而 Pixel Diffusion 则注重更精细的像素级处理,适合那些需要直接操作图像像素的应用。

Thanks for your support.