TensorBoard

TensorBoard to zestaw narzędzi do wizualizacji do debugowania, optymalizacji i zrozumienia bibliotek 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 narzędzia 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ć program TensorBoard bezpośrednio przy użyciu modułu notesu tensorBoard.

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

Dzienniki i katalogi programu 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żesz bezpośrednio pisać dzienniki przy użyciu składników zapisywania plików TensorFlow (zobacz Moduł: tf.summary dla biblioteki TensorFlow 2.x i zobacz Moduł: tf.compat.v1.summary dla starszego interfejsu API w bibliotece 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 przebiegu 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 programu TensorBoard są rozdzielane na uruchomienia.

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

Zarządzanie procesami programu 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 pobrać linki do pracy, należy otworzyć 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 ciągiem data/plugin/projector/projector_binary.html.
  • TensorBoard 2.4.0 ma znany problem , który może mieć wpływ na renderowanie narzędzia TensorBoard w przypadku uaktualnienia.