Udostępnij za pośrednictwem


TensorBoard

TensorBoard to zestaw narzędzi do wizualizacji do debugowania, optymalizowania i rozumienia tensorFlow, PyTorch, Hugging Face Transformers i innych programów uczenia maszynowego.

Korzystanie z narzędzia TensorBoard

Uruchamianie narzędzia TensorBoard w usłudze Azure Databricks nie różni się od uruchamiania go w notesie Jupyter na komputerze lokalnym.

  1. Załaduj polecenie magic i zdefiniuj %tensorboard katalog dziennika.

    %load_ext tensorboard
    experiment_log_dir = <log-directory>
    
  2. Wywołaj %tensorboard polecenie magic.

    %tensorboard --logdir $experiment_log_dir
    

    Serwer TensorBoard jest uruchamiany i wyświetla wbudowany interfejs użytkownika w notesie. Udostępnia również link umożliwiający otwarcie narzędzia TensorBoard na nowej karcie.

    Poniższy zrzut ekranu przedstawia interfejs użytkownika tensorBoard uruchomiony w wypełnionym katalogu dziennika.

    Interfejs użytkownika narzędzia TensorBoard został uruchomiony w wypełnionym katalogu dziennika

Możesz również uruchomić bibliotekę TensorBoard przy użyciu modułu notesu TensorBoard bezpośrednio.

from tensorboard import notebook
notebook.start("--logdir {}".format(experiment_log_dir))

Dzienniki i katalogi narzędzia TensorBoard

TensorBoard wizualizuje programy uczenia maszynowego, odczytując dzienniki generowane przez wywołania zwrotne i funkcje TensorBoard w narzędziu TensorBoard lub PyTorch. Aby wygenerować dzienniki dla innych bibliotek uczenia maszynowego, można bezpośrednio zapisywać dzienniki przy użyciu składników zapisywania plików TensorFlow (zobacz Moduł: tf.summary dla bibliotek TensorFlow 2.x i zobacz Module: tf.compat.v1.summary for the older API in TensorFlow 1.x ).

Aby upewnić się, że dzienniki eksperymentów są niezawodnie przechowywane, usługa Databricks zaleca zapisywanie dzienników w magazynie w chmurze, a nie w efemerycznym systemie plików klastra. Dla każdego eksperymentu uruchom narzędzie TensorBoard w unikatowym katalogu. Dla każdego uruchomienia kodu uczenia maszynowego w eksperymencie, który generuje dzienniki, ustaw wywołanie zwrotne TensorBoard lub moduł zapisywania plików, aby zapisać w podkatalogu katalogu eksperymentu. Dzięki temu dane w interfejsie użytkownika tensorBoard są rozdzielane na uruchomienia.

Przeczytaj oficjalną dokumentację narzędzia TensorBoard, aby rozpocząć korzystanie z narzędzia TensorBoard w celu rejestrowania informacji dotyczących programu uczenia maszynowego.

Zarządzanie procesami TensorBoard

Procesy TensorBoard uruchomione w notesie usługi Azure Databricks nie są przerywane po odłączeniu notesu lub ponownym uruchomieniu środowiska REPL (na przykład w przypadku wyczyszczenia stanu notesu). Aby ręcznie zabić proces TensorBoard, wyślij do niego sygnał zakończenia przy użyciu polecenia %sh kill -15 pid. Nieprawidłowo zabite procesy TensorBoard mogą uszkodzić notebook.list().

Aby wyświetlić listę serwerów TensorBoard aktualnie uruchomionych w klastrze, z odpowiednimi katalogami dzienników i identyfikatorami procesów, uruchom polecenie notebook.list() z modułu notesu TensorBoard.

Znane problemy

  • Wbudowany interfejs użytkownika narzędzia TensorBoard znajduje się wewnątrz elementu iframe. Funkcje zabezpieczeń przeglądarki uniemożliwiają działanie linków zewnętrznych w interfejsie użytkownika, chyba że link zostanie otwarty na nowej karcie.
  • Opcja --window_title TensorBoard jest zastępowana w usłudze Azure Databricks.
  • Domyślnie tensorBoard skanuje zakres portów w celu wybrania portu do nasłuchiwania. Jeśli w klastrze jest uruchomionych zbyt wiele procesów TensorBoard, wszystkie porty w zakresie portów mogą być niedostępne. To ograniczenie można obejść, określając numer portu z argumentem --port . Określony port powinien należeć do zakresu od 6006 do 6106.
  • Aby można było pobrać linki do pracy, musisz otworzyć narzędzie TensorBoard na karcie.
  • W przypadku korzystania z narzędzia TensorBoard 1.15.0 karta Projektor jest pusta. Aby obejść ten problem, aby bezpośrednio odwiedzić stronę projektora, możesz zastąpić #projector adres URL za pomocą polecenia data/plugin/projector/projector_binary.html.
  • TensorBoard 2.4.0 ma znany problem , który może mieć wpływ na renderowanie biblioteki TensorBoard w przypadku uaktualnienia.
  • Jeśli rejestrujesz dane związane z biblioteką TensorBoard z woluminami DBFS lub UC, może wystąpić błąd, taki jak No dashboards are active for the current data set. Aby przezwyciężyć ten błąd, zaleca się wywołanie writer.flush() elementu i writer.close() po użyciu elementu do rejestrowania writer danych. Dzięki temu wszystkie zarejestrowane dane są prawidłowo zapisywane i dostępne dla programu TensorBoard do renderowania.