Innholdsfortegnelse:
- Rekvisita
- Trinn 1: Motivasjon
- Trinn 2: Oversikt over NVIDIA JetBot og prosjekt
- Trinn 3: Bygg JetBot og last opp Jupyter Notebooks
- Trinn 4: Samle opplæringsdata på JetBot
- Trinn 5: Tren nevrale nettverk på GPU -maskinen
- Trinn 6: Kjør Live Demo på JetBot
Video: Overføringslæring med NVIDIA JetBot - moro med trafikkjegler: 6 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:21
Av dvillevaldMy GithubFølg Om: Jeg liker AI og maskinlæringsapplikasjoner, spesielt innen robotikk Mer om dvillevald »
Lær roboten din å finne en bane i en labyrint av trafikkjegler ved hjelp av kameraet og den toppmoderne dype læringsmodellen.
Rekvisita
-
NVIDIA JetBot
NVIDIA JetBot Wiki's Bill of Materials -side viser alt du trenger for å bygge JetBot, sammen med kjøp av lenker fra populære leverandører
-
Datamaskin med NVIDIA GPU
Nødvendig for å trene modellen
- BlueDot Trading 4”RC Racing Agility -kjegler, oransje - sett med 20 stk
Trinn 1: Motivasjon
Hver gang jeg kjører i sammentrekningsområdet, tenker jeg på hvor utfordrende det ville være for en selvkjørende bil å navigere gjennom trafikkjeglene. Det viser seg at det ikke er så vanskelig med nye NVIDIAs JetBot-med bare et par hundre bilder kan du trene en toppmoderne dyplæringsmodell for å lære roboten din hvordan du finner en bane i en labyrint av leke-trafikkjegler kun ved hjelp av det innebygde kameraet og ingen andre sensorer.
Trinn 2: Oversikt over NVIDIA JetBot og prosjekt
JetBot er en åpen kildekode-robot basert på NVIDIA Jetson Nano-sett. Du finner detaljerte instruksjoner om hvordan du bygger og konfigurerer det her.
Dette prosjektet er et modifisert kollisjonseksempel fra NVIDIA JetBot Wiki. Den består av tre hovedtrinn, hver beskrevet i en egen Jupyter -notatbok:
- Samle data på JetBot - notatbok data_collection_cones.ipynb
- Togmodell på en annen GPU -maskin - notatbok train_model_cones.ipynb
- Kjør live demo på JetBot - notatbok live_demo_cones.ipynb
Du finner disse tre Jupyter -notatbøkene her
Trinn 3: Bygg JetBot og last opp Jupyter Notebooks
- Bygg og konfigurer JetBot som forklart her
- Koble til roboten din ved å navigere til https://: 8888 Logg deg på med standard passord jetbot
- Slå av alle andre bærbare datamaskiner som kjører ved å velge Kernel -> Shutdown All Kernels …
- Naviger til ~/Notebooks/
- Opprett ny undermappe ~/Notebooks/traffic_cones_driving/
- Last opp data_collection_cones.ipynb og live_demo_cones.ipynb til ~/Notebooks/traffic_cones_driving/
VIKTIG: Jupyter -notatbøkene data_collection_cones.ipynb og live_demo_cones.ipynb som refereres til i denne instruksjonen, bør kjøres på JetBot mens train_model_cones.ipynb - på en datamaskin med GPU.
Derfor må vi laste opp data_collection_cones.ipynb og live_demo_cones.ipynb til JetBot og plassere dem i ~/Notebooks/traffic_cones_driving/
Trinn 4: Samle opplæringsdata på JetBot
Vi vil samle et datasett for bildeklassifisering som skal brukes til å hjelpe JetBot med å operere i en labyrint av trafikkjeglene. JetBot vil lære å estimere sannsynligheter for fire scenarier (klasser):
- Gratis - når det er trygt å gå videre
- Blokkert - når det er et hinder foran roboten
- Venstre - når roboten skal snurre til venstre
- Høyre - når roboten skal snurre til høyre
For å samle treningsdataene på JetBot bruker vi Jupyter notebook data_collection_cones.ipynb som inneholder detaljerte instruksjoner om hvordan du gjør det. Følg de neste trinnene for å kjøre denne notatblokken på JetBot:
- Koble til roboten din ved å navigere til https://: jetbot-ip-adresse:: 8888
- Logg på med standardpassordet jetbot
- Slå av alle andre bærbare datamaskiner som kjører ved å velge Kernel -> Shutdown All Kernels …
- Naviger til ~/Notebooks/traffic_cones_driving/
- Åpne og følg datamaskinen data_collection_cones.ipynb
Trinn 5: Tren nevrale nettverk på GPU -maskinen
Deretter vil vi bruke de innsamlede dataene til å trene dyplæringsmodellen AlexNet på nytt på GPU-maskin (vert) ved å kjøre train_model_cones.ipynb.
Vær oppmerksom på at train_model_cones.ipynb er den eneste Jupyter -notatboken i denne opplæringen som IKKE kjøres på JetBot
- Koble til en GPU -maskin med PyTorch installert og en Jupyter Lab -server kjører
- Last opp train_model_cones.ipynb notatbok og til denne maskinen
- Last opp dataset_cones.zip -filen du opprettet i data_collection_cones.ipynb -notatboken, og trekk ut dette datasettet. (Etter dette trinnet bør du se en mappe med navnet dataset_cones vises i filleseren.)
- Åpne og følg notatblokken train_model_cones.ipynb. På slutten av dette trinnet vil du lage en modell - filen best_model_cones.pth som deretter må lastes opp til JetBot for å kjøre live -demoen.
Trinn 6: Kjør Live Demo på JetBot
Dette siste trinnet er å laste opp modellen best_model_cones.pth til JetBot og kjøre den.
- Kjør roboten fra USB -batteripakken
- Koble tilbake til roboten din ved å navigere til https://: jetbot-ip-adresse:: 8888
- Logg på med standardpassordet jetbot
- Slå av alle andre bærbare datamaskiner som kjører ved å velge Kernel -> Shutdown All Kernels …
- Naviger til ~/Notebooks/traffic_cones_driving
- Åpne og følg notatblokken live_demo_cones.ipynb
Begynn forsiktig og gi JetBot nok plass til å bevege seg rundt. Prøv en annen kjeglekonfigurasjon og se hvor godt roboten yter i forskjellige miljøer, belysning osv. Mens den bærbare datamaskinen live_demo_cones.ipynb forklarer alle trinnene i detalj, viser følgende diagram logikken for robotbevegelser gitt sannsynlighetene som modellene forutsier.
Notatboken forklarer også hvordan du lagrer historien til robotbevegelser med frie/venstre/høyre/blokkerte sannsynligheter forutsagt av modellen og hvordan du lager to FPV (First Person View) -videoer (med 1 fps og 15 fps) med overlagret telemetri og JetBot -handlinger. Disse er nyttige for feilsøking, tuning av PID -kontroller og modellforbedring.
Ha det gøy og gi meg beskjed hvis du har spørsmål!:-)
Koden er tilgjengelig på Github
Anbefalt:
Nvidia Jetson Nano -opplæring - Første blikk med AI og ML: 7 trinn
Nvidia Jetson Nano -opplæring | Første blikk med AI & ML: Hei, hva skjer gutter! Akarsh her fra CETech. I dag skal vi ta en titt på en ny SBC fra Nvidia som er Jetson Nano, Jetson Nano er fokusert på kunstig intelligens teknikker som bildegjenkjenning osv. Vi skal først starte
Komme i gang med NVIDIA Jetson Nano Developer Kit: 6 trinn
Komme i gang med NVIDIA Jetson Nano Developer Kit: Kort oversikt over Nvidia Jetson NanoJetson Nano Developer Kit er en liten, kraftig enbrett-datamaskin som lar deg kjøre flere nevrale nettverk parallelt for applikasjoner som bildeklassifisering, objektsdeteksjon, segmentering og tale pr
Slik demonterer du en datamaskin med enkle trinn og bilder: 13 trinn (med bilder)
Slik demonterer du en datamaskin med enkle trinn og bilder: Dette er en instruksjon om hvordan du demonterer en PC. De fleste grunnkomponentene er modulære og fjernes lett. Det er imidlertid viktig at du er organisert om det. Dette vil bidra til å hindre deg i å miste deler, og også i å gjøre monteringen igjen
Å fikse en ødelagt Nvidia GPU -vifte: 5 trinn
Å fikse en ødelagt Nvidia GPU-vifte: Hei. Jeg har et Nvidia GTS-450 grafikkort og har brukt det i mange år, men det siste året ble viften ødelagt, og da måtte jeg koble til en nødvifte. Jeg søkte mye på nettet om en erstatning, men jeg fant ikke den eksakte og den originale viften
Danger Den / Nvidia Tri SLI Vannkjølt spill -PC: 7 trinn
Danger Den / Nvidia Tri SLI Vannkjølt spill -PC: For halvannet år siden bygde jeg en heftig spillrigg, nå den gamle maskinvaren. Jeg hadde tenkt å oppdatere den, hovedsakelig byttet min 2 GeForce 8800 GTX for en ny, skinnende GeForce GTX 280. Men jeg ble "gal vitenskapsmann?" og bygge og helt ny rigg, starter