TensorSpace Layer 具有两种状态:open(展开) 和 close(闭合),默认为 “close”。我们可以在模型初始化之前 设置 Layer
的初始状态,也可以在模型初始化后 改变 Layer 的状态。
设置初始状态
有两种设置 Layer 初始状态的方式:设置 TensorSpace Model 属性,或者设置特定 TensorSpace Layer 属性。
在 Model 中设置
设置 TensorSpace 模型的 layerInitStatus 属性,open 或 close,默认为
“close”。“close”表示模型中所有的 Layer 都呈现为闭合状态,“open” 表示模型中所有的 Layer 都呈现为展开状态。
let model = new TSP.models.Sequential( container, {
// 或 "close"
layerInitStatus: "open"
} );
图1 - 所有 Layer 都初始化为闭合状态
图2 - 所有 Layer 都初始化为展开状态
在特定的 Layer 中设置
设置 TensorSpace Layer 的 initStatus 属性,open 或 close,默认为 “close”,如果在 Layer
中设置了 initStatus 属性,将会覆盖模型中的 layerInitStatus 属性,即模型中的 layerInitStatus
属性对这个 Layer 不生效。
let conv2dLayer = new TSP.layers.Conv2d({
// 或 close
initStatus: "open"
});
图3 - Set a specific Layer's initStatus to be open
改变状态
在 TensorSpace 模型初始化后,有两种改变 TensorSpace Layer 状态的方式:在3D场景中点击 Layer,或者调用 API 控制。
3D场景中点击
在 3D 场景中点击闭合的 Layer 将会使 Layer 展开。
图4 - 点击展开 Conv2d Layer
图5 - 点击展开 RGBInput Layer
在 3D 场景中点击关闭按钮将会使 Layer 闭合。
图6 - 点击关闭按钮闭合 Conv2d Layer
图7 - 点击关闭按钮闭合 RGBInput Layer
使用 API 控制
调用 .openLayer() API 展开 Layer,如果 Layer 已经处于 “open” 状态,Layer 将会保持 “open”
状态。
let conv2dLayer = new TSP.layers.Conv2d( config );
model.add( conv2dLayer );
// ... 给模型添加更多的layer。
model.init();
// 调用openLayer API来展开layer。
conv2dLayer.openLayer();
调用 .closeLayer() API 闭合 Layer,如果 Layer 已经处于 “close” 状态,Layer 将会保持
“close” 状态。
let conv2dLayer = new TSP.layers.Conv2d( config );
model.add( conv2dLayer );
// ... 给模型添加更多的layer。
model.init();
// 调用closeLayer API来闭合layer。
conv2dLayer.closeLayer();