lora训练模型 打造个人IP

准备工作

  • 下载秋叶炼丹器
  • 整理自己的照片
  • 下载底膜 https://rentry.org/lycoris-experiments
  • 在这里插入图片描述

实操步骤

  1. 解压整合包 lora-scripts,先点击“更新”

在这里插入图片描述

  1. 训练图片收集

比如要训练一个自己头像的模型,就可以拍一些自己的照片(20-50张,最少15张),要求画质清晰,脸部轮廓清楚,背景较为简单的照片。

建议整理成512*512大小 , 推荐工具
在这里插入图片描述

  1. 使用WD1,4 标签器的预处理功能进行图片的预处理
    将准备好的图片,放入目录 train/XXX[自定义]/ [数值, 图片数量]_XXX[自定义]
    在这里插入图片描述

这里可以根据自己的情况设置不同的宽高,以及相关的设置项,设置完成之后,点击“预处理”就可以进行图像的预处理了,预处理进度会在右侧显示。处理完成之后的文件夹内文件统一转成了512*512的png格式,并且多了一个txt文件,这个文件里面就是图片内容的提示词。

  1. 点击启动, 对照片打标签
    在这里插入图片描述

执行完毕后, 照片文件夹会自动生成txt文件
在这里插入图片描述
5. 使用lora训练-新手模式
在这里插入图片描述
在这里插入图片描述

lora-scripts环境搭建

若新手从零开始, 请参考本专栏基础知识, 此处简略说明下安装环境

  1. 先将lora-scripts项目(
GitHub - Akegarasu/lora-scripts: LoRA training scripts use kohya-ss's trainer, for diffusion model.
https://github.com/Akegarasu/lora-scripts

)克隆到本地,可以放在stable-diffusion下面,也可以放在其他目录下面。

  1. 克隆完之后,进入该目录删除sd-scripts文件夹,然后克隆sd-scripts项目(
GitHub - kohya-ss/sd-scripts
https://github.com/kohya-ss/sd-scripts

)到该目录下。

  1. 安装环境,有两种方式。一种是在lora-scripts下直接执行./install.ps1命令,自动安装相关环境。另外一种是进入到lora-scripts/sd-scripts中,使用以下命令进行安装(可以参考该项目下的说明文档)。
##  创建并激活虚拟环境
python -m venv venv
.\venv\Scripts\activate## 安装cuda
pip install torch==1.12.1+cu116 torchvision==0.13.1+cu116 --extra-index-url https://download.pytorch.org/whl/cu116## 安装相关包,可以加上 -i 国内源 快一点儿!
pip install --upgrade -r requirements.txt## 安装xformers,这里可以先用下载工具把文件下载下来,用本地路径安装,不然网络不稳定很容易中断
pip install -U -I --no-deps https://github.com/C43H66N12O12S2/stable-diffusion-webui/releases/download/f/xformers-0.0.14.dev0-cp310-cp310-win_amd64.whl## 复制相关文件到虚拟环境
cp .\bitsandbytes_windows\*.dll .\venv\Lib\site-packages\bitsandbytes\
cp .\bitsandbytes_windows\cextension.py .\venv\Lib\site-packages\bitsandbytes\cextension.py
cp .\bitsandbytes_windows\main.py .\venv\Lib\site-packages\bitsandbytes\cuda_setup\main.py## 加速器配置
accelerate config

这里要注意的是,cuda和xformers的版本这里是对应好的,如果版本不对会报错。另外,后面的相关操作都是在venv的虚拟环境下操作的,所以如果重新进入的话,需要重新激活虚拟环境。

accelerate config这个命令进入之后,对于多项选择的可以用上下键,或者使用(0,1,2…)去选择相关的选项,yes or no的直接输入然后回车,大部分配置项选择默认就可以了,我这里没有使用DeepSpeed,所以这一项,我选择的No,根据自己的实际情况去选就行了,不知道啥意思的可以挨个查下。

  1. 准备训练

训练有两种方式,方式一:直接执行训练命令(执行 ./train.ps1),方式二:使用webui的方式(执行 ./run_gui.ps1 打开web页面)。

(1)将预处理过的图片目录(qige)拷贝到lora-scripts/train/qg_imgs目录下(train目录不存在可以新建一个,这里要注意,图片和文本存放的最终目录是lora-scripts/train/qg_imgs/qige)

(2)修改配置。

方式一,直接修改train.ps1文件,修改以下配置

## Train data path | 设置训练用模型、图片
$pretrained_model = "./sd-models/chilloutmix_NiPrunedFp32Fix.safetensors" # base model path | 底模路径
$train_data_dir = "./train/qg_imgs" # train dataset path | 训练数据集路径## Train related params | 训练相关参数
$resolution = "512,512" # image resolution w,h. 图片分辨率,宽,高。支持非正方形,但必须是 64 倍数。
$batch_size = 2 # batch size
$max_train_epoches = 20 # max train epoches | 最大训练 epoch
$save_every_n_epochs = 2 # save every n epochs | 每 N 个 epoch 保存一次$output_name = "qg" # output model name | 模型保存名称

chilloutmix_NiPrunedFp32Fix.safetensors 的下载地址为:

naonovn/chilloutmix_NiPrunedFp32Fix at main
We’re on a journey to advance and democratize artificial intelligence through open source and open science.
https://huggingface.co/naonovn/chilloutmix_NiPrunedFp32Fix/tree/main

也可以使用其他的模型,上面的模型地址也可以改成stable-diffusion中已有的模型路径,可以节约点儿磁盘空间,毕竟单个模型都是好几个G。另外这个目录设置要注意,不是到最后那一层的目录,是到最后一层的上一层目录。

方式二,直接在webui上设置,比较直观

在这里插入图片描述

  1. 开始训练
    本文最开始 的几个步骤

如果使用的是方式二,可以直接点击右侧的“直接开始训练”按钮就可以开始训练,与方式一一样,相关的输出信息可以在命令行终端上看到。一般不会一下就成功,可以根据相关的报错信息进行修改。我用的是3060的显卡,之前将batch_size和max_train_epoches设置得较大,中途会出现显存不够用的情况,然后逐步调整,才最终跑完。训练的过程见下图。

在这里插入图片描述

最后会在output目录中,输出训练好的模型文件。

  1. 模型使用

将训练好的模型.safetensors文件拷贝到stable-diffusion文件夹下的models/lora/文件夹下,在提示词中加入lora:训练的模型:权重就可以生成自己的图像了,效果还行。如果用更多图片,有更强悍的机器,训练出来的效果应该会更好…

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

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

相关文章

IO 多路复用技术:原理、类型及 Go 实现

文章目录 1. 引言IO 多路复用的应用场景与重要性高并发下的 IO 处理挑战 2. IO 多路复用概述什么是 IO 多路复用IO 多路复用的优点与适用场景 3. IO 多路复用的三种主要实现3.1 select3.2 poll3.3 epoll三者对比 4. 深入理解 epoll4.1 epoll 的三大操作4.2 epoll 的核心数据结构…

大数据新视界 -- 大数据大厂之 Impala 性能优化:从数据压缩到分析加速(下)(8/30)

💖💖💖亲爱的朋友们,热烈欢迎你们来到 青云交的博客!能与你们在此邂逅,我满心欢喜,深感无比荣幸。在这个瞬息万变的时代,我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…

信息学奥赛一本通 1395:烦人的幻灯片(slides)

【题目链接】 ybt 1395:烦人的幻灯片(slides) 【题目考点】 1. 图论:拓扑排序 【解题思路】 先理解题意: 如图,每张幻灯片是一个矩形,在该矩形范围内有一个位置写了这张幻灯片的编号。但实际情况是幻灯片是透明…

DB-GPT系列(三):底层大模型设置(开源模型、在线模型)

前面两篇文章分别对 DB-GPT 的总体情况进行了介绍,同时涵盖了镜像一键部署与源码部署这两种部署方式。 DB-GPT系列(一):DB-GPT能帮你做什么? DB-GPT系列(二):DB-GPT部署&#xff0…

LabVIEW配电产品精度测试系统

开发了一种基于LabVIEW平台的配电产品精度测试系统,通过自动化测试流程实现更高的测试准确性与效率。系统采用串口和TCP通信技术,与多功能交流采样变送器和配电设备无缝数据交互,提升了测试工作的可靠性和一致性。 一、项目背景 在配电产品…

详解Java之Spring MVC篇二

目录 获取Cookie/Session 理解Cookie 理解Session Cookie和Session的区别 获取Cookie 获取Session 获取Header 获取User-Agent 获取Cookie/Session 理解Cookie HTTP协议自身是“无状态”协议,但是在实际开发中,我们很多时候是需要知道请求之间的…

【大数据学习 | kafka】kafka的偏移量管理

1. 偏移量的概念 消费者在消费数据的时候需要将消费的记录存储到一个位置,防止因为消费者程序宕机而引起断点消费数据丢失问题,下一次可以按照相应的位置从kafka中找寻数据,这个消费位置记录称之为偏移量offset。 kafka0.9以前版本将偏移量信…

RabbitMQ 管理平台(控制中心)的介绍

文章目录 一、RabbitMQ 管理平台整体介绍二、Overview 总览三、Connections 连接四、Channels 通道五、Exchanges 交换机六、Queues 队列查看队列详细信息查看队列的消息内容 七、Admin 用户给用户分配虚拟主机 一、RabbitMQ 管理平台整体介绍 RabbitMQ 管理平台内有六个模块&…

推荐一款强大的图像处理软件:Adobe Photoshop2025

AdobePhotoShop赛博日落版是一款强大的图像处理软件,专为用户提供多种先进的图像编辑功能。该版本包含了最新的AI移除工具、AI查找干扰功能以及Neural Filters神经滤镜插件,旨在提升用户的创作效率和成品效果。 主要功能 - AI创意填充:该功能…

PC模块静电放电测试中的宕机黑屏

静电放电(ESD)是电子设备中常见且难以避免的干扰源之一,尤其是在复杂的电子系统中,它对系统的稳定性和可靠性影响极大。近期,在进行静电放电(6KV接触放电、15KV空气放电)测试时,某P C模块在多个端子(如USB、RJ45、HDMI及耳机端子)遭遇了显示黑屏、图像异常及系统宕机…

吴恩达深度学习笔记:卷积神经网络(Foundations of Convolutional Neural Networks)4.7-4.8

目录 第四门课 卷积神经网络(Convolutional Neural Networks)第四周 特殊应用:人脸识别和神经风格转换(Special applications: Face recognition &Neural style transfer)4.7 深度卷积网络学习什么?&am…

适用于个人或团队的文档管理和知识库系统,NAS快速部署『BookStack』

适用于个人或团队的文档管理和知识库系统,NAS快速部署『BookStack』 哈喽小伙伴们好,我是Stark-C~ 知识库对于很多需要和文字打交道的个人或者团队都不陌生对吧?对于我们个人来说,它可以将常用的学习资料、工作笔记、项目计划和…

并发编程的基础:深入理解内存屏障(Memory Barriers)

内存屏障是一种基础语言,在不同的计算机架构下有不同的实现细节。本文主要在x86_64处理器下,通过Linux及其内核代码来分析和使用内存屏障 对大多数应用层开发者来说,“内存屏障”(memory Barrier)是一种陌生&#xff…

Windows转Mac过渡指南

最近由于工作原因开始使用mac电脑,说实话刚拿到手的时候,window党表示真的用不惯。坚持用一下午之后,发现真的yyds,这篇文章说说mac电脑的基本入门指南。 1. 不会使用mac的触摸板,接上鼠标发现滚轮和windows是反的。 …

poi excel数据统计导出

##poi excel导出案例 1.ajxa导出请求没有任何反应,打断点看了workBook中也有数据,网上查阅说ajax请求导出无法接收流,换成location.href,果然可以了 2.控制器代码 response.setCharacterEncoding("UTF-8");response.setContentTyp…

昆仑通态触摸屏-如何完成几个窗口的切换

一、启动窗口 想要哪一个窗口是启动时第一个显示的,就把谁设置为启动窗口就可以。 二、公共窗口 给一个窗口命名为公共窗口 然后选择一个窗口,将他的公共窗口设置为我们刚才命名的那个窗口 三、页面切换 页面切换,是通过在公共窗口内设置按…

dns服务器配置

主服务器 1.挂载点 mount /dev/sr0 /mnt 2.防火墙关闭 systemctl stop firewalld setenforce 0 3.下载bind软件 dnf install bind -y 4.进行正向解析配置 vim /etc/named.conf options { listen-on port 53 { 192.168.92.128; }; directo…

GraphRAG本地部署使用及兼容千帆通义

文章目录 前言一、GraphRAG本地安装1.创建环境并安装2.准备demo数据3.初始化demo目录 二、GraphRAG兼容千帆通义等大模型1.安装 graphrag-more2.准备Demo数据3.初始化demo目录4.移动和修改 settings.yaml 文件 三、知识库构建与使用1.知识库构建2.执行查询 前言 GraphRAG是一种…

揭秘2024年最火的5个科技趋势,你准备好迎接了吗?

在这个信息化飞速发展的时代,科技正以前所未有的速度改变着我们的生活。2024年,科技行业将迎来哪些新的突破与趋势?从人工智能到量子计算,从数字货币到智能家居,未来已来,而我们正站在一个巨变的风口浪尖上…

Python实例:爱心代码

前言 在编程的奇妙世界里,代码不仅仅是冰冷的指令集合,它还可以成为表达情感、传递温暖的独特方式。今天,我们将一同探索用 Python 语言绘制爱心的神奇之旅。 爱心,这个象征着爱与温暖的符号,一直以来都在人类的情感世界中占据着特殊的地位。而通过 Python 的强大功能,…