2017-06-29 53 views
9

Mam aldready spędził znaczny czas kopania wokół na przepełnienie stosu i inny patrząc na odpowiedź, ale nie mógł znaleźć cośTensorflow nie działa na GPU

Cześć wszystkim

I prowadzę Tensorflow z Keras na górze. Mam 90% pewności, że zainstalowałem GPU Tensorflow, czy jest jakiś sposób sprawdzenia, którą instalację zrobiłem?

Próbowałem uruchomić niektóre modele CNN z notatnika Jupyter i zauważyłem, że Keras uruchomił model na procesorze (sprawdzony menedżer zadań, procesor był w 100%).

Próbowałem uruchomiony ten kod ze strony tensorflow:

# Creates a graph. 
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) 
# Creates a session with log_device_placement set to True. 
sess = tf.Session(config=tf.ConfigProto(log_device_placement=True)) 
# Runs the op. 
print(sess.run(c)) 

I to jest to, co mam:

MatMul: (MatMul): /job:localhost/replica:0/task:0/cpu:0 
2017-06-29 17:09:38.783183: I c:\tf_jenkins\home\workspace\release-win\m\windows\py\35\tensorflow\core\common_runtime\simple_placer.cc:847] MatMul: (MatMul)/job:localhost/replica:0/task:0/cpu:0 
b: (Const): /job:localhost/replica:0/task:0/cpu:0 
2017-06-29 17:09:38.784779: I c:\tf_jenkins\home\workspace\release-win\m\windows\py\35\tensorflow\core\common_runtime\simple_placer.cc:847] b: (Const)/job:localhost/replica:0/task:0/cpu:0 
a: (Const): /job:localhost/replica:0/task:0/cpu:0 
2017-06-29 17:09:38.786128: I c:\tf_jenkins\home\workspace\release-win\m\windows\py\35\tensorflow\core\common_runtime\simple_placer.cc:847] a: (Const)/job:localhost/replica:0/task:0/cpu:0 
[[ 22. 28.] 
[ 49. 64.]] 

Które mi pokazuje używam na moim CPU z jakiegoś powodu.

Mam GTX1050 (wersja sterownika 382.53), zainstalowałem CUDA, Cudnn i tensorflow zainstalowane bez żadnych problemów. Zainstalowałem także program Visual Studio 2015, ponieważ był on wymieniony jako kompatybilna wersja.

Pamiętam, że CUDA wspomniał coś o zainstalowanym niekompatybilnym sterowniku, ale jeśli dobrze pamiętam, CUDA powinna zainstalować swój własny sterownik.

Edit: Pobiegłem tezy poleceń do listy dostępnych urządzeń

from tensorflow.python.client import device_lib 
print(device_lib.list_local_devices()) 

i to, co mam

[name: "/cpu:0" 
device_type: "CPU" 
memory_limit: 268435456 
locality { 
} 
incarnation: 14922788031522107450 
] 

i wiele ostrzeżeń jak ten

2017-06-29 17:32:45.401429: W c:\tf_jenkins\home\workspace\release-win\m\windows\py\35\tensorflow\core\platform\cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE instructions, but these are available on your machine and could speed up CPU computations. 

Edycja 2

Wypróbowane działa

pip3 install --upgrade tensorflow-gpu 

i dostaję

Requirement already up-to-date: tensorflow-gpu in c:\users\goofynose\appdata\local\programs\python\python35\lib\site-packages 
Requirement already up-to-date: markdown==2.2.0 in c:\users\goofynose\appdata\local\programs\python\python35\lib\site-packages (from tensorflow-gpu) 
Requirement already up-to-date: html5lib==0.9999999 in c:\users\goofynose\appdata\local\programs\python\python35\lib\site-packages (from tensorflow-gpu) 
Requirement already up-to-date: werkzeug>=0.11.10 in c:\users\goofynose\appdata\local\programs\python\python35\lib\site-packages (from tensorflow-gpu) 
Requirement already up-to-date: wheel>=0.26 in c:\users\goofynose\appdata\local\programs\python\python35\lib\site-packages (from tensorflow-gpu) 
Requirement already up-to-date: bleach==1.5.0 in c:\users\goofynose\appdata\local\programs\python\python35\lib\site-packages (from tensorflow-gpu) 
Requirement already up-to-date: six>=1.10.0 in c:\users\goofynose\appdata\local\programs\python\python35\lib\site-packages (from tensorflow-gpu) 
Requirement already up-to-date: protobuf>=3.2.0 in c:\users\goofynose\appdata\local\programs\python\python35\lib\site-packages (from tensorflow-gpu) 
Requirement already up-to-date: backports.weakref==1.0rc1 in c:\users\goofynose\appdata\local\programs\python\python35\lib\site-packages (from tensorflow-gpu) 
Requirement already up-to-date: numpy>=1.11.0 in c:\users\goofynose\appdata\local\programs\python\python35\lib\site-packages (from tensorflow-gpu) 
Requirement already up-to-date: setuptools in c:\users\goofynose\appdata\local\programs\python\python35\lib\site-packages (from protobuf>=3.2.0->tensorflow-gpu) 

rozwiązany: komentarzy czek na rozwiązanie. Dziękuję wszystkim, którzy pomogli!

Jestem nowy w tym, więc każda pomoc jest bardzo ceniona! Dziękuję.

+0

Czy zainstalować TF z pip ? – danche

+0

Czy możesz wymienić dostępne urządzenia za pomocą https://stackoverflow.com/documentation/tensorflow/10621/tensorflow-gpu-setup/31878/list-the-available-devices-available-by-tensorflow-in-the-local -proces # t = 201706291527588861941? – npf

+0

Tak, zainstalowałem Tensorflow, używając pip3, używam Pythona 3. – Goofynose

Odpowiedz

8

Aby sprawdzić, które urządzenia są dostępne TensorFlow można to wykorzystać i sprawdzić, czy karty GPU są dostępne:

from tensorflow.python.client import device_lib 
print(device_lib.list_local_devices()) 

Edit Ponadto, należy zobaczyć tego rodzaju dzienników jeśli używasz TensorFlow wersję Cuda:

I tensorflow/stream_executor/dso_loader.cc:128] successfully opened CUDA library libcublas.so.*.* locally 
I tensorflow/stream_executor/dso_loader.cc:128] successfully opened CUDA library libcudnn.so.*.* locally 
I tensorflow/stream_executor/dso_loader.cc:128] successfully opened CUDA library libcufft.so.*.* locally 
+0

Dodano go jako zmianę w pytaniu – Goofynose

2

Nadal miałem problemy z uzyskaniem wsparcia GPU nawet po prawidłowym zainstalowaniu tensorflow-gpu za pośrednictwem pip. Mój problem polegał na tym, że zainstalowałem tensorflow 1.5 i CUDA 9.1 (domyślna wersja Nvidia kieruje do ciebie), podczas gdy prekompilowany tensorflow 1.5 działa z wersjami CUDA < = 9.0. Oto strona pobierania na stronie NVIDIA, aby uzyskać prawidłową CUDA 9.0:

https://developer.nvidia.com/cuda-90-download-archive

Również upewnić się, aby zaktualizować cuDNN do wersji kompatybilnej z CUDA 9.0 https://developer.nvidia.com/cudnn https://developer.nvidia.com/rdp/cudnn-download