caffe可視化合輯

使用命令行運行caffe獲得的信息過於抽象,如訓練過程中顯示的Loss函數、測試準確率等數據均以文本形式展示;caffe用於描述神經網絡結構的prototxt文件也不利於直觀理解網絡結構。針對這幾個問題,本文總結了訓練結果折線圖繪製和神經網絡描述prototxt文件的可視化方法步驟,歸納如下。

一、繪製Iter-Loss折線圖步驟。

不僅僅是Iter和Loss的關係,神經網絡在訓練過程中有Loss,在測試過程中有Acc,度量這些數值變化的常用單位有Sec、Iter等,這些變量相關的折線圖都可按以下步驟繪製。

step1.記錄caffe訓練過程中的日誌數據,使用以下命令:

$ sudo GLOG_logtostderr=0 GLOG_log_dir='path/to/save/'  ./build/tools/caffe train -solver xxx/xxx/solver.prototxt .......

只需要輸入log文件的保存路徑即可,不需要輸入log文件名稱。
即在啓動caffe訓練的命令前添加保存日誌的命令即可,之後要使用哪些caffe的參數和原先調用caffe命令一樣,直接加在後面,示例如下圖:
記錄日誌訓練命令

step2.修改產生的日誌名稱,必須以.log結尾。
生成日誌文件名稱如下,可使用mv命令將其修改成.log文件。
日誌文件名稱

step3.使用plot_training_log利用日誌生成折線圖:
caffe自帶的plot_training_log可根據.log結尾的caffe日誌文件生成對應折線圖,該工具位於CAFFE_ROOT/tools/extra目錄下,該工具的使用方法如下。

Usage:
    ./plot_training_log.py chart_type[0-7] /where/to/save.png /path/to/first.log ...
Notes:
    1. Supporting multiple logs.
    2. Log file name must end with the lower-cased ".log".
Supported chart types:
    0: Test accuracy  vs. Iters
    1: Test accuracy  vs. Seconds
    2: Test loss  vs. Iters
    3: Test loss  vs. Seconds
    4: Train learning rate  vs. Iters
    5: Train learning rate  vs. Seconds
    6: Train loss  vs. Iters
    7: Train loss  vs. Seconds

二、prototxt文件生成圖形化網絡結構方法。
使用caffe自帶的draw_net.py生成prototxt對應神經網絡的圖像。

usage: draw_net.py [-h] [--rankdir RANKDIR] [--phase PHASE] input_net_proto_file output_image_file

示例如下:
prototxt文件生成神經網絡圖像結構的命令

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章