Mundarija:
- Ta'minotlar
- 1 -qadam: Motivatsiya
- 2 -qadam: NVIDIA JetBot va loyihaga umumiy nuqtai
- 3 -qadam: JetBot -ni yarating va Jupyter daftarlarini yuklang
- 4 -qadam: JetBot -da o'quv ma'lumotlarini to'plash
- 5 -qadam: Neyron tarmoqni GPU mashinasida o'rgating
- 6 -qadam: JetBot -da Live Demo -ni ishga tushiring
Video: NVIDIA JetBot yordamida o'qishni uzatish - trafik konuslari bilan qiziqarli: 6 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:23
DvillevaldMy GithubFollow About: Menga AI va mashinani o'rganish dasturlari yoqadi, ayniqsa robototexnika sohasida Batafsil dvillevald haqida »
Robotingizga kamera va zamonaviy chuqur o'rganish modeli yordamida yo'l konuslari labirintida yo'l topishga o'rgating.
Ta'minotlar
-
NVIDIA JetBot
NVIDIA JetBot Wiki -ning materiallar ro'yxati sahifasida mashhur sotuvchilardan havolalarni sotib olish bilan bir qatorda, JetBot -ni yaratish uchun kerak bo'lgan hamma narsalar ro'yxati keltirilgan
-
NVIDIA GPU bilan ishlaydigan kompyuter
Modelni o'rgatish kerak
- BlueDot Trading 4”RC Racing Agility konuslari, apelsin - 20 dona
1 -qadam: Motivatsiya
Har safar qisqarish hududida harakatlanayotganimda, o'z-o'zini boshqaradigan avtomobil uchun konuslar bo'ylab harakatlanish qanchalik qiyin bo'lishi haqida o'ylayman. Ma'lum bo'lishicha, NVIDIA-ning yangi JetBot-da bu unchalik qiyin emas-faqat bir necha yuzta tasvir bilan siz robotingizga o'yinchoqlar konuslari labirintida yo'lni topishni o'rgatish uchun zamonaviy zamonaviy o'quv modelini o'rgatishingiz mumkin. faqat bort kamerasi yordamida va boshqa sensorlar yo'q.
2 -qadam: NVIDIA JetBot va loyihaga umumiy nuqtai
JetBot-bu NVIDIA Jetson Nano to'plamiga asoslangan ochiq manbali robot. Siz uni qanday qurish va sozlash bo'yicha batafsil ko'rsatmalarni bu erda topishingiz mumkin.
Bu loyiha NVIDIA JetBot Wiki -dan to'qnashuvdan saqlanishning o'zgartirilgan misolidir. U uchta asosiy bosqichdan iborat bo'lib, ularning har biri alohida Jupyter daftarchasida tasvirlangan:
- JetBot -da ma'lumotlarni to'plash - notebook data_collection_cones.ipynb
- Boshqa GPU mashinasidagi poezd modeli - notebook train_model_cones.ipynb
- JetBot -da jonli demoni ishga tushiring - notebook live_demo_cones.ipynb
Bu uchta Jupyter daftarini bu erda topishingiz mumkin
3 -qadam: JetBot -ni yarating va Jupyter daftarlarini yuklang
- Bu erda aytib o'tilganidek, JetBot -ni yarating va o'rnating
- Http: //: 8888 ga o'tish orqali robotingizga ulaning
- Boshqa barcha ishlaydigan daftarlarni Yadro -> Barcha yadrolarni o'chirish -ni tanlab o'chiring.
- ~/Noutbuklar/ga o'ting.
- Yangi pastki papkani yarating ~/Notebooklar/traffic_cones_driving/
- Data_collection_cones.ipynb va live_demo_cones.ipynb fayllarini ~/Notebooklar/Traffic_cones_driving/ga yuklang.
MUHIM: Ushbu yo'riqnomada keltirilgan Jupyter noutbuklari data_collection_cones.ipynb va live_demo_cones.ipynb JetBot -da, train_model_cones.ipynb - GPU o'rnatilgan kompyuterda ishlashi kerak.
Shuning uchun biz data_collection_cones.ipynb va live_demo_cones.ipynb -ni JetBot -ga yuklashimiz va ularni ~/Notebooklar/traffic_cones_driving/-ga joylashtirishimiz kerak.
4 -qadam: JetBot -da o'quv ma'lumotlarini to'plash
Biz JetBot -ga yo'l konuslari labirintida ishlashga yordam beradigan tasvir tasnifi ma'lumotlar to'plamini yig'amiz. JetBot to'rtta stsenariy (sinf) ehtimolini qanday baholashni o'rganadi:
- Bepul - oldinga siljish xavfsiz bo'lganda
- Bloklangan - robot oldida to'siq bo'lganda
- Chapda - robot chapga burilganda
- O'ng - robot qachon o'ng tomonga burilishi kerak
JetBot -dagi o'quv ma'lumotlarini yig'ish uchun biz Jupyter noutbukidan foydalanamiz data_collection_cones.ipynb, uni qanday bajarish bo'yicha batafsil ko'rsatmalarni o'z ichiga oladi. Bu daftarni JetBot -da ishga tushirish uchun quyidagi amallarni bajaring:
- Http: //: jetbot-ip-address:: 8888 ga o'tish orqali robotingizga ulaning
- Jetbot standart parol bilan kiring
- Boshqa barcha ishlaydigan daftarlarni Yadro -> Barcha yadrolarni o'chirish -ni tanlash orqali o'chiring.
- ~/Notebooks/traffic_cones_driving/ga o'ting.
- Data_collection_cones.ipynb daftarchasini oching va unga amal qiling
5 -qadam: Neyron tarmoqni GPU mashinasida o'rgating
Keyinchalik, yig'ilgan ma'lumotlardan foydalanib, train_model_cones.ipynb-ni ishga tushirib, GPU mashinasida (xost) AlexNet-ni chuqur o'rganish modelini qayta o'qitish uchun foydalanamiz.
E'tibor bering, train_model_cones.ipynb - bu qo'llanmada JetBotda ishlatilmagan yagona Jupyter daftarchasi
- PyTorch o'rnatilgan va Jupyter Lab serverida ishlaydigan GPU mashinasiga ulaning
- Train_model_cones.ipynb daftarini va shu mashinaga yuklang
- Data_collection_cones.ipynb daftarchasida yaratgan dataset_cones.zip faylini yuklang va ushbu ma'lumotlar to'plamini chiqarib oling. (Ushbu qadamdan so'ng, siz fayllar brauzerida "dataset_cones" nomli papkani ko'rishingiz kerak.)
- Train_model_cones.ipynb daftarchasini oching va unga amal qiling. Ushbu bosqichning oxirida siz model yaratasiz - best_model_cones.pth faylini, so'ngra jonli demoni ishga tushirish uchun JetBot -ga yuklash kerak.
6 -qadam: JetBot -da Live Demo -ni ishga tushiring
Bu oxirgi qadam - best_model_cones.pth modelini JetBot -ga yuklash va uni ishga tushirish.
- Robotingizni USB batareyalar to'plamidan quvvatlang
- Http: //: jetbot-ip-address:: 8888 ga o'tish orqali robotingizga ulaning
- Jetbot standart parol bilan kiring
- Boshqa barcha ishlaydigan daftarlarni Yadro -> Barcha yadrolarni o'chirish -ni tanlab o'chiring.
- ~/Notebooks/traffic_cones_driving -ga o'ting
- Live_demo_cones.ipynb daftarini oching va unga amal qiling
Ehtiyotkorlik bilan boshlang va JetBot -ga harakat qilish uchun etarli joy bering. Har xil konus konfiguratsiyasini sinab ko'ring va robotning har xil muhitda, yorug'lik va hokazolarda qanchalik yaxshi ishlashini ko'ring. Live_demo_cones.ipynb daftarchasi barcha qadamlarni batafsil tushuntirib bergan bo'lsa, quyidagi jadvalda modellar bashorat qilgan ehtimolliklar berilgan robot harakatlarining mantig'i ko'rsatilgan.
Noutbukda, shuningdek, model tomonidan bashorat qilingan erkin/chap/o'ng/blokirovka qilingan ehtimollar bilan robot harakatlari tarixini qanday saqlash va ikkita FPV (Birinchi shaxs ko'rish) videolarini (1 kadr va 15 kadr tezligida) telemetriya va JetBot harakatlari haqidagi ma'lumotlar. Bu disk raskadrovka, PID tekshirgichini sozlash va modelni takomillashtirish uchun foydalidir.
Xursand bo'ling va savollaringiz bo'lsa, menga xabar bering!:-)
Kod Github -da mavjud
Tavsiya:
Bluetooth yordamida kontaktlarni uzatish: 3 qadam
Kontaktlarni Bluetooth yordamida uzatish: Bluetooth ishonchli va sizga mos kabel va xususiy dasturiy ta'minotni qidirishdan xalos qiladi. Telefon kitobi yozuvlari vCard yoki *.vcf formatida o'tkaziladi. VCard yozuvlarini boshqarish uchun odatda "Import" funktsiyasi mavjud
Raspberry Pi -da analog o'qishni qanday qilish kerak: 5 qadam
Raspberry Pi -da analog o'qishni qanday o'tkazish kerak: Hammaga salom! Ushbu qo'llanmada men sizga Raspberry Pi yordamida analog qiymatlarni qanday to'g'ridan -to'g'ri yozish mumkinligini ko'rsataman. Hammamizga ma'lumki, Raspberry Pi - bu sevimli kompyuterlar va kasb egalari orasida mashhur bo'lgan juda kuchli mini kompyuter moduli
60 gigagertsli elektr uzatish liniyasi bilan sinxronlashtirilgan Arduino raqamli soati: 8 qadam (rasmlar bilan)
Arduino raqamli soati 60 Gts quvvat liniyasi bilan sinxronlashtiriladi: Arduino -ga asoslangan bu raqamli soat 60 Gts quvvat liniyasi bilan sinxronlashtiriladi. U oddiy va arzon umumiy anodli 4 xonali 7 segmentli displeyga ega, u soat va daqiqalarni ko'rsatadi. U 60 gigagertsli sinus to'lqinlari qachon kirishini aniqlash uchun o'zaro faoliyat detektordan foydalanadi
IQ LED va quyosh paneli yordamida DIY simsiz uzatish: 4 qadam
IQ LED va quyosh paneli yordamida DIY simsiz uzatish: Quyosh panellari haqida hammamiz bilganimizdek, fotovoltaik quyosh panellari elektr energiyasini ishlab chiqarish uchun quyosh nurini o'zlashtiradi. Bu bepul quvvat manbai uchun ajoyib sovg'adir. Ammo shunga qaramay, u keng qo'llanilmaydi. Buning asosiy sababi - bu qimmat
Boshqalar ko'rishni va o'qishni xohlamagan fayllarni qanday yashirish mumkin: 7 qadam
Boshqalar ko'rishni va o'qishni xohlamagan fayllarni qanday yashirish kerak. Bu ko'rsatma sizga faylning formatini qanday o'zgartirish kerakligini ko'rsatib beradi, agar u asl fayl turini bilmasangiz. Masalan, mpegni (kino faylini) txt/doc (matn/hujjat) ga o'zgartirib, uni o'ynata olmaysiz, faqat ma'lumotni ko'rasiz