Consulte nuestro nuevo producto Datachain (¡y dale un!) Si necesita versiones y procesar una gran cantidad de archivos. Contáctenos en [email protected] para discutir soluciones comerciales y soporte para la reproducibilidad de IA y escenarios de gestión de datos.
Sitio web • Documentos • Blog • Tutorial • Tecnologías relacionadas • Cómo funciona DVC • VS Extensión de código • Instalación • Contribuir • Comunidad y soporte

El control de la versión de datos o DVC es una herramienta de línea de comandos y una extensión de código VS para ayudarlo a desarrollar proyectos reproducibles de aprendizaje automático:
Lea nuestra referencia de comando para una lista completa.
Un flujo de trabajo de CLI común incluye:
| Tarea | Terminal |
|---|---|
| Rastrear datos | $ git add train.py params.yaml$ dvc add images/ |
| Conecte el código y los datos | $ 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 |
| Hacer cambios y experimentar | $ dvc exp run -n exp-baseline$ vi train.py$ dvc exp run -n exp-code-change |
| Comparar y seleccionar experimentos | $ dvc exp show$ dvc exp apply exp-baseline |
| Código compartido | $ git add .$ git commit -m 'The baseline model'$ git push |
| Compartir datos y modelos de ML | $ dvc remote add myremote -d s3://mybucket/image_cnn$ dvc push |
Le recomendamos que lea nuestros documentos de inicio para comprender mejor qué hace DVC y cómo puede adaptarse a sus escenarios.
Las analogías más cercanas para describir las principales características de DVC son estas:
GIT se emplea como de costumbre para almacenar y código de versión (incluidos los meta-archivos de DVC como marcadores de posición para datos). DVC almacena datos y archivos de modelos sin problemas en un caché fuera de GIT, al tiempo que preserva casi la misma experiencia del usuario como si estuvieran en el repositorio. Para compartir y hacer una copia de seguridad del caché de datos , DVC admite múltiples plataformas de almacenamiento remoto: cualquier nube (S3, Azure, Google Cloud, etc.) o almacenamiento de red local (a través de SSH, por ejemplo).
Las tuberías de DVC (gráficos computacionales) conectan el código y los datos. Especifican todos los pasos necesarios para producir un modelo: dependencias de entrada que incluyen código, datos, comandos para ejecutar; e información de salida a guardar.
Por último, pero no menos importante, la versioning del experimento DVC le permite preparar y ejecutar una gran cantidad de experimentos. Sus resultados se pueden filtrar y comparar en base a hiperparámetros y métricas, y visualizar con múltiples gráficos.
Para usar DVC como GUI directamente desde su IDE VS Code, instale la extensión DVC desde el mercado. Actualmente presenta un seguimiento de experimentos y gestión de datos, y más características (soporte de tuberías de datos, etc.) llegarán pronto.
Nota: Tendrá que instalar Core DVC en su sistema por separado (como se detalla a continuación). La extensión lo guiará si es necesario.
Hay varias formas de instalar DVC: en el código VS; usando snap , choco , brew , conda , pip ; o con un paquete específico del sistema operativo. Las instrucciones completas están disponibles aquí.
snap install dvc --classic Esto corresponde a la última versión etiquetada. Agregue --beta para el último candidato de lanzamiento etiquetado o --edge para la última versión main .
choco install dvcbrew install dvcconda install -c conda-forge mamba # installs much faster than conda
mamba install -c conda-forge dvcDependiendo del tipo de almacenamiento remoto que planee usar para mantener y compartir sus datos, es posible que deba instalar dependencias opcionales: DVC-S3, DVC-Azure, DVC-GDRive, DVC-GS, DVC-ASS, DVC-SSH.
pip install dvc Dependiendo del tipo de almacenamiento remoto que planee usar para mantener y compartir sus datos, es posible que deba especificar una de las dependencias opcionales: s3 , gs , azure , oss , ssh . O all para incluirlos a todos. El comando debe verse así: pip install 'dvc[s3]' (en este caso, las dependencias de AWS S3, como boto3 se instalarán automáticamente).
Para instalar la versión de desarrollo, ejecute:
pip install git+git://github.com/iterative/dvcLos paquetes autónomos para Linux, Windows y Mac están disponibles. La última versión de los paquetes se puede encontrar en la página de lanzamientos de GitHub.
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 dvcsudo 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¡Las contribuciones son bienvenidas! Consulte nuestra guía de contribución para obtener más detalles. ¡Gracias a todos nuestros contribuyentes!
Este proyecto se distribuye bajo la Licencia Apache Versión 2.0 (consulte el archivo de licencia en la raíz del proyecto).
Al enviar una solicitud de extracción a este proyecto, usted acepta licenciar su contribución bajo la Licencia Apache Versión 2.0 a este proyecto.
Iterativo, DVC: Control de versiones de datos - GIT para datos y modelos (2020) doi: 10.5281/zenodo.012345.
Barrak, A., Eghan, Ee y Adams, B. Sobre la co -evolución de las tuberías de ML y el código fuente - Estudio empírico de proyectos de DVC, en las actas de la 28ª Conferencia Internacional de IEEE sobre análisis de software, evolución y reingeniería, Saner 2021 .