Përmbajtje:

Transferoni mësimin me NVIDIA JetBot - Argëtim me kone trafiku: 6 hapa
Transferoni mësimin me NVIDIA JetBot - Argëtim me kone trafiku: 6 hapa

Video: Transferoni mësimin me NVIDIA JetBot - Argëtim me kone trafiku: 6 hapa

Video: Transferoni mësimin me NVIDIA JetBot - Argëtim me kone trafiku: 6 hapa
Video: NVIDIA's NEW Insane TEXT TO VIDEO SHOCKS The Entire Industry! 2024, Korrik
Anonim

Nga dvillevaldMy GithubFollow About: Më pëlqejnë inteligjencën artificiale dhe aplikimet e mësimit të makinerisë, veçanërisht në robotikë Më shumë rreth dvillevald »

Mësojeni robotin tuaj të gjejë një shteg në një labirint të koneve të trafikut duke përdorur kamerën dhe modelin më të fundit të të mësuarit të thellë.

Furnizimet

  • NVIDIA JetBot

    Faqja e Faturës së Materialeve të NVIDIA JetBot Wiki liston gjithçka që ju nevojitet për të ndërtuar JetBot, së bashku me blerjen e lidhjeve nga shitësit e njohur

  • Kompjuter me GPU NVIDIA

    Nevojitet për të trajnuar modelin

  • BlueDot Trading 4”RC Racing Agility Cones, Orange - Set prej 20

Hapi 1: Motivimi

Image
Image

Sa herë që ngas në zonën e tkurrjes, unë jam duke menduar se sa sfiduese do të ishte për një makinë vetë-drejtuese të lundrojë nëpër kunjat e trafikut. Rezulton se nuk është aq e vështirë me JetBot-in e ri të NVIDIA-s-me vetëm disa qindra imazhe, ju mund të stërvitni një model të teknologjisë së mësimit të thellë për të mësuar robotin tuaj se si të gjejë një rrugë në një labirint të koneve të trafikut të lodrave duke përdorur vetëm kamerën në bord dhe asnjë sensorë të tjerë.

Hapi 2: NVIDIA JetBot & Vështrim i Projektit

NVIDIA JetBot & Vështrim i Projektit
NVIDIA JetBot & Vështrim i Projektit

JetBot është një robot me burim të hapur i bazuar në kompletin NVIDIA Jetson Nano. Këtu mund të gjeni udhëzime të hollësishme se si ta ndërtoni dhe vendosni atë.

Ky projekt është një shembull i modifikuar i shmangies së Përplasjes nga NVIDIA JetBot Wiki. Ai përbëhet nga tre hapa kryesorë, secili i përshkruar në një fletore të veçantë Jupyter:

  • Mblidhni të dhëna në JetBot - notebook data_collection_cones.ipynb
  • Modeli i trenit në makinën tjetër GPU - notebook train_model_cones.ipynb
  • Drejtoni një demonstrim të drejtpërdrejtë në JetBot - fletore live_demo_cones.ipynb

Këtu mund t'i gjeni këto tre fletore Jupyter

Hapi 3: Ndërtoni JetBot dhe Ngarkoni Fletoret Jupyter

  1. Ndërtoni dhe konfiguroni JetBot siç shpjegohet këtu
  2. Lidhu me robotin tënd duke lundruar te https://: 8888 Identifikohu me fjalëkalimin e paracaktuar jetbot
  3. Mbyllni të gjithë fletoret e tjera që funksionojnë duke zgjedhur Kernel -> Shutdown All Kernels…
  4. Shkoni te ~/Fletoret/
  5. Krijo nën -dosje të re ~/Fletore/trafiku_konët_drejtim/
  6. Ngarko data_collection_cones.ipynb dhe live_demo_cones.ipynb te ~/Notebooks/traffic_cones_driving/

E RORTNDSISHM: Fletoret Jupyter data_collection_cones.ipynb dhe live_demo_cones.ipynb të referuara në këtë udhëzim duhet të ekzekutohen në JetBot ndërsa train_model_cones.ipynb - në një kompjuter me GPU.

Prandaj ne duhet të ngarkojmë data_collection_cones.ipynb dhe live_demo_cones.ipynb në JetBot dhe t'i vendosim në ~/Notebooks/traffic_cones_driving/

Hapi 4: Mbledhja e të dhënave të trajnimit në JetBot

Ne do të mbledhim një grup të dhënash të klasifikimit të imazheve që do të përdoret për të ndihmuar JetBot të veprojë në një labirint të koneve të trafikut. JetBot do të mësojë se si të vlerësojë probabilitetet e katër skenarëve (klasave):

  • Falas - kur është e sigurt të ecësh përpara
  • Bllokuar - kur ka një pengesë para robotit
  • Majtas - kur roboti duhet të rrotullohet në të majtë
  • Djathtas - kur roboti duhet të rrotullohet në të djathtë

Për të mbledhur të dhënat e trajnimit në JetBot ne do të përdorim fletoren Jupyter data_collection_cones.ipynb e cila përmban udhëzime të hollësishme se si ta bëjmë atë. Për të ekzekutuar këtë fletore në JetBot, ndiqni hapat e mëposhtëm:

  1. Lidhuni me robotin tuaj duke lundruar në https://: jetbot-ip-address:: 8888
  2. Hyni me fjalëkalimin e paracaktuar jetbot
  3. Mbyllni të gjithë fletoret e tjera që funksionojnë duke zgjedhur Kernel -> Shutdown All Kernels…
  4. Shkoni te ~/Notebooks/traffic_cones_driving/
  5. Hapni dhe ndiqni fletoren data_collection_cones.ipynb

Hapi 5: Trajnoni Rrjetin Neural në Makinën GPU

Tjetra, ne do të përdorim të dhënat e mbledhura për të ri-stërvitur modelin e mësimit të thellë AlexNet në makinën GPU (host) duke drejtuar train_model_cones.ipynb.

Vini re se train_model_cones.ipynb është fletorja e vetme Jupyter në këtë tutorial i cili nuk funksionon në JetBot

  1. Lidhuni me një makinë GPU me PyTorch të instaluar dhe një server Jupyter Lab që funksionon
  2. Ngarko fletoren train_model_cones.ipynb dhe në këtë makinë
  3. Ngarko skedarin dataset_cones.zip që keni krijuar në fletoren data_collection_cones.ipynb dhe ekstraktoni këtë grup të dhënash. (Pas këtij hapi ju duhet të shihni një dosje me emrin dataset_cones që shfaqet në shfletuesin e skedarëve.)
  4. Hapni dhe ndiqni fletoren e train_model_cones.ipynb. Në fund të këtij hapi, ju do të krijoni një model - skedarin best_model_cones.pth i cili më pas duhet të ngarkohet në JetBot për të ekzekutuar demonstrimin e drejtpërdrejtë.

Hapi 6: Drejtoni Demo Live në JetBot

Drejtoni Demo Live në JetBot
Drejtoni Demo Live në JetBot

Ky hap i fundit është të ngarkoni modelin best_model_cones.pth në JetBot dhe ta ekzekutoni atë.

  1. Furnizoni robotin tuaj nga paketa e baterisë USB
  2. Lidhuni përsëri me robotin tuaj duke lundruar në https://: jetbot-ip-address:: 8888
  3. Hyni me fjalëkalimin e paracaktuar jetbot
  4. Mbyllni të gjithë fletoret e tjera që funksionojnë duke zgjedhur Kernel -> Shutdown All Kernels…
  5. Shkoni te ~/Notebooks/traffic_cones_driving
  6. Hapni dhe ndiqni fletoren live_demo_cones.ipynb

Filloni me kujdes dhe jepini JetBot hapësirë të mjaftueshme për të lëvizur. Provoni konfigurimin e ndryshëm të konit dhe shihni se sa mirë roboti performon në mjedise të ndryshme, ndriçim, etj. Ndërsa fletorja live_demo_cones.ipynb shpjegon të gjitha hapat në detaje, grafiku i mëposhtëm tregon logjikën e lëvizjeve të robotëve duke pasur parasysh probabilitetet e parashikuara nga modelet.

Fletorja gjithashtu shpjegon se si të ruhet historia e lëvizjeve të robotëve me probabilitete të lira/majtas/djathtas/të bllokuara të parashikuara nga modeli dhe si të bëni dy video FPV (Pamja e Personit të Parë) (me shpejtësi 1 fps dhe 15 fps) me telemetri të mbivendosur dhe Të dhënat e veprimeve JetBot. Ato janë të dobishme për korrigjimin, rregullimin e kontrolluesit PID dhe përmirësimin e modelit.

Argëtohuni dhe më tregoni nëse keni pyetje!:-)

Kodi është i disponueshëm në Github

Recommended: