Caffe視覺化之VisualDL

2022-02-11 03:18:58 字數 1561 閱讀 2977

visual dl是由 paddlepaddle 和 echarts 合作推出的一款深度學習視覺化工具,其能夠視覺化scalar、引數分布、模型結構、影象等。底層採用c++編寫,上層sdk以python為主,也可以使用c++整合到其它平台。

本文介紹其最簡單的scalar的用法, 用於展示訓練測試的誤差趨勢。

pip install --upgrade visualdl

庫檔案core.so及demo等python檔案被放在site-package目錄下面。

python 中記錄 scalar 示例:

import random

from visualdl import logwriter

# 指定輸出目錄,同步週期

logdir = "./log"

logger = logwriter(logdir, sync_cycle=30)

# 設定此次記錄的模式標籤: train/test等

with logger.mode("train"):

# 建立名為 'scalars/loss0' 的scalar元件

loss0 = logger.scalar("scalars/loss0")

# 模擬訓練過程中的標量資料記錄

for step in range(1000):

loss0.add_record(step, random.random())

執行之後會在logdir中生成日誌檔案,該日誌目錄中的檔案可被visualdl工具解析,用法與tensorboard類似。

同功能的c++ sdk使用示例:

#include #include #include "visualdl/logic/sdk.h"

namespace vs = visualdl;

namespace cp = visualdl::components;

int main()

return 0;

}

雖然caffe1的大勢已去,但做一些遺留的專案**研究還是要用的。如果上述的示例能夠成功執行,那麼在caffe1中記錄loss scalar是很容易的。

可以使用caffe的python介面獲取loss。

c++中呼叫visualdl,如在solver.cpp中記錄loss。編譯時鏈結到visualdl。示例**在此 frcnn。

由於visualdl靜態鏈結了特定版本的protobuf,而caffe也需要protobuf,可以修改caffe的編譯選項,取消對protobuf的動態鏈結。

在caffe1中還可以使用visualdl的image功能,來視覺化任何tensor,或模型生成的。通過使用visualdl工具可以大大方便我們的視覺化方式,不必再寫額外的指令碼獨立地來做視覺化。

visualdl --logdir

選項:得到的loss曲線如下:

vim 視覺化模式(visual模式)

為了便於選取文字,vim 引入了可視 visual 模式。要選取一段文字,首先將游標移到段首,在普通模式下按 v 進入可視模式,然後把游標移到段末。需要注意,游標所在字元是包含在選區中的 v 進入字元視覺化模式 v 進入行視覺化模式 ctrl v 進入塊視覺化模式 塊選擇 ctrl v 在 中刪除指...

caffe模型視覺化

通過前面的學習,我們已經能夠正常訓練各種資料了。設定好solver.prototxt後,我們可以把訓練好的模型儲存起來,如lenet iter 10000.caffemodel。訓練多少次就自動儲存一下,這個是通過snapshot進行設定的,儲存檔案的路徑及檔名字首是由snapshot prefix...

Caffe網路視覺化

最近在學習caffe,但是作為曾經的windows深度使用者,還是比較習慣視覺化的介面。然而,caffe當然是在linux os x系統下更好啦,因為一般還是寫script在命令列裡面玩的。所以這樣就不直觀咯,為了能直觀地看清楚網路結構,而不是看prototxt腦補 視覺化就很重要了。幸好,開發ca...