张量流显式设备要求错误

bsc*_*eck 9 python tensorflow tensorflow-gpu

我正在尝试使用一个gpu上的训练代码和另一个上的eval代码运行CIFAR10教程.我知道我的计算机上有两个gpus,我可以通过运行这里的简单示例来测试它:https://www.tensorflow.org/how_tos/using_gpu/index.html

但是,使用a with device('/gpu:0')对CIFAR示例中的大多数变量都不起作用.我在gpu与cpu上尝试了很多不同变量的组合,或者在一个或另一个上尝试了所有变量.某些变量总是出现相同的错误,如下所示:

Cannot assign a device to node 'shuffle_batch/random_shuffle_queue': Could not satisfy explicit device specification '/gpu:0'
Run Code Online (Sandbox Code Playgroud)

这可能是Tensor Flow中的错误还是我错过了什么?

Ish*_*ael 9

Could not satisfy explicit device specification表示您没有相应的设备.你的机器上真的有一个支持CUDA的GPU吗?

更新:如下面的讨论中所述,如果特定操作(在这种情况下,RandomShuffleQueue)无法在GPU上执行,则也会引发此错误,因为它只有CPU实现.

如果TensorFlow为您选择了一个设备(特别是在没有GPU实现时可以回到CPU),那么请考虑allow_soft_placement根据本文设置您的配置:

sess = tf.Session(config=tf.ConfigProto(
    allow_soft_placement=True, log_device_placement=True))
Run Code Online (Sandbox Code Playgroud)