Windows Üzerine Tensorflow-GPU Kurulumu

Tensorflow; Google tarafından yönetilen, derin öğrenme konusunda çok kapsamlı ve yardımcı bir kütüphane. Bu blog üzerinde bazı örneklerde Keras ile beraber kullanmıştık hatta. Şu anda CPU ve GPU olmak üzere iki versiyonu bulunuyor. Kolay kurulduğu için CPU versiyonunu kullanıyordum ama modeller karmaşıklaştıkça CPU inanılmaz yavaş gelmeye başladı, artık GPU versiyonunu deneme zamanı geldi.

Donanım Gereksinimleri

İlk olarak elimizde bir NVIDIA ekran kartımız ve x86_64 mimarili bir işlemcimiz olmalı.
Neden NVIDIA; çünkü Tensorflow ve diğer pek çok kütüphane NVIDIA’nın geliştirdiği CUDA Toolkit, CuDNN ve diğer araçlar üzerinde işlemlerini yapıyor. NVIDIA bu konuda rakipsiz ve önümüzdeki yıllarda da bu böyle gidecek gibi (evet NVIDIA hissesi alın). Rakipsiz olmasının asıl sebebi, bence, sadece iyi donanım üretmesi değil bunu yazılımla da desteklemesi. Şu an makine öğrenmesi için kullanılabilecek yarı profesyonel bir ekran kartı GTX 1080 TI $700.
Neden x86_64; çünkü CUDA’nın x86_32 mimariler üzerinde sadece GeForce GPU’lar üzerinde çalışma, Native geliştirme yapamama gibi bazı limitleri var ve problem çıkarabilir, denemedim.

Yazılım Gereksinimleri

Şu link üzerindeki yönergeleri takip ederek kurulumu yaptım. Çok fazla sürüm kısıtlaması olduğu için kontrol etmenizde fayda olabilir.

Her şeyden önce ekran kartınızın sürücüsünü son sürümüne güncellemeniz gerekli. Güncellemeyi yaptıktan sonra bilgisayarınızı yeniden başlatarak kuruluma devam edin.
Diğer önemli konu da CUDA Compute Capability. Tensorflow, Compute Capability desteğini 3.0 ve üzeri ile limitlemiş durumda. Ekran kartınızın modeli ile araştırıp Compute Capability’sini bulmanızı tavsiye ederim. Eğer benimki(GeForce 710M) gibi 2.1 ise Tensorflow kullanmak daha da zorlaşacak demektir. Zira bu ekran kartlarında çalışması için Tensorflow’u kendimiz uygun parametrelerle build etmeliyiz. Şu an Windows için resmi bir destek yok, MacOS ya da Ubuntu için şurada yönergeleri bulabilirsiniz ki burada bile uğraşmanıza değmez anlamlı uyarılar var. Bu arada aynı limit Torch için de geçerli.

Eğer kurmadıysanız Python 3.5 kurarak başlayın. Şu an son sürüm 3.6 fakat Tensorflow bunu desteklemiyor bu yüzden mutlaka 3.5 sürümünü kullanın. Ya da sisteminizde zaten 3.6 kurulu ise ve bunu bozmak istemiyorsanız benim gibi Anaconda üzerinde bir sanal ortam oluşturarak python 3.5 kullanabilirsiniz.

İkinci olarak Visual Studio 2015 kurulumu yapmamız gerekli, CUDA buna ihtiyaç duyuyor yoksa tamamlayamıyor kurulumu. Burada şöyle bir sorun çıktı, Windows şu an ücretsiz olarak Visual Studio Community 2017 sürümünü veriyor, 2015 sürümünü bulmanız gerekli ve Windows saklama konusunda çok başarılı. Eski sürümlere erişebilmek için,
https://my.visualstudio.com adresine girerek üye olmanız gerekliymiş. Burada arama çubuğuna Visual Studio 2015 yazdığınızda önünüze linkler gelecektir. Uygun linkten indirip kurulumu yaparak devam edebilirsiniz.

Sırada CUDA Toolkit kurulumu, şu an son sürüm 8.0. Şu linkten gerekli seçimleri yaparak dosyamızı indirip kuruluma başlayabilirsiniz. Son adımda exe(local) seçeneği tüm dosyaları bir seferde indirir diğer seçenek ise kurulum esnasında gerekli dosyaları indirerek kurulumu yapar.
Yaklaşık 1GB boyutunda bir 7z arşiv dosyası indireceksiniz. Şöyle bir durum benim başıma geldi, bağlantı hızım ya da NVIDIA’nın serverlarından kaynaklı indirme duraksayarak oldu bu da dosyanın yapısını bozduğu için “Non 7z Archive” gibi anlamsız bir hata aldım ilk indirmemde. Daha stabil bir download hızıyla tekrar indirmeniz gerekli.

Kurulumu bitirdikten sonra PATH ve CUDA_PATH değişkenlerini kontrol edin, kurulumda otomatik olarak CUDA DLL dosyalarının konumları buraya eklenmiş olmalı. Bu değişkenlere, “Bilgisayarım”a sağ tıklayarak Özellikler > Gelişmiş Sistem Ayarları > Ortam Değişkenleri adımları ile erişebilirsiniz.

Şu linkte CUDA için Windows kurulum aşamaları var, yeni versiyonlarla güncellenecektir ama ben bu yazıyı güncelleyemeyebilirim. Bu yüzden bir kontrol etmenizde fayda var.
http://docs.nvidia.com/cuda/cuda-installation-guide-microsoft-windows/index.html

Daha sonra CuDNN kütüphanesini kurmamız gerekiyor. CuDNN; derin öğrenme için gerekli işlemleri yapabilmemizi sağlayan yardımcı bir kütüphane. Şuradan indirebilirisiniz. Mevcut Tensorflow sürümü 5.1 versiyonunu destekliyor. Dolayısıyla “cuDNN v5.1 (Jan 20, 2017), for CUDA 8.0” yazan dosyayı indirmemiz gerekli. Gelen klasörü herhangi bir yere kopyalayın ve bu klasör içindeki bin klasörünün yolunu PATH değişkeninize ekleyin.

Son olarak da bir konsol açıp, eğer Anaconda ortamı kullanıyorsanız onu aktive edip, “pip install –upgrade tensorflow-gpu” komutu ile kuruluma başlayabilirsiniz. CPU versiyonunu önceden kurmuş iseniz “pip uninstall tensorflow” komutu ile kaldırabilirsiniz.

Buraya kadar sorun yaşamadıysanız ne güzel. Kurulumu kontrol edelim şimdi de. Bir komut penceresi açıp “python” yazarak Python komut satırına geçelim ve “import tensorflow as tf” komutunu verelim. Bir hata yok ise kurulum tamamlanmıştır. Import DLL geçen bir hata aldıysanız benim gibi Windows’u tekrar başlatarak tekrar deneyin. Emin değilim ama PATH değişkenini dinamik olarak göremiyor galiba Anaconda ortamı.

Tensorflow GPU’nuzu görebiliyor mu ya da Compute Capability’si uygun mu bunları görmek için Tensorflow üzerindeki device_lib paketinden yararlanabiliriz.

from tensorflow.python.client import device_lib

def get_available_gpus():
    local_device_protos = device_lib.list_local_devices()
    return [x.name for x in local_device_protos if x.device_type == 'GPU']

Yayımlandı

kategorisi

yazarı:

Yorumlar

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir