Model() 能用来创建 TensorSpace 模型。
与 Sequential() 创建简单的层对象堆栈不同,
Model() 需要提供关于每一层关系的细节信息。
我们可以按照以下方式创建一个函数模型:
let model = new TSP.model.Model( container, {
...
// 必要参数配置
inputs: [ input ],
outputs: [ addLayer ],
// 可选参数配置
layerShape: "rect",
layerInitStatus: "close",
stats: true
...
} );
我们可以通过添加层与层之间的对应输入输出关系来逐步地向模型中添加层对象。
let input = new TSP.layers.GreyscaleInput();
let layer1 = new TSP.layers.Conv2d( {
name: "conv1"
} );
layer1.apply( input );
let layer2 = new TSP.layers.Conv2d( {
name: "conv2"
} );
layer2.apply( input );
let layer3 = new TSP.layers.Conv2d( {
name: "conv3"
} );
layer3.apply( layer2 );
let addLayer = new TSP.layers.Add(
[ layer1, layer3 ],
{ name: "add" }
);
let model = new TSP.model.Model(container, {
...
inputs: [ input ],
outputs: [ addLayer ],
...
} );
model.load( {
type: "tensorflow",
url: 'model.json',
onProgress: function( fraction ) {
console.log( "Loading progress: " + fraction );
},
onComplete: function() {
console.log( "Complete load model." );
}
} );
model.init( function() {
console.log("TensorSpace's Model is initialized!");
} );
predict()
方法方法将接管所有层对象关于数据预测的处理。所有结果将被用于渲染层对象。
属性
.inputs
: Layer[]
- filter_center_focus 必要. 只可用于Model()。
- filter_center_focus 表示该模型的输入层对象。
- filter_center_focus 如果模型使用多输入,我们必须使用 Model() 来创建模型。
.outputs
: Layer[]
- filter_center_focus 必要. 只可用于Model()。
- filter_center_focus 表示该模型的输出层对象。
- filter_center_focus 模型的输出可以为多个。
.aggregationStrategy
: String
- filter_center_focus 表示聚合体表面渲染的策略。
.layerShape
: String
- filter_center_focus 表示特征图的排布方式。
.layerInitStatus
: String
- filter_center_focus 表示层初始化状态:展开为特征图或者收拢为聚合体。
.textSystem
: String
- filter_center_focus 启用或者禁用层的文字显示功能。
.relationSystem
: String
- filter_center_focus 启用或者禁用层间关系连线的显示功能。
.animeTime
: Double
- filter_center_focus 表示实际动画时长。
.color
: Color Format
- filter_center_focus 关于所有层对象的颜色配置以及场景背景颜色的配置。
.stats
: Bool
- filter_center_focus 是否启用并显示 stats 控件。
.predictDataShapes
: Array
- filter_center_focus 如果 TensorSpace 载入的与训练的模型的输入形状不确定,使用该属性来配置一个确定的形状。
.feedInputs
: Array
- filter_center_focus 如果 TensorSpace 的输入和载入的预处理模型的输入数量不同,可以使用该属性将两个模型的输入对应起来。
方法
.init(
complete_callback ) : void
- filter_center_focus init( complete_callback )方法使用所提供的配置信息创建模型中所有对象。
- filter_center_focus 详情参见Model (concept)。
.load(
load_config ) : void
- filter_center_focus load() 方法用于载入神经网络模型。
- filter_center_focus 详情参见Load 。
- filter_center_focus predict() 方法将收集所有必要的层间数据并将其渲染至所对应的可视化对象中。
- filter_center_focus 详情参见Predict。
.reset()
: void
- filter_center_focus 该方法用于重置模型状态至默认初始化状态。
- filter_center_focus 模型中的摄像机位置将被移至默认初始位置。摄像机观测角度将被变更为默认初始角度。
- filter_center_focus 所有网络层对象中,对现有输入的预测数据将被清空。可视化模型将根据清空后的数据进行重新渲染。
.getAllLayers()
: Layer[]
- filter_center_focus 以获取所有层对象。
.getLayerByName(
name ) : Layer
- filter_center_focus 根据所提供的层名称(String)来获取特定的层对象。
在线体验
我们可以在以下 CodePen 中在线体验我们所提供的样例:
See the Pen TensorSpace - Functional Model by syt123450 (@syt123450) on CodePen.