Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Tensorflow issue with GPU on matmul. GPU isn't recognized

I installed tensorflow with gpu, cuda 7.0 and cudnn 6.5. When I import tensorflow it works well.

I am trying to run a simple matrix multiplication on Tensorflow and it doesn't want to use my gpu though it seems to recognize it. I have this issue on my computer with a nvidia geforce 970m and on a cluster with two titan Z.

My first code is :

import tensorflow as tf
import numpy as np

size=100
#I create 2 matrix
mat1 = np.random.random_sample([size, size])*100
mat2 = np.random.random_sample([size, size])*100

a = tf.constant(mat1)
b = tf.constant(mat2)
c = tf.matmul(a, b)
sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
sess.run(c)

This code works and the result is :

Const_1: /job:localhost/replica:0/task:0/gpu:0
I tensorflow/core/common_runtime/simple_placer.cc:289] Const_1: /job:localhost/replica:0/task:0/gpu:0
Const: /job:localhost/replica:0/task:0/gpu:0
I tensorflow/core/common_runtime/simple_placer.cc:289] Const: /job:localhost/replica:0/task:0/gpu:0
MatMul: /job:localhost/replica:0/task:0/cpu:0
I tensorflow/core/common_runtime/simple_placer.cc:289] MatMul: /job:localhost/replica:0/task:0/cpu:0

So in my way, tensorflow uses my gpu to create constant but not for matmul (that is weird). Then, I force the gpu like this :

with tf.device("/gpu:0"):
    a = tf.constant(mat1)
    b = tf.constant(mat2)
    c = tf.matmul(a, b)
    sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
    sess.run(c)

And Tensorflow returns :

InvalidArgumentError: Cannot assign a device to node 'MatMul': Could not satisfy explicit device specification '/gpu:0'

If someone have the same problem or an idea, I will be glad to read your answer !

like image 218
Maxence Queyrel Avatar asked Oct 19 '22 15:10

Maxence Queyrel


1 Answers

I do not have enough reputation to comment, I have come across a similar issue, my question is here

TensorFlow: critical graph operations assigned to cpu rather than gpu

like image 110
stefano Avatar answered Dec 22 '22 00:12

stefano