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...