
Per gestire dataset pesanti in GNU Octave su Ubuntu, la soluzione più pratica è integrare Git LFS (Large File Storage) nel tuo workflow: ti permette di versionare file di grandi dimensioni senza appesantire il repository, mantenendo clone e pull veloci. In Octave puoi poi caricare i dataset localmente una volta scaricati con Git LFS, evitando problemi di memoria e di sincronizzazione.
Installazione di Git LFS su Ubuntu
-
Installazione Git LFS
bash<?XML:NAMESPACE PREFIX = "[default] http://www.w3.org/2000/svg" NS = "http://www.w3.org/2000/svg" />
curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash sudo apt-get install git-lfs git lfs install -
Questo comando configura gli hook necessari (post-checkout, pre-push) per gestire i file pesanti.
Configurazione del repository
-
Tracking file pesanti Esempio per dataset CSV e modelli ML:
bash
git lfs track "*.csv" git lfs track "data/raw/*"→ Viene generato
.gitattributescon le regole di tracciamento. -
Commit e push:
bash
git add . git commit -m "Aggiunta dataset con Git LFS" git push origin mainI file pesanti vengono caricati sul server LFS, mentre nel repo restano solo i puntatori.
Uso in GNU Octave
Una volta clonato il repository con git clone, i dataset sono scaricati tramite LFS. In Octave puoi gestirli così:
octave
data = csvread("data/raw/large_dataset.csv");
summary(data);
-
Gestione memoria Octave: per dataset molto grandi, usa funzioni come
dlmreadcon parametri di range, oppure librerie esterne (es. HDF5) per caricare solo porzioni di dati. -
Consiglio pratico: se il dataset supera la RAM disponibile, considera l’uso di memmap o la suddivisione in chunk.
⚠️ Rischi e Best Practices
-
Errori comuni Git LFS: dimenticare di configurare
.gitattributesporta a file pesanti nel packfile Git. -
Non tracciare tutto: evita di includere file temporanei o cache IDE.
-
Team workflow: documenta l’uso di Git LFS per garantire coerenza tra sviluppatori.
Tabella riepilogativa
Step
Comando/azione
Note
Installazione Git LFS
sudo apt-get install git-lfs
Configura hook globali
Inizializzazione
git lfs install
Attiva LFS nel repo
Tracking file
git lfs track "*.csv"
Regole in .gitattributes
Commit & push
git add . && git commit && git push
File caricati su server LFS
Uso in Octave
csvread("dataset.csv")
Gestione memoria con chunk

Nessun commento:
Posta un commento