3. 模型可視化: VisualDL實現paddle框架模型的可視化
VisualDL 是 paddle 可視化分析工具, 以豐富的圖表呈現: 訓練參數變化趨勢、 模型結構、數據樣本、直方圖、PR曲線、高維數據分布。
3.1 VisualDL 工具介紹
- 1)安裝方式
- pip安裝
pip install --upgrade --pre visualdl
- 使用代碼安裝
git clone ... cd VisualDL python setup.py bdist_wheel pip install --upgrade dis/visual-*.whl
- 2)使用方式
VisualDL 將訓練過程中的數據、參數等信息存儲到日志文件中后,啟動面板即可查看可視化結果。- 1.記錄日志
- 2.啟動面板
- 在命令行中啟動
- 在python腳本中啟動
- 3)可視化功能概覽
- Scalar: 標量數據;訓練參數展示,如 loss,acc等
- 動態展示
- 多實驗對比
- Image: 樣本數據-圖像
- Audio: 樣本數據-語音
- Graph: 網絡結構
- Histogram: 直方圖
- Offset模式
- Overlay模式
- PR Curve: PR曲線
- High Dimensional: 高維數據映射
- Scalar: 標量數據;訓練參數展示,如 loss,acc等
3.2 VisualDL 使用指南
3.2.1 概述
VisualDL 支持 scalar、image、audio、graph、histogram、pr curve、high dimentioal 七個組件
組件 | 展示圖表 | 作用 |
---|---|---|
Scalar | 折線圖 | 動態展示 loss、acc等標量數據 |
Image | 圖片可視化 | 顯示圖片, 可顯示輸入圖片和處理后的結果,便於查看中間過程的變化 |
Audio | 音頻播放 | 播放訓練過程中的音頻數據 |
Graph | 網絡結構 | 展示網絡結構、節點屬性、數據流向,輔助學習、優化網絡結構 |
Histogram | 直方圖 | 展示訓練過程中 權重、梯度等張量的分布 |
PR Curve | 折線圖 | 權衡精度和召回率之間的平衡關系,便於選擇最佳閾值 |
High Dimensional | 數據降維 | 將高維數據映射到2D/3D空間來可視化嵌入 |
-
Scalar--折線圖組件
- 接口記錄:
add_scalar(tag, value, step, walltime=None)
-
Image -- 圖片可視化組件
- 接口記錄
add_image(tag, img, step, walltime= None)
-
Audio -- 音頻播放插件
- 接口記錄
add_audio(tag, audio_array, step, sample_rate)
-
Graph--網絡結構組件
Graph組件一鍵可視化模型的網絡結構。用於查看 模型屬性、節點信息、節點輸入輸出等,並進行節點搜索,協助開發者們快速分析模型結構和了解數據流向。-
前端文件拖拽上傳
如果需要其他功能,則可使用命令行指定 日志文件路徑,啟動面板進行上傳visualdl --logdir ./log --port 8080
-
后端啟動 Graph
在命令行中加入 參數 --model 並指定 模型文件路徑(非文件夾路徑),即可啟動查看網絡結構可視化visualdl --model ./log/model --port 8080
-
-
Histogram -- 直方圖插件
- 記錄接口
add_histogram(tag, values, step, walltime= None, buckets= 10)
- 功能操作說明:
- 數據點 Hover 展示參數值、訓練步數、頻次
-
PR Curve -- PR 曲線插件
- 接口記錄
add_pr_curve(tag, labels, predictions, step= None, num_thresholds= 10)
- 功能操作說明