invokeAI简介及原理
invokeAI推荐理由
丨其他功能
- 同时支持 ckpt 和扩散器模型
- SD 1.5、2.0、2.1 支持
- 噪音控制与Tresholding
- 热门采样器支持
- 升级和面部修复工具
- 嵌入管理器和支持
- 模型管理器和支持
自动安装:以下安装比较复杂,如果不会可联系客服远程(另收费)
-
先下载安装包到本地,并解压到本地。安装包支持多环境(Windows/MacOS/Linux) -
如果是 Windows 操作系统,双击 install.bat 脚本安装。 -
如果在苹果电脑macOS系统,支持M1,M2 系统下,打开终端窗口,将 install.sh 文件从 Finder 拖到终端,然后按回车键。 -
Linux 操作系统执行 install.sh -
开始安装后会询问是否安装默认路径安装(Y为按默认路径安装,N为自定义安装路径)选择完路径后会开始安装Invoke本体,本体安装完成后会进入下一步让你选择你想下载的绘画模型(如果没有出现这一步,请把CMD窗口最大化然后等一会)选择完模型后会开始下载模型,下载完成可能会遇到错误无法正常完成安装,只需要关闭窗口即可完成安装。 -
您运行安装程序的文件夹现在将被许多文件填满。如果您在 Windows 上,双击 invoke.bat 文件。在macOS 上,打开终端窗口,将 invoke.sh 从文件夹中拖到终端中,然后按回车键。Linux 操作系统执行 invoke.sh - 我只说一下比较重要的几个选项,第1个选项是用网页启动InvokeAI,一般无法直接启动,可先按7下载相关组件,第3个是启动图转文训练,第5个是下载其他绘图模型,第9个是检查Invoke升级,Q选项是退出。(此处为InvokeAI Windows版3.0.2post1版本号的内容,不同版本可能顺序有所不同,具体选项可以自己对照窗口内文本翻译一下)
-
打开浏览器,然后转到 http://localhost:9090 -
在左上角的框中,单击 Invoke
(安装过程需要联网,部分下载内容可能无法使用国内网络下载。)
手动安装教程
手动安装有两种方式,第一种使用基本的 Python 虚拟环境 venv 命令和 PIP 包管理器。第二个基于 Anaconda3 包管理器 conda。这两种方法都需要在终端上输入命令。
需注意 conda 安装方法目前已弃用,在将来的某个时候将不受支持,因此我们也不推荐你使用该方式进行安装。
在 Windows 系统上,鼓励您安装和使用 Powershell,它提供了与 Linux 和 Mac shell 的兼容性,以及命令行补全等不错的特性。
我们主要介绍 PIP 方式的安装:
-
确保您使用的是 Python 3.9 或 3.10 -
克隆源源源源源源源源源源源源代码
git clone https://github.com/invoke-ai/InvokeAI.git
-
在 InvokeAI 顶级目录中,创建并激活名为 InvokeAI 的虚拟环境
python -mvenv invokeai
source invokeai/bin/activate
-
确保 PIP 安装在虚拟环境中并且是最新的
python -mensurepip --upgrade
python -mpip install --upgrade pip
-
为您的硬件和操作系统选择正确的需求 *.txt 文件 -
确保 InvokeAI 环境处于活动状态并启动 PIP
pip install --prefer-binary -r requirements.txt
-
设置运行时目录 -
运行命令行
invoke.py --root ~/Programs/invokeai
-
选择放弃,随后重新启动脚本
项目地址
https://github.com/invoke-ai/InvokeAI
一、主要功能及特点
1、功能介绍
- 左侧的控制面板,其中包含从文本到图像生成的各种设置。最重要的部分是用于输入正文本提示的文本字段(目前显示
fantasy painting, horned demon
),正下方的另一个文本字段用于可选的负文本提示(要排除的概念),以及用于开始图像渲染过程的调用按钮。 - 中间的当前图像部分,显示您当前正在处理的图像的大格式版本。顶部的一系列按钮允许您以各种方式修改和操作图像。
- 左侧的图库部分包含您生成的图像的历史记录。这些图像被读取并写入 INVOKEAIROOT/invokeai.yaml 初始化文件中指定的目录,通常是 INVOKEAIROOT 中名为outputs 的目录。
除了这三个元素外,右上角还有一系列用于更改全局设置、报告错误和更改主题的图标。
控制面板左侧还有一系列图标(请参阅下面屏幕截图中的突出显示区域),这些图标在一系列选项卡中进行选择,以执行不同类型的操作。
从上到下,这些是:
- 文本到图像-从文本生成图像
- 图像到图像-从上传的起始图像(绘图或照片)生成一个新的图像,由文本提示进行修改
- 统一画布-交互式组合多个图像,用外绘扩展它们,用内绘修改图像的内部部分,擦除起始图像的部分,并让AI从文本提示符填充擦除的区域。
- 节点编辑器-(实验性)此面板允许您创建常见操作的管道,并将其合并到工作流程中。
- 模型管理器-此面板允许您使用URL、本地路径或HuggingFace diffusers repo_ids导入和配置新模型。
2.自动模型安装(需梯子):
有两种方法可以安装和管理模型:
-
invokeai-model-install
脚本将为您下载并安装它们。除了支持主要模型外,您还可以安装ControlNet、LoRA和文本反转模型。 - Web界面(WebUI)有一个用于导入和管理模型的GUI。
- 通过将模型(或模型的符号链接)放置在InvokeAI根目录的
autoimport
文件夹之一中(主要方法)。
通过安装invokeai-model-install
从invoke
启动器中,选择选项[5]“下载并安装模型”。这将启动相同的脚本,提示您在安装时选择模型。您可以使用它来添加您第一次跳过的模型。可以指定之前下载的模型;脚本只会确认文件是否完整。
安装程序有不同的面板,用于安装来自HuggingFace的主要模型、来自Civitai和其他任意网站的模型、ControlNet模型、LoRA/LyCORIS模型和文本反转嵌入。每个部分都有一个文本框,您可以在其中输入要安装的新模型。您可以使用其参考模型:
- 本地机器上.ckpt、.safetensors或扩散器文件夹的本地路径
- 计算机上包含多个模型的目录
- 指向可下载模型的URL
- A HuggingFace repo id
以前安装的型号显示有复选框。取消选中复选框以从InvokeAI取消注册模型。物理安装在InvokeAI根目录中的模型将被删除和清除(在确认警告后)。位于InvokeAI根目录之外的模型将被取消注册,但不会被删除。
注意:安装程序脚本使用基于控制台的文本界面,需要大量的水平和垂直空间。如果显示器看起来乱七八糟,只需放大终端窗口和/或重新启动脚本。
手动安装模型
请执行以下操作:
- 在模型网站下载需要的模型。
- 放到对应的路径。
- 刷新模型窗口,选择对应模型即可。
模型仓库
常见的模型下载仓库为以下几种,点击可直接前往仓库地址:
- HuggingFace:Stable Diffusion、ControlNet的官方仓库。
- Civitai:里面多是Lora或其它NSFW等模型的仓库。
- Discord:公共聊天软件,如果有需要可行前往搜索相应频道。
- 四比三备份站:国内备份模型和参考图的网站,可以直接下载。
- Reddit:公共交流社区,如果有需要可行前往搜索相应频道。
在HuggingFace仓库中下载所需的模型时,将会看到各种各样格式的文件。对于一般的使用者来说,仅下载常用CKPT格式模型文件即可。
模型种类
1. sdxl (Stable Diffusion XL)
- 描述:Stable Diffusion XL (SDXL) 是最新的图像生成模型,专为生成更真实、细节更丰富的图像而设计。
-
特点:
- 更真实的图像:与之前的模型相比,SDXL可以生成更真实的图像,特别是在面部生成方面。
- 可读的文本:SDXL与其他AI图像生成模型的最大区别是它可以生成可读的文本。
- 更好的人体解剖:之前的SD模型在生成正确的人体解剖方面存在问题。SDXL在一定程度上修复了这个问题。
- 艺术风格:SDXL为图像生成提供了多种艺术风格。
- 更短的提示:与之前的模型相比,SDXL更好地理解短提示。
- 改进的构图:增强的图像构图允许为几乎任何类型的提示创建令人惊叹的视觉效果。
2. sdxl-refiner
-
描述:这可能是与
sdxl
模型相关的微调或细化模型,用于进一步优化生成的图像。 -
特点:
-
图像优化:可能用于进一步细化和改进
sdxl
生成的图像,提高图像的质量和真实感。 - 特定场景调整:可能用于特定的场景或需求,以满足用户的特定要求。
-
图像优化:可能用于进一步细化和改进
3. SD 1.5 (Stable Diffusion 1.5)
- 描述:SD 1.5是Stable Diffusion的一个早期版本,它的开源时间较早,因此相应的生态已经建立起来。大部分人目前都是基于SD 1.5进行finetune模型。
-
特点:
- 生成效果稳定。
- 生态丰富,有许多配套的基底模型、LoRA模型以及插件。
- 学会使用SD 1.5基本上也就等于会用SD 2.1。
4. SD 2.1 (Stable Diffusion 2.1)
- 描述:SD 2.1是Stable Diffusion的一个更新版本,其生成效果相对于1.5有所提升,但并没有带来质的飞跃。
-
特点:
-
初级技术:在
sd-2.1
和sdxl
之前的技术,可能在多个方面都不如后续版本。 - 基础应用:可能主要用于基础的图像生成任务,没有太多的高级功能。
-
初级技术:在
模型存放路径
请先确定您下载的是SD1.5还是SDXL模型,在根据不同类型存放在不同位置。
1. 大模型
- 描述:大模型特指标准的latent-diffusion模型,拥有完整的TextEncoder、U-Net、VAE。由于训练大模型需要高显卡算力,所以许多人选择训练小型模型。
CKPT
- 描述:CKPT格式的全称为CheckPoint(检查点),是完整模型的常见格式一般扩展名:.ckpt或.safetensors。
- 文件大小:一般在7GB左右。
- 文件位置:*\InvokeAI\models\*\main目录内。
2. 小模型
- 描述:小模型是截取大模型的某一特定部分,虽然不如大模型那样完整,但在生成特定内容时效果更佳。
- 常见微调模型:Textual inversion (Embedding)、Hypernetwork、VAE、LoRA等。
VAE (Variational autoencoder)
- 描述:变分自编码器,将潜空间的数据转换为正常图像。影响出图的色彩和细节。
- 后缀格式:.pt
- 使用方法:设置 -> 模型的 VAE (SD VAE)。
- 文件位置:*\InvokeAI\models\*\VAE目录内。
Embedding
- 描述:风格模型,针对一个风格或主题。
- 常见格式:pt、png、webp。
- 使用方法:加载对应Embedding模型,在Prompt中使用对应TAG。
- 文件位置:*\InvokeAI\models\*\embeddings目录内。
3. LoRA
LoRA是什么?
如果说模型是一大包食材,那 LoRA 可以理解为一个调料包。通过一些简单的学习,您可以批量生成想要的图案、姿势、情境等等。
比如我们想用自己的孩子做主角生成图片,那么通过制作孩子的 LoRA,就可以在 Prompt 中用一个命令调用,从而获得孩子的图片。
另外,由于有许多不同的 LoRA 可供使用,因此可以轻松地尝试各种有趣的图片生成。
LoRA 有很多种类型,看起来很复杂?
LyCORIS
,LoHa
,LoRA
,LoCon
,(IA)^3
,LoKR
,DyLoRA
等等,是什么意思!
其实这些是微调技术的分类和其算法。
LoRA
、LyCORIS
、LoCon
是一些技术项目的名称。
LoCon
已被 LyCORIS
合并,过去需要的扩展 LoCon 现在不再需要,只需安装 LyCORIS 的扩展即可。 LoHa
,(IA)^3
,LoKR
,DyLoRA
是 LyRORIS
的学习算法之一。在算法学习时指定使用。 这些基本上在使用时不需要担心,但是如果要使用LyCORIS
和LoCon
学习的LoRA,则需要注意使用LyCORIS专用的扩展程序(稍后会提到)
- 描述:LoRA模型有基础模型和变体两种。
-
使用方法:在首页界面下图标 ->Lora选项卡。
-
基础模型:
- 名称:一般为chilloutmix*。
- 后缀:safetensors或CKPT。
- 文件位置:*\InvokeAI\models\*\Lora目录内。
-
基础模型:
模型后缀解析
格式 | 描述 |
---|---|
.ckpt | Pytorch的标准模型保存格式,容易遭受Pickle反序列化攻击。 |
.pt | Pytorch的标准模型保存格式,容易遭受Pickle反序列化攻击。 |
.pth | Pytorch的标准模型保存格式,容易遭受Pickle反序列化攻击。 |
.safetensors | safetensors格式可与Pytorch的模型相互格式转换,内容数据无区别。 |
其它 | webui 特殊模型保存方法:PNG、WEBP图片格式。 |
Safetensors格式
- Safetensors格式所生成的内容与ckpt等格式完全一致(包括NFSW)。
- Safetensors格式拥有更高的安全性,
- Safetensors比ckpt格式加载速度更快
- 该格式必须在2023年之后的Stable Diffusion内才可以使用,在此之间的SD版本内使用将无法识别。
- Safetensors格式由Huggingface推出,将会逐渐取代ckpt、pt、pth等格式,使用方法上与其它格式完全一致。
2、特点功能
考虑到每次图像拓展可能会产生接缝线,官方在左侧的调节栏里设置了接缝校正功能如下,但是模型不同,这个调节的效果也会不同:
二、对比其他模型的优劣势
对于本地配置要求来说,相比midjourney完全云端的优势,invokeIA安装对于本地配置的要求较高。而且目前为止使用invokeai的成员较少,网上相对应的使用教程也比较少,需要根据官方说明书一步步执行。invokeAI下载时携带了五个模型包,占用很大的内存,并且运行在本地对于显卡的要求也比较高,有条件可以尝试在云端服务器运行。
统一UI在提供便利的同时也会带来一些缺点,固定的UI界面可能无法完全适配自定义模型的功能。而且invoke目前功能比较基础,如果可以自定义增加调节模块并出相应的官方教程就更好了。