Megosztás a következőn keresztül:


TensorBoard

A TensorBoard a TensorFlow, a PyTorch, a Face Transformers és más gépi tanulási programok hibakereséséhez, optimalizálásához és megértéséhez használható vizualizációs eszközök csomagja.

A TensorBoard használata

A TensorBoard indítása az Azure Databricksben nem különbözik attól, hogy a helyi számítógépen egy Jupyter-jegyzetfüzeten indítja el.

  1. Töltse be a %tensorboard magic parancsot, és definiálja a naplókönyvtárat.

    %load_ext tensorboard
    experiment_log_dir = <log-directory>
    
  2. Hívja meg a %tensorboard varázsparancsot.

    %tensorboard --logdir $experiment_log_dir
    

    A TensorBoard-kiszolgáló elindítja és megjeleníti a felhasználói felületet a jegyzetfüzetben. Emellett egy hivatkozást is tartalmaz a TensorBoard új lapon való megnyitásához.

    Az alábbi képernyőképen egy feltöltött naplókönyvtárban elindított TensorBoard felhasználói felület látható.

    A TensorBoard felhasználói felülete a kitöltött naplókönyvtárban indult el

A TensorBoardot közvetlenül a TensorBoard jegyzetfüzetmoduljával is elindíthatja.

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

TensorBoard-naplók és -címtárak

A TensorBoard a TensorBoard visszahívásai és függvényei által létrehozott naplók olvasásával jeleníti meg a gépi tanulási programokat a TensorBoardban vagy a PyTorchban. Más gépi tanulási kódtárak naplóinak létrehozásához közvetlenül is írhat naplókat TensorFlow-fájlírók használatával (lásd a Modul: tf.summary for TensorFlow 2.x modult, és tekintse meg a tf.compat.v1.summary modult a TensorFlow 1.x régebbi API-jának esetében).

Annak érdekében, hogy a kísérletnaplók megbízhatóan legyenek tárolva, a Databricks azt javasolja, hogy a rövid élettartamú fürt fájlrendszere helyett a felhőbeli tárolóba írja a naplókat. Minden kísérlethez indítsa el a TensorBoardot egy egyedi könyvtárban. A naplókat létrehozó kísérletben a gépi tanulási kód minden egyes futtatásához állítsa a TensorBoard visszahívását vagy fájlíróját úgy, hogy a kísérlet könyvtárának alkönyvtárába írjon. Így a TensorBoard felhasználói felületén lévő adatok futtatásokra lesznek elválasztva.

Olvassa el a Hivatalos TensorBoard dokumentációt a TensorBoard használatának első lépéseihez a gépi tanulási program adatainak naplózásához.

TensorBoard-folyamatok kezelése

Az Azure Databricks-jegyzetfüzetben elindított TensorBoard-folyamatok nem fejeződnek be a jegyzetfüzet leválasztásakor vagy a REPL újraindításakor (például a jegyzetfüzet állapotának törlésekor). A TensorBoard-folyamat manuális leállításához küldjön neki egy felmondási jelet a következő használatával %sh kill -15 pid: . A helytelenül megölt TensorBoard-folyamatok megsérülhetnek notebook.list().

A fürtön jelenleg futó TensorBoard-kiszolgálók listázásához a megfelelő naplókönyvtárakkal és folyamatazonosítókkal együtt futtassa notebook.list() a TensorBoard jegyzetfüzetmodulból.

Ismert problémák

  • A beágyazott TensorBoard felhasználói felülete egy iframe-ben található. A böngésző biztonsági funkciói megakadályozzák a felhasználói felületen belüli külső hivatkozások működését, hacsak nem nyitja meg a hivatkozást egy új lapon.
  • A --window_title TensorBoard lehetősége felülbírálásra kerül az Azure Databricksben.
  • Alapértelmezés szerint a TensorBoard megvizsgálja a porttartományt, hogy kiválasztja a meghallgatandó portot. Ha túl sok TensorBoard-folyamat fut a fürtön, előfordulhat, hogy a porttartomány összes portja nem érhető el. Ezt a korlátozást megkerülheti egy portszám argumentummal való --port megadásával. A megadott portnak 6006 és 6106 között kell lennie.
  • Ahhoz, hogy a letöltési hivatkozások működjenek, meg kell nyitnia a TensorBoardot egy lapon.
  • A TensorBoard 1.15.0 használatakor a Projektor lap üres. Áthidaló megoldásként, ha közvetlenül meg szeretné látogatni a projektor oldalát, lecserélheti #projector az URL-címet a következőre data/plugin/projector/projector_binary.html: .
  • A TensorBoard 2.4.0-s verziójának ismert hibája hatással lehet a TensorBoard renderelésére a frissítéskor.
  • Ha a TensorBoardhoz kapcsolódó adatokat naplóz dbFS-re vagy UC-kötetekre, akkor a következőhöz hasonló No dashboards are active for the current data sethibaüzenet jelenhet meg. A hiba elhárításához ajánlott meghívni writer.flush() és writer.close() az adatok naplózását writer követően használni. Ez biztosítja, hogy az összes naplózott adat megfelelően meg legyen írva, és a TensorBoard számára elérhető legyen a rendereléshez.