问题描述
我正在尝试在节点中为 Tenserflow.js 使用 AutoML 边缘模型导出集,并根据文件系统上的图像进行预测。 Google 仅提供了一个使用 html-images 的与浏览器相关的方法的示例:https://cloud.google.com/vision/automl/docs/tensorflow-js-tutorial
。
因此,由于使用 tfjs-automl
,您可以像这样加载模型:tf.automl.loadImageClassification('file://./model.json');
。
当您出于某种原因在节点中尝试此操作时,这是不可能的,因为您收到以下错误:
TypeError: Only HTTP(S) protocols are supported
。所以这个用例有 tfjs-node
,它确实让你用 tf.loadLayersModel('file://./model.json');
做同样的事情。但后来我得到了 Error: layer: Improper config format:
。
所以我尝试了tf.loadGraphModel('file://./model.json');
,它有效,但你不能使用model.classify(image)
。您必须使用 model.predict(image)
。所以经过大量尝试后,我得到了以下代码:
const model = await tf.loadLayersModel('file://./model.json');
let data = fs.readFileSync('image.jpg');
let tfimage = tf.node.decodeImage(data,3);
tfimage = tfimage.resizeBilinear([224,224]);
tfimage = tfimage.reshape([1,224,3]);
let result = model.predict(tfimage);
console.log(result);
这给了我以下输出:
Tensor {
kept: false,isdisposedInternal: false,shape: [ 2 ],dtype: 'float32',size: 2,strides: [],dataId: {},id: 285,rankType: '1',scopeId: 290
}
我不知道我应该怎么做,因为我只对我的图像在我的两个班级之一中出现的概率感兴趣。 这个用例没有任何示例,这让我大吃一惊。每个示例都使用这种浏览器/html 方法,而没有实际使用节点。
提前感谢您的帮助!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)