Okuma 6.8 dkKategoriler: OTONOM ARAÇLAR

Üretim sınıfı Jetson modüllerde dahili (eMMC) hafıza kullanılmaktadır. JetPack SDK’nın yeni güncellemeler alması ve uygulamaların gittikçe daha fazla alana ihtiyaç duyması, dahili bellekleri yetersiz duruma getirebiliyor. Bu problemin çözümlerinden bir tanesi Docker sistemini SD karta taşıyarak kullanmak. Fakat taşıma işleminden önce SD kartta bazı ayarlamalar yapılması gerekiyor. Bu yazımızda, Docker sistemini SD karta taşıma işlemini ve basit bir görüntü sınıflandırmasını Docker kullanarak nasıl yapabileceğinizi göstereceğiz.

Birçok SD kart, FAT32 dosya formatında satılmaktadır. SD kartı bu dosya türünde, depolama amaçlı kullanabiliriz fakat Ubuntu üzerinde çalışan Docker gibi sistemleri, SD karta taşımaya çalıştığımız zaman hatalı işlemler, dosya okuma ve yazma izinleri gibi sorunlarla karşılaşabiliriz. Bunlar gibi problemlerin önüne geçmek için SD kartı, ext4 formatına biçimlendirmemiz gerekiyor.

Hazır Yapay Zeka Kitleri, Ubuntu temelli işletim sistemine (L4T – Linux for Tegra) sahiptir. Bu sebepten dolayı yazıda Ubuntu olarak belirtilen aşamalarda, kit üzerinden işlem yapılacağı kastedilmektedir.

Biçimlendirme işlemini farklı örnekler olması için hem Windows işletim sisteminde hem de Ubuntu üzerinde gerçekleştirdik. SD kartı Windows üzerinde ilk olarak exFAT dosya formatına sonra da Ubuntu terminali ile ext4 formatına biçimlendiriyoruz.

1) SD kartı bilgisayara taktıktan sonra, biçimlendirme seçeneğine tıklayın. Dosya sistemi olarak exFAT’ı seçin ve başlat butonuna basarak biçimlendirme işlemini başlatın.

2) exFAT dosya türünde formatladığımız sd kartı, taşıyıcı karta takın ve aşağıdaki komutu çalıştırarak SD kartın okunduğundan emin olun.

Copy to Clipboard

3) Terminalde yukarıdaki gibi çıktı alıyorsanız SD kartın bağlantısı başarıyla yapılmış demektir. Şimdi de SD kartı exFAT dosya formatından ext4 formatına biçimlendireceğiz.

Copy to Clipboard

4) SD kartın biçimlendirme işlemlerini tamamlandı. Sistem, bazen biçimlendirme işlemlerinden sonra SD kartı okumayabiliyor. Bunun için masaüstünün solunda yer alan SD kart simgesine tıklayın, görselde gördüğünüz butona tıklayarak unmount/mount işlemi yapın.

5) Docker taşıma işlemine geçmeden Docker servislerinin durdurulması gerekiyor. Aşağıdaki komutları kullanarak servisleri durdurun.

Copy to Clipboard

6) Buradan sonraki adımlarda kullanmak üzere SD kartın bağlantı adının öğrenilmesi gerekiyor. Aşağıdaki komutları çalıştırdıktan sonra SD kartın adını kopyalayın.

Copy to Clipboard

7) Docker servislerini SD karta taşımadan önce docker.service konfigürasyon dosyasında değişiklik yapılması gerekiyor. Bunun için aşağıdaki komut ile bu dosyayı açın. Biz metin editörü olarak Nano’yu kullandık, Vim veya başka herhangi bir metin editörü de kullanabilirsiniz.

Görselde gösterilmiş olan ExecStart ile başlayan satıra gelin. Konfigürasyona ekleme yapılacak olan satır burası.

Copy to Clipboard

8) ExecStart satırı, Docker servislerinin bulunduğu adresi gösteriyor. Satırda herhangi bir yeri silmeden sadece SD kartın adresini ekleyin. 5. adımda öğrendiğiniz SD kartın ismini, aşağıdaki komutun sonuna yazın, görselde olduğu gibi satıra ekleme yapın ve konfigürasyon dosyasını kaydedip çıkış yapın. Nano editöründe ctrl + x tuş kombinasyonu ile değişiklikler kaydedilerek çıkış yapılır.

9) Konfigürasyon dosyasında değişiklik yaptıktan sonra yeniden senkronizasyon yapmamız gerekiyor. Bunun için aşağıdaki kodu çalıştırın. Görselde gördüğünüz dockertest/ adresi, bizim sistemimizde docker’ı önceden taşıdığımız adres fakat sizin sisteminizde /var/lib/docker adresinde bulunuyor. Senkronizasyon işlemi için aşağıdaki komutu çalıştırın.

Copy to Clipboard

10) Senkronizasyon işlemi tamamlandıktan sonra Docker servislerinin yeniden başlatılması gerekiyor. Servislerin yeniden başlaması için aşağıdaki komutları çalıştırın.

Copy to Clipboard

11) Docker servislerini de yeniden başlattıktan sonra yapmamız gereken son şey; yaptığımız işlemin doğruluğunu test etmek. Bunun için aşağıdaki komutu çalıştıralım. Eğer işlemi doğru bir şekilde tamamladıysak Docker Root Dir satırında SD kartımızın ismini görmemiz gerekiyor. Eğer yazmıyorsa adımları tekrar gözden geçirin.

Copy to Clipboard

Docker sistemini sorunsuzca SD karta taşıdığımıza göre basit bir sınıflandırma işlemi yapabiliriz. Bunun için ImageNet’i kullanacağız. ImageNet, görüntü uygulamalarında kullanılmak için 14 milyon görselden ve 1000 kategoriden oluşan bir veri setidir. İlk olarak terminal üzerinde SD kartın adresine ulaşarak bir github reposu indirmemiz gerekiyor.

Copy to Clipboard

İndirme işlemi bittikten sonra jetson-inference dosyasına erişelim ve sınıflandırma işlemini yapacağımız konteyneri indirelim.

Copy to Clipboard

Konteyner indikten sonra karşımıza hangi modelleri indirmek istediğimizi soran bir pencere açılacak. Burada hepsini indirebileceğiniz gibi istediğiniz bir modeli de indirebilirsiniz.

İndirme işlemi biter bitmez konteyner açılmış oluyor. Sınıflandırma işlemini yapmak için /bin klasörüne erişmemiz gerekiyor. Bunun için aşağıdaki komutu kullanabilirsiniz.

Copy to Clipboard

/bin klasörünün içinde sınıflandırma uygulaması dışında yapabileceğiniz uygulamaları görebilirsiniz. Biz başlangıçta zorlanmamanız için /images klasörü içinde bulunan örnek görüntüleri kullanarak ImageNet ile sınıflandırma işlemi yapacağız. İşlemi başlatmak için aşağıdaki komutu kullanabilirsiniz.

Copy to Clipboard

Sınıflandırma işleminin sonuçlarını /data/images/test klasörü içinde görebilirsiniz. SD kartı açmaya çalışırken dosya okuma/yazma izni hatası karşınıza çıkarsa aşağıdaki komutları çalıştırabilirsiniz.

Copy to Clipboard

Docker sisteminin SD karta nasıl taşındığını ve basit bir görüntü sınıflandırma uygulaması çalıştırmayı öğrendiğinize göre artık hazır yapay zeka kitinizde konteynerin avantajlarından faydalanabilirsiniz, bir sonraki yazımızda görüşmek üzere.

OPENZEKA HABERLERİ

Abone olmak ister misiniz?

Hemen ilgilendiğiniz alanları seçerek bültenimizden haberdar olabilirsiniz.

Kategoriler

OPENZEKA HABERLERİ

Abone olmak ister misiniz?

Hemen ilgilendiğiniz alanları seçerek bültenimizden haberdar olabilirsiniz.

Kategoriler

Hesaplarınızda paylaşmak ister misiniz?

İlgili Yazılar