在 Node 中使用 AutoML 模型进行图像分类

问题描述

我正在尝试在节点中为 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 (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...