Vai al contenuto

Crea il tuo generatore di immagini da testo con IA in Visual Studio Code

Scopri come costruire un generatore di immagini da testo in pochi passi.

Negli ultimi anni, l’intelligenza artificiale ha fatto passi da gigante, permettendo a chiunque, anche ai principianti, di creare strumenti innovativi. Tra le applicazioni più affascinanti di questa tecnologia c’è la generazione di immagini a partire da descrizioni testuali. Questo articolo si propone di guidarti nel processo di creazione di un generatore di immagini da testo utilizzando Stable Diffusion e Visual Studio Code, il tutto in meno di 15 minuti.

Prerequisiti: Prima di iniziare, è fondamentale avere installato Python 3.9 o versioni successive e possedere un account su Hugging Face.

Step 1: Configurare l’ambiente di sviluppo

Nella directory del tuo progetto, crea un file chiamato requirements.txt e aggiungi le seguenti dipendenze:

  • certifi==2022.9.14
  • charset-normalizer==2.1.1
  • colorama==0.4.5
  • customtkinter==4.6.1
  • darkdetect==0.7.1
  • diffusers==0.3.0
  • filelock==3.8.0
  • huggingface-hub==0.9.1
  • idna==3.4
  • importlib-metadata==4.12.0
  • numpy==1.23.3
  • packaging==21.3
  • Pillow==9.2.0
  • pyparsing==3.0.9
  • PyYAML==6.0
  • regex==2022.9.13
  • requests==2.28.1
  • tk==0.1.0
  • tokenizers==0.12.1
  • torch==1.12.1+cu113
  • torchaudio==0.12.1+cu113
  • torchvision==0.13.1+cu113
  • tqdm==4.64.1
  • transformers==4.22.1
  • typing_extensions==4.3.0
  • urllib3==1.26.12
  • zipp==3.8.1

Per installare tutte le dipendenze elencate, esegui il comando:

pip install -r requirements.txt

Step 2: Configurare l’autenticazione

Crea un file chiamato authtoken.py nella tua directory di progetto. In questo file, inserisci il seguente codice:

auth_token = "ACCESS TOKEN FROM HUGGING FACE"

Per ottenere il token di accesso da Hugging Face, collegati al tuo account, vai su impostazioni del profilo e seleziona Access Tokens. Clicca su Create new token, scegli il tipo di token come Read, nomina il token e clicca su Create token. Copia il token generato e sostituisci ACCESS TOKEN FROM HUGGINGFACE nel tuo file authtoken.py.

Step 3: Sviluppare l’applicazione

Crea un file chiamato application.py e aggiungi il seguente codice:

# Importa la libreria Tkinter per l'interfaccia graficaimport tkinter as tkimport customtkinter as ctk  import torch  from diffusers import StableDiffusionPipeline from PIL import Image, ImageTk from authtoken import auth_token  # Inizializza la finestra principale dell'applicazione Tkinterapp = tk.Tk()app.geometry("532x632") app.title("Generatore di immagini da testo")  ctk.set_appearance_mode("dark")  # Crea una casella di input per il testo del promptprompt = ctk.CTkEntry(height=40, width=512)prompt.place(x=10, y=10)  # Crea un'etichetta per visualizzare l'immagine generatalmain = ctk.CTkLabel(height=512, width=512)lmain.place(x=10, y=110)  # ID del modello per Stable Diffusionmodelid = "CompVis/stable-diffusion-v1-4"  device = "cpu" # Carica la pipeline del modello Stable Diffusionpipe = StableDiffusionPipeline.from_pretrained(modelid, revision="fp16", torch_dtype=torch.float32, use_auth_token=auth_token)pipe.to(device)  # Funzione per generare l'immagine dal promptdef generate():    with torch.no_grad():          image = pipe(prompt.get(), guidance_scale=8.5)["sample"][0]      img = ImageTk.PhotoImage(image)      lmain.image = img     lmain.configure(image=img)  # Crea un pulsante per attivare la generazione dell'immaginetrigger = ctk.CTkButton(height=40, width=120, command=generate)trigger.configure(text="Genera")  trigger.place(x=206, y=60)  # Avvia il loop principale di Tkinterapp.mainloop()

Per eseguire l’applicazione, utilizza il comando:

python application.py

Questo farà partire l’interfaccia grafica, dove potrai inserire un testo e generare immagini corrispondenti semplicemente cliccando il pulsante Genera.

Complimenti! Hai realizzato con successo un generatore di immagini da testo utilizzando Stable Diffusion in Visual Studio Code. Non esitare ad esplorare ulteriormente l’applicazione, aggiungendo funzionalità o migliorando l’interfaccia utente. Buon coding!

Risorse utili: Un ottimo punto di partenza per approfondire ulteriormente è la guida di Microsoft Generative AI for Beginners.