CLI-Tool
treeverse/dvc avatar
treeverse/dvc

DVC: Ein Kommandozeilenwerkzeug für Datenversionierung und ML-Experimente

Datenversionierung und ML-Experimente. Wenn Sie Änderungen vornehmen, führen Sie nur die Schritte aus, die von diesen Änderungen betroffen sind.

15.870 Sterne1.328 ForksPythonApache-2.0

Auf einen Blick

Was ist das?
DVC ist ein Python-basiertes Kommandozeilenwerkzeug und eine VS-Code-Erweiterung für reproduzierbare Machine-Learning-Projekte.
Für wen ist es gedacht?
DVC ist ein Python-basiertes Kommandozeilenwerkzeug und eine VS-Code-Erweiterung für Datenversionierung, Pipelines und Experimentverfolgung in Git. Die README deckt Installation und CLI-Workflow ab, schweigt aber zu Support und Sicherheitszusagen.
Darf ich es kommerziell nutzen?
Ja. Apache-2.0 ist eine freizügige Lizenz: Sie dürfen darauf aufbauende Software nutzen, verändern und verkaufen, solange Sie die Urheberrechts- und Lizenzhinweise beibehalten.
Wird es noch gepflegt?
Ja. Die letzten Commits kamen vor 2 Tagen.
In welcher Sprache ist es geschrieben?
Hauptsächlich Python, laut der Sprachstatistik von GitHub.

Die Antworten beruhen auf den GitHub-Daten des Projekts (zuletzt abgeglichen am 14. September 2026) und auf unserer Analyse. Sie sind keine Rechtsberatung.

TIEFGEHENDE OPEN-SOURCE-ANALYSE

Ein Kommandozeilenwerkzeug mit VS-Code-Erweiterung für reproduzierbares ML

Die README stellt DVC als ein Kommandozeilenwerkzeug und eine VS-Code-Erweiterung für die Entwicklung reproduzierbarer Machine-Learning-Projekte vor. Sie nennt fünf Fähigkeiten: Daten und Modelle versionieren, leichte Pipelines ausführen, Experimente in einem lokalen Git-Repository ohne separaten Server verfolgen, Daten, Code, Parameter, Modelle und Leistungsdiagramme vergleichen sowie Experimente teilen, damit andere sie reproduzieren können. Die Repository-Metadaten geben Python als Sprache an, und die README verweist für Dokumentation, Tutorial und Einstieg auf dvc.org.

Die drei Analogien der README

Um einzuordnen, wie DVC in ein Projekt passt, verwendet die README drei Analogien. Die erste ist Git für Daten: Datenartefakte werden wie bei Git-LFS gespeichert und geteilt, aber ohne Server, und mit einem Git-Repository verbunden. Die zweite ist Makefiles für ML: Pipelines beschreiben in einem Standardformat, wie Daten- oder Modellartefakte aus anderen Daten und Code gebaut werden, sodass Pipelines mit Git versioniert werden können. Die dritte ist lokale Experimentverfolgung: Eine Maschine wird zur Experimentverwaltungsplattform, und die Zusammenarbeit läuft über vorhandene Git-Hosting-Dienste wie GitHub oder GitLab. Die README erklärt außerdem, dass Git DVC-Metadateien als Platzhalter speichert, während die eigentlichen Daten- und Modelldateien in einem Cache außerhalb von Git liegen, mit Remote-Speicheroptionen wie S3, Azure, Google Cloud und SSH.

Der CLI-Workflow aus der Schnellstart-Tabelle

Der Schnellstartabschnitt der README ist eine Tabelle mit Terminalbefehlen. Sie beginnt mit git add train.py params.yaml und dvc add images/ zum Verfolgen von Daten, dann folgt dvc stage add, um Code und Daten zu verbinden, mit den Beispielnamen featurize und train. Experimente werden mit dvc exp run ausgeführt, etwa mit Namen wie exp-baseline und exp-code-change, und Ergebnisse werden mit dvc exp show und dvc exp apply verglichen. Zum Teilen von Code werden die üblichen Befehle git add, git commit und git push verwendet; Daten und Modelle werden mit dvc remote add, etwa s3://mybucket/image_cnn, und anschließend dvc push geteilt. Die README verweist für die vollständige Liste auf die Befehlsreferenz, statt die Tabelle als erschöpfend zu bezeichnen.

Pipelines und Experimentversionierung

Die README beschreibt DVC-Pipelines als Berechnungsgraphen, die Code und Daten verbinden. Eine Pipeline legt alle Schritte fest, die nötig sind, um ein Modell zu erzeugen: Eingabeabhängigkeiten wie Code und Daten, auszuführende Befehle und zu speichernde Ausgabeinformationen. Für Experimente können Nutzer in einem lokalen Git-Repository viele Experimente vorbereiten und ausführen. Ergebnisse lassen sich anhand von Hyperparametern und Metriken filtern und vergleichen und mit mehreren Diagrammen visualisieren. In der Fähigkeitenliste der README heißt es, Pipelines seien leichtgewichtig, sodass bei Änderungen nur die betroffenen Schritte laufen.

Die VS-Code-Erweiterung und ihr aktueller Umfang

Die README verlinkt eine VS-Code-Erweiterung im Marketplace. Sie bietet laut README derzeit Experimentverfolgung und Datenverwaltung; weitere Funktionen wie Datenpipeline-Unterstützung sind geplant. Die README enthält den Hinweis, dass das Kern-DVC separat auf dem System installiert werden muss und die Erweiterung bei Bedarf führt. Die Erweiterung wird als GUI für DVC in VS Code beschrieben, und ein animiertes Übersichtsbild in der README verweist auf das Repository der Erweiterung.

Installationswege und optionale Remote-Abhängigkeiten

Die Installation wird über mehrere Wege behandelt. Die README nennt snap, choco, brew, conda, pip und betriebssystemspezifische Pakete. Für Snapcraft unter Linux lautet der Befehl snap install dvc --classic; --beta steht für einen Release-Kandidaten, --edge für die neueste main-Version. Chocolatey und Homebrew verwenden choco install dvc bzw. brew install dvc. Anaconda-Nutzer installieren zuerst mamba und führen dann mamba install -c conda-forge dvc aus. Die PyPI-Installation ist pip install dvc, mit optionalen Extras wie s3, gs, azure, oss, ssh oder all, etwa pip install 'dvc[s3]'. Die README nennt außerdem optionale Abhängigkeiten für Nicht-pip-Installationen wie dvc-s3, dvc-azure, dvc-gdrive, dvc-gs, dvc-oss und dvc-ssh sowie einen Befehl zum Installieren der Entwicklungsversion direkt von GitHub.

Lizenz, Beitragsbedingungen und was die README nicht abdeckt

Die README sagt, das Projekt werde unter der Apache License 2.0 verbreitet, und Mitwirkende stimmen mit einem Pull-Request zu, ihren Beitrag unter dieser Lizenz zu lizenzieren. Der Lizenzauszug gewährt eine dauerhafte, weltweite, nicht exklusive, kostenlose, unwiderrufliche Urheberrechtslizenz zum Vervielfältigen, Erstellen abgeleiteter Werke, öffentlichen Zeigen, Aufführen, Unterlizenzieren und Verteilen sowie eine Patentlizenz, die endet, wenn Patentklagen eingereicht werden. Die README macht keine Angaben zu Sicherheitszusagen, Support-Verpflichtungen, Produktionsreife oder einem formalen Veröffentlichungsrhythmus. Wer darauf angewiesen ist, muss dies außerhalb der README prüfen.

DVC ist auf versionierte Daten- und Modellartefakte neben Git ausgerichtet. Ein sinnvoller Projektcheck verwendet die im README genannten dvc-Befehle, prüft die resultierende .dvc-Datei und beobachtet, welches Remote in der Konfiguration angesprochen wird. Damit wird sichtbar, ob der gewünschte Ablauf aus Quellcode, Metadaten und Cache zum eigenen Repository passt. Git allein verfolgt den Inhalt der großen Artefakte nicht.

Redaktionelles Fazit

DVC ist ein Python-basiertes Kommandozeilenwerkzeug und eine VS-Code-Erweiterung für Datenversionierung, Pipelines und Experimentverfolgung in Git. Die README deckt Installation und CLI-Workflow ab, schweigt aber zu Support und Sicherheitszusagen.

Offizielle Quellen

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
Community-Notizen

Community-Notizen