Schauen Sie sich unseren neuen Produkt -Datachain an (und geben Sie es ein!), Wenn Sie eine große Anzahl von Dateien verarbeiten und verarbeiten müssen. Kontaktieren Sie uns unter [email protected], um kommerzielle Lösungen und die Unterstützung für KI -Reproduzierbarkeit und Datenmanagementszenarien zu besprechen.
Website • Dokumente • Blog • Tutorial • Verwandte Technologien • Wie DVC funktioniert
Die Datenversionskontrolle oder DVC ist ein Befehlszeilen -Tool und eine VS -Code -Erweiterung, mit der Sie reproduzierbare Projekte für maschinelles Lernen entwickeln können:
Bitte lesen Sie unsere Befehlsreferenz für eine vollständige Liste.
Ein gemeinsamer CLI -Workflow umfasst:
Aufgabe | Terminal |
---|---|
Daten verfolgen | $ git add train.py params.yaml $ dvc add images/ |
Schließen Sie Code und Daten an | $ dvc stage add -n featurize -d images/ -o features/ python featurize.py $ dvc stage add -n train -d features/ -d train.py -o model.p -M metrics.json python train.py |
Änderungen vornehmen und experimentieren | $ dvc exp run -n exp-baseline $ vi train.py $ dvc exp run -n exp-code-change |
Vergleichen und wählen Sie Experimente aus | $ dvc exp show $ dvc exp apply exp-baseline |
Code teilen | $ git add . $ git commit -m 'The baseline model' $ git push |
Daten und ML -Modelle teilen | $ dvc remote add myremote -d s3://mybucket/image_cnn $ dvc push |
Wir ermutigen Sie, unsere Erste Dokumente zu lesen, um besser zu verstehen, was DVC tut und wie es Ihren Szenarien passen kann.
Die nächsten Analogien zur Beschreibung der Haupt -DVC -Merkmale sind folgende:
Git wird wie gewohnt zum Speichern und Versionscode verwendet (einschließlich DVC-Meta-Files als Platzhalter für Daten). DVC speichert Daten und Modelldateien nahtlos in einem Cache außerhalb von Git, während sie fast die gleiche Benutzererfahrung erhalten, als ob sie im Repo wären. Um den Datencache zu teilen und zu sichern, unterstützt DVC mehrere Remote -Speicherplattformen - jede Cloud (S3, Azure, Google Cloud usw.) oder ein On -Premise -Netzwerkspeicher (zum Beispiel über SSH).
DVC -Pipelines (Rechengrafs) verbinden Code und Daten miteinander. Sie geben alle Schritte an, die zur Erzeugung eines Modells erforderlich sind: Eingabeabhängigkeiten einschließlich Code, Daten und Befehle, die ausgeführt werden; und Ausgabeinformationen, die gespeichert werden sollen.
Last but not least können Sie eine große Anzahl von Experimenten vorbereiten und durchführen. Ihre Ergebnisse können filtriert und basierend auf Hyperparametern und Metriken verglichen und mit mehreren Diagrammen visualisiert werden.
Installieren Sie die DVC -Erweiterung vom Markt am Markt, um DVC als GUI von Ihrer VS -Code -IDE zu verwenden. Derzeit enthält es Experimentverfolgung und Datenverwaltung, und weitere Funktionen (Datenpipeline -Unterstützung usw.) kommen in Kürze!
HINWEIS: Sie müssen den Kern -DVC auf Ihrem System separat installieren (wie unten detailliert). Die Erweiterung führt Sie bei Bedarf.
Es gibt verschiedene Möglichkeiten, DVC zu installieren: in VS Code; mit snap
, choco
, brew
, conda
, pip
; oder mit einem OS-spezifischen Paket. Hier finden Sie vollständige Anweisungen.
snap install dvc --classic
Dies entspricht der neuesten mit Tagged veröffentlichten Version. Fügen Sie --beta
für den neuesten Tagged -Release -Kandidaten oder --edge
neueste main
.
choco install dvc
brew install dvc
conda install -c conda-forge mamba # installs much faster than conda
mamba install -c conda-forge dvc
Abhängig vom Remote-Speichertyp, den Sie verwenden möchten, um Ihre Daten aufzubewahren und zu teilen, müssen Sie möglicherweise optionale Abhängigkeiten installieren: DVC-S3, DVC-Azure, DVC-GDRIVE, DVC-GS, DVC-OSS, DVC-SSH.
pip install dvc
Abhängig vom Remote -Speichertyp, den Sie verwenden möchten, um Ihre Daten zu halten und zu teilen, müssen Sie möglicherweise eine der optionalen Abhängigkeiten angeben: s3
, gs
, azure
, oss
, ssh
. Oder all
, um sie alle einzubeziehen. Der Befehl sollte so aussehen: pip install 'dvc[s3]'
(in diesem Fall wird AWS S3 -Abhängigkeiten wie boto3
automatisch installiert).
Um die Entwicklungsversion zu installieren, rennen Sie:
pip install git+git://github.com/iterative/dvc
In sich geschlossene Pakete für Linux, Windows und Mac sind verfügbar. Die neueste Version der Pakete finden Sie auf der Seite GitHub Releases.
sudo wget https://dvc.org/deb/dvc.list -O /etc/apt/sources.list.d/dvc.list
wget -qO - https://dvc.org/deb/iterative.asc | sudo apt-key add -
sudo apt update
sudo apt install dvc
sudo wget https://dvc.org/rpm/dvc.repo -O /etc/yum.repos.d/dvc.repo
sudo rpm --import https://dvc.org/rpm/iterative.asc
sudo yum update
sudo yum install dvc
Beiträge sind willkommen! Weitere Informationen finden Sie in unserem beitragenden Leitfaden. Vielen Dank an alle unsere Mitwirkenden!
Dieses Projekt wird unter der Apache -Lizenzversion 2.0 verteilt (siehe die Lizenzdatei im Projektstamm).
Durch die Übermittlung einer Pull -Anfrage an dieses Projekt erklären Sie sich damit einverstanden, Ihren Beitrag unter der Apache -Lizenzversion 2.0 zu diesem Projekt zu lizenzieren.
Iterativ, DVC: Datenversionskontrolle - Git für Daten & Modelle (2020) doi: 10.5281/zenodo.012345.
Barrak, A., Eghan, EE und Adams, B. Über die Koevolution von ML -Pipelines und Quellcode - Empirische Untersuchung von DVC -Projekten, in Proceedings der 28. IEEE International Conference on Softwareanalyse, Evolution und Reengineering, Saner 2021 Hawaii, USA.