Skip to content
On this page

文生图(txt2img)基本参数测试

测试checkpointBatch countBatch sizeSeedCFG Scale等基本参数对图片生成过程及图片内容、质量的影响。

测试环境

环境参数信息
GPU型号NVIDIA Tesla T4
显存大小16 GB
xformers启用
集成软件AUTOMATIC1111
基础模型meinamix_meinaV10.safetensors [77b7dc4ef0]

原始参数

在之后的测试中,如果没有特别提及,输入参数将使用如下表的值:

参数
Promptgirl, white hair, wearing dress,lying on the beach, basking in the sun
Sampling methodDPM++ 2M Karras
Sampling steps20
Width512
Height512
CFG Scale7
Seed-1
Batch count1
Batch size1
Seed4175639649
快速导入

复制下面的内容,粘贴到Prompt框中,点击生成按钮下面的读取键,可以快速填写参数

girl, white hair, wearing dress,lying on the beach, basking in the sun
Steps: 20, Sampler: DPM++ 2M Karras, CFG scale: 7, Seed: 4175639649, Size: 512x512

没有提及的参数默认不填或者不勾选,这样我们得到原始图:

img_initial

生成该图消耗的时间及占用的GPU资源:

-
Time taken3.14s
Torch active/reserved2624/3190 MiB
Sys VRAM4272/16128 MiB (26.49%)

Stable Diffusion checkpoint

Stable Diffusion checkpoint也就是我们所说的模型,不同checkpoint对图片质量有巨大的影响。

加入另一组Prompt进行对比,本来是在沙滩上晒太阳,改为在咖啡店边上喝咖,其余参数和原始参数一致,新的Prompt如下:

参数
Promptgirl, white hair, wearing dress,sipping coffee by a café

借助脚本X/Y/Z plotPrompt S/R测试不同checkpoint对图片质量的影响。相同参数下4个不同checkpoint的结果:

img_checkpoint

Batch count

Batch count指重复执行图片生成脚本的次数。该参数对生成图片的质量没有影响。例如改变Batch count4将消耗相对于原来4倍的时间并且得4批图片,每次执行的显存使用率不会变化。

-
Time taken12.76s
Torch active/reserved2624/3252 MiB
Sys VRAM4278/32511 MiB (26.53%)

在每个测试结束之后,都默认退回到原始参数,将Batch count改回1

Batch size(512*512情况下)

Batch size指每次生成的图片数量。测试结果表明在生成512*512图片时,获取同等数量的图片,调大Batch size更节省资源。但是过大的Batch size让人眼花缭乱,所以我倾向于设置Batch size4,以便于肉眼挑选合适的图片进行下一步处理。

NVIDIA Tesla T4 16GB上的测试结果:

----
Batch size148
Time taken(s)3.1411.2521
Torch active/reserved2624/31902630/3362-
Sys VRAM26.49%27.55%28.13%

NVIDIA Tesla V100 SXM2 32 GB上的测试结果:

----
Batch size148
Time taken(s)1.564.728.91
Torch active/reserved2599/28882619/32523160/3432
Sys VRAM12.39%13.51%14.12%

Seed

如果你希望获取相同的图片,那么使用一个确定的Seed。如果你希望随机获取一张图片,则将Seed设定为-1,这样每次生成图片的时候就会随机生成一个Seed值,这个值可以在界面右下角获取到(生成图片的下面)。

例如,在所有参数,包含硬件条件、软件和模型的版本都一致的条件下,你设定Seed4175639649,点击生成将得到一张和本文完全一致的图片。

CFG Scale

CFG Scale用于控制模型应该在多大程度遵循你的Prompt

如下图所示,当CFG Scale值为0时,模型自由发挥完全无视你的Prompt;过高的CFG Scale对图片质量产生严重影响。

img_cfg

Sampling method

TODO

关于Sampling method我也没有啥研究,平时基本上都是无脑DPM++ 2M KarrasAUTOMATIC1111的wiki也只是给出了一张参照表。

因为Sampling method数量太多,我们宏观上把他们大至分个类然后挑几个典型跑一下。

参考资料

https://stable-diffusion-art.com/samplers/