ai炼丹软件 凡人修仙路之炼器:AI绘画篇(Chapter 02)——搭建自己的炼丹炉(部署A

默认分类1年前 (2023)发布 admin
4,023 0
ChatGPT国内版

我的炼丹炉是 webUI人工智能绘画框架(简称)。

感谢开源社区无私的贡献在每一个无产阶级兄弟的心中播下了社会主义的种子。

感谢 webUI人工智能绘画框架的作者给我们分享了他的智慧。

让资本家们控制AI机器人的战略规划又一次遭到了致命的打击。

搭建炼丹炉主要分为以下几个步骤:

硬件环境搭建

软件环境搭建

软件及插件的安装

我在这里仅介绍个人散修修仙者如何搭建自己的炼丹炉。

不包括业余爱好者想用自己的机器顺便跑个AI机器人,或者企业部署集群用作商业的情况。

模特是克罗索酱,请大家多多关照

炼丹炉对显卡的显存要求较高,一般而言如果你的显卡显存低于6G,下面的内容就没必要看了。

下面列举了各个模型框架对显卡显存的最低要求。

其中Naifu和官方后端指的是商用AI绘图机器人(简称NAI)各个不同的破解版模型。

NAI 原版网页UI+后端部署需要准备一台拥有12GB以上显存的 Linux系统 的GPU服务器。

NAI模型因为版权和框架本身设计局限性的原因,不在我搭建炼丹炉方案的考虑之内。

炼丹炉的核心是“丹火”,也就是我们的显卡,炼丹炉的搭建应该围绕显卡来进行配置。

现阶段,AMD显卡对AI的人工智能学习的支持不足,我们的炼丹炉只支持Nvida显卡。

影响AI绘画的速度主要是半精度浮点FP16的指标,各型号显卡半精度浮点FP16的测试结果如下。

各型号显卡半精度浮点FP16的测试结果

测试结果说明:

使用=1.9.0在不同GPU(均为单卡测试)上实测。

网络的输入为使用torch.zero在内存中构造的伪数据,因此不包含CPU预处理数据的负载和额外IO的影响,主要是GPU本身的性能占主导。

测试采用AI深度学习的算法。

这个测试是2022年10月份的报告,可以看到在这个测试中,用了非完全体的4090已经是速度最快的了,只用了0.448秒。

除了出图的速度对我们来说很重要之外。

有一个多多益善的显存让我们可以容纳更多的素材来炼丹出图也同样重要。

必须安装这个核心插件才能让我们的炼丹炉成为完全体。

而要让跑起来至少需要16G显存。

因此我们炼丹炉的选择就比较少了,以下是我推荐的炼丹炉配置,可以直接拿去用。

CPU:intel i7

主板:Z790 D5

显卡: 24G

内存:DDR5 64G

固态硬盘:1TB

数据硬盘:8TB

电源:ATX3.0 1000W

操作系统还是建议采用传统的Win10操作系统,不炼丹的时候还可以打打游戏,用linux就只能炼丹了。

git clone

cd –webui

ai炼丹软件 凡人修仙路之炼器:AI绘画篇(Chapter 02)——搭建自己的炼丹炉(部署A

mkdir

git clone /-

git clone /-

git clone /

git clone /BLIP

pip ==4.19.2 – — git+ — git+ — -r .txt — -U numpy —

将下载好的训练模型文件ckpt放入文件夹内,运行代码。

webui.py

现在就可以开始愉快的炼丹了,优化命令参数如下。

创建虚拟环境。

conda -env -f .yaml

conda ldm

下载训练模型,这里我用的是1.4版本,链接:。

安装依赖库,配置加速环境。

pip git+

pip -U -r .txt

登录 Face Hub库。

-cli login

接下去开始图像训练馆,首先获取我们的数据集。

下载图像并将它们保存在一个目录中,这将是我们的训练数据,使用下列代码开始炼丹过程。

下图是我们的猫猫sks图片。

同一张图像从不同的角度和角度显示,并且具有不同的背景以防止过度拟合。

=”/–v1-4″

=”path-to–“

=”path-to-save-model”

.py

–=$

–=$

–=$

–=”a photo of sks cat”

–=512

–=1

–=1

–=5e-6

–=””

–=0

–=400

微调以提供更好的结果,尤其是在面部的识别上。将–参数传递给脚本以启用 。

=”/–v1-4″

=”path-to–“

ai炼丹软件 凡人修仙路之炼器:AI绘画篇(Chapter 02)——搭建自己的炼丹炉(部署A

=”path-to-class-“

=”path-to-save-model”

.py

–=$

–=$

–=$

–=$

–ion –=1.0

–=”a photo of sks cat”

–=”a photo of cat”

–=512

–=1

–ng

–=2e-6

–=””

–=0

–=200

–=800

使用上述命令训练模型后,可以简单地使用 ,确保提示词中的内容包含在我们的训练出来的模型中(例如上面示例中的猫猫 sks)。

from ine

torch

= “path-to-your–model”

pipe = ine.(, =torch.).to(“cuda”)

= “A photo of sks dog in a “

image = pipe(, =50, =7.5).[0]

image.save(“cat-.png”)

其中一些样本比 250 epoch 概念更准确地近似人类对提示的定性解释。

特别是,中间一行的三个样本显示了粘土猫玩具骑着几乎准确的自行车的所有特征。

其他行具有更逼真的猫对象,但仍显示比之前的测试更完整的自行车图像。

这种差异可能是由于在从概念对象的特征进行推断期间,进一步训练的模型中缺乏混杂效应。

通过更多地接触初始数据,概念中中心对象的重新创建不太可能干扰从提示推断的附加特征的生成——在这种情况下是自行车。

此外,重要的是要注意由随机种子引起的每行的一致变化。

每行都显示了在整个网格中未保留的相似的显着特征。

这清楚地表明了种子有效地控制了概念推理的随机性。

在训练过程中也会使用种子,改变它会对概念训练的结果产生重大影响。

要从这个阶段继续,建议尝试将训练扩展到 1000 个 epoch。

随着 epoch 数量的增加,需要警惕过度拟合。

如果我输入的图像在背景特征和对象视角方面不够多变,并且训练足够广泛,那么由于过度训练,在生成过程中将难以将对象从其原始位置训练出来。

重要的是要确保输入图像包含不同的内容,以确保更稳健的最终推理输出。

[1]

[2] web UI .md

[3] –

[4] Super-Fast, Multi-, Local for –

© 版权声明
广告也精彩

相关文章

暂无评论

暂无评论...