Indholdsfortegnelse:
- Forbrugsvarer
- Trin 1: Motivation
- Trin 2: NVIDIA JetBot og projektoversigt
- Trin 3: Byg JetBot, og upload Jupyter -notesbøger
- Trin 4: Indsamling af træningsdata på JetBot
- Trin 5: Træn neuralt netværk på GPU -maskine
- Trin 6: Kør Live Demo på JetBot
Video: Transferlæring med NVIDIA JetBot - sjovt med trafikkegler: 6 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:26
Af dvillevaldMy GithubFølg om: Jeg kan godt lide AI og applikationer til maskinlæring, især inden for robotik Mere om dvillevald »
Lær din robot at finde en sti i en labyrint af trafikkegler ved hjælp af kameraet og den state-of-the-art dybe læringsmodel.
Forbrugsvarer
-
NVIDIA JetBot
NVIDIA JetBot Wiki's Bill of Materials -side viser alt, hvad du har brug for til at bygge JetBot, sammen med køb af links fra populære leverandører
-
Computer med NVIDIA GPU
Behov for at træne modellen
- BlueDot Trading 4”RC Racing Agility Kegler, Orange - Sæt med 20 stk
Trin 1: Motivation
Hver gang jeg kører i sammentrækningsområdet, tænker jeg på, hvor udfordrende det ville være for en selvkørende bil at navigere gennem trafikkeglerne. Det viser sig, at det ikke er så svært med nye NVIDIAs JetBot-med kun et par hundrede billeder kan du træne en topmoderne dyb læringsmodel til at lære din robot at finde en sti i en labyrint af legetøjstrafikkegler kun ved hjælp af det indbyggede kamera og ingen andre sensorer.
Trin 2: NVIDIA JetBot og projektoversigt
JetBot er en open source-robot baseret på NVIDIA Jetson Nano-kit. Du kan finde detaljerede instruktioner om, hvordan du bygger og opsætter det her.
Dette projekt er et modificeret kollisionsundgåelseseksempel fra NVIDIA JetBot Wiki. Den består af tre store trin, der hver er beskrevet i en separat Jupyter -notesbog:
- Indsaml data på JetBot - notebook data_collection_cones.ipynb
- Togmodel på anden GPU -maskine - notebook train_model_cones.ipynb
- Kør live demo på JetBot - notebook live_demo_cones.ipynb
Du kan finde disse tre Jupyter -notesbøger her
Trin 3: Byg JetBot, og upload Jupyter -notesbøger
- Byg og konfigurer JetBot som forklaret her
- Opret forbindelse til din robot ved at navigere til https://: 8888 Log ind med standardadgangskoden jetbot
- Luk alle andre kørende notesbøger ved at vælge Kernel -> Shutdown All Kernels …
- Naviger til ~/Notebooks/
- Opret ny undermappe ~/Notebooks/traffic_cones_driving/
- Upload data_collection_cones.ipynb og live_demo_cones.ipynb til ~/Notebooks/traffic_cones_driving/
VIGTIGT: Jupyter -notesbøgerne data_collection_cones.ipynb og live_demo_cones.ipynb, der refereres til i denne vejledning, bør køres på JetBot, mens train_model_cones.ipynb - på en computer med GPU.
Derfor skal vi uploade data_collection_cones.ipynb og live_demo_cones.ipynb til JetBot og placere dem i ~/Notebooks/traffic_cones_driving/
Trin 4: Indsamling af træningsdata på JetBot
Vi vil indsamle et datasæt til billedklassificering, der skal bruges til at hjælpe JetBot med at operere i en labyrint af trafikkeglerne. JetBot lærer at estimere sandsynlighederne for fire scenarier (klasser):
- Gratis - når det er sikkert at komme videre
- Blokeret - når der er en forhindring foran robotten
- Venstre - når robotten skal dreje til venstre
- Højre - når robotten skal dreje til højre
For at indsamle træningsdataene på JetBot bruger vi Jupyter notebook data_collection_cones.ipynb, som indeholder detaljerede instruktioner om, hvordan du gør det. Følg de følgende trin for at køre denne notesbog på JetBot:
- Opret forbindelse til din robot ved at navigere til https://: jetbot-ip-adresse:: 8888
- Log ind med standardadgangskoden jetbot
- Luk alle andre kørende notebooks ved at vælge Kernel -> Shutdown All Kernels …
- Naviger til ~/Notebooks/traffic_cones_driving/
- Åbn og følg notesbogen data_collection_cones.ipynb
Trin 5: Træn neuralt netværk på GPU -maskine
Dernæst vil vi bruge de indsamlede data til at genuddanne deep learning-modellen AlexNet på GPU-maskine (vært) ved at køre train_model_cones.ipynb.
Bemærk, at train_model_cones.ipynb er den eneste Jupyter -notesbog i denne vejledning, der IKKE køres på JetBot
- Opret forbindelse til en GPU -maskine med PyTorch installeret og en Jupyter Lab -server kører
- Upload train_model_cones.ipynb notesbog og til denne maskine
- Upload datasæt_cones.zip -fil, som du har oprettet i notesbogen data_collection_cones.ipynb, og udpak dette datasæt. (Efter dette trin skal du se en mappe med navnet dataset_cones vises i filbrowseren.)
- Åbn og følg notesbogen train_model_cones.ipynb. I slutningen af dette trin opretter du en model - filen best_model_cones.pth, som derefter skal uploades til JetBot for at køre live -demoen.
Trin 6: Kør Live Demo på JetBot
Dette sidste trin er at uploade modellen best_model_cones.pth til JetBot og køre den.
- Tænd din robot fra USB -batteripakken
- Opret forbindelse til din robot ved at navigere til https://: jetbot-ip-adresse:: 8888
- Log ind med standardadgangskoden jetbot
- Luk alle andre kørende notesbøger ved at vælge Kernel -> Shutdown All Kernels …
- Naviger til ~/Notebooks/traffic_cones_driving
- Åbn og følg notesbogen live_demo_cones.ipynb
Start forsigtigt, og giv JetBot plads nok til at flytte rundt. Prøv forskellige keglekonfigurationer og se, hvor godt robotten klarer sig i forskellige miljøer, belysning osv. Mens notebook'en live_demo_cones.ipynb forklarer alle trin i detaljer, viser følgende diagram logikken i robotbevægelser givet de sandsynligheder, som modellerne forudsiger.
Notebook'en forklarer også, hvordan man opbevarer historien om robotbevægelser med frie/venstre/højre/blokerede sandsynligheder forudsagt af modellen, og hvordan man laver to FPV -videoer (First Person View) (med 1 fps og 15 fps -hastigheder) med overlejret telemetri og JetBot -handlinger. Disse er nyttige til fejlfinding, PID -controller -tuning og modelforbedringer.
God fornøjelse og lad mig vide, hvis du har spørgsmål!:-)
Koden er tilgængelig på Github
Anbefalede:
Akustisk levitation med Arduino Uno trin for trin (8 trin): 8 trin
Akustisk levitation med Arduino Uno Step-by Step (8-trin): ultralyds lydtransducere L298N Dc kvindelig adapter strømforsyning med en han-DC-pin Arduino UNOBreadboard Sådan fungerer det: Først uploader du kode til Arduino Uno (det er en mikrokontroller udstyret med digital og analoge porte til konvertering af kode (C ++)
Nvidia Jetson Nano Tutorial - Første kig med AI & ML: 7 trin
Nvidia Jetson Nano Tutorial | Første kig med AI & ML: Hey, hvad sker der gutter! Akarsh her fra CETech. I dag tager vi et kig på en ny SBC fra Nvidia, som er Jetson Nano, Jetson Nano er fokuseret på kunstig intelligens teknikker som billedgenkendelse osv. Vi vil først starte
Kom godt i gang med NVIDIA Jetson Nano Developer Kit: 6 trin
Kom godt i gang med NVIDIA Jetson Nano Developer Kit: Kort oversigt over Nvidia Jetson NanoJetson Nano Developer Kit er en lille, kraftfuld single-board computer, der lader dig køre flere neurale netværk parallelt til applikationer som billedklassificering, objektregistrering, segmentering og tale pr
Rettelse af en ødelagt Nvidia GPU -blæser: 5 trin
Rettelse af en ødelagt Nvidia GPU-blæser: Hej. Jeg har et Nvidia GTS-450 grafikkort og har brugt det i mange år, men i det forløbne år blev ventilatoren gået i stykker, og så måtte jeg vedhæfte en nødventilator. Jeg søgte meget online om en udskiftning, men jeg fandt ikke den nøjagtige og den originale ventilator
Danger Den / Nvidia Tri SLI vandkølet gaming -pc: 7 trin
Danger Den / Nvidia Tri SLI vandkølet gaming -pc: For halvandet år siden byggede jeg en stor gaming -rig, nu dens gamle hardware. Jeg ville opdatere den, hovedsageligt bytte min 2 GeForce 8800 GTX til en skinnende ny GeForce GTX 280. Men jeg gik " gal videnskabsmand? &Quot; og bygge og helt ny rig, starter