Doberek
Od jakiś 2 tygodni bawię się ze sztuczną inteligencją generującą obrazy z tekstu, a od tygodnia aktywnie udostępniam co lepsze wyniki.
Domyślam się, że nie jestem pierwszą osobą, która już taki tutorial wrzucała na dzidkę, ale w związku z rosnącą liczbą zapytań: co? gdzie? i jak?, doszedłem do wniosku, że jedna więcej dzida w tym temacie nie zaszkodzi a może kogoś przy okazji zmotywuje do zabawy.
Z góry ostrzegam- instrukcja jest skierowana głównie do totalnych laików w kwestiach związanych z oprogramowaniem i sztuczną inteligencją więc proszę wszystkich #programista15k o nie mieszanie mnie z błotem na starcie :D
Ale zacznijmy od początku: "Co to w ogóle jest?"
Stable Diffusion jest modelem tzw. głębokiego uczenia (deep learning) tekstu-na-obraz wypuszczony przez StabilityAI w tym roku.
W wielkim skrócie: wpisujesz co chcesz zobaczyć, a zadaniem sztucznej inteligencji jest, w oparciu o wyuczony model i losowe ziarno, wygenerować coś, co ma spełnić oczekiwania użytkownika.
Oczywiście wyniki nie zawsze są idealnie więc jest to często czasochłonna zabawa oparta na metodzie prób i błędów. Ale jak już wam się poszczęści, to SI potrafi "wypluć" naprawdę poważne dzieła (przykładowo powyższy portret wygenerowałem po kilku godzinach zabawy z danymi wejściowymi i po odrzuceniu około 300 innych wyników).
Z góry jeszcze tylko chciałbym ostrzec. Autorzy projektu sugeruje korzystanie ze sprzętu posiadającego co najmniej 4 GB VRAMu na karcie graficznej, chociaż działa przy mniejszych wartościach. Ogólnie im nowsza, mocniejsza karta tym szybciej będzie generowało grafiki.
Przede wszystkim musimy przygotować nasz sprzęt do obsługi projektu. Stable diffusion jest napisany w języku programowania Python więc logicznym jest, że wpierw należy go zainstalować. Prosta sprawa- wchodzicie na stronę Pythona, pobieracie i instalujecie! Link do strony:
https://www.python.org/downloads/
Kolejnym krokiem byłoby już właściwie pobieranie samego projektu, ale by ułatwić sprawę, skorzystamy z innego oprogramowania- tj Git'a. Jest to system kontroli wersji, dzięki któremu łatwo, szybko i bezboleśnie pobierzecie repozytoria internetowe, a w przypadku jakichkolwiek zmian, równie szybko i łatwo jest zaktualizujecie zamiast od nowa pobierać całokształt.
Link do Git'a:
https://git-scm.com/downloads
Ponadto zalecam założyć konta na stronach:
https://github.com/
https://huggingface.co/
Konta są darmowe i będą wam za chwilę potrzebne.
Skoro mamy przygotowane fundamenty to możemy się zabrać za pobieranie poszczególnych składników.
Po pobraniu otwórzcie folder projektu i wejdźcie w ścieżkę: "models\Stable-diffusion" w tym miejscu będziecie wrzucać tzw. modele. Osobiście pracowałem na dwóch: stockowym "stable-diffusion" oraz "waifu-diffusion". Różnica między nimi jest taka, że ten drugi jest wyuczony na bazie artów z pewnej strony z "anime dziewczynkami" i jest oparty na innym sposobie opisywania.
Dobra ale o tym potem. Linki do obu modeli:
- Stable-Diffusion: https://huggingface.co/CompVis/stable-diffusion-v1-3 (musicie założyć konto i zalogować się by otrzymać dostęp);
- Waifu-Diffusion: https://huggingface.co/hakurei/waifu-diffusion-v1-3/blob/main/wd-v1-3-full.ckpt
Jeśli będziecie mieli kilka opcji do wyboru, polecam wybrać wersję ważącą około 7GB. Te wersje poza samym działaniem pozwalają również na trenowanie modelu, jeśli będziecie chcieli kiedyś z tym się pobawić.
Prywatnie polecam wrzucać pojedynczy model do folderu, bo nie wiem jak u innych, ale u mnie spadała jakość obrazków, tak jakby program nie wiedział do końca z którego modelu ma korzystać.
Na samym dole macie link http- skopiujcie go i odpalcie w przeglądarce (nie wyłączajcie konsoli!!).
Ten obraz natomiast został wygenerowany z pomocą modelu waifu-diffusion. Tak jak wcześniej wspomniałem, ten model jest oparty o system tagowania znany z takich stron jak Danbooru, Gelbooru... czy Rule34. Przykładowo:
"1 girl, solo,simple background, looking at the viewer, full view
green hair,brown hair, long hair, ornament, bangs, crossed bangs, purple eyes, single earring...", i tak dalej.