1. 程式人生 > >Caffe-SSD:視覺化(繪製loss,accuracy曲線)

Caffe-SSD:視覺化(繪製loss,accuracy曲線)

  • Caffe-SSD的訓練指令碼已經完成了日誌輸出重定向工作,所以在訓練時會自動生成相應的日誌檔案,因此繪製loss,accuracy會曲線稍簡單點。訓練時訓練日誌已經以檔案形式儲存在jobs資料夾下 。

1. 檢視日誌

進入如下目錄:

cd ~/Programming/caffe-ssd/jobs/VGGNet/VOC0712/SSD_300x300

在這裡插入圖片描述
所以我們要做的就是直接利用這個日誌檔案繪製訓練過程loss,accuracy曲線。

2. 分析日誌生成資料

Caffe在tools/extra中自帶日誌分析工具,
在$caffe-ssd_root/tools/extra下執行(log檔名根據你的實際情況而定)

./parse_log.
sh ../../jobs/VGGNet/VOC0712/SSD_300x300/VGG_VOC0712_SSD_300x300.log

會在當前目錄下產生VGG_VOC0712_SSD_300x300.log.test,VGG_VOC0712_SSD_300x300.log.train兩個解析過的檔案.
在這裡插入圖片描述
生成的檔案內容如下:
在這裡插入圖片描述

3. 修改gnuplot

在$caffe-ssd_root/tools/extra下執行

cp plot_log.gnuplot.example plot_log.gnuplot

4. 繪製train loss單曲線

複製plot_log.gnuplot.example的一個副本plot_log.gnuplot,在plot_log.gnuplot上修改,主要修改的是46行。
本人使用Vim編輯器修改
在這裡插入圖片描述


在$caffe-ssd/tools/extra下執行:

gnuplot plot_log.gnuplot

會在當前資料夾下生成 SSD_Shell_Detection.png.

5. 繪製loss/accuracy雙曲線

修改plot_log.gnuplot為如下:

reset
set terminal png
# 輸出檔名
set output "VGG_VOC0712_SSD_300x300.png"
set style data lines
set key right

###### Fields in the data file your_log_name.log.train are
###### Iters Seconds TrainingLoss LearningRate
# Training loss vs. training iterations # 設定多圖模式 set multiplot # 設定標題名稱 set title "SSD Training loss vs. training iterations" # 設定x, y軸名稱 set xlabel "Training iterations" set ylabel "Training loss" # 曲線繪製 title表示曲線名 # using 1:3 表示使用log-data.train的第一和第三列分別為x軸y軸 plot "VGG_VOC0712_SSD_300x300.log.train" using 1:3 title "train loss", "VGG_VOC0712_SSD_300x300.log.test" using 1:3 title "test loss"

再次在$caffe-ssd/tools/extra下執行一下語句就可以生成了.

gnuplot plot_log.gnuplot

相關推薦

Caffe-SSD視覺繪製lossaccuracy曲線

Caffe-SSD的訓練指令碼已經完成了日誌輸出重定向工作,所以在訓練時會自動生成相應的日誌檔案,因此繪製loss,accuracy會曲線稍簡單點。訓練時訓練日誌已經以檔案形式儲存在jobs資料夾下 。 1. 檢視日誌 進入如下目錄: cd ~/Prog

caffe自帶工具plot_training_log.py繪製lossaccuracy曲線

將caffe/tools/extra/plot_training_log.py.example指令碼重新命名為plot_training_log.py(這個指令碼依賴所在目錄下的其他檔案,使用時要確保它們和plot_training_log.py在同一目錄),然後編寫shell指令碼,用

Caffe視覺權重及輸出視覺用Deep Visualization Toolbox實現

Caffe視覺化(二):權重及輸出視覺化(用Deep Visualization Toolbox實現) 本文記錄了博主在研究Caffe權重及輸出視覺化過程中發現的工具包,包括工具包的安裝、使用和調整(以適應自定義網路)的相關內容。更新於2018.10.26。 文章目錄

Faster-RCNN_TF的loss曲線視覺tensorflow版本Faster RCNN的loss曲線視覺

我用的Faster-RCNN是tensorflow版本,github地址:Faster-RCNN_TF 查到網上的loss曲線都是直接從log的txt裡讀取,我的程式碼不生成txt,所以得自己改。我的思路是每cfg.TRAIN.SNAPSHOT_ITERS步生

面試題14剪繩子動態規劃貪心演算法

一、題目: 一根長度為n的繩子,剪成m段,m,n都大於1,且都為整數,每段長度記為k[0],k[1]…,k[m].求k[0]*k[1]…*k[m]可能的最大乘積 1.1解法: 兩種不同的方法解決這個問題,先用常規的需要O(n²)時間和O(n)空間的動態規劃,接著用只需要O(1)的

SMC-RTOS任務切換棧空間初始基於CM3CM4核心

棧空間初始化 CM3核心是小端格式的,棧也是滿減棧,下面是任務TCB初始化的時候任務棧空間的初始化 (這部分內容與CM3核心緊密相連,需要讀者非常熟悉CM3堆疊機制(MSP PSP雙堆疊機制等),異常機制等處理) /** * This functio

OpenCV函式resize() 實現 最近鄰雙線性

前言 在 OpenCV 中,resize()用來改變影象的大小,包含了 5 種插值方式。在這裡,我用程式碼實現了其中兩種最具代表性的插值方式:最近鄰與雙線性插值。 最近鄰 最近鄰插值方式如下:

Caffe視覺網路結構視覺Caffe自帶程式實現

Caffe視覺化(一):網路結構視覺化(用Caffe自帶程式實現) 本文記錄瞭如何利用Caffe自帶的程式實現網路的視覺化,包括可能遇到的問題和解決方案。更新於2018.10.25。 文章目錄 Caffe視覺化(一):網路結構視覺化(用Caffe自帶程式實現

caffe視覺權重、特徵圖和loss曲線

由於要用到matlab介面來讀取網路,故在開始介紹caffe視覺化前,先看一下D:\caffe\caffe-master\matlab\+caffe\Net.m檔案裡定義的載入網路等函式,Net.m檔案大家可以自行閱讀,以下就摘抄幾個我們要用到的函式: (1)Net(varargin)函式

【3】Caffe學習系列視覺Vision Layers)及引數

所有的層都具有的引數,如name, type, bottom, top和transform_param. 本文只講解視覺層(Vision Layers)的引數,視覺層包括Convolution, Pooling, Local Response Normalization (LRN),

caffe之網路權重視覺C++實現分析網路功能 caffe之網路權重視覺C++實現

原 caffe之網路權重視覺化(C++實現) 2017年05月05日 11:28:12 真小假 閱讀數:3083 &

python資料分析新手入門課程學習——探索分析與視覺來源慕課網

 一,單因子與對比分析視覺化 資料 import pandas as pd df = pd.read_csv('./HR.csv') #檢視前十條資料 df.head(10) 以下為顯示的結果 我們可以看出: 第一個屬性satisf

3-6 用 Pandas 進行資料預處理資料清洗與視覺版本py3

主要內容: 格式轉換 缺失資料 異常資料 資料標準化操作 格式轉換 如Python記錄時間的方式,不能夠直接實現減運算,就需要進行轉換 pandas.to_datetime 缺失資料 忽略缺失資料 直接標記 利用平均值、最常出現值進行填充 異常資料 處

Seaborn中文教程視覺變數間的關係

眾所周知,Seaborn“可能”是Python下最友好、易用的視覺化工具了,視覺化效果也非常好。但是截止目前,並沒有一份中文教程供廣大國內Python使用者查閱學習。怎麼能因為語言的問題,讓大家錯過這麼好用的一個視覺化工具呢? 思考再三,我決定花一些時間將官方的英文文件整理出來,為大

利用caffe日誌進行測試精度訓練損失等的畫圖caffe訓練結果視覺

本文主要介紹,將caffe訓練得到的accracy,loss進行影象化。 對於一般caffe訓練結果的視覺化: 1.在訓練時,需要將訓練的結果儲存日誌。   train.sh: #!/usr/bin/env sh TOOLS=/home/zhuangni/code/Mu

DeepLearning: 資料處理5:將caffe訓練時螢幕輸出視覺matlab程式碼

說明:必須再前一篇博文的基礎上使用本文中的程式碼。先將螢幕輸出儲存到文字中,然後在使用本文中的程式碼。。。同樣,這裡只是我的環境下調通的,根據個人,適當調整程式碼就行了。。。都是重複造輪子,沒啥技術含量。。。 % 根據caffe輸出文件,作出accurac

kaggle中的視覺House Prices

kaggle中預測的get started專案,原文連結。 看原文可以入門特徵工程,這裡主要說視覺化部分,用到matplotlib和seaborn。 導庫增加 import seaborn as sns from scipy.stats import

JavaWeb視覺Web+Echarts案例豆瓣日劇豆列電影資訊視覺柱狀圖、餅狀圖、折線圖

柱狀圖案例 柱狀圖用來比較多專案的數值情況,從構成上來說,柱狀圖以座標軸上的長方形元素作為變數,以此來達到展現並比較資料情況的目的。柱狀圖形式多種多樣,以適應不同場合資料展示,常用的有如下形式: 常用配置項引數: title:標題元件,包含主標題和副標題。 t

Matplotlib資料視覺1入門介紹

  1 matplot入門指南¶ matplotlib是Python科學計算中使用最多的一個視覺化庫,功能豐富,提供了非常多的視覺化方案,基本能夠滿足各種場景下的資料視覺化需求。但功能豐富從另一方面來說也意味著概念、方法、引數繁多,讓許多新手望而卻步。 據我瞭解,大部分人在對m

Matplotlib資料視覺2三大容器物件與常用設定

  上一篇部落格中說到,matplotlib中所有畫圖元素(artist)分為兩類:基本型和容器型。容器型元素包括三種:figure、axes、axis。一次畫圖的必經流程就是先建立好figure例項,接著由figure去建立一個或者多個axes,然後通過axes例項呼叫各種方法