TensorSpace.js
开始使用
基本概念
TensorSpace Converter
模型预处理
模型
网络层
网络层融合
载入模型
在 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 该函数被设计用来处理与加载完成相关的事件,如当加载完成时移除载入画面、记录载入时间等。