Tensorflow错误:无法为操作'Tile'分配设备

时间:2017-08-07 17:37:11

标签: tensorflow

tf.tile操作无法在GPU设备上执行。 这段代码:

import tensorflow as tf

with tf.device('/gpu:0'):
    tt = tf.tile(tf.range(4), [3])

with tf.Session() as sess:
    print(sess.run(tt))

结果:

Caused by op u'Tile', defined at:
  File "test_tf3.py", line 6, in <module>
    tt = tf.tile(tf.range(4), [3])
  File "/media/awork/home/astepochkin/drecs/repo/env/local/lib/python2.7/site-packages/tensorflow/python/ops/gen_array_ops.py", line 3847, in tile
    name=name)
  File "/media/awork/home/astepochkin/drecs/repo/env/local/lib/python2.7/site-packages/tensorflow/python/framework/op_def_library.py", line 767, in apply_op
    op_def=op_def)
  File "/media/awork/home/astepochkin/drecs/repo/env/local/lib/python2.7/site-packages/tensorflow/python/framework/ops.py", line 2630, in create_op
    original_op=self._default_original_op, op_def=op_def)
  File "/media/awork/home/astepochkin/drecs/repo/env/local/lib/python2.7/site-packages/tensorflow/python/framework/ops.py", line 1204, in __init__
    self._traceback = self._graph._extract_stack()  # pylint: disable=protected-access

InvalidArgumentError (see above for traceback): Cannot assign a device for operation 'Tile': Could not satisfy explicit device specification '/device:GPU:0' because no supported kernel for GPU devices is available.
     [[Node: Tile = Tile[T=DT_INT32, Tmultiples=DT_INT32, _device="/device:GPU:0"](range, Tile/multiples)]]

我已经查看了tensorflow源并找到了实现GPU的tile文件。所以我不明白为什么它不起作用。 有人可以帮帮我吗?

1 个答案:

答案 0 :(得分:0)

这是因为你的类型是int32并且没有为这种类型注册GPU内核。