насколько различать различный набор пользовательских изображений, которые мы можем сделать, используя функцию FeatureExtractor () в пользовательской модели - PullRequest
0 голосов
/ 06 февраля 2019

Мы используем 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 документальное изображение

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...