如何在tensorflow.js中截断可可SSD模型?

时间:2019-03-02 19:07:39

标签: javascript machine-learning tensorflow.js

ML / Tensorflow初学者。

我在尝试从作为应用程序包中的包导入的coco ssd模型中获取一层时遇到了麻烦。我正在按照Pacman tensorflow.js example重新训练模型。

  const modelPromise = cocoSsd.load();
  Promise.all([modelPromise])
    .then(cocoModel => {
      console.log(cocoModel[0]);

      var cocoModel = cocoModel[0].model;
      console.log(cocoModel);

      const layer = cocoModel.getLayer('conv_pw_13_relu');
      this.truncatedCocoModel = tf.model({inputs: cocoModel.inputs, outputs:
                                                              layer.output});
   })
   .catch(error => {
      console.error(error);
   });

在const层行中,我收到错误消息“ cocoModel.getLayer不是函数”。 Pacman示例使用的是mobilenet模型,我想它具有此功能。

在这里我有什么选择?我使用浏览器控制台环顾四周,但在任何地方都找不到此功能,并且在网上看也无济于事(在网上有什么地方可以看到Google的cocoSSD模型的整个结构吗?)

model functions

1 个答案:

答案 0 :(得分:0)

使用npm软件包https://cdn.jsdelivr.net/npm/@tensorflow-models/coco-ssd,您将无法检索任何图层。

load返回不具有ObjectDetection属性的getLayer实例。

如果要检索图层,则必须按照here

的说明加载图形模型