Мы используем Ml5.js для распознавания изображений, который основан на tenorflow.js.Поскольку мы создали нашу пользовательскую модель с использованием ml5js и использовали ее с двумя метками / тегами, это означает, что мы показываем два вывода («Классифицированный» или «Неклассифицированный») на основе обученных изображений.Где у нас есть функция FeatureExtractor () для добавления, обучения, сохранения модели, загрузки модели и прогнозирования.
Мы хотим знать, сколько меток / тегов мы можем передать в addImage (), по которым мы можем классифицировать наши различныенабор данных (изображения), т. е. «засекреченный», «не классифицированный» и т. д.Как мы уже пробовали с несколькими метками (более двух) для различного набора изображений.Но после тренировки это не дает соответствующего результата, основанного на тренировке с несколькими тегами.В большинстве случаев он дает два результата из нескольких наборов меток.
В документации ml5 мы также узнали, что можем использовать два разных набора данных.
Означает ли это, что у нас есть ограничение в 2 метки для набора данных, или мы можем иметьнесколько меток для нашей пользовательской модели?
let featureExtractor = ml5.featureExtractor('MobileNet');
console.log('featureExtractor:::'+featureExtractor);
let classifier = featureExtractor.classification();
console.log('classifier:::'+classifier);
//Add Image to classifier
for (var i=0; i< classifiedImgArray.length; i++) {
console.log('classifiedImgArray'+classifiedImgArray[i]);
classifier.addImage(classifiedImgArray[i], "Classified");
}
//Add Image to Non-classifier
for (var i=0; i< notClassifiedImgArray.length; i++) {
console.log('notClassifiedImgArray'+notClassifiedImgArray[i]);
classifier.addImage(notClassifiedImgArray[i], "Non-Classified");
}
console.log('classifier::'+JSON.stringify(classifier));
//Train Model
setTimeout(function(){ const trainer = classifier.train(function(lossValue) {
console.log('Loss is', lossValue);
}); console.log("Training DONE", trainer);}, 30000);
//save model
setTimeout(function(){ const save = classifier.save(); console.log('save',save);},40000);
const load1 =$A.get('$Resource.ml5jsonnew')+'/ml5jsonnew/model.json';
console.log('load', load1);
//Load Custom Model
setTimeout(function() {const load = classifier.load(load1); console.log('load',load1);},15000);
// Get a prediction for that image
setTimeout(function(){ const classify = classifier.classify(document.getElementById('imgshow'), function(err, results) {
console.log(results);
if(results == 'undefined')
{
result.innerText = 'Cant find';
}
else{
result.innerText = results;
}
}); console.log("Classify", classify);}, 25000);
Наше требование состоит в том, чтобы можно было распознать несколько изображений с несколькими метками по функциям FeatureExtrator () и ImageClassifier () или какая из них лучше для нее?
мл5 документальное изображение