Tartalomjegyzék:
- Kellékek
- 1. lépés: Motiváció
- 2. lépés: Az NVIDIA JetBot és a projekt áttekintése
- 3. lépés: Készítse el a JetBot szoftvert, és töltse fel a Jupyter notebookokat
- 4. lépés: Képzési adatok gyűjtése a JetBot -on
- 5. lépés: Neural Network oktatása GPU -gépen
- 6. lépés: Futtassa az élő demót a JetBot -on
Videó: Transzfer tanulás az NVIDIA JetBot segítségével - Szórakozás a forgalmi kúpokkal: 6 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:39
Szerző: dvillevaldMy GithubFollow About: Szeretem az AI -t és a gépi tanulási alkalmazásokat, különösen a robotikában További információ a dvillevaldról »
Tanítsa meg robotját, hogy keressen utat a forgalmi kúpok útvesztőjében a kamera és a legmodernebb mély tanulási modell segítségével.
Kellékek
-
NVIDIA JetBot
Az NVIDIA JetBot Wiki Anyagjegyzék oldala felsorol mindent, amire szüksége van a JetBot létrehozásához, valamint a népszerű gyártók linkjeit
-
Számítógép NVIDIA GPU -val
Szükséges a modell betanításához
- BlueDot Trading 4”RC Racing Agility kúpok, narancs - 20 db
1. lépés: Motiváció
Minden alkalommal, amikor az összehúzódási területen vezetek, arra gondolok, hogy milyen kihívást jelenthet egy önvezető autó számára a közlekedési kúpokon való navigálás. Kiderült, hogy ez nem is olyan nehéz az új NVIDIA JetBot-jával-mindössze pár száz képpel, a legmodernebb mély tanulási modellt képezheti ki, hogy megtanítsa robotjának, hogyan kell megtalálni az utat a játékkúpok útvesztőjében csak a fedélzeti kamerát használja, más érzékelőket nem.
2. lépés: Az NVIDIA JetBot és a projekt áttekintése
A JetBot egy nyílt forráskódú robot, amely az NVIDIA Jetson Nano készleten alapul. Itt talál részletes utasításokat a felépítésről és beállításról.
Ez a projekt az NVIDIA JetBot Wiki módosított ütközés elkerülési példája. Három fő lépésből áll, amelyek mindegyikét külön Jupyter notebook írja le:
- Adatok gyűjtése a JetBot -on - notebook data_collection_cones.ipynb
- Vonatmodell más GPU -gépen - notebook train_model_cones.ipynb
- Futtassa az élő demót a JetBot -on - notebook live_demo_cones.ipynb
Ezt a három Jupyter notebookot itt találja
3. lépés: Készítse el a JetBot szoftvert, és töltse fel a Jupyter notebookokat
- Készítse el és állítsa be a JetBot -ot az itt leírtak szerint
- Csatlakozzon robotjához a https://: 8888 oldalon való belépéssel. Jelentkezzen be az alapértelmezett jelszóval a jetbot
- Kapcsolja ki az összes többi futó notebookot a Kernel -> Shutdown All Kernels menüpont kiválasztásával …
- Navigáljon a ~/Jegyzetfüzetek/
- Új almappa létrehozása ~/Notebook/traffic_cones_driving/
- A data_collection_cones.ipynb és a live_demo_cones.ipynb fájl feltöltése a ~/Notebooks/traffic_cones_driving/
FONTOS: Az ebben az utasításban hivatkozott Jupyter notebook data_collection_cones.ipynb és live_demo_cones.ipynb notebookokat a JetBot rendszeren kell futtatni, míg a train_model_cones.ipynb - GPU -val rendelkező számítógépen.
Ezért fel kell töltenünk a data_collection_cones.ipynb és live_demo_cones.ipynb fájlokat a JetBot rendszerbe, és el kell helyeznünk őket a ~/Notebooks/traffic_cones_driving/
4. lépés: Képzési adatok gyűjtése a JetBot -on
Összegyűjtünk egy képosztályozási adathalmazt, amelyet felhasználunk a JetBot működtetéséhez a forgalomkúpok útvesztőjében. A JetBot megtanulja megbecsülni négy forgatókönyv (osztály) valószínűségét:
- Ingyenes - ha biztonságosan haladhat előre
- Blokkolt - ha akadály van a robot előtt
- Bal - amikor a robotnak balra kell forognia
- Jobb - amikor a robotnak jobbra kell forognia
Az edzési adatok JetBot -on történő összegyűjtéséhez a Jupyter notebook data_collection_cones.ipynb programot használjuk, amely részletes utasításokat tartalmaz arra vonatkozóan. A jegyzetfüzet JetBot -on történő futtatásához kövesse az alábbi lépéseket:
- Csatlakozzon robotjához a https://: jetbot-ip-address:: 8888 címen
- Jelentkezzen be az alapértelmezett jetbot jelszóval
- Kapcsolja ki az összes többi futó notebookot a Kernel -> Shutdown All Kernels menüpont kiválasztásával …
- Navigáljon a ~/Notebooks/traffic_cones_driving/
- Nyissa meg és kövesse a data_collection_cones.ipynb jegyzetfüzetet
5. lépés: Neural Network oktatása GPU -gépen
Ezután az összegyűjtött adatokat felhasználjuk az AlexNet mélytanulási modell GPU-gépen (gazdagépen) történő továbbképzésére a train_model_cones.ipynb futtatásával.
Ne feledje, hogy a train_model_cones.ipynb az egyetlen Jupyter -jegyzetfüzet ebben az oktatóanyagban, amelyet NEM a JetBot futtat
- Csatlakozzon egy GPU -géphez, amelyen a PyTorch telepítve van, és a Jupyter Lab szerver fut
- Töltse fel a train_model_cones.ipynb jegyzetfüzetet erre a gépre
- Töltse fel a data_collection_cones.ipynb jegyzetfüzetben létrehozott dataset_cones.zip fájlt, és bontsa ki ezt az adathalmazt. (Ezt a lépést követően látnia kell a fájlkészletben a dataset_cones nevű mappát.)
- Nyissa meg és kövesse a train_model_cones.ipynb jegyzetfüzetet. E lépés végén létrehoz egy modellt - a best_model_cones.pth fájlt, amelyet azután fel kell tölteni a JetBot -ba az élő demó futtatásához.
6. lépés: Futtassa az élő demót a JetBot -on
Ez az utolsó lépés a best_model_cones.pth modell feltöltése a JetBotba, és futtatása.
- Táplálja robotját az USB akkumulátorról
- Csatlakozzon újra robotjához a https://: jetbot-ip-address:: 8888 címen
- Jelentkezzen be az alapértelmezett jetbot jelszóval
- Kapcsolja ki az összes többi futó notebookot a Kernel -> Shutdown All Kernels menüpont kiválasztásával …
- Keresse meg a ~/Notebooks/traffic_cones_driving oldalt
- Nyissa meg és kövesse a live_demo_cones.ipynb jegyzetfüzetet
Kezdjen óvatosan, és adjon elegendő teret a JetBotnak a mozgáshoz. Próbálja ki a különböző kúpkonfigurációkat, és nézze meg, hogy a robot milyen jól teljesít különböző környezetekben, megvilágításban stb. Míg a noteszgép live_demo_cones.ipynb részletesen elmagyarázza az összes lépést, a következő táblázat a robotok mozgásának logikáját mutatja, figyelembe véve a modellek által előre jelzett valószínűségeket.
A notebook azt is elmagyarázza, hogyan tárolható a robotmozgások története a modell által előre jelzett szabad/bal/jobb/blokkolt valószínűségekkel, és hogyan készíthető két FPV (First Person View) videó (1 fps és 15 fps sebességgel) egymásra helyezett telemetriával és JetBot műveleti adatok. Ezek hasznosak a hibakereséshez, a PID vezérlő hangolásához és a modell javításához.
Jó szórakozást, és ha kérdésed van, szólj!:-)
A kód elérhető a Githubon
Ajánlott:
Objektum -orientált programozás: Tárgyak létrehozása Tanulás/Tanítási módszer/technika Shape Puncher segítségével: 5 lépés
Objektumorientált programozás: Objektumok létrehozása Tanulás/tanítási módszer/technika Shape Puncher használatával: Tanulási/tanítási módszer az objektum-orientált programozásban újonnan tanulóknak. Ez lehetővé teszi számukra, hogy vizualizálják és lássák az objektumok osztályokból történő létrehozásának folyamatát. EkTools 2 hüvelykes nagy lyukasztó; a szilárd formák a legjobbak.2. Egy darab papír vagy c
SCARA Robot: Tanulás a foward és inverz kinematikáról !!! (Plot Twist Ismerje meg, hogyan lehet valós idejű interfészt készíteni ARDUINO -ban a FELDOLGOZÁS segítségével !!!!): 5 lépés (képekkel)
SCARA Robot: Ismerkedés a foward és inverz kinematikával !!! (Plot Twist Ismerje meg, hogyan lehet valós idejű interfészt készíteni ARDUINO -ban FELDOLGOZÁSSAL !!!!): A SCARA robot nagyon népszerű gép az iparban. A név mind a szelektíven megfelelõ szerelõ robotkarra, mind a szelektív megfelelõ csuklós robotkarra vonatkozik. Ez alapvetően három szabadságfokú robot, az első kettő
Hogyan lehet felismerni a növényi betegségeket a gépi tanulás segítségével: 6 lépés
Hogyan lehet felismerni a növényi betegségeket a gépi tanulás segítségével: A beteg növények észlelésének és felismerésének folyamata mindig kézi és unalmas folyamat volt, amely megköveteli az emberektől, hogy szemrevételezzék a növény testét, ami gyakran hibás diagnózishoz vezethet. Azt is megjósolták, hogy globális szinten
Szobahőmérséklet -előrejelzés az LM35 érzékelő és a gépi tanulás segítségével: 4 lépés
Szobahőmérséklet -előrejelzés az LM35 érzékelő és a gépi tanulás segítségével: Bevezetés Ma egy olyan gépi tanulási projekt felépítésére összpontosítunk, amely polinomiális regresszió segítségével jósolja meg a hőmérsékletet. A gépi tanulás a mesterséges intelligencia (AI) alkalmazása, amely lehetővé teszi a rendszerek számára, hogy automatikusan megtanulják
Forgalmi jelentés ellenőrzése (NL) lábtörlővel: 6 lépés
Forgalmi jelentések ellenőrzése (NL) lábtörlővel: Ebben az utasításban leírom, hogyan kell építeni egy lábtörlőt, amely ellenőrzi a holland autópályák forgalmi jelentéseit. Amint kilép a lábtörlőre, és forgalmi dugó van az útvonalon, a szőnyeg piros színű lesz. Amikor nincs forgalom