Tensorflow не работает на GPU

Я aldready потратил значительное время, копаясь в переполнении стека и ища ответ, но ничего не смог найти

Привет всем,

я запускаю Tensorflow с Keras сверху. Я 90% уверен, что я установил TensorFlow GPU, есть ли способ проверить, какую установку я сделал?

Я пытался запустить некоторые модели CNN из ноутбука Jupyter, и я заметил, что Keras запускает модель на CPU (проверено диспетчер задач, CPU был на 100%).

Я попытался запустить этот код с веб-сайта 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))

и вот что я получил:

MatMul: (MatMul): /job:localhost/replica:0/task:0/cpu:0
2017-06-29 17:09:38.783183: I c:tf_jenkinshomeworkspacerelease-winmwindowspytensorflowcorecommon_runtimesimple_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_jenkinshomeworkspacerelease-winmwindowspytensorflowcorecommon_runtimesimple_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_jenkinshomeworkspacerelease-winmwindowspytensorflowcorecommon_runtimesimple_placer.cc:847] a: (Const)/job:localhost/replica:0/task:0/cpu:0
[[ 22.  28.]
 [ 49.  64.]]

что для меня показывает, что я работаю на своем процессоре по какой-то причине.

у меня есть GTX1050 (версия драйвера 382.53), я установил CUDA, и Cudnn, и tensorflow установлен без каких-либо проблем. Я также установил Visual Studio 2015, так как он был указан как совместимая версия.

I помните, что CUDA упоминает что-то о несовместимом драйвере, но если я правильно помню, CUDA должен был установить свой собственный драйвер.

Edit: Я запустил команды тезисов, чтобы перечислить доступные устройства

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

и это то, что я получаю

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

и много предупреждений, как это

2017-06-29 17:32:45.401429: W c:tf_jenkinshomeworkspacerelease-winmwindowspytensorflowcoreplatformcpu_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.

Изменить 2

работает

pip3 install --upgrade tensorflow-gpu

и я get

Requirement already up-to-date: tensorflow-gpu in c:usersgoofynoseappdatalocalprogramspythonpython35libsite-packages
Requirement already up-to-date: markdown==2.2.0 in c:usersgoofynoseappdatalocalprogramspythonpython35libsite-packages (from tensorflow-gpu)
Requirement already up-to-date: html5lib==0.9999999 in c:usersgoofynoseappdatalocalprogramspythonpython35libsite-packages (from tensorflow-gpu)
Requirement already up-to-date: werkzeug>=0.11.10 in c:usersgoofynoseappdatalocalprogramspythonpython35libsite-packages (from tensorflow-gpu)
Requirement already up-to-date: wheel>=0.26 in c:usersgoofynoseappdatalocalprogramspythonpython35libsite-packages (from tensorflow-gpu)
Requirement already up-to-date: bleach==1.5.0 in c:usersgoofynoseappdatalocalprogramspythonpython35libsite-packages (from tensorflow-gpu)
Requirement already up-to-date: six>=1.10.0 in c:usersgoofynoseappdatalocalprogramspythonpython35libsite-packages (from tensorflow-gpu)
Requirement already up-to-date: protobuf>=3.2.0 in c:usersgoofynoseappdatalocalprogramspythonpython35libsite-packages (from tensorflow-gpu)
Requirement already up-to-date: backports.weakref==1.0rc1 in c:usersgoofynoseappdatalocalprogramspythonpython35libsite-packages (from tensorflow-gpu)
Requirement already up-to-date: numpy>=1.11.0 in c:usersgoofynoseappdatalocalprogramspythonpython35libsite-packages (from tensorflow-gpu)
Requirement already up-to-date: setuptools in c:usersgoofynoseappdatalocalprogramspythonpython35libsite-packages (from protobuf>=3.2.0->tensorflow-gpu)

решила: Проверьте комментарии к решению. Спасибо всем, кто помог!

Я новичок в этом, поэтому любая помощь очень ценится! Спасибо.

3 ответов


чтобы проверить, какие устройства доступны для TensorFlow, вы можете использовать это и посмотреть, доступны ли карты GPU:

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

изменить Кроме того, вы должны увидеть такие журналы, если используете TensorFlow CUDA version:

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

У меня все еще были проблемы с поддержкой GPU даже после правильной установки tensorflow-gpu через pip. Моя проблема заключалась в том, что я установил tensorflow 1.5 и CUDA 9.1 (версия по умолчанию NVIDIA направляет вас), тогда как предварительно скомпилированный tensorflow 1.5 работает с версиями CUDA

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

также не забудьте обновить cuDNN для версии, совместимой с CUDA 9.0 https://developer.nvidia.com/cudnn https://developer.nvidia.com/rdp/cudnn-download


Это может показаться глупым, но попробуйте перезагрузиться. Это помогло мне и некоторым другим людям в GitHub.