Co robi seed w Stable Diffusion?

Autor: Zaktualizowano 3 min czytania

Seed to liczba całkowita, która inicjalizuje losowy szum, od którego zaczyna się każde generowanie. Przy tym samym seedzie, prompcie, modelu, ustawieniach i programie Stable Diffusion tworzy ten sam obraz; zmień seed, a dla tego samego promptu dostaniesz inną kompozycję. W Automatic1111 i na tej stronie wartość -1 oznacza losowy seed.

Dlaczego seed ma znaczenie

Dyfuzja zaczyna się od szumu, a każdy obraz jest deterministyczną funkcją tego szumu i twoich ustawień. Seed to przepis na ten szum. Dlatego to najlepsze narzędzie do nauki: ustal seed, zmień jedną rzecz, porównaj. Na tej metodzie opiera się nasze zestawienie stylów artystów: 1731 artystów, cztery stałe prompty i jeden stały seed na prompt. Zmienia się tylko nazwisko artysty, więc różnice, które widzisz, to wyłącznie efekt artysty.

Jak używać seeda

  1. Generuj z seedem -1, aż pojawi się kompozycja, która ci się podoba.
  2. Odczytaj seed z informacji o obrazie (Automatic1111 zapisuje go w metadanych PNG i pod obrazem) i wklej go do pola seed.
  3. Teraz dopracowuj prompt lub negatywny prompt słowo po słowie: kompozycja zwykle zostaje, zmieniają się detale.
  4. Z samplerem nieancestralnym (Euler, DDIM, DPM++ 2M) ten sam seed daje bardzo podobny obraz także po zmianie liczby kroków lub CFG, co pozwala uczciwie porównywać ustawienia. Samplery ancestralne, jak Euler a, dodają nowy szum na każdym kroku, więc obraz się rozjeżdża.

Przykłady promptów na tej stronie podają seed niemal przy każdym obrazie, więc możesz zacząć od znanego wyniku.

Co psuje powtarzalność

  • Inny model lub LoRA: szum jest ten sam, ale odszumiacz już nie, więc obraz się zmienia: nieznacznie przy lekkiej LoRA, całkowicie przy innym modelu.
  • Inny rozmiar obrazu: tensor szumu ma inny kształt, więc obraz nie ma nic wspólnego z poprzednim nawet przy tym samym seedzie.
  • Inne GPU lub wersja programu: drobne różnice w obliczeniach zmiennoprzecinkowych mogą przesunąć detale; między kartami różnych producentów Automatic1111 losuje nawet inny szum, chyba że źródło liczb losowych ustawisz na CPU.
  • Automatic1111 ma dodatkowe ustawienia, które zmieniają wynik, takie jak variation seed, Clip skip i Eta noise seed delta; dla dokładnych powtórek trzymaj je bez zmian.

Wariacje wokół seeda

Automatic1111 ma pole variation seed i suwak variation strength: przy 0,1–0,3 dostajesz bliskie warianty obrazu, ta sama poza i paleta z małymi zmianami, przydatne do wybrania najlepszych dłoni lub twarzy. X/Y/Z plot z seedami na jednej osi i słowem promptu na drugiej tworzy siatkę porównawczą w jednym przebiegu.

Podobne pytania

Czy większy seed jest lepszy?

Nie. Seed to etykieta wzorca szumu, a nie ustawienie jakości; 7 i 4 294 967 295 są równie dobre. Liczy się tylko to, że da się go powtórzyć.

Czy z tym samym seedem dostanę ten sam obraz na innej stronie?

Tylko jeśli ta strona używa tego samego modelu, rozmiaru, samplera, liczby kroków, CFG i programu. Między dwiema instalacjami Automatic1111 zwykle tak jest; między różnymi usługami prawie nigdy.

Dlaczego ten sam seed daje inny obraz w narzędziach na tej stronie?

Publiczne narzędzia dodają do każdego żądania własny negatywny prompt, LoRA poprawiające detale, liczbę kroków i sampler, a inpainting skaluje twój obraz do 1024 px, więc wynik różni się od tego, co da twoja lokalna instalacja. W obrębie serwisu to samo żądanie z tym samym seedem jest powtarzalne.