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 dvc
brew install dvc
conda install -c conda-forge mamba # installs much faster than conda
mamba install -c conda-forge dvc
Dependiendo 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/dvc
Los 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 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
¡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 .