Git per progetti di IA
git init, .gitignore per dati e modelli, commit dei notebook e DVC per il versionamento dei dati.
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/
.envIgnorare 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/.gitkeepIntroduzione 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 versionIl flusso di lavoro del team
Il ciclo Git + DVC collega le versioni del codice e dei dati:
git pullper ottenere il codice più recente e i puntatori.dvcdvc pullper 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
.gitignoreper*.pkl,data/raw/*,__pycache__e.env .gitkeepper preservare le cartelle vuote- DVC:
dvc init,dvc add,dvc push/pullper gestire le versioni di dati e modelli - Il flusso di lavoro Git + DVC mantiene sincronizzati codice e dati
Prossimo argomento: rendere riproducibili gli esperimenti.
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
- Struttura professionale delle directory di un progetto IA
- Git per progetti di IA
- Riproducibilità: seed, configurazioni e ambienti
- Buone pratiche per i notebook Jupyter