【kohya】训练自己的LoRA模型

news2025/1/9 1:11:34

文章目录

  • 序言
  • 准备环境
  • 准备图片
  • 处理图片
  • 下载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-url
                         https://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 CaptioningWD14 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/mode
                         l_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 torchaudio

pip3 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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1037845.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2023蓝帽杯南部赛区半决赛取证复现

首先嗷&#xff0c;仅代表个人评价一下就是说赛委会在出题的时候不严谨&#xff0c;我一度怀疑我的语文阅读能力有问题&#xff0c;但是呢&#xff0c;这次的取证题目虽然不是很难&#xff0c;但是有些地方我也是依旧没有找到&#xff0c;说了这么多&#xff0c;接下来&#xf…

使用BeanCopier复制对象属性值,遇到NullPointerException?

文章目录 一、场景二、问题三、分析四、解决五、总结 一、场景 项目中&#xff0c;为了数据安全&#xff0c;由于身份证属于敏感信息&#xff0c;需要加密后返回给页面解密显示&#xff0c;但DTO中出现了一种骚操作&#xff0c;身份证的get方法&#xff0c;把身份证转成大写的…

【数据结构】C++实现哈希表

闭散列哈希表 哈希表的结构 在闭散列的哈希表中&#xff0c;哈希表每个位置除了存储所给数据之外&#xff0c;还应该存储该位置当前的状态&#xff0c;哈希表中每个位置的可能状态如下&#xff1a; EMPTY&#xff08;无数据的空位置&#xff09;。EXIST&#xff08;已存储数…

Zabbix介绍与安装

目录 一、概述 二、zabbix的主要功能 三、zabbix监控原理 四、Zabbix 监控模式 五、zabbix的架构 server-client server-proxy-client master-node-client 六、zabbix的安装 安装zabbix服务端 安装zabbix客户端 测试zabbix 1、在 Web 页面中添加 agent 主机点击左…

SystemC入门学习-第3章 数据类型

本章将详细的描述SystemC的数据类型&#xff0c;并介绍这些类型的数据可以进行哪些操作。比如值保持器&#xff08;value holder&#xff09;就是一种特殊的类型。在所有的类型中&#xff0c;最重要的是bool和sc_uint两种类型 3.1 值保持器 值保持器有三种&#xff1a; 变量…

如何管理销售团队?

本文将为大家讲解&#xff1a;如何管理销售团队&#xff1f; 销售团队的管理是企业成功的关键因素之一。一个高效、协同的销售团队可以推动企业的增长&#xff0c;增强市场竞争力。然而&#xff0c;销售团队的管理并不是一件容易的事情&#xff0c;它涉及多个方面的协调和优化…

Verilog开源项目——百兆以太网交换机(二)AES加解密模块设计

Verilog开源项目——百兆以太网交换机&#xff08;二&#xff09;AES加解密模块设计 &#x1f508;声明&#xff1a;未经作者允许&#xff0c;禁止转载 &#x1f603;博主主页&#xff1a;王_嘻嘻的CSDN主页 &#x1f511;全新原创以太网交换机项目&#xff0c;Blog内容将聚焦整…

基于微信小程序的投票系统设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言用户微信小程序的主要功能有&#xff1a;管理员的主要功能有&#xff1a;具体实现截图论文参考为什么选择我自己的网站自己的小程序&#xff08;小蔡coding&#xff09;有保障的售后福利 代码参考源码获取 前言 &#x1f497;博主介绍&#xff1a;✌全网粉丝10W,C…

Vue.js路由及Node.js的入门使用---超详细

一&#xff0c;Vue路由 1.1 路由是什么 路由是用来管理应用程序中不同页面之间导航的概念。Vue Router是Vue.js官方提供的路由管理器&#xff0c;它允许我们通过定义路由规则和视图组件来配置路由 1.2 路由给我们带来的好处有哪些&#xff1f; 单页应用&#xff08;Single Pag…

Springboot整合jdbc和Mybatis

目录 整合jdbc 1. 新建项目 2. 编写yaml配置文件连接数据库 3. 测试类 使用原生的jdbcTemplate进行访问测试 使用Druid连接池 1. 添加类型 2. 初始化连接池 3. 编写config类 配置Druid数据源监视 整合Mybatis 1. 导入依赖 2. 编写mapper接口 3. 编写实体类 4. 编…

GLTF编辑器的另一个作用

1、GLB模型介绍 GLB&#xff08;GLTF Binary&#xff09;是一种用于表示三维模型和场景的文件格式。GLTF是"GL Transmission Format"的缩写&#xff0c;是一种开放的、跨平台的标准&#xff0c;旨在在各种3D图形应用程序和引擎之间进行交换和共享。 GLB文件是GLTF文件…

MySQL数据库详解 二:数据库的高级语句(高级查询语句)

文章目录 1. 克隆表 ---- 将数据表的数据记录生成到新的表中1.1 方式一&#xff1a;先创建新表&#xff0c;再导入数据1.2 方式二&#xff1a;创建的时候同时导入 2. 清空表 ---- 删除表内的所有数据2.1 delete删除2.2 truncate删除&#xff08;重新记录&#xff09;2.3 创建临…

别着急,解决不了的问题,就请交给时间吧

转眼间我走出社会已过去四年之久&#xff0c;但很多事依旧历历在目&#xff0c;就好像昨天发生的一样。 我小时候&#xff0c;因为一场医学事故患有先天性白内障&#xff0c;真的是连黑板的看不清&#xff0c;当时自己也不太懂事&#xff0c;上课对我来说就是画画以及一切能够消…

保姆级 Keras 实现 Faster R-CNN 十三 (训练)

保姆级 Keras 实现 Faster R-CNN 十三 训练 一. 将 Faster R-CNN 包装成一个类二. 修改模型结构1. 修改 input_reader 函数2. 增加 RoiLabelLayer 层 三. 损失函数1. 自定义损失函数2. 自定义精度评价函数 四. 模型编译五. 模型训练六. 预训练模型七. 保存模型与参数八. 代码下…

更新、修改

MySQL从小白到总裁完整教程目录:https://blog.csdn.net/weixin_67859959/article/details/129334507?spm1001.2014.3001.5502 语法: update 表名 列名该列新值, 列名该列新值, ... where 记录匹配条件; 说明&#xff1a;update 更新、修改 set 设置 …

通讯网关软件011——利用CommGate X2ODBC实现DDE数据转入ODBC

本文介绍利用CommGate X2ODBC实将DDE数据源中的数据转入到ODBC数据源。CommGate X2ODBC是宁波科安网信开发的网关软件&#xff0c;软件可以登录到网信智汇(http://wangxinzhihui.com)下载。 【案例】如下图所示&#xff0c;将DDE数据源&#xff08;如Excel&#xff09;的数据写…

【软件设计师-从小白到大牛】下午题基础篇:第一章 数据流图(DFD)

文章目录 前言章节提要一、数据流图基本概念二、数据流图的分层&#xff08;DFD&#xff09;三、数据字典四、数据流图平衡原则五、答题技巧问题一问题二问题三问题四 六、案例分析1、案例12、案例2 前言 ​ 本系列文章为观看b站视频以及b站up主zst_2001系列视频所做的笔记&…

DAZ To UMA⭐一.DAZ简单使用教程

文章目录 &#x1f7e5; DAZ快捷键&#x1f7e7; DAZ界面介绍 &#x1f7e5; DAZ快捷键 移动物体:ctrlalt鼠标左键 旋转物体:ctrlalt鼠标右键 导入模型:双击左侧模型UI &#x1f7e7; DAZ界面介绍 Files:显示全部文件 Products:显示全部产品 Figures:安装的全部人物 Wardrobe…

Floyd算法基础

弗洛伊德算法(Floyd) 之前介绍了迪杰斯特拉算法(Dijkstra)。具体请看&#xff1a;最短路径算法——简单明了的迪杰斯特拉算法(Dijkstra)。Dijkstra适用于非负权图&#xff0c;并且一次只能从网络中找源点到任何一个节点的最短路径&#xff0c;而Floyd算法的应用更加广泛&#…

基于vue的黑马前端项目小兔鲜

目录 项目学习 初始化项目 建立项目 引入elementplus elementPlus主题设置 配置axios 路由 引入静态资源 自动导入scss变量 Layout页 组件结构快速搭建 字体图标渲染 一级导航渲染 吸顶导航交互实现 Pinia优化重复请求 Home页 分类实现 banner轮播图 …