自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Caffe可視化之VisualDL

企業(yè)動(dòng)態(tài)
Visual DL是由 PaddlePaddle 和 ECharts 合作推出的一款深度學(xué)習(xí)可視化工具,其能夠可視化scalar、參數(shù)分布、模型結(jié)構(gòu)、圖像等。

 Visual DL是由 PaddlePaddle 和 ECharts 合作推出的一款深度學(xué)習(xí)可視化工具,其能夠可視化scalar、參數(shù)分布、模型結(jié)構(gòu)、圖像等。底層采用C++編寫(xiě),上層SDK以python為主,也可以使用C++集成到其它平臺(tái)。

如果你正在尋求深度學(xué)習(xí)任務(wù)設(shè)計(jì)的可視化工具,可以考慮Visual DL。類似于Tensorboard的在線可視化,支持更多的平臺(tái)。VisualDL 兼容 ONNX, 通過(guò)與 python SDK的結(jié)合,VisualDL可以兼容包括 PaddlePaddle、 Pytorch、 MXNet 等在內(nèi)的大部分主流DNN平臺(tái)。而Tensorboard目前僅適用于Tensorflow、Pytorch、MXNet等。

本文介紹其最簡(jiǎn)單的scalar的用法, 用于展示訓(xùn)練測(cè)試的誤差趨勢(shì)。

安裝

pip install --upgrade visualdl
庫(kù)文件core.so及demo等python文件被放在site-package目錄下面。

可以不從源碼編譯,而直接使用pip下載的core.so, 但是需要使用protoc將storage.pb轉(zhuǎn)成C++源碼文件,因?yàn)樵谑褂?code>sdk.h時(shí)會(huì)include protobuf生成的頭文件。protoc得到的protobuf頭文件版本與VisualDL編譯所使用的protobuf版本***一致(VisualDL使用的cmake版本號(hào)定義在VisualDL/cmake/external/protobuf.cmake中,如果兩個(gè)庫(kù)中使用了不同的版本,在運(yùn)行時(shí)會(huì)沖突)。
protoc storage.proto --cpp_out .

使用

Python 中記錄 Scalar 示例:

import random from visualdl import LogWriter  # 指定輸出目錄,同步周期 logdir = "./log" logger = LogWriter(logdir, sync_cycle=30)  # 設(shè)置此次記錄的模式標(biāo)簽: train/test等 with logger.mode("train"):     # 創(chuàng)建名為 'scalars/loss0' 的scalar組件     loss0 = logger.scalar("scalars/loss0")  # 模擬訓(xùn)練過(guò)程中的標(biāo)量數(shù)據(jù)記錄 for step in range(1000):     loss0.add_record(step, random.random())

運(yùn)行之后會(huì)在logdir中生成日志文件,該日志目錄中的文件可被VisualDL工具解析,用法與Tensorboard類似。

同功能的C++ SDK使用示例:

#include <cstdlib> #include <string> #include "visualdl/logic/sdk.h"  namespace vs = visualdl; namespace cp = visualdl::components;  int main() {   const std::string dir = "./log";   vs::LogWriter logger(dir, 30);    logger.SetMode("train");   auto tablet = logger.AddTablet("scalars/loss0");    cp::Scalar<float> loss0(tablet);    for (int step = 0; step < 1000; step++) {     float v = (float) std::rand() / RAND_MAX;     loss0.AddRecord(step, v);   }    return 0; }

caffe1-loss曲線

雖然caffe1的大勢(shì)已去,但做一些遺留的項(xiàng)目代碼研究還是要用的。如果上述的示例能夠成功運(yùn)行,那么在caffe1中記錄loss scalar是很容易的。

  1. 可以使用caffe的python接口獲取loss。
  2. C++中調(diào)用VisualDL,如在solver.cpp中記錄loss。編譯時(shí)鏈接到VisualDL。示例代碼在此 frcnn。
    由于VisualDL靜態(tài)鏈接了特定版本的protobuf,而caffe也需要protobuf,可以修改caffe的編譯選項(xiàng),取消對(duì)protobuf的動(dòng)態(tài)鏈接。

在caffe1中還可以使用VisualDL的image功能,來(lái)可視化任何tensor,或模型生成的圖片。通過(guò)使用VisualDL工具可以大大方便我們的可視化方式,不必再寫(xiě)額外的腳本獨(dú)立地來(lái)做可視化。

查看board面板

visualDL --logdir 
選項(xiàng):

  • --host 綁定地址,如ipv6本地地址 ::
  • --port 綁定端口
  • --model_pb 指定ONNX可交換模型文件

得到的loss曲線如下:
visualDL-board

原文: http://www.cnblogs.com/makefile/p/visualdl.html © 康行天下
責(zé)任編輯:張燕妮 來(lái)源: www.cnblogs.com
相關(guān)推薦

2018-03-26 20:07:25

深度學(xué)習(xí)

2020-03-11 14:39:26

數(shù)據(jù)可視化地圖可視化地理信息

2017-10-17 11:58:54

R語(yǔ)言UpSetR可視化

2017-10-14 13:54:26

數(shù)據(jù)可視化數(shù)據(jù)信息可視化

2022-08-26 09:15:58

Python可視化plotly

2009-04-21 14:26:41

可視化監(jiān)控IT管理摩卡

2022-07-13 15:54:14

Matplotlib圖表

2017-06-29 11:26:08

Python數(shù)據(jù)可視化

2015-08-20 10:06:36

可視化

2016-02-02 16:07:32

可視化大數(shù)據(jù)數(shù)據(jù)可視化

2022-08-04 13:58:54

SeabornFacetGrid代碼

2019-03-05 09:20:47

Vim可視化模式命令

2014-01-17 10:36:39

2015-08-20 10:00:45

可視化

2020-09-27 11:15:37

可視化PandasPython

2011-06-16 15:09:08

2017-10-25 13:04:10

數(shù)據(jù)可視化信息可視化數(shù)據(jù)圖表

2018-06-15 15:50:34

技術(shù)

2017-11-21 12:22:11

數(shù)據(jù)可視化密集恐懼證笑哭

2017-06-19 08:30:35

大數(shù)據(jù)數(shù)據(jù)可視化報(bào)表
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)