训练自己的个性化Stable diffusion模型,LORA

一、背景

需要训练自己的LORA模型

二、分析

1、有sd-webui有训练插件功能

2、有单独的LORA训练开源web界面

两个开源训练界面

1、秋叶写的SD-Trainer

https://github.com/Akegarasu/lora-scripts/ 没成功,主要也是cudnn和nvidia-smi中的CUDA版本不一致退出

2、Kohya's GUI

GitHub - bmaltais/kohya_ss 成功了

**遇到问题1,**cudnn和nvidia-smi中的CUDA版本不一致

解决方法:unset LD_LIBRARY_PATH解决了我的问题

问题2:报错量化错误

优化器Optimizer 选 :AdamW

三、步骤

1、下载代码

复制代码
git clone https://github.com/bmaltais/kohya_ss.git

2、有Python 3.10.8环境

复制代码
cd kohya_ss

chmod +x ./setup.sh

./setup.sh

./gui.sh --listen=0.0.0.0 --headless

不要自己去安装python包,巨坑。

3、准备数据

下载该数据

https://huggingface.co/datasets/lambdalabs/pokemon-blip-captions/tree/main

复制代码
#安装处理该数据的包
# pip install -i https://pypi.tuna.tsinghua.edu.cn/simple fastparquet
# pip install pyarrow

from fastparquet import ParquetFile
datadir = r'./'
filename = datadir + r'下载的数据.parquet'
pf = ParquetFile(filename)

dF = pf.to_pandas()

from PIL import Image
import io
import base64


# 将byte数据转换为PIL图像对象
def save_png(name,image_bytes):
    image = Image.open(io.BytesIO(image_bytes))

    # 保存图像到文件
    filename = 'lora_data/'+str(name)+'.jpg'
    print(filename)
    # 调整尺寸
    new_image = image.resize((512, 512))
    new_image.save(filename)
def save_txt(name,text):
    # text = "这是要保存的文本内容"
    filename = 'lora_data/'+str(name)+'.txt'
    with open(filename, 'w') as file:
        file.write(text)
保存数据的
for index, row in dF.iterrows():
    # print(index,row['text'],row['image.bytes']) # 输出列名
    save_txt(index,row['text'])
    save_png(index,row['image.bytes'])
    if index==20:
        break

4、创建数据目录

在kohya_ss项目下,创建一个train目录,具体内容如下:

image : 图片放在这里。

log:训练记录

model:模型保存路径

image目录还有一个子目录,比如本文这里是100_pokemon,100表示100个steps,会直接影响训练的步数和效果,pokemon表示图片人物名称。

5、训练

训练数据目录填 /home/.../image 不要写到/home/.../image/100_pokemon

基础模型写全/media/...../openjourney-v4.ckpt

一定可以训练成功的,有数据有模型有步骤,不清楚可以联系我

相关推荐
草莓熊Lotso43 分钟前
Linux 文件描述符与重定向实战:从原理到 minishell 实现
android·linux·运维·服务器·数据库·c++·人工智能
Coder_Boy_2 小时前
技术发展的核心规律是「加法打底,减法优化,重构平衡」
人工智能·spring boot·spring·重构
会飞的老朱4 小时前
医药集团数智化转型,智能综合管理平台激活集团管理新效能
大数据·人工智能·oa协同办公
聆风吟º5 小时前
CANN runtime 实战指南:异构计算场景中运行时组件的部署、调优与扩展技巧
人工智能·神经网络·cann·异构计算
Codebee7 小时前
能力中心 (Agent SkillCenter):开启AI技能管理新时代
人工智能
聆风吟º8 小时前
CANN runtime 全链路拆解:AI 异构计算运行时的任务管理与功能适配技术路径
人工智能·深度学习·神经网络·cann
uesowys8 小时前
Apache Spark算法开发指导-One-vs-Rest classifier
人工智能·算法·spark
AI_56788 小时前
AWS EC2新手入门:6步带你从零启动实例
大数据·数据库·人工智能·机器学习·aws
User_芊芊君子8 小时前
CANN大模型推理加速引擎ascend-transformer-boost深度解析:毫秒级响应的Transformer优化方案
人工智能·深度学习·transformer
智驱力人工智能9 小时前
小区高空抛物AI实时预警方案 筑牢社区头顶安全的实践 高空抛物检测 高空抛物监控安装教程 高空抛物误报率优化方案 高空抛物监控案例分享
人工智能·深度学习·opencv·算法·安全·yolo·边缘计算