Tensorboard—使用keras结合Tensorboard可视化
1. keras如何使用tensorboard
? ? ? ? keras使用tensorboard是通過(guò)回調(diào)函數(shù)來(lái)實(shí)現(xiàn)的,關(guān)于什么是keras的“回調(diào)函數(shù)”,這里就不再贅述了,所以Tensorboard也是定義在keras.callbacks模塊中的,通過(guò)構(gòu)造一個(gè)Tensorboard類的對(duì)象,然后在訓(xùn)練的時(shí)候在fit里面指定callbacks參數(shù)即可,keras使用的一般格式為:
# 構(gòu)造一個(gè)Tensorboard類的對(duì)象 tbCallBack = TensorBoard(log_dir="./model",update_freq='batch', histogram_freq=0,write_graph=True, write_images=True,...)# 在fit 里面指定callbacks參數(shù) history=model.fit(x_train, y_train, batch_size=batch_size, epochs=epochs, verbose=2, validation_split=0.2,callbacks=[tbCallBack])2. Tensorboard類詳解
該類在keras.callbacks模塊中。它的參數(shù)列表如下:
- log_dir: 用來(lái)保存被 TensorBoard 分析的日志文件的文件名。
- histogram_freq: 對(duì)于模型中各個(gè)層計(jì)算激活值和模型權(quán)重直方圖的頻率(訓(xùn)練輪數(shù)中)。 如果設(shè)置成 0 ,直方圖不會(huì)被計(jì)算。對(duì)于直方圖可視化的驗(yàn)證數(shù)據(jù)(或分離數(shù)據(jù))一定要明確的指出。
- write_graph: 是否在 TensorBoard 中可視化圖像。 如果 write_graph 被設(shè)置為 True。
- write_grads: 是否在 TensorBoard 中可視化梯度值直方圖。?histogram_freq?必須要大于 0 。
- batch_size: 用以直方圖計(jì)算的傳入神經(jīng)元網(wǎng)絡(luò)輸入批的大小。
- write_images: 是否在 TensorBoard 中將模型權(quán)重以圖片可視化,如果設(shè)置為True,日志文件會(huì)變得非常大。
- embeddings_freq: 被選中的嵌入層會(huì)被保存的頻率(在訓(xùn)練輪中)。
- embeddings_layer_names: 一個(gè)列表,會(huì)被監(jiān)測(cè)層的名字。 如果是 None 或空列表,那么所有的嵌入層都會(huì)被監(jiān)測(cè)。
- embeddings_metadata: 一個(gè)字典,對(duì)應(yīng)層的名字到保存有這個(gè)嵌入層元數(shù)據(jù)文件的名字。 查看?詳情?關(guān)于元數(shù)據(jù)的數(shù)據(jù)格式。 以防同樣的元數(shù)據(jù)被用于所用的嵌入層,字符串可以被傳入。
- embeddings_data: 要嵌入在?embeddings_layer_names?指定的層的數(shù)據(jù)。 Numpy 數(shù)組(如果模型有單個(gè)輸入)或 Numpy 數(shù)組列表(如果模型有多個(gè)輸入)。?Learn ore about embeddings。
- update_freq:?'batch'?或?'epoch'?或 整數(shù)。當(dāng)使用?'batch'?時(shí),在每個(gè) batch 之后將損失和評(píng)估值寫入到 TensorBoard 中;同樣的情況應(yīng)用到?'epoch'?中;如果使用整數(shù),例如?10000,這個(gè)回調(diào)會(huì)在每 10000 個(gè)樣本之后將損失和評(píng)估值寫入到 TensorBoard 中。注意,頻繁地寫入到 TensorBoard 會(huì)減緩你的訓(xùn)練。
3. 打開(kāi)TensorBoard方式
? Terminal中輸入:tensorboard --logdir=G:\python\Machine_learning\yangzhou\LSTM_window\logs?
4. 用tensorboard顯示損失函數(shù)的值曲線圖,為何會(huì)有顏色深淺兩條線
? 深色線:平滑之后
? 淺色線:真實(shí)曲線
? ? tensorboard左邊有一個(gè)平滑度數(shù)選擇,默認(rèn)是0.6,調(diào)節(jié)之后曲線就會(huì)發(fā)生變化,原來(lái)顏色淺的才是真實(shí)曲線,但真實(shí)曲線往往不好看,所以加入了平滑產(chǎn)生了顏色深的線。
? ? ? ? ? ? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
5. 其他解釋參考文章
??Tensorboard深入詳解(一)——使用keras結(jié)合Tensorboard可視化神經(jīng)網(wǎng)絡(luò)詳細(xì)教程
總結(jié)
以上是生活随笔為你收集整理的Tensorboard—使用keras结合Tensorboard可视化的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 决策树(Decision Tree)和随
- 下一篇: 论文《Attention Is All