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.
Använda TensorBoard
Att starta TensorBoard i Azure Databricks är inte annorlunda ä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 generera loggar för andra maskininlärningsbibliotek kan du skriva loggar direkt med tensorFlow-filskrivare (se Modul: tf.summary för TensorFlow 2.x och se Modul: 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 molnlagringen i stället för i 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 ställer du in TensorBoard-återanropet eller filskrivaren så att den skriver till en underkatalog till experimentkatalogen. På så sätt är data i TensorBoard-användargränssnittet uppdelade i körningar.
Läs den officiella TensorBoard-dokumentationen för att komma igång med 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 kan skadas notebook.list()
felaktigt.
Om du vill visa en lista över de TensorBoard-servrar som för närvarande körs i klustret, med motsvarande loggkataloger och process-ID:n, kör notebook.list()
du från TensorBoard-notebook-modulen.
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 genomsöker TensorBoard 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
--port
genom att ange ett portnummer med 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:data/plugin/projector/projector_binary.html
en med . - TensorBoard 2.4.0 har ett känt problem som kan påverka TensorBoard-återgivningen om det uppgraderas.