TensorBoard

TensorBoard 是一套視覺化檢視,可用於偵錯、優化及瞭解 TensorFlow、PyTorch、Hugging Face Transformers 和其他機器學習程式。

使用 TensorBoard

在 Azure Databricks 中啟動 TensorBoard 與在本機電腦上的 Jupyter Notebook 上啟動它並無不同。

  1. %tensorboard載入 magic 命令並定義您的記錄目錄。

    %load_ext tensorboard
    experiment_log_dir = <log-directory>
    
  2. 叫用 %tensorboard magic 命令。

    %tensorboard --logdir $experiment_log_dir
    

    TensorBoard 伺服器會啟動,並在筆記本中內嵌顯示使用者介面。 它也提供連結,可在新的索引標籤中開啟 TensorBoard。

    下列螢幕擷取畫面顯示已填入記錄目錄中啟動的 TensorBoard UI。

    TensorBoard UI 在填入的記錄目錄中啟動

您也可以直接使用 TensorBoard 的筆記本模組來啟動 TensorBoard。

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

TensorBoard 記錄和目錄

TensorBoard 藉由讀取 TensorBoard 回呼和 TensorBoardPyTorch中函式所產生的記錄,以視覺化方式呈現您的機器學習程式。 若要產生其他機器學習程式庫的記錄,您可以使用 TensorFlow 檔案寫入器直接寫入記錄 (,請參閱 Module:TensorFlow 2.x 的 tf.summary ,並參閱 TensorFlow 1.x 中舊版 API 的 模組:tf.compat.v1.summary ) 。

為了確保您的實驗記錄能可靠地儲存,Databricks 建議將記錄寫入雲端儲存體,而不是在暫時叢集檔案系統上。 針對每個實驗,請在唯一目錄中啟動 TensorBoard。 針對產生記錄的實驗中每一次執行機器學習程式碼,請將 TensorBoard 回呼或檔案寫入器設定為寫入實驗目錄的子目錄。 如此一來,TensorBoard UI 中的資料會分成執行。

閱讀官方 TensorBoard 檔,以開始使用 TensorBoard 來記錄機器學習程式的資訊。

管理 TensorBoard 程式

在 Azure Databricks 筆記本內啟動的 TensorBoard 程式不會在卸離筆記本或 REPL 重新開機時終止,例如,當您清除筆記本的狀態) 時, 會 (重新開機 REPL。 若要手動終止 TensorBoard 進程,請使用 %sh kill -15 pid 傳送終止訊號。 不當終止 TensorBoard 進程可能會損毀 notebook.list()

若要列出目前在您的叢集上執行的 TensorBoard 伺服器,其對應的記錄目錄和進程識別碼, notebook.list() 請從 TensorBoard 筆記本模組執行。

已知問題

  • 內嵌 TensorBoard UI 位於 iframe 內。 除非您在新索引標籤中開啟連結,否則瀏覽器安全性功能會防止 UI 中的外部連結運作。
  • --window_titleTensorBoard 的選項會在 Azure Databricks 上覆寫。
  • 根據預設,TensorBoard 會掃描埠範圍,以選取要接聽的埠。 如果叢集上執行太多 TensorBoard 進程,埠範圍中的所有埠可能無法使用。 您可以使用 引數來指定埠號碼 --port ,以解決此問題。 指定的埠應該介於 6006 和 6106 之間。
  • 若要讓下載連結能夠運作,您必須在索引標籤中開啟 TensorBoard。
  • 使用 TensorBoard 1.15.0 時,投影機索引標籤是空白的。 因應措施是,若要直接流覽投影機頁面,您可以將 URL 中的 取代 #projectordata/plugin/projector/projector_binary.html
  • TensorBoard 2.4.0 有 已知問題 ,可能會在升級時影響 TensorBoard 轉譯。