Body zdarma Java týden
Využij podzimních slev a získej od nás až 40 % bodů zdarma! Více zde
Pouze tento týden sleva až 80 % na Java e-learning!

Neuronová síť v Pythonu

Unicorn College Tento obsah je dostupný zdarma v rámci projektu IT lidem.
Vydávání, hosting a aktualizace umožňují jeho sponzoři.

Omáčka na začátek

Nápad na tuhle aplikaci vznikl při výběru ročníkové práce do třetího ročníku SŠ. Dal jsem si za cíl vytvořit pomocí Pythonu appku, která dokáže rozpoznat ručně napsaná písmena a čísla - někdy se tomu přezdívá hello world do světa machine learningu. :-).

Aby to nezůstalo jen u hello worldu, tak se pokusím zprovoznit segmentaci (víc podobných objektů v jednom framu) pomocí thresholdingu. Na stejném principu pomocí knihovny opencv a zdatné matematiky zkusím vytvořit kreslení pomocí objektu (uživatel zapne kameru a bude kreslit). Jak to funguje přesně uvnitř budeme muset počkat než se nějaký zdejší redaktor pustí do takovýchto témat. :)

Jako další cíl jsem si dal zprovoznit appku i ve webovém prostředí, tedy alespoň pomocí malování na canvas a vkládání obrázku, nikoliv pomocí kamery. :)

Co budete potřebovat?

Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!

Naneštěstí využívám knihovny nekompatibilní s poslední verzí Pythonu, musíte využít Python 3.6. V jiných verzích neručím za úspěšné spuštění.

Jelikož je tato práce stále ve vývoji a nemám jí jak zatím distribuovat pro běžné uživatele, tak se zde a na Githubu bude nacházet aktuální výčet knihoven, které jsou potřeba pro úspěšné spuštění. Všechny balíčky jsou dostupné skrz package manager pip.

Keras
scikit-image
Numpy
Keras
cv2
matplotlib
mnist
scikit-learn

Kdyby se vyskytli chyby s verzemi, přikládám soubor req.txt, ve kterém jsou veškeré knihovny, které využívám včetně jejich verzí. Pro jejich instalaci použijte tento příkaz:

pip install -r req.txt

Spuštění

Mějte na paměti, že toto spuštění funguje teď kdy to čtete, ale nemusí fungovat třeba ve finální verzi.

Obrázek, který se snažíte vyhodnotit dejte do složky testovaciObrazky. Potom v kořenovém adresáři spustíte konzoli a jednoduše napíšete:

python udelejPredikce.py nazevobrazku.pripona

Po úspěšném provedení se vytvoří složka vysledky, ve kterých je abeceda a k ním přidružené výsledky. V kořenovém adresáři je i soubor result.png, ve kterým jsou označené jednotlivá písmenka.

Závěr

Aplikace zatím využívá "předtrénovaný" model, kvůli náročnosti trénování, ve finální verzi bude mnou napsaný a vytrénovaný model. README na Githubu a zde se budu snažit průběžné updatovat, ačkoliv tomu moc nevěřím :D.


Galerie

Program byl vytvořen v roce 2019.

 

Stáhnout

Staženo 27x (31.12 MB)

 

 

Program pro vás napsal Pavel Vácha
Avatar
Jak se ti líbí článek?
Ještě nikdo nehodnotil, buď první!
Všechny články v sekci
ITnetwork summer 2019 - Ceny v hodnotě 10 000 Kč!
Aktivity (2)

 

 

Komentáře

Avatar
Jan Trubka
Redaktor
Avatar
Jan Trubka:24. července 14:50

Mohl bych se zeptat, odkud ses učil AI a Machine learning?

 
Odpovědět  +1 24. července 14:50
Avatar
Pavel Vácha
Redaktor
Avatar
Odpovídá na Jan Trubka
Pavel Vácha:24. července 15:09

Ahoj, stále se učím a pořád toho není dost, ale hlavní zdroje co se týče ml - Siraj Raval na YT (strašně energetický člověk), sentdex na YT a pak hlavně blog jménem medium.com. A jedna z důležitých částí - Googlení.

 
Odpovědět  +1 24. července 15:09
Avatar
Jan Trubka
Redaktor
Avatar
Odpovídá na Pavel Vácha
Jan Trubka:24. července 15:16

Díky. Už delší dobu projíždím net a hledám srozumitelné vysvětlení problematiky a tutoriály. A zatím jsem moc nepochodil (přijde mi, že je docela těžké najít někoho, kdo to umí dobře vysvětlit, alespoň v Aj). Ale teď zde nějaký redaktor začíná psát návody na AI, Machine a Deep learning, tak uvidím.

 
Odpovědět  +1 24. července 15:16
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
Pavel Vácha
Redaktor
Avatar
Odpovídá na Jan Trubka
Pavel Vácha:24. července 15:30

Je pravda, že moc ČESKÝCH materiálu neexistuje, ale na zahraničních webech je tahle problematika včetně různých example projectu (včetně step by step) na vysoké úrovni. Uvidíme jak to dopadne se zdejší ML sérii, zatím vypadá celkem nadějně. :)

(Můžeš si to proklikat je tam asi 7 hezkých projektů)
ML Is fun

 
Odpovědět  +1 24. července 15:30
Avatar
Jan Trubka
Redaktor
Avatar
Odpovídá na Pavel Vácha
Jan Trubka:24. července 15:42

Díky za pomoc.

 
Odpovědět 24. července 15:42
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 5 zpráv z 5.