TensorSpace.js
开始使用
基本概念
模型预处理
模型
网络层
网络层融合
TensorSpace.js Hello World
合适的环境 中,成功 安装 完成 TensorSpace 之后,我们就可以开始创建我们的第一个3D TensorSpace模型了!
为了简化步骤,请随意使用我们在 HelloWorld 路径下所提供的资源。
我们将会用到 适配 TensorSpace 的预处理模型 以及 样例输入数据(“5”) 。所有的源码都可以在 helloworld.html 文件中找到。
首先,我们需要新建一个 TensorSpace 模型实例:
let container = document.getElementById( "container" );
let model = new TSP.models.Sequential( container );
然后,基于 LeNet 网络的结构:输入层 + 2 X (Conv2D层 & Maxpooling层) + 3 X (Dense层),我们可以搭建其模型结构:
model.add( new TSP.layers.GreyscaleInput({ shape: [28, 28, 1] }) );
model.add( new TSP.layers.Padding2d({ padding: [2, 2] }) );
model.add( new TSP.layers.Conv2d({ kernelSize: 5, filters: 6, strides: 1 }) );
model.add( new TSP.layers.Pooling2d({ poolSize: [2, 2], strides: [2, 2] }) );
model.add( new TSP.layers.Conv2d({ kernelSize: 5, filters: 16, strides: 1 }) );
model.add( new TSP.layers.Pooling2d({ poolSize: [2, 2], strides: [2, 2] }) );
model.add( new TSP.layers.Dense({ units: 120 }) );
model.add( new TSP.layers.Dense({ units: 84 }) );
model.add( new TSP.layers.Output1d({
    units: 10,
    outputs: ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"]
}) );
最后,我们需要载入经过预处理的 TensorSpace 适配模型 并使用init()方法来创建模型对象:
model.load({
    type: "tfjs",
    url: './lenetModel/mnist.json',
    onComplete: function() {
        console.log( "\"Hello World!\" from TensorSpace Loader." );
    }
});
model.init();
我们可以在浏览器中看到以下模型:
图1 - 所创建的 LeNet 模型 (无输入数据)
我们可以使用我们已经提取好的 手写“5” 作为模型的输入:
model.init(function() {
    model.predict( image_5 );
});
我们在这里将predict( image_5 ) 放入init()的回调函数中以确保预测在初始化完成之后进行。
如果一切顺利,在浏览器中打开您的HTML页面你将会看到以下模型: 点我查看在线结果
图2 - LeNet 模型判别输入 “5”
TensorSpace 在线 CodePen 编辑:

See the Pen 667a7943b0f23727790ca38c93389689 by syt123450 (@syt123450) on CodePen.