Tokie skaitytojai kaip jūs padeda palaikyti MUO. Kai perkate naudodami nuorodas mūsų svetainėje, galime uždirbti filialų komisinius.

Mašininis mokymasis yra pagrindinė šiuolaikinio pasaulio technologija. Kompiuteriai gali išmokti atpažinti vaizdus, ​​kurti meno kūrinius ir net parašyti savo kodą – visa tai su minimaliu žmogaus įsikišimu.

Tačiau kaip veikia mašininis mokymasis ir kaip galite juo naudotis patys?

Kas yra mašininis mokymasis?

Mašinų mokymasis yra gana paprasta sąvoka. Kompiuterinės sistemos gali mokytis ir prisitaikyti analizuodamos esamus duomenų šablonus iš informacijos telkinių. Paprastai tai daroma be aiškių žmonių nurodymų.

Puikus pavyzdys yra virtualaus asistento įrankiai. „Siri“, „Cortana“ ir „Google Assistant“ plačiai naudoja mašininį mokymąsi, kad suprastų žmogaus kalbą. Tai prasideda nuo esamų garso įrašų telkinio, tačiau šie įrankiai taip pat gali pasimokyti iš bendravimo su jumis. Tai leidžia jiems patiems tobulėti.

Kas yra ml5.js?

Dauguma mašininio mokymosi algoritmų ir įrankių savo kodui naudoja R arba Python, tačiau ml5.js skiriasi. Veikianti kaip „Google“ Tensorflow.js bibliotekos sąsaja, ml5.js yra atvirojo kodo projektas, suteikiantis mašininį mokymąsi „JavaScript“ kūrėjams.

instagram viewer

Galite pradėti naudoti ml5.js savo žiniatinklio programai įtraukę vieną išorinį scenarijų į savo HTML.

Mašininio mokymosi pradžia: mokymosi procesas

Mašininio mokymosi algoritmo mokymas užtrunka. Kompiuteriai mokosi daug greičiau nei žmonės, tačiau jie taip pat mokosi įvairiais būdais. Laimei, ml5.js yra su iš anksto paruoštų modelių pasirinkimu, todėl galite praleisti šį veiksmą.

Mokymasis kaip treniruojasi mašininio mokymosi algoritmai yra puikus būdas geriau suprasti tokius įrankius.

ml5.js leidžia lengvai sukurti vaizdų klasifikavimo įrankį, kuris veiktų jūsų svetainėje. Šiame pavyzdyje HTML puslapyje yra failo įvesties laukas vaizdui pasirinkti. Įkelti vaizdai rodomi paruoštame HTML elemente, kad ml5.js galėtų juos nuskaityti ir identifikuoti.

1 veiksmas: įtraukite ml5.js biblioteką

Šiam projektui veikti reikalingos dvi bibliotekos: ml5.js ir p5.js. ml5.js yra mašininio mokymosi biblioteka, o p5.js leidžia tinkamai dirbti su vaizdais. Norint pridėti šias bibliotekas, reikia dviejų HTML eilučių:

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

2 veiksmas: sukurkite kai kuriuos HTML elementus

Tada laikas sukurti keletą HTML elementų. Svarbiausias yra div su ID ir klase, pažymėta imageResult, kuri išsaugos galutinį rezultatą:

<h1>MakeUseOf vaizdų klasifikatorius</h1>

<h2>Spustelėkite "Pasirinkti failą" norėdami pridėti paveikslėlį</h2>

<div klasė ="vaizdas Rezultatas" id="vaizdas Rezultatas"></div>

Po to pridėkite failo įvesties elementą, kad surinktumėte vaizdą, kurį programa galėtų klasifikuoti.

<div klasė ="vaizdo įvestis">
<įvesties tipas ="failą"
oninput="uploadedImage.src=langas. URL.createObjectURL(this.files[0]); startImageScan()">
</div>

Įvestis klauso įvesties įvykio ir atsako į du sakinius, atskirtus kabliataškiu. Pirmasis sukuria vaizdo objekto URL, kuris leidžia dirbti su duomenimis neįkeliant jų į serverį. Antrasis iškviečia startImageScan() funkciją, kurią sukursite kitame žingsnyje.

Galiausiai pridėkite img elementą, kad būtų rodomas vartotojo įkeltas vaizdas:

<img klasė ="įkeltas vaizdas" id="įkeltas vaizdas" />

3 veiksmas: sukurkite vaizdo nuskaitymo JS funkciją

Dabar, kai turite šiek tiek HTML, laikas prie rinkinio pridėti šiek tiek JS. Pradėkite pridėdami kintamąjį const, kad išsaugotumėte elementą imageResult, kurį sukūrėte atlikdami paskutinį veiksmą.

konst elementas = dokumentas.getElementById("imageResult");

Tada pridėkite funkciją startImageScan() ir jos viduje inicijuokite ml5.js vaizdo klasifikatorių naudodami MobileNet.

Atlikite tai su komanda klasifikatorius.classify. Perduokite nuorodą į įkeltą vaizdo elementą, kurį pridėjote anksčiau, ir atgalinio skambinimo funkciją, kad apdorotumėte rezultatą.

funkcijastartImageScan() {
// Sukurti a kintamasisį inicijuokite ml5.js vaizdo klasifikatorių su MobileNet
const klasifikatorius = ml5.imageClassifier('MobileNet');
classifier.classify (document.getElementById("įkeltas vaizdas"), imageScanResult);
element.innerHTML = "...";
}

4 veiksmas: sukurkite rezultatų rodymo funkciją

Taip pat reikia funkcijos, kad būtų rodomi atlikto vaizdų klasifikavimo rezultatai. Šioje funkcijoje yra paprastas if teiginys, skirtas patikrinti, ar nėra klaidų.

funkcijaimageScanResult(klaida, rezultatai) {
if (klaida) {
element.innerHTML = klaida;
} Kitas {
leisti skaičius = rezultatai[0].pasitikėjimas * 100;
element.innerHTML = rezultatai[0].label + "<br>Pasitikėjimas: " + num.toFixed (0) + "%";
}
}

5 veiksmas: sujunkite viską

Galiausiai atėjo laikas sujungti visą šį kodą. Svarbu nepamiršti

,