Lihatlah DataChain produk baru kami (dan berikan A!) Jika Anda perlu versi dan memproses sejumlah besar file. Hubungi kami di [email protected] untuk membahas solusi komersial dan dukungan untuk skenario Reproduksibilitas dan Manajemen Data AI.
Situs Web • Dokumen • Blog • Tutorial • Teknologi Terkait • Bagaimana cara kerja DVC • Perpanjangan kode VS • Instalasi • Kontribusi • Komunitas dan Dukungan
Kontrol Versi Data atau DVC adalah alat baris perintah dan ekstensi kode VS untuk membantu Anda mengembangkan proyek pembelajaran mesin yang dapat direproduksi:
Harap baca referensi perintah kami untuk daftar lengkap.
Alur kerja CLI yang umum meliputi:
Tugas | Terminal |
---|---|
Melacak data | $ git add train.py params.yaml $ dvc add images/ |
Hubungkan Kode dan Data | $ 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 |
Membuat perubahan dan bereksperimen | $ dvc exp run -n exp-baseline $ vi train.py $ dvc exp run -n exp-code-change |
Bandingkan dan pilih Eksperimen | $ dvc exp show $ dvc exp apply exp-baseline |
Bagikan Kode | $ git add . $ git commit -m 'The baseline model' $ git push |
Bagikan Data dan Model ML | $ dvc remote add myremote -d s3://mybucket/image_cnn $ dvc push |
Kami mendorong Anda untuk membaca dokumen Mulai Memulai kami untuk lebih memahami apa yang dilakukan DVC dan bagaimana hal itu dapat sesuai dengan skenario Anda.
Analogi terdekat untuk menggambarkan fitur DVC utama adalah ini:
GIT digunakan seperti biasa untuk menyimpan dan kode versi (termasuk DVC Meta-Files sebagai placeholder untuk data). DVC menyimpan data dan file model dengan mulus dalam cache di luar git, sambil mempertahankan pengalaman pengguna yang hampir sama seolah -olah mereka berada di repo. Untuk berbagi dan mendukung cache data , DVC mendukung beberapa platform penyimpanan jarak jauh - cloud apa pun (S3, Azure, Google Cloud, dll.) Atau penyimpanan jaringan di tempat (melalui SSH, misalnya).
DVC Pipelines (Grafik Komputasi) Menghubungkan kode dan data bersama -sama. Mereka menentukan semua langkah yang diperlukan untuk menghasilkan model: ketergantungan input termasuk kode, data, perintah untuk dijalankan; dan informasi output yang akan disimpan.
Last but not least, DVC Experiment Versioning memungkinkan Anda mempersiapkan dan menjalankan sejumlah besar percobaan. Hasilnya dapat disaring dan dibandingkan berdasarkan hiperparameter dan metrik, dan divisualisasikan dengan beberapa plot.
Untuk menggunakan DVC sebagai GUI langsung dari IDE VS Code Anda, instal ekstensi DVC dari pasar. Saat ini fitur pelacakan eksperimen dan manajemen data, dan lebih banyak fitur (dukungan pipa data, dll.) Akan segera hadir!
Catatan: Anda harus menginstal DVC Core pada sistem Anda secara terpisah (seperti yang dirinci di bawah). Ekstensi akan memandu Anda jika diperlukan.
Ada beberapa cara untuk menginstal DVC: di VS Code; Menggunakan snap
, choco
, brew
, conda
, pip
; atau dengan paket khusus OS. Instruksi lengkap tersedia di sini.
snap install dvc --classic
Ini sesuai dengan rilis Tagged terbaru. Tambahkan --beta
untuk kandidat rilis Tagged terbaru, atau --edge
untuk versi main
terbaru.
choco install dvc
brew install dvc
conda install -c conda-forge mamba # installs much faster than conda
mamba install -c conda-forge dvc
Bergantung pada jenis penyimpanan jarak jauh yang Anda rencanakan untuk digunakan untuk menyimpan dan membagikan data Anda, Anda mungkin perlu menginstal dependensi opsional: DVC-S3, DVC-Azure, DVC-GDRIVE, DVC-GS, DVC-OSS, DVC-SSH.
pip install dvc
Bergantung pada jenis penyimpanan jarak jauh yang Anda rencanakan untuk digunakan untuk menyimpan dan membagikan data Anda, Anda mungkin perlu menentukan salah satu dependensi opsional: s3
, gs
, azure
, oss
, ssh
. Atau all
untuk memasukkan semuanya. Perintah harus terlihat seperti ini: pip install 'dvc[s3]'
(dalam hal ini dependensi AWS S3 seperti boto3
akan diinstal secara otomatis).
Untuk menginstal versi pengembangan, jalankan:
pip install git+git://github.com/iterative/dvc
Paket mandiri untuk Linux, Windows, dan Mac tersedia. Versi terbaru dari paket dapat ditemukan di halaman Rilis 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
Kontribusi dipersilakan! Silakan lihat panduan berkontribusi kami untuk detail lebih lanjut. Terima kasih untuk semua kontributor kami!
Proyek ini didistribusikan di bawah Lisensi Apache versi 2.0 (lihat file lisensi di root proyek).
Dengan mengirimkan permintaan tarik ke proyek ini, Anda setuju untuk melisensikan kontribusi Anda di bawah Lisensi Apache versi 2.0 untuk proyek ini.
Iteratif, DVC: Kontrol Versi Data - GIT untuk Data & Model (2020) DOI: 10.5281/Zenodo.012345.
Barrak, A., Eghan, EE dan Adams, B. Tentang ko -evolusi pipa ML dan kode sumber - studi empiris proyek DVC, dalam proses Konferensi Internasional IEEE ke -28 tentang Analisis Perangkat Lunak, Evolusi, dan Rekayasa ulang, Saner 2021 .