如何从节点中的 TensorFlow.js 获取最可能的类名
How to get most probable className from TensorFlow.js in Node
我想做的事情:我想用mobileNet从TensorFlow.js图像分类中得到概率最高的className。我想将类名作为字符串获取。
问题: 我不知道如何将 className 隔离为字符串。有这个命令吗?或者你知道如何解决我的问题吗?
我的代码:
theAi();
async function theAi() {
const tf = require('@tensorflow/tfjs'),
mobilenet = require('@tensorflow-models/mobilenet'),
tfnode = require('@tensorflow/tfjs-node'),
fs = require('fs-extra');
const imageBuffer = await fs.readFile("./jesus.jpg"),
tfimage = tfnode.node.decodeImage(imageBuffer),
mobilenetModel = await mobilenet.load();
const results = await mobilenetModel.classify(tfimage);
console.log(results);
};
并且输出:
[
{
className: 'chain mail, ring mail, mail, chain armor, chain armour, ring armor, ring armour',
probability: 0.5979475378990173
},
{ className: 'vestment', probability: 0.14261281490325928 },
{ className: 'fountain', probability: 0.03441018983721733 }
]
所以在这种情况下,我想获取字符串 ('chain mail, ring mail, mail, chain armor, chain armour, ring armor, ring armour')。
这是一个纯粹的 javascript 问题。如果你得到这个结果,你可以搜索 m
最大值:
const maxClass = result.reduce(function(prev, current) {
return (prev.probability > current.probability) ? prev : current;
})["className"];
我想做的事情:我想用mobileNet从TensorFlow.js图像分类中得到概率最高的className。我想将类名作为字符串获取。
问题: 我不知道如何将 className 隔离为字符串。有这个命令吗?或者你知道如何解决我的问题吗?
我的代码:
theAi();
async function theAi() {
const tf = require('@tensorflow/tfjs'),
mobilenet = require('@tensorflow-models/mobilenet'),
tfnode = require('@tensorflow/tfjs-node'),
fs = require('fs-extra');
const imageBuffer = await fs.readFile("./jesus.jpg"),
tfimage = tfnode.node.decodeImage(imageBuffer),
mobilenetModel = await mobilenet.load();
const results = await mobilenetModel.classify(tfimage);
console.log(results);
};
并且输出:
[
{
className: 'chain mail, ring mail, mail, chain armor, chain armour, ring armor, ring armour',
probability: 0.5979475378990173
},
{ className: 'vestment', probability: 0.14261281490325928 },
{ className: 'fountain', probability: 0.03441018983721733 }
]
所以在这种情况下,我想获取字符串 ('chain mail, ring mail, mail, chain armor, chain armour, ring armor, ring armour')。
这是一个纯粹的 javascript 问题。如果你得到这个结果,你可以搜索 m 最大值:
const maxClass = result.reduce(function(prev, current) {
return (prev.probability > current.probability) ? prev : current;
})["className"];