微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决在 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 举报,一经查实,本站将立刻删除。