绘画:ora模型训练完整流程!作画托尼是塔克

关于AI绘画(基于Stable Diffusion Webui),我之前已经写过三篇文章,分别是。整体来说还是比简单的,搞个别人的模型,搞个提示词就出图了。今天来一个有些难度的,自己训练一个LoRA微调模型。

整体来说还是比简单的,搞个别人的模型,搞个提示词就出图了。今天来一个有些难度的,自己训练一个LoRA微调模型。

LoRA的全称是Low-Rank Adaptation of Large Language Models,有专门的论文和开源项目。它主要解决“大模型”太大,一般人玩不转的问题。

比如GPT-3 175B的参数,有几个人跑得起来呢?Stable Diffusion V1版模型用了150000 个 A100 GPU Hour,也不是个人玩得起的。

把LoRA应用到AI绘画之后,我们就可以用普通的消费级显卡来微调官方的模型了。

微调的意思,就是原先模型的基础上“夹带私货”。最常见的就是,让模型学习指定的风格或者人物。风格这种可能还是有点抽象,而人物这个就比较直观了。比如默认情况下,AI绘画软件无法画出指定的人物,而通过Lora模型就可以做到这一点。

这样一来,你就可以把自己或者你的宠物或者你的女神投射到AI绘画的模型中,然后通过描述词,让这个人物“千变万化”。

关于LoRA大概就说这些,更多专业的内容,可以看文末。

下面就开始介绍Lora的具体的训练方法了。开始之前简单说一下我的环境:

Lora的训练流程,我尽量做到简单又清晰,聊太多概念和用太多工具很容易把人绕晕。

训练Lora的方法不止一种,我这里选择的是一个叫kohya_ss的项目。这个项目比较独立,整个设计逻辑比较清晰,可以用可视化的方式配置参数,也提供了一些辅助工具,官方提供了详细的视频教程(英文)。

下面就来说一下如何安装。

安装基础软件:

Visual Studio XXX  redistributable 是一款简易实用,功能全面的全新系统运行库。它是Windows系统装机必备组件,包含:C Runtime (CRT),Standard C++,MFC,C++ AMP,OpenMP等,提供了强大而灵活的开发环境支持,让电脑内没有任何无用垃圾程序,同时它还能够解决各种软件运行不了的问题。(摘抄自网络)。

基础环境安装完成之后就可以开始安装和配置kohya_ss了。

克隆项目然后运行安装脚本

安装CUDNN 8.6 (可选)

安装CUDNN的目的是提升运算速度。

先通过下面的地址下载Cudnn文件。

然后放到kohya_ss项目的根目录下,然后运行下面的脚本。

启动软件

配置完成之后,就可以启动软件了,输入命令:

把URL复制到浏览器,就可以看到界面了。

所有的模型训练都遵循一个最基本的道理:好进好出。喂得素材好,训练的模型自然好。喂的是垃圾,出来的必然也是垃圾。所以第一步,就是把素材整好了。

素材处理呢,其实也分三个小步骤。

a.找素材

b.切素材

c.生成对应的关键词

素材可以通过不同渠道获取,比如最简单粗暴的方式就是直接在百度图片里面搜索。然后选择高清,或者大尺寸,特大尺寸。点进去之后看看有没有套图。

也可以直接去一些壁纸网站或者专门晒图的网站。比如糖堆,花瓣,Pinterest, Instagram...

图片的最基本要求是,清晰,清晰,清晰。其次,不要太单一。

图片比例,并没有强制要求。建议用1:1或者其他固定的比例去切。

从经验来看,聚焦半身或者头部更容易训练,更容易出稳定的效果,除了主体之外,背景尽量简单,减少干扰。

同一个明星的照片其实也是千差万别,有时候甚至P的都不像了一个人了,最好是能找到样貌比较稳定连续的素材。

比如用Birme来处理:

图片预处理完成之后,需要创建一个专门的训练文件夹。我是在kohya_ss的根目录创建一个名叫train的文件,然后在这个文件下面又创建一个叫Dilireba的文件夹。

里面又分别创建了如下的文件夹:

image : 图片放在这里。

log:训练记录

model:模型保存路径

image文件夹里面不是直接放图片,而是还有一个子文件夹,名称大概是这样100_dilireba。所有图片这放在这个子文件里面。这里的100不是随便写的,会直接影响训练的步数和效果。

创建好文件,将处理好的图片放在100_dilireba里面,然后就要做关键词生成了。

在网页上找到Utilities->Captioning->BLIP Captioning。

这里只要设置两个选项。

Image folder to caption : 图片文件夹所在路径。

Prefix to add to BLIP caption : 生成提示词的前缀,训练完成之后可以用在提示词中,唤醒或者加强人物特征。

设置完成之后点击“Caption images” 开始处理。第一次处理应该是需要在线下载一些模型,稍微等待一下。点击按钮之后,界面上没有任何提示,但是在命令行窗口中会有具体的显示。

处理完成之后,在图片文件里面,会多出同名的txt文件。

打开文件之后,可以看到类似的文字描述“dilireba a woman in a black dress with a red lipstick”。作为简单的练手,我们不需要修改任何东西。如果你要提升效果,可以手动加入更加详细,更加精准的描述。

经过上面的处理,素材已经搞定了。接下来就是设置训练参数。如果你已经有参数配置文件,可以直接通过点击Open按钮来导入。

参数设置主要分成了3部分。

第一部分是:预训练模型设置。

Lora的训练需要基于标准的SDW模型(Checkpoint),点击Source model选项卡之后就可以进行设置。

先将④处的模型快速选择(Model Quick Pick)设置成自定义(Custom),这里也可以用预设的V1.5,V2.1。但是使用这些预设模型,会需要很长的时间在线下载,而且会占据巨大的C盘空间,不是很推荐。

然后在左边③这里选择具体的本地模型,我这里用的是适合亚洲人的chilloutmix模型。通过点击输入框后面的文件图标,找到具体的模型文件就可以了。

然后右边⑤处的模型保存格式选择safetensors。

第二部分是:文件夹设置。

在素材处理的步骤中,我们已经创建好了具体的文件。这里只需要通过右边的文件夹小图标,选中具体的文件夹就好了。

①Image folder 选择 image 文件夹

②Output folder 选择 model 文件夹

③Logging folder 选择 log 文件夹

④Model output name ,输入一个便于记忆的英文名字,这个名字就是最终生成的模型的名字。我习惯用主体+版本+迭代次数来命名。

第三部分是:训练参数设置。

这里的参数非常多,一般对于这种情况,我们都遵循一个基本原则:“对于新手来说,默认设置就是最佳设置”。

你可以完全不做任何设置,就开始训练了。

我的部分参数设置如上图。

网上普遍的教程都是把批量大小(Train batch size)改成了2 。

设置一个种子(Seed)比如1234。

学习率(Learning rate)0.0001

Text Encoder学习率 5e-5

Unet学习率 0.0001

Network : 128和128

模型像素:512x512

参数设置完成之,点击底部的训练按钮①就可以开始训练了。

点击训练按钮之后,界面上没有任何变化,来到命令行窗口会看到一长串命令。

关于多少步才比较好的问题,官方教程演示的时候是用了800。但是这个这个数值仅供参考。不同的数据会有不同,比如我后来整理一个图片比较多的数据集,跑了几万步,好像也还有提升的空间。

具体的训练情况,可以通过log来查看。点击上面②处的Start TensorBoard 可以启动一个服务。

打开后可以看到具体的Loss变化情况。简单的来说loss慢慢降低就是对的。如果Loss基本没啥变化,训练下去也没太大意义了。

搞了那么久终于可以用了。

比如下图:

将图中的Lora模型文件拷贝到Stable-Diffusion-WebUI的对应路路径下。

然后启动AI绘画软件webui 。

然后选择好模型,输入关键词,选择对应的lora,然后点击生成即可。

刚开始不要加任何复杂的关键词,只用最基础的,比如 "a woman dilireba" 然后加上我们自己训练lora。关于Lora字符串,你可以直接输入,也可以通过图中圆圈处找到对应的Lora点击一下导入。导入的时候最右侧的参数默认为1,需要修改一下,改成0.7或者0.8。

如果Lora练的还可以,这个时候出来的图片应该是相识度比较高的。然后就可以在这个基础词语上做一些变化了,比如加一个“wearing a suit” (穿着西装)就可以得到下面的图片了。

如果出图俯角符合预期,这个Lora训练也就算是成功了。如果不满意,就要回过头去调整素材和参数了。目前的AI绘画,并不是每次出图都完美的,需要多少刷几次,多试几个关键词才能找到比较满意的效果。

到这里Lora部分的内容就全部写完了,拖拖拉拉拖了好久了,终于了了一个事儿。基于Lora这种特性,可以自己玩,也可以做成在线产品。比如之前说过的“达芬奇”网站就是把这个过程给集成和简化了。

虽然我已经尽量把过程都写出来了,但是不同的基础的人接受程度肯定不一样。厉害的人觉得太简单,对这个不太熟悉的可能觉得有点复杂。

确实,从零开始话,这里面还是有挺多东西的。

整个流程也还有无数的细节可以优化:

比如 具体的安装过程,异常排除。

比如 图片筛选,裁剪,修复。

比如 关键词生成的多种方式和优化方法。

比如 模型训练参数的调整。

LoRA训练的开源项目:

图片截取:

replicate关于Lora的介绍:

LoRA开源项目地址:

LoRA论文地址:

更多推荐

【收藏必备】小白也能懂的RAG技术:从零开始学习大模型检索增强生成

零基础学AI大模型之向量数据库介绍与技术选型思考

[ICLR 2020]Decoupling Representation and Classifier for Long-Tailed Recognition

THE END
0.AI绘画Stablediffusion必不可少的使用方法之Lora(1)这,就是Lora,所有AI绘画人都必须了解,并且要非常了解的小帮手,Lora的全称叫做Low-Rank Adaptation Model,中文意思是大模型的“低秩适应”。 我想用一个很类似的比喻来形容它--追踪导弹,在茫如瀚海的关键词之中,Lora像一个个精准无比的追踪导弹一样,能够准确又快速的捕捉道一套又一套的词组模型,包括服饰、姿势jvzquC41dnuh0lxfp0tfv8^F\CR0c{ykenk0fnyckny03<:729;45
1.AI绘画中的LoRa是什么?ai绘画lora是什么意思LoRA AI绘画模型 LoRA(Low-Rank Adaptation)是一种基于扩散模型的AI绘画工具,主要用于增强细节和提升画质。LoRA模型通过文本编码器与扩散模型的结合,能够实现画风调整、人物建模以及风格微调等功能。这种模型在全球范围内下载量极高,受到许多用户的喜爱。 LoRA的应用场景包括赛博Coser服饰更换、真人肖像生成以及特定风格的画jvzquC41dnuh0lxfp0tfv8gguvvbu~4ctvodnn4fgvgjn|4369629;:7
2.AI绘画StableDiffusion研究(十七)SDlora详解(上)大家还记得AI 绘画Stable Diffusion 研究(三)sd模型种类介绍及安装使用详解这篇文章中,曾简单介绍了Lora的安装和使用吗 ? 但是我们并不清楚LORA 的原理是什么?以及使用过程中有什么技巧 ? 其实LORA 与 embedding 、Hypernetwork 在本质上类似,不过因为携带着大量的训练数据,所以 LORA 对人物和细节特征的复刻更加细腻jvzquC41fg|fnxugt0gmk‚zp0eun1jwvkerf1:8685>5
3.AI绘画:Lora模型训练完整流程!ai绘图模型训练AI绘画:Lora模型训练完整流程! 整体来说还是比简单的,搞个别人的模型,搞个提示词就出图了。今天来一个有些难度的,自己训练一个LoRA微调模型。 0.LoRA微调模型是什么? LoRA的全称是Low-Rank Adaptation of Large Language Models,有专门的论文和开源项目。它主要解决“大模型”太大,一般人玩不转的问题。jvzquC41dnuh0lxfp0tfv8Jskso0c{ykenk0fnyckny03=:223?36
4.AI绘画的使用感受,很强,但并不完美4.loRA模型训练 6G显存的显卡是最基本的配置,但训练分辨率只有400*400左右。如果有训练模型的需求,可以去网络云租一张显卡,一天可以训练出一大堆模型。 5.AI绘画全身照的时候脸会崩 我从网上查到的原因是生成的图片分辨率太低,导致脸部的空间太小,AI不会画了。建议生成高分辨率图片,比例最好是4:3或3:2,虽然jvzq<84enwh/ijrgtuqz0lto1o5be}nxkv08<7634
5.LoRA360LoRA360,360的LoRA360是一个360推出的一个低调在线AI绘画网站,是新一代AI生图平台,也是360鸿图的升级版,LoRA可以将现实场景转换为动漫风格的360场景原创。jvzq<84yyy4zlytq0eun1|nvg1796B3jvor
6.LiblibAI·哩布哩布AI官网限时免费的LoRA炼丹炉!更全、更热门的素材,为所有AI绘画者提供更得心应手的平台,持续深耕专业领域。 标签:AI绘画工具4090AIGC热门工具Liblib AILiblibAI专业炼丹炉哩布哩布哩布哩布AI图生图在线sd在线模型训练工具文生图 链接直达手机查看 Liblib AI是什么? jvzquC41yy}/crle0et0urygu1878@:0jvsm
7.深度解析AI绘画中SD1.5SDXLCheckpointLora的含义与原理checkpoint、lora是什么意思 checkpoint和lora的区别 放轻松,我会通过设计师的视角帮大家更好地理解。 同时我给大家准备了一份完整版的AI绘画全套学习资料,已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】 问题1:SDXL、SD1.5这些版本有什么区别,到底有多少版本? jvzquC41dnuh0lxfp0tfv8F35792;;7;81gsvrhng1jfvjnnu1754A9:637
8.AI绘画SD启动器stablediffusion插件安装大模型Lora安装stable diffusionMidjourneyAI绘画向量数据库最佳实践征文活动玩转腾讯混元大模型 视频文本 温馨提示:文本由机器自动转译,部分词句存在误差,以视频为准 00:01 本期要录制的节目呢,是给大家分享一下我们会试启动器的最新版本的一个大概的一个概况,那么当你安装完启动器之后啊,打开你的压缩包啊,解压缩,安装完基本环境,点击启动之后呢,就会jvzquC41enuvf7ygpekov7hqo1jfxnqqrgx0xrigq1=:7==
9.AI绘画:Lora模型训练完整流程!托尼不是塔克关于AI绘画(基于Stable Diffusion Webui),我之前已经写过三篇文章,分别是 软件安装,基本的使用方法,微调模型LoRA的使用。 整体来说还是比简单的,搞个别人的模型,搞个提示词就出图了。今天来一个有些难度的,自己训练一个LoRA微调模型。 ​ 编辑切换为居中 添加图片jvzquC41yy}/ewgnqiy/exr1ycthrp4r13=4:A>820nuou