Projekt erstellen¶
DVC lässt sich einfach initialisieren mit:
$ uv init --package dvc-example
$ cd dvc-example
$ git init
$ git add --all
$ git commit -m ':tada: Initial commit'
$ uv add dvc
$ uv run dvc init
$ git add pyproject.toml .dvc .dvcignore
$ git commit -m ":heavy_plus_sign: Add and initialise DVC"
uv run dvc initerstellt ein Verzeichnis
.dvc/mitconfig,.gitignoreundcache-Verzeichnis.Beim ersten Aufruf von
dvc initwerdet ihr darüber informiert, dass DVC anonymisierte Nutzungsstatistiken erfasst und überträgt. Wenn ihr dies deaktivieren möchtet, könnt ihr dies mit dem Befehldvc configmachen:$ uv run dvc config core.analytics false
Dadurch wird es für das Projekt deaktiviert. Alternativ könnt ihr die Optionen
--globaloder--systemvondvc configverwenden, um die Analyse für den aktiven Account bzw. für alle Accounts im System zu deaktivieren.git add pyproject.toml .dvc .dvcignorestellt
.dvc/config,.dvc/.gitignoreund die aktualisiertepyproject.tomlunter Git-Versionsverwaltung.
Remote Storages konfigurieren¶
Bevor DVC verwendet wird, sollte noch ein entfernter Speicherplatz (remote storage) eingerichtet werden. Dieser sollte für alle zugänglich sein, die auf die Daten oder das Modell zugreifen sollen. Es ähnelt der Verwendung eines Git-Server. Häufig ist das jedoch auch ein NFS-Mount, der z. B. folgendermaßen eingebunden werden kann:
$ mkdir ~/dvc-storage
$ uv run dvc remote add -d local ~/dvc-storage
Setting 'local' as a default remote.
$ git commit .dvc/config -m ":wrench: Configure local remote"
[main 3e0c8fb] :wrench: Configure local remote
1 file changed, 4 insertions(+)
-d,--defaultStandardwert für den entfernten Speicherplatz
localName des entfernten Speicherplatzes
~/dvc-storageURL des entfernten Speicherplatzes
Daneben werden noch weitere Protokolle unterstützt, die dem Pfad vorangestellt werden, u.a.
ssh:,hdfs:,https:.
Es kann also einfach noch ein weiterer entfernter Datenspeicher hinzugefügt werden, z. B. mit:
$ uv run dvc remote add webserver https://dvc.cusy.io/dvc-example
Die zugehörige Konfigurationsdatei .dvc/config sieht dann so aus:
[core]
remote = local
['remote "local"']
url = /Users/veit/dvc-storage
['remote "webserver"']
url = https://dvc.cusy.io/dvc-example
Siehe auch
pre-commit konfigurieren¶
Ihr könnt vor jedem git commit und git push sowie nach jedem git
checkout die von DVC verwalteten Daten mit dem
pre-commit-Framework überprüfen. Mit dvc config
--use-pre-commit-tool erhält die .pre-commit-config.yaml-Datei
folgende Checks:
- repo: https://github.com/iterative/dvc
rev: 3.63.0
hooks:
- id: dvc-pre-commit
additional_dependencies:
- .[all]
language_version: python3
stages:
- pre-commit
- id: dvc-pre-push
additional_dependencies:
- .[all]
language_version: python3
stages:
- pre-push
- id: dvc-post-checkout
additional_dependencies:
- .[all]
language_version: python3
stages:
- post-checkout
always_run: true
Damit nicht nur der pre-commit-Hook verwendet wird, müsst ihr auch die
pre-push- und post-checkout-Hooks aktivieren:
$ pre-commit install --hook-type pre-commit --hook-type pre-push --hook-type post-checkout
pre-commit installed at .git/hooks/pre-commit
pre-commit installed at .git/hooks/pre-push
pre-commit installed at .git/hooks/post-checkout