NVIDIA Jetson TK1 için TensorFlow 0.8 ve Keras 1.12

NVIDIA Jetson TK1

Yapay zeka veya görüntü işleme algoritmaları artık gömülü sistemlerde daha verimli çalışıyor. Bundan önce Raspberry Pi 3 kullanılıyordu ancak son zamanlarda ve özellikle otonom sistemlerde NVIDIA’nın geliştirdiği ve CUDA platformunu barındıran TK1, NVIDIA Kepler hesaplama çekirdeğini kullanıyor. Bu sayede küçük otonom aracınızda veya robotunuzda büyük GPU kartları kullanmanıza gerek kalmıyor. Ayrıca sadece TK1 değil, daha güçlü kartlar olan TX1 ve TX2 kartları da var. Ancak gömülü sistem barındırması nedeniyle yapay zeka ve görüntü işleme kütüphanelerini kurmak için bazen özel ayarlamalar yapılması gerekebilir. Bu işte çok uzun zamandır deneyimim yok ancak internette çok Türkçe kaynak olmadığından dolayı edindiğim bilgileri ve karşılaştığım zorlukları sizlere paylaşmaya karar verdim.

Tensorflow

TensorFlow 0.8:

TensorFlow, Google tarafından geliştirilen açık kaynaklı ve derin öğrenme için kullanılan kütüphanelerden birisidir. Bu kütüphanenin büyük olması sebebi ile internette her ne kadar yazıldığı gibi kurmaya çalışsanız da gömülü sistemlerde genelde sorun çıkıyor. Çıkan sorunu Google’da aratıp çözüme ulaşmak kolay ancak bazen internetteki çözümler işe yaramıyor.

TensorFlow’u Jetson TK1'e kurmanız için ilk önce TK1'e Jetpack yüklemeniz gerekmektedir. Jetpack’i buraya tıklayarak indirebilirsiniz.(NVIDIA Developer üyeliğiniz yoksa üye olmanız gerekmektedir) Jetpack ile karttaki GPU’yu kullanmak için gerekli olan CUDA sistemini ve birçok gerekli olan sistemi kendisi otomatik olarak kuruyor.(Bkz:jetsonhacks-jetpack)

Sıra şimdi gerekli olan işlemleri yapmaya geldi.

Sırasıyla:

sudo apt-get update
sudo apt-get install python-pip python-dev
git clone https://github.com/dat-ai/tensorfow-nvidia-jetson/
cd tensorfow-nvidia-jetson
sudo pip install tensorflow-0.8.0-py2-none-any.whl
python
import tensorflow as tf

Bu işlemleri yaparken bazılarınız hata alacak, bazılarınız ise hata almayacaktır. Hata alanlar aldıkları hatayı(genelde eksik modül hatası olur) internetten bakıp kısa sürede çözebilirler.

Keras

Keras:

Keras, Theano veya Tensorflow’u backend olarak kullanan bir wrapper denilebilir. Son zamanlarda Keras, çok popüler bir kütüphane haline geldi ve diğer kütüphanelere göre öğrenilmesi daha kolay. Keras’ı ve Tensorflow’u benim gibi gömülü sistemde kullanmak isteyenler olabilir. Gömülü sistemde bunu yapmak için ise Keras 1.2 veya 1.3 kurmamız yeterli olacaktır.

Eğer 1.2 sürümünü kurmak istiyorsanız:

sudo pip install keras==1.2

Diğer sürüm olan 1.3 için:

sudo pip install keras==1.3

İşlemin başarılı olduğunu kontrol etmek için:

ubuntu@tegra-ubuntu:~$ python 
Python 2.7.6 (default, Oct 26 2016, 20:46:32)
[GCC 4.8.4] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow as tf
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcublas.so locally
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcudnn.so locally
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcufft.so locally
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcuda.so.1 locally
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcurand.so locally
/usr/local/lib/python2.7/dist-packages/sklearn/cross_validation.py:41: DeprecationWarning: This module was deprecated in version 0.18 in favor of the model_selection module into which all the refactored classes and functions are moved. Also note that the interface of the new CV iterators are different from that of this module. This module will be removed in 0.20.
"This module will be removed in 0.20.", DeprecationWarning)
>>> import keras
Using TensorFlow backend.
>>>

Bu işlemleri yaptıktan sonra eğer sisteminizde eksik modül yoksa başarıyla kurdunuz demektir. Numpy,LibOpenCV4Tegra ve PyCuda gibi ileride bu kütüphanelerin ortak kullanımı ve Python ile grafik işlemcisini nasıl kullanıldığını göstereceğim. Herkese iyi çalışmalar. Sorunuz olursa mesaj atabilirsiniz.

NVIDIA Jetson kartlarını satın almak isteyenler: