У меня была похожая проблема - Керас не использовал мой графический процессор. У меня был установлен tenorflow-gpu согласно инструкции в conda, но после установки керас он просто не указал GPU как доступное устройство. Я понял, что установка keras добавляет пакет tenorflow! Итак, у меня были и пакеты tenorflow, и пакеты tenorflow-gpu. Я обнаружил, что есть пакет keras-gpu. После полной деинсталляции keras, tenorflow, tenorflow-gpu и установки tenorflow-gpu, keras-gpu проблема была решена.

троил gpu версию образа докераhttps://github.com/floydhub/dl-docker с версией keras 2.0.0 и версии tenorflow 0.12.1. Затем я запустил учебник Mnisthttps://github.com/fchollet/keras/blob/master/examples/mnist_cnn.py но понял, что керас не использует GPU. Ниже вывод, который я имею

[email protected]:~/sharedfolder# python test.py
Using TensorFlow backend.
Downloading data from https://s3.amazonaws.com/img-datasets/mnist.npz
x_train shape: (60000, 28, 28, 1)
60000 train samples
10000 test samples
Train on 60000 samples, validate on 10000 samples
Epoch 1/12
2017-09-06 16:26:54.866833: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.1 instructions, but these are available on your machine and could speed up CPU computations.
2017-09-06 16:26:54.866855: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.2 instructions, but these are available on your machine and could speed up CPU computations.
2017-09-06 16:26:54.866863: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use AVX instructions, but these are available on your machine and could speed up CPU computations.
2017-09-06 16:26:54.866870: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use AVX2 instructions, but these are available on your machine and could speed up CPU computations.
2017-09-06 16:26:54.866876: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use FMA instructions, but these are available on your machine and could speed up CPU computations.

Кто-нибудь может дать мне знать, если есть какие-то настройки, которые нужно сделать, прежде чем keras использует GPU? Я очень новичок во всем этом, поэтому дайте мне знать, если мне нужно предоставить больше информации.

Я установил предварительные условия, как указано настраница

Установите Docker, следуя инструкции по установке для вашей платформы:https://docs.docker.com/engine/installation/

Я могу запустить образ докера

docker run -it -p 8888:8888 -p 6006:6006 -v /sharedfolder:/root/sharedfolder floydhub/dl-docker:cpu bash
Только версия для графического процессора: установите драйверы Nvidia на свой компьютер непосредственно из Nvidia или следуйте инструкциямВот, Обратите внимание, что вам не нужно устанавливать CUDA или cuDNN. Они включены в контейнер Docker.

Я могу выполнить последний шаг

[email protected]:~$ cat /proc/driver/nvidia/version
NVRM version: NVIDIA UNIX x86_64 Kernel Module  375.66  Mon May  1 15:29:16 PDT 2017
GCC version:  gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.4)
Только версия для GPU: установите nvidia-docker:https://github.com/NVIDIA/nvidia-docker, следуя инструкциям здесь. Это установит замену для CLI докера. Он заботится о настройке среды драйвера хоста Nvidia внутри контейнеров Docker и некоторых других вещах.

Я умею бегать по ступенькамВот

# Test nvidia-smi
[email protected]:~$ nvidia-docker run --rm nvidia/cuda nvidia-smi

Thu Sep  7 00:33:06 2017       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 375.66                 Driver Version: 375.66                    |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce GTX 780M    Off  | 0000:01:00.0     N/A |                  N/A |
| N/A   55C    P0    N/A /  N/A |    310MiB /  4036MiB |     N/A      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID  Type  Process name                               Usage      |
|=============================================================================|
|    0                  Not Supported                                         |
+-----------------------------------------------------------------------------+

Я также могу запустить команду nvidia-docker для запуска образа, поддерживаемого GPU.

Что я пробовал

Я попробовал следующие предложения ниже

Проверьте, выполнили ли вы шаг 9 этого урока (https://github.com/ignaciorlando/skinner/wiki/Keras-and-TensorFlow-installation ). Примечание. Пути к файлам внутри образа докера могут быть совершенно разными, вам придется как-то их найти.

Я добавил предложенные строки в мой bashrc и убедился, что файл bashrc обновлен.

echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-8.0/lib64:/usr/local/cuda-8.0/extras/CUPTI/lib64' >> ~/.bashrc
echo 'export CUDA_HOME=/usr/local/cuda-8.0' >> ~/.bashrc

Чтобы импортировать следующие команды в моем файле Python

import os os.environ["CUDA_DEVICE_ORDER"]="PCI_BUS_ID" # see issue #152 os.environ["CUDA_VISIBLE_DEVICES"]="0"

Оба шага, выполненные по отдельности или вместе, к сожалению, не решили проблему. Keras все еще работает с процессорной версией tenorflow в качестве бэкэнда. Тем не менее, я мог бы найти возможную проблему. Я проверил версию своего тензорного потока с помощью следующих команд и нашел две из них.

Это версия процессора

[email protected]:~# pip show tensorflow
Name: tensorflow
Version: 1.3.0
Summary: TensorFlow helps the tensors flow
Home-page: http://tensorflow.org/
Author: Google Inc.
Author-email: [email protected]
License: Apache 2.0
Location: /usr/local/lib/python2.7/dist-packages
Requires: tensorflow-tensorboard, six, protobuf, mock, numpy, backports.weakref, wheel

И это версия GPU

[email protected]:~# pip show tensorflow-gpu
Name: tensorflow-gpu
Version: 0.12.1
Summary: TensorFlow helps the tensors flow
Home-page: http://tensorflow.org/
Author: Google Inc.
Author-email: [email protected]
License: Apache 2.0
Location: /usr/local/lib/python2.7/dist-packages
Requires: mock, numpy, protobuf, wheel, six

Интересно, что вывод показывает, что keras использует версию 1.3.0 tenorsflow, которая является версией процессора, а не 0.12.1, версией GPU

import keras
from keras.datasets import mnist
from keras.models import Sequential
from keras.layers import Dense, Dropout, Flatten
from keras.layers import Conv2D, MaxPooling2D
from keras import backend as K

import tensorflow as tf
print('Tensorflow: ', tf.__version__)

Выход

[email protected]:~/sharedfolder# python test.py
Using TensorFlow backend.
Tensorflow:  1.3.0

Теперь мне нужно выяснить, как заставить keras использовать версию tenorflow для gpu.

 KDecker06 сент. 2017 г., 19:29
Ооо, это изображение Docker. Извините, я посмотрел на это. Я не уверен, что вам сказать, кроме того, вы следовали за изображениями? (Установка драйверов NVidia и nvidia-docker)
 Kong06 сент. 2017 г., 19:44
Привет да, я выполнил предварительные условия (обновил мой пост)
 KDecker06 сент. 2017 г., 19:15
Если вы следуете руководству по установке Tensorflow (tensorflow.org/install ) для вашей операционной системы он расскажет вам все, что вам нужно. Скорее всего, вам не хватает библиотек CUDA и CUDAnn.
 KDecker06 сент. 2017 г., 19:52
Проверьте, выполнили ли вы шаг 9 этого урока (github.com/ignaciorlando/skinner/wiki/... ). Примечание. Пути к файлам внутри образа докера могут быть совершенно разными, вам придется как-то их найти.
 Kong06 сент. 2017 г., 19:22
@KDecker, но это говорит оgithub.com/floydhub/dl-docker что версия gpu поставляется с CUDA 8.0 и cuDNN v5

Ответы на вопрос(3)

Решение Вопроса

никогда хорошая идея иметь обаtensorflow а такжеtensorflow-gpu пакеты устанавливались бок о бок (один раз, когда случилось со мной случайно, Keras использовал версию процессора).

Теперь мне нужно выяснить, как заставить keras использовать версию tenorflow для gpu.

Вы должны просто удалить оба пакета из вашей системы, а затем переустановитьtensorflow-gpu [ОБНОВЛЕНО после комментария]:

pip uninstall tensorflow tensorflow-gpu
pip install tensorflow-gpu

Более того, удивительно, почему вы, кажется, используетеfloydhub/dl-docker:cpu контейнер, в то время как в соответствии с инструкциями вы должны использоватьfloydhub/dl-docker:gpu один...

 khan04 дек. 2017 г., 20:06
Теперь это работает. Я имею в виду и после удаления tenoflow-gpu. и чем переустанавливать tenorflow-gpu. Раньше это не сработало.
 khan04 дек. 2017 г., 20:11
@desertnaut: D Спасибо за обновление.
 desertnaut04 дек. 2017 г., 20:08
@ khan хе-хе, хорошо, что вы разбудили меня, чтобы отредактировать это, сначала понизив голосование - спасибо;)
 Kong07 сент. 2017 г., 17:25
Ух ты самый правый. Хотя я обнаружил, что мне нужно было удалить и tenorflow, и tenorflow-gpu, затем переустановить тензор-gpu. Если я только удалю tenorflow, то Python каким-то образом не определяет версию GPU. Заставить библиотеки работать очень сложно.

оцессор. У меня был установлен tenorflow-gpu согласно инструкции в conda, но после установки керас он просто не указал GPU как доступное устройство. Я понял, что установка keras добавляет пакет tenorflow! Итак, у меня были и пакеты tenorflow, и пакеты tenorflow-gpu. Я обнаружил, что есть пакет keras-gpu. После полной деинсталляции keras, tenorflow, tenorflow-gpu и установки tenorflow-gpu, keras-gpu проблема была решена.

деления тензорного процессора и графического процессора, например:

conda create --name tensorflow python=3.5
activate tensorflow
pip install tensorflow

А ТАКЖЕ

conda create --name tensorflow-gpu python=3.5
activate tensorflow-gpu
pip install tensorflow-gpu

Ваш ответ на вопрос