Obsah:
- Zásoby
- Krok 1: Motivácia
- Krok 2: Prehľad NVIDIA JetBot a projektu
- Krok 3: Zostavte JetBot a nahrajte notebooky Jupyter
- Krok 4: Zhromažďovanie údajov o výcviku na zariadení JetBot
- Krok 5: Trénujte neurónovú sieť na počítači GPU
- Krok 6: Spustite živé demo na JetBot
Video: Prenosové učenie s NVIDIA JetBot - zábava s dopravnými kužeľmi: 6 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:56
Môj github Nasledovať o: Mám rád aplikácie AI a strojového učenia, najmä v robotike Viac o dvillevald »
Naučte svojho robota nájsť cestu v bludisku dopravných kužeľov pomocou kamery a najmodernejšieho modelu hlbokého učenia.
Zásoby
-
NVIDIA JetBot
Stránka kusovníka NVIDIA JetBot Wiki obsahuje zoznam všetkého, čo potrebujete na zostavenie JetBotu, a tiež odkazy na nákup od obľúbených predajcov
- Počítač s grafickou kartou NVIDIA
Potrebné na trénovanie modelu
- BlueDot Trading 4”RC Racing Agility kužele, oranžová - sada 20
Krok 1: Motivácia
Zakaždým, keď idem v oblasti kontrakcie, premýšľam, aké náročné by bolo, aby sa samo riadiace auto pohybovalo cez dopravné kužele. Ukazuje sa, že s novým JetBotom NVIDIA to nie je také ťažké-iba s niekoľkými stovkami obrázkov môžete vycvičiť najmodernejší model hlbokého učenia, aby váš robot naučil nájsť cestu v bludisku hračiek s dopravnými kužeľmi iba pomocou integrovanej kamery a bez ďalších senzorov.
Krok 2: Prehľad NVIDIA JetBot a projektu
JetBot je open-source robot založený na súprave NVIDIA Jetson Nano. Podrobný návod, ako ho postaviť a nastaviť, nájdete tu.
Tento projekt je upraveným príkladom predchádzania kolíziám z NVIDIA JetBot Wiki. Pozostáva z troch hlavných krokov, z ktorých každý je popísaný v samostatnom prenosnom počítači Jupyter:
- Zhromažďujte údaje na serveri JetBot - notebook data_collection_cones.ipynb
- Vlak modelu na inom stroji GPU - notebook train_model_cones.ipynb
- Spustite živé demo na JetBot - notebook live_demo_cones.ipynb
Tieto tri notebooky Jupyter nájdete tu
Krok 3: Zostavte JetBot a nahrajte notebooky Jupyter
- Zostavte a nastavte JetBot, ako je vysvetlené tu
- Pripojte sa k svojmu robotovi tak, že prejdete na stránku https://: 8888Prihláste sa pomocou predvoleného hesla jetbot
- Vypnite všetky ostatné spustené notebooky výberom Jadro -> Vypnúť všetky jadrá …
- Prejdite na ~/Notebooky/
- Vytvoriť novú podpriečinok ~/Notebooky/traffic_cones_driving/
- Nahrajte data_collection_cones.ipynb a live_demo_cones.ipynb do ~/Notebooks/traffic_cones_driving/
DÔLEŽITÉ: Notebooky Jupyter data_collection_cones.ipynb a live_demo_cones.ipynb uvedené v týchto pokynoch by mali byť spustené na serveri JetBot, zatiaľ čo train_model_cones.ipynb - na počítači s GPU.
Preto musíme nahrať data_collection_cones.ipynb a live_demo_cones.ipynb do JetBot a umiestniť ich do ~/Notebooks/traffic_cones_driving/
Krok 4: Zhromažďovanie údajov o výcviku na zariadení JetBot
Zhromaždíme súbor údajov o klasifikácii obrázkov, ktorý bude použitý na pomoc JetBotu v prevádzke v bludisku dopravných kužeľov. JetBot sa naučí odhadovať pravdepodobnosti štyroch scenárov (tried):
- Zadarmo - keď je bezpečné ísť vpred
- Blokované - keď je pred robotom prekážka
- Vľavo - keď sa má robot točiť doľava
- Vpravo - keď sa má robot točiť doprava
Na zhromažďovanie školiacich údajov na serveri JetBot použijeme notebook Jupyter data_collection_cones.ipynb, ktorý obsahuje podrobné pokyny, ako to urobiť. Ak chcete tento notebook spustiť na zariadení JetBot, postupujte podľa nasledujúcich krokov:
- Pripojte sa k svojmu robotovi tak, že prejdete na adresu https://: jetbot-ip-address:: 8888
- Prihláste sa pomocou predvoleného hesla jetbot
- Vypnite všetky ostatné spustené notebooky výberom Jadro -> Vypnúť všetky jadrá …
- Prejdite na ~/Notebooky/traffic_cones_driving/
- Otvorte a postupujte podľa zápisníka data_collection_cones.ipynb
Krok 5: Trénujte neurónovú sieť na počítači GPU
Ďalej použijeme zhromaždené údaje na precvičenie modelu hlbokého učenia AlexNet na stroji GPU (hostiteľ) spustením train_model_cones.ipynb.
Všimnite si toho, že train_model_cones.ipynb je jediný notebook Jupyter v tomto návode, ktorý nie je spustený na JetBote
- Pripojte sa k počítaču GPU s nainštalovaným PyTorch a spusteným serverom Jupyter Lab
- Odošlite notebook train_model_cones.ipynb do tohto počítača
- Odovzdajte súbor dataset_cones.zip, ktorý ste vytvorili v prenosnom počítači data_collection_cones.ipynb, a extrahujte tento súbor údajov. (Po tomto kroku by sa vám v prehliadači súborov mal zobraziť priečinok s názvom dataset_cones.)
- Otvorte a postupujte podľa zápisníka train_model_cones.ipynb. Na konci tohto kroku vytvoríte model - súbor best_model_cones.pth, ktorý potom musíte nahrať do JetBot, aby ste mohli spustiť živé demo.
Krok 6: Spustite živé demo na JetBot
Posledným krokom je nahranie modelu best_model_cones.pth do zariadenia JetBot a jeho spustenie.
- Napájajte svojho robota z batérie USB
- Pripojte sa späť k svojmu robotovi tak, že prejdete na adresu https://: jetbot-ip-address:: 8888
- Prihláste sa pomocou predvoleného hesla jetbot
- Vypnite všetky ostatné spustené notebooky výberom Jadro -> Vypnúť všetky jadrá …
- Prejdite na ~/Notebooky/traffic_cones_driving
- Otvorte a sledujte zápisník live_demo_cones.ipynb
Začnite opatrne a poskytnite JetBotu dostatok priestoru na pohyb. Vyskúšajte rôzne konfigurácie kužeľov a zistite, ako dobre robot funguje v rôznych prostrediach, osvetlení atď. Kým notebook live_demo_cones.ipynb podrobne vysvetľuje všetky kroky, nasledujúci graf ukazuje logiku pohybov robota vzhľadom na pravdepodobnosti predpovedané modelmi.
Notebook tiež vysvetľuje, ako uložiť históriu pohybov robota s voľnou/ľavou/pravou/blokovanou pravdepodobnosťou predpovedanou modelom a ako vytvoriť dve videá FPV (First Person View) (s frekvenciou 1 fps a 15 fps) so superponovanou telemetriou a Údaje o akciách JetBot. Sú užitočné pri ladení, ladení radiča PID a vylepšovaní modelu.
Bavte sa a v prípade otázok mi dajte vedieť!:-)
Kód je k dispozícii na Github
Odporúča:
Inteligentná bezpečnostná sova zisťujúca zombie (hlboké učenie): 10 krokov (s obrázkami)
Inteligentná bezpečnostná sova zisťujúca zombie (hlboké vzdelávanie): Ahoj všetci, vitajte na stránkach T3chFlicks! V tomto halloweenskom tutoriáli vám ukážeme, ako sme super strašidelne skomplikovali svetskú klasiku pre domácnosť: bezpečnostnú kameru. Ako ?! Vytvorili sme sovu pre nočné videnie, ktorá používa spracovanie obrazu na sledovanie ľudí
Objektovo orientované programovanie: Vytváranie predmetov Učenie/Metóda výučby/Technika pomocou tvarovača: 5 krokov
Objektovo orientované programovanie: Vytváranie predmetov/Metóda výučby/Technika pomocou Shape Puncher: Metóda učenia/vyučovania pre študentov nových v objektovo orientovanom programovaní. Toto je spôsob, ako im umožniť vizualizovať a vidieť proces vytvárania predmetov z tried.Časti: 1. EkTools 2-palcový veľký dierovač; najlepšie sú pevné tvary.2. Kus papiera alebo c
Tvary: Učenie pre všetkých s Makey Makey: 5 krokov (s obrázkami)
Tvary: Učenie pre všetkých s Makey Makey: Učitelia učia VŠETKÝCH študentov. Niekedy naše učenie musí vyzerať inak v závislosti od študenta. Nasleduje príklad jednoduchej lekcie, ktorú môžete vytvoriť, aby ste sa uistili, že všetci vaši študenti pracujú na základných zručnostiach. Tento projekt by fungoval dobre
Kritický stroj na učenie sa umývania rúk: 5 krokov
Kritický stroj na učenie sa umývania rúk: Toto je stroj, ktorý používateľovi pripomína kroky, keď si potrebuje umyť ruky. Cieľom tohto stroja je pomôcť ľuďom porozumieť tomu, ako si efektívne a efektívne umývať ruky. V období prevencie epidémie alebo pandémie
Robot SCARA: učenie o Fowardovej a inverznej kinematike !!! (Plot Twist Naučte sa, ako vytvoriť rozhranie v reálnom čase v ARDUINO pomocou SPRACOVANIA !!!!): 5 krokov (s obrázkami)
Robot SCARA: učenie o Fowardovej a inverznej kinematike !!! (Plot Twist Naučte sa, ako vytvoriť rozhranie v reálnom čase v ARDUINO pomocou SPRACOVANIA !!!!): Robot SCARA je vo svete priemyslu veľmi obľúbeným strojom. Názov je skratkou pre kĺbové robotické rameno pre montážne príslušenstvo alebo pre selektívne vyhovujúce príslušenstvo. V zásade ide o robota s tromi stupňami voľnosti, ktorý je prvým dvoma displ