TensorSpace.js:ニューラルネットワークの構造を可視化するフレームワーク

Twitterで知ったブラウザ上でインタラクティブにCNN(Convolutional Neural Network)のネットワーク構造を3Dで可視化できるオープンソースのフレームワークTensorSpace.js。ネットワーク構造だけでなく、特徴マップも可視化できる。
Apache License 2.0だそうです。

TensorSpace.js

TensorSpace.js

TensorSpaceは、TensorFlow.js, Three.js, Tween.jsで構築されたニューラルネットワークの3D視覚化フレームワークです。TensorSpaceは、ディープラーニングのレイヤー構築、訓練済みモデルの読み込み、ブラウザ上での3D可視化できるKerasライクなAPIを提供します。
TensorSpaceなら、モデルの構造とは何なのか、モデルはどのように訓練されているのか、モデルが中間情報に基づいてどのように結果を予測しているのかを直感的に学ぶことができます。
TensorSpaceでは、モデルの前処理を行うことでTensorFlow, Keras, TensorFlow.jsで事前に訓練したモデルの可視化をサポートしています。



例のごとく、ソースコードはGitHubにある↓
https://github.com/tensorspace-team/tensorspace

ドキュメントはこちら↓
https://tensorspace.org/html/docs/startIntro.html
Documentation

ただ、自分で動作環境を構築しなくてもデモページで有名なニューラルネットワーク(LeNet, AlexNet, VGG-16, ResNet-50, MobileNetv1, YOLOv2-tiny, ACGAN)の可視化を試すことができる↓
https://tensorspace.org/html/playground/index.html

LeNet

LeNet

AlexNet

AlexNet

YOLOv2-tiny

YOLOv2-tiny

ResNet-50

ResNet-50

ACGAN

ACGAN

オイラは仕組み・プロセスの可視化が大好物なので、こういう可視化ツールすごく好きです。


畳み込みニューラルネットワーク (CNN: Convolutional Neural Network)
例の書籍「ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装」を一通り読み終わりました。「あえてPythonを使わずにUnity C#で実装しながら勉強する」とか言っておきながら、結局途中でコーディン...


高橋 啓治郎さんのGANのUnity移植もそうだったけど、この可視化実装の敷居が下がっているのはTensorFlow.jsの存在がかなり効いているんだろうか。
https://qiita.com/keijiro/items/8874c5730feaf80b7943

関連記事

PyDataTokyo主催のDeep Learning勉強会

WinSCP

Javaで作られたオープンソースの3DCGレンダラ『Sunflow』

Pylearn2:ディープラーニングに対応したPythonの機械学習ライブラリ

Point Cloud Consortiumのセミナー「3D点群の未来」に行ってきたよ

ManimML:機械学習の概念を視覚的に説明するためのライブラリ

Theia:オープンソースのStructure from Motionライブラリ

Mechanizeで要認証Webサイトをスクレイピング

CGALDotNet:計算幾何学ライブラリ CGALのC#ラッパー

ポイントクラウドコンソーシアム

Netron:機械学習モデルを可視化するツール

書籍『データビジュアライゼーションのデザインパターン20』読了

PyTorch3D:3Dコンピュータービジョンライブラリ

HD画質の無駄遣い

UnityでOpenCVを使うには?

OpenCV3.3.0でsfmモジュールのビルドに成功!

Managing Software Requirements: A Unified Approach

Manim:Pythonで使える数学アニメーションライブラリ

Perfumeのライブパフォーマンスのビジュアル

WordPressプラグインの作り方

SONY製のニューラルネットワークライブラリ『NNabla』

NumSharp:C#で使えるNumPyライクな数値計算ライブラリ

OpenCVでiPhone6sのカメラをキャリブレーションする

viser:Pythonで使える3D可視化ライブラリ

オープンソースの物理ベースレンダラ『Mitsuba』をMayaで使う

Twitter APIのPythonラッパー『python-twitter』

Mask R-CNN:ディープラーニングによる一般物体検出・Instance Segmentatio...

Runway ML:クリエイターのための機械学習ツール

Geogram:C++の3D幾何アルゴリズムライブラリ

OpenCVで顔のモーフィングを実装する

Multi-View Environment:複数画像から3次元形状を再構築するライブラリ

顔検出・認識のAPI・ライブラリ・ソフトウェアのリスト

UnityからROSを利用できる『ROS#』

Iterator

Python.NET:Pythonと.NETを連携させるパッケージ

ZBrushで作った3Dモデルを立体視で確認できるVRアプリを作る

SSD (Single Shot Multibox Detector):ディープラーニングによる一般...

R-CNN (Regions with CNN features):ディープラーニングによる一般物体...

CGAN (Conditional GAN):条件付き敵対的生成ネットワーク

Mayaのプラグイン開発

Accord.NET Framework:C#で使える機械学習ライブラリ

OpenAR:OpenCVベースのマーカーARライブラリ

コメント