Consultez notre nouveau produit Datachain (et donnez-lui un!) Si vous avez besoin de version et de traiter un grand nombre de fichiers. Contactez-nous à [email protected] pour discuter des solutions commerciales et du support pour les scénarios de reproductibilité et de gestion des données de l'IA.
Site Web • Docs • Blog • Tutoriel • Technologies connexes • Comment fonctionne le DVC • Extension du code vs • Installation • Contribution • Communauté et support
Le contrôle de la version de données ou DVC est un outil de ligne de commande et une extension de code vs pour vous aider à développer des projets d'apprentissage automatique reproductibles:
Veuillez lire notre référence de commande pour une liste complète.
Un flux de travail CLI commun comprend:
Tâche | Terminal |
---|---|
Suivre les données | $ git add train.py params.yaml $ dvc add images/ |
Connectez le code et les données | $ 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 |
Apporter des modifications et expérimenter | $ dvc exp run -n exp-baseline $ vi train.py $ dvc exp run -n exp-code-change |
Comparez et sélectionnez des expériences | $ dvc exp show $ dvc exp apply exp-baseline |
Code de partage | $ git add . $ git commit -m 'The baseline model' $ git push |
Partagez les données et les modèles ML | $ dvc remote add myremote -d s3://mybucket/image_cnn $ dvc push |
Nous vous encourageons à lire nos documents de démarrage pour mieux comprendre ce que fait DVC et comment il peut s'adapter à vos scénarios.
Les analogies les plus proches pour décrire les principales caractéristiques du DVC sont les suivantes:
Git est utilisé comme d'habitude pour stocker et le code de version (y compris les méta-fichiers DVC comme espaces réservés pour les données). DVC stocke les données et les fichiers de modèle de manière transparente dans un cache en dehors de Git, tout en préservant presque la même expérience utilisateur que s'ils étaient dans le référentiel. Pour partager et sauvegarder le cache de données , DVC prend en charge plusieurs plates-formes de stockage à distance - tout cloud (S3, Azure, Google Cloud, etc.) ou le stockage réseau sur site (via SSH, par exemple).
Les pipelines DVC (graphiques de calcul) connectent le code et les données ensemble. Ils spécifient toutes les étapes requises pour produire un modèle: dépendances d'entrée, y compris le code, les données, les commandes à exécuter; et les informations de sortie à enregistrer.
Enfin et surtout, le versioning de l'expérience DVC vous permet de préparer et d'exécuter un grand nombre d'expériences. Leurs résultats peuvent être filtrés et comparés sur la base d'hyperparamètres et de mesures, et visualisés avec plusieurs parcelles.
Pour utiliser DVC comme GUI directement à partir de votre IDE VS Code, installez l'extension DVC à partir du marché. Il dispose actuellement du suivi des expériences et de la gestion des données, et plus de fonctionnalités (support de pipeline de données, etc.) arrivent bientôt!
Remarque: vous devrez installer des DVC de base sur votre système séparément (comme détaillé ci-dessous). L'extension vous guidera si nécessaire.
Il existe plusieurs façons d'installer DVC: dans VS Code; Utilisation de snap
, choco
, brew
, conda
, pip
; ou avec un package spécifique au système d'exploitation. Des instructions complètes sont disponibles ici.
snap install dvc --classic
Cela correspond à la dernière version taguée. Ajouter --beta
pour le dernier candidat de version taguée, ou --edge
pour la dernière version main
.
choco install dvc
brew install dvc
conda install -c conda-forge mamba # installs much faster than conda
mamba install -c conda-forge dvc
Selon le type de stockage à distance que vous prévoyez d'utiliser pour conserver et partager vos données, vous devrez peut-être installer des dépendances facultatives: DVC-S3, DVC-Azure, DVC-GDrive, DVC-GS, DVC-OSS, DVC-SSH.
pip install dvc
Selon le type de stockage à distance que vous prévoyez d'utiliser pour conserver et partager vos données, vous devrez peut-être spécifier l'une des dépendances facultatives: s3
, gs
, azure
, oss
, ssh
. Ou all
pour les inclure tous. La commande doit ressembler à ceci: pip install 'dvc[s3]'
(dans ce cas, les dépendances AWS S3 telles que boto3
seront installées automatiquement).
Pour installer la version de développement, exécutez:
pip install git+git://github.com/iterative/dvc
Des packages autonomes pour Linux, Windows et Mac sont disponibles. La dernière version des packages peut être trouvée sur la page GitHub Release.
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
Les contributions sont les bienvenues! Veuillez consulter notre guide de contribution pour plus de détails. Merci à tous nos contributeurs!
Ce projet est distribué sous la version 2.0 de la licence Apache (voir le fichier de licence dans la racine du projet).
En soumettant une demande de traction à ce projet, vous acceptez de concéder à votre contribution sous la version 2.0 de la licence Apache à ce projet.
Itératif, DVC: Contrôle des versions de données - Git pour les données et les modèles (2020) doi: 10.5281 / zenodo.012345.
Barrak, A., Eghan, EE et Adams, B. Sur la co-évolution des pipelines ML et du code source - Étude empirique des projets DVC, dans les actes de la 28e Conférence internationale de l'IEEE sur l'analyse, l'évolution et la réingénierie, Saner 2021 .