Мазмұны:
- Жабдықтар
- 1 -қадам: Мотивация
- 2 -қадам: NVIDIA JetBot және жобаға шолу
- 3 -қадам: JetBot құрастырыңыз және Jupyter жазу кітапшаларын жүктеңіз
- 4 -қадам: JetBot -те дайындық деректерін жинау
- 5 -қадам: Нейрондық желіні GPU машинасында үйрету
- 6 -қадам: JetBot -та Live Demo іске қосыңыз
Бейне: NVIDIA JetBot көмегімен ауысымдық оқыту - трафик конусымен қызықты: 6 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:23
Менің GithubFollow туралы: Мен AI мен машиналық оқытудың қосымшаларын ұнатамын, әсіресе робототехникада dvillevald туралы толығырақ »
Роботқа камера мен тереңдетілген оқытудың соңғы үлгісін қолдана отырып, трафик конусының лабиринтінде жол табуды үйрет.
Жабдықтар
-
NVIDIA JetBot
NVIDIA JetBot Wiki -дің материалдық билеті бетінде танымал сатушылардан сілтемелерді сатып алумен қатар, JetBot құру үшін қажет нәрсенің бәрі көрсетілген
-
NVIDIA GPU бар компьютер
Модельді үйрету қажет
- BlueDot Trading 4”RC Racing Agility конусы, апельсин - 20 жиынтығы
1 -қадам: Мотивация
Мен жиырылу аймағында жүрген сайын, өздігінен жүретін автокөліктің жол конусы арқылы өту қаншалықты қиын болатынын ойлаймын. NVIDIA-ның жаңа JetBot-ті қолдану қиын емес екені белгілі-тек бірнеше жүз суреттермен сіз роботқа ойыншықтар конусының лабиринтінде жолды табуды үйрету үшін соңғы үлгідегі терең оқыту моделін үйрете аласыз. тек борттық камераны қолданыңыз және басқа сенсорлар жоқ.
2 -қадам: NVIDIA JetBot және жобаға шолу
JetBot-бұл NVIDIA Jetson Nano жиынтығына негізделген ашық көзі бар робот. Сіз оны қалай құру және орнату туралы егжей -тегжейлі нұсқауларды таба аласыз.
Бұл жоба NVIDIA JetBot Wiki ұсынған соқтығысудан сақтанудың өзгертілген үлгісі. Ол әрқайсысы бөлек Jupyter дәптерінде сипатталған үш негізгі қадамнан тұрады:
- JetBot - notebook data_collection_cones.ipynb деректерін жинаңыз
- Басқа GPU машинасындағы пойыз моделі - notebook train_model_cones.ipynb
- JetBot - live_demo_cones.ipynb ноутбугында тірі демонстрацияны іске қосыңыз
Бұл үш Jupyter дәптерін мына жерден таба аласыз
3 -қадам: JetBot құрастырыңыз және Jupyter жазу кітапшаларын жүктеңіз
- Мұнда түсіндірілгендей JetBot құрыңыз және орнатыңыз
- Http: //: 8888 тармағына өту арқылы роботқа қосылыңыз. Әдепкі jetbot құпия сөзімен кіріңіз
- Барлық басқа жұмыс істейтін ноутбуктерді Ядро -> Барлық ядроларды өшіру арқылы таңдаңыз.
- ~/Ноутбуктер/тармағына өтіңіз.
- Жаңа ішкі қалта жасау ~/Ноутбуктер/traffic_cones_driving/
- Data_collection_cones.ipynb және live_demo_cones.ipynb файлдарын ~/Notebooks/traffic_cones_driving/жүктеңіз.
МАҢЫЗДЫ: осы нұсқаулықта көрсетілген Jupyter ноутбуктары data_collection_cones.ipynb және live_demo_cones.ipynb JetBot -те, train_model_cones.ipynb - GPU бар компьютерде іске қосылуы керек.
Сондықтан біз data_collection_cones.ipynb және live_demo_cones.ipynb файлдарын JetBot -ке жүктеп, оларды ~/Notebooks/traffic_cones_driving/ішіне орналастыруымыз керек.
4 -қадам: JetBot -те дайындық деректерін жинау
Біз JetBot -қа трафик конусының лабиринтінде жұмыс істеуге көмектесу үшін қолданылатын суреттерді жіктеудің деректер жиынтығын жинаймыз. JetBot төрт сценарийдің (сыныптардың) ықтималдығын бағалауды үйренеді:
- Тегін - алға жылжу қауіпсіз болған кезде
- Блокталған - роботтың алдында кедергі болған кезде
- Сол жақта - робот солға айналуы керек
- Оң жақта - робот оңға бұрылуы керек
JetBot -та дайындық деректерін жинау үшін біз Jupyter ноутбукін қолданамыз data_collection_cones.ipynb, онда мұны қалай жасау керектігі туралы толық нұсқаулар бар. Бұл жазу кітапшасын JetBot -те іске қосу үшін келесі әрекеттерді орындаңыз:
- Роботқа https://: jetbot-ip-address:: 8888 арқылы өту арқылы қосылыңыз
- Jetbot әдепкі құпия сөзімен кіріңіз
- Басқа барлық жұмыс істейтін ноутбуктерді Ядро -> Барлық ядроларды өшіру арқылы таңдаңыз.
- ~/Notebooks/traffic_cones_driving/тармағына өтіңіз.
- Data_collection_cones.ipynb жазу кітапшасын ашыңыз және орындаңыз
5 -қадам: Нейрондық желіні GPU машинасында үйрету
Әрі қарай, жиналған деректерді train_model_cones.ipynb іске қосу арқылы GPU машинасында (хостта) AlexNet терең оқыту моделін қайта үйрету үшін қолданамыз.
Train_model_cones.ipynb - бұл оқулықта JetBot -те ЕМЕС жұмыс істейтін жалғыз Jupyter жазу кітапшасы екенін ескеріңіз
- PyTorch орнатылған және Jupyter Lab сервері қосылған GPU машинасына қосылыңыз
- Train_model_cones.ipynb жазу кітапшасын және осы құрылғыға жүктеңіз
- Data_collection_cones.ipynb жазу кітапшасына жасаған dat_cones.zip файлын жүктеңіз және осы деректер жиынтығын шығарыңыз. (Осы қадамнан кейін сіз файл шолғышында datat_cones деп аталатын қалтаны көресіз.)
- Train_model_cones.ipynb жазу кітапшасын ашып, орындаңыз. Бұл қадамның соңында сіз үлгіні жасайсыз - best_model_cones.pth файлы, оны JetBot -ке тірі демонстрацияны іске қосу үшін жүктеу керек.
6 -қадам: JetBot -та Live Demo іске қосыңыз
Бұл соңғы қадам - best_model_cones.pth үлгісін JetBot -ке жүктеу және оны іске қосу.
- USB батарея жинағынан роботты қосыңыз
- Http: //: jetbot-ip-address:: 8888 тармағына өту арқылы роботқа қайта қосылыңыз
- Jetbot әдепкі құпия сөзімен кіріңіз
- Барлық басқа жұмыс істейтін ноутбуктерді Ядро -> Барлық ядроларды өшіру арқылы таңдаңыз.
- ~/Notebooks/traffic_cones_driving тармағына өтіңіз
- Live_demo_cones.ipynb жазу кітапшасын ашыңыз және орындаңыз
Сақтықпен бастаңыз және JetBot -ке қозғалуға жеткілікті орын беріңіз. Конустың әр түрлі конфигурациясын қолданып көріңіз және роботтың әр түрлі ортада, жарықтандыруда және т.б. қаншалықты жақсы жұмыс жасайтынын көріңіз. Live_demo_cones.ipynb ноутбукі барлық қадамдарды егжей -тегжейлі түсіндірсе, келесі диаграмма роботтардың қозғалыс логикасын көрсетеді.
Ноутбукте модель болжаған еркін/солға/оңға/бұғатталған ықтималдықпен робот қозғалысының тарихын қалай сақтау керектігін және телеметрияның көмегімен FPV (First Person View) екі бейнені (секундына 1 кадр және 15 кадр) қалай жасау керектігін түсіндіреді. JetBot әрекеттерінің деректері. Бұл отладтау, PID контроллерін баптау және модельді жақсарту үшін пайдалы.
Көңілді болыңыз және сұрақтарыңыз болса, маған хабарлаңыз!:-)
Код Github -те қол жетімді
Ұсынылған:
MakeyMakey көмегімен қызықты спорт: 3 қадам
MakeyMakey көмегімен қызықты спорт: Бұл жобаның мақсаты - технологияны қолдану арқылы спортты ынталандыру, себебі ол музыка ойнап, ұпай жинау арқылы ынталандырады
Нысанға бағдарланған бағдарламалау: нысандарды құру/оқыту әдісі/Shape Puncher көмегімен техника: 5 қадам
Нысанға бағдарланған бағдарламалау: Оқыту объектілерін құру/Оқыту әдісі/Shape Puncher көмегімен техника: Объектіге бағдарланған бағдарламалауды жаңадан бастаған студенттер үшін оқыту/оқыту әдісі. Бұл оларға сыныптардан объектілерді құру процесін елестетуге және көруге мүмкіндік беретін әдіс. EkTools 2 дюймдік үлкен соққы; қатты пішіндер жақсы. Қағаз немесе б
OLED дисплейі мен Arduino көмегімен қызықты: 12 қадам (суреттермен)
OLED дисплейі мен Arduino көмегімен қызықты: OLED дисплей технологиясы туралы сіз естігеніңізге сенімдімін. Бұл салыстырмалы түрде жаңа және ескі СКД технологиясына қарағанда жақсы сапаны ұсынады. Бұл оқулықта біз ең көп тараған жеке компаниялардың бірінде деректерді көрсету үшін қажет қадамдарды қарастырғымыз келеді
Нысанға бағытталған бағдарламалау: Объектілерді құру Оқыту/Оқыту әдісі/Қайшыны қолдану техникасы: 5 қадам
Нысанға бағытталған бағдарламалау: Объектілерді құру Оқыту/Оқыту әдісі/Қайшыны қолдану техникасы: Объектіге бағдарланған бағдарламалауды жаңадан бастаған студенттер үшін оқыту/оқыту әдісі. Бұл оларға сабақтан объектілерді құру процесін елестетуге және көруге мүмкіндік беретін әдіс. Бөлшектер: 1. Қайшы (кез келген түрі жасайды). 2. Қағаз немесе карточка бөлігі. 3. Маркер
16 светодиодты басқару үшін 2 ауысымдық регистрді (74HC595) қолдану: 9 қадам
16 светодиодты басқару үшін 2 ауысымдық регистрді (74HC595) қолдану: Бұл тізбек 2 ауысымдық регистрді (74HC595) қолданады. Ауысым регистрлері 16 жарықдиодты шығыс ретінде қозғалады. Әр ауысым регистрі 8 светодиодты басқарады, ауысым регистрлері сыммен қосылады, осылайша әрбір ауысым регистрінің шығысы екіншісінің көшірмесіне ұқсайды