Intel CPU’lar için Optimize Tensorflow Derlemek

Makine Öğrenmesi, Derin Öğrenme çalışmalarımı Linux (Ubuntu 16.04) dizüstü bilgisayarımda Anaconda üzerinde Python ile yapıyorum. Intel ve Google’ın yakın zamanda yayınladıkları güncellemeler sayesinde Tensorflow CPU’lar üzerinde çok daha hızlı çalışabiliyor. (bkz. https://software.intel.com/en-us/articles/tensorflow-optimizations-on-modern-intel-architecture) Tensorflow’un güncel kodlarını çekip derlemek için aşağıdaki adımları uyguladım.

 

 

 

 

Öncelikle yeni bir Anaconda’yı güncelledim:

$conda create -n

Yeni bir Anaconda ortamı yarattım:

$conda create -n tensorflow35cpu python=3.5 anaconda

Yeni yarattığım ortama geçiş yaptım:

$source activate tensorflow35cpu

Tensorflow’u derlerken kullanacağım Bazel yüklü olmadığı için öncelikle onu yüklemem gerekti

echo "deb [arch=amd64] http://storage.googleapis.com/bazel-apt stable jdk1.8" | sudo tee /etc/apt/sources.list.d/bazel.list
curl https://bazel.build/bazel-release.pub.gpg | sudo apt-key add -

sudo apt-get update && sudo apt-get install bazel

sudo apt-get upgrade bazel

Github’dan Tensorflow’un kaynak kodlarını indirdim:

$git clone https://github.com/tensorflow/tensorflow

Bu klasöre girip ayarları başlattım. Bu aşamada Intel MKL kullanma seçeneği seçilmeli, configure betiği güncel Makine Öğrenmesi için Intel MKL kütüphanesini tensorflow/third_party/mkl/mklml klasörüne indirecek. Diğer seçenekleri ön tanımlı halleriyle bıraktım:

$cd tensorflow
$ ./configure

Optimize Tensorflow pip paketini oluşturdum:

$bazel build --config=mkl --copt="-DEIGEN_USE_VML" -c opt //tensorflow/tools/pip_package:build_pip_package

Ve son olarak bu paketi yükledim:

$bazel-bin/tensorflow/tools/pip_package/build_pip_package ~/path_to_save_wheel
pip install --upgrade --user ~/path_to_save_wheel /wheel_name.whl
Tagged