2017-07-18 4 views
1

Ich habe Keras mit Tensorflow-Backend auf Linux ausgeführt. Zuerst habe ich installiert tensorflow GPU-Version von sich selbst und den folgenden Code ausführen zu überprüfen und fand heraus, dass es auf GPU läuft und zeigt die GPU läuft es auf, Gerätezuordnung usw. Die tensorflow ich von https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow- 0.11.0-cp27-none-linux_x86_64.whl war verwendenKeras Tensorflow Backend erkennt keine GPU

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)) 

Dann habe ich Keras mit conda install keras installiert. Ich überprüfte conda list und jetzt habe ich 2 Versionen von Tensorflow (1.1.0 und 0.11.0). Ich habe versucht, import tensorflow as tf die Ergebnisse:

2017-07-18 16:35:59.569535: 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-07-18 16:35:59.569629: 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-07-18 16:35:59.569690: 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-07-18 16:35:59.569707: 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-07-18 16:35:59.569731: 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. 
Device mapping: no known devices. 
2017-07-18 16:35:59.579959: I tensorflow/core/common_runtime/direct_session.cc:257] Device mapping: 

MatMul: (MatMul): /job:localhost/replica:0/task:0/cpu:0 
2017-07-18 16:36:14.369948: I tensorflow/core/common_runtime/simple_placer.cc:841] MatMul: (MatMul)/job:localhost/replica:0/task:0/cpu:0 
b: (Const): /job:localhost/replica:0/task:0/cpu:0 
2017-07-18 16:36:14.370051: I tensorflow/core/common_runtime/simple_placer.cc:841] b: (Const)/job:localhost/replica:0/task:0/cpu:0 
a: (Const): /job:localhost/replica:0/task:0/cpu:0 
2017-07-18 16:36:14.370109: I tensorflow/core/common_runtime/simple_placer.cc:841] a: (Const)/job:localhost/replica:0/task:0/cpu:0 

Ich habe bereits CUDA_VISIBLE_DEVICES, die funktioniert, bevor keras installiert wurde. Liegt das an der Tensorflow-Version? Kann ich bei der Installation von Keras 0.11.0 anstelle von 1.1.0 installieren? Wenn das Problem darin liegt, dass Tensorflow keine GPU erkennt, wie kann ich dieses Problem lösen? Ich lese in diesem link und es sagt, dass Tensorflow automatisch auf GPU ausgeführt wird, ist es eines erkennt.

+0

Ich konnte das Problem lösen, indem ich Tensorflow erneut mit 'pip install tensorflow-gpu' installiere. Von Keras GitHub Problem: https://github.com/fchollet/keras/issues/5712. – matchifang

Antwort

2

Die Chancen stehen gut, dass Keras, abhängig von einer neueren Version von TensorFlow, die Installation eines CPU-only TensorFlow Paket verursacht wird (tensorflow), die die ältere, GPU-fähige Version (tensorflow-gpu) versteckt.

Ich würde zuerst die GPU-fähige Version aktualisieren. Normalerweise können Sie einfach pip install --upgrade tensorflow-gpu tun, aber Sie haben Anaconda-spezifische Anweisungen in der TensorFlow installation page. Dann können Sie das CPU-only TensorFlow-Paket mit pip uninstall tensorflow deinstallieren. Jetzt sollte eigentlich das GPU-fähige Paket import tensorflow as tf importiert werden, welches wiederum, wie Sie vorschlagen, Ihren Grafikprozessor automatisch erkennen sollte.

Verwandte Themen