Jetson ile deep learning uygulamaları üzerinde çalışmanın hızlı ve temiz yolu Docker imajı kullanmaktır. Jetson üzerine direkt kurulum yaparak ilerlemek kütüphaneler güncellendikçe çakışmalara yol açacaktır. Jetson imajının desteklediği kütüphaneler son versiyonlar olmuyor ve doğru kurulumların yapılması deneme yanılma istiyor. Güncellemeler sonrası kurulan dengenin bozulabileceğini düşündüğünüzde, Docker imajı ile temiz bir şekilde çalışmak pratik bir yol olacaktır.

Paylaştığım imaj, Jupyter Notebook ve Lab ile popüler kütüphaneleri kullanabileceğiniz, Jetson üzerinde desteklenen en son sürüm bileşenleri içerir. Jetson üzerinden, ağdaki bir bilgisayardan ya da İnternet'ten Jupyter'e erişebilirsiniz.

Docker Pull Command:

docker pull uerkal/jupyteronjetson

İmaj İçeriği

  • NVIDIA L4T Base r34.4.3
  • Python 2 & 3
  • Jupyter Notebook
  • Jupyter Lab & Lab Manager Extension
  • Tensorflow 2.1
  • Numpy
  • Pandas
  • Keras
  • OpenCV
  • PyCUDA
  • Matplotlib
  • NLTK
  • Sklearn
  • Tokenizer
  • Mongo
  • Tweet-Preprocessor

Öngereksinimler

  • NVIDIA Jetson donanımı. (Imaj Jetson Nano ve Jetson Xavier NX üzerinde test edilmiştir.)
  • Güncel işletim sistemi.
  • Docker. (Jetson imajı ile geliyor.)
  • 32GB (tercihen üzerinde) hafıza. Mümkünse SSD üzerinde çalıştırın.

Çalıştırma

Öncelikle, terminalden GPU'nuzun erişilebilir olduğunu doğrulayın.

lspci | grep -i nvidia

Aşağıdaki gibi bir sonuç alırsanız GPU'nuz erişilebilir durumdadır.

0004:00:00.0 PCI bridge: NVIDIA Corporation Device 1ad1 (rev a1)
0005:00:00.0 PCI bridge: NVIDIA Corporation Device 1ad0 (rev a1)

Kullanacağımız imaj, Ubuntu home klasörünüzde oluşturacağımız "notebooks" klasörüne erişim sahibi olacaktır. "/home/kullanıcı_adı" dizininde "notebooks" klasörü oluşturun.

Imajı indirmek için aşağıdaki komutu, user_name yerine Ubuntu kullanıcı adınız gelecek şekilde güncelleyerek çalıştırın.

docker run --gpus all -it -d -v /home/user_name/dev/notebooks:/notebooks -p 8888:8888 uerkal/jupyteronjetson

1.6 GB civarında imaj dosyası inip çalışmaya başlayacak. Bu aşamadan sonra Jupiter notebook'a erişebilmek için gerekli token'ı alacağız.

docker ps -a

Bu konutu çalıştırarak "uerkal/jupyteronjetson" container'ının ID'sini kopyalayın. Aşağıdaki komutta yer alan container_id'yi kopyaladığınız ID ile değiştirerek komutu çalıştırın.

docker exec -it container_id jupyter notebook list

Token'ı kopyalayın.

Jupyter Notebook'a erişmek için "http://jetson_ip:8888/", Jupyter Lab'a erişmek için "http://jetson_ip:8888/lab" adreslerini kullanın. Token'ınızı girin ve Jupyter'ınız kullanıma hazır!