Turinys:

Mokymasis perkelti naudojant „NVIDIA JetBot“- linksmybės su srauto kūgiais: 6 žingsniai
Mokymasis perkelti naudojant „NVIDIA JetBot“- linksmybės su srauto kūgiais: 6 žingsniai

Video: Mokymasis perkelti naudojant „NVIDIA JetBot“- linksmybės su srauto kūgiais: 6 žingsniai

Video: Mokymasis perkelti naudojant „NVIDIA JetBot“- linksmybės su srauto kūgiais: 6 žingsniai
Video: Become A Master Of SDXL Training With Kohya SS LoRAs - Combine Power Of Automatic1111 & SDXL LoRAs 2024, Lapkritis
Anonim

Autorius dvillevaldMy GithubFollow Apie: Man patinka dirbtinis intelektas ir mašininio mokymosi programos, ypač robotikoje Plačiau apie dvillevald »

Išmokykite savo robotą rasti kelią eismo spurgų labirinte, naudodamiesi fotoaparatu ir moderniausiu gilaus mokymosi modeliu.

Prekės

  • „NVIDIA JetBot“

    „NVIDIA JetBot Wiki“medžiagų sąrašo puslapyje pateikiama viskas, ko reikia „JetBot“kūrimui, taip pat nuorodos iš populiarių pardavėjų

  • Kompiuteris su NVIDIA GPU

    Reikia mokyti modelį

  • „BlueDot Trading“4 colių „RC Racing Agility“kūgiai, oranžiniai - 20 rinkinys

1 žingsnis: motyvacija

Image
Image

Kiekvieną kartą, kai važiuoju susitraukimo zonoje, galvoju, kaip sunku būtų savarankiškai vairuojančiam automobiliui naršyti eismo kūgiais. Pasirodo, tai nėra taip sunku su naujuoju „NVIDIA“„JetBot“-turėdami vos porą šimtų vaizdų, galite išmokyti pažangiausio gilaus mokymosi modelio, kad išmokytumėte savo robotą rasti kelią žaislinių eismo spurgų labirinte naudojant tik borto kamerą ir jokių kitų jutiklių.

2 veiksmas: „NVIDIA JetBot“ir projekto apžvalga

„NVIDIA JetBot“ir projekto apžvalga
„NVIDIA JetBot“ir projekto apžvalga

„JetBot“yra atvirojo kodo robotas, pagrįstas „NVIDIA Jetson Nano“rinkiniu. Čia galite rasti išsamias instrukcijas, kaip ją sukurti ir nustatyti.

Šis projektas yra modifikuotas susidūrimo išvengimo pavyzdys iš „NVIDIA JetBot Wiki“. Jį sudaro trys pagrindiniai žingsniai, kurių kiekvienas aprašytas atskirame „Jupyter“sąsiuvinyje:

  • Surinkite duomenis „JetBot“- nešiojamojo kompiuterio duomenys_surinkimo_konesai.ipynb
  • Traukinio modelis kitame GPU įrenginyje - nešiojamasis traukinys_modelis_konesai.ipynb
  • Vykdykite tiesioginę demonstraciją „JetBot“- nešiojamasis kompiuteris live_demo_cones.ipynb

Šiuos tris „Jupyter“sąsiuvinius rasite čia

3 veiksmas: sukurkite „JetBot“ir įkelkite „Jupyter“bloknotus

  1. Sukurkite ir nustatykite „JetBot“, kaip paaiškinta čia
  2. Prisijunkite prie savo roboto, eidami į https://: 8888Prisijunkite naudodami numatytąjį slaptažodį „jetbot“
  3. Išjunkite visas kitas veikiančias užrašines, pasirinkdami branduolį -> Išjungti visus branduolius …
  4. Eikite į ~/Užrašinės/
  5. Sukurti naują poaplankį ~/Notebooks/traffic_cones_driving/
  6. Įkelkite data_collection_cones.ipynb ir live_demo_cones.ipynb į ~/Notebooks/traffic_cones_driving/

SVARBU: šioje instrukcijoje nurodytos „Jupyter“užrašų knygelės data_collection_cones.ipynb ir live_demo_cones.ipynb turėtų būti paleistos „JetBot“, o train_model_cones.ipynb - kompiuteryje su GPU.

Todėl turime įkelti „data_collection_cones.ipynb“ir „live_demo_cones.ipynb“į „JetBot“ir įdėti juos į aplanką ~/Notebooks/traffic_cones_driving/

4 žingsnis: Mokymo duomenų rinkimas „JetBot“

Surinksime vaizdų klasifikavimo duomenų rinkinį, kuris bus naudojamas padėti „JetBot“veikti srauto kūgių labirintuose. „JetBot“išmoks įvertinti keturių scenarijų (klasių) tikimybes:

  • Nemokama - kai saugu judėti į priekį
  • Užblokuota - kai priešais robotą yra kliūtis
  • Kairė - kai robotas turėtų suktis į kairę
  • Dešinė - kai robotas turėtų suktis į dešinę

Norėdami rinkti „JetBot“mokymo duomenis, naudosime „Jupyter“užrašų knygelę data_collection_cones.ipynb, kurioje yra išsamios instrukcijos, kaip tai padaryti. Norėdami paleisti šį bloknotą „JetBot“, atlikite šiuos veiksmus:

  1. Prisijunkite prie savo roboto, eidami į https://: jetbot-ip-address:: 8888
  2. Prisijunkite naudodami numatytąjį slaptažodį „jetbot“
  3. Išjunkite visas kitas veikiančias užrašines, pasirinkdami branduolį -> Išjungti visus branduolius …
  4. Eikite į ~/Notebooks/traffic_cones_driving/
  5. Atidarykite ir sekite užrašų knygelę data_collection_cones.ipynb

5 veiksmas: mokykite neuroninį tinklą GPU įrenginyje

Toliau mes naudosime surinktus duomenis, kad iš naujo apmokytume gilaus mokymosi modelį „AlexNet“GPU įrenginyje (pagrindiniame kompiuteryje), paleisdami traukinį_model_cones.ipynb.

Atminkite, kad train_model_cones.ipynb yra vienintelė „Jupyter“užrašų knygelė šioje pamokoje, kuri NĖRA naudojama „JetBot“

  1. Prisijunkite prie GPU įrenginio, kuriame įdiegta „PyTorch“ir veikia „Jupyter Lab“serveris
  2. Įkelkite „note_model_cones.ipynb“užrašų knygelę į šią mašiną
  3. Įkelkite „dataset_cones.zip“failą, kurį sukūrėte užrašų knygoje „data_collection_cones.ipynb“, ir išskleiskite šį duomenų rinkinį. (Po šio veiksmo failų naršyklėje turėtumėte pamatyti aplanką pavadinimu „dataset_cones“.)
  4. Atidarykite ir sekite traukinio_model_cones.ipynb bloknotą. Šio veiksmo pabaigoje sukursite modelį - failą best_model_cones.pth, kuris vėliau turi būti įkeltas į „JetBot“, kad būtų galima paleisti tiesioginę demonstraciją.

6 veiksmas: paleiskite tiesioginę demonstraciją „JetBot“

Paleiskite tiesioginę demonstraciją „JetBot“
Paleiskite tiesioginę demonstraciją „JetBot“

Paskutinis žingsnis yra įkelti „best_model_cones.pth“modelį į „JetBot“ir jį paleisti.

  1. Įjunkite robotą iš USB akumuliatoriaus
  2. Prisijunkite prie savo roboto, eidami į https://: jetbot-ip-address:: 8888
  3. Prisijunkite naudodami numatytąjį slaptažodį „jetbot“
  4. Išjunkite visas kitas veikiančias užrašines, pasirinkdami branduolį -> Išjungti visus branduolius …
  5. Eikite į ~/Notebooks/traffic_cones_driving
  6. Atidarykite ir sekite užrašų knygelę live_demo_cones.ipynb

Pradėkite atsargiai ir suteikite „JetBot“pakankamai vietos judėti. Išbandykite skirtingą kūgio konfigūraciją ir pažiūrėkite, kaip gerai robotas veikia skirtingose aplinkose, apšvietime ir pan. Nors nešiojamasis kompiuteris live_demo_cones.ipynb išsamiai paaiškina visus veiksmus, šioje lentelėje parodyta robotų judesių logika, atsižvelgiant į modelių numatytas tikimybes.

Nešiojamasis kompiuteris taip pat paaiškina, kaip išsaugoti roboto judesių istoriją su modelio numatytomis laisvos/kairės/dešinės/užblokuotos tikimybėmis ir kaip sukurti du FPV (pirmojo asmens peržiūros) vaizdo įrašus (1 kadro per sekundę ir 15 kadrų per sekundę greičiu) su telemetrija ir „JetBot“veiksmų duomenys. Tai naudinga derinant, derinant PID valdiklius ir tobulinant modelį.

Pasilinksminkite ir praneškite man, jei turite klausimų!:-)

Kodą galima rasti „Github“

Rekomenduojamas: