TensorBoard
TensorBoard 是一套視覺化檢視,可用於偵錯、優化及瞭解 TensorFlow、PyTorch、Hugging Face Transformers 和其他機器學習程式。
使用 TensorBoard
在 Azure Databricks 中啟動 TensorBoard 與在本機電腦上的 Jupyter Notebook 上啟動它並無不同。
%tensorboard
載入 magic 命令並定義您的記錄目錄。%load_ext tensorboard experiment_log_dir = <log-directory>
叫用
%tensorboard
magic 命令。%tensorboard --logdir $experiment_log_dir
TensorBoard 伺服器會啟動,並在筆記本中內嵌顯示使用者介面。 它也提供連結,可在新的索引標籤中開啟 TensorBoard。
下列螢幕擷取畫面顯示已填入記錄目錄中啟動的 TensorBoard UI。
您也可以直接使用 TensorBoard 的筆記本模組來啟動 TensorBoard。
from tensorboard import notebook
notebook.start("--logdir {}".format(experiment_log_dir))
TensorBoard 記錄和目錄
TensorBoard 藉由讀取 TensorBoard 回呼和 TensorBoard 或 PyTorch中函式所產生的記錄,以視覺化方式呈現您的機器學習程式。 若要產生其他機器學習程式庫的記錄,您可以使用 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_title
TensorBoard 的選項會在 Azure Databricks 上覆寫。- 根據預設,TensorBoard 會掃描埠範圍,以選取要接聽的埠。 如果叢集上執行太多 TensorBoard 進程,埠範圍中的所有埠可能無法使用。 您可以使用 引數來指定埠號碼
--port
,以解決此問題。 指定的埠應該介於 6006 和 6106 之間。 - 若要讓下載連結能夠運作,您必須在索引標籤中開啟 TensorBoard。
- 使用 TensorBoard 1.15.0 時,投影機索引標籤是空白的。 因應措施是,若要直接流覽投影機頁面,您可以將 URL 中的 取代
#projector
為data/plugin/projector/projector_binary.html
。 - TensorBoard 2.4.0 有 已知問題 ,可能會在升級時影響 TensorBoard 轉譯。