0

我是 ML 的完整初学者,我正在尝试使用我的移动相机和使用 Tensorflow.js 的预训练模型进行图像识别。我在 Tensorflow.js 网站中使用了pacman示例并对其进行了修改。

以下是一些相关代码:

async loadModel() {
  console.log('Loading model...');
  const startTime = performance.now();
  this.model = await loadFrozenModel(MODEL_URL, WEIGHTS_URL);
  const totalTime = Math.floor(performance.now() - startTime);
  console.log(`Model loaded and initialized in ${totalTime}ms...`);
  this.setup(); // Opens the camera and pass the video stream source to the video element
}

这将加载我使用tensorflowjs-converter 转换的模型。加载模型后,我正在使用打开相机navigator.getUserMedia并将流源分配给我在 HTML 中创建的 HTML 视频元素。现在。相机打开后,我调用以下方法进行预测:

  async predict() {
    while (this.isPredicting) {
      console.log("predicting . . . . . . . . ");
      const predictionData = tf.tidy(() => {
        // Capture the frame from the webcam.
        const img = this.capture();
        const predictions = this.model.predict(img);

        // Returns the index with the maximum probability. This number corresponds
        // to the class the model thinks is the most probable given the input.
        return predictions;
      });

      const classId = (await predictionData.data());
      console.log(classId);
      predictionData.dispose();
      await tf.nextFrame();
    }
}

无论相机的console.log(classId)位置如何,都记录在对象下方。

Float32Array(2) [0.0467529296875, 0.953125]

谁能帮我理解这里的错误吗?

4

0 回答 0