【发布时间】:2020-11-24 21:08:01
【问题描述】:
我已将自定义 Keras 模型转换为适用于 Tensorflow.js 的 layersModel。我通过上传图像并在上传完成后调用预测来测试模型。预测片段:
let img = document.getElementById('image')
let offset = tf.scalar(255)
let tensorImg = tf.browser.fromPixels(img).resizeNearestNeighbor([224,224]).toFloat().expandDims();
let tensorImg_scaled = tensorImg.div(offset)
prediction = await model.predict(tensorImg_scaled).data();
使用此代码,我的预测遵循原始模型,置信度值不断变化,就像它们应该的那样。但是,我的意图是每秒分析网络摄像头提要。每秒调用一个包含此代码的函数:
const video = document.querySelector("video");
let offset = tf.scalar(255)
let tensorImg = tf.browser.fromPixels(video).resizeNearestNeighbor([224,224]).toFloat().expandDims();
let tensorImg_scaled = tensorImg.div(offset)
prediction = await model.predict(tensorImg_scaled).data();
对于视频,我得到了糟糕的结果,其中预测总是类似于 Float32Array(3) [6.18722574920633e-16, 1, 3.5979095258653615e-8] - 中间置信度值始终为 1 或 0,9999。
这可能是什么问题?很少调用视频预测 sn-p(比如每 5 秒一次)也无济于事。
非常感谢任何有关视频预测的帮助 - 这是 uni 的最后一个项目,恐慌开始蔓延......非常感谢!
【问题讨论】:
标签: tensorflow keras tensorflow.js