caffe 繪製accuracy和loss曲線

2021-07-25 07:58:21 字數 1704 閱讀 2058

我們在訓練的時候會用到caffe/buile/tools/caffe 這個裡面的train這個選項。在輸入之後,正常會顯示訓練日誌的詳細資訊。想要畫出這裡面顯示的loss和accuracy圖,就可以把這些輸出的日誌內容重定向到乙個檔案內,然後利用shell命令檢索出其中的loss和accuracy值,再將其畫出就行了。

這裡需要注意的是,重定向的方式是在命令的後面加入:  >& "重定向檔名" &

重定向之後,程式一執行就會被放到後台中工作,想要檢視檔案中的內容還需要輸入: tail -f "重定向檔名"

這樣就可以在顯示頁面重新看到訓練日誌了。

caffe自帶了可以直接畫出loss和accuracy曲線的圖。也只需要我們在訓練的時候多加上一句相應的記錄訓練日誌檔案的話即可。

在我們訓練之初,使用caffe.build/tools/caffe 之前加入:

glog_logtostderr=0 glog_log_dir='自己想要儲存的路徑'

剩下的就是訓練的時候輸入的那些東西了,正常即可,就是多加這一句話。

然後正常儲存下來的是4個檔案,這裡我們用到的是

caffe

.usrname-ubuntu.usrname

.log.info

.當前日期-當前時間.***x

這樣的乙個檔案,其中紅色的是固定的,藍色的根據你自己系統命名和當前狀態臨時命名的。

再找到這個檔案之後,進入/tools/extra資料夾,其中有乙個parse_log.sh檔案。

在輸入這個命令之後,會在extra資料夾下得到乙個.test和.train的檔案,點進去看,已經將訓練日誌檔案中的iters seconds trainingloss learningrate給檢索出來了,然後利用這個檔案畫圖。

或者直接利用extra裡面的乙個plot_training_log.py.example檔案畫出圖。

這個檔案的使用格式是:

./caffe/tools/extra/plot_training_log.py.example "0—7" "輸出**的名字" caffe.usrname-ubuntu.usrname.log.info.當前日期-當前時間.***x.log

第乙個引數是0—7的數字,每個數字代表繪製一種曲線圖。

第二個引數就是要輸出的名字。

第三個引數就是我們之前利用glog_logtostderr=0得到的檔案,只是需要在這個檔案的後面再加上個.log,如果不加上這個.log的話會出現報錯,畫出的標題將是.log之前的文字,所以大家可以根據自己想要的title更改一下檔案的名字,並在程式中相應得修改即可。

這裡,隨便貼一張畫出來的圖,使用了引數6:

其中0—7數字所代表的畫圖的種類為:

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

Caffe 繪製loss和accuracy曲線

這裡我們在ipython notebook中繪製曲線 載入必要的庫 import numpy as np import matplotlib.pyplot as plt matplotlib inline import sys,os,caffe 設定當前目錄 caffe root home bnu ...

caffe 訓練增加日誌,畫accuracy曲線

首先在當前建立資料夾log mkdir log 在bash檔案 train.sh 新增 log log train date y m d h m s log tools opt caffe py3 build tools tools caffe train solver lcnn solver.pr...

caffe繪製網路

計算均值命令 sudo home tyd caffe build tools compute image mean home tyd caffe examples mnist mnist train lmdb home tyd caffe case mean.binaryproto 繪製網路 1.安...