Tensorflow GPU Kullanımı


#1

Dün tensorflow kurdum fakat gpu kullanmadığını düşünüyorum. hem

pip install tensorflow
hemde

pip install tensorflow-gpu

kodlarını çalıştırdım ikiside kuruldu.Hangisini kullandığını nasıl öğrenirim?
Eğer Cpu kullanıyosam nasıl GPU ya geçiririm?

Yardım edenlere şimdiden teşekkür ederim.
GPU-Z PROGRAMI İLE BAKTIM GPU KULLANILIYOR ŞUANDA (ÇÖZÜLDÜ.)


#5

@Utku20 Loglarına göre büyük ihtimal GPU kullanmıyorsun. Kendi bilgisayarımda bir kaç projeyi hızlıca çalıştırdığımda hepsinin başında GPU’m ile alakalı bilgileri yazıyor (ki hiç bir projede bunları yazsın diye ekstra bir parametreyi açmadım):

2018-03-19 19:36:38.390937: I C:\tf_jenkins\workspace\rel-win\M\windows-gpu\PY\35\tensorflow\core\platform\cpu_feature_guard.cc:137] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX AVX2
2018-03-19 19:36:38.754287: I C:\tf_jenkins\workspace\rel-win\M\windows-gpu\PY\35\tensorflow\core\common_runtime\gpu\gpu_device.cc:1105] Found device 0 with properties: 
name: GeForce GTX 970M major: 5 minor: 2 memoryClockRate(GHz): 1.038
pciBusID: 0000:01:00.0
totalMemory: 3.00GiB freeMemory: 2.47GiB
2018-03-19 19:36:38.755045: I C:\tf_jenkins\workspace\rel-win\M\windows-gpu\PY\35\tensorflow\core\common_runtime\gpu\gpu_device.cc:1195] Creating TensorFlow device (/device:GPU:0) -> (device: 0, name: GeForce GTX 970M, pci bus id: 0000:01:00.0, compute capability: 5.2)

#6

Bende öyle düşünüyorum. Teşekkür ederim. Cuda yı falan bidaha kontrol edicem.


#7

Cuda kaynaklı olsaydı çok büyük ihtimal ona dair hata log’u alırdın. Bence, 2 tensorflow paketini de silip sadece gpu’lu versiyonunu yükle (sonuçta gpu ile çalışabiliyorsan niye cpu’lu versiyonuna ihtiyaç duyasın ki =)).


#8

Hmm işte bu konuda bi sıkıntı var bunu denediğimde ilk önce gpu versiyonu kurdum o zaman bi hata aldım. o yüzden belki normal tensorflowda lazımdır diye düşünüp. Onuda indirdim o zaman sıkıntı başka biyerde mi acaba ? bu arada geforce 840m var laptop kullanıyorum.


#15

Sorunun altında lütfen tek başlıkta yanıt veriniz. Yanıtınızı düzenleyebilirsiniz.


#2

Eğer yanlış bilmiyorsam Tensorflow’un GPU sürümünü kullanabilmek için Nvidia bir ekran kartın ve bilgisayarında Nvidia CUDA’nın kurulu olması gerekiyor. Bunun dışında CPU mu yoksa GPU mu kullandığını öğrenebilmek için aşağıdaki iki yöntemden birini deneyebilirsin:

  1. Device Log’u Etkinleştirme
    sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))

  2. Kodu Doğrudan GPU Üzerinde Çalıştırma

with tf.device('/gpu:0'):
    a = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[2, 3], name='a')
    b = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[3, 2], name='b')
    c = tf.matmul(a, b)

with tf.Session() as sess:
    print (sess.run(c))

Kaynak: StackOverflow


#19

Bilgisayarın laptop mu ? Eğer laptop ise,Tensorflow’u gpu kullanmak için nasıl bir laptop tercih edilmeli ?


#4

runfile(‘C:/Users/darkl/Desktop/tensor mnist/mnist (2).py’, wdir=‘C:/Users/darkl/Desktop/tensor mnist’)
Extracting data/MNIST/train-images-idx3-ubyte.gz
Extracting data/MNIST/train-labels-idx1-ubyte.gz
Extracting data/MNIST/t10k-images-idx3-ubyte.gz
Extracting data/MNIST/t10k-labels-idx1-ubyte.gz
Iteration: 0 Training accuracy: 0.078125 Training loss: 2.32934
Iteration: 100 Training accuracy: 0.679688 Training loss: 0.882061
Iteration: 200 Training accuracy: 0.820313 Training loss: 0.536674
Iteration: 300 Training accuracy: 0.859375 Training loss: 0.443384
Iteration: 400 Training accuracy: 0.921875 Training loss: 0.454916
Iteration: 500 Training accuracy: 0.90625 Training loss: 0.294332
Iteration: 600 Training accuracy: 0.890625 Training loss: 0.36763
Iteration: 700 Training accuracy: 0.90625 Training loss: 0.319216
Iteration: 800 Training accuracy: 0.921875 Training loss: 0.237025
Iteration: 900 Training accuracy: 0.9375 Training loss: 0.161594
Testing accuracy: 0.9557

Dediğin gibi logları açtım ama bir bilgi vermedi. Mnist data setinde deneme yaptım. Şu şekilde ekledim kodu

sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
sess.run(tf.global_variables_initializer())


#3

GPU’lu versiyonu kurduysan, spesifik olarak “with tf.device(’/cpu0’):” yazmadığın müddetçe bütün scopeların GPU’da çalışır. Konsolda GPU’nla ile ilgili bilgileri görürsün kodunu çalıştırdığında zaten. Herhangi bir hata alırsan da problem ya CUDA kaynaklıdır ya da GPU’nun yetemediği işler yapıyorsundur (örn. GPU memorysine 987893131 TB’lık datayı yüklemeye çalışmak)


#10

Gördüğüm kadarıyla yukarıdaki kod için jupyter notebook çıktı üretmiyor. Buradaki kodu indirip konsolda çalıştırırsan şuna benzer bir çıktı alman gerekir:

Mul: (Mul): /job:localhost/replica:0/task:0/device:CPU:0
2018-03-19 20:15:09.325340: I tensorflow/core/common_runtime/placer.cc:874] Mul: (Mul)/job:localhost/replica:0/task:0/device:CPU:0
Const_1: (Const): /job:localhost/replica:0/task:0/device:CPU:0
2018-03-19 20:15:09.325370: I tensorflow/core/common_runtime/placer.cc:874] Const_1: (Const)/job:localhost/replica:0/task:0/device:CPU:0
Const: (Const): /job:localhost/replica:0/task:0/device:CPU:0
2018-03-19 20:15:09.325390: I tensorflow/core/common_runtime/placer.cc:874] Const: (Const)/job:localhost/replica:0/task:0/device:CPU:0

Eğer GPU’da çalışıyorsa CPU yazan yerlerde GPU yazacaktır.


#9

En son düz versiyonunu kurduğun için şu an GPU kullanamıyorsun evet. İki versiyonu (normal ve gpu) da silip; sadece GPU versiyonunu yükle. Orada aldığın sorun üzerinden yürürüz.


#11

İkisinide sildim.Sonra gpu yükledim. Mnist kodu gpu bilgisi vermeden çalıştı. Diğer kod ilk çalışırken bi hata veriyo sonra boşa dönüyo diğer çalıştırışlarda.Hata şöyle (hatayada benzemiyo bu çıksa bile işlem yapıyo). Ha bide burda yapılanlar kerası etkiliyo mu ? Onda Gpu Cpu ayrımı oluyo mu ?

runfile(‘C:/Users/darkl/Desktop/untitled0.py’, wdir=‘C:/Users/darkl/Desktop’)
C:\ProgramData\Anaconda3\lib\site-packages\h5py_init_.py:36: FutureWarning: Conversion of the second argument of issubdtype from float to np.floating is deprecated. In future, it will be treated as np.float64 == np.dtype(float).type.
from ._conv import register_converters as _register_converters


#12

Daha complike bi sistem çalıştırınca karnel çöküyo ve hata veriyo cpuda bu çalışıyodu. Bu hatanın bi kısmı hata çok uzun ama benzer şeyler yazıyo gibi

2018󈚧󈚷 20:58:26.025058: I C:\tf_jenkins\workspace\rel‑win\M\windows‑gpu\PY\36\tensorflow\core\platform\cpu_feature_guard.cc:140] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2
2018󈚧󈚷 20:58:26.653701: I C:\tf_jenkins\workspace\rel‑win\M\windows‑gpu\PY\36\tensorflow\core\common_runtime\gpu\gpu_device.cc:1212] Found device 0 with properties:
name: GeForce 840M major: 5 minor: 0 memoryClockRate(GHz): 1.124
pciBusID: 0000:08:00.0
totalMemory: 2.00GiB freeMemory: 1.65GiB
2018󈚧󈚷 20:58:26.656157: I C:\tf_jenkins\workspace\rel‑win\M\windows‑gpu\PY\36\tensorflow\core\common_runtime\gpu\gpu_device.cc:1312] Adding visible gpu devices: 0
2018󈚧󈚷 20:58:27.414248: I


#13

İlk warning senle alakalı değil, yakın zamanda güncellenen bi library’yle alakalı.

İkinci gönderdiğine göre de GPU kullanıyor sistemin (en azından aldığın hatayı düzeltirsen kullanacak =))


#14

Tensorflow’un GPU desteğini kontrol etmek için aşağıdaki komuttan faydalanabilirsiniz. Komutun çıkış dizisinde GPU’yu görmeniz gerekmektedir.

from tensorflow.python.client import device_lib

def get_available_devices():  
    local_device_protos = device_lib.list_local_devices()
    return [x.name for x in local_device_protos]

print(get_available_devices())

#16

Windows’da TensorFlow’un GPU ile kurulumunu, Sentdex isimli Youtuber’ın şu videosundan izleyebilirsiniz.


#17

En son gönderdiiniz logda hatayı yazmıyor. Error diye aratıp o satırı yazabilir misiniz?


#18

her ikisinide kullanmak istiyorsanız ikisi için ayrı ayrı virtualenv ( tf_gpu ,tf_cpu gibi ) kurup üzerlerine ayrı ayrı birinin kurarsanız daha sağlıklı olur