Teiesugused lugejad aitavad MUO-d toetada. Kui teete ostu meie saidil olevate linkide abil, võime teenida sidusettevõtte komisjonitasu.

Masinõpe on tänapäeva maailmas põhitehnoloogia. Arvutid saavad õppida kujutisi ära tundma, kunstiteoseid looma ja isegi oma koodi kirjutama, kõike seda kõike minimaalse inimese sekkumisega.

Kuidas aga masinõpe töötab ja kuidas seda ise kasutada?

Mis on masinõpe?

Masinõpe on suhteliselt lihtne mõiste. Arvutisüsteemid saavad õppida ja kohaneda, analüüsides teabekogumitest olemasolevaid andmemustreid. Tavaliselt tehakse seda ilma inimeste selgesõnaliste juhisteta.

Hea näide on virtuaalse assistendi tööriistade näol. Siri, Cortana ja Google Assistant kasutavad inimkõne mõistmiseks laialdaselt masinõpet. See algab olemasolevate helisalvestiste kogumiga, kuid need tööriistad võivad õppida ka teiega suhtlemisest. See võimaldab neil end ise parandada.

Mis on ml5.js?

Enamik masinõppe algoritme ja tööriistu kasutab koodi jaoks R-i või Pythonit, kuid ml5.js on erinev. Google'i Tensorflow.js teegi liidesena toimiv ml5.js on avatud lähtekoodiga projekt, mis annab masinõppe JavaScripti arendajate kätesse.

instagram viewer

Saate alustada ml5.js-i kasutamist oma veebirakenduse jaoks, lisades oma HTML-i ühe välise skripti.

Masinõppega alustamine: õppeprotsess

Masinõppe algoritmi väljaõpetamine võtab aega. Arvutid õpivad palju kiiremini kui inimesed, kuid nad õpivad ka erineval viisil. Õnneks on ml5.js-iga kaasas valik eelkoolitatud mudeleid, nii et saate selle sammu vahele jätta.

Õppimine kuidas masinõppe algoritmid treenivad on suurepärane viis selliste tööriistade paremaks mõistmiseks.

ml5.js muudab teie veebisaidil käitamiseks piltide klassifitseerimise tööriista loomise lihtsaks. Selle näite HTML-leht sisaldab faili sisestusvälja pildi valimiseks. Üleslaaditud pildid kuvatakse ettevalmistatud HTML-i elemendis, et ml5.js saaks neid skannida ja tuvastada.

1. samm: kaasake teek ml5.js

Selle projekti jaoks on töötamiseks vaja kahte teeki: ml5.js ja p5.js. ml5.js on masinõppeteek, samas kui p5.js võimaldab piltidega korralikult töötada. Nende teekide lisamiseks vajate kahte rida HTML-i:

<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. samm: looge mõned HTML-i elemendid

Järgmiseks on aeg luua mõned HTML-elemendid. Kõige olulisem on ID-ga div koos sildiga imageResult, mis salvestab lõpptulemuse:

<h1>MakeUseOf pildi klassifikaator</h1>

<h2>Klõpsake "Vali fail" pildi lisamiseks</h2>

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

Pärast seda lisage faili sisendelement, et koguda programmi jaoks klassifitseerimiseks pilt.

<div klass="pildisisend">
<sisendi tüüp="faili"
oninput="uploadedImage.src=window. URL.createObjectURL(see.failid[0]); startImageScan()">
</div>

Sisend kuulab sisendsündmust ja täidab vastuseks kaks lauset, mis on eraldatud semikooloniga. Esimene loob pildile objekti URL-i, mis võimaldab teil andmetega töötada, ilma et peaksite neid serverisse üles laadima. Teine kutsub esile funktsiooni startImageScan(), mille loote järgmises etapis.

Lõpuks lisage element img, et kuvada kasutaja üles laaditud pilt:

<img klass="üles laaditud pilt" id="üles laaditud pilt" />

3. samm: looge pildiskannimise JS-funktsioon

Nüüd, kui teil on HTML-i, on aeg lisada segule JS. Alustuseks lisage muutuja const, et salvestada viimases etapis loodud imageResult element.

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

Järgmisena lisage funktsioon nimega startImageScan() ja lähtestage selle sees pildiklassifikaator ml5.js, kasutades MobileNeti.

Järgige seda käsuga classifier.classify. Edastage sellele viide varem lisatud elemendile uploadedImage koos tagasihelistamise funktsiooniga tulemuse töötlemiseks.

funktsioonistartImageScan() {
// Loo a muutuvjuurde lähtestage ml5.js kujutise klassifikaator koos MobileNet
const klassifikaator = ml5.imageClassifier('MobileNet');
classifier.classify (document.getElementById("üles laaditud pilt"), imageScanResult);
element.innerHTML = "...";
}

4. samm: looge tulemuste kuvamise funktsioon

Teil on vaja ka funktsiooni, mis kuvab tehtud kujutiste klassifitseerimise tulemused. See funktsioon sisaldab lihtsat if-lauset vigade kontrollimiseks.

funktsiooniimageScanResult(viga, tulemused) {
if (viga) {
element.innerHTML = viga;
} muidu {
lase arv = tulemused[0].kindlus * 100;
element.innerHTML = tulemused[0].label + "<br>Usaldus: " + number.toFixed (0) + "%";
}
}

5. samm: pange kõik kokku

Lõpuks on aeg kogu see kood kokku panna. Oluline on meeles pidada

,