Stable diffusion LoRA 训练过程

这篇具有很好参考价值的文章主要介绍了Stable diffusion LoRA 训练过程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、使用diffusers-0.14.0, stabel-diffusion 模型 v-1.5版本

下载diffusers-0.14.0 并解压,新建文件test.py, 写入以下:

import torch

from diffusers import StableDiffusionPipeline

pipe = StableDiffusionPipeline.from_pretrained("./stable-diffusion-v1-5")

pipe = pipe.to("cuda")

prompt = "a photo of an astronaut riding a horse on mars"

image = pipe(prompt).images[0]

执行以上过程,自动下载新建stable-diffusion-v1-5文件夹并下载多个模型在次目录下,

并根据prompt 生成一张image。

2、自己数据集的制作。

使用X-decoder 项目的demo_captioning.py模型,https://github.com/microsoft/X-Decoder

每一张图片生成一个对应的txt文件,txt文件中保存了该图片的prompt. demo_captioning.py 需要小改一下保存prompt就行。

将所有图片和txt都存放到同一个文件夹下。

因为模型训练使用的是huggingFace 的datasets 格式,所有再生成一个csv文件,或者json文件都行。代码如下:

import csv

import glob

header = ['file_name','text']

img_list = glob.glob('./172_186/prompt_imgs/*.jpg')

with open('metadata.csv', 'w', encoding='utf-8') as file_obj:

# 1:创建writer对象

writer = csv.writer(file_obj)

# 2:写表头

writer.writerow(header)

# 3:遍历列表,将每一行的数据写入csv

for p in img_list:

txt = p.replace('jpg','txt')

content = [p.split('/')[-1],txt]

writer.writerow(content)

测试一下生成csv文件格式对不对:

data_files = {}
data_files["train"] = os.path.join('./pokman/prompts', "**")
dataset = load_dataset(
"imagefolder",
data_files=data_files)

print(dataset['train'])
column_names = dataset["train"].column_names
print(column_names)

输出结果:

Dataset imagefolder downloaded and prepared to /home/lyn/.cache/huggingface/datasets/imagefolder/default-a6d71509cd596a17/0.0.0/37fbb85cc714a338bea574ac6c7d0b5be5aff46c1862c1989b20e0771199e93f. Subsequent calls will reuse this data.
Dataset({
    features: ['image', 'text'],
    num_rows: 2151
})
['image', 'text']

最后把这个csv文件一起放入Image和txt的文件夹中即可。

3、模型训练。

脚本diffusers-0.14.0/examples/text_to_image/train_text_to_image_lora.py

命令:

先设置以下环境变量,执行

export MODEL_NAME="/diffusers-0.14.0/stable-diffusion-v1-5" 模型所在目录

export OUTPUT_DIR="/diffusers-0.14.0/logs"  模型文件保存目录

export IMAGE_FOLDER='/172_186/prompt_imgs' 训练数据所在目录

然后终端执行:

accelerate launch --mixed_precision="fp16" examples/text_to_image/train_text_to_image_lora.py \

--pretrained_model_name_or_path=$MODEL_NAME \

--dataloader_num_workers=8 \

--resolution=512 --center_crop --random_flip \

--train_batch_size=1 \

--gradient_accumulation_steps=4 \

--max_train_steps=15000 \

--learning_rate=1e-04 \

--max_grad_norm=1 \

--lr_scheduler="cosine" --lr_warmup_steps=0 \

--output_dir=${OUTPUT_DIR} \

--report_to=wandb \

--checkpointing_steps=500 \

--seed=1337 \

--train_data_dir=${IMAGE_FOLDER} \文章来源地址https://www.toymoban.com/news/detail-575865.html

到了这里,关于Stable diffusion LoRA 训练过程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • LoRa模型训练教程(炼丹,Stable Diffusion)

    何为LoRA?LoRA并不是扩散模型专有的技术,而是从隔壁语言模型(LLM)迁移过来的,旨在解决避免将整个模型参数拷贝下来才能对模型进行调校的问题。因为大型语言模型的参数量过于恐怖,比如最近新出的GPT-4参数量约为100 万亿。 LoRA采用的方式是向原有的模型中插入新的数

    2024年02月10日
    浏览(42)
  • Stable diffusion 训练lora出现报错

    今天使用kohya_ss训练lora时出现三个报错,下面是解决办法。 一: 报错 UnboundLocalError: local variable \\\'pipe\\\' referenced before assignment 这个应该是项目的BUG,现在的版本还没修复,但是可以绕过它。方法如下:去 huggingface 下载预训练的基础模型到本地,复制模型的地址到红色框内并把

    2024年02月13日
    浏览(71)
  • Stable Diffusion Lora模型训练详细教程

    通过Lora小模型可以控制很多特定场景的内容生成。 但是那些模型是别人训练好的,你肯定很好奇,我也想训练一个自己的专属模型(也叫炼丹~_~)。 甚至可以训练一个专属家庭版的模型(family model),非常有意思。 将自己的训练好的Lora模型放到stableDiffusion lora 目录中,

    2024年02月02日
    浏览(50)
  • Stable Diffusion 使用lora-scripts WebUI训练LoRA模型

    如果对代码使用有困难的小伙伴可以直接使用WebUI版的LoRA模块进行训练操作。不管是训练人物,场景,风格,还是服装都是一套通用的模式,仅仅是使用不同的数据集得到的结果不同。 使用 git clone --recurse-submodules https://gi

    2024年02月17日
    浏览(51)
  • 炼丹!训练 stable diffusion 来生成LoRA定制模型

    LoRA,英文全称Low-Rank Adaptation of Large Language Models,直译为大语言模型的低阶适应,这是微软的研究人员为了解决大语言模型微调而开发的一项技术。 比如,GPT-3有1750亿参数,为了让它能干特定领域的活儿,需要做微调,但是如果直接对GPT-3做微调,成本太高太麻烦了。 LoRA的

    2024年03月27日
    浏览(51)
  • AutoDL 训练stable-diffusion lora模型

    1.创建镜像实例 2. 启动实例  3.启动服务 4.配置参数 4.1 基础模型选择   4.2 文件路径设置  5.点击打印训练信息  6.训练模型(点击Train model)    

    2024年02月16日
    浏览(56)
  • Stable Diffusion 指定模型人物,Lora 训练全流程

    在使用 Stable Diffusion 的时候,可以选择别人训练好的 Lora,那么如何训练自己的 Lora,本篇文章介绍了介绍了如何训练Lora,如何从训练的模型中选择好的模型,如何在 Stable Diffusion 中使用。 闲话不多说,直接实际操作吧,干货满满,记得关注哦,以免找不到了。首先我们来获

    2024年02月09日
    浏览(61)
  • 【 stable diffusion LORA模型训练最全最详细教程】

    个人网站:https://tianfeng.space/ 其实想写LORA模型训练很久了,一直没时间,总结一下现在主流的两种LORA模型训练方式,分别是朱尼酱的赛博丹炉和秋叶大佬的训练脚本,训练效果应该是赛博丹炉更好,我个人更推荐朱尼酱的赛博丹炉,界面炫酷,操作简单,作者也是花了很多

    2024年02月09日
    浏览(53)
  • 安装stable diffusion 本地lora训练lora script时报错,xformer无法安装

    电脑的python是3.10.8,lora-script中venv-scripts中的python只有3.9.13,安装时一直会如图所示报错 因为是电脑小白,认为可能是venv里的python版本不对,所以想请教一下大佬么们如何才能升级venv里python的版本

    2024年02月12日
    浏览(52)
  • 训练自己的个性化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, cudn

    2024年02月04日
    浏览(59)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包