La generazione di immagini con intelligenza artificiale ha preso d'assalto il Web e i social network. Le soluzioni online sono sempre più robuste e avanzate, ma l'esecuzione locale dei modelli presenta due vantaggi fondamentali: la gratuità e l'eliminazione dei limiti imposti dalle piattaforme online. La migliore opzione offline resta Stable Diffusion, ma la sua configurazione standard consiglia schede grafiche Nvidia. Fortunatamente, consiglio non significa obbligo, e oggi esploreremo un modo per convincere Stable Diffusion a usare la CPU...
Vuoi immergerti nel mondo della generazione di immagini? Il modo più semplice è aprire un account su DreamStudio o usare Midjourney tramite Discord, ma nessuna di queste opzioni è gratuita: dovrai acquistare crediti una volta esaurite le prove gratuite. In alternativa, la demo pubblica di Stable Diffusion non è andata da nessuna parte, e se hai pazienza (intendo la coda di attesa, gli errori spontanei e il "lavorare" i tuoi prompt) puoi creare immagini molto interessanti. Tuttavia, esiste anche la generazione offline, e se possiedi una scheda grafica Nvidia compatibile, è di gran lunga il modo migliore per ottenere immagini. Le ragioni? Puoi esplorare diversi modelli condivisi dalla community, sfuggire ai (logici) limiti delle versioni online e, soprattutto, creare immagini senza pagare un centesimo. Ma cosa succede se la scheda video non è un'opzione? In tal caso, la soluzione è convincere Stable Diffusion a usare la CPU.
Prima di iniziare…
Devi moderare le tue aspettative. Il processo sacrifica tempo per la compatibilità. Le prestazioni esatte dipendono dal processore e dalla forza dei suoi core (proprio così, in plurale: ti serve assolutamente un chip multicore e 16 GB di RAM per questo), ma in media dovrai attendere circa cinque minuti per immagine a 20 passi. Alcuni metodi di sampling richiedono tra 30 e 40 passi per ottenere risultati ottimali, quindi bisogna armarsi di pazienza.
Come configurare Stable Diffusion senza scheda video
- In sostanza, questa guida segue gli stessi passi del tutorial di installazione per la versione WebUI di Stable Diffusion sviluppata da Automatic1111 su GitHub. È una delle più popolari e aggiornate sul Web, ma non funzionerà con processori senza un paio di modifiche finali. Questo è il nostro compito.
- In primo luogo, devi installare Python 3.10.6 o superiore, selezionando l'opzione "Add Python to PATH" quando il programma di installazione la presenta.
- Poi tocca a Git per Windows. Al momento in cui scrivo, l'ultima build è la 2.38.0, compatibile con sistemi a 64 bit.
- Due opzioni: puoi usare il comando git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git per scaricare l'intero repository, oppure fare lo stesso download manualmente, facendo clic sul pulsante verde Code e scegliendo Download Zip. La prima via ti consente di usare git pull per aggiornarlo in seguito, con la seconda devi scaricare lo zip ogni volta. Ad ogni modo, l'installazione di git è obbligatoria.
- Il passo più complicato: ottenere il modello 1.4 di Stable Diffusion. È un blocco da quattro gigabyte, quindi consiglio di usare un link magnet per il download via BitTorrent. In alternativa c'è il download diretto, ma incrocia le dita affinché la connessione non si interrompa.
- Una volta scaricato il modello, devi rinominarlo in model.ckpt e inserirlo in stable-diffusion-webui-master\models\Stable-diffusion\. Gli altri modelli vengono scaricati automaticamente con la prima esecuzione.
- Non siamo ancora fuori dalla giungla. La chiave per farlo funzionare è forzare l'uso della CPU e allo stesso tempo indicare che non ci sono dispositivi CUDA presenti.
- Per far ciò, devi modificare il file webui.bat e aggiungere due righe, come mostrato nell'immagine qui sotto: set CUDA_VISIBLE_DEVICES=-1 e set COMMANDLINE_ARGS=--precision full --no-half --use-cpu all --skip-torch-cuda-test --autolaunch. Salva le modifiche.
- Apri una console con privilegi elevati ed esegui webui.bat. L'elevazione non è strettamente necessaria, ma evita qualsiasi potenziale conflitto con Windows.
- Se WebUI necessita di altro, è molto probabile che tenti di scaricarlo automaticamente. Questo è il comportamento previsto. Se tutto funziona, il WebUI di Stable Diffusion si aprirà nella scheda del browser predefinito, all'indirizzo 127.0.0.1:7860.
- Inserisci un prompt e limita il numero di passi a 20 per iniziare. Non tutti i sampler funzionano in modalità CPU (ad esempio, DDIM), e il mio consiglio è di restare su Euler A o LMS. Un clic su Generate, e poi si aspetta.
Ecco fatto! Con questi passi, la generazione di immagini usando Stable Diffusion e un processore diventerà realtà. Il resto è... pazienza. Personalmente posso creare 16 immagini su GPU per ognuna su CPU, quindi c'è un'enorme differenza di prestazioni, ma calibrare il numero di passi e la risoluzione ti aiuterà a ridurre i tempi di elaborazione. Buona fortuna!