AI大模型教程
一起来学习

政安晨【零基础玩转各类开源AI项目】基于本地Ubuntu系统部署及应用Stable Diffusion web UI:使用 Gradio 库实现的SD的web界面,安装中文包、controlnet等

目录

简介

特性

安装部署

1. 下载项目

2. 环境准备

3. 安装依赖

4. 安装Stable Diffusion WebUI 的 ControlNet 

下载模型

ControlNet 1.1 的功能特性简述

​编辑

Perfect Support for All ControlNet 1.0/1.1 and T2I Adapter Models.

Perfect Support for A1111 High-Res. Fix

Perfect Support for All A1111 Img2Img or Inpaint Settings and All Mask Types

The New “Pixel-Perfect” Mode

User-Friendly GUI and Preprocessor Preview

Support for Almost All Upscaling Scripts

More Control Modes (previously called Guess Mode)

Reference-Only Control

默认设置

Multi-ControlNet

Batch Mode

应用程序接口和脚本访问

命令行参数

中文包项目


政安晨的个人主页:政安晨

欢迎 👍点赞✍评论⭐收藏

希望政安晨的博客能够对您有所裨益,如有不足之处,欢迎在评论区提出指正!

本文目标:部署安装SD的WEB UI,并掌握应用各类模型

简介

 Stable Diffusion WebUI是一个稳定的扩散(Web UI)平台,用于管理和监控分布式系统的数据传输和数据处理。

项目地址:
GitHub – AUTOMATIC1111/stable-diffusion-webui: Stable Diffusion web UIStable Diffusion web UI. Contribute to AUTOMATIC1111/stable-diffusion-webui development by creating an account on GitHub.https://github.com/AUTOMATIC1111/stable-diffusion-webui

该平台通过提供直观的图形用户界面,帮助用户轻松管理和监控分布式系统中的数据传输。用户可以通过平台的界面轻松添加、配置和监控数据源、目的地和数据流。平台还提供了强大的任务调度和监控功能,用户可以轻松管理和监控任务的执行情况。

此外,Stable Diffusion WebUI还提供了丰富的数据可视化和报表功能,帮助用户更好地理解和分析系统中的数据传输和数据处理情况。用户可以轻松生成各种图表和报表,以帮助他们了解系统的性能和效率。

总而言之,Stable Diffusion WebUI是一个稳定可靠的扩散平台,为用户提供了一个直观简单的方式来管理和监控分布式系统中的数据传输和数据处理。它提供了强大的任务调度和监控功能,以及丰富的数据可视化和报表功能,帮助用户更好地管理和理解系统中的数据流动。

特性

* 原始的 txt2img 和 img2img 模式

* 一键安装并运行脚本(但仍需安装 python 和 git)(这里其实需要更多知识护航 – 政安晨)

* 外绘

* 油画

* 色彩素描

* 提示矩阵

* Stable Diffusion Upscale

* 注意,指定模型应更多关注资料细节

如:

  • a man in a ((tuxedo)) – will pay more attention to tuxedo
  • a man in a (tuxedo:1.21) – alternative syntax
  • select text and press Ctrl+Up or Ctrl+Down (or Command+Up or Command+Down if you’re on a MacOS) to automatically adjust attention to selected text (code contributed by anonymous user)

* 环回,多次运行 img2img 处理

* X/Y/Z 图,一种绘制不同参数图像的三维图的方法

* 文本反转

—— 

  • have as many embeddings as you want and use any names you like for them
  • use multiple embeddings with different numbers of vectors per token
  • works with half precision floating point numbers
  • train embeddings on 8GB (also reports of 6GB working)

……

(其它具体特征,大家请参考项目文档中的描述,这里不赘述,很多专业词汇大家尽可能在英文语境中了解,建议不要试图翻译成中文,其实会带来很多麻烦。—— 政安晨)

安装部署

前提条件,还是N卡。

1. 下载项目

git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git.

2. 环境准备

可以按照项目中的提示做一个环境准备,当然中间也许会遇到一点小问题,不用担心,版本有时候不一致并不意味着不行。

sudo apt install wget git python3 python3-venv libgl1 libglib2.0-0

这里特别针对Ubuntu 24.04的系统,官方文档中给出一个环境配置方案:

# Ubuntu 24.04
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt update
sudo apt install python3.11

当然,您也可以在创建虚拟环境的时候创建这个配置。

作者政安晨这样认为(仅供大家参考):因为24.04版本相较于22.04版本的改动很大,各类库的兼容更新需要一定的时间,作者政安晨还是建议大家选择ubuntu 22.04版本的系统部署。

3. 安装依赖

首先创建一个miniconda的虚拟环境(截至我发文时,我依然推荐3.10.6的python版本作为主环境):

conda create -n sdwebui python=3.10.6

文章来源于互联网:政安晨【零基础玩转各类开源AI项目】基于本地Ubuntu系统部署及应用Stable Diffusion web UI:使用 Gradio 库实现的SD的web界面,安装中文包、controlnet等

赞(0)
未经允许不得转载:5bei.cn大模型教程网 » 政安晨【零基础玩转各类开源AI项目】基于本地Ubuntu系统部署及应用Stable Diffusion web UI:使用 Gradio 库实现的SD的web界面,安装中文包、controlnet等

政安晨【零基础玩转各类开源AI项目】基于Ubuntu系统部署ComfyUI:功能最强大、模块化程度最高的Stable Diffusion图形用户界面和后台

目录

ComfyUI的特性介绍

开始安装

做点准备工作

在Conda虚拟环境中进行

依赖项的安装

运行


政安晨的个人主页:政安晨

欢迎 👍点赞✍评论⭐收藏

收录专栏: 零基础玩转各类开源AI项目

希望政安晨的博客能够对您有所裨益,如有不足之处,欢迎在评论区提出指正!

这套框架可让您使用基于图形/节点/流程图的界面设计和执行高级稳定扩散管道。

ComfyUI的特性介绍

当你对它形成了全貌,安装与使用的时候会更加得心应手。

特性如下:

– 节点/图形/流程图界面,用于实验和创建复杂的稳定扩散工作流程,无需编写任何代码。

– 完全支持 SD1.x, SD2.x, SDXLStable Video DiffusionStable CascadeSD3 and Stable Audio

– 异步队列系统

– 许多优化只重新执行工作流程中在两次执行之间发生变化的部分。

– 智能内存管理:可在低至 1GB vram 的 GPU 上自动运行模型。

– 即使没有 GPU 也能使用:–cpu(慢速)

– 可加载 ckpt、安全传感器和扩散器模型/检查点。独立的 VAE 和 CLIP 模型。

– 嵌入/文本反转

– Loras (regular, locon and loha)

– Hypernetworks

– 从生成的 PNG、WebP 和 FLAC 文件中加载完整的工作流程(带种子)。

– 以 Json 文件格式保存/加载工作流程。

– 节点界面可用于创建复杂的工作流程,如 “Hires fix “或更高级的工作流程。

– 地区构成

– 使用常规模型和 Inpainting 模型进行 Inpainting。

– ControlNet and T2I-Adapter

– Upscale Models (ESRGAN, ESRGAN variants, SwinIR, Swin2SR, etc…)

– unCLIP Models

– GLIGEN

– Model Merging

– LCM models and Loras

– SDXL Turbo

– 使用 TAESD 进行潜伏预览

– 启动速度非常快。

– 完全脱机运行:不会下载任何内容。

开始安装

下载仓库:

git clone git@github.com:comfyanonymous/ComfyUI.git

当然,这里我为了修改方便,fork到了自己的github中,名称上稍有差异,大家自己酌情处理。

为咱们即将安装的ComfyUI工作流框架建立conda虚拟环境,python版本先选择3.9 , 如下:

conda create -n zac_comfyui python=3.9

做点准备工作

进入刚才下载的项目目录,干两件事:

1, 将 SD checkpoints (巨大的 ckpt/safetensors 文件)放到:models/checkpoints中;

2, 将 VAE 放到这个目录中:models/vae

具体操作如下:

# Checkpoints

### SDXL
### I recommend these workflow examples: https://comfyanonymous.github.io/ComfyUI_examples/sdxl/

#!wget -c https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/resolve/main/sd_xl_base_1.0.safetensors -P ./models/checkpoints/
#!wget -c https://huggingface.co/stabilityai/stable-diffusion-xl-refiner-1.0/resolve/main/sd_xl_refiner_1.0.safetensors -P ./models/checkpoints/


# SD1.5

#!wget -c https://huggingface.co/runwayml/stable-diffusion-v1-5/resolve/main/v1-5-pruned-emaonly.ckpt -P ./models/checkpoints/

# SD2
#!wget -c https://huggingface.co/stabilityai/stable-diffusion-2-1-base/resolve/main/v2-1_512-ema-pruned.safetensors -P ./models/checkpoints/
#!wget -c https://huggingface.co/stabilityai/stable-diffusion-2-1/resolve/main/v2-1_768-ema-pruned.safetensors -P ./models/checkpoints/

# Some SD1.5 anime style
#!wget -c https://huggingface.co/WarriorMama777/OrangeMixs/resolve/main/Models/AbyssOrangeMix2/AbyssOrangeMix2_hard.safetensors -P ./models/checkpoints/
#!wget -c https://huggingface.co/WarriorMama777/OrangeMixs/resolve/main/Models/AbyssOrangeMix3/AOM3A1_orangemixs.safetensors -P ./models/checkpoints/
#!wget -c https://huggingface.co/WarriorMama777/OrangeMixs/resolve/main/Models/AbyssOrangeMix3/AOM3A3_orangemixs.safetensors -P ./models/checkpoints/
#!wget -c https://huggingface.co/Linaqruf/anything-v3.0/resolve/main/anything-v3-fp16-pruned.safetensors -P ./models/checkpoints/

# Waifu Diffusion 1.5 (anime style SD2.x 768-v)
#!wget -c https://huggingface.co/waifu-diffusion/wd-1-5-beta3/resolve/main/wd-illusion-fp16.safetensors -P ./models/checkpoints/


# unCLIP models
#!wget -c https://huggingface.co/comfyanonymous/illuminatiDiffusionV1_v11_unCLIP/resolve/main/illuminatiDiffusionV1_v11-unclip-h-fp16.safetensors -P ./models/checkpoints/
#!wget -c https://huggingface.co/comfyanonymous/wd-1.5-beta2_unCLIP/resolve/main/wd-1-5-beta2-aesthetic-unclip-h-fp16.safetensors -P ./models/checkpoints/

这些 Checkpoints大家选择使用。

# VAE
!wget -c https://huggingface.co/stabilityai/sd-vae-ft-mse-original/resolve/main/vae-ft-mse-840000-ema-pruned.safetensors -P ./models/vae/
#!wget -c https://huggingface.co/WarriorMama777/OrangeMixs/resolve/main/VAEs/orangemix.vae.pt -P ./models/vae/
#!wget -c https://huggingface.co/hakurei/waifu-diffusion-v1-4/resolve/main/vae/kl-f8-anime2.ckpt -P ./models/vae/

选择一个你需要的VAE,也可以去https://huggingface.co上查看最新的,checkpoints也是一样。

比如,查看models:https://huggingface.co/stabilityai

在该模型页面,您可以看到下载链接:

这里咱们选择SDXL的checkpoints:

wget -c https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/resolve/main/sd_xl_base_1.0.safetensors -P ./models/checkpoints/

VAE我们选择这个:

wget -c https://huggingface.co/stabilityai/sd-vae-ft-mse-original/resolve/main/vae-ft-mse-840000-ema-pruned.safetensors -P ./models/vae/

完成后,咱们开始正式安装。

在Conda虚拟环境中进行

conda activate zac_comfyui

本文档基于N卡来安装(没有符合标准的N卡的同学,建议先缓一缓,折腾一圈浪费时间没必要,所以基于A卡的情况我也就不做展示了,我以前基于A卡做了很多尝试,结果不好,各种问题都有可能出现,尤其是基于ubuntu系统):

Nvidia 用户应使用此命令安装稳定的 pytorch:

pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu121

 

使用此命令安装 pytorch nightly,性能可能会有所提高:

pip install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cu124

 

这是个补充操作,我已经都ok了,继续。 

疑难解答 如果出现 “Torch not compiled with CUDA enabled”(Torch 未在启用 CUDA 的情况下编译)错误,请使用: pip uninstall torch(卸载命令)卸载,然后使用上述命令重新安装。

依赖项的安装

在 ComfyUI 文件夹中打开终端,安装依赖项,然后:

pip install -r requirements.txt

安装完成后,你就可以继续运行 ComfyUI 了。

注:当然,全程安装过程中要准备好您的上网能力,网不能断,谢谢。

运行

执行命令:

python main.py

顺利的话,接下来就是您需要的:

祝您好运!

以后的一切都可以基于comfyUI的各种教程开始啦!

再说一句:如果需要多人远程使用,启动服务时的命令为:

python main.py –multi-user

文章来源于互联网:政安晨【零基础玩转各类开源AI项目】基于Ubuntu系统部署ComfyUI:功能最强大、模块化程度最高的Stable Diffusion图形用户界面和后台

赞(0)
未经允许不得转载:5bei.cn大模型教程网 » 政安晨【零基础玩转各类开源AI项目】基于Ubuntu系统部署ComfyUI:功能最强大、模块化程度最高的Stable Diffusion图形用户界面和后台

政安晨【零基础玩转各类开源AI项目】:在Kaggle上部署使用Stable Diffusion

目录

简述

开始

配置

执行

安装完毕,一键运行

结果展示


政安晨的个人主页政安晨

欢迎 👍点赞✍评论⭐收藏

收录专栏零基础玩转各类开源AI项目

希望政安晨的博客能够对您有所裨益,如有不足之处,欢迎在评论区提出指正!

这篇文章咱们基于Kaggle来快速部署StableDiffusion并进行测试,帮助一些仅仅用SD做点实验的小伙伴快速使用起来。

简述

Stable Diffusion 3 是Stability AI最新的文本到图像模型,在处理多主题提示、卓越的图像质量和拼写准确性方面实现了重大飞跃。目前,该模型正处于早期预览阶段,提供从 800M 到 8B 参数的各种配置,使各种硬件配置的使用更加平民化。

StableDiffusion是一款基于人工智能和图计算技术的AIGC(Artificial Intelligence in Graph Computing)工具。它的主要功能是对图数据进行稳定扩散分析。

稳定扩散分析是一种用于探索数据中的稳定点、传播趋势和影响力的技术。在社交网络、疾病传播模型、舆情分析等领域,稳定扩散分析都有广泛的应用。

StableDiffusion通过分析图数据中的节点和边的关系,可以识别出信息传播的路径和影响力传递的强度。同时,它还可以计算节点的稳定性,即每个节点对传播过程的贡献程度和稳定程度。

StableDiffusion使用了先进的机器学习算法和图计算技术,可以自动发现数据中的隐藏模式和趋势。它能够处理大规模的图数据,并提供高效的计算和可视化工具,帮助用户深入了解数据中的稳定扩散过程。

总而言之,StableDiffusion是一款强大的AIGC工具,可以帮助用户进行稳定扩散分析,并发现数据中的关键信息和趋势。它在社交网络分析、疾病传播模型、舆情分析等领域具有广泛的应用前景。


开始

首次使用时注册并登录Kaggle:

Kaggle: Your Machine Learning and Data Science CommunityKaggle is the world’s largest data science community with powerful tools and resources to help you achieve your data science goals.https://www.kaggle.com/

Kaggle是一个在线的数据科学竞赛平台和社区,它的目标是为数据科学家和机器学习专家提供一个交流和合作的平台。Kaggle的成员可以参加各种数据科学竞赛,解决现实世界中的数据挑战。这些竞赛涵盖了广泛的主题,包括预测模型建立、图像识别、自然语言处理等。

Kaggle的竞赛通常由数据提供者和参赛者组成。数据提供者提供数据集和问题描述,参赛者可以通过分析数据、应用机器学习算法来解决问题,并提交他们的解决方案和预测结果。Kaggle提供了一套完整的工具和API,方便参赛者进行数据分析、建模和评估。参赛者可以通过排行榜查看自己在竞赛中的排名,并与其他参赛者交流和分享经验。

除了竞赛,Kaggle还拥有一个活跃的社区平台,数据科学家可以在这里分享他们的项目、代码和洞见。Kaggle还举办数据科学讲座和培训活动,为用户提供学习和进阶的机会。同时,Kaggle还允许数据科学家通过与企业和组织合作,解决真实世界的数据挑战,并获得奖金和荣誉。

总之,Kaggle是一个充满活力的数据科学竞赛平台和社区,为数据科学家和机器学习专家提供了一个交流、学习和合作的平台。通过参加Kaggle的竞赛,人们能够锻炼自己的数据分析和建模能力,并将其应用于实际问题的解决中。

你注册Kaggle后,将拥有一套30小时免费使用的环境,按照我下图这样,把GPU配置起来。

配置

# Choose UI language 选择界面语言
import json
import os
from IPython.display import display, HTML
from ipywidgets import Dropdown, Layout

# Function to update the config files based on the selected language
def update_config(language):
    # Define file paths
    config_path = '/kaggle/working/stable-diffusion-webui/config.json'
    theme_config_path = '/kaggle/working/stable-diffusion-webui/extensions/sd-webui-lobe-theme/lobe_theme_config.json'
    
    # Update `config.json`
    config = {}  # Initialize an empty config
    if os.path.exists(config_path):
        with open(config_path, 'r') as file:
            config = json.load(file)
    
    config['localization'] = "None" if language == 'en' else "chinese-english-0313"
    
    with open(config_path, 'w') as file:
        json.dump(config, file, indent=4)
    
    # Update `lobe_theme_config.json`
    theme_config = {}  # Initialize an empty theme config
    if os.path.exists(theme_config_path):
        with open(theme_config_path, 'r') as file:
            theme_config = json.load(file)
    
    theme_config['i18n'] = "en_US" if language == 'en' else "zh_CN"
    
    with open(theme_config_path, 'w') as file:
        json.dump(theme_config, file, indent=4)
    
    print("Config updated to English." if language == 'en' else "配置已更新为简体中文。")

# Apply the font size change to the dropdown
display(HTML(""".widget-dropdown .widget-label { font-size: 22px; }"""))

dropdown = Dropdown(
    options=[('English', 'en'), ('简体中文', 'zh')],
    description="Click to Choose Display Language / 点击选择界面语言",
    style={'description_width': 'initial'},
    layout=Layout(width='50%')
)

dropdown.observe(lambda change: update_config(change.new), names='value')
display(dropdown)

把上面代码复制到单元格中,执行。

不会使用Jupyter Notebook的小伙伴可以参考我的这篇文章:
政安晨的机器学习笔记——示例讲解机器学习工具Jupyter Notebook入门(超级详细)https://blog.csdn.net/snowdenkeke/article/details/135880886

执行

接下来运行启动参数:

# 启动参数
arguments = '--theme dark --enable-insecure-extension-access --disable-safe-unpickle --no-hashing --xformers'

执行脚本:

%%bash

# 复制数据集路径下的汉化版Stable Diffusion WebUI到工作路径 (Copy dataset to working space)
cp -r /kaggle/input/stable-diffusionwebui/sd_cn_all/stable-diffusion-webui .

# - 项目依赖 Dependency - #
apt-get update
apt-get install -y google-perftools
pip install xformers==0.0.24
python -m pip cache purge

# - remotemoe 内网穿透 Kaggle ( 'https://www.kaggle.com/rumbare' ) - #
mamba install openssh -y
mkdir -p ~/.ssh/
touch ~/.ssh/known_hosts
ssh-keyscan -t rsa remote.moe >> ~/.ssh/known_hosts
rm -rf /root/.ssh/id_rsa
ssh-keygen -t rsa -b 4096 -f /root/.ssh/id_rsa -q -N ""

安装完毕,一键运行

%cd stable-diffusion-webui

# - 安装完毕,去掉下面行首的井号运行 (Remove the hash sign at the beginning of the following line to run after installation is complete) - #
# !python launch.py {arguments} & ssh -R 80:127.0.0.1:7860 -o StrictHostKeyChecking=no -i /root/.ssh/id_rsa remote.moe

当然,您也可以运行左上角的这个,全部执行:

执行过程预计几分钟,请耐心等待。等左边的执行状态不转圈了,表示执行结束。

这是我的配置,尤其注意一些选项打开。

结果展示

部署完成后,在最后这个单元格的执行里,点击该链接。

看到这个表示部署完成:

当然,你的连接肯定与我的不一样,而且每次生成也不一样。


文章来源于互联网:政安晨【零基础玩转各类开源AI项目】:在Kaggle上部署使用Stable Diffusion

赞(0)
未经允许不得转载:5bei.cn大模型教程网 » 政安晨【零基础玩转各类开源AI项目】:在Kaggle上部署使用Stable Diffusion
分享到: 更多 (0)

AI大模型,我们的未来

小欢软考联系我们