Konfigurowanie zdalnych repozytoriów DVC

Wprowadzenie do wersjonowania danych z DVC

Ravi Bhadauria

Machine Learning Engineer

Powtórzenie

  • Inicjowanie repozytorium DVC
    • Uruchom dvc init
    • Repozytorium w przestrzeni roboczej (/path/to/my-project)
  • Konfigurowanie pamięci podręcznej DVC
    • Tymczasowy obszar przejściowy w katalogu .dvc
      • /path/to/my-project/.dvc/cache
    • Pliki tymczasowe dodaje się za pomocą dvc add
  • Teraz: repozytoria zdalne DVC
    • Zewnętrzna pamięć masowa
    • Śledzenie i udostępnianie zasobów
Wprowadzenie do wersjonowania danych z DVC

Po co są repozytoria zdalne DVC?

  • Repozytoria zdalne DVC: miejsce przechowywania danych
  • Podobne do zdalnych repozytoriów Git, ale dla danych buforowanych
  • Zalety korzystania z repozytoriów zdalnych
    • Synchronizacja dużych plików i katalogów
    • Centralizacja lub dystrybucja przechowywania danych
    • Oszczędność miejsca lokalnego

Schemat przepływu danych z przestrzeni roboczej DVC do pamięci podręcznej i repozytorium zdalnego

Wprowadzenie do wersjonowania danych z DVC

Obsługiwane typy pamięci masowej

Grafika przedstawiająca obsługiwane typy pamięci masowej w DVC

Wprowadzenie do wersjonowania danych z DVC

Konfigurowanie repozytoriów zdalnych

  • Ustawianie repozytoriów zdalnych

    • dvc remote add <name> <location>
  • Zasobnik S3

$ dvc remote add s3_remote \
   s3://mys3bucket
  • Zmiany w konfiguracji DVC
 ['remote "s3_remote"']
     url = s3://mys3bucket
  • Zasobnik GCP
$ dvc remote add gcp_remote \
   gs://myGCPbucket
  • Azure
$ dvc remote add azure_remote \
   azure://mycontainer/path
Wprowadzenie do wersjonowania danych z DVC

Lokalne repozytoria zdalne

  • Lokalne repozytoria zdalne służą do szybkiego prototypowania
  • Używają katalogów systemowych lub pamięci masowej NAS
$ dvc remote add mylocalremote /tmp/dvc
  • Domyślne repozytorium ustawia się flagą -d
$ dvc remote add -d mylocalremote /tmp/dvc
  • Domyślne repozytorium jest zapisane w sekcji core pliku .dvc/config
[core]
remote = mylocalremote
Wprowadzenie do wersjonowania danych z DVC

Wyświetlanie repozytoriów zdalnych

  • Wyświetlanie repozytoriów zdalnych
$ dvc remote list
s3_remote    s3://mys3bucket
local_remote /tmp/dvcremote
  • Odczytuje dane z pliku .dvc/config
 ['remote "s3_remote"']
     url = s3://mys3bucket
 ['remote "local_remote"']
     url = /tmp/dvcremote
Wprowadzenie do wersjonowania danych z DVC

Modyfikowanie konfiguracji repozytorium zdalnego

  • Dostosowania można wprowadzać za pomocą dvc remote modify
$ dvc remote modify s3_remote connect_timeout 300
  • Zmiana w pliku konfiguracyjnym DVC
 ['remote "s3_remote"']
     url = s3://mys3bucket
     connect_timeout = 300
Wprowadzenie do wersjonowania danych z DVC

Podsumowanie

  • Repozytoria zdalne DVC służą do udostępniania danych i modeli ML
  • Obsługiwane są lokalne i chmurowe lokalizacje przechowywania
  • Dodawanie repozytoriów: dvc remote add
    • Flaga -d ustawia domyślne repozytorium
  • Wyświetlanie repozytoriów: dvc remote list
  • Modyfikowanie repozytoriów: dvc remote modify
Wprowadzenie do wersjonowania danych z DVC

Czas na ćwiczenia!

Wprowadzenie do wersjonowania danych z DVC

Preparing Video For Download...