Bralci, kot ste vi, pomagajo podpirati MUO. Ko opravite nakup prek povezav na našem spletnem mestu, lahko zaslužimo partnersko provizijo.

Strojno učenje je temeljna tehnologija v sodobnem svetu. Računalniki se lahko naučijo prepoznavati slike, ustvarjati umetniška dela in celo pisati lastno kodo, vse z minimalnim človeškim posredovanjem.

Toda kako deluje strojno učenje in kako ga lahko uporabite sami?

Kaj je strojno učenje?

Strojno učenje je razmeroma preprost koncept. Računalniški sistemi se lahko učijo in prilagajajo z analizo obstoječih podatkovnih vzorcev iz zbirk informacij. To se običajno naredi brez izrecnih navodil ljudi.

Dober primer so orodja za virtualne pomočnike. Siri, Cortana in Google Assistant v veliki meri uporabljajo strojno učenje za razumevanje človeškega govora. To se začne z zbiranjem obstoječih zvočnih posnetkov, vendar se ta orodja lahko učijo tudi iz interakcij, ki jih imajo z vami. To jim omogoča, da se izboljšajo sami.

Kaj je ml5.js?

Večina algoritmov in orodij za strojno učenje uporablja R ali Python za svojo kodo, ml5.js pa je drugačen. Deluje kot vmesnik za Googlovo knjižnico Tensorflow.js in je ml5.js odprtokodni projekt, ki daje strojno učenje v roke razvijalcem JavaScript.

instagram viewer

Ml5.js lahko začnete uporabljati za lastno spletno aplikacijo tako, da v svoj HTML vključite en zunanji skript.

Kako začeti s strojnim učenjem: učni proces

Usposabljanje algoritma strojnega učenja zahteva čas. Računalniki se učijo veliko hitreje kot ljudje, vendar se tudi učijo na različne načine. K sreči pa ml5.js vsebuje izbor vnaprej pripravljenih modelov, tako da lahko ta korak preskočite.

Učenje kako se usposabljajo algoritmi strojnega učenja je odličen način za boljše razumevanje takšnih orodij.

ml5.js olajša ustvarjanje orodja za razvrščanje slik, ki se izvaja na vašem spletnem mestu. Stran HTML v tem primeru vsebuje polje za vnos datoteke za izbiro slike. Naložene slike so prikazane znotraj pripravljenega elementa HTML, da jih ml5.js lahko skenira in identificira.

1. korak: vključite knjižnico ml5.js

Ta projekt za delovanje zahteva dve knjižnici: ml5.js in p5.js. ml5.js je knjižnica strojnega učenja, p5.js pa omogoča pravilno delo s slikami. Za dodajanje teh knjižnic potrebujete dve vrstici HTML:

<skript src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.0.0/p5.min.js"></script>
<skript src="https://unpkg.com/ml5@latest/dist/ml5.min.js"></script>

2. korak: Ustvarite nekaj elementov HTML

Nato je čas, da ustvarite nekaj elementov HTML. Najpomembnejši je div z ID-jem in razredom z oznako imageResult, ki bo shranil končni rezultat:

<h1>Klasifikator slik MakeUseOf</h1>

<h2>Kliknite "Izberite datoteko" da dodate sliko</h2>

<razred div="imageResult" id="imageResult"></div>

Po tem dodajte element vnosa datoteke, da zberete sliko, ki jo bo program razvrstil.

<razred div="imageInput">
<vrsta vnosa="mapa"
oninput="uploadedImage.src=okno. URL.createObjectURL(this.files[0]); startImageScan()">
</div>

Vnos posluša dogodek oninput in kot odgovor izvede dva stavka, ločena s podpičjem. Prvi ustvari URL objekta za sliko, ki vam omogoča delo s podatki, ne da bi jih morali naložiti na strežnik. Drugi pokliče funkcijo startImageScan(), ki jo boste ustvarili v naslednjem koraku.

Na koncu dodajte element img za prikaz slike, ki jo je naložil uporabnik:

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

3. korak: Ustvarite funkcijo JS za skeniranje slik

Zdaj, ko imate nekaj HTML-ja, je čas, da mešanici dodate nekaj JS-ja. Začnite z dodajanjem spremenljivke const za shranjevanje elementa imageResult, ki ste ga ustvarili v zadnjem koraku.

konst element = dokument.getElementById("imageResult");

Nato dodajte funkcijo z imenom startImageScan() in znotraj nje inicializirajte klasifikator slik ml5.js z uporabo MobileNet.

Sledite temu z ukazom classifier.classify. Posredujte mu sklic na element uploadedImage, ki ste ga dodali prej, skupaj s funkcijo povratnega klica za obdelavo rezultata.

funkcijostartImageScan() {
// Ustvari a spremenljivkado inicializirajte klasifikator slik ml5.js z MobileNet
const classifier = ml5.imageClassifier('MobileNet');
classifier.classify (document.getElementById("uploadedImage"), imageScanResult);
element.innerHTML = "...";
}

4. korak: Ustvarite funkcijo prikaza rezultata

Potrebujete tudi funkcijo za prikaz rezultatov klasifikacije slik, ki ste jo izvedli. Ta funkcija vsebuje preprost stavek if za preverjanje morebitnih napak.

funkcijoimageScanResult(napaka, rezultati) {
če (napaka) {
element.innerHTML = napaka;
} drugače {
pustiti št = rezultati [0].zavest * 100;
element.innerHTML = rezultati[0].label + "<št>Zaupanje: " + num.toFixed (0) + "%";
}
}

5. korak: sestavite vse skupaj

Končno je čas, da sestavite vso to kodo. Pomembno je biti pozoren na

,