Sadržaj:
- Supplies
- Korak 1: Motivacija
- Korak 2: NVIDIA JetBot i pregled projekta
- Korak 3: Napravite JetBot i postavite Jupyter bilježnice
- Korak 4: Prikupljanje podataka o obuci na JetBotu
- Korak 5: Obučite neuronsku mrežu na GPU mašini
- Korak 6: Pokrenite demo demonstraciju uživo na JetBotu
Video: Prijenos učenja s NVIDIA JetBotom - zabava sa prometnim češerima: 6 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:04
Autor dvillevaldMy GithubFollow O: Volim AI i aplikacije za mašinsko učenje, posebno u robotici Više o dvillevaldu »
Naučite svog robota da pronađe put u labirintu prometnih čunjeva koristeći kameru i najsavremeniji model dubokog učenja.
Supplies
-
NVIDIA JetBot
NVIDIA JetBot Wiki stranica sa materijalima navodi sve što vam je potrebno za izgradnju JetBot -a, zajedno sa kupovinama veza od popularnih dobavljača
-
Računar sa NVIDIA GPU -om
Potrebno za obuku modela
- BlueDot Trading 4”RC Racing Agility čunjevi, narančasti - set od 20 komada
Korak 1: Motivacija
Svaki put kad se vozim u zoni skupljanja, razmišljam koliko bi izazov bilo za auto koji se sam vozi da se kreće kroz saobraćajne čunjeve. Ispostavilo se da nije tako teško s novim NVIDIA-inim JetBotom-sa samo nekoliko stotina slika možete istrenirati vrhunski model dubokog učenja kako biste naučili svog robota kako pronaći put u labirintu igračaka u prometnim konusima koristite samo ugrađenu kameru i druge senzore.
Korak 2: NVIDIA JetBot i pregled projekta
JetBot je robot otvorenog koda zasnovan na NVIDIA Jetson Nano kompletu. Ovdje možete pronaći detaljna uputstva o tome kako ga izgraditi i postaviti.
Ovaj projekt je izmijenjeni primjer izbjegavanja sudara iz NVIDIA JetBot Wiki. Sastoji se od tri glavna koraka, od kojih je svaki opisan u posebnoj Jupyter bilježnici:
- Prikupite podatke na JetBotu - prijenosno računalo data_collection_cones.ipynb
- Model voza na drugoj GPU mašini - notebook train_model_cones.ipynb
- Pokrenite demo demonstraciju uživo na JetBotu - prijenosno računalo live_demo_cones.ipynb
Ove tri Jupyter bilježnice možete pronaći ovdje
Korak 3: Napravite JetBot i postavite Jupyter bilježnice
- Napravite i postavite JetBot kako je ovdje objašnjeno
- Povežite se sa robotom tako što ćete otići na https://: 8888 Prijavite se sa zadanom lozinkom jetbot
- Isključite sve ostale prijenosne računare odabirom Kernel -> Shutdown All Kernels …
- Idite na ~/Bilježnice/
- Kreiraj novu podmapu ~/Bilježnice/traffic_cones_driving/
- Otpremite data_collection_cones.ipynb i live_demo_cones.ipynb na ~/Bilježnice/traffic_cones_driving/
VAŽNO: Prijenosne računare Jupyter data_collection_cones.ipynb i live_demo_cones.ipynb navedene u ovim uputama treba pokrenuti na JetBotu, dok train_model_cones.ipynb - na računaru sa GPU -om.
Stoga moramo učitati data_collection_cones.ipynb i live_demo_cones.ipynb u JetBot i postaviti ih u ~/Notebooks/traffic_cones_driving/
Korak 4: Prikupljanje podataka o obuci na JetBotu
Prikupit ćemo skup podataka o klasifikaciji slika koji će se koristiti za pomoć JetBotu u radu u labirintu prometnih čunjeva. JetBot će naučiti kako procijeniti vjerojatnost četiri scenarija (klase):
- Besplatno - kada je sigurno krenuti naprijed
- Blokirano - kada postoji prepreka ispred robota
- Lijevo - kada bi se robot trebao okrenuti ulijevo
- Desno - kada bi se robot trebao okrenuti udesno
Za prikupljanje podataka o obuci na JetBotu koristit ćemo Jupyter bilježnicu data_collection_cones.ipynb koja sadrži detaljna uputstva kako to učiniti. Da biste pokrenuli ovu bilježnicu na JetBotu, slijedite sljedeće korake:
- Povežite se sa robotom tako što ćete otići na https://: jetbot-ip-address:: 8888
- Prijavite se sa zadanom lozinkom jetbot
- Isključite sve ostale prijenosne računare odabirom Kernel -> Shutdown All Kernel…
- Idite na ~/Bilježnice/traffic_cones_driving/
- Otvorite i slijedite bilježnicu data_collection_cones.ipynb
Korak 5: Obučite neuronsku mrežu na GPU mašini
Zatim ćemo koristiti prikupljene podatke za ponovno uvježbavanje modela dubokog učenja AlexNet na GPU mašini (host) pokretanjem train_model_cones.ipynb.
Imajte na umu da je train_model_cones.ipynb jedina Jupyterova bilježnica u ovom vodiču koja se NE izvodi na JetBotu
- Povežite se sa GPU mašinom sa instaliranim PyTorch -om i pokrenutim Jupyter Lab serverom
- Otpremite beležnicu train_model_cones.ipynb i na ovu mašinu
- Otpremite datoteku skupa podataka_cones.zip koju ste stvorili u bilježnici data_collection_cones.ipynb i izdvojite ovaj skup podataka. (Nakon ovog koraka trebali biste vidjeti fasciklu pod nazivom set_cones koja se pojavljuje u pregledniku datoteka.)
- Otvorite i slijedite bilježnicu train_model_cones.ipynb. Na kraju ovog koraka stvorit ćete model - datoteku best_model_cones.pth koju zatim morate učitati u JetBot da biste pokrenuli demo demo.
Korak 6: Pokrenite demo demonstraciju uživo na JetBotu
Ovaj posljednji korak je prenijeti model best_model_cones.pth na JetBot i pokrenuti ga.
- Napajte svog robota iz USB baterije
- Ponovo se povežite sa svojim robotom tako što ćete otići na https://: jetbot-ip-address:: 8888
- Prijavite se sa zadanom lozinkom jetbot
- Isključite sve ostale prijenosne računare odabirom Kernel -> Shutdown All Kernels …
- Idite na ~/Notebooks/traffic_cones_driving
- Otvorite i slijedite bilježnicu live_demo_cones.ipynb
Počnite oprezno i dajte JetBotu dovoljno prostora za kretanje. Isprobajte drugačiju konfiguraciju konusa i pogledajte koliko dobro robot radi u različitim okruženjima, osvjetljenju itd. Dok prijenosno računalo live_demo_cones.ipynb detaljno objašnjava sve korake, sljedeći grafikon prikazuje logiku kretanja robota s obzirom na vjerojatnosti predviđene modelima.
Bilježnica također objašnjava kako pohraniti historiju kretanja robota sa slobodnim/lijevim/desnim/blokiranim vjerovatnoćama predviđenim modelom i kako napraviti dva video zapisa FPV (pogled prve osobe) (pri brzinama od 1 fps i 15 fps) sa superponiranom telemetrijom i Podaci o radnjama JetBot -a. Oni su korisni za otklanjanje grešaka, podešavanje PID kontrolera i poboljšanje modela.
Zabavite se i javite mi ako imate pitanja!:-)
Kod je dostupan na Githubu
Preporučuje se:
Kako otkriti biljne bolesti pomoću strojnog učenja: 6 koraka
Kako otkriti biljne bolesti pomoću strojnog učenja: Proces otkrivanja i prepoznavanja oboljelih biljaka oduvijek je bio ručan i dosadan proces koji od ljudi zahtijeva vizualni pregled biljnog tijela što često može dovesti do pogrešne dijagnoze. Predviđeno je i da će globalni
Standardi, mjerila i ciljevi učenja: 5 koraka
Standardi, mjerila i ciljevi učenja: Ovo uputstvo će provesti učenika kroz konstrukciju parkirnog senzora pomoću arduina. Konkretno, ja ću imati ultrazvučni senzor koji stalno istražuje udaljenost, i zajedno s malim kodom koji uzima tu udaljenost i stavlja je kroz
Olakšavanje učenja elektronike i programiranja pomoću Vizuelnog DIY radnog stola: 3 koraka
Olakšavanje učenja elektronike i programiranja pomoću Visual DIY radnog stola: Jeste li ikada željeli inspirirati djecu da uče o elektronici i mikrokontrolerima? Ali zajednički problem s kojim se često susrećemo je da je maloj djeci teško razumjeti osnovno znanje iz ove oblasti. Postoji nekoliko ploča na
Predviđanje sobne temperature putem LM35 senzora i mašinskog učenja: 4 koraka
Predviđanje sobne temperature putem LM35 senzora i mašinskog učenja: Uvod Danas smo fokusirani na izradu projekta strojnog učenja koji predviđa temperaturu pomoću polinomske regresije. Mašinsko učenje je aplikacija umjetne inteligencije (AI) koja sistemima omogućava automatsko učenje
Zaustavite svoju djecu u igranju tokom učenja: 4 koraka
Zaustavite svoju djecu u igranju tokom učenja: Igranje video igara veliki je problem koji studenti imaju dok bi trebali učiti. Mnogi učenici pate od igranja igara umjesto učenja što im daje loše ocjene. Roditelji su ljuti i zabrinuti za svoje dijete, pa su odlučili uzeti