如何从Node中的TensorFlow.js获取最可能的className

问题描述

要做什么:我想从mobileNet的tensorflow.js图像分类中获得可能性最高的className。我想将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 }
]

因此,在这种情况下,我想获取字符串(“锁子甲,环信,邮件,链甲,链甲,环甲,环甲”)。

解决方法

这是一个纯JavaScript问题。如果得到此结果,则只需搜索m 轴距:

const maxClass = result.reduce(function(prev,current) {
    return (prev.probability > current.probability) ? prev : current;
})["className"];

相关问答

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