Բովանդակություն:
- Պարագաներ
- Քայլ 1: Մոտիվացիա
- Քայլ 2: NVIDIA JetBot & Project Overview
- Քայլ 3. Կառուցեք JetBot և վերբեռնեք Jupyter նոթատետրեր
- Քայլ 4. JetBot- ի ուսուցման տվյալների հավաքում
- Քայլ 5. Սովորեցրեք նյարդային ցանցը GPU մեքենայի վրա
- Քայլ 6. Գործարկեք Live Demo- ն JetBot- ում
Video: Տեղափոխեք ուսումը NVIDIA JetBot- ի հետ - Funամանց երթևեկի կոնների միջոցով. 6 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:45
Հետևում եմ. Ինձ դուր են գալիս AI և մեքենայական ուսուցման ծրագրեր, հատկապես ռոբոտաշինության ոլորտում Ավելին dvillevald- ի մասին »
Սովորեցրեք ձեր ռոբոտին ՝ տեսախցիկի և խորը ուսուցման գերժամանակակից մոդելի միջոցով ճանապարհ գտնել լաբիրինթոսում:
Պարագաներ
-
NVIDIA JetBot
NVIDIA JetBot Wiki- ի Bill of Materials էջը թվարկում է այն ամենը, ինչ ձեզ հարկավոր է JetBot կառուցելու համար ՝ հանրաճանաչ վաճառողներից հղումներ գնելու հետ միասին:
-
Համակարգիչ NVIDIA GPU- ով
Մոդելը պատրաստելու համար անհրաժեշտ է
- BlueDot Trading 4”RC Racing Agility Cones, Orange - 20 հավաքածու
Քայլ 1: Մոտիվացիա
Ամեն անգամ, երբ ես քշում եմ կծկման տարածքում, ես մտածում եմ, թե որքան դժվար կլիներ ինքնակառավարվող մեքենայի համար երթևեկության կոնների միջով անցնելը: Պարզվում է, որ նոր NVIDIA- ի JetBot- ով այդքան էլ դժվար չէ. Ընդամենը մի քանի հարյուր պատկերով կարող եք վարժեցնել խորը ուսուցման գերժամանակակից մոդել `ձեր ռոբոտին սովորեցնելու համար, թե ինչպես գտնել ճանապարհ խաղալիքների երթևեկի կոնների լաբիրինթոսում: օգտագործելով միայն ներկառուցված տեսախցիկը և ոչ մի այլ տվիչ:
Քայլ 2: NVIDIA JetBot & Project Overview
JetBot- ը բաց կոդով ռոբոտ է, որը հիմնված է NVIDIA Jetson Nano հանդերձանքի վրա: Այստեղ կառուցելու և տեղադրելու մանրամասն հրահանգներ կարող եք գտնել այստեղ:
Այս նախագիծը NVIDIA JetBot Wiki- ից բախումից խուսափելու փոփոխված օրինակ է: Այն բաղկացած է երեք հիմնական քայլերից, որոնցից յուրաքանչյուրը նկարագրված է Յուպիտերի առանձին տետրում.
- Հավաքեք տվյալներ JetBot- ում - notebook data_collection_cones.ipynb
- Գնացքի մոդել այլ GPU մեքենայի վրա `notebook train_model_cones.ipynb
- Գործարկեք ուղիղ ցուցադրում JetBot- ում - notebook live_demo_cones.ipynb
Այս երեք Jupyter տետրերը կարող եք գտնել այստեղ
Քայլ 3. Կառուցեք JetBot և վերբեռնեք Jupyter նոթատետրեր
- Կառուցեք և տեղադրեք JetBot- ը, ինչպես բացատրված է այստեղ
- Միացեք ձեր ռոբոտին ՝ նավարկելով դեպի https://: 8888 Մուտք գործեք կանխադրված գաղտնաբառ jetbot- ով
- Անջատեք մնացած բոլոր նոթատետրերը ՝ ընտրելով Kernel -> Shutdown All Kernels…
- Գնալ դեպի ~/նոթատետրեր/
- Ստեղծեք նոր ենթապանակ ~/Notebooks/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- ով
- Անջատեք մնացած բոլոր նոթատետրերը `ընտրելով Kernel -> Shutdown All Kernels…
- Գնալ դեպի ~/նոթատետրեր/traffic_cones_driving/
- Բացեք և հետևեք data_collection_cones.ipynb նոթատետրին
Քայլ 5. Սովորեցրեք նյարդային ցանցը GPU մեքենայի վրա
Հաջորդը, մենք կօգտագործենք հավաքված տվյալները `վերապատրաստելու AlexNet խորը ուսուցման մոդելը GPU մեքենայի վրա (հոսթ)` գործարկելով train_model_cones.ipynb:
Նկատի ունեցեք, որ train_model_cones.ipynb- ն այս ձեռնարկի միակ Jupyter տետրն է, որը գործարկված է JetBot- ում ՉԻ:
- Միացեք GPU մեքենային PyTorch- ի տեղադրմամբ և Jupyter Lab սերվերի գործարկմամբ
- Վերբեռնեք train_model_cones.ipynb նոթատետր և այս մեքենային
- Վերբեռնեք dataset_cones.zip ֆայլը, որը ստեղծել եք data_collection_cones.ipynb նոթատետրում և հանեք այս տվյալների հավաքածուն: (Այս քայլից հետո դուք պետք է տեսնեք, որ տվյալների բրաուզերում հայտնվում է dataset_cones անունով թղթապանակը):
- Բացեք և հետևեք train_model_cones.ipynb տետրին: Այս քայլի վերջում դուք կստեղծեք մոդել ՝ best_model_cones.pth ֆայլը, որն այնուհետև պետք է վերբեռնվի JetBot- ում ՝ կենդանի ցուցադրումը գործարկելու համար:
Քայլ 6. Գործարկեք Live Demo- ն JetBot- ում
Այս վերջին քայլը JetBot- ում մոդելի best_model_cones.pth մոդելը վերբեռնելն ու գործարկելն է:
- Միացրեք ձեր ռոբոտին USB մարտկոցի տուփից
- Միացեք ձեր ռոբոտին ՝ անցնելով https://: jetbot-ip-address:: 8888
- Մուտք գործեք կանխադրված գաղտնաբառ jetbot- ով
- Անջատեք մնացած բոլոր նոթատետրերը `ընտրելով Kernel -> Shutdown All Kernels…
- Գնացեք դեպի ~/Notebooks/traffic_cones_driving
- Բացեք և հետևեք live_demo_cones.ipynb նոթատետրին
Սկսեք զգույշ լինել և JetBot- ին բավականաչափ տարածք տվեք տեղաշարժվելու համար: Փորձեք տարբեր կոնաձև կոնֆիգուրացիա և տեսեք, թե որքան լավ է ռոբոտը կատարում տարբեր միջավայրերում, լուսավորությունում և այլն:
Նոթատետրը նաև բացատրում է, թե ինչպես կարելի է պահել մոդելի կանխատեսած ազատ/ձախ/աջ/արգելափակված հավանականությամբ ռոբոտների շարժումների պատմությունը և ինչպես պատրաստել երկու FPV (Առաջին անձի դիտում) տեսանյութեր (1 կ/վրկ և 15 կ/վրկ արագությամբ) `զուգորդված հեռաչափությամբ և JetBot- ի գործողությունների տվյալները: Դրանք օգտակար են վրիպազերծման, PID վերահսկիչի կարգաբերման և մոդելի կատարելագործման համար:
Haveվարճացիր և ինձ տեղեկացրեք, եթե հարցեր ունեք::-)
Կոդը հասանելի է Github- ում
Խորհուրդ ենք տալիս:
Blynk հավելվածի միջոցով Nodemcu- ի միջոցով ինտերնետի միջոցով կառավարում. 5 քայլ
Blynk հավելվածի միջոցով Nodemcu- ի միջոցով ինտերնետի միջոցով կառավարելը. Բարև բոլորին, այսօր մենք ձեզ ցույց կտանք, թե ինչպես կարող եք վերահսկել LED- ը սմարթֆոնի միջոցով ինտերնետում
Happyնունդդ շնորհավոր Water Synthesizer- ի հետ MakeyMakey- ի և Scratch- ի հետ. 5 քայլ
Happyնունդդ շնորհավոր Water Synthesizer- ի հետ MakeyMakey- ի և Scratch- ի միջոցով. Ersաղիկների և երգելու փոխարեն կարող եք կառուցել այս տեղադրումը որպես մեծ անակնկալ ծննդյան տարեդարձերի համար
Անօդաչու թռչող սարքի կցորդներ (Տեղափոխեք այն). 4 քայլ
Drone Attachments (Make It Move). Ես ստեղծեցի մի քանի կցորդներ, որոնք կարող են տեղավորվել մի փոքր մրցարշավի անօդաչուի վրա և գործել մի պարզ սերվոյով: Առաջինը ազատման մեխանիզմն է: Այն օգտագործում է servo ՝ շրջանակից մի փոքր ձող քաշելու համար ՝ գցելով այն, ինչ կախված էր դրանից: Վայրկյանը
Տեղափոխեք տվյալները Google Աղյուսակներից դեպի կառավարման վահանակ ՝ 6 քայլ
Տեղափոխեք տվյալները Google աղյուսակներից դեպի կառավարման վահանակ. Աղյուսակները գերազանցում են տվյալները շահարկելու, բայց դրանք չցուցադրելու գործում: Հենց սա է պատճառը, որ այդքան մասնագիտացված տվյալների արտացոլման և BI վահանակի ձեռնարկություններ սկսեցին ի հայտ գալ: Այս ապրանքների մեծ մասի խնդիրն այն է, որ դրանք սովորաբար թանկ են և
ԻՆՉՊԵՍ ԿԱՐՈ ԵՆ ՀԵՏ ՀԵՏ ՀԵՏ չորության չորացման սենսոր `4 քայլ
ՈՐՊԵՍ ԿԱՐՈ ԵՆՔ ՀԵՏ ՀԵՏ ՀԱՎԱՔԱՈ ՍԵՆՍՈՐ. Ողջույն, այս ուսանելի ծրագրում ես ձեզ ցույց կտամ, թե ինչպես պատրաստել մի պարզ «ՀՈ DRՅԱՆ ՉՈՐՈ SԹՅԱՆ ՍԵՆՍՈՐ»: Սա իմ առաջին ուսանելի ներողությունն է իմ ծիծաղելի անգլերենի համար: Հողի չորությունը որոշվում է led ցուցիչով: led լույսը wi