TensorSpace:一套用于构建神经网络3D可视化应用的框架

作者 | syt123450、Chenhua Zhu、Yaoxing Liu

(本文经原作者授权转载)

今天要为大家推荐一套超酷炫的,用于构建神经网络 3D 可视化应用的框架——TensorSpace。

有什么用途?

大家可以使用类 Keras 风格的 TensorSpace API,轻松创建可视化网络、加载神经网络模型并在浏览器中基于已加载的模型进行 3D 可交互呈现。 TensorSpace 可以使您更直观地观察神经网络模型,并了解该模型是如何通过中间层 tensor 的运算来得出最终结果的。 TensorSpace 支持 3D 可视化经过适当预处理之后的 TensorFlow、Keras、TensorFlow.js 模型。

图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

途径 2: Yarn

途径 3: 官方网站下载

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

第二步: 安装依赖库

请在使用 TensorSapce.js 之前,引入TensorFlow.js、 Three.js、 Tween.js 和 TrackballControl.js 至所需要的 html 文件中,并置于 TensorSpace.js 的引用之前。

第三步: 安装 TensorSpace.js

将 TensorSpace.js 引入 html 文件中:

▌模型预处理

为了获得神经网络中间层的运算结果,我们需要对已有的模型进行模型预处理。基于不同的机器学习库,我们提供了 TensorFlow 模型预处理教程、Keras 模型预处理教程 以及 TensorFlow.js 模型预处理教程。

▌使用

在成功安装完成 TensorSpace 并完成神经网络模型预处理之后,我们可以来创建一个 3D TensorSpace 模型。

为了简化步骤,请随意使用我们在 HelloWorld 路径下所提供的资源。我们将会用到适配 TensorSpace 的预处理模型以及样例输入数据(“5”)作为使用样例来进行说明。所有的源码都可以在 helloworld.html 文件中找到。

首先,我们需要新建一个 TensorSpace 模型实例:

然后,基于 LeNet 网络的结构:输入层 + 2 X (Conv2D层 & Maxpooling层) + 3 X (Dense层),我们可以搭建其模型结构:

最后,我们需要载入经过预处理的 TensorSpace 适配模型并使用init()方法来创建模型对象:

我们可以在浏览器中看到以下模型:

图2 - 所创建的 LeNet 模型 (无输入数据)

我们可以使用我们已经提取好的手写“5”作为模型的输入:

我们在这里将预测方法放入 init() 的回调函数中以确保预测在初始化完成之后进行(在线演示)。

在线演示地址: https://tensorspace.org/html/helloworld.html

可以在下面的地址的 CodePen 中试一下这个例子。

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

图3:LeNet 模型判别输入“5”

▌样例展示

  • LeNet
  • AlexNet
  • Yolov2-tiny
  • ResNet-5
  • Vgg16
  • ACGAN
  • MobileNetv1

很想知道地址在哪里?马上分享给大家~

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

——【完】——

原文发布于微信公众号 - AI科技大本营(rgznai100)

原文发表时间:2018-11-15

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏王嘉的专栏

安全 AI 的智能对抗系统之架构实现篇

在AI的浪潮下,在现有的安全系统的基础上,SNG业务安全中心将机器学习应用到业务安全对抗中,自研建设并搭建了 – 安全AI的智能对抗系统。智能对抗系统现已应用在...

1.1K00
来自专栏机器之心

教程 | 深度学习 + OpenCV,Python实现实时视频目标检测

选自PyimageSearch 机器之心编译 参与:路雪、李泽南 使用 OpenCV 和 Python 对实时视频流进行深度学习目标检测是非常简单的,我们只需要...

65070
来自专栏SnailTyan

非极大值抑制(Non-Maximum Suppression)

博客:noahsnail.com  |  CSDN  |  简书 |   云+社区

80000
来自专栏机器之心

心中无码:这是一个能自动脑补漫画空缺部分的AI项目

本文将简要介绍这项研究与 DeepCreamPy 实现项目,读者可下载项目代码或预构建的二进制文件,并尝试修复漫画图像或马赛克。这一个项目可以直接使用 CPU ...

13430
来自专栏AI研习社

Github 推荐项目 | 用 TensorFlow 简单地实现 StarGAN

StarGAN 是一种新颖且可扩展的方法,可以仅使用一个模型来执行多个域的图像到图像的转换。StarGAN 这样一个统一的模型体系架构让开发者可以同时训练单个网...

10310
来自专栏木子昭的博客

sklearn数据集的获取与划分

获取sklearn本地的数据集 from sklearn.datasets import load_iris li = load_iris() print("...

46590
来自专栏深度学习入门与实践

【深度学习系列】PaddlePaddle可视化之VisualDL

  上篇文章我们讲了如何对模型进行可视化,用的keras手动绘图输出CNN训练的中途结果,本篇文章将讲述如何用PaddlePaddle新开源的VisualDL来...

43790
来自专栏机器之心

GPU捉襟见肘还想训练大批量模型?谁说不可以

2018 年的大部分时间我都在试图训练神经网络时克服 GPU 极限。无论是在含有 1.5 亿个参数的语言模型(如 OpenAI 的大型生成预训练 Transfo...

41330
来自专栏TensorFlow从0到N

TensorFlow从0到1 - 5 - TensorFlow轻松搞定线性回归

上一篇 第一个机器学习问题 其实是一个线性回归问题(Linear Regression),呈现了用数据来训练模型的具体方式。本篇从平行世界返回,利用Tenso...

40080
来自专栏新智元

谷歌发布 TensorFlow Fold,支持动态计算图,GPU 增速 100 倍

【新智元导读】谷歌官方博客最新发布TensorFlow Fold,通过为每个输入构建单独的计算图解决由于输入的大小和结构不同导致的问题。此外,通过动态批处理,实...

39490

扫码关注云+社区

领取腾讯云代金券