TensorFlow回調(diào)函數(shù):tf.keras.callbacks.TensorBoard

2019-03-27 15:19 更新

tf.keras.callbacks.TensorBoard函數(shù)

類 TensorBoard

繼承自:Callback

定義在:tensorflow/python/keras/callbacks.py。

Tensorboard基本可視化。

TensorBoard是由Tensorflow提供的一個(gè)可視化工具。

此回調(diào)為TensorBoard編寫日志,該日志允許您可視化訓(xùn)練和測(cè)試度量的動(dòng)態(tài)圖形,也可以可視化模型中不同層的激活直方圖。

如果您已經(jīng)使用pip安裝了TensorFlow,那么您應(yīng)該能夠從命令行啟動(dòng)TensorBoard:

tensorboard --logdir=/full_path_to_your_logs

參數(shù):

  • log_dir:保存TensorBoard要解析的日志文件的目錄的路徑。
  • histogram_freq:頻率(在epoch中),計(jì)算模型層的激活和權(quán)重直方圖。如果設(shè)置為0,則不會(huì)計(jì)算直方圖。必須為直方圖可視化指定驗(yàn)證數(shù)據(jù)(或拆分)。
  • write_graph:是否在TensorBoard中可視化圖像。當(dāng)write_graph設(shè)置為True時(shí),日志文件可能會(huì)變得非常大。
  • write_grads:是否在TensorBoard中可視化漸變直方圖。 histogram_freq必須大于0。
  • batch_size:用以直方圖計(jì)算的傳入神經(jīng)元網(wǎng)絡(luò)輸入批的大小。
  • write_images:是否在TensorBoard中編寫模型權(quán)重以顯示為圖像。
  • embeddings_freq:將保存所選嵌入層的頻率(在epoch中)。如果設(shè)置為0,則不會(huì)計(jì)算嵌入。要在TensorBoard的嵌入選項(xiàng)卡中顯示的數(shù)據(jù)必須作為embeddings_data傳遞。
  • embeddings_layer_names:要關(guān)注的層名稱列表。如果為None或空列表,則將監(jiān)測(cè)所有嵌入層。
  • embeddings_metadata:將層名稱映射到文件名的字典,其中保存了此嵌入層的元數(shù)據(jù)。如果相同的元數(shù)據(jù)文件用于所有嵌入層,則可以傳遞字符串。
  • embeddings_data:要嵌入在embeddings_layer_names指定的層的數(shù)據(jù)。Numpy數(shù)組(如果模型有單個(gè)輸入)或Numpy數(shù)組列表(如果模型有多個(gè)輸入)。
  • update_freq:'batch'或'epoch'或整數(shù)。使用'batch'時(shí),在每個(gè)batch后將損失和指標(biāo)寫入TensorBoard。這同樣適用'epoch'。如果使用整數(shù),比方說1000,回調(diào)將會(huì)在每1000個(gè)樣本后將指標(biāo)和損失寫入TensorBoard。請(qǐng)注意,過于頻繁地寫入TensorBoard會(huì)降低您的訓(xùn)練速度。

可能引發(fā)的異常:

  • ValueError:如果設(shè)置了histogram_freq且未提供驗(yàn)證數(shù)據(jù)。

Eager兼容性

使用Tensorboard回調(diào)將在啟用eager執(zhí)行時(shí)起作用,但不支持輸出權(quán)重和漸變的直方圖摘要,因此histogram_freq將被忽略。

__init__
__init__(
    log_dir='./logs',
    histogram_freq=0,
    batch_size=32,
    write_graph=True,
    write_grads=False,
    write_images=False,
    embeddings_freq=0,
    embeddings_layer_names=None,
    embeddings_metadata=None,
    embeddings_data=None,
    update_freq='epoch'
)

初始化自我。

方法

on_batch_begin
on_batch_begin(
    batch,
    logs=None
)
on_batch_end
on_batch_end(
    batch,
    logs=None
)

為每個(gè)訓(xùn)練批次寫入指標(biāo)的標(biāo)量摘要。

on_epoch_begin
on_epoch_begin(
    epoch,
    logs=None
)

將直方圖操作添加到Model eval_function回調(diào)中,重置批次計(jì)數(shù)。

on_epoch_end
on_epoch_end(
    epoch,
    logs=None
)

檢查摘要操作是否應(yīng)該運(yùn)行下一個(gè)epoch,記錄標(biāo)量摘要。

on_train_batch_begin
on_train_batch_begin(
    batch,
    logs=None
)
on_train_batch_end
on_train_batch_end(
    batch,
    logs=None
)
on_train_begin
on_train_begin(logs=None)
on_train_end
on_train_end(logs=None)
set_model
set_model(model)

設(shè)置Keras模型并創(chuàng)建摘要操作。

set_params
set_params(params)
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)