TensorSpace.js
开始使用
基本概念
模型预处理
模型
网络层
网络层融合
Average
“Average” 方法使用工厂方法来完成计算层的平均值运算。该方法要求所有输入层形状相同(否则无法进行平均值运算)并返回一个平均层实例
工厂方法
layerAverageResult = TSP.layers.Average( [layer1, layer2, ...], { 配置参数列表 } )
〔参数一〕输入层数组, 支持一个或以上的输入层。 (TensorSpace 目前只支持3维向量,之后将会加入1维以及2维相加的支持。)
〔参数二〕外观动画等配置参数
Fig. 1 - 求平均层示意图(左:收缩 | 右:展开)
配置列表

参数名

标签

类型

简介

具体用法细节和例子

name

🔧

String 层的命名
建议添加
name: “layerName”

color

⚙️🎨

color format 层的颜色 Average默认颜色是红色 #E23E57

closeButton

⚙️🎨

Dict 层关闭按钮外观控制列表, 查看详情

display : Boolean. true [default] 显示按钮, false 隐藏按钮

ratio : Int 为正常大小的几倍,默认为1倍

例如,设为2为正常大小的2倍大

initStatus

⚙️️🎦

String 初始化时,本层是否收缩 close[default] : 收缩

animeTime

⚙️🎦

Int 张开和伸缩的速度 例如2000就是2秒,如果在layer中配置animeTime属性将会覆盖model中的animeTime。
属性
.outputShape : Int[]
  • filter_center_focus 表示本层输出Tensor的形状为3维。 dataFormat默认通道值在最后,例如outputShape = [ 32, 32, 4 ] 表示经过此层处理后,有4个特征图, 每个图大小为32*32
  • filter_center_focusmodel.init() 后才可拿到数据,否则为 undefined
.neuralValue : Int[]
  • filter_center_focus 表示本层的层间输出值数组,加法层不改变输出的形状,和被加层的形状相同。
  • filter_center_focusmodel.init() 后才可拿到数据,否则为 undefined
.name : String
  • filter_center_focus 表示本层的自定义名称。
  • filter_center_focus 创建后即可取到。
.layerType : String
  • filter_center_focus 表示本层的类型,返回一个定值,字符串Average1d, Average2d, Average3d。根据返回值字段可以判断构造模型的维度特征
  • filter_center_focus 创建后即可取到。
方法
.openLayer() : void
filter_center_focus通过直接和3d场景中物体交互直接点击层打开。
filter_center_focus代码中通过调用方法打开。
let conv2d1 = new TSP.layers.Conv2d( {

    // 配置Conv2d1。

} );

model.add( conv2d1 );

let conv2d2 = new TSP.layers.Conv2d( {

    /*
     *  配置Conv2d2。
     *  注意shape应与Conv2d1相同。
     */

} );

model.add( conv2d2 );

// 进行融合

let mergedLayer = TSP.layers.Average( [ conv2d1, conv2d2 ], {

        /* Configurations */

    }

);

// 添加融合层

model.add( mergedLayer );
model.init();

// 调用 openLayer 来打开layer。

mergedLayer.openLayer();
filter_center_focus通过直接和3d场景中物体交互点击按钮关闭。
filter_center_focus代码中通过调用方法打开。
let conv2d1 = new TSP.layers.Conv2d( {

    // 配置Conv2d1。

} );

model.add( conv2d1 );

let conv2d2 = new TSP.layers.Conv2d( {

    /*
     *  配置Conv2d2。
     *  注意shape应与Conv2d1相同。
     */

} );

model.add( conv2d2 );

// 进行融合

let mergedLayer = TSP.layers.Average( [ conv2d1, conv2d2 ], {

        /* Configurations */

    }

);

// 添加融合层

model.add( mergedLayer );
model.init();

// 如果 layer 已经是打开状态,调用 closeLayer 来关闭 layer。

mergedLayer.closeLayer();
使用样例
filter_center_focus声明一个 “MergedLayer3d” 的实例,方便复用
let mergedLayer = TSP.layers.Average(

    [ layer1, layer2 ],

    {
        animeTime: 4000,
        name: "conv2d1",
        opacityRatio: 2,
        initStatus: "open"
    }

);

model.add( mergedLayer );
filter_center_focus直接添加
model.add(TSP.layers.Average(

    [ layer1, layer2 ],

    {
        animeTime: 4000,
        name: "conv2d1",
        opacityRatio: 2,
        initStatus: "open"
    }

));
什么时候用
如果你熟悉Keras | TensorFlow | tfjs 框架,构建模型时使用了加法操作(下表列出了可能的使用情景)。一一对应的,在TensorSpace中,你应该使用此API。
框架名称 对应框架中新建对象代码段
Keras keras.layers.Average()
TensorFlow tf.keras.layers.average( inputs, **kwargs )
TensorFlow.js tf.layers.average (config)
标签详情
符号 参数性质 说明
⭐️ 必要 使用时必须提供,不能为空,只要提供了这些参数,就能正常创建实例,控制参数使用默认值。
🔧 推荐 使用时推荐给定,未给定也可以运行,但在体验和易用性上有隐患。
⚙️ 可选 根据模型配置参数选择性添加,这里的参数对于层的结构(3D可视化外观)没有影响。
📦 模型 配置卷积层的相关属性,并对输出特征图形状有影响。
🎨 外观 可覆盖TSP.model下的属性进行细调(查看详情
🎦 动画控制 可覆盖TSP.model下的属性进行细调(查看详情
源码
tensorspace/src/merge/Average.js