【kohya】训练自己的LoRA模型
文章目录
- 序言
- 准备环境
- 准备图片
- 处理图片
- 下载kohya_ss代码
- 修改pyvenv.cfg
- 启动界面
- 访问地址
- 生成字幕
- 准备训练的文件夹
- 配置训练参数
- 开始训练
- 遇到的问题:
序言
在把玩stable diffusion的webUI和comfyUI后,思考着自己也微调一个个性化风格的checkpoint、LyCORIS或LoRA。
做好,环境问题搞崩心态的准备。
我的旧电脑,GPU才4G,直接跑蹦了三次。
在没有好电脑的情况下,还是别自己制作模型啦,费时间、费电脑,GPU不够的情况下,肯定跑不出来。
准备环境
python:3.10.9(官方推荐),官方强调一定不能是3.11+,否则跑不了。
准备图片
大概需要准备10-20张图片。
这里我们用华仔的图片:
https://stable-diffusion-art.com/wp-content/uploads/2023/09/lora_training_captions.zip

处理图片
这个是在线图片处理网站:https://www.birme.net/

下载kohya_ss代码
https://github.com/bmaltais/kohya_ss#setup
git clone https://github.com/bmaltais/kohya_ss.git
下载好了后,在目录下打开cmd
运行:
.\setup.bat
安装过程中,会有报错信息,如下面我的安装信息,就有error错误的。
这时,我们再单独安装他们即可。
我的安装信息如下:
07:30:01-098969 INFO Python 3.10.9 on Windows
07:30:01-114591 INFO nVidia toolkit detected
07:30:22-313445 INFO Torch 2.0.1+cu118
07:30:27-317148 INFO Torch backend: nVidia CUDA 11.8 cuDNN 8700
07:30:27-524602 INFO Torch detected GPU: NVIDIA GeForce GTX 960M VRAM 4096 Arch (5, 0) Cores 5
07:30:27-546322 INFO Installing modules from requirements_windows_torch2.txt...
07:30:27-571730 INFO Installing package: torch==2.0.1+cu118 torchvision==0.15.2+cu118 --index-urlhttps://download.pytorch.org/whl/cu118
07:30:31-836436 INFO Installing package: xformers==0.0.21
07:31:57-013124 INFO Installing package: bitsandbytes==0.35.0
07:32:51-316790 INFO Installing package: tensorboard==2.12.3 tensorflow==2.12.0
07:37:59-014316 ERROR Error running pip: install --upgrade tensorboard==2.12.3 tensorflow==2.12.0
07:37:59-014316 INFO Installing modules from requirements.txt...
07:37:59-014316 WARNING Package wrong version: accelerate 0.23.0 required 0.19.0
07:37:59-014316 INFO Installing package: accelerate==0.19.0
07:38:03-229388 INFO Installing package: aiofiles==23.2.1
07:38:06-751172 INFO Installing package: altair==4.2.2
07:38:38-267155 INFO Installing package: dadaptation==3.1
07:38:51-524642 INFO Installing package: diffusers[torch]==0.18.2
07:38:59-209713 INFO Installing package: easygui==0.98.3
07:39:02-399649 WARNING Package wrong version: einops 0.6.1 required 0.6.0
07:39:02-415277 INFO Installing package: einops==0.6.0
07:39:06-136609 INFO Installing package: fairscale==0.4.13
07:39:25-893111 INFO Installing package: ftfy==6.1.1
07:39:29-690634 INFO Installing package: gradio==3.36.1
07:40:36-392666 WARNING Package wrong version: huggingface-hub 0.17.2 required 0.15.1
07:40:36-400190 INFO Installing package: huggingface-hub==0.15.1
07:40:40-941236 INFO Installing package: invisible-watermark==0.2.0
07:41:24-129685 INFO Installing package: lion-pytorch==0.0.6
07:41:30-507921 INFO Installing package: lycoris_lora==1.8.3
07:41:37-013021 INFO Installing package: open-clip-torch==2.20.0
07:41:50-051513 INFO Installing package: opencv-python==4.7.0.68
07:42:25-089723 INFO Installing package: prodigyopt==1.0
07:42:28-598267 INFO Installing package: pytorch-lightning==1.9.0
07:42:38-209014 WARNING Package wrong version: rich 13.5.3 required 13.4.1
07:42:38-215011 INFO Installing package: rich==13.4.1
07:42:43-854357 WARNING Package wrong version: safetensors 0.3.3 required 0.3.1
07:42:43-860357 INFO Installing package: safetensors==0.3.1
07:42:48-383515 INFO Installing package: timm==0.6.12
07:42:54-170484 INFO Installing package: tk==0.1.0
07:42:57-803992 INFO Installing package: toml==0.10.2
07:43:01-527071 WARNING Package wrong version: transformers 4.33.2 required 4.30.2
07:43:01-533037 INFO Installing package: transformers==4.30.2
07:43:24-744913 INFO Installing package: voluptuous==0.13.1
07:43:29-529060 INFO Installing package: wandb==0.15.0
修改pyvenv.cfg
我的路径:E:\openai\project\kohya_ss\venv
我习惯性的改为true。原因是:1.来节省空间,2来已经安装过的模块,就不用再安装一遍了。
include-system-site-packages = true
启动界面
在kohya_ss目录下,双击gui.bat文件,进行启动。

访问地址
http://127.0.0.1:7860/
这个地址和stable diffusion webUI是同一个地址。
生成字幕
打开我们启动的页面:
路径:Utilities – Captioning – BLIP Captioning(WD14 Captioning也可以)
选择文件夹,选择我们处理好图片的文件夹

最后点击:Caption images。就可以帮我们生成字幕了。
命令行中打印的日志如下:
To create a public link, set `share=True` in `launch()`.
19:29:13-558295 INFO Captioning files in E:/下载/AI绘图/AIGC/hanli...
19:29:13-561260 INFO ./venv/Scripts/python.exe "finetune/make_captions.py" --batch_size="1" --num_beams="1"--top_p="0.9" --max_length="75" --min_length="5" --beam_search --caption_extension=".txt""E:/下载/AI绘图/AIGC/hanli"--caption_weights="https://storage.googleapis.com/sfr-vision-language-research/BLIP/models/model_large_caption.pth"
Current Working Directory is: E:\openai\project\kohya_ss
load images from E:\下载\AI绘图\AIGC\hanli
found 13 images.
loading BLIP caption: https://storage.googleapis.com/sfr-vision-language-research/BLIP/models/model_large_caption.pth
Downloading (…)solve/main/vocab.txt: 100%|███████████████████████████████████████████| 232k/232k [00:00<00:00, 360kB/s]
Downloading (…)okenizer_config.json: 100%|██████████████████████████████████████████████████| 28.0/28.0 [00:00<?, ?B/s]
Downloading (…)lve/main/config.json: 100%|████████████████████████████████████████████████████| 570/570 [00:00<?, ?B/s]
100%|█████████████████████████████████████████████████████████████████████████████| 1.66G/1.66G [09:01<00:00, 3.30MB/s]
load checkpoint from https://storage.googleapis.com/sfr-vision-language-research/BLIP/models/model_large_caption.pth
BLIP loaded
100%|██████████████████████████████████████████████████████████████████████████████████| 13/13 [00:30<00:00, 2.36s/it]
done!
19:41:08-386110 INFO ...captioning done
可以看出,它下载了一个1.6G的文件,这个问题,存在路径:C:\Users\yutao\.cache\torch\hub\checkpoints\model_large_caption.pth
可以看出存放在C盘,非常不友好。
生成字幕,效果如下:

随便打开一个:

准备训练的文件夹
设置准备训练的文件夹。

点击Prepare training data按钮,会生成如下图所示的文件夹:

配置训练参数
路径: LoRa – Training – source model

路径: LoRa – Training – Folders

路径: LoRa – Training – parameters – basic

参数:
Optimizer extra arguments : scale_parameter=False relative_step=False warmup_init=False


路径: LoRa – Training – parameters – advanced


参数说明:LoRA-training-parameters
开始训练
点击“Start training” 开始训练。
遇到的问题:
这里我遇到了一个警告:
WARNING[XFORMERS]: xFormers can't load C++/CUDA extensions. xFormers was built for:PyTorch 2.0.1+cu118 with CUDA 1108 (you have 2.0.1+cpu)Python 3.10.11 (you have 3.10.9)Please reinstall xformers (see https://github.com/facebookresearch/xformers#installing-xformers)Memory-efficient attention, SwiGLU, sparse and more won't be available.
上面是说,CUDA没法使用,也就意味着,我们无法调用GPU来跑,只能调用CPU来跑。
执行如下命令:
pip uninstall -y torch torchvision torchaudiopip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
即可解决
参考地址:
SDXL LORA Training locally with Kohya
How to train Lora models
AnimateDiff|高质量文本到动画视频生成
LoRA-training-parameters
相关文章:
【kohya】训练自己的LoRA模型
文章目录 序言准备环境准备图片处理图片下载kohya_ss代码修改pyvenv.cfg启动界面访问地址生成字幕准备训练的文件夹配置训练参数开始训练遇到的问题: 序言 在把玩stable diffusion的webUI和comfyUI后,思考着自己也微调一个个性化风格的checkpoint、LyCO…...
[尚硅谷React笔记]——第1章 React简介
目录: 第1章 React简介 React的基本使用:虚拟DOM的两种创建方式: 使用jsx创建虚拟DOM使用js创建虚拟DOM(一般不用)虚拟DOM与真实DOM:React JSX:JSX练习:模块与组件、模块化与组件化的理解 模块组件模块化组件化 第1章 React简介 中文官网: …...
Debezium系列之:快照参数详解
Debezium系列之:快照参数详解 一、snapshot.select.statement.overrides二、min.row.count.to.stream.results三、snapshot.delay.ms四、snapshot.fetch.size五、snapshot.lock.timeout.ms六、incremental.snapshot.allow.schema.changes七、incremental.snapshot.chunk.size八…...
redis单机版搭建
title: “Redis单机版搭建” createTime: 2022-01-04T20:43:1108:00 updateTime: 2022-01-04T20:43:1108:00 draft: false author: “name” tags: [“redis”] categories: [“install”] description: “测试的” redis单机版搭建 安装环境 redis版本redis-5.0.7虚拟机系统…...
物联网边缘网关
物联网边缘网关 边缘网关的定义边缘网关的分类边缘计算网关平台相关产品有哪些 百度边缘计算平台(BIE)华为边缘计算平台(IEF)产品应用拓扑图产品价格区间...
docker部署springboot程序时遇到的network问题
对应问题,因为刚开始接触docker,所以问题可能比较简单,但是做个记录 1、启动一个springboot项目获取本地ip的时候获取到的是172.17.0.x这个ip;在使用一些注册中心,mq的时候又要表明自己的本机器ip的时候会比较头疼&…...
RASP hook插桩原理解析
javaagent技术,实现提前加载类字节码实现hook,插桩技术 javassist技术ASM字节码技术 像加载jar,有两种方式 premain启动前加载:每次变动jar包内容,都需要进行重启服务器利用java的动态attch加载原理,采用pr…...
Pygame中Sprite的使用方法6-5
3 碰撞检测 蓝色方块会随着鼠标移动,当碰到绿色方块时,则当前分数加1,当碰到红色方块时,当前分数减1。因为要随时进行碰撞检测,因此需要在while True循环中实现以下功能。 3.1 蓝色方块随鼠标移动 将蓝色方块的位置…...
浅谈为什么多态只能是指针或引用
其实在很早之前,我一直没有注意到这个问题,直到今天碰见了一道题,顺便前面的博客中,继承写到,子类中不包含父类,子类只是继承了父类的成员变量和函数,由这一点,引发了我对切片以及赋…...
js看代码说输出
目录 原型 Function与Object new fn() 原型链 constructor function.length 默认参数:第一个具有默认值之前的参数个数 剩余参数:不算进length 闭包 循环中 函数工厂:形参传递 IIFE:匿名闭包 let:闭包 forEach()&am…...
Java笔记:使用javassist修改class文件内方法
1.前言 在工作突然有一个需求。线上运维的一个tomcat的web项目,运行的程序不正常。需要修改代码。可是这个项目代码非常的老,并且公司存储的源代码跟线上的不一致。 我了个擦,没有源代码但是还要结局客户的问题。只能到线上将对应程序的clas…...
华为云云耀云服务器L实例评测 |云服务器性能评测
通过上一篇文章华为云云耀云服务器 L 实例评测 |云服务器选购,我已经购买了一台 Centos 系统的云耀云服务器 L 实例。 在获得云耀云服务器 L 实例后,首要任务是熟悉云耀云服务器 L 实例的性能,对云耀云服务器 L 实例的性能进行测…...
iphone的safari浏览器实现全屏的pwa模式,并修改顶部状态栏背景颜色
要想修改顶部背景颜色,需要用到这个属性:content就是你要设置的颜色 <!-- 状态栏的背景色 --><meta name"theme-color" content"#f8f8f8" /> 然后再加上下面的设置: <!-- 网站开启对 web app 程序的支持…...
springboot对接rabbitmq并且实现动态创建队列和消费
背景 1、对接多个节点上的MQ(如master-MQ,slave-MQ),若读者需要自己模拟出两个MQ,可以部署多个VM然后参考 docker 安装rabbitmq_Steven-Russell的博客-CSDN博客 2、队列名称不是固定的,需要接受外部参数&…...
Spring的后处理器-BeanFactoryPostprocessor
目录 Spring后处理器 Bean工厂后处理器-BeanFactoryPostProcessor 修改beanDefinition对象 添加beanDefiniton对象 方法一 方法二 自定义Component Spring后处理器 Spring后处理器是Spring对外开放的重要拓展点(让我们可以用添加自己的逻辑)&…...
Flutter 必备知识点
Flutter 升级 确保在项目根目录下(含有 pubspec.yaml 的文件夹) 在命令行中输入命令: flutter channel输出: Flutter channels: * mastermainbetastable这个可以在 pubspec.yaml 中查看: 切换分支也很简单…...
什么是FMEA(失效模式和影响分析)?
失效模式和影响分析(FMEA)是一个在开发阶段,用于确定产品或流程可能的风险和失败点的有条理的过程。FMEA团队会研究失效模式,也就是产品或流程中可能出错的地方,以及这些失效可能带来的影响(如风险、损害、…...
Redis面试题(三)
文章目录 前言一、怎么理解 Redis 事务?二、Redis 事务相关的命令有哪几个?三、Redis key 的过期时间和永久有效分别怎么设置?四、Redis 如何做内存优化?五、Redis 回收进程如何工作的?六、 加锁机制总结 前言 怎么理…...
Python错误处理指南:优雅应对异常情况
目录 一. 异常是什么?二. 使用 try 和 except三. 捕获多个异常四. 使用 else五. 使用 finally六. 自定义异常七.Python中常见异常处理类型八.Python中常见异常处理实例九.异常处理最佳实践十.结论 当编写Python代码时,错误处理是一个重要的方面ÿ…...
MySQL学习笔记12
MySQL 查询语句: 1、查询五子句:(重点) mysql> select */字段列表 from 数据表名称 where 子句 group by 子句 having 子句 order by 子句 limit 子句; 1)where 子句;条件筛选。 2)group…...
AI-调查研究-01-正念冥想有用吗?对健康的影响及科学指南
点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...
Chapter03-Authentication vulnerabilities
文章目录 1. 身份验证简介1.1 What is authentication1.2 difference between authentication and authorization1.3 身份验证机制失效的原因1.4 身份验证机制失效的影响 2. 基于登录功能的漏洞2.1 密码爆破2.2 用户名枚举2.3 有缺陷的暴力破解防护2.3.1 如果用户登录尝试失败次…...
树莓派超全系列教程文档--(62)使用rpicam-app通过网络流式传输视频
使用rpicam-app通过网络流式传输视频 使用 rpicam-app 通过网络流式传输视频UDPTCPRTSPlibavGStreamerRTPlibcamerasrc GStreamer 元素 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 使用 rpicam-app 通过网络流式传输视频 本节介绍来自 rpica…...
shell脚本--常见案例
1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件: 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...
Web 架构之 CDN 加速原理与落地实践
文章目录 一、思维导图二、正文内容(一)CDN 基础概念1. 定义2. 组成部分 (二)CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 (三)CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 …...
AI,如何重构理解、匹配与决策?
AI 时代,我们如何理解消费? 作者|王彬 封面|Unplash 人们通过信息理解世界。 曾几何时,PC 与移动互联网重塑了人们的购物路径:信息变得唾手可得,商品决策变得高度依赖内容。 但 AI 时代的来…...
C++:多态机制详解
目录 一. 多态的概念 1.静态多态(编译时多态) 二.动态多态的定义及实现 1.多态的构成条件 2.虚函数 3.虚函数的重写/覆盖 4.虚函数重写的一些其他问题 1).协变 2).析构函数的重写 5.override 和 final关键字 1&#…...
STM32---外部32.768K晶振(LSE)无法起振问题
晶振是否起振主要就检查两个1、晶振与MCU是否兼容;2、晶振的负载电容是否匹配 目录 一、判断晶振与MCU是否兼容 二、判断负载电容是否匹配 1. 晶振负载电容(CL)与匹配电容(CL1、CL2)的关系 2. 如何选择 CL1 和 CL…...
从物理机到云原生:全面解析计算虚拟化技术的演进与应用
前言:我的虚拟化技术探索之旅 我最早接触"虚拟机"的概念是从Java开始的——JVM(Java Virtual Machine)让"一次编写,到处运行"成为可能。这个软件层面的虚拟化让我着迷,但直到后来接触VMware和Doc…...
鸿蒙Navigation路由导航-基本使用介绍
1. Navigation介绍 Navigation组件是路由导航的根视图容器,一般作为Page页面的根容器使用,其内部默认包含了标题栏、内容区和工具栏,其中内容区默认首页显示导航内容(Navigation的子组件)或非首页显示(Nav…...
