Confira nosso novo datachain do produto (e dê -o!) Se você precisar de versões e processar um grande número de arquivos. Entre em contato conosco em [email protected] para discutir soluções comerciais e apoiar os cenários de reprodutibilidade e gerenciamento de dados da IA.
Site • Documentos • Blog • Tutorial • Tecnologias relacionadas • Como o DVC funciona • VS Extensão de código • Instalação • Contribuindo • Comunidade e Suporte
Controle da versão de dados ou DVC é uma ferramenta de linha de comando e uma extensão de código vs para ajudá -lo a desenvolver projetos de aprendizado de máquina reprodutível:
Leia nossa referência de comando para uma lista completa.
Um fluxo de trabalho da CLI comum inclui:
Tarefa | terminal |
---|---|
Rastrear dados | $ git add train.py params.yaml $ dvc add images/ |
Conecte o código e os dados | $ 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 |
Fazer alterações e experimentar | $ dvc exp run -n exp-baseline $ vi train.py $ dvc exp run -n exp-code-change |
Compare e selecione Experiências | $ dvc exp show $ dvc exp apply exp-baseline |
Código de compartilhamento | $ git add . $ git commit -m 'The baseline model' $ git push |
Compartilhe dados e modelos ML | $ dvc remote add myremote -d s3://mybucket/image_cnn $ dvc push |
Incentivamos você a ler nossos documentos de início para entender melhor o que o DVC faz e como ele pode se encaixar nos seus cenários.
As analogias mais próximas para descrever os principais recursos do DVC são estes:
O GIT é empregado como de costume para armazenar e o código da versão (incluindo meta-arquivos de DVC como espaço reservado para dados). O DVC armazena arquivos de dados e modelo perfeitamente em um cache fora do Git, preservando quase a mesma experiência do usuário como se estivessem no repositório. Para compartilhar e fazer backup do cache de dados , o DVC suporta várias plataformas de armazenamento remoto - qualquer nuvem (S3, Azure, Google Cloud, etc.) ou armazenamento de rede no local (via SSH, por exemplo).
DVC Pipelines (gráficos computacionais) Conecte o código e os dados juntos. Eles especificam todas as etapas necessárias para produzir um modelo: dependências de entrada, incluindo código, dados, comandos a serem executados; e informações de saída a serem salvas.
Por último, mas não menos importante, a versão para experimento em DVC permite que você prepare e execute um grande número de experimentos. Seus resultados podem ser filtrados e comparados com base em hiperparâmetros e métricas e visualizados com várias parcelas.
Para usar o DVC como uma GUI diretamente do seu Code IDE, instale a extensão do DVC no mercado. Atualmente, ele apresenta rastreamento de experimentos e gerenciamento de dados, e mais recursos (suporte de pipeline de dados etc.) estão chegando em breve!
NOTA: Você precisará instalar o DVC do núcleo no seu sistema separadamente (conforme detalhado abaixo). A extensão o guiará, se necessário.
Existem várias maneiras de instalar o DVC: no código VS; Usando snap
, choco
, brew
, conda
, pip
; ou com um pacote específico do sistema operacional. As instruções completas estão disponíveis aqui.
snap install dvc --classic
Isso corresponde à versão mais recente marcada. Adicione --beta
para o mais recente candidato de versão marcada, ou --edge
para a versão main
mais recente.
choco install dvc
brew install dvc
conda install -c conda-forge mamba # installs much faster than conda
mamba install -c conda-forge dvc
Dependendo do tipo de armazenamento remoto que você planeja usar para manter e compartilhar seus dados, pode ser necessário instalar dependências opcionais: DVC-S3, DVC-AZURE, DVC-GDRIVE, DVC-GS, DVC-OSS, DVC-SSH.
pip install dvc
Dependendo do tipo de armazenamento remoto que você planeja usar para manter e compartilhar seus dados, pode ser necessário especificar uma das dependências opcionais: s3
, gs
, azure
, oss
, ssh
. Ou all
para incluir todos eles. O comando deve ficar assim: pip install 'dvc[s3]'
(neste caso, as dependências AWS S3, como boto3
serão instaladas automaticamente).
Para instalar a versão de desenvolvimento, execute:
pip install git+git://github.com/iterative/dvc
Pacotes independentes para Linux, Windows e Mac estão disponíveis. A versão mais recente dos pacotes pode ser encontrada na página do GitHub Lankes.
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
As contribuições são bem -vindas! Consulte o nosso guia contribuinte para obter mais detalhes. Obrigado a todos os nossos colaboradores!
Este projeto é distribuído no Apache License versão 2.0 (consulte o arquivo de licença na raiz do projeto).
Ao enviar uma solicitação de tração a este projeto, você concorda em licenciar sua contribuição sob a versão 2.0 da Apache License para este projeto.
Iterativo, DVC: Controle da versão de dados - Git para dados e modelos (2020) doi: 10.5281/zenodo.012345.
Barrak, A., Eghan, EE e Adams, B. Sobre a co -evolução de pipelines de ML e código -fonte - estudo empírico de projetos de DVC, em Anais da 28ª Conferência Internacional do IEEE sobre análise de software, evolução e reengenharia, Saner 2021 .