Interakcja ze zdalnymi repozytoriami DVC

CI/CD dla uczenia maszynowego

Ravi Bhadauria

Machine Learning Engineer

Zdalne repozytoria DVC

  • Zdalne repozytoria DVC: lokalizacja przechowywania danych
  • Podobne do repozytoriów Git, ale dla danych w pamięci podręcznej
  • Zalety używania zdalnych repozytoriów
    • Synchronizacja dużych plików i katalogów
    • Centralizacja lub dystrybucja przechowywania danych
    • Oszczędność miejsca lokalnego
  • Obsługiwane typy pamięci masowej
    • Amazon S3, GCS, Google Drive
    • SSH, HTTP, lokalne systemy plików
CI/CD dla uczenia maszynowego

Konfiguracja zdalnych repozytoriów

  • Ustawianie zdalnych repozytoriów poleceniem dvc remote add
  • Dla AWS
dvc remote add myAWSremote s3://mybucket
  • Dostosowania za pomocą dvc remote modify
dvc remote modify myAWSremote connect_timeout 300
  • Zmiana w .dvc/config
 ['remote "myAWSremote"']
     url = s3://mybucket
     connect_timeout = 300
CI/CD dla uczenia maszynowego

Repozytoria lokalne i domyślne

  • Lokalne repozytoria używane do szybkiego prototypowania
  • Korzystanie z katalogów systemowych lub NAS
dvc remote add mylocalremote /tmp/dvc
  • Ustawianie domyślnego repozytorium flagą -d
dvc remote add -d mylocalremote /tmp/dvc
  • Domyślne repozytorium przypisane w sekcji core pliku .dvc/config
[core]
remote = mylocalremote
CI/CD dla uczenia maszynowego

Wysyłanie i pobieranie danych

  • Polecenia przesyłania danych

    • Wysyłanie: dvc push <target>
    • Pobieranie: dvc pull <target>
  • Podobne do git push i git pull

    • Pliki .dvc są śledzone przez Git, nie DVC
  • Cel może być pojedynczym plikiem: dvc push data.csv
    • Lub całą pamięcią podręczną: dvc push
  • Nadpisanie domyślnego repozytorium flagą -r
dvc push -r myAWSremote data.csv
CI/CD dla uczenia maszynowego

Śledzenie zmian w danych

  • Zmiana zawartości pliku, następnie dodanie zmian do datasetu
dvc add /path/to/data/datafile
  • Zatwierdzenie zmienionego pliku .dvc w Git
git add /path/to/datafile.dvc
git commit /path/to/datafile.dvc -m "Dataset updates"
  • Wysłanie metadanych do Git
git push origin main
  • Przesłanie zmienionego pliku danych
dvc push
CI/CD dla uczenia maszynowego

Czas na ćwiczenia!

CI/CD dla uczenia maszynowego

Preparing Video For Download...