日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

PyTorch学习笔记(13)——强力的可视化工具visdom

發布時間:2024/3/26 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PyTorch学习笔记(13)——强力的可视化工具visdom 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

今天,讓我們來放松一下大腦,學習點輕松的東西————可視化工具Visdom,它可以讓我們在使用PyTorch訓練模型的時候,可視化中間的訓練情況,無論是loss變化還是中間結果比較。相比干呆呆的瞪著命令行,Visdom讓我們的調參之路變得更加生動和活潑了.~

0. 前言

對于一些任務,尤其是難以收斂以及情況復雜的,如果在訓練過程中,實時可視化訓練情況,將會讓我們對訓練手段進行及時調整,更好的達到目標,避免不收斂、過擬合以及其它情況。這樣,我們就可以在訓練指標的判斷基礎上,加上感性的部分(可視化結果),從而實現雙管齊下。

Visdom 是一個由FacebookResearch開發的一個靈活的可視化工具,可用來對實時(live)——如網絡訓練中產生的結果,富數據(rich data)——如HTML,進行組織和共享。支持Torch和Numpy還有PyTorch。

Visdom 也可以實現遠程數據的可視化,對科學實驗有很大幫助。我們可以遠程的發送圖片和數據,并進行在ui界面顯示出來,檢查實驗結果,或者debug。

1. 總覽(overview)

按照官方的說法,開發Visdom的目的是使得數據(無論是在遠程還是本地)的可視化,用以支持和促進科學試驗。

Visdom aims to facilitate visualization of (remote) data with an emphasis on supporting scientific experimentation.

2. 概念(concepts)

Visdom有一些簡單的特性,我們可以根據這個特性來構建屬于自己的特定的例程(use-cases)。

① Windows——窗口

當你剛剛打開UI會發現,這是個白板,只有一片藍色,別的啥都沒有…。我們可以用圖形、圖像和文本填充它。注意,無論是文本還是圖像、視頻,都需要將這些內容放在一個叫做windows的container里面,你可以對這些windows(窗口)拖拽,縮放以及刪除。

其中,windows存在于envs,envs的**status(狀態)可以跨sessions(會話)**保存。

此外,windows還支持callbacks(回調函數),也就是說,當你在一個windows上輸入一些內容, 如果后端寫好了對應的處理邏輯,那么callbacks會要求Visdom對象接收前端傳來的輸入給后端的處理代碼,并將處理后的結果返回到前端顯示,也就是windows可以支持交互~

② Enviroments——環境

UI的左上角,有一條這樣的東西:這是可視化空間所在的環境(envs)——可以理解為①中windows所在的context,默認情況下,每個用戶會擁有一個叫做main的env

如果有額外的需求,比如要在不同的環境中展示多種層次的內容,用戶可以在UI(前端)或者后端創建新的env。環境變量的狀態被長期保存。

可以看到,我們可以在UI任意的切換不同的環境(env)。當你選擇了一個新的env,visdom將會向服務器請求存在于該env中的圖像。

在**env selector(環境選擇器)**后面,有一個小的橡皮擦eraser button,用戶可以使用它來清除當前env下的所有內容。如果你的展示是動態的,也就是數據源源不斷需要展示,那么后續的圖像會 繼續展示在此env下。

③ State——狀態

當你在某些env下創建了一些可視化圖像內容后,服務器會自動緩存這些可視化結果(設置checkpoint)。如果你重新加載此頁面或者重新打開服務器,這些圖像內容會重現的。

當然,你也可以手動的保存這些env的狀態:

  • save: 可以序列化env的狀態,并以json文件保持在磁盤中。
  • fork: 當輸入一個新的名字,會復制當前的狀態到這個new env下。

④ Filter——過濾

這個功能挺容易理解的:就是根據你在filter窗口的輸入(右上角)對當前env下所有windows的title進行字符串正則匹配,只顯示該env下跟輸入的圖像名字匹配的圖像:

3. 安裝(setup)& 啟動例子(demo)

我用的是PyTorch 0.4.1,在Python2.7/3.x都可以。Visdom直接可以安裝在這個環境下,我的是python3.x,直接pip install visdom即可。

安裝后,不需要代碼寫好,就可以在命令行里面跑visdom。
啟動方法: python -m visdom.server或者直接敲visdom,剛執行的時候,會開始下載一些腳本,需要等待一會:

啟動起來后,寫一段測試代碼如下,叫做demo.py,執行python demo.py:

import visdom import numpy as np vis = visdom.Visdom() vis.text('Hello, world!') vis.image(np.ones((3, 10, 10)))

得到結果:

4. 繪圖例子

首先,要加載一些模塊:

這里,直接上代碼,具體關于visdom的各個API的說明,請查看visdom——A flexible tool for creating, organizing, and sharing visualizations of live, rich data. Supports Torch and Numpy.

4.1 image demo

其對應的結果分別為:


4.2 為windows注冊callbacks

可以看到,我們可以跟這個帶callbacks的windows進行交互:

當然,也可以加載音頻和視頻啦,還有WebGL等,這里就不展開了。

5. 參考資料

[1] Visdom 可視化工具 教程 (pytorch)
[2] Visdom 官方說明 (FacebookResearch)

總結

以上是生活随笔為你收集整理的PyTorch学习笔记(13)——强力的可视化工具visdom的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。