Stable Diffusion WEBUI 的几个使用技巧
这里记录在使用stable diffusion webui(简称sd webui)调试模型过程中我觉得有帮助的几个技巧,包括重复生成图片,X/Y/Z Plot制作对比图,复现生成结果,style功能。
重复生成图片
如果希望在sd webui中使用相同的设置(包括提示词,种子,模型)生成多个结果,除了重复点击“生成”按钮,也可以右击“生成”按钮,这时候后会弹出一直生成和取消一直生成的菜单,选择后就可以开始或者停止持续生成图片。
除此之外,可以使用script功能,需要首先将下面的代码存储为run_n_times.py文件,之后放大sd webui安装目录的scripts目录下,之后再sd webui界面的script选项选择Run n times,设置重复次数为n。
import math
import os
import sys
import traceback
import modules.scripts as scripts
import gradio as gr
from modules.processing import Processed, process_images
class Script(scripts.Script):
def title(self):
return "Run n times"
def ui(self, is_img2img):
n = gr.Textbox(label="n")
return [n]
def run(self, p, n):
for x in range(int(n)):
p.seed = -1
proc = process_images(p)
image = proc.images
return Processed(p, image, p.seed, proc.info)
此外还可以使用stable api来重复提交网络请求来实现重复生成图片。
X/Y/Z Plot制作对比图
如果希望对比不同参数设置的生成结果,使用X/Y/Z Plot是个方便的选项。它的使用方法是在script选项中选中X/Y/Z Plot之后,在弹出的更多选项中分别设置x,y,z轴的变量。常见的变量设置有seed,sampler等。
一个在非常有用的变量prompt s/r,即提示词的查找替换,你需要选择它之后,在value部分用逗号隔开多个替换选项,程序会使用第一个逗号前的词作为被替换的文本,后续每个逗号隔开的词会替换它。例如在测试不同lora效果的时候,如果设置prompt s/r为<lora:1>,<lora2:1>,<lora3:1>
则可以比较不同lora的效果。
复现生成结果
如果希望重新之前图片的生成或者网上(例如civitai)图片的生成结果,可以使用导入功能,导入按钮在提示词输入旁边,你可以将网站拷贝的生成信息输入到提示词部分,然后点击导入,就可以将信息输入到其他选择中。
对于本地图片可以使用png info获取图片生成信息,将图片拖拽入输入就可以看见生成信息。
style功能
Style是一组提示词的缩写符号,和style有关的功能按钮在提示词输入框右边。
点击画笔形状的编辑按钮可以进入style编辑页面,在其中你也可以选择一键将当前提示词输入框中的文本导入到当前style。
编辑完成的style可以通过生成按钮下方的下拉选框来选择,之后生成结果就会体现当前的style。
另一个在生成下面的按钮是“应用style”,可以将style的全部文本自动填入当前的提示词输入框,可以在在style基础上修改的时候使用。