Keras 訓練中即時資訊顯示
前言 Keras 是個 Python 深度學習函式庫,一般常見底層是 TensorFlow 在使用 keras 時,如果要即時觀察訓練的 loss, accuracy 等參數變化,一般直接使用 TensorBoard callback,不過我發現 TensorBoard 不太符合我的需求。 我希望能更簡單的在同一張圖表上同時畫上 training loss 與 validation loss,而正好找到方便的工具 - Hualos - Keras Total Visualization project ,十分符合我的需求,效果如下圖: Hualos 運作方式 Hualos 其實是一個簡單的 webserver,keras 在 fit 等訓練函式裡加入 RemoteMonitor callback,這樣在每個 epoch 完成後,keras 就會往 Hualos 的 ip 位置傳送資訊(loss, accuracy, …),Hualos 在收到資訊後,就會即時更新網頁內容,如上圖的效果一般。 Hualos 使用方式 (下載專案) 將專案 clone 至欲裝設 Hualos web server 的機器上 (由於專案有空白頁面的己知bug未修復,我暫時把程式碼修改後,放到我的GitHub帳號下,原專案請至 Hualos - Keras Total Visualization project ) git clone https://github.com/HTLife/hualos (設定web server ip) hualos/api.py 第72行 server = WSGIServer(( "" , 9000 ), app) 將ip改為0.0.0.0讓外部得以連入,port 改成想用的 (如過keras是裝在docker裡,可以與tensorboard共用6006) server = WSGIServer(( '0,0,0,0' , 6006 ), app) (設定keras callback) 在keras程式碼中設定callback,ip改為上面server的ip (model.fit_generator中為避免看起來太複雜,省略了其它參數,讀者需自行設定) reCallBack...