pytorch學習筆記(八):PytTorch視覺化檢視 visdom

來源:互聯網
上載者:User
Visdom PyTorch視覺化檢視

本文翻譯的時候把 略去了 Torch部分。

項目地址

一個靈活的視覺化檢視,可用來對於 即時,富資料的 建立,組織和共用。支援Torch和Numpy。 總覽 基本概念 Setup 啟動 可視化介面 總結 總覽

Visdom目的是促進遠端資料的可視化,重點是支援科學實驗。。

向您和您的合作者發送可視化 映像,圖片和文本。

通過編程組織您的可視化空間,或者通過UI為即時資料建立dashboards,檢查實驗的結果,或者debug實驗代碼。


基本概念

Visdom有一組簡單的特性,可以用它們組合成不同的用例。 Panes(窗格)

UI剛開始是個白板–您可以用映像,圖片,文本填充它。這些填充的資料出現在 Panes 中,您可以這些Panes進行 拖放,刪除,調整大小和銷毀操作。Panes是儲存在 envs 中的, envs的狀態 儲存在會話之間。您可以下載Panes中的內容–包括您在svg中的繪圖。

Tip: 您可以使用瀏覽器的放大縮小功能來調整UI的大小。 Environments(環境)

您可以使用envs對可視化空間進行分區。預設地,每個使用者都會有一個叫做main的envs。可以通過編程或UI建立新的envs。envs的狀態是長期儲存的。

您可以通過 url: http://localhost.com:8097/env/main訪問特定的env。 
You can access a specific env via url: http://localhost.com:8097/env/main. 如果您的伺服器是被託管的,那麼您可以將此url分享給其他人,那麼其他人也會看到您的可視化結果。

管理 Envs: 
在初始化伺服器的時候,您的 envs 預設通過$HOME/.visdom/ 載入。您也可以將自訂的路徑 當作命令列參數 傳入。如果您移除了Env檔案夾下的.json檔案,那麼相應的環境也會被刪除。 State(狀態)

一旦您建立了一些可視化,狀態是被儲存的。伺服器自動緩衝您的可視化–如果您重新載入網頁,您的可視化會重新出現。

Save: 你可以手動的儲存env通過點擊save按鈕。它會首先序列化env的狀態,然後以json檔案的形式儲存到硬碟上,包括視窗的位置。 同樣,您也可以通過編程來實現env的儲存。 

當面對一些十分複雜的可視化,例如參數設定非常重要,這中儲存env狀態的方法是十分有用的。例:資料豐富的示範,模型的訓練 dashboard, 或者 系統實驗。這種設計依舊可以使這些可視化十分容易分享和複用。

Fork: 有過您輸入了一個新的env 名字,saving會建立一個心的env – 有效forking之前的狀態。(註:這個fork等價於github的fork,跟複製的意思差不多) Setup

需要 Python 2.7/3 (and optionally Torch7)

# Install Python server and client,如果您使用python的話,裝這一個就可以了。pip install visdom
1 2 3 啟動

啟動伺服器(可能在screen或者tmux中):

python -m visdom.server
1

一旦啟動伺服器,您就可以通過在瀏覽器中輸入http://localhost:8097來訪問 Visdom,localhost可以換成您的託管地址。

If the above does not work, try using an SSH tunnel to your server by adding the following line to your local~/.ssh/config: 
LocalForward 127.0.0.1:8097 127.0.0.1:8097. Python example

import visdomimport numpy as npvis = visdom.Visdom()vis.text('Hello, world!')vis.image(np.ones((3, 10, 10)))
1 2 3 4 5 Demos
python example/demo.py
1 可視化介面

Visdom支援下列API。由Plotly提供可視化支援。 vis.scatter : 2D 或 3D 散佈圖 vis.line : 線圖 vis.stem : 莖葉圖 vis.heatmap : 熱力圖 vis.bar : 橫條圖 vis.histogram: 長條圖 vis.boxplot : 箱型圖 vis.surf : 表面圖 vis.contour : 輪廓圖 vis.quiver : 繪出二維向量場 vis.image : 圖片 vis.text : 文本 vis.mesh : 網格圖 vis.save : 序列化狀態

關於上述API更詳盡的解釋將在下面給出。為了對visdom的能力有一個快速的瞭解,您可以看一下 example ,或者,您可以繼續往下看。

這些API的確切輸入類型有所不同,儘管大多數API 的輸入包含,一個tensor X(儲存資料)和一個可選的tensor Y(儲存標籤或者時間戳記)。所有的繪圖函數都接收一個選擇性參數win,用來將圖畫到一個特定的window上。每個繪圖函數也會返回當前繪圖的win。您也可以指定 匯出的圖添加到哪個env上。 
(這裡的window的意思就是之前說的Pane)。

plot.scatter

這個函數是用來畫2D或3D資料的散佈圖。它需要輸入 N*2或N*3的 tensor X來指定N個點的位置。一個可供選擇的長度為N的vector用來儲存X中的點對應的標籤(1 到 K)。 – 標籤可以通過點的顏色反應出來。

scatter()支援下列的選項: options.colormap : 色圖(控製圖的顏色) (string; default = 'Viridis') options.markersymbol: 標記符號 (string; default = 'dot') options.markersize : 標記大小(

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.