TensorBoard
TensorBoard är en uppsättning visualiseringsverktyg för felsökning, optimering och förståelse av TensorFlow, PyTorch, Hugging Face Transformers och andra maskininlärningsprogram.
Use TensorBoard
Att starta TensorBoard i Azure Databricks skiljer sig inte från att starta det på en Jupyter-anteckningsbok på den lokala datorn.
Läs in det
%tensorboard
magiska kommandot och definiera loggkatalogen.%load_ext tensorboard experiment_log_dir = <log-directory>
Anropa det
%tensorboard
magiska kommandot.%tensorboard --logdir $experiment_log_dir
TensorBoard-servern startar och visar användargränssnittet infogat i notebook-filen. Den innehåller också en länk för att öppna TensorBoard på en ny flik.
Följande skärmbild visar tensorboard-användargränssnittet som startats i en ifylld loggkatalog.
Du kan också starta TensorBoard med hjälp av TensorBoards notebook-modul direkt.
from tensorboard import notebook
notebook.start("--logdir {}".format(experiment_log_dir))
TensorBoard-loggar och -kataloger
TensorBoard visualiserar dina maskininlärningsprogram genom att läsa loggar som genereras av TensorBoard-återanrop och funktioner i TensorBoard eller PyTorch. Om du vill generate loggar för andra maskininlärningsbibliotek kan du skriva loggar direkt med TensorFlow-filskrivare (se Module: tf.summary for TensorFlow 2.x och se Module: tf.compat.v1.summary för det äldre API:et i TensorFlow 1.x ).
För att säkerställa att experimentloggarna lagras på ett tillförlitligt sätt rekommenderar Databricks att du skriver loggar till molnlagring i stället för på det tillfälliga klusterfilsystemet. Starta TensorBoard i en unik katalog för varje experiment. För varje körning av maskininlärningskoden i experimentet som genererar loggar set TensorBoard-återanropet eller filskrivaren för att skriva till en underkatalog till experimentkatalogen. På så sätt separeras data i TensorBoard-användargränssnittet i körningar.
Läs den officiella TensorBoard-dokumentationen för att get börja använda TensorBoard för att logga information för ditt maskininlärningsprogram.
Hantera TensorBoard-processer
TensorBoard-processerna som startas i Azure Databricks-notebook-filen avslutas inte när notebook-filen kopplas från eller REPL startas om (till exempel när du rensar notebook-filens tillstånd). Om du vill avsluta en TensorBoard-process manuellt skickar du en avslutningssignal med .%sh kill -15 pid
TensorBoard-processer som felaktigt har dödats kan skada notebook.list()
.
Om du vill list TensorBoard-servrarna som för närvarande körs i klustret, med motsvarande loggkataloger och process-ID:n, kör du notebook.list()
från modulen TensorBoard Notebook.
Kända problem
- Det infogade TensorBoard-användargränssnittet finns i en iframe. Webbläsarsäkerhetsfunktioner förhindrar att externa länkar i användargränssnittet fungerar om du inte öppnar länken på en ny flik.
- Alternativet
--window_title
TensorBoard åsidosätts i Azure Databricks. - Som standard söker TensorBoard igenom ett portintervall för att välja en port att lyssna på. Om det finns för många TensorBoard-processer som körs i klustret kan alla portar i portintervallet vara otillgängliga. Du kan kringgå den här begränsningen genom att ange ett portnummer med
--port
argumentet . Den angivna porten ska vara mellan 6006 och 6106. - För att nedladdningslänkar ska fungera måste du öppna TensorBoard på en flik.
- När du använder TensorBoard 1.15.0 är fliken Projektor tom. Om du vill besöka projektorsidan direkt kan du ersätta
#projector
i URL:endata/plugin/projector/projector_binary.html
med . - TensorBoard 2.4.0 har ett känt problem som kan påverka TensorBoard-återgivning om det uppgraderas.
- Om du loggar TensorBoard-relaterade data till DBFS eller UC Volumeskan du get ett fel som
No dashboards are active for the current data set
. För att lösa det här felet rekommenderar vi att du anroparwriter.flush()
ochwriter.close()
efter att du har använtwriter
för att logga data. Detta säkerställer att alla loggade data skrivs korrekt och är tillgängliga för TensorBoard att rendera.