在 TensorSpace 中,“加载”指的是将神经网络模型读取并存入 TensorSpace 模型的过程。这一过程使得使用中间层输出成为可能。
在功能上实现“加载”的是构建模型时所使用的 .load() 方法。
图1 - 加载经过预处理的模型
wb_sunny注意:
- filter_center_focus 我们必须在加载到 TensorSpace 模型之前,对需要使用的神经网络模型进行预处理。
根据不同的预处理过程,我们列出了不同模型所需要的加载配置、属性以及方法:
加载经过预处理的 Keras 模型
model.load( {
type: "keras",
url: '/PATH_TO_MODEL/model.json',
onProgress: function( fraction ) {
console.log( fraction );
}
onComplete: function() {
console.log( "Complete load model." );
}
} );
.type : String
- filter_center_focus 必要。
- filter_center_focus 表示所输入的神经网络类型。
- filter_center_focus 配置为 “keras”,以此来加载 Keras 模型。
- filter_center_focus 在完成指定神经网络模型的类型后,TensorSpace 将使用所对应的加载器对象完成加载和预测的过程。
.url : String
- filter_center_focus 必要。
- filter_center_focus 表示目标神经网络模型文件的所在位置的URL。
- filter_center_focus 它通常是一个 “.json” 文件,表示神经网络的结构。
.onProgress : void
- filter_center_focus 可选。
- filter_center_focus 当完成加载完成之前周期性调用的函数。
- filter_center_focus 该函数被设计用来监控加载进度,回调函数会拿到此时模型加载的比例参数 fraction (在 0 - 1 之间)。
.onComplete : void
- filter_center_focus 可选。
- filter_center_focus 当完成加载时可以激发的回调函数。
- filter_center_focus 该函数被设计用来处理与加载完成相关的事件,如当加载完成时移除载入画面、记录载入时间等。
加载经过预处理的 TensorFlow.js 模型
model.load( {
type: "tfjs",
url: '/PATH_TO_MODEL/mnist.json',
onProgress: function( fraction ) {
console.log( fraction );
}
onComplete: function() {
console.log( "Complete load model." );
}
} );
.type : String
- filter_center_focus 必要。
- filter_center_focus 表示所输入的神经网络类型。
- filter_center_focus 配置为 “tfjs”,以此来加载 tfjs 模型。
- filter_center_focus 在完成指定神经网络模型的类型后,TensorSpace 将使用所对应的加载器对象完成加载和预测的过程。
.url : String
- filter_center_focus 必要。
- filter_center_focus 表示目标神经网络模型文件的所在位置的URL。
- filter_center_focus 它通常是一个 “.json” 文件,表示神经网络的结构。
.onProgress : void
- filter_center_focus 可选。
- filter_center_focus 当完成加载完成之前周期性调用的函数。
- filter_center_focus 该函数被设计用来监控加载进度,回调函数会拿到此时模型加载的比例参数 fraction (在 0 - 1 之间)。
.onComplete : void
- filter_center_focus 可选。
- filter_center_focus 当完成加载时可以激发的回调函数。
- filter_center_focus 该函数被设计用来处理与加载完成相关的事件,如当加载完成时移除载入画面、记录载入时间等。
Load a preprocessed TensorFlow model
model.load( {
type: "tensorflow",
url: "/PATH_TO_MODEL/model.json",
outputsName: [ "Maximum", "Const_1", "Maximum_1", "Const_2", "Maximum_2",
"Const_3", "Maximum_3", "Const_4", "Maximum_4", "Const_5",
"Maximum_5", "Const_6", "Const_7", "Const_8", "add_8" ],
onProgress: function( fraction ) {
console.log( fraction );
}
onComplete: function() {
console.log( "Complete load model." );
}
} );
.type : String
- filter_center_focus 必要。
- filter_center_focus 表示所输入的神经网络类型。
- filter_center_focus 配置为 “tensorflow”,以此来加载 TensorFlow 模型。
- filter_center_focus 在完成指定神经网络模型的类型后,TensorSpace 将使用所对应的加载器对象完成加载和预测的过程。
.url : String
- filter_center_focus 必要。
- filter_center_focus 表示目标神经网络模型文件的所在位置的URL。
- filter_center_focus 它通常是一个经过 tfjs-converter 转换的 “.pb” 文件。
.outputsName : String[]
- filter_center_focus 可选。当 TensorFlow 模型没有经过必要的预处理时,为必要。
- filter_center_focus 表示用来展示的所有 tensor 名称列表(name list)。
- filter_center_focus 所罗列的 tensor 名称将被用来收集中间层输出数据。所有的 tensor 名称必须有效。
- filter_center_focus 请确保 tensor 名称的顺序与所构建的 TensorSpace 模型保持一致。
.onProgress : void
- filter_center_focus 可选。
- filter_center_focus 当完成加载完成之前周期性调用的函数。
- filter_center_focus 该函数被设计用来监控加载进度,回调函数会拿到此时模型加载的比例参数 fraction (在 0 - 1 之间)。
.onComplete : void
- filter_center_focus 可选。
- filter_center_focus 当完成加载时可以激发的回调函数。
- filter_center_focus 该函数被设计用来处理与加载完成相关的事件,如当加载完成时移除载入画面、记录载入时间等。