当前位置:   article > 正文

在Diffusers中调用CivitAI Lora_diffusers lora

diffusers lora

Diffusers的0.17.0版本之后支持直接调用来自CivitAI的Lora

1. 创建Pipeline

import differs 
import torch 

# 创建PipeLine
safetensors_path = "model.safetensors"

 pipeline = differs.StableDiffusionPipeline.from_single_file( 
    safetensors_path, 
    torch_dtype = torch.float16, # 对于 CUDA。
 )
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

2. 将LoRA下载到本地

lora_safetensors_path = "test.safetensors"

 pipeline.load_lora_weights(lora_safetensors_path)
  • 1
  • 2
  • 3

3.设置权重

使用 pipeline.fuse_lora(lora_scale = 0.7)
若要导入多个LoRA设置多个权重则可以

lora_dirs = [ "lora1.safetensors" , "lora2.safetensors" , ...] 
lora_scales = [ 0.5 , 0.75 , ...] 

ldir, lsc in  zip (lora_dirs, lora_scales): 
    # 迭代添加新的 LoRA。
    pipeline.load_lora_weights(ldir) 
    # 并相应地缩放它们。
    pipeline.fuse_lora(lora_scale = lsc)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

4.卸载LoRA

1.unload_lora_weights()
2.disable_lora()
但是实测下来发现会有问题,建议是卸载LoRA之后新建一个pipeline
  • 1
  • 2
  • 3
声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号