stable-diffusion-tensorflow icon indicating copy to clipboard operation
stable-diffusion-tensorflow copied to clipboard

First generated image is different from the following ones using same settings

Open fnurl opened this issue 3 years ago • 2 comments

For some reason, the first generated image is different from the following ones using the code below:

from tensorflow import keras
from stable_diffusion_tf.stable_diffusion import Text2Image
from PIL import Image

# Prompt and seed copied from
# https://lexica.art/?prompt=715596cf-84bd-497f-8413-6e9bb8f39c5e
prompt = "cat seahorse fursona, autistic bisexual graphic designer, attractive fluffy humanoid character design, sharp focus, weirdcore voidpunk digital art by artgerm, akihiko yoshida, louis wain, simon stalenhag, wlop, noah bradley, furaffinity, artstation hd, trending on deviantart"

generator = Text2Image(img_height=512, img_width=512, jit_compile=False)
for num in range(3):
    img = generator.generate(
        prompt,
        num_steps=25,
        unconditional_guidance_scale=7.0,
        temperature=1,
        batch_size=1,
        seed=4030098432,
    )
    Image.fromarray(img[0]).save(f"output{num+1}.png")

Here are the images:

First generated image: output1

Second generated image: output2

Third generated image: output3

I get the same results even if I create a new generator for each image in the for-loop.

fnurl avatar Sep 21 '22 17:09 fnurl

there's a minor bug in the seeding. see https://github.com/divamgupta/stable-diffusion-tensorflow/pull/27

matpalm avatar Sep 22 '22 05:09 matpalm

Thanks, I checked out your pull request https://github.com/divamgupta/stable-diffusion-tensorflow/pull/32 an am getting consistent results now.

fnurl avatar Sep 23 '22 15:09 fnurl