张量流错误:无法为操作'Tile'分配设备



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

我已经研究了张量流源,并找到了实现 GPU 磁贴的文件。所以我不明白为什么它不起作用。 谁能帮我?

这是因为您的类型是 int32,并且没有为此类型注册 GPU 内核。

最新更新