如何對模型進行視覺化,我們可以用keras手動繪圖輸出cnn訓練的中途結果,本篇文章將講述如何用paddlepaddle新開源的visualdl來進行視覺化。在講visualdl之前,我們先了解一下常用的tensorflow的視覺化工具---tensorboard。
tensorflow的視覺化
tensorwww.cppcns.comboard是tensorflow自帶的視覺化模組,我們可以通過tensorboard直觀的檢視神經網路的結構,訓練的收斂情況等。要想掌握tensorboard,我們需要知道一下幾點:
資料形式
(1)標量scalars
(2)images
(3)音訊audio
(4)計算圖graph
(5)資料分布distribution
(6)直方圖histograms
(7)嵌入向量embeddings
視覺化過程
(1)建立乙個graph。
(2)確定在graph中的不同節點設定summary operations。
(3)將(2)中的所有summary operations合併成乙個節點,執行合併後的節點。
(4)使用tf.summary.filewriter將執行後輸出的資料都儲存到本地磁碟中。
(5)執行整個程式,並在命令列輸入執行tensorboard的指令,開啟web端可檢視視覺化的結果
使用tensorborad的例項
這裡我就不講的特別詳細啦,如果用過tensorflow的同學其實很好理解,只需要在平時寫的程式後面設定summary,tf.summary.scalar記錄標量,tf.summary.histogram記錄資料的直方圖等等,然後正常訓練,最後把所有的summary合併成乙個節點,存放到乙個位址下面,在linux介面輸入一下**:
tensorboard --logdir=『存放的總summary節點的位址』
然後會出現以下資訊:
1 starting tensorboard 41 on port 6006 2 (you can n**igate to
將 6006 在瀏覽器中開啟,就可以看到web端的視覺化了
具體的引數表示的含義可以參照官網的解釋
mxnet的視覺化
mxnet的視覺化之前一直使用mx.viz.plot_network來構建乙個神經網路圖,但是後來有一位阿里的同學把tensorboard封裝在了mxnet裡,具體可以參照可以對照他寫的這篇文章來看bring
tensorboard to mxnet。
ps:這個功能好像去年年初他們就開始搞了,看到他發的朋友圈才知道沒過幾個月就上線了,真效率,喜歡mxnet的同學可以嘗試一下。
paddlepaddle的視覺化--eventhandler (關注部落格園專欄作者:charlotte77
檢視源**)
在paddlepaddle發布visualdl之前,我一直是用event_handler來視覺化訓練的收斂情況。我找了一段之前寫的乙個類裡的小**來展示如何使用event_handler
trainer =
self.get_trainer()不用管,因為之前寫的乙個函式叫get_trainer,你可以先定義trainer,然後放在這裡,後面設乙個ubiko空列表存放每次訓練的結果,我這個**裡叫result_lists,然後定義event_handler函式,在開始訓練,這樣每次訓練的結果都會傳入result_lists這個列表裡面,最後進行排序,把最優結果放到best裡,輸出就可以。最後用event_handler_plot畫圖,輸出如下收斂的圖:
但是這樣不能觀察到神經網路在訓練過程中的每個神經元的具體變化情況,不如tensorboard的功能多,只能看到我們在訓練過程中的loss下降的情況,訓練是否收斂等。
paddlepaddle的新版視覺化工具--visualdl
大概就在上週,1 16 日,paddlepaddle和echarts團隊練手打造了visualdl視覺化工具 ,我試用了以後發現和tensorborad的功能好像!簡單說說特性:
這樣一看,其實基本上實現了tensorboard的功能,或者應該簡稱「bring tensorborad to paddlepaddle」。不知道部落格園怎麼放gif,具體的展示就直接看官網咖
深度學習視覺化工具visual dl——「所見即所得」
總結 總的來說,tensorboard是乙個非常好的視覺化工具,mxnet原來只能視覺化神經網路結構圖,paddlepaddle原來只能看loss下降的訓練收斂圖,但是後來mxnet把tensorborad搞進去了,paddlepaddle發布了乙個新的工具visualdl,實現了tensorbor的功能,還是非常厲害的!大家可以多體驗體驗,這樣就不用像上篇文章手動的去畫每個網路結果中間的輸出結果圖,直接用visualdl的image展示就可以了,更加方便我們理解模型,觀察模型訓練的過程,簡單來說,讓我們不透明的「煉丹術」變得更加透明清楚了。
作者:charlotte77
本文由程式設計驛站傳媒平台( mt.chinaz.com )分發,程式設計驛站傳媒平台旨為企業提供"全方位"的網際網路品牌推廣營銷服務!目前,平台已經上線自助軟文投放系統,對接直編、出稿更快速、**實惠,還能獲取「免費」的自**分發資源(頭條號、百家號、搜狐號、網易號等)。
免責宣告:本文為企業推廣稿件,發布本文的目的在於推廣其www.cppcns.com產品或服務,程式設計驛站發布此文僅為傳遞資訊,不代表程式設計驛站贊同其觀點,不對對內容真實性負責,僅供使用者參考之用,不構成任何投資、使用等行為的建議。請讀者使用之前核實真實性,以及可能存在的風險,任何後果均由讀者自行承擔。
本文標題: paddlepaddle視覺化之visualdl
本文位址:
資料視覺化 什麼是資料視覺化
資料對應的英文單詞是data,從資訊獲取的角度看,資料是對目標觀察和記錄的結果,是現實世界中的時間 地點 事件 其他物件或概念的描述。不同學者對資料的作用也給出不同的定義,大致分為以下3類 視覺化對應的兩個英文單詞 visualize和visualization。visualize是動詞,描述 生成...
視覺化建模
中科永聯高階技術培訓中心 www.itisedu.com 視覺化建模 visual modeling 是利用圍繞現實想法組織模型的一種思考問題的方法。模型對於了解問題 與專案相關的每個人 客戶 行業專家 分析師 設計者等 溝通 模仿企業流程 準備文件 設計程式和資料庫來說都是有用的。建模促進了對需求...
卷積視覺化
影象卷積操作的應用沒有嚴格的數學推導,即沒有數學推導表明每一層究竟表示什麼。為了了解卷積神經網路中每一層與原有影象的對應關係,文章visualizing and understanding convolutional networks通過反向卷積的方式實現了該過程。那具體如何操作的呢?得到的h1與真...