Talaan ng mga Nilalaman:
- Mga gamit
- Hakbang 1: Pagganyak
- Hakbang 2: Pangkalahatang ideya ng NVIDIA JetBot at Project
- Hakbang 3: Bumuo ng JetBot at Mag-upload ng Mga Jupyter Notebook
- Hakbang 4: Pagkolekta ng Data ng Pagsasanay sa JetBot
- Hakbang 5: Sanayin ang Neural Network sa GPU Machine
- Hakbang 6: Patakbuhin ang Live Demo sa JetBot
Video: Paglipat ng Pag-aaral Sa NVIDIA JetBot - Masaya Sa Mga Traffic Cone: 6 na Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:10
Sa pamamagitan ng dvillevaldMy GithubFollow About: Gusto ko ng mga application ng pag-aaral ng AI at machine, lalo na sa robotics Higit Pa Tungkol sa dvillevald »
Turuan ang iyong robot upang makahanap ng isang landas sa isang maze ng mga traffic cone gamit ang camera at state-of-the-art na malalim na modelo ng pag-aaral.
Mga gamit
-
NVIDIA JetBot
Ang pahina ng Mga Materyal ng NVIDIA JetBot Wiki ay naglilista ng lahat ng kailangan mo upang maitayo ang JetBot, kasama ang pagbili ng mga link mula sa mga tanyag na vendor
-
Computer na may NVIDIA GPU
Kailangan upang sanayin ang modelo
- BlueDot Trading 4”RC Racing Agility Cones, Orange - Itakda ng 20
Hakbang 1: Pagganyak
Sa tuwing magmaneho ako sa lugar ng pag-urong ay iniisip ko kung gaano ito mapaghamon para sa isang kotse na nagmamaneho sa sarili na mag-navigate sa mga cone ng trapiko. Ito ay hindi napakahirap sa bagong JetBot ng NVIDIA - na may lamang daang daang mga imahe, maaari mong sanayin ang isang state-of-the-art na malalim na modelo ng pag-aaral upang turuan ang iyong robot kung paano makahanap ng isang landas sa isang maze ng mga laruang trapiko ng laruan gamit lamang ang onboard camera at walang ibang mga sensor.
Hakbang 2: Pangkalahatang ideya ng NVIDIA JetBot at Project
Ang JetBot ay isang bukas na mapagkukunan ng robot batay sa NVIDIA Jetson Nano kit. Maaari kang makahanap ng detalyadong mga tagubilin sa kung paano ito maitayo at i-set up dito.
Ang proyektong ito ay isang nabagong halimbawa ng pag-iwas sa banggaan mula sa NVIDIA JetBot Wiki. Binubuo ito ng tatlong pangunahing mga hakbang, bawat isa ay inilarawan sa isang hiwalay na notebook ng Jupyter:
- Kolektahin ang data sa JetBot - notebook data_collection_cones.ipynb
- Modelo ng tren sa ibang GPU machine - notebook train_model_cones.ipynb
- Patakbuhin ang live na demo sa JetBot - notebook live_demo_cones.ipynb
Mahahanap mo rito ang tatlong notebook na Jupyter
Hakbang 3: Bumuo ng JetBot at Mag-upload ng Mga Jupyter Notebook
- Bumuo at mag-setup ng JetBot tulad ng ipinaliwanag dito
- Kumonekta sa iyong robot sa pamamagitan ng pag-navigate sa https://: 8888Mag-sign in gamit ang default na jetbot ng password
- I-shutdown ang lahat ng iba pang tumatakbo na mga notebook sa pamamagitan ng pagpili ng Kernel -> I-shutdown ang Lahat ng Kernels…
- Mag-navigate sa ~ / Mga Notebook /
- Lumikha ng bagong subfolder ~ / Mga Notebook / traffic_cones_diving /
- Mag-upload ng data_collection_cones.ipynb at live_demo_cones.ipynb sa ~ / Notebooks / traffic_cones_diving /
MAHALAGA: Ang data ng Jupyter notebooks data_collection_cones.ipynb at live_demo_cones.ipynb na isinangguni sa mga tagubiling ito ay dapat na patakbuhin sa JetBot habang ang train_model_cones.ipynb - sa isang computer na may GPU.
Samakatuwid kailangan nating mag-upload ng data_collection_cones.ipynb at live_demo_cones.ipynb sa JetBot at ilagay ang mga ito sa ~ / Notebooks / traffic_cones_diving /
Hakbang 4: Pagkolekta ng Data ng Pagsasanay sa JetBot
Mangolekta kami ng isang klasipikasyon ng imahe ng dataset na gagamitin upang matulungan ang JetBot na gumana sa isang maze ng mga traffic cone. Malalaman ng JetBot kung paano tantyahin ang mga posibilidad ng apat na mga sitwasyon (klase):
- Libre - kung ligtas na sumulong
- Na-block - kapag may isang balakid sa harap ng robot
- Kaliwa - kung kailan dapat umiikot ang robot sa kaliwa
- Kanan - kailan dapat umikot ang robot sa kanan
Upang makolekta ang data ng pagsasanay sa JetBot gagamitin namin ang Jupyter notebook data_collection_cones.ipynb na naglalaman ng mga tagubilin sa detalye kung paano ito gagawin. Upang patakbuhin ang kuwaderno na ito sa JetBot, sundin ang mga susunod na hakbang:
- Kumonekta sa iyong robot sa pamamagitan ng pag-navigate sa https://: jetbot-ip-address:: 8888
- Mag-sign in gamit ang default na password na jetbot
- I-shutdown ang lahat ng iba pang tumatakbo na mga notebook sa pamamagitan ng pagpili ng Kernel -> I-shutdown ang Lahat ng Kernels…
- Mag-navigate sa ~ / Mga Notebook / traffic_cones_diving /
- Buksan at sundin ang data_collection_cones.ipynb notebook
Hakbang 5: Sanayin ang Neural Network sa GPU Machine
Susunod, gagamitin namin ang nakolektang data upang muling sanayin ang malalim na modelo ng pag-aaral na AlexNet sa GPU machine (host) sa pamamagitan ng pagpapatakbo ng train_model_cones.ipynb.
Tandaan na ang train_model_cones.ipynb ay ang tanging Jupyter notebook sa tutorial na ito na pinapatakbo HINDI sa JetBot
- Kumonekta sa isang GPU machine na may naka-install na PyTorch at isang Jupyter Lab server na tumatakbo
- Mag-upload ng train_model_cones.ipynb notebook at sa machine na ito
- Mag-upload ng dataset_cones.zip file na iyong nilikha sa data_collection_cones.ipynb notebook at i-extract ang dataset na ito. (Pagkatapos ng hakbang na ito dapat mong makita ang isang folder na may pangalang dataset_cones na lilitaw sa file browser.)
- Buksan at sundin ang notebook_model_cones.ipynb notebook. Sa pagtatapos ng hakbang na ito, lilikha ka ng isang modelo - ang file na best_model_cones.pth na pagkatapos ay kailangang mai-upload sa JetBot upang patakbuhin ang live na demo.
Hakbang 6: Patakbuhin ang Live Demo sa JetBot
Ang huling hakbang na ito ay upang mai-upload ang modelo na best_model_cones.pth sa JetBot at patakbuhin ito.
- Patayin ang iyong robot mula sa USB baterya pack
- Kumonekta pabalik sa iyong robot sa pamamagitan ng pag-navigate sa https://: jetbot-ip-address:: 8888
- Mag-sign in gamit ang default na password na jetbot
- I-shutdown ang lahat ng iba pang tumatakbo na mga notebook sa pamamagitan ng pagpili ng Kernel -> I-shutdown ang Lahat ng Kernels…
- Mag-navigate sa ~ / Mga Notebook / traffic_cones_diving
- Buksan at sundin ang live_demo_cones.ipynb notebook
Magsimulang mag-ingat at bigyan ang JetBot ng sapat na puwang upang lumipat. Subukan ang iba't ibang pagsasaayos ng kono at tingnan kung gaano kahusay gumaganap ang robot sa iba't ibang mga kapaligiran, ilaw, atbp. Habang ang notebook na live_demo_cones.ipynb ay ipinapaliwanag ang lahat ng mga hakbang nang detalyado, ipinapakita ng sumusunod na tsart ang lohika ng mga paglipat ng robot na ibinigay ang mga posibilidad na hinulaang ng mga modelo.
Ipinapaliwanag din ng notebook kung paano iimbak ang kasaysayan ng mga robot na gumagalaw nang may libre / kaliwa / kanan / naka-block na mga posibilidad na hinulaang ng modelo at kung paano gumawa ng dalawang mga video ng FPV (First Person View) (sa 1 fps at 15 fps rate) na may superimposed telemetry at Data ng mga pagkilos ng JetBot. Kapaki-pakinabang ang mga iyon para sa pag-debug, pag-tune ng PID controller at pagpapabuti ng modelo.
Magsaya at ipaalam sa akin kung mayroon kang mga katanungan!:-)
Magagamit ang code sa Github
Inirerekumendang:
PAANO MAG-CONVERT NG LUMANG CONE PHONE (NOKIA 6600) SA isang SUPERGADGET-MICROCOMPUTER: 37 Mga Hakbang
PAANO MAG-CONVERT NG Lumang TELEPONO NG CELL (NOKIA 6600) SA isang SUPERGADGET-MICROCOMPUTER: http://www.internetsecretbook.com https://www.youtube.com/thebibleformula Sa gitna ng kahirapan ay namamalagi ang pagkakataon. - Albert Einstein Nagtatampok ang teleponong Nokia 6600 ng mga bagong tampok sa pag-imaging, kabilang ang isang maliwanag na 65,536-kulay na TFT display at caâ € ¦
Jenkins Traffic Traffic Light: 8 Hakbang (na may Mga Larawan)
Jenkins Traffic Traffic Light: Sa software engineering, ang patuloy na pagsasama ay ang pagsasanay ng pagsasama ng lahat ng mga nagtatrabaho kopya ng developer sa isang ibinahaging mainline nang maraming beses sa isang araw. Ang ilan sa mga pinakamahusay na kasanayan upang makamit iyon ay: ang bawat isa ay nagbubuhat sa baseline araw-araw, i-automate ang
DETECTOR NG CONE PHONE: 3 Mga Hakbang (na may Mga Larawan)
DETECTOR NG CONE PHONE: Kapag nag-iisip tungkol sa cellphone jammer nakuha ko ang isang ideya ng paggawa ng isang circuit na may kakayahang makita ang tawag at mensahe ng telepono. maaaring ito ay papasok o papasok na Ang proyekto na ginawa ay isang detektor ng cell phone na may kakayahang makita ang 2g, 3g, 4g
Paglipat ng 3 Mga Bangko ng LED Na May Isang Paglipat at Visuino: 9 Mga Hakbang (na may Mga Larawan)
Paglipat ng 3 Mga Bangko ng LED Na May Isang Paglipat at Visuino: Ang proyektong ito ay lumabas sa isang eksperimento na nais kong subukan, nais kong makita kung gaano kinakailangan ang ilaw ng UV upang makita ang iba't ibang mga bahagi ng mga kuwenta ng dolyar at mga tseke sa seguridad. Nagkaroon ako ng isang pasabog na pagbuo nito at nais kong ibahagi ang mga tagubiling ito dito. Mga bagay sa iyo
Pag-aayos ng Paglipat ng Power ng Palm TX: 3 Mga Hakbang
Ang Pag-ayos ng Palitan ng Power ng Palm TX: Ang Palm TX PDA ay isang mahusay na produkto, ngunit ang minahan at marami pang iba na ginawa kamakailan lamang noong 2006 ay may isa, pangunahing kamalian. Ang power switch ay tumigil sa pagtatrabaho pagkalipas ng ilang buwan. Gumagana pa rin ang yunit sa bawat ibang paraan, ngunit dahil hindi gumagana ang switch ng kuryente, y