How to use XYZ Plots to optimize image generation?

 

use XYZ plots in forge and automatic1111

Getting the optimal configuration with any Stable diffusion Model is a tedious task when you are new and unfamiliar. To try with multiple uncertain parameters is like you are just shooting in the dark.

Imagine you are searching for any diffusion-based image generation models to explore. But you realize there is not enough information available online. Again, you find something in related research papers, but going through them is a time-consuming task. 

After all, who really wants to dig into those daunting Ph.D.-level research papers?

So here, no more theory. We have a great solution that makes your life easier with practicality. The X/Y/Z plots script helps you to generate multiple sets of images in a grid with different parameters in one go. This makes you work like a professional with the output that is best for your needs.

This method is applicable for Automatic1111 and Forge WebUI. So make sure you have installed any one of them.


Workflow in Automatic1111/Forge:

At the backend, the X/Y/Z plot uses the Sampling Method, Sampling Steps, and the CFG scale value.



Select fixed seed option

1. To set the seed value type you will be provided with two options- fixed and random. To work with XYZ plots, it's to make sure that you should only use the fixed seed option and not the random one. By selecting the green colored recycle button you can set it to fixed. 

2. To enable the XYZ plot, move to the downward section of WebUI, select the "script" dropdown menu, and then choose the "X/Y/Z" option.

In the X Type section select "Steps", Y Type select the "CFG Scale" and set the respective values. To set the X and Y values, go with the range formats given below: 

configuration with different cfg


configuration with different cfg


Formats you can use from:

(a) Using simple integer values- 1-7 means 1,2,3,4,5,6,7

(b) Using round brackets- 20-60(+5) means range from 20,25,30,35....60 (increment of 5). 

(c) Using square brackets- 1-13[6] means total 6 numbers between 1 to 13 i.e. 1,3,5,7,10,13


tested with different samplers and cfg

3. Here, there are 10 values on the X plot and 6 on the Y plot. So, we will get 10x6=60 total images. It's to take in mind that it a time-consuming task and can take lots of VRAM computation. These are a bunch of images that will depend on your capability of VRAM.


Testing with different Sampling method

4. At the initial steps you will not get good results. But you will get better if you go further. This doesn't mean attaining the maximum value will give you the best quality as it will take much time to render an image.

We need to be in between by analyzing and getting the optimal output.


configuration with different cfg

5. Now, we will use X/Y/Z dimensions to generate all the possible output. After selecting X and Y , select the "Sampler" option under the Z axis. Beware while using the methodology, this is the most consuming task and this will take huge VRAM memory. So, only explore this if you are using a high-end GPU.

Testing generating images with all cfg

In our case, the rendering process took around 2 and a half hours to generate the whole set of images with every possible sampling method.