Nell’ultimo anno, diversi modelli di machine learning sono diventati disponibili al pubblico per generare immagini da descrizioni testuali. Questo è stato uno sviluppo interessante nello spazio dell’IA. Tuttavia, la maggior parte di questi modelli è rimasta closed source per valide ragioni etiche. Per questo motivo, anche se puoi interagire con loro tramite qualche interfaccia, sei limitato nel numero di cose che puoi testare. Fino ad ora…
L’ultimo di questi modelli è Stable Diffusion, un modello di machine learning aperto sviluppato da Stability AI per generare immagini digitali da descrizioni in linguaggio naturale. Questo modello è diventato piuttosto popolare, principalmente perché è stato il primo ad essere open source.
Ho già giocato con Dall-E e Midjourney, ma volevo provare a eseguire un modello localmente e avere più libertà di sperimentare. Sono riuscito a installare e far funzionare il modello con successo sul mio M1 Pro e sul mio desktop Windows. Questa guida dettaglia i passaggi che ho seguito per far funzionare tutto sul mio Mac.
Note Iniziali#
Un paio di note prima di iniziare. Ho provato diverse guide online e non sono riuscito ad avere un’esperienza fluida con nessuna di esse. Ho dovuto provare numerosi repo, soluzioni, ecc. L’obiettivo principale di questa guida è fornire istruzioni su come eseguire Stable Diffusion su un M1, dove ho trovato più sfide. L’installazione su Windows è stata molto più semplice.
Detto questo, il repo che ho finito per usare ha guide dettagliate per tutte le piattaforme: Windows, Mac e Linux. Non esitare a usare una di quelle se stai usando un’altra piattaforma o se questa guida non funziona per te su Mac.
Ottenere il Codice#
Iniziamo ottenendo il codice. Sto usando il fork di Stable Diffusion di InvokeAI, che ho forkato qui. Sei libero di usare il repo originale di InvokeAI se preferisci. Userò il mio fork per assicurare che la guida rimanga aggiornata e funzionante nel tempo.
Per iniziare, clona il repo sulla tua macchina locale.
git clone https://github.com/nunocoracao/InvokeAIOttenere il Modello#
Ora devi ottenere il modello vero e proprio che contiene i pesi per la rete. Questo è il risultato di cicli massivi di training con dataset enormi con cui un utente normale con hardware medio non può competere. Il modello non è distribuito con il codice per le sue dimensioni (circa 7,5 GB) e per assicurare che gli utenti debbano conformarsi a una licenza.
Vai semplicemente sul sito di Hugging Face e accedi, o crea un account se non ne hai uno. Una volta configurato, clicca qui, accetta i termini sulla model card e scarica il file chiamato sd-v1-4-full-ema.ckpt. Dopo aver scaricato il modello, vai nella cartella del codice e posizionalo in models/ldm/stable-diffusion-v1/ con il nome model.ckpt. La cartella stable-diffusion-v1 non esiste e deve essere creata.
Configurare l’Ambiente#
Con il codice e il modello pronti, il passo successivo è configurare l’ambiente locale per eseguire tutto.
Installare Xcode#
Il primo passo è installare Xcode. Xcode può essere installato dall’App Store, o puoi scaricarlo dal sito Developer di Apple.
xcode-select --installInstallare Conda#
La maggior parte delle soluzioni che ho visto usa Conda per gestire i pacchetti e gli ambienti necessari. La guida di installazione di Conda per qualsiasi piattaforma è super chiara, quindi ti consiglio di seguire le istruzioni qui.
condaSe il processo di installazione ha avuto successo, dovresti vedere qualcosa come l’immagine sotto.

Installare Rust#
Quando seguivo altre guide, avevo sempre problemi nella parte successiva del processo, la costruzione degli ambienti. Dopo molti tentativi, ho capito che mi mancava il compilatore Rust.
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | shCostruire e Attivare l’Ambiente#
Ci siamo quasi. Ora creeremo l’ambiente ldm e lo attiveremo prima di iniziare a generare immagini.
PIP_EXISTS_ACTION=w CONDA_SUBDIR=osx-arm64 conda env create -f environment-mac.ymlOra è il momento di attivare l’ambiente usando:
conda activate invokeaiL’ultimo passo è precaricare i modelli usando il comando:
python scripts/preload_models.pyDivertiti…#
Ora è il momento di iniziare a giocare con Stable Diffusion. Esegui:
python scripts/invoke.py --full_precision --webE apri il tuo browser su localhost:9090

Alcuni Esempi#
Ecco alcuni esempi di immagini dalle mie prime esecuzioni del modello.
















Disclaimer & Altre Opzioni#
Ci sono una tonnellata di opzioni per eseguire il modello Stable Diffusion, alcune locali, alcune nel cloud (es. Google Colab), quindi non frustrarti se vuoi provare questo ma non hai accesso a una macchina che può eseguirlo. Ci sono probabilmente altre soluzioni che puoi usare.
Taggami sui social con le tue creazioni se riesci a farlo funzionare:





