Learn AI with Python · Lezione

Git per progetti di IA

git init, .gitignore per dati e modelli, commit dei notebook e DVC per il versionamento dei dati.

Lezione 2 di 413 passaggi

Git per progetti di IA è una lezione Learn AI with Python gratuita su CoddyKit. Questa è la lezione 2 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Learn AI with Python, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Learn AI with Python include 4 lezioni in totale.

Git nei progetti di IA

Git tiene traccia delle modifiche al codice, così può collaborare, annullare gli errori e consultare la cronologia. Ma i progetti di IA aggiungono una complicazione: i file di dati enormi e i modelli binari non devono essere inclusi in Git.

Questa lezione illustra un file .gitignore sensato e l'uso di DVC per la gestione delle versioni dei dati.

Cosa gestisce bene Git

Git dà il meglio con il testo: codice sorgente, configurazioni, notebook (con gli output cancellati) e documentazione. Memorizza diff efficienti dei file di testo.

Gestisce male i binari di grandi dimensioni: ogni versione viene memorizzata per intero, gonfiando il repository per sempre.

Perché non fare il commit di dati e modelli

Eseguire il commit di un dataset da 2 GB o di un modello da 500 MB:

  • Ingombrano il repository e rallentano ogni clone
  • Non è possibile confrontarli in modo significativo
  • Restano nella cronologia per sempre, anche dopo la loro eliminazione

La soluzione consiste nell'ignorarli in Git e gestirne le versioni con uno strumento dedicato.

Il file .gitignore

.gitignore elenca i pattern che Git non deve tracciare. Lo crei nella directory principale del progetto. Ogni riga è un pattern glob.

# .gitignore
*.pkl
*.joblib
*.h5
data/raw/*
data/processed/*
models/*
__pycache__/
*.pyc
.ipynb_checkpoints/
.env

Ignorare i file dei modelli e della cache

Pattern comuni da ignorare nei progetti di IA:

  • *.pkl, *.joblib, *.h5 — modelli serializzati
  • __pycache__/, *.pyc — bytecode Python
  • .ipynb_checkpoints/ — salvataggi automatici di Jupyter
  • .env — segreti e chiavi API (non esegua mai il commit di questi file!)

Mantenere le cartelle vuote con .gitkeep

Git ignora le directory vuote. Per mantenere data/raw/ nella struttura del repository ignorandone il contenuto, aggiunga un file .gitkeep vuoto e una negazione.

# .gitignore
data/raw/*
!data/raw/.gitkeep

Introduzione a DVC

DVC (Data Version Control) gestisce le versioni di dati e modelli di grandi dimensioni insieme a Git. Git tiene traccia di piccoli file puntatore .dvc; i dati effettivi risiedono in uno storage remoto (S3, GCS ecc.).

Si ottengono versioni dei dati riproducibili senza appesantire il repository Git.

dvc init

Inizializzi DVC all'interno di un repository Git esistente. Crea una directory .dvc/ e la configurazione, che dovrà eseguire il commit in Git.

# in your git repo
dvc init
git add .dvc .gitignore
git commit -m "Initialize DVC"

dvc add — tracciamento dei dati

dvc add avvia il tracciamento di un file o di una cartella. DVC sposta i dati nella propria cache e crea un piccolo file puntatore .dvc. Esegua il commit del puntatore in Git, non dei dati.

dvc add data/raw/dataset.csv
# creates data/raw/dataset.csv.dvc
git add data/raw/dataset.csv.dvc data/raw/.gitignore
git commit -m "Track dataset with DVC"

dvc push e dvc pull

Configuri una destinazione remota, quindi dvc push vi carica i dati e dvc pull scarica la versione corrispondente al commit Git corrente. È così che i membri del team condividono i dati.

dvc remote add -d storage s3://my-bucket/dvcstore
dvc push          # upload data to the remote

# teammate after git clone + git checkout:
dvc pull          # fetch the matching data version

Il flusso di lavoro del team

Il ciclo Git + DVC collega le versioni del codice e dei dati:

  • git pull per ottenere il codice più recente e i puntatori .dvc
  • dvc pull per recuperare i dati e i modelli corrispondenti
  • Lavorare, quindi eseguire dvc add + git commit + dvc push

Ripristinando un commit precedente ed eseguendo dvc pull si riproduce esattamente quello stato.

Verifica rapida: file di grandi dimensioni

Il progetto contiene un dataset di addestramento da 1 GB e un file di modello da 300 MB.

Riepilogo: Git per i progetti di IA

Ha appreso il controllo delle versioni specifico per l'IA:

  • Git per il testo (codice, configurazioni, notebook), non per i binari di grandi dimensioni
  • Un file .gitignore per *.pkl, data/raw/*, __pycache__ e .env
  • .gitkeep per preservare le cartelle vuote
  • DVC: dvc init, dvc add, dvc push/pull per gestire le versioni di dati e modelli
  • Il flusso di lavoro Git + DVC mantiene sincronizzati codice e dati

Prossimo argomento: rendere riproducibili gli esperimenti.

Gratis per iniziare

Impara Python con un tutor IA — gratis

Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.

Corsi
53
Lezioni
225

Domande Frequenti

La lezione «Git per progetti di IA» è gratuita?

Sì — il testo completo di «Git per progetti di IA» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Learn AI with Python, passa a CoddyKit PRO. Il corso Learn AI with Python include 4 lezioni in totale.

Cosa imparerò in «Git per progetti di IA»?

git init, .gitignore per dati e modelli, commit dei notebook e DVC per il versionamento dei dati. Eserciti Learn AI with Python con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Learn AI with Python?

Non è richiesta alcuna esperienza precedente. Learn AI with Python su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 2 di 4.

Quanto tempo richiede la lezione «Git per progetti di IA»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Learn AI with Python?

Sì. Ogni lezione Learn AI with Python include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Struttura professionale delle directory di un progetto IA
  2. Git per progetti di IA
  3. Riproducibilità: seed, configurazioni e ambienti
  4. Buone pratiche per i notebook Jupyter
← Torna a Learn AI with Python