Sadržaj:
- Pribor
- Korak 1: Motivacija
- Korak 2: NVIDIA JetBot i pregled projekta
- Korak 3: Izgradite JetBot i postavite Jupyter bilježnice
- Korak 4: Prikupljanje podataka o obuci na JetBotu
- Korak 5: Vježbajte neuronsku mrežu na GPU stroju
- Korak 6: Pokrenite demo demonstraciju uživo na JetBotu
Video: Prijenos učenja s NVIDIA JetBotom - zabava s prometnim češerima: 6 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:32
Autor dvillevaldMy GithubFollow O: Sviđaju mi se umjetna inteligencija i aplikacije za strojno 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 najsuvremeniji model dubokog učenja.
Pribor
-
NVIDIA JetBot
NVIDIA JetBot Wiki stranica sa materijalima navodi sve što vam je potrebno za izgradnju JetBot -a, zajedno s kupnjom veza od popularnih dobavljača
-
Računalo s NVIDIA GPU -om
Potrebno za uvježbavanje modela
- BlueDot Trading 4”RC Racing Agility čunjevi, narančasta - set od 20 komada
Korak 1: Motivacija
Svaki put kad se vozim u zoni kontrakcije, razmišljam koliko bi izazov za auto koji se sam kreće kroz prometne stošce bilo izazovno. 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 nema drugih senzora.
Korak 2: NVIDIA JetBot i pregled projekta
JetBot je robot otvorenog koda temeljen na NVIDIA Jetson Nano kompletu. Ovdje možete pronaći detaljne upute 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 zasebnoj bilježnici Jupyter:
- Prikupljajte podatke na JetBotu - prijenosno računalo data_collection_cones.ipynb
- Model vlaka na drugom GPU stroju - prijenosno računalo train_model_cones.ipynb
- Pokrenite demonstraciju uživo na JetBotu - prijenosno računalo live_demo_cones.ipynb
Ove tri Jupyter bilježnice možete pronaći ovdje
Korak 3: Izgradite JetBot i postavite Jupyter bilježnice
- Izgradite i postavite JetBot kako je ovdje objašnjeno
- Povežite se sa svojim robotom tako što ćete otići na https://: 8888Prijavite se sa zadanom lozinkom jetbot
- Isključite sve ostale prijenosne računare odabirom Kernel -> Shutdown All Kernels …
- Idite na ~/Bilježnice/
- Izradi novu podmapu ~/Bilježnice/traffic_cones_driving/
- Prenesite data_collection_cones.ipynb i live_demo_cones.ipynb u ~/Bilježnice/traffic_cones_driving/
VAŽNO: Prijenosne računare Jupyter data_collection_cones.ipynb i live_demo_cones.ipynb navedene u ovim uputama trebale bi se izvoditi na JetBotu, dok train_model_cones.ipynb - na računalu s 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 - kad 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 prijenosno računalo data_collection_cones.ipynb koje sadrži detaljne upute kako to učiniti. Da biste pokrenuli ovu bilježnicu na JetBotu, slijedite sljedeće korake:
- Povežite se 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 ~/Bilježnice/traffic_cones_driving/
- Otvorite i slijedite bilježnicu data_collection_cones.ipynb
Korak 5: Vježbajte neuronsku mrežu na GPU stroju
Zatim ćemo prikupljene podatke koristiti za ponovno uvježbavanje modela dubokog učenja AlexNet na GPU stroju (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 s GPU strojem s instaliranim PyTorch -om i poslužiteljem Jupyter Lab poslužitelja
- Prenesite bilježnicu train_model_cones.ipynb i na ovaj stroj
- Prenesite 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 da se u pregledniku datoteka pojavljuje mapa s nazivom skupovi podataka_cones.)
- 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 kako biste pokrenuli demo demonstraciju uživo.
Korak 6: Pokrenite demo demonstraciju uživo na JetBotu
Ovaj posljednji korak je prenijeti model best_model_cones.pth na JetBot i pokrenuti ga.
- Napajajte 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 ~/Bilježnice/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 koje predviđaju modeli.
Bilježnica također objašnjava kako pohraniti povijest kretanja robota sa slobodnim/lijevim/desnim/blokiranim vjerojatnostima 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. Oni su korisni za ispravljanje pogrešaka, podešavanje PID kontrolera i poboljšanje modela.
Zabavite se i javite mi ako imate pitanja!:-)
Kod je dostupan na Githubu
Preporučeni:
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 globalno biti
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 traži udaljenost, i zajedno s malim kodom koji uzima tu udaljenost i stavlja je kroz
Olakšavanje učenja elektronike i programiranja pomoću Vizualnog DIY radnog stola: 3 koraka
Olakšavanje učenja elektronike i programiranja pomoću Vizualnog DIY radnog stola: Jeste li ikada poželjeli potaknuti djecu na učenje o elektronici i mikrokontrolerima? No, uobičajeni problem s kojim se često susrećemo je da je maloj djeci teško razumjeti osnovno znanje o tom području. Postoji nekoliko ploča na
Predviđanje sobne temperature putem LM35 senzora i strojnog učenja: 4 koraka
Predviđanje sobne temperature putem LM35 senzora i strojnog učenja: Uvod Danas smo usredotočeni na izradu projekta strojnog učenja koji predviđa temperaturu pomoću polinomske regresije. Strojno učenje je aplikacija umjetne inteligencije (AI) koja sustavima omogućuje automatsko učenje
Zaustavite svoju djecu u igranju tijekom učenja: 4 koraka
Zaustavite svoju djecu u igranju tijekom 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