DVC : un outil en ligne de commande pour la gestion de versions de données et les expériences ML
Versionnement des données et expériences ML. Lorsque vous apportez des modifications, exécutez uniquement les étapes concernées par ces modifications.
En bref
- De quoi s’agit-il ?
- DVC est un outil en ligne de commande en Python et une extension VS Code pour les projets de machine learning reproductibles.
- À qui s’adresse-t-il ?
- DVC est un outil en ligne de commande en Python et une extension VS Code pour versionner des données, construire des pipelines et suivre des expériences dans Git. Le README couvre l'installation et le flux CLI, mais ne dit rien sur le support et les garanties de sécurité.
- Puis-je l’utiliser commercialement ?
- Oui. Apache-2.0 est une licence permissive : vous pouvez utiliser, modifier et vendre un logiciel qui en dépend, à condition de conserver les mentions de droit d’auteur et de licence.
- Est-il encore maintenu ?
- Oui. Les derniers commits datent d’il y a 2 jours.
- En quel langage est-il écrit ?
- Principalement Python, d’après les statistiques de langage de GitHub.
Ces réponses reposent sur les données GitHub du projet (dernière synchronisation le 14 septembre 2026) et sur notre analyse. Elles ne constituent pas un avis juridique.
ANALYSE OPEN SOURCE APPROFONDIE
Un outil en ligne de commande avec une extension VS Code pour un ML reproductible
Le README présente DVC comme un outil en ligne de commande et une extension VS Code pour développer des projets de machine learning reproductibles. Il énumère cinq capacités : versionner les données et les modèles, exécuter des pipelines légers, suivre des expériences dans un dépôt Git local sans serveur séparé, comparer les données, le code, les paramètres, les modèles et les courbes de performance, et partager des expériences pour que d'autres puissent les reproduire. Les métadonnées du dépôt indiquent que le langage du projet est Python, et le README renvoie à dvc.org pour la documentation, le tutoriel et le guide de démarrage.
Les trois analogies du README
Pour situer DVC dans un projet, le README propose trois analogies. La première est Git pour les données : les artefacts de données sont stockés et partagés comme avec Git-LFS, mais sans serveur, et reliés à un dépôt Git. La deuxième est Makefiles pour le ML : les pipelines décrivent dans un format standard comment les artefacts de données ou de modèles sont construits à partir d'autres données et du code, ce qui permet de versionner les pipelines avec Git. La troisième est le suivi local d'expériences : une machine devient une plateforme de gestion d'expériences, et la collaboration passe par des services d'hébergement Git existants comme GitHub ou GitLab. Le README explique aussi que Git stocke les métadonnées DVC comme espaces réservés, tandis que les fichiers de données et de modèles sont dans un cache hors de Git, avec des options de stockage distant comme S3, Azure, Google Cloud et SSH.
Le flux CLI présenté dans le tableau de démarrage rapide
La section de démarrage rapide du README est un tableau de commandes terminal. Elle commence par git add train.py params.yaml et dvc add images/ pour suivre les données, puis dvc stage add pour relier le code et les données, avec les exemples nommés featurize et train. Les expériences sont lancées avec dvc exp run, par exemple avec les noms exp-baseline et exp-code-change, et les résultats sont comparés avec dvc exp show et dvc exp apply. Le partage du code utilise les commandes Git habituelles git add, git commit et git push, tandis que le partage des données et des modèles utilise dvc remote add avec une URL telle que s3://mybucket/image_cnn, suivi de dvc push. Le README renvoie à la référence des commandes pour la liste complète, plutôt que de présenter ce tableau comme exhaustif.
Pipelines et versionnage des expériences
Le README décrit les pipelines DVC comme des graphes de calcul qui relient le code et les données. Un pipeline spécifie les étapes nécessaires pour produire un modèle : les dépendances d'entrée comme le code et les données, les commandes à exécuter et les informations de sortie à enregistrer. Pour les expériences, DVC permet de préparer et d'exécuter un grand nombre d'essais dans un dépôt Git local. Les résultats peuvent être filtrés et comparés en fonction des hyperparamètres et des métriques, et visualisés avec plusieurs graphiques. La liste des capacités du README indique que les pipelines sont légers, de sorte que seules les étapes affectées par les modifications sont exécutées.
L'extension VS Code et son périmètre actuel
Le README renvoie vers une extension VS Code sur le Marketplace. Il indique que l'extension propose actuellement le suivi d'expériences et la gestion des données, et que d'autres fonctions, comme le support des pipelines de données, sont prévues. Le README précise que DVC doit être installé séparément sur le système et que l'extension guidera l'utilisateur si nécessaire. L'extension est présentée comme une interface graphique pour DVC dans VS Code, avec une image d'aperçu animée dans le README qui pointe vers le dépôt de l'extension.
Canaux d'installation et dépendances distantes optionnelles
L'installation est traitée à travers plusieurs canaux. Le README liste snap, choco, brew, conda, pip et des paquets spécifiques au système d'exploitation. Pour Snapcraft sur Linux, la commande est snap install dvc --classic, avec --beta pour un candidat de version et --edge pour la dernière version main. Chocolatey et Homebrew utilisent choco install dvc et brew install dvc. Les utilisateurs d'Anaconda installent d'abord mamba, puis exécutent mamba install -c conda-forge dvc. L'installation PyPI est pip install dvc, avec des extras optionnels comme s3, gs, azure, oss, ssh ou all, par exemple pip install 'dvc[s3]'. Le README mentionne aussi des dépendances optionnelles pour les installations hors pip, comme dvc-s3, dvc-azure, dvc-gdrive, dvc-gs, dvc-oss et dvc-ssh, et donne une commande pour installer la version de développement directement depuis GitHub.
Licence, conditions de contribution et ce que le README ne couvre pas
Le README indique que le projet est distribué sous la licence Apache version 2.0 et que les contributeurs, en soumettant une pull request, acceptent de licencier leur contribution sous cette licence. L'extrait de licence accorde une licence de droit d'auteur perpétuelle, mondiale, non exclusive, gratuite et irrévocable pour reproduire, préparer des œuvres dérivées, afficher, exécuter, sous-licencier et distribuer l'œuvre, ainsi qu'une licence de brevet qui prend fin en cas de litige de brevet. Le README n'établit aucune garantie de sécurité, aucun engagement de support ni aucune préparation à la production, et ne décrit pas de rythme de publication formel. Toute personne dépendant de ces aspects doit les vérifier en dehors du README.
Conclusion éditoriale
DVC est un outil en ligne de commande en Python et une extension VS Code pour versionner des données, construire des pipelines et suivre des expériences dans Git. Le README couvre l'installation et le flux CLI, mais ne dit rien sur le support et les garanties de sécurité. Pour décider, vérifiez dans ce dépôt les commandes, fichiers et limites cités avant de retenir le projet pour votre contexte.
Notes de la communauté