我是 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]
谁能帮我理解这里的错误吗?