At the end of the day, my hardware is not appropriate for SD, it works only through hacks like tiling in A1111. And while that’s fine for my hobby experimenting, I would like other people, or even myself once I finally upgrade my desktop, to be able to recreate my images in better quality, as closely as possible (or even try and create variations).

I already make sure to keep the “PNG info” metadata which lists most parameters, so I assume the main variable left is the RNG source. Are any of the options hardware-independent? If not, are there any extensions which can create a hardware-independed random number source?

  • tal@lemmy.today
    link
    fedilink
    English
    arrow-up
    4
    ·
    2 months ago

    Have you determined that whatever you’re presently doing isn’t reproducible? I mean, if the concern is that tiling is a factor relative to non-tiling, okay, but if someone else is tiling, l’d think that they’d get the same output.

    • comfy@lemmy.mlOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      2 months ago

      I haven’t determined that. I only have one device set up to run SD and haven’t organized any test with someone else.

      I mean, if the concern is that tiling is a factor relative to non-tiling, okay, but if someone else is tiling, l’d think that they’d get the same output.

      That’s true, I’ll check to see if the metadata mentions the tiling was used.

      • tal@lemmy.today
        link
        fedilink
        English
        arrow-up
        2
        ·
        edit-2
        2 months ago

        If you’re talking about that VAE tiling feature or or Tiled Diffusion or whatever it’s called, I think that it shows up in the text below the image in A1111, and I think that anything that shows up there is also stored in the generated image’s comment metadata.

        I don’t normally use Tiled Diffusion, if that’s what you’re referring to, but let me see if I can go generate something with it and check.

        checks

        Yeah, text: Tiled Diffusion: {"Method": "MultiDiffusion", "Tile tile width": 96, "Tile tile height": 96, "Tile Overlap": 48, "Tile batch size": 4}, gets added to the text below the image and to the image metadata.

        That being said, I don’t know how far I’d trust the image metadata for reproducibility if this is a hard requirement you’re looking for. I have definitely seen various settings that mention that they induce non-deterministic behavior, and I’m not sure that all of those are encoded in the metadata. Also, while the version (and looks like git hash of built version) is encoded, I’m sure that not everyone is using the same version, and I don’t know what compatibility is like across versions.

        EDIT: For example, see the “Optimizations” here:

        https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Optimizations

        You have a bunch of A1111 command-line optimizations options that have descriptions like:

        --opt-sdp-attention May results in faster speeds than using xFormers on some systems but requires more VRAM. (non-deterministic)

        And those are not encoded in the image metadata, and that’ll make a given output non-reproducible.