Debugowanie przepływów pracy w chmurze TensorFlow

Oto kilka wskazówek, jak rozwiązać nieoczekiwane problemy.

Operacja niedozwolona w zakresie strategii dystrybucji

Błąd taki jak : Tworzenie generatora w zakresie strategii jest niedozwolone, ponieważ istnieje niejasność co do sposobu replikacji generatora (np. czy należy go skopiować, aby każda replika otrzymała te same liczby losowe, czy też „podzielić”, aby każda replika otrzymała inny los liczby).

Rozwiązanie : Przekazanie distribution_strategy='auto' w celu run interfejsu API otacza cały skrypt strategią dystrybucji TF w oparciu o dostarczoną konfigurację klastra. Zobaczysz powyższy błąd lub coś podobnego, jeśli z jakiegoś powodu operacja nie jest dozwolona w zakresie strategii dystrybucji. Aby naprawić błąd, przekaż None do parametru distribution_strategy i utwórz instancję strategii jako część kodu szkoleniowego, jak pokazano w tym przykładzie.

Przekroczono limit czasu kompilacji obrazu platformy Docker

Błąd typu : request.exceptions.ConnectionError: („Połączenie przerwane.”, timeout („Upłynął limit czasu operacji zapisu”))

Rozwiązanie : Katalog używany jako punkt wejścia prawdopodobnie zawiera zbyt dużo danych, aby obraz mógł zostać pomyślnie zbudowany, a kompilacja może zawierać dodatkowe dane. Sformatuj ponownie strukturę katalogów tak, aby folder zawierający punkt wejścia zawierał tylko pliki niezbędne dla bieżącego projektu.

Wersja nie jest obsługiwana w przypadku szkolenia TPU

Błąd taki jak : Wystąpił błąd podczas przesyłania zadania. Pole: tpu_tf_version Błąd: Podana wersja środowiska wykonawczego „2.3” nie jest obsługiwana w przypadku szkolenia TPU. Podaj inną wersję środowiska wykonawczego.

Rozwiązanie : Użyj wersji TF 2.1. Zobacz Strategię TPU w sekcji Konfiguracja strategii klastra i dystrybucji .

Nocna kompilacja TF.

Ostrzeżenie typu : Obraz nadrzędny platformy Docker „2.4.0.dev20200720” nie istnieje. Korzystanie z najnowszej nocnej wersji TF.

Rozwiązanie : Jeśli nie podasz parametru docker_config.parent_image , domyślnie używamy gotowych obrazów dokerów TF jako obrazu nadrzędnego. Jeśli nie masz zainstalowanego TF w środowisku, w którym wywoływane jest run , zostanie użyty obraz dokera TF dla latest stabilnej wersji. W przeciwnym razie wersja obrazu dokowanego będzie zgodna z lokalnie zainstalowaną wersją TF. Jednak wstępnie zbudowane obrazy dokerów TF nie są dostępne dla wydań nocnych TF, z wyjątkiem najnowszych. Tak więc, jeśli Twój lokalny TF jest starszą wersją nightly, automatycznie aktualizujemy do najnowszej wersji nightly i wyświetlamy to ostrzeżenie.

Mieszanie obiektów strategii dystrybucji.

Błąd typu : RuntimeError: Mieszanie różnych obiektów tf.distribute.Strategy.

Rozwiązanie : Podaj distribution_strategy=None , jeśli masz już zdefiniowaną strategię dystrybucji w kodzie modelu. Określenie distribution_strategy'='auto' spowoduje zawinięcie kodu w strategię dystrybucji TensorFlow. Spowoduje to powyższy błąd, jeśli w kodzie znajduje się już obiekt strategii.