使用tensorboard將keras的訓練過程顯示出來(動態的、直觀的)是一個絕好的主意,特別是在有架設好的VPS的基礎上,這篇文章就是一起來實現這個過程。
一、主要原理
keras的在訓練(fit)的過程中,顯式地生成log日志;使用tf的tensorboard來解析這個log日志,並且通過網站的形式顯示出來。
fit的時候加上callbacks
=[TensorBoard(log_dir
=
'./tmp/log')] 將運行的結果保存在
'./tmp/log'下。
執行tensorboard 命令的時候指明:
-
-logdir
=.
/temp
/log
二、實現步驟
我們需要選擇一段運行絕對正確,而且需要一定時間的算法:使用keras自己提供的“cifar10_cnn.py”運行一個比較多的
epoch是很行的選擇。它使用的是
# Fit the model on the batches generated by datagen.flow().
model.fit_generator(datagen.flow(x_train, y_train,
batch_size=batch_size),
epochs=epochs,
validation_data=(x_test, y_test),
workers=
4)
我不知道是否有效,將其修改為:
model.fit_generator(datagen.flow(x_train, y_train,
batch_size=batch_size),
epochs=epochs,
validation_data=(x_test, y_test),
workers=
4,
callbacks=[TensorBoard(
log_dir=
'./tmp/log')])
並且運行

很遺憾,在1024mb的vps上面,cifar_10跑不起來,最后還是選擇跑mnist

開啟tensorboard

需要注意的是,這里所有的操作都是在
~/keras/examples 目錄下進行的,有絕對地址的說法
三、觀察結果
本例中出現了2個項目,其他的都被隱藏起來了

用這種方法來看曲線是很直觀的

也可以看出函數模型

后面就是tensorboard的應用問題,但是它和keras的結合,使用本文中相關知識就可以解決了,感謝閱讀,希望有所幫助。