Jak uruchomić stabilną dyfuzję lokalnie z GUI w systemie Windows

Jak uruchomić stabilną dyfuzję lokalnie z GUI w systemie Windows

Możesz zainstalować Stable Diffusion lokalnie na swoim komputerze, ale typowy proces wymaga dużo pracy z wiersza poleceń do zainstalowania i używania. Na szczęście dla nas społeczność Stable Diffusion rozwiązała ten problem. Oto jak zainstalować wersję Stable Diffusion, która działa lokalnie z GUI!

Co to jest stabilna dyfuzja?

Stable Diffusion to model AI, który może generować obrazy z podpowiedzi tekstowych lub modyfikować istniejące obrazy za pomocą podpowiedzi tekstowych, jak w MidJourney lub DALL-E 2. Został po raz pierwszy wydany w sierpniu 2022 roku przez Stability.ai. Rozumie tysiące różnych słów i może być używany do tworzenia prawie każdego obrazu, jaki Twoja wyobraźnia może sobie wyobrazić, w niemal każdym stylu.

Istnieją jednak dwie ważne różnice, które odróżniają stabilną dyfuzję od większości innych popularnych generatorów obrazów AI:

  • Można go uruchomić lokalnie na komputerze
  • To jest projekt open source

Ostatni punkt tutaj jest naprawdę ważny. Tradycyjnie Stable Diffusion jest instalowane i uruchamiane za pomocą interfejsu wiersza poleceń. To działa, ale może być niezdarne, nieintuicyjne i stanowi istotną barierę wejścia dla osób, które w przeciwnym razie byłyby zainteresowane. Ale ponieważ jest to projekt typu open source, społeczność szybko stworzyła dla niego interfejs użytkownika i zaczęła dodawać własne dodatki, w tym optymalizacje mające na celu zminimalizowanie użycia pamięci wideo (VRAM) oraz wbudowane skalowanie i maskowanie.

Czego potrzebujesz, aby uruchomić tę wersję Stable Diffusion?

Ta wersja Stable Diffusion jest rozwidleniem głównego repozytorium (repozytorium) stworzonego i utrzymywanego przez Stability.ai . Posiada graficzny interfejs użytkownika (GUI), który sprawia, że ​​jest łatwiejszy w użyciu niż zwykła stabilna dyfuzja, która ma tylko interfejs wiersza poleceń i instalator, który wykonuje większość konfiguracji automatycznie.

Ostrzeżenie. Jak zawsze, uważaj na forki oprogramowania innych firm, które znajdziesz na GitHub. Używamy tego od jakiegoś czasu bez żadnych problemów, podobnie jak tysiące innych, więc mówimy, że jest bezpieczny. Na szczęście kod i zmiany tutaj są niewielkie w porównaniu z niektórymi odgałęzieniami projektów open source.

Ten widelec zawiera również różne optymalizacje, które powinny umożliwić działanie na komputerach z mniejszą ilością pamięci RAM, wbudowanym skalowaniem i rysami twarzy przy użyciu GFPGAN, ESRGAN, RealESRGAN i CodeFormer oraz maskowaniem. Maskowanie to poważna sprawa – pozwala selektywnie zastosować generowanie obrazu AI do niektórych części obrazu bez zniekształcania innych części, proces ten powszechnie nazywa się zamalowywaniem.

Jak zainstalować stabilną dyfuzję z GUI

Proces instalacji został znacznie uproszczony, ale nadal musisz wykonać kilka ręcznych kroków, zanim będziesz mógł korzystać z instalatora.

Najpierw zainstaluj Pythona

Pierwszą rzeczą, którą musisz zrobić, to zainstalować wersję Pythona 3.10.6 rekomendowaną przez autora repozytorium. Kliknij ten link, przewiń stronę w dół i kliknij ” Instalator Windows (64-bitowy) „.

Kliknij pobrany plik wykonywalny i postępuj zgodnie z instrukcjami. Jeśli masz już zainstalowany Python (i prawdopodobnie miałeś), po prostu kliknij Aktualizuj. W przeciwnym razie postępuj zgodnie z zalecanymi monitami.

Notatka. Upewnij się, że dodałeś Pythona 3.10.6 do swojej PATH, jeśli możesz.

Zainstaluj Git i pobierz repozytorium GitHub

Przed uruchomieniem instalatora Stable Diffusion musisz pobrać i zainstalować Git w systemie Windows. Po prostu pobierz 64-bitowy plik wykonywalny Git , uruchom go i użyj zalecanych ustawień, chyba że masz coś konkretnego na myśli.

Następnie musisz pobrać pliki z repozytorium GitHub . Kliknij zielony przycisk „Kod”, a następnie kliknij „Pobierz ZIP” na dole menu.

Otwórz plik ZIP w Eksploratorze plików lub preferowanym programie do pakowania, a następnie wyodrębnij zawartość do dowolnej lokalizacji. Pamiętaj tylko, że będziesz musiał przejść do tego folderu, aby uruchomić stabilną dyfuzję. W tym przykładzie są one wyodrębniane do katalogu C:\, ale nie jest to wymagane.

Przeciągnij folder „stable-diffusion-webui-master” w dowolne miejsce.

Notatka. Upewnij się, że przypadkowo nie przeciągniesz „stable-diffusion-webui-master” do folderu innego niż puste miejsce – jeśli to zrobisz, skończy się w tym folderze, a nie w folderze nadrzędnym, który zamierzałeś.

Pobierz wszystkie punkty kontrolne

Aby to zrobić, potrzebujesz kilku punktów kontrolnych. Pierwszym i najważniejszym są stabilne punkty kontroli dyfuzji . Aby pobrać punkty kontrolne, musisz założyć konto, ale nie zajmuje to wiele czasu – wystarczy imię i adres e-mail i gotowe.

Notatka. Pobieranie punktów kontrolnych zajmuje kilka gigabajtów. Nie oczekuj, że zostanie to zrobione natychmiast.

Skopiuj i wklej plik „sd-v1-4.ckpt” do folderu „stable-diffusion-webui-master” z poprzedniej sekcji, a następnie kliknij prawym przyciskiem myszy „sd-v1-4.ckpt” i kliknij „Zmień nazwę”. Wpisz „model.ckpt” w polu tekstowym i naciśnij klawisz Enter. Upewnij się, że to „model.ckpt” – w przeciwnym razie nie zadziała.

Notatka. Funkcja zmiany nazwy to ikona w systemie Windows 11.

Musisz również pobrać punkty kontrolne GFPGA . Autor repozytorium, którego używamy, wywołał punkty przerwania GFPGAN v1.3 , ale możesz użyć v1.4, jeśli chcesz go wypróbować. Przewiń stronę w dół i kliknij „Wersja 1.3 Model”.

Umieść ten plik „GFPGANv1.3.pth” w folderze „stable-diffusion-webui-master”, tak jak w przypadku pliku „sd-v1-4.ckpt”, ale nie zmieniaj jego nazwy. Folder „stable-diffusion-webui-master” powinien teraz zawierać następujące pliki:

Tak powinien wyglądać folder po zmianie nazwy modelu Stable Diffusion i dodaniu modelu GFPGAN.

Możesz również pobrać dowolną liczbę punktów kontrolnych ESRGAN . Zwykle są to pliki ZIP. Po pobraniu otwórz plik ZIP, a następnie rozpakuj plik „.pth” do folderu „ESRGAN”. Oto przykład:

Miejsce na modele ESRGAN.

Modele ESRGAN mają zwykle bardziej konkretną funkcjonalność, więc wybierz parę, którą lubisz.

Teraz wystarczy dwukrotnie kliknąć plik „webui-user.bat”, który znajduje się w głównym folderze „stable-diffusion-webui-master”. Pojawi się okno konsoli i rozpocznie się pobieranie wszystkich innych ważnych plików, tworzenie środowiska Python i konfigurowanie internetowego interfejsu użytkownika. Będzie to wyglądać tak:

Notatka. Spodziewaj się, że pierwsze uruchomienie tej aplikacji zajmie co najmniej kilka minut. Musisz pobrać mnóstwo wszystkiego z Internetu. Jeśli wydaje się, że zawiesza się zbyt długo na jednym etapie, po prostu spróbuj wybrać okno konsoli i nacisnąć klawisz Enter.

Klient WebUI pobiera i instaluje wszystkie zasoby.

Gdy to zrobisz, konsola wyświetli:

Running on local URL: http://127.0.0.1:7860

To create a public link, set `share=True` in `launch()`

Jak generować obrazy przy użyciu stabilnej dyfuzji z GUI

OK, zainstalowałeś internetowy wariant Stable Diffusion, a Twoja konsola poinformowała Cię, że „działa pod lokalnym adresem URL: http://127.0.0.1:7860”.

Uwaga: co to dokładnie oznacza, co się dzieje? 127.0.0.1 to adres lokalnego hosta — adres IP, który nadaje się komputerowi. Ta wersja Stable Diffusion tworzy serwer na lokalnym komputerze dostępnym za pośrednictwem własnego adresu IP, ale tylko wtedy, gdy łączysz się z odpowiednim portem: 7860.

Otwórz przeglądarkę, wpisz „127.0.0.1:7860” lub „localhost:7860” w pasku adresu i naciśnij Enter. Zobaczysz to w zakładce txt2img:

Pierwsza strona klienta WebUI w Google Chrome.

Jeśli korzystałeś już wcześniej ze stabilnej dyfuzji, te ustawienia będą Ci znajome, ale oto krótki przegląd najważniejszych opcji:

  • Podpowiedź: opis tego, co chcesz stworzyć.
  • Przycisk przewijania: Stosuje losowy styl graficzny do podpowiedzi.
  • Kroki próbkowania: ile razy obraz zostanie poprawiony przed uzyskaniem danych wyjściowych. Generalnie im więcej tym lepiej, ale są malejące zyski.
  • Metoda próbkowania: Podstawowa matematyka, która określa sposób przetwarzania próbki. Możesz użyć dowolnego z nich, ale euler_a i PLMS wydają się być najpopularniejszymi opcjami. Więcej o PLMS przeczytasz w tym artykule.
  • Przywróć twarze: używa GFPGAN, aby spróbować naprawić dziwne lub zniekształcone twarze.
  • Batch Count: Liczba obrazów do wygenerowania.
  • Wielkość partii: liczba „lotów”. Pozostaw tę wartość na 1, chyba że masz dużą ilość pamięci wideo.
  • Skala CFG: Jak ostrożnie Stabilna Dyfuzja będzie postępować zgodnie z Twoimi wskazówkami. Większe liczby oznaczają, że śledzi go bardzo uważnie, podczas gdy mniejsze liczby dają większą swobodę twórczą.
  • Szerokość: szerokość obrazu, który chcesz utworzyć.
  • Wysokość: szerokość obrazu, który chcesz utworzyć.
  • Ziarno: liczba, która zapewnia początkowe dane wejściowe dla generatora liczb losowych. Pozostaw -1, aby losowo wygenerować nowe ziarno.

Stwórzmy pięć obrazów na podstawie podpowiedzi: „Krowa górska w magicznym lesie, zdjęcie na kliszy 35mm, ostrość” i zobaczmy, co uzyskamy za pomocą próbnika PLMS, 50 kroków próbkowania i skali CFG 5.

Wskazówka: zawsze możesz kliknąć przycisk „Przerwij”, aby zatrzymać generowanie, jeśli Twoja praca trwa zbyt długo.

Okno wyjściowe będzie wyglądać tak:

Wniosek o wskazówkę dotyczącą krów górskich.  Pięć górskich krów, dwie czarno-białe.

Notatka. Twoje obrazy będą inne.

Górny środkowy obraz to ten, którego użyjemy do maskowania nieco później. Tak naprawdę nie ma powodu do tego konkretnego wyboru poza osobistymi preferencjami. Zrób dowolne zdjęcie.

Urocza górska krowa w lesie.

Wybierz go i kliknij Wyślij do Inpaint.

Jak maskować obrazy, które tworzysz dla inpaint

Malowanie to fantastyczna funkcja. Zwykle do tworzenia całych obrazów na podstawie podpowiedzi jest używana stabilna dyfuzja, ale zamalowywanie umożliwia selektywne generowanie (lub regenerowanie) części obrazu. Są tu dwie krytyczne opcje: inpaint jest zamaskowany, inpaint nie jest zamaskowany.

Inpaint z maską użyje podpowiedzi do utworzenia obrazu w zaznaczonym obszarze, podczas gdy inpaint bez maski zrobi dokładnie odwrotnie – tylko zamaskowany obszar zostanie zapisany.

Najpierw porozmawiamy trochę o maskowaniu Inpaint. Przesuń kursor myszy nad obraz, przytrzymując lewy przycisk myszy, a zauważysz, że nad obrazem pojawia się biała warstwa. Narysuj kształt obszaru, który chcesz zastąpić i upewnij się, że wypełniłeś go całkowicie. Nie krążysz po okolicy, maskujesz cały obszar.

Porada: Jeśli po prostu dodajesz coś do istniejącego obrazu, pomocne może być wyrównanie zamaskowanego obszaru do przybliżonego kształtu, który próbujesz utworzyć. Maskowanie trójkątnego kształtu, kiedy chcesz, na przykład koła, przynosi efekt przeciwny do zamierzonego.

Weźmy na przykład naszą górską krowę i załóżmy na nią czapkę kucharza. Zamaskuj obszar w kształcie kapelusza szefa kuchni i upewnij się, że rozmiar partii jest ustawiony na wartość większą niż 1. Prawdopodobnie będziesz potrzebować kilku, aby uzyskać idealny wynik.

Powinieneś także wybrać „Ukryty hałas”, a nie „Wypełnij”, „Oryginał” lub „Nic ukryte”. Daje najlepsze rezultaty, gdy chcesz stworzyć zupełnie nowy obiekt w scenie.

Uwaga: Zauważysz, że lewa krawędź kapelusza usunęła część jego rogu. Było to spowodowane zbyt wysokim ustawieniem „Rozmycia maski”. Jeśli widzisz takie rzeczy na swoich obrazach, spróbuj obniżyć wartość „Rozmycie maski”.

Krowa górska w kapeluszu kucharza.
Aluzja: czapka kucharza. Ustawienia: Maskowanie farby, Utajone rozproszenie, CFG 9.5, Poziom redukcji szumów 0,75, Kroki próbkowania = 50, Metoda próbkowania = Euler_A.

Dobra, może czapka szefa kuchni nie jest najlepszym wyborem dla górskiej krowy. Twoja górska krowa bardziej przypomina klimat początku XX wieku, więc dajmy jej melonik.

Krowa górska w meloniku.
Podpowiedź: Ustawienia kapelusza Bwel: Maskowane farbą, Utajone dyfuzja, CFG 9.5, Poziom redukcji szumów 0,75, Kroki próbkowania = 50, Metoda próbkowania = Euler_A

Jak pozytywnie elegancki.

Oczywiście możesz też zrobić dokładnie odwrotnie z Inpaint Not Masked. Jest koncepcyjnie podobny, z wyjątkiem tego, że obszary, które definiujesz, są odwrócone. Zamiast podkreślać obszar, który chcesz zmienić, zaznacz obszary, które chcesz zachować. Jest to często przydatne, gdy chcesz przenieść mały obiekt na inne tło.

Jak naprawić błąd „CUDA Out Of Memory”?

Im większy obraz zrobisz, tym więcej pamięci wideo jest wymagane. Pierwszą rzeczą, którą powinieneś spróbować, jest tworzenie mniejszych obrazów. Stabilna dyfuzja daje dobre, choć bardzo różne obrazy w rozdzielczości 256×256.

Jeśli masz ochotę zrobić duże obrazy na komputerze, który nie ma problemów z obrazami 512 x 512, lub napotykasz różne błędy „Brak pamięci”, są pewne zmiany w konfiguracji, które powinny pomóc.

Otwórz „webui-user.bat” w Notatniku lub innym edytorze tekstu. Wystarczy kliknąć prawym przyciskiem myszy „webui-user.bat”, kliknąć „Edytuj” i wybrać „Notatnik”. Zdefiniuj linię, która brzmi set COMMANDLINE_ARGS=. W tym miejscu zamierzasz umieścić polecenia, aby zoptymalizować stabilną dyfuzję.

Jeśli chcesz po prostu robić ogromne obrazy lub nie masz wystarczającej ilości pamięci RAM na karcie graficznej z serii GTX 10XX, spróbuj --opt-split-attentionnajpierw. Będzie to wyglądać tak:

Następnie kliknij Plik > Zapisz. Możesz też nacisnąć Ctrl+S na klawiaturze.

Jeśli nadal otrzymujesz błędy pamięci, spróbuj dodać --medvramje do listy argumentów wiersza poleceń (COMMANDLINE_ARGS).

Możesz dodać --always-batch-cond-uncond, aby spróbować naprawić dodatkowe problemy z pamięcią, jeśli poprzednie polecenia nie pomogły. Istnieje również alternatywa --medvram , która może jeszcze bardziej zmniejszyć zużycie pamięci VRAM --lowvram, ale nie możemy potwierdzić, czy rzeczywiście zadziała.

Dodanie interfejsu użytkownika jest ważnym krokiem naprzód w udostępnianiu wszystkich narzędzi opartych na sztucznej inteligencji. Możliwości są niemal nieograniczone, a nawet szybkie spojrzenie na społeczności internetowe poświęcone sztuce sztucznej inteligencji pokaże Ci, jak potężna jest ta technologia, nawet gdy jest jeszcze w powijakach. Oczywiście, jeśli nie masz komputera do gier lub nie chcesz się martwić o dostosowywanie, zawsze możesz skorzystać z jednego z internetowych generatorów sztuki AI . Pamiętaj tylko, że nie możesz zakładać, że Twoje wpisy są prywatne.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *