Satura rādītājs:
- Piegādes
- 1. solis: motivācija
- 2. darbība: NVIDIA JetBot un projektu pārskats
- 3. darbība: izveidojiet JetBot un augšupielādējiet Jupyter piezīmjdatorus
- 4. solis: apmācības datu vākšana vietnē JetBot
- 5. solis: apmāciet neironu tīklu GPU mašīnā
- 6. darbība: palaidiet tiešraides demonstrāciju vietnē JetBot
Video: Pārneses mācīšanās ar NVIDIA JetBot - Izklaide ar satiksmes konusiem: 6 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:52
Autors: dvillevaldMy GithubFollow Par: Man patīk AI un mašīnmācīšanās lietojumprogrammas, īpaši robotikā Vairāk par dvillevald »
Māciet savam robotam atrast ceļu satiksmes konusu labirintā, izmantojot kameru un vismodernāko dziļās mācīšanās modeli.
Piegādes
-
NVIDIA JetBot
NVIDIA JetBot Wiki lapā Materiālu saraksts ir uzskaitīts viss nepieciešamais, lai izveidotu JetBot, kā arī saišu iegāde no populāriem pārdevējiem
-
Dators ar NVIDIA GPU
Nepieciešams, lai apmācītu modeli
- BlueDot Trading 4”RC Racing Agility Cones, oranžs - 20 komplekts
1. solis: motivācija
Katru reizi, braucot kontrakcijas zonā, es domāju, cik grūti būtu pašbraucošai automašīnai pārvietoties pa satiksmes konusiem. Izrādās, ka tas nav tik grūti ar jauno NVIDIA JetBot-tikai ar pāris simtiem attēlu jūs varat apmācīt vismodernāko dziļās mācīšanās modeli, lai iemācītu savam robotam atrast ceļu rotaļu satiksmes konusu labirintā izmantojot tikai borta kameru un nekādus citus sensorus.
2. darbība: NVIDIA JetBot un projektu pārskats
JetBot ir atvērtā koda robots, kura pamatā ir NVIDIA Jetson Nano komplekts. Šeit varat atrast detalizētus norādījumus par tā izveidi un iestatīšanu.
Šis projekts ir modificēts sadursmju novēršanas piemērs no NVIDIA JetBot Wiki. Tas sastāv no trim galvenajiem soļiem, no kuriem katrs ir aprakstīts atsevišķā Jupyter piezīmju grāmatiņā:
- Apkopojiet datus vietnē JetBot - piezīmju grāmatiņas data_collection_cones.ipynb
- Vilciena modelis citā GPU mašīnā - piezīmjdators train_model_cones.ipynb
- Palaidiet tiešraides demonstrāciju vietnē JetBot - notebook live_demo_cones.ipynb
Šīs trīs Jupyter piezīmjdatorus varat atrast šeit
3. darbība: izveidojiet JetBot un augšupielādējiet Jupyter piezīmjdatorus
- Izveidojiet un iestatiet JetBot, kā paskaidrots šeit
- Pievienojieties robotam, dodoties uz vietni https://: 8888Pierakstieties ar noklusējuma paroli jetbot
- Izslēdziet visas citas darbināmās piezīmjdatorus, atlasot Kodols -> Izslēgt visus kodolus …
- Dodieties uz ~/Piezīmju grāmatiņas/
- Izveidot jaunu apakšmapi ~/Piezīmju grāmatiņas/traffic_cones_driving/
- Augšupielādējiet data_collection_cones.ipynb un live_demo_cones.ipynb uz ~/Notebooks/traffic_cones_driving/
SVARĪGI! Šajā instrukcijā minētās Jupyter piezīmju grāmatiņas data_collection_cones.ipynb un live_demo_cones.ipynb jādarbina JetBot, bet train_model_cones.ipynb - datorā ar GPU.
Tāpēc mums ir jāaugšupielādē data_collection_cones.ipynb un live_demo_cones.ipynb JetBot un jāievieto mapē ~/Notebooks/traffic_cones_driving/
4. solis: apmācības datu vākšana vietnē JetBot
Mēs apkoposim attēlu klasifikācijas datu kopu, kas tiks izmantota, lai palīdzētu JetBot darboties satiksmes konusu labirintā. JetBot iemācīsies novērtēt četru scenāriju (klašu) varbūtības:
- Bezmaksas - kad ir droši virzīties uz priekšu
- Bloķēts - kad robota priekšā ir šķērslis
- Pa kreisi - kad robotam jāgriežas pa kreisi
- Pa labi - kad robotam vajadzētu griezties pa labi
Lai apkopotu apmācības datus vietnē JetBot, mēs izmantosim Jupyter piezīmjdatoru data_collection_cones.ipynb, kurā ir detalizēti norādījumi par to, kā to izdarīt. Lai palaistu šo piezīmju grāmatiņu vietnē JetBot, rīkojieties šādi:
- Izveidojiet savienojumu ar savu robotu, dodoties uz https://: jetbot-ip-address:: 8888
- Pierakstieties, izmantojot noklusējuma paroli jetbot
- Izslēdziet visas citas darbināmās piezīmjdatorus, atlasot Kodols -> Izslēgt visus kodolus …
- Dodieties uz ~/Piezīmju grāmatiņas/traffic_cones_driving/
- Atveriet piezīmju grāmatiņu data_collection_cones.ipynb un sekojiet tai
5. solis: apmāciet neironu tīklu GPU mašīnā
Tālāk mēs izmantosim savāktos datus, lai GPU mašīnā (resursdatorā) atkārtoti apmācītu dziļās mācīšanās modeli AlexNet, palaižot train_model_cones.ipynb.
Ņemiet vērā, ka train_model_cones.ipynb ir vienīgā Jupyter piezīmju grāmatiņa šajā apmācībā, kas netiek palaista JetBot
- Izveidojiet savienojumu ar GPU iekārtu, kurā ir instalēts PyTorch un darbojas Jupyter Lab serveris
- Augšupielādējiet train_model_cones.ipynb piezīmju grāmatiņu un šo mašīnu
- Augšupielādējiet dataset_cones.zip failu, ko izveidojāt piezīmju grāmatiņā data_collection_cones.ipynb, un izvelciet šo datu kopu. (Pēc šīs darbības failu pārlūkprogrammā vajadzētu redzēt mapi ar nosaukumu dataset_cones.)
- Atveriet piezīmju grāmatiņu train_model_cones.ipynb un sekojiet tai. Šī soļa beigās jūs izveidosit modeli - failu best_model_cones.pth, kas pēc tam jāaugšupielādē JetBot, lai palaistu demonstrācijas tiešraidi.
6. darbība: palaidiet tiešraides demonstrāciju vietnē JetBot
Pēdējais solis ir augšupielādēt modeli best_model_cones.pth JetBot un palaist to.
- Barojiet savu robotu no USB akumulatora
- Pievienojieties savam robotam, dodoties uz https://: jetbot-ip-address:: 8888
- Pierakstieties, izmantojot noklusējuma paroli jetbot
- Izslēdziet visas citas darbināmās piezīmjdatorus, atlasot Kodols -> Izslēgt visus kodolus …
- Pārejiet uz ~/Piezīmju grāmatiņas/traffic_cones_driving
- Atveriet un sekojiet piezīmju grāmatiņai live_demo_cones.ipynb
Sāciet piesardzīgi un dodiet JetBot pietiekami daudz vietas, lai pārvietotos. Izmēģiniet dažādas konusa konfigurācijas un noskaidrojiet, cik labi robots darbojas dažādās vidēs, apgaismojumā utt. Kamēr piezīmjdators live_demo_cones.ipynb detalizēti izskaidro visas darbības, nākamajā diagrammā ir parādīta robotu kustību loģika, ņemot vērā modeļu paredzētās varbūtības.
Piezīmjdatorā ir arī paskaidrots, kā saglabāt modeļa paredzēto brīvo/kreiso/labo/bloķēto varbūtību robotu kustību vēsturē un kā izveidot divus FPV (pirmās personas skata) videoklipus (ar ātrumu 1 kadrs un 15 kadri sekundē) ar pārklātu telemetriju un JetBot darbību dati. Tie ir noderīgi atkļūdošanai, PID regulatora regulēšanai un modeļa uzlabošanai.
Izklaidējieties un dariet man zināmu, ja jums ir jautājumi!:-)
Kods ir pieejams vietnē Github
Ieteicams:
DIY bezvadu enerģijas pārneses sistēma: 4 soļi (ar attēliem)
DIY bezvadu enerģijas pārneses sistēma: Šajā projektā es jums parādīšu, kā izveidot atbilstošu spoli un invertora ķēdi bezvadu enerģijas pārneses sistēmai, kas var viegli nodot jaudu 20W. Sāksim
Objektorientēta programmēšana: objektu veidošana Mācīšanās/mācīšanas metode/tehnika, izmantojot formas perforatoru: 5 soļi
Objektorientēta programmēšana: objektu radīšana Mācīšanās/mācīšanas metode/tehnika, izmantojot formas perforatoru: Mācīšanās/mācīšanas metode studentiem, kas ir jauni uz objektorientētu programmēšanu. Tas ir veids, kā ļaut viņiem vizualizēt un redzēt objektu veidošanas procesu no klasēm.Daļas: 1. EkTools 2 collu liels perforators; labākas ir cietas formas.2. Papīra gabals vai c
DIY siltuma tonera pārneses metode: 6 soļi
DIY siltuma tonera pārneses metode: vai esat kādreiz domājuši izveidot savu PCB savam projektam? Tas ir diezgan vienkārši, un es jums pastāstīšu, kā tieši;)
Objektorientēta programmēšana: objektu radīšana Mācīšanās/mācīšanas metode/tehnika, izmantojot šķēres: 5 soļi
Objektorientēta programmēšana: objektu radīšana Mācīšanās/mācīšanas metode/tehnika, izmantojot šķēres: Mācīšanās/mācīšanas metode studentiem, kas ir jauni uz objektorientētu programmēšanu. Tas ir veids, kā ļaut viņiem vizualizēt un redzēt objektu veidošanas procesu no klasēm.Daļas: 1. Šķēres (derēs jebkāda veida). 2. Papīra gabals vai kartons. 3. Marķieris
Divu krāsu dizaina siltuma pārneses vinils T-kreklam: 10 soļi (ar attēliem)
Divu krāsu dizaina siltuma pārneses vinils T-kreklam: Šī pamācība iemācīs jums izgatavot t-kreklu ar divkrāsainu vinila dizainu, izmantojot termopresi. Materiāli-Siltuma pārneses vinils Vinila griezējs Dators ar Vinylmaster programmu Siltuma prese Šķēres Metinātājs T-krekls RulerX-ACTO nazis