Čtenáři jako vy pomáhají podporovat MUO. Když provedete nákup pomocí odkazů na našich stránkách, můžeme získat provizi přidružené společnosti.

Strojové učení je základní technologií moderního světa. Počítače se mohou naučit rozpoznávat obrázky, vytvářet umělecká díla a dokonce psát vlastní kód, to vše s minimálním zásahem člověka.

Jak ale strojové učení funguje a jak ho můžete sami využít?

Co je strojové učení?

Strojové učení je poměrně jednoduchý koncept. Počítačové systémy se mohou učit a přizpůsobovat analýzou existujících datových vzorů ze skupin informací. To se obvykle děje bez výslovných pokynů od lidí.

Dobrým příkladem jsou nástroje virtuálních asistentů. Siri, Cortana a Google Assistant ve velké míře využívají strojové učení k porozumění lidské řeči. Začíná to souborem stávajících zvukových nahrávek, ale tyto nástroje se mohou také učit z interakcí, které s vámi mají. To jim umožňuje zlepšovat se sami.

Co je ml5.js?

Většina algoritmů a nástrojů strojového učení používá pro svůj kód R nebo Python, ale ml5.js je jiný. Ml5.js, který funguje jako rozhraní pro knihovnu Tensorflow.js společnosti Google, je projekt s otevřeným zdrojovým kódem, který dává strojové učení do rukou vývojářům JavaScriptu.

instagram viewer

Můžete začít používat ml5.js pro svou vlastní webovou aplikaci tím, že do HTML zahrnete jeden externí skript.

Začínáme se strojovým učením: proces učení

Výuka algoritmu strojového učení vyžaduje čas. Počítače se učí mnohem rychleji než lidé, ale také se učí různými způsoby. Naštěstí však ml5.js přichází s výběrem předem vyškolených modelů, takže tento krok můžete přeskočit.

Učení se jak trénují algoritmy strojového učení je skvělý způsob, jak lépe porozumět nástrojům, jako je tento.

ml5.js usnadňuje vytvoření nástroje pro klasifikaci obrázků, který lze spustit na vašem webu. Stránka HTML v tomto příkladu obsahuje pole pro zadání souboru pro výběr obrázku. Nahrané obrázky se zobrazují uvnitř připraveného prvku HTML, aby je ml5.js mohl naskenovat a identifikovat.

Krok 1: Zahrňte knihovnu ml5.js

Tento projekt vyžaduje ke svému fungování dvě knihovny: ml5.js a p5.js. ml5.js je knihovna strojového učení, zatímco p5.js umožňuje správně pracovat s obrázky. K přidání těchto knihoven potřebujete dva řádky 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>

Krok 2: Vytvořte některé HTML prvky

Dále je čas vytvořit nějaké HTML prvky. Nejdůležitější je div s ID a třídou označenou imageResult, který uloží konečný výsledek:

<h1>Klasifikátor obrázků MakeUseOf</h1>

<h2>Klikněte "Vyberte soubor" pro přidání obrázku</h2>

<třída div="imageResult" id="imageResult"></div>

Poté přidejte vstupní prvek souboru, který shromáždí obrázek, aby jej mohl program klasifikovat.

<třída div="imageInput">
<typ vstupu ="soubor"
oninput="uploadedImage.src=window. URL.createObjectURL(toto.soubory[0]); startImageScan()">
</div>

Vstup naslouchá události oninput a jako odpověď provede dva příkazy oddělené středníkem. První vytvoří adresu URL objektu pro obrázek, což vám umožní pracovat s daty, aniž byste je museli nahrávat na server. Druhý volá funkci startImageScan(), kterou vytvoříte v dalším kroku.

Nakonec přidejte prvek img pro zobrazení obrázku, který uživatel nahrál:

<img class="nahraný obrázek" id="nahraný obrázek" />

Krok 3: Vytvořte funkci JS pro skenování obrázků

Nyní, když máte nějaké HTML, je čas přidat do mixu nějaký JS. Začněte přidáním proměnné const k uložení prvku imageResult, který jste vytvořili v posledním kroku.

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

Dále přidejte funkci nazvanou startImageScan() a v ní inicializujte klasifikátor obrázků ml5.js pomocí MobileNet.

Postupujte takto pomocí příkazu classifier.classify. Předejte mu odkaz na prvek uploadedImage, který jste přidali dříve, spolu s funkcí zpětného volání pro zpracování výsledku.

funkcespusťte ImageScan() {
// Vytvořit A variabilnína inicializujte klasifikátor obrázků ml5.js s MobileNet
const classifier = ml5.imageClassifier('MobileNet');
classifier.classify (document.getElementById("nahraný obrázek"), imageScanResult);
element.innerHTML = "...";
}

Krok 4: Vytvořte funkci zobrazení výsledků

Potřebujete také funkci pro zobrazení výsledků klasifikace obrázků, kterou jste provedli. Tato funkce obsahuje jednoduchý příkaz if pro kontrolu případných chyb.

funkceimageScanResult(chyba, výsledky) {
if (chyba) {
element.innerHTML = chyba;
} jiný {
nechat num = výsledky[0].důvěra * 100;
element.innerHTML = results[0].label + "<br>Důvěra: " + num.toFixed (0) + "%";
}
}

Krok 5: Dejte to všechno dohromady

Konečně je čas dát celý tento kód dohromady. Je důležité mít na paměti

,