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.
Załaduj polecenie magic i zdefiniuj
%tensorboard
katalog dziennika.%load_ext tensorboard experiment_log_dir = <log-directory>
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.
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ą poleceniadata/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łaniewriter.flush()
elementu iwriter.close()
po użyciu elementu do rejestrowaniawriter
danych. Dzięki temu wszystkie zarejestrowane dane są prawidłowo zapisywane i dostępne dla programu TensorBoard do renderowania.