1. 程式人生 > >TensorSpace:一套用於構建神經網路3D視覺化應用的框架

TensorSpace:一套用於構建神經網路3D視覺化應用的框架

640?wx_fmt=jpeg


作者 | syt123450、Chenhua Zhu、Yaoxing Liu

(本文經原作者授權轉載)


今天要為大家推薦一套超酷炫的,用於構建神經網路 3D 視覺化應用的框架——TensorSpace。


有什麼用途?


大家可以使用類 Keras 風格的 TensorSpace API,輕鬆建立視覺化網路、載入神經網路模型並在瀏覽器中基於已載入的模型進行 3D 可互動呈現。 TensorSpace 可以使您更直觀地觀察神經網路模型,並瞭解該模型是如何通過中間層 tensor 的運算來得出最終結果的。 TensorSpace 支援 3D 視覺化經過適當預處理之後的 TensorFlow、Keras、TensorFlow.js 模型。


640?wx_fmt=gif

圖1:使用 TensorSpace 建立互動式 LeNet 模型


TensorSpace 使用場景


TensorSpace 基於 TensorFlow.js、Three.js 和 Tween.js 開發,用於對神經網路進行3D視覺化呈現。通過使用 TensorSpace,不僅僅能展示神經網路的結構,還可以呈現網路的內部特徵提取、中間層的資料互動以及最終的結果預測等一系列過程。


通過使用 TensorSpace,可以幫助您更直觀地觀察並理解基於 TensorFlow、Keras 或者 TensorFlow.js 開發的神經網路模型。 TensorSpace 降低了前端開發者進行深度學習相關應用開發的門檻。 我們期待看到更多基於  TensorSpace 開發的3D視覺化應用。


  • 互動:使用類 Keras 的API,在瀏覽器中構建可互動的 3D 視覺化模型。

  • 直觀:觀察並展示模型中間層預測資料,直觀演示模型推測過程。

  • 整合:支援使用 TensorFlow、Keras 以及 TensorFlow.js 訓練的模型。


使用方法


  • 安裝


第一步: 下載 TensorSpace.js


我們提供了三種下載 TensorSpace.js 的方法,它們分別是 npm、yarn 以及 來自官方網站。


途徑 1: NPM


640?wx_fmt=png


途徑 2: Yarn


640?wx_fmt=png


途徑 3: 官方網站下載

https://tensorspace.org/index_zh.html#download


第二步: 安裝依賴庫


請在使用 TensorSapce.js 之前,引入TensorFlow.js、 Three.js、 Tween.js 和 TrackballControl.js 至所需要的 html 檔案中,並置於 TensorSpace.js 的引用之前。


640?wx_fmt=png


第三步: 安裝 TensorSpace.js


將 TensorSpace.js 引入 html 檔案中:


640?wx_fmt=png


模型預處理


為了獲得神經網路中間層的運算結果,我們需要對已有的模型進行模型預處理基於不同的機器學習庫,我們提供了 TensorFlow 模型預處理教程Keras 模型預處理教程 以及 TensorFlow.js 模型預處理教程


使用


在成功安裝完成 TensorSpace 並完成神經網路模型預處理之後,我們可以來建立一個 3D TensorSpace 模型。


為了簡化步驟,請隨意使用我們在 HelloWorld 路徑下所提供的資源。我們將會用到適配 TensorSpace 的預處理模型以及樣例輸入資料(“5”)作為使用樣例來進行說明。所有的原始碼都可以在 helloworld.html 檔案中找到。


首先,我們需要新建一個 TensorSpace 模型例項:


640?wx_fmt=png


然後,基於 LeNet 網路的結構:輸入層 + 2 X (Conv2D層 & Maxpooling層) + 3 X (Dense層),我們可以搭建其模型結構:


640?wx_fmt=png


最後,我們需要載入經過預處理的 TensorSpace 適配模型並使用init()方法來建立模型物件:


640?wx_fmt=png


我們可以在瀏覽器中看到以下模型:


640?wx_fmt=jpeg

圖2 - 所建立的 LeNet 模型 (無輸入資料)


我們可以使用我們已經提取好的手寫“5”作為模型的輸入:


640?wx_fmt=png


我們在這裡將預測方法放入 init() 的回撥函式中以確保預測在初始化完成之後進行(線上演示)


線上演示地址:

https://tensorspace.org/html/helloworld.html


可以在下面的地址的 CodePen 中試一下這個例子。

https://codepen.io/syt123450/pen/YRwZGg


640?wx_fmt=jpeg

圖3:LeNet 模型判別輸入“5”


樣例展示


  • LeNet


640?wx_fmt=gif


  • AlexNet


640?wx_fmt=gif


  • Yolov2-tiny


640?wx_fmt=gif


  • ResNet-5


640?wx_fmt=gif


  • Vgg16


640?wx_fmt=gif


  • ACGAN


640?wx_fmt=gif


  • MobileNetv1


640?wx_fmt=gif



很想知道地址在哪裡?馬上分享給大家~


Github地址:

https://github.com/tensorspace-team/tensorspace/blob/master/README_zh.md


——【完】——


——【完】——


2018 中國大資料技術大會將於 12 月 6 - 8 日在新雲南皇冠假日酒店舉行。匯聚超百位國內外實力講師從學界翹楚到行業一線大拿:

管曉巨集:中國科學院院士;

張巨集江:原始碼資本投資合夥人;

張曉東:美國俄亥俄州立大學 Robert M. Critchfield 講席教授;

陳性元:北京資訊科學技術研究院副院長;

周靖人:阿里巴巴集團副總裁;

李浩源:Alluxio 公司創始人&CEO

......

全方位立體解讀大資料時代的技術程序,為眾技術愛好者奉上一場優質乾貨盛宴。


640?wx_fmt=jpeg


推薦閱讀

看不慣 TikTok 霸榜,Facebook 又抄出了一個“美版抖音”

一篇文章總結Java虛擬機器記憶體區域模型

缺了這些裝備,怎麼做“合格”程式設計師?

382 名員工遍佈 47 個國家如何煉成程式碼託管平臺 GitLab?

吳忌寒有算力,我有的是錢,我打算用錢摧毀位元大陸|專訪"澳洲中本聰"

“史上最強”BigGAN公開TensorFlow Hub demo!

用這個Python庫,訓練你的模型成為下一個街頭霸王!