İçindekiler:
- Gereçler
- Adım 1: Motivasyon
- 2. Adım: NVIDIA JetBot ve Projeye Genel Bakış
- 3. Adım: JetBot Oluşturun ve Jupyter Not Defterlerini Yükleyin
- Adım 4: JetBot'ta Eğitim Verilerinin Toplanması
- Adım 5: Sinir Ağını GPU Makinesinde Eğitin
- 6. Adım: JetBot'ta Canlı Demo Çalıştırın
Video: NVIDIA JetBot ile Transfer Öğrenimi - Trafik Konileriyle Eğlence: 6 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:17
dvillevald tarafından Github'ımTakip edin Hakkında: Özellikle robotikte yapay zeka ve makine öğrenimi uygulamalarını seviyorum dvillevald Hakkında Daha Fazla »
Kamerayı ve son teknoloji derin öğrenme modelini kullanarak robotunuza trafik konilerinden oluşan bir labirentte bir yol bulmayı öğretin.
Gereçler
-
NVIDIA JetBot
NVIDIA JetBot Wiki'nin Malzeme Listesi sayfası, popüler satıcılardan satın alma bağlantıları ile birlikte JetBot oluşturmak için ihtiyacınız olan her şeyi listeler
-
NVIDIA GPU'lu bilgisayar
Modeli eğitmek için gerekli
- BlueDot Trading 4” RC Yarış Çeviklik Konileri, Turuncu – 20'li Set
Adım 1: Motivasyon
Ne zaman daralan bölgede araba kullansam, sürücüsüz bir arabanın trafik konilerinden geçmesinin ne kadar zor olacağını düşünüyorum. Görünüşe göre yeni NVIDIA'nın JetBot'u ile o kadar da zor değil - sadece birkaç yüz görüntüyle, robotunuza oyuncak trafik konilerinden oluşan bir labirentte nasıl bir yol bulacağını öğretmek için son teknoloji ürünü bir derin öğrenme modelini eğitebilirsiniz. yalnızca yerleşik kamerayı kullanarak ve başka hiçbir sensör kullanmadan.
2. Adım: NVIDIA JetBot ve Projeye Genel Bakış
JetBot, NVIDIA Jetson Nano kitine dayalı açık kaynaklı bir robottur. Nasıl oluşturulacağına ve kurulacağına dair ayrıntılı talimatları burada bulabilirsiniz.
Bu proje, NVIDIA JetBot Wiki'den değiştirilmiş bir Çarpışmadan kaçınma örneğidir. Her biri ayrı bir Jupyter not defterinde açıklanan üç ana adımdan oluşur:
- JetBot'ta veri toplayın - notebook data_collection_cones.ipynb
- Modeli diğer GPU makinesinde eğitin - notebook train_model_cones.ipynb
- JetBot'ta canlı demo çalıştırın - notebook live_demo_cones.ipynb
Bu üç Jupyter not defterini burada bulabilirsiniz
3. Adım: JetBot Oluşturun ve Jupyter Not Defterlerini Yükleyin
- Burada açıklandığı gibi JetBot'u oluşturun ve kurun
- https://:8888Varsayılan parola jetbot ile oturum açarak robotunuza bağlanın
- Çekirdek -> Tüm Çekirdekleri Kapat'ı seçerek çalışan diğer tüm not defterlerini kapatın.
- ~/Notebooks/ konumuna gidin
- Yeni alt klasör oluştur ~/Notebooks/traffic_cones_driving/
- data_collection_cones.ipynb ve live_demo_cones.ipynb dosyasını ~/Notebooks/traffic_cones_driving/ klasörüne yükleyin
ÖNEMLİ: Bu talimatta atıfta bulunulan Jupyter notebook data_collection_cones.ipynb ve live_demo_cones.ipynb, GPU'lu bir bilgisayarda train_model_cones.ipynb iken JetBot üzerinde çalıştırılmalıdır.
Bu nedenle data_collection_cones.ipynb ve live_demo_cones.ipynb'yi JetBot'a yüklememiz ve bunları ~/Notebooks/traffic_cones_driving/ içine yerleştirmemiz gerekiyor.
Adım 4: JetBot'ta Eğitim Verilerinin Toplanması
JetBot'un trafik konilerinden oluşan bir labirentte çalışmasına yardımcı olmak için kullanılacak bir görüntü sınıflandırma veri seti toplayacağız. JetBot, dört senaryonun (sınıflar) olasılıklarını nasıl tahmin edeceğini öğrenecektir:
- Ücretsiz - ilerlemek güvenli olduğunda
- Engellendi - robotun önünde bir engel olduğunda
- Sol - robotun sola dönmesi gerektiğinde
- Sağ - robotun sağa dönmesi gerektiğinde
JetBot'ta eğitim verilerini toplamak için, nasıl yapılacağına ilişkin ayrıntılı talimatlar içeren Jupyter notebook data_collection_cones.ipynb'yi kullanacağız. Bu not defterini JetBot'ta çalıştırmak için sonraki adımları izleyin:
- https://:jetbot-ip-address::8888 adresine giderek robotunuza bağlanın
- Varsayılan şifre jetbotuyla oturum açın
- Çekirdek -> Tüm Çekirdekleri Kapat'ı seçerek çalışan diğer tüm not defterlerini kapatın.
- ~/Notebooks/traffic_cones_driving/ konumuna gidin
- data_collection_cones.ipynb not defterini açın ve izleyin
Adım 5: Sinir Ağını GPU Makinesinde Eğitin
Ardından, train_model_cones.ipynb çalıştırarak GPU makinesinde (ana bilgisayar) derin öğrenme modeli AlexNet'i yeniden eğitmek için toplanan verileri kullanacağız.
Train_model_cones.ipynb'nin bu öğreticide JetBot'ta NOT çalıştırılan tek Jupyter not defteri olduğunu unutmayın
- PyTorch kurulu ve çalışan bir Jupyter Lab sunucusu ile bir GPU makinesine bağlanın
- train_model_cones.ipynb not defterini ve bu makineye yükleyin
- data_collection_cones.ipynb not defterinde oluşturduğunuz dataset_cones.zip dosyasını yükleyin ve bu veri kümesini çıkarın. (Bu adımdan sonra dosya tarayıcısında dataset_cones adlı bir klasörün göründüğünü görmelisiniz.)
- train_model_cones.ipynb not defterini açın ve izleyin. Bu adımın sonunda, bir model oluşturacaksınız - best_model_cones.pth dosyası daha sonra canlı demoyu çalıştırmak için JetBot'a yüklenmesi gerekir.
6. Adım: JetBot'ta Canlı Demo Çalıştırın
Bu son adım, best_model_cones.pth modelini JetBot'a yüklemek ve çalıştırmaktır.
- Robotunuzu USB pil paketinden çalıştırın
- https://:jetbot-ip-address::8888 adresine giderek robotunuza tekrar bağlanın
- Varsayılan şifre jetbotuyla oturum açın
- Çekirdek -> Tüm Çekirdekleri Kapat'ı seçerek çalışan diğer tüm not defterlerini kapatın.
- ~/Notebooks/traffic_cones_driving konumuna gidin
- live_demo_cones.ipynb not defterini açın ve izleyin
Tedbirli başlayın ve JetBot'a hareket etmesi için yeterli alan verin. Farklı koni konfigürasyonlarını deneyin ve robotun farklı ortamlarda, aydınlatmada vb. ne kadar iyi performans gösterdiğini görün. notebook live_demo_cones.ipynb tüm adımları ayrıntılı olarak açıklarken, aşağıdaki çizelge, modellerin öngördüğü olasılıklar göz önüne alındığında robot hareketlerinin mantığını göstermektedir.
Not defteri ayrıca, modelin öngördüğü serbest/sol/sağ/engellenmiş olasılıklarla robot hareketlerinin geçmişinin nasıl saklanacağını ve üst üste bindirilmiş telemetri ve JetBot eylemleri verileri. Bunlar hata ayıklama, PID kontrolör ayarı ve model geliştirme için kullanışlıdır.
Eğlenin ve sorularınız varsa bana bildirin!:-)
Kod Github'da mevcuttur
Önerilen:
OLED Ekran ve Arduino İle Eğlence: 12 Adım (Resimlerle)
OLED Ekran ve Arduino İle Eğlence: OLED ekran teknolojisini kesinlikle duymuşsunuzdur. Nispeten yenidir ve eski LCD teknolojisinden daha iyi bir kalite sunar. Bu öğreticide, verileri en yaygın tek ortaklardan birinde görüntülemek için gereken adımları gözden geçirmek istiyoruz
LM35 Sensör ve Makine Öğrenimi ile Oda Sıcaklığı Tahmini: 4 Adım
LM35 Sensörü ve Makine Öğrenimi Yoluyla Oda Sıcaklığı Tahmini: GirişBugün, polinom regresyon yoluyla sıcaklığı tahmin eden bir makine öğrenimi projesi oluşturmaya odaklandık.Makine öğrenimi, sistemlere otomatik olarak öğrenme yeteneği sağlayan bir yapay zeka (AI) uygulamasıdır
Omni_use Usb Kapak ve Plasti Dip İle Eğlence: 3 Adım
Omni_use Usb Cover ve Plasti Dip ile Eğlence: Bu, sitede iki aydan fazla bir süredir gizleniyor olmama rağmen, bu benim ilk talimatım. Bunun, plasti daldırma kullanımını amaçlanan kullanım dışında kullanma konusundaki bir seride (şimdiye kadar 3) ilk olma niyetindeyim. ihtiyac duyulan malzemeler. - plasti dip olabilir (11 dolar
IKEA Lamba ile Eğlence: 9 Adım
IKEA Lambasıyla Eğlence: Özel bir şey yok. Yeni bir şey yok.Ünlü IKEA Mylonit lambalı mod ışığının sadece benim versiyonum
Easy VBS ile Eğlence!!!: 5 Adım
Kolay VBS ile Eğlence!!!: Eğlenceye Yeni Başlayanlar kılavuzu ve yapması kolay görsel temel komut dosyası. VSB bazılarına zor görünebilir, ancak aslında gerçekten kolaydır. Windows, bir derleyici olmadan bile çalıştırabilir! Javascript biliyorsanız, sizin için gerçekten kolay olmalı