Stable Diffusion – AI generování obrázků
Generování obrázků pomocí textu prostřednictvím AI zažívá v tomto roce velký boom, poté co byly široké veřejnosti uvolněny první modely Stable Diffusion, které můžete bezplatně vyzkoušet na různých webech zdarma, ale jestli se začnete tomuto generování věnovat naplno, nejvíce možností dostanete instalací Stable Diffusion na svůj počítač lokálně. Tato instalace je o něco náročnější než nainstalování běžného programu, ale zase nejde o nic extra složitého a pokud budete postupovat podle návodu v tomto článku, neměli byste mít větší problémy…
Zdroj: Obrázek vygenerován pomocí Stable Diffusion
Co je Stable Diffusion
Stable Diffusion umožňuje generovat obrázky pouze zadáním textového popisu (tzv. prompt), tento převod textu na obrázky byl dosažen trénováním modelu latentní difúze pomocí neuronových sítí vyvinutých skupinou CompVis na LMU Mnichov. Primárně se tak používá ke generování detailních obrázků pomocí textu, i když jej lze použít i na jiné úpravy obrázků jako je inpainting – pomocí masky můžete měnit různé části obrázku, outpainting – můžete malý obrázek rozšířit dalším obsahem do většího formátu a image-to-image – nahrajete už hotový obrázek a měníte ho pomocí textu a určením jak velké změny chcete.
Model byl vydán v srpnu 2022 ve spolupráci firem Stability AI, CompVis LMU a Runway s podporou EleutherAI a LAION. Na rozdíl od dalších text to image modelů jako je DALL·E 2 od tzv OpenAI nebo ještě neuvolněný Imagen od Googlu je Stable Diffusion Open source projekt, takže je k dispozici zcela zdarma a firmy, které se na jeho vývoji podílejí mají základní chvályhodný cíl právě udělat tyto pokročilé AI technologie co nejdostupnější, aby neskončily v rukou korporací, které by si za jejich využití účtovaly nehorázné poplatky a navíc silně omezovaly, co si můžete nebo spíš nemůžete generovat.
Nejjednodušeji je vyzkoušíte pomocí různých webových služeb jako je PlaygroundAi, které generování pomoci Stable Diffusion nabízí zdarma, ale za model DALL-E už byste museli platit, nejméně omezení a více možností nastavení má mage.space. Galerie obrázků vygenerovaných AI a možnost kopírovat prompty naleznete např. na lexica.art
Doporučuji začít na těchto službách a zkusit si, jestli vás bude vytváření „AI umění“ bavit, případně jestli pro něj najdete i praktické využití při své práci nebo pro své koníčky, můžete si generovat avatary, textury pro 3D grafiku, ilustrace pro své weby nebo amatérské povídky, knihy, omalovánky pro děti atd Až po té bych doporučil nainstalovat si Stable Diffusion lokálně a pustit se do tvrby naplno s více možnostmi…
Požadavky Stable Diffusion
Oficiálně pro lokální instalaci potřebujete nejlépe kartu od Nvidie s 6GB VRAM a minimálně 10 GB místa na úložišti, mám nainstalováno na klasickém HDD a funguje, ale při spuštění je vidět vytížení disku na 100%, instalací na SSD tak nejspíš dobu spuštění Stable Diffusion výrazně zkrátíte.
Stable Diffusion lze provozovat i na slabších grafikách s 4GB paměti, ale generování bude trvat podstatně déle, stejně tak tento program primárně optimalizován na Cuda jádra u Nvidia grafik, ale už jsou dostupné i upravené verze pro AMD grafiky a Apple M1.
Test grafických karet v Stable Diffusion
Zdroj: ML GPU Compar
Lokální instalace Stable Diffusion – návod
Instalace Pythonu na Windows 64-bit PC
Stáhněte a nainstalujte Python 3.10.6, pro 64-bit Windows PC zvolíte tento instalační soubor: Windows installer (64-bit)
Ten po stáhnutí spustíte a hned v prvním okně nezapomeňte zaškrtnout „Add Python to PATH“
Pokud to nezatrhnete při instalaci můžete to sice upravit i později manuálně po nainstalování Pythonu, ale je to zbytečné a složitější, než pouhé zaškrtnutí jedné volby, nicméně mě se to podařilo nezaškrtnout :), takže níže je návod jak to upravit po instalaci…
Pokud to zaškrtnete máte instalaci Pythonu hotovou a nemusíte zbytek návodu na Python níže řešit, v případě potřeby tento návod odhalíte klikem na trojúhelník níže, text jsem skryl pro větší přehlednost článku.
Návod na manuální přidání proměnné Path Pythonu po instalaci
Zmáčknete zároveň Windows Klávesu( tlačítko s oknem vlevo dole na klávesnici) + R a tím otevřete okno Spustit, zde zadáte: sysdm.cpl
Tím se otevřou nastavení Vlastnosti systému, kliknete na záložku: Upřesnit a zde úplně dole vyberete: Proměnné prostředí
V prvním boxu Uživatelské proměnné pro uživatele… kliknete na Nová, jen pokud tam nemáte už Path vytvořenou, po kliknutí na Nová zadáte nejdříve v poli Název proměnné: Path a v druhém poli dvě adresy Pythonu oddělené středníkem, kde je získáte je uvedeno níže.
Pokud už u vás je Proměnná Path jako u mě vytvořena, jedním klikem levým tlačítkem myši nejdříve Path označte až se zvýrazní a pak dole pod oknem vyberte Upravit, v nově otevřeném okně kliknete na Nový a zde musíte zadat postupně dvě adresy Pythonu, každou do jednoho řádku.
Tyto dvě adresy Pythonu na svém počítači zjistíte takto:
Ve vyhledávání na spodní liště napíšete Python, vyjede vám seznam nainstalovaných verzí Pythonu, pravým tlačítkem myši zmáčknete na Python 3.10.(64-bit) a v nabídce vyberete Otevřít umístění souboru, v nově otevřeném okně najdete zástupce Python 3.10.(64-bit) a opět na něm pravým tlačítkem myši vyberete Otevřít umístění souboru.
Poté už se vám otevře složka kde máte nainstalovaný Python a zde pravým tlačítkem myši v poli adresy zvolíte: Kopírovat adresu
Tuto adresu vložíte pokud ještě nemáte Path viz výše, oddělíte středníkem ; zkopírujete podruhé a za tuto druhou adresu ještě napíšete: \Scripts u mě to vypadá takto:
C:\Users\Váš název PC\AppData\Local\Programs\Python\Python310;C:\Users\i7-6700\AppData\Local\Programs\Python\Python310\Scripts
V případě že už jen editujete Path, tyto dvě adresy vložíte každou do jednoho řádku samostatně:
C:\Users\Váš název PC\AppData\Local\Programs\Python\Python310
C:\Users\Váš název PC\AppData\Local\Programs\Python\Python310\Scripts
Tímto máte instalaci Pythonu dokončenou.
Instalace Git na Windows 64-bit PC
Git je verzovací systém, který je open source, je možné ho ovládat přes příkazový řádek nebo si nainstalovat nějaké GUI. Jeho instalaci přímo vyžaduje webové rozhraní pro ovládání Stable Diffusion, takže je nutné stáhnout nejnovější verzi Gitu a jednoduše ji po stažení nainstalovat, v instalátoru nechte všechny volby jak jsou nemusíte nic měnit.
Click here to download the latest (2.38.1) 64-bit version of Git for Windows. This is the most recent maintained build.
Git vám v podstatě bude udržovat stále aktualizovanou verzi Webového rozhraní pro ovládání Stable Diffusion a nemusíte se s ním dále zabývat, stačí vám pouze zkopírovat dva řádky kódu do souboru webui-user.bat pro zautomatizování aktualizací, viz níže…
Webové rozhraní pro ovládání Stable Diffusion WebUI AUTOMATIC1111
Pro snadné ovládání Stable Diffussion vytváří komunita na githubu webové rozhraní, které spravuje uživatel Automatic1111, toto rozhraní v současnosti obsahuje asi nejvíc možností a funkcí pro generování obrázků, takže je aktuálně doporučováno jako nejlepší volba. Pro instalaci tohoto rozhraní budete potřebovat právě Git, který se integroval do vyvolávací nabídky v Průzkumníku Windows, kterou spustíte pravým tlačítkem myši.
Pro stažení Stable Diffusion WebUI AUTOMATIC1111 navštivte Github, kde po kliknutí na zelené tlačítko Code naleznete dvě možnosti:
1. adresu pro instalaci pomocí Gitu, kterou si zkopírujete
2. Zip soubor pro manuální stažení
Pro snadnou automatickou aktualizaci, která je u tohoto Open Source projektu velmi častá a komunita aktivně přidává nová vylepšení, se jednoznačně doporučuje využít instalaci pomocí Gitu, která není složitá, jak si ukážeme níže.
Nejprve si vytvořte novou složku, kde chcete toto Web-UI nainstalovat, kterou můžete nazvat jak chcete, někdo doporučuje i vyhnout se mezerám mezi slovy, takže třeba stable-diffusion-webui, uvnitř složky kliknete pravým tlačítkem a z menu si vyberete příkaz: Git bash here
V otevřeném okně pomocí pravého tlačítka myši a volby Paste vložíte získanou adresu a pro instalaci před ni musíte zadat příkaz git clone, nebo si můžete rovnou zkopírovat tento příkaz a adresu zde:
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
Tento příkaz potvrďte Entrem a vyčkejte až se dokončí instalace, ve zvolené složce pak najdete všechny soubory tohoto SD Web UI.
Doporučuji kliknout pravým tlačítkem myši na soubor webui-user.bat a zvolit Upravit, soubor se vám otevře v Poznámkovém bloku a zde můžete zadat nový příkaz pro kontrolu aktualizace SD WebUI a to git pull pod něj je užitečné ještě vložit pause.
Příkaz git pull slouží k načtení a stažení obsahu ze vzdáleného úložiště a okamžité aktualizaci místního úložiště podle tohoto obsahu, pause pak přeruší další akce a umožní vám přečíst, jestli je skutečně nějaká aktualizace k dispozici, pokud ne, uvidíte následující zprávu a musíte zmáčknout jakoukoli klávesu pro pokračování spuštění Stable Diffusion.
Already up to date.
Press any key to continue . . .
Před prvním spuštěním ale ještě budete potřebovat stáhnout některý Model Stable Diffusion
Zdroj: Obrázek vygenerován pomocí Stable Diffusion
Instalace Stable Diffusion modelů
Model Stable Diffusion má pomocí strojového učení předtrénovanou schopnost generovat nové obrázky od nuly, pouze pomocí textu popisujícím prvky, které mají být zahrnuty nebo i vynechány ve výsledném obrázku. První model v1 dostupný pro veřejnost byl vydán nedávno v srpnu 2022 společností CompVis, která momentálně poskytuje k dispozici už verzi 1.4, tyto různé verze modelů jsou označovány jako checkpointy, proto mají koncovku souborů .ckpt a vývojáři je používají jako výchozí bod pro následující vylepšené verze modelů.
Další společnost Runway, spolupracující na vývoji těchto modelů, nabízí prozatím nejnovější dostupnou verzi 1.5, ta by měla generovat o něco více fotorealistické obrázky, pro stažení této nejnovější verze se budete muset zaregistrovat na stránce huggingface.co a po vytvoření účtu si stáhnete soubor z adresy runwayml, pro stažení musíte být přihlášeni a ještě odkliknout souhlas s licencí…
Můžete zvolit dvě verze 7,7 GB používají pokročilí uživatelé pro trénování vlastních modelů, pro většinu uživatelů se doporučuje stáhnout spíše 4,27 GB verzi, která má také menší nároky na velikost paměti grafické karty.
v1-5-pruned-emaonly.ckpt – 4.27GB, ema-only weight. uses less VRAM – suitable for inference
v1-5-pruned.ckpt – 7.7GB, ema+non-ema weights. uses more VRAM – suitable for fine-tuning
Po stažení tento soubor v1-5-pruned-emaonly.ckpt přejmenujte na Model.ckpt a zkopírujte ho do složky, kde jste stáhli webové rozhraní Automatic1111 stable-diffusion-webui, konkrétně v ní otevřete složku models a v ní složku Stable-diffusion, zde musíte nakopírovat soubor Model.ckpt
Poté dvojklikem na soubor webui-user.bat můžete konečně poprvé spustit Stable Diffusion, toto první spuštění může trvat poměrně dlouho a u mě také skončilo chybovým hlášením…
Chyby při spouštění WebUI Automatic1111 pro Stable Diffusion
Moje první spuštění programu neproběhlo zrovna hladce, protože se nedotáhl jeden soubor z webu huggingface a musel jsem ho nejdříve smazat ze složky .cache na této adrese:
C:\Users\vaše jméno\.cache\huggingface\transformers
Po smazání cache a opětovném spuštění webui-user.bat se tento soubor stáhl už celý a spuštění proběhlo korektně.
Další už vyloženě mou chybou bylo, že jsem zbytečně nainstaloval ještě novější verzi Pythonu 3.11 a tato verze se zapsala do souboru pyvenv.cfg, uvnitř složky venv, toto jsem vyřešil přepsáním všech 3.11 na verzi 3.10 v tomto souboru:
Takže opravdu doporučuji striktně nainstalovat správnou verzi Pythonu a zatrhnout „Add Python to PATH“ při instalaci.
Pokud se u vás neobjeví žádné problémy příprava spuštění programu Stable Diffusion se dokončí a v okně uvidíte větu: Running on local URL: http:// následovanou čísly, tuto adresu musíte zkopírovat a vložit do webového prohlížeče, v něm se vám otevře rozhraní pro ovládání Stable Diffusion a můžete začít generovat první obrázky.
Abyste tuto adresu nemuseli manuálně kopírovat pokaždé, můžete si ji klasicky uložit do záložek ve svém prohlížeči a spouštět ji jako jakýkoli jiný web, samozřejmě před tím musíte vždy spustit soubor webui-user.bat.
Další možností je přidat parametr pro automatický start, takže na soubor webui-user.bat kliknete pravým tlačítkem myši, dáte Upravit a za příkaz COMMANDLINE_ARGS= nakopírujete: --autolaunch
Můj soubor webui-user.bat obsahující všechny výše popsané úpravy vypadá takto:
@echo off
git pull
pause
set PYTHON=
set GIT=
set VENV_DIR=
set COMMANDLINE_ARGS=--autolaunch
call webui.bat
Pokud chcete stejné nastavení, můžete celý text ve vašem souboru webui-user.bat přepsat tímto mým textem v Poznámkovém bloku.
Základní prvky ovládání Stable Diffusion Web UI Automatic1111
Ve webovém prohlížeči tak můžete v podstatě zadat první prompt, tedy v angličtině popsat co chcete na obrázku mít, je spousta možností jak ovlivnit výsledek, pro tento článek jsem vygeneroval úvodní obrázek jeho nastavení generování vidíte níže, můžete si zvolit mezi počtem Sampling Steps, většinou 20-60 poskytne solidní výsledky, ale záleží i na vybrané Sampling metodě, čím více kroků nastavíte a podle vybrané metody může trvat generování obrázků podstatně déle.
Zvolit si můžete i rozlišení a formát, držet se přednastavených kroků na slideru a nepřepisovat tam ručně vlastní hodnoty například místo 512> 523, nebudou fungovat, Batch size je kolik obrázku chcete najednou generovat, když zadáte 4, můžete ještě u Batch count zadat kolikrát chcete tyto 4 obrázky vygenerovat, např. zadáte opět 4 a vygeneruje se 16 různých obrázků, variabilitu v tomto batchi, ještě určíte ve Variation strenght, čím vyšší tím víc se budou jednotlivé obrázky lišit.
Hodně důležitou hodnotou je CFG scale ta určuje jak striktně se AI bude držet vašeho zadaného textu, zadáním nízké hodnoty pod 7 maximálně náhodně vybere pár slov z napsaného promptu, u vyšších hodnot už bude následovat text věrněji, zkrátka pokud nemáte jasnou představu, můžete dát nižší CFG kolem 7, pokud přesně víte, co chcete zvyšte ji minimálně na 12, ale klidně i 25 -30, i když pokud AI přesně nepochopí váš prompt, při maximálních hodnotách CFG nebudou výsledky dobré.
Toto je jen pár základních tipů, jak psát efektivní prompty spolu s příklady by vydalo na celý další článek, takže snad v budoucnu se tady objeví…
Zatím na ukázku pár obrázků vygenerovaných pomocí Stable Diffusion: kříženec afrického divokého psa s vlkem, znalci možná poznají jednu hollywooskou hérečku jak by vypadala zamlada v post-apokalyptickém filmu, spoustu možností nabízí i Fantasy žánr, kde si můžete generovat různé postavy, můj pokus o elfího mága, kde můžete vidět i použity prompt a další nastavení…
Mno, čekal jsem před vánocemi spíš článek o vývoji cen grafik, ale jelikož se o AI na generování obrázků zajímám již delší dobu, díky i za tento článek 🙂
Jinak ještě doplnění pro ty, kdo by to případně zkoušeli:
Pokud máte starší grafiku a neprojdete testem, upravte si ještě v dávkovém souboru řádku
set COMMANDLINE_ARGS = –lowvram –precision full –no-half –skip-torch-cuda-test
Obrázek tak bude počítat CPU, což násobně prodlouží časy, ale alespoň si to vyzkoušítě.
Ahoj, chtěl jsem si zkusit Stable Diff. nainstalovat podle tohoto návodu, ale stále, už na popáté mi to vždy, při prvotním spuštění zobrazí toto sdělení. Pokaždé vše odinstalováno a znovu nainstalováno. Adresář ,,venv,, se nikdy při instalaci nevytvořil. Zkusil jsem ho i dodatečně vytvořit, ale ani to nepomohlo. Python verze správná, políčko zaškrtnuté.
Věděl by jste někdo, kde je chyba??
Děkuji za případnou odpověď.
Creating venv in directory c:\Users\Lukáš\Pictures\_00UmelaInteligence\Git\stable-diffusion-webui\venv using python „C:\Users\LukßÜ\AppData\Local\Programs\Python\Python310\python.exe“
Unable to create venv in directory „c:\Users\Lukáš\Pictures\_00UmelaInteligence\Git\stable-diffusion-webui\venv“
exit code: 3
stderr:
Systém nemůže nalézt uvedenou cestu.
Launch unsuccessful. Exiting.
Press any key to continue . . .
Problém bude že v cestě pythonu je Lukáš změněn na LukßÜ, ten předpokládám neexistuje? může být chyba v české diakritice u Lukáše, v článku je u instalace pythonu po rozkliknutí Podrobnosti návod jak přidat Path manuálně, zkusil bych se podle něj podívat jestli je tam v těch dvou adresách uveden LukßÜ nebo Lukáš, případně zkusit přepsat na Lukáše.