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.

  1. Läs in det %tensorboard magiska kommandot och definiera loggkatalogen.

    %load_ext tensorboard
    experiment_log_dir = <log-directory>
    
  2. 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.

    TensorBoard-användargränssnittet startades i den ifyllda loggkatalogen

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.htmlen med .
  • TensorBoard 2.4.0 har ett känt problem som kan påverka TensorBoard-återgivningen om det uppgraderas.