Introduzione al Controllo di Versione dei Dati

Introduzione al Controllo di Versione dei Dati' can be condensed to 'Introduzione al Controllo di Versione

PYTHON | DATI | PROGRAMMAZIONE

Una guida passo-passo per implementare il tuo DVC in Python usando Hangar

Foto di Florian Olivo su Unsplash

Cos’è il Controllo delle Versioni dei Dati (DVC)?

Ogni sistema di produzione richiede una sorta di versionamento.

Una singola fonte di verità attuale.

Ogni risorsa che viene continuamente aggiornata, specialmente contemporaneamente da più utenti, richiede una sorta di traccia delle modifiche per tenere traccia di tutti i cambiamenti.

Nell’ingegneria del software, la soluzione a questo problema è Git.

Se hai mai scritto del codice nella tua vita, probabilmente conosci la bellezza di Git.

Git ci consente di eseguire commit delle modifiche, creare diverse branche da una sorgente e unire le nostre branche all’originale, solo per citarne alcune.

DVC è esattamente lo stesso paradigma, ma per i dataset. Vedi, i sistemi di dati in tempo reale stanno continuamente acquisendo nuovi punti dati mentre diversi utenti eseguono esperimenti diversi sugli stessi dataset.

Ciò porta a diverse versioni dello stesso dataset, che non rappresentano sicuramente una singola fonte di verità.

Inoltre, in un ambiente di apprendimento automatico, avremmo anche diverse versioni dello stesso ‘modello’ addestrate su diverse versioni dello stesso dataset (ad esempio, il ritraining del modello per includere nuovi punti dati).

Se non viene auditato e versionato correttamente, questo creerebbe una rete intricata di dataset ed esperimenti. Sicuramente non vogliamo questo!

DVC è quindi un sistema che coinvolge il tracciamento dei nostri dataset registrando le modifiche su un dataset specifico. Esistono molte soluzioni DVC sia gratuite che a pagamento.

Recentemente ho scoperto Hangar, un pacchetto DVC completamente open-source per Python. Vediamo cosa può fare, d’accordo?

Lavorare con Hangar

Il pacchetto Hangar è un’implementazione puramente in Python ed è disponibile tramite pip.

La sua funzionalità principale è sviluppata in modo simile a git, il che aiuta molto la curva di apprendimento.