AI 文摘

在本地跑一个AI模型(6)-StableDiffusion模型微调





作者: 机器人小不 来源: 机器人小不

本文是Stable Diffusion 系列第二篇。

在上一篇文章中,我们介绍了在本地使用Diffusers 运行Stable Diffusion 模型,并使用Text to Image 技术使用提示词让AI 生成了图片。在本篇文章中,我们将介绍如何使用社区提供的LoRA 对模型的输出进行微调。

LoRA

LoRA(Low-Rank Adaptation) 是模型训练中的一种模型微调技术,用于在少量数据上快速训练新的模型。LoRA 通过冻结基础模型的大部分参数,只对少量参数进行微调来实现这一点。LoRA 可以使生成的图片增加更多的细节,例如生成特定的角色、动作、背景等。它可以基于现有模型而不必从头开始训练,优点是训练时间短、占用内存少。因此在hugging face 和Civitai 上可以下载到大量社区提供的LoRA 。

今天我们示例的LoRA 如下:

  • 国风插画

  • 电影照片

  • 像素风格

  • 添加细节

请注意,在详情页关注Base Model 选项,根据你运行的模型的Base Model 选择合适的LoRA 。比如,本文示例的模型为DreamShaper XL ,因此选择LoRA 时应该对应的Base Model 为SDXL 1.0 。这在上一篇文章中有提到。

基准图片

使用如下代码生成基准图片:

from diffusers import StableDiffusionXLPipeline, DPMSolverSinglestepScheduler  
  
  
device = 'mps'  
  
pipe = StableDiffusionXLPipeline.from_single_file(  
    "your/path/dreamshaperXL_v21TurboDPMSDE.safetensors",  
    use_safetensors=True  
).to(device)  
pipe.scheduler = DPMSolverSinglestepScheduler.from_config(pipe.scheduler.config, use_karras_sigmas=True)  
# Recommended if your computer has < 64 GB of RAM  
pipe.enable_attention_slicing()  
  
prompt = "masterpiece, 1girl, long hair, asian, sundress, cartoon, add detail"  
negative_prompt = 'low quality, bad quality, sketches'  
  
image = pipe(  
    prompt,  
    negative_prompt=negative_prompt,  
    num_inference_steps=6,  
    guidance_scale=2,  
).images[0]  
image.save("data/out.jpg")  

注意提示词为一个穿背心裙的长发亚洲女孩(卡通风格) ,其它参数在上一篇文章中有介绍。

使用LoRA

首先在上面给出的网页上下载safetensors 格式的LoRA 文件,然后在代码中加上一行代码:

pipe.load_lora_weights("your/path", weight_name="lora_name.safetensors")  

这里有两个参数,前面一个参数是LoRA 所在的目录,第二个参数是LoRA 的文件名。

此外,阅读LoRA 详情页,一般作者都会提供触发关键词,如果作者未提供关键词,可能该LoRA 会自动触发,也可以尝试在提示词中添加这个LoRA 的名字。

接下来我们看下分别使用这4个LoRA 的效果。

国风插画

触发关键词:guofeng 或Chinese style 。

电影照片

触发关键词:无(自动触发)。

像素风格

触发关键词:pixel 。

添加细节

触发关键词:(add detail)++++++++ 。

总结

本文介绍了使用LoRA 为本地Stable Diffusion 模型进行微调,并介绍了如何下载和使用社区提供的已经训练好的LoRA 。使用LoRA 可以使生成的图片增加更多的细节。LoRA 是Text to Image 技术对提示词优化的一种补充。

下一篇将介绍如何使用ControlNet 和Adapter ,使用Image to Image 和Text to Image 技术相结合,使用“草稿”对AI 生成的图像进行规划和约束。

更多AI工具,参考Github-AiBard123国内AiBard123

可关注我们的公众号:每天AI新工具