我们在处理批量数据集并使用该自定义模型进行预测时遇到了一个问题,它给出了错误的预测。大多数情况下,它给出第二个索引值。
设置标签:
let label = [];
for(var k = 0; k< 21; k++){
label.push('Store Shelf');
}
for(var l = 0; l< 21; l++){
label.push('Rejected');
}
console.log('label:::'+label);
const setLabel = Array.from(new Set(label));
console.log('model1',model);
let prediction = await model.predict(tensor);
console.log('prediction:::'+ prediction);
pred = prediction.argMax(1).dataSync();
const labelsPred = Array.from(pred).map(e => setLabel[e]);
console.log('labelsPred:::'+ labelsPred);
let top5 = Array.from(prediction)
.map(function(p,i){
return {
probability: p,
className: prediction[i]
};
}).sort(function(a,b){
return b.probability-a.probability;
}).slice(0,1);
$("#prediction-list").empty();
//top5.forEach(function(p){
$("#prediction-list").append(labelsPred);
//});
在这里,我们有两个标签“ Store Shelf”和“ Reject”,但对于我们通过批量数据传递的所有图像(训练有40张图像),它都给了我们“ Rejected”。
请在这里指导我在做什么,或者在加载保存的模型后如何使用批量数据集进行正确的预测。