Tensorflow ve Keras’ı GPU destekli olarak Windows 10 üzerine yüklemek

Herkese Merhaba, bu yazımızda Python ile uygulamalarını yaptığımız derin öğrenme algoritmalarının daha hızlı sonuç vermesi için GPU kartımızı nasıl kullanacağımızı göstereceğiz. Elimizde Nvidia CUDA destekli bir GPU kart olduğunu varsayıyoruz. Nvidia CUDA uyumlu GPU kartları listesi için https://developer.nvidia.com/cuda-gpus adresini inceleyebilirsiniz [1]. Windows’a önceden Anaconda ve PyCharm yüklediğimizi varsayıyoruz. Anaconda ve PyCharm kurulumu için https://medium.com/@GalarnykMichael/setting-up-pycharm-with-anaconda-plus-installing-packages-windows-mac-db2b158bd8c adresi incelenebilir. Sırasıyla aşağıdaki adımları gerçekleştiriyoruz [2].

  1. Microsoft Visual Studio yüklenmesi

CUDA araç kitini yüklerken hata alınmaması için Microsoft Visual Studio kurulması gerekebilir [3]. CUDA’yı yükler iken hata almazsanız bu adımı atlayabilirsiniz. https://go.microsoft.com/fwlink/?LinkId=615448&clcid=0x409 sitesinden Microsoft Visual Studio 2015 Topluluk Sürümü indirilebilir[4].

  1. CUDA Araç kitinin kurulması

https://developer.nvidia.com/cuda-downloads sitesinden Windows 10’a uygun CUDA Araç Kiti ve yamalarını indirip yüklüyoruz[5]. Bu yazı yazıldığında CUDA araç kitinin en son 9.1 versiyonu yayınlanmıştı. Burada dikkat etmeniz gereken GPU kartınızın uyumlu olduğu CUDA araç kitini indirip kurmaktır.

  1. cuDNN (CUDA Deep Neural Network Library) yüklenmesi

Nvidia CUDA Derin Nöral Ağ Kütüphanesi olan cuDNN’i https://developer.nvidia.com/cudnn sayfasından indiriyoruz[6]. cuDNN Nvidia Derin Öğrenme SDK’sının bir parçasıdır[5].  cuDNN’i indirmek için üye olmak gereklidir. Üye olduktan sonra tekrar verilen site adresine gidiniz[6] ve CUDA 9.1 için cuDNN en son versiyonu olan 7.3 sürümünün Windows 10 için olanını indiriniz. İndirilen .zip uzantılı dosyayı açınız ve klasördeki tüm dosyaları “C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.1” klasörüne kopyalayınız. (Yönetici izin sağlamak için sorulan soruda Devam’a tıklayınız.)

Kopyalama işlemi yapıldıktan sonra (Resim 1),CUDA Path’inin ayarlarını kontrol etmek için; “Bu Bilgisayar (Sağ Tık) à Özellikler à Gelişmiş à Ortam Değişkenleri”ne tıklayınız. Resim 2’deki gibi CUDA Path’inin ekli olduğunu görünüz. CUDA Path’i eklenmemişse Resim 2’de görüldüğü gibi ekleyiniz.

Resim 1. cuDNN dosyalarının seçilip CUDA kurulan yere kopyalanması

Resim 2. Ortam Değişkenleri CUDA PATH görünümü

  1. Tensorflow ve Keras’ı GPU destekli Python Enviroment’a yükleme ve Test Etme[3]
> conda update conda # İlk önce conda’yı güncelliyoruz. 
> activate python3 # Sonrasında önceden oluşturduğumuz “python3” adında Enviroment’ı aktive ediyoruz. 
> pip install tensorflow-gpu keras  # GPU destekli Tensorflow ve Keras’ı yüklüyoruz.

Aşağıdaki python kodu ile Tensorflow’un GPU desteğinin çalıştığını görebiliriz.

import tensorflow as tf
sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))

Resim 3’de GPU’nun Tensorflow için etkin olduğunu görebilirsiniz.

Resim 3. TensorFlow GPU oturum bilgisi

Modelimizi eğitirken GPU kullanımını görmek için “C:\Program Files\NVIDIA Corporation\NVSMI\nvidia-smi.exe” komutunu kullanabilirsiniz. Resim 4’de Keras kullanılan bir örnek GPU durumu görülebilir.

Resim 4. GPU kullanım görünümü

GPU kullanımını pasif yapmak için aşağıdaki Python kodunu kullanabilirsiniz.

#GPU kullanımını pasife alma
import os
os.environ["CUDA_DEVICE_ORDER"] = "PCI_BUS_ID" 
os.environ['CUDA_VISIBLE_DEVICES'] = '-1' # '0' değeri verilirse GPU kullanımı aktif olacaktır.

Kaynaklar:

[1] https://developer.nvidia.com/cuda-gpus, 27 Nisan 2018 tarihinde erişildi.

[2] https://medium.com/@GalarnykMichael/setting-up-pycharm-with-anaconda-plus-installing-packages-windows-mac-db2b158bd8c, 27 Nisan 2018 tarihinde erişildi.

[3] https://medium.com/@raza.shahzad/setting-up-tensorflow-gpu-keras-in-conda-on-windows-10-75d4fd498198, 27 Nisan 2018 tarihinde erişildi.

[4] https://go.microsoft.com/fwlink/?LinkId=615448&clcid=0x409, 27 Nisan 2018 tarihinde erişildi.

[5] https://developer.nvidia.com/cuda-downloads, 27 Nisan 2018 tarihinde erişildi.

[6] https://developer.nvidia.com/cudnn, 27 Nisan 2018 tarihinde erişildi.