Читатели като вас помагат в подкрепа на MUO. Когато правите покупка чрез връзки на нашия сайт, ние може да спечелим комисионна за партньор.

Машинното обучение е основна технология в съвременния свят. Компютрите могат да се научат да разпознават изображения, да създават произведения на изкуството и дори да пишат свой собствен код, всичко това с минимална човешка намеса.

Но как работи машинното обучение и как можете да го използвате сами?

Какво е машинно обучение?

Машинното обучение е сравнително проста концепция. Компютърните системи могат да се учат и адаптират, като анализират съществуващи модели на данни от набори от информация. Това обикновено се прави без изрични инструкции от хора.

Добър пример идва под формата на инструменти за виртуален асистент. Siri, Cortana и Google Assistant използват широко машинно обучение, за да разберат човешката реч. Това започва с набор от съществуващи аудиозаписи, но тези инструменти могат също да се учат от взаимодействията, които имат с вас. Това им позволява да се усъвършенстват сами.

instagram viewer

Какво е ml5.js?

Повечето алгоритми и инструменти за машинно обучение използват R или Python за своя код, но ml5.js е различен. Действайки като интерфейс за библиотеката Tensorflow.js на Google, ml5.js е проект с отворен код, който поставя машинното обучение в ръцете на разработчиците на JavaScript.

Можете да започнете да използвате ml5.js за вашето собствено уеб приложение, като включите един външен скрипт във вашия HTML.

Първи стъпки с машинното обучение: Процесът на обучение

Обучението на алгоритъм за машинно обучение отнема време. Компютрите учат много по-бързо от хората, но също така учат по различни начини. За щастие обаче, ml5.js идва с селекция от предварително обучени модели, така че можете да пропуснете тази стъпка.

Изучаване на как се обучават алгоритмите за машинно обучение е чудесен начин да разберете по-добре инструменти като този.

ml5.js улеснява създаването на инструмент за класифициране на изображения, който да се изпълнява на вашия уебсайт. HTML страницата в този пример съдържа поле за въвеждане на файл за избор на изображение. Качените изображения се показват в подготвен HTML елемент, за да може ml5.js да ги сканира и идентифицира.

Стъпка 1: Включете библиотеката ml5.js

Този проект изисква две библиотеки, за да работи: ml5.js и p5.js. ml5.js е библиотеката за машинно обучение, докато p5.js дава възможност за правилна работа с изображения. Имате нужда от два реда HTML, за да добавите тези библиотеки:

<скрипт src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.0.0/p5.min.js"></script>
<скрипт src="https://unpkg.com/ml5@latest/dist/ml5.min.js"></script>

Стъпка 2: Създайте някои HTML елементи

След това е време да създадете някои HTML елементи. Най-важният е div с идентификатор и клас, означен като imageResult, който ще съхранява крайния резултат:

<h1>MakeUseOf Класификатор на изображения</h1>

<h2>Кликнете "Изберете файл" за добавяне на изображение</h2>

<div клас="imageResult" id="imageResult"></div>

След това добавете елемент за въвеждане на файл, за да съберете изображението, което програмата да класифицира.

<div клас="imageInput">
<тип вход ="файл"
oninput="uploadedImage.src=прозорец. URL.createObjectURL(this.files[0]); startImageScan()">
</div>

Входът слуша за събитие oninput и изпълнява две инструкции в отговор, разделени с точка и запетая. Първият създава URL адрес на обект за изображението, което ви позволява да работите с данните, без да се налага да ги качвате на сървър. Вторият извиква функция startImageScan(), която ще създадете в следващата стъпка.

Накрая добавете img елемент, за да покажете изображението, което потребителят е качил:

<img class="uploadedImage" id="uploadedImage" />

Стъпка 3: Създайте JS функция за сканиране на изображения

Сега, след като имате малко HTML, е време да добавите малко JS към сместа. Започнете с добавяне на променлива const, за да съхраните елемента imageResult, който сте създали в последната стъпка.

конст елемент = документ.getElementById("imageResult");

След това добавете функция, наречена startImageScan() и вътре в нея инициализирайте класификатора на изображения ml5.js с помощта на MobileNet.

Следвайте това с командата classifier.classify. Предайте му препратка към елемента uploadedImage, който добавихте по-рано, заедно с функция за обратно извикване за обработка на резултата.

функцияstartImageScan() {
// Създавайте а променливада се инициализирайте класификатора на изображения ml5.js с MobileNet
const classifier = ml5.imageClassifier('MobileNet');
classifier.classify (document.getElementById("uploadedImage"), imageScanResult);
element.innerHTML = "...";
}

Стъпка 4: Създайте функция за показване на резултата

Нуждаете се и от функция за показване на резултатите от извършената от вас класификация на изображенията. Тази функция съдържа проста команда if за проверка за грешки.

функцияimageScanResult(грешка, резултати) {
ако (грешка) {
element.innerHTML = грешка;
} друго {
позволявам брой = резултати[0].увереност * 100;
element.innerHTML = резултати[0].етикет + "<бр>Увереност: " + num.toFixed (0) + "%";
}
}

Стъпка 5: Съберете всичко заедно

Най-накрая е време да съберем целия този код. Важно е да имате предвид

,