Mündəricat:

NVIDIA JetBot ilə Öyrənmə Transferi - Trafik Konusları ilə Əylən: 6 Addım
NVIDIA JetBot ilə Öyrənmə Transferi - Trafik Konusları ilə Əylən: 6 Addım

Video: NVIDIA JetBot ilə Öyrənmə Transferi - Trafik Konusları ilə Əylən: 6 Addım

Video: NVIDIA JetBot ilə Öyrənmə Transferi - Trafik Konusları ilə Əylən: 6 Addım
Video: Debet kartlar niyə pulsuz paylanır? - BAKU TV 2024, Noyabr
Anonim

My GithubFollow Haqqında: Xüsusilə robototexnika sahəsində AI və maşın öyrənmə tətbiqlərini bəyənirəm dvillevald haqqında daha çox »

Robotunuza kamera və ən müasir dərin öyrənmə modelindən istifadə edərək trafik konuslarının labirintində bir yol tapmağı öyrədin.

Təchizat

  • NVIDIA JetBot

    NVIDIA JetBot Wiki -nin Materiallar səhifəsi, məşhur satıcılardan bağlantılar almaqla birlikdə JetBot qurmaq üçün lazım olan hər şeyi sadalayır

  • NVIDIA GPU ilə kompüter

    Modeli öyrətmək lazımdır

  • BlueDot Trading 4”RC Racing Agility Cones, Portağal - 20 dəst

Addım 1: Motivasiya

Image
Image

Hər dəfə daralma sahəsinə çıxanda öz-özünə idarə olunan avtomobilin trafik konuslarında hərəkət etməsinin nə qədər çətin olacağını düşünürəm. Yeni NVIDIA-nın JetBotu ilə o qədər də çətin olmadığı ortaya çıxdı-cəmi bir neçə yüz şəkil ilə robotunuza oyuncaq trafik konuslarının labirintində bir yol tapmağı öyrətmək üçün ən son texnologiyalı dərin öyrənmə modeli öyrədə bilərsiniz. yalnız daxili kameradan istifadə edin və başqa sensorlar yoxdur.

Addım 2: NVIDIA JetBot və Layihəyə Baxış

NVIDIA JetBot və Layihəyə Baxış
NVIDIA JetBot və Layihəyə Baxış

JetBot, NVIDIA Jetson Nano dəstinə əsaslanan açıq mənbəli bir robotdur. Qurmaq və qurmaq üçün ətraflı təlimatları burada tapa bilərsiniz.

Bu layihə, NVIDIA JetBot Wiki -dən dəyişdirilmiş Toqquşmanın qarşısını almaq nümunəsidir. Hər biri ayrı bir Jupyter dəftərçəsində təsvir olunan üç əsas addımdan ibarətdir:

  • JetBot - notebook data_collection_cones.ipynb haqqında məlumat toplayın
  • Digər GPU maşınında qatar modeli - notebook train_model_cones.ipynb
  • JetBot -da canlı demo işlədin - notebook live_demo_cones.ipynb

Bu üç Jupyter noutbukunu burada tapa bilərsiniz

Addım 3: JetBot yaradın və Jupyter Noutbuklarını Yükləyin

  1. Burada izah edildiyi kimi JetBot qurun və qurun
  2. Http: //: 8888 -ə gedərək robotunuza qoşulun Varsayılan parol jetbot ilə daxil olun
  3. Kernel -> Bütün Nüvələri Bağlayın seçərək digər çalışan notebookları bağlayın …
  4. ~/Notbuklar/bölməsinə gedin.
  5. Yeni alt qovluq yaradın ~/Notebooklar/traffic_cones_driving/
  6. Data_collection_cones.ipynb və live_demo_cones.ipynb fayllarını ~/Notebooks/traffic_cones_driving/-ə yükləyin.

ƏHƏMİYYƏTLİ: Bu təlimatda istinad edilən Jupyter noutbukları data_collection_cones.ipynb və live_demo_cones.ipynb, train_model_cones.ipynb - GPU olan bir kompüterdə JetBot -da işləməlidir.

Buna görə data_collection_cones.ipynb və live_demo_cones.ipynb fayllarını JetBot -a yükləməli və ~/Notebooks/traffic_cones_driving/-ə yerləşdirməliyik.

Addım 4: JetBot -da Təlim Məlumatlarının Toplanması

JetBot -un trafik konuslarının labirintində işləməsinə kömək etmək üçün istifadə ediləcək bir şəkil təsnifatı məlumat toplayacağıq. JetBot dörd ssenarinin (siniflərin) ehtimallarını necə qiymətləndirməyi öyrənəcək:

  • Pulsuz - irəliləmək təhlükəsiz olduqda
  • Bloklanmış - robotun qarşısında maneə olduqda
  • Sol - robot sola dönəndə
  • Sağda - robot sağa fırlananda

Təlim məlumatlarını JetBot -da toplamaq üçün bunu necə etmək barədə ətraflı təlimatları ehtiva edən Jupyter notebook data_collection_cones.ipynb istifadə edəcəyik. Bu notebooku JetBot -da işə salmaq üçün aşağıdakı adımları yerinə yetirin:

  1. Http: //: jetbot-ip-address:: 8888-ə gedərək robotunuza qoşulun
  2. Varsayılan parol jetbot ilə daxil olun
  3. Kernel -> Bütün Nüvələri Bağlayın seçərək digər çalışan notebookları bağlayın …
  4. ~/Notebooks/traffic_cones_driving/gedin
  5. Data_collection_cones.ipynb notebookunu açın və izləyin

Addım 5: GPU Maşında Sinir Şəbəkəsini öyrədin

Daha sonra, train_model_cones.ipynb proqramını işə salmaqla dərin öyrənmə modelini AlexNet-in GPU maşınında (ana) yenidən hazırlanması üçün istifadə edəcəyik.

Qeyd edək ki, train_model_cones.ipynb, bu təlimatda JetBot -da DEYİL işlədilən yeganə Jupyter notbukudur

  1. PyTorch quraşdırılmış və işləyən bir Jupyter Lab serveri olan bir GPU maşınına qoşulun
  2. Train_model_cones.ipynb notebookunu və bu maşına yükləyin
  3. Data_collection_cones.ipynb notebook -da yaratdığınız veri_cones.zip faylını yükləyin və bu verilənlər bazasını çıxarın. (Bu addımdan sonra, fayl tarayıcısında datat_cones adlı bir qovluq göründüyünü görməlisiniz.)
  4. Train_model_cones.ipynb notebookunu açın və izləyin. Bu addımın sonunda bir model yaradacaqsınız - best_model_cones.pth faylı, sonra canlı demoyu işə salmaq üçün JetBot -a yüklənməlidir.

Addım 6: JetBot -da Canlı Demonu işə salın

JetBot -da Canlı Demo işləyin
JetBot -da Canlı Demo işləyin

Bu son addım, best_model_cones.pth modelini JetBot -a yükləmək və işə salmaqdır.

  1. Robotunuzu USB batareya paketindən işə salın
  2. Http: //: jetbot-ip-address:: 8888-ə gedərək robotunuza yenidən qoşulun
  3. Varsayılan parol jetbot ilə daxil olun
  4. Kernel -> Bütün Nüvələri Bağlayın seçərək digər çalışan notebookları bağlayın …
  5. ~/Notebooks/traffic_cones_driving bölməsinə keçin
  6. Live_demo_cones.ipynb notebookunu açın və izləyin

Ehtiyatlı olun və JetBot -a hərəkət etmək üçün kifayət qədər yer verin. Fərqli konus konfiqurasiyasını sınayın və robotun fərqli mühitlərdə, işıqlandırma və s. Necə yaxşı işlədiyini görün. Live_demo_cones.ipynb notebooku bütün addımları ətraflı izah edərkən, aşağıdakı cədvəl modellərin proqnozlaşdırdığı ehtimalları nəzərə alaraq robot hərəkətlərinin məntiqini göstərir.

Notbuk, modelin proqnozlaşdırdığı sərbəst/sol/sağ/bloklanmış ehtimallarla robot hərəkətlərinin tarixini necə saxlamağı və üst -üstə qoyulmuş telemetriya ilə iki FPV (İlk Şəxs Görünüşü) videosunun (1 kadr və 15 kadr sürətində) necə hazırlanacağını da izah edir. JetBot hərəkətləri məlumatları. Hata ayıklama, PID nəzarətçi tənzimlənməsi və model təkmilləşdirilməsi üçün faydalıdır.

Əylən və sualların varsa mənə bildir!:-)

Kod Github -da mövcuddur

Tövsiyə: