tensorflow错误:执行程序无法创建内核。没有注册的快照'用于GPU设备的OpKernel,在运行图像标签示例时

时间:2018-03-14 09:29:23

标签: c++ tensorflow visual-studio-2015 gpu

我现在正在使用支持GPU的tensorflow C ++动态库。

我使用CUDA9.0,CUDNN7.0,visual studio 2015 x64和CMAKE设置构建:CMAKE settings

我只将tensorflow.lib和tensorflow.dll链接到我的visual studio项目。 当我运行执行矩阵乘法的示例代码时,相同的设置也很顺利(示例代码在https://joe-antognini.github.io/machine-learning/windows-tf-project上)

但现在我试图运行tf示例code-label_image

结果如下: error code

E C:\tensorflow_gpu\tensorflow\tensorflow\core\common_runtime\executor.cc:644] Executor failed to create kernel. Not found: No registered 'Snapshot' OpKernel for GPU devices compatible with node Subtract = Snapshot[T=DT_FLOAT, _device="/job:localhost/replica:0/task:0/device:GPU:0"](ResizeBilinear)
    .  Registered:  device='CPU'; T in [DT_INT64]device='CPU'; T in [DT_INT32]
device='CPU'; T in [DT_UINT16]
device='CPU'; T in [DT_INT16]
device='CPU'; T in [DT_UINT8]
device='CPU'; T in [DT_INT8]
device='CPU'; T in [DT_HALF]
device='CPU'; T in [DT_BFLOAT16]
device='CPU'; T in [DT_FLOAT]
device='CPU'; T in [DT_DOUBLE]
device='CPU'; T in [DT_COMPLEX64]
device='CPU'; T in [DT_COMPLEX128]
device='CPU'; T in [DT_BOOL]
     [[Node: Subtract = Snapshot[T=DT_FLOAT, _device="/job:localhost/replica:0/task:0/device:GPU:0"](ResizeBilinear)]]
2018-03-14 17:13:05.408206: E Image_Label.cpp:385] Not found: No registered 'Snapshot' OpKernel for GPU devices compatible with node Subtract = Snapshot[T=DT_FLOAT, _device="/job:localhost/replica:0/task:0/device:GPU:0"](ResizeBilinear)
    .  Registered:  device='CPU'; T in [DT_INT64]
device='CPU'; T in [DT_INT32]
device='CPU'; T in [DT_UINT16]
device='CPU'; T in [DT_INT16]
device='CPU'; T in [DT_UINT8]
device='CPU'; T in [DT_INT8]
device='CPU'; T in [DT_HALF]
device='CPU'; T in [DT_BFLOAT16]
device='CPU'; T in [DT_FLOAT]
device='CPU'; T in [DT_DOUBLE]
device='CPU'; T in [DT_COMPLEX64]
device='CPU'; T in [DT_COMPLEX128]
device='CPU'; T in [DT_BOOL]

     [[Node: Subtract = Snapshot[T=DT_FLOAT, _device="/job:localhost/replica:0/task:0/device:GPU:0"](ResizeBilinear)]]

代码停在

TF_RETURN_IF_ERROR(session->Run({ inputs }, { output_name }, {}, out_tensors));
Status ReadTensorFromImageFile(const string& file_name, const int input_height, const int input_width, const float input_mean, const float input_std, std::vector<Tensor>* out_tensors)

中的

任何人都知道问题可能是什么?我已经解决了这个问题好几天了。

2 个答案:

答案 0 :(得分:0)

2018-03-15 11:45:35.085196: E D:\test\tensorflow_GPU_Build\tensorflow\tensorflow\core\common_runtime\executor.cc:644] Executor failed to create kernel. Not found: No registered 'Snapshot' OpKernel for GPU devices compatible with node Subtract = Snapshot[T=DT_FLOAT, _device="/job:localhost/replica:0/task:0/device:GPU:0"](ResizeBilinear)
        .  Registered:  device='CPU'; T in [DT_INT64]
  device='CPU'; T in [DT_INT32]
  device='CPU'; T in [DT_UINT16]
  device='CPU'; T in [DT_INT16]
  device='CPU'; T in [DT_UINT8]
  device='CPU'; T in [DT_INT8]
  device='CPU'; T in [DT_HALF]
  device='CPU'; T in [DT_BFLOAT16]
  device='CPU'; T in [DT_FLOAT]
  device='CPU'; T in [DT_DOUBLE]
  device='CPU'; T in [DT_COMPLEX64]
  device='CPU'; T in [DT_COMPLEX128]
  device='CPU'; T in [DT_BOOL]

         [[Node: Subtract = Snapshot[T=DT_FLOAT, _device="/job:localhost/replica:0/task:0/device:GPU:0"](ResizeBilinear)]]
2018-03-15 11:45:35.132428: E D:\test\tensorflow_GPU_Build\tensorflow\tensorflow\examples\label_image\main.cc:344] Not found: No registered 'Snapshot' OpKernel for GPU devices compatible with node Subtract = Snapshot[T=DT_FLOAT, _device="/job:localhost/replica:0/task:0/device:GPU:0"](ResizeBilinear)
        .  Registered:  device='CPU'; T in [DT_INT64]
  device='CPU'; T in [DT_INT32]
  device='CPU'; T in [DT_UINT16]
  device='CPU'; T in [DT_INT16]
  device='CPU'; T in [DT_UINT8]
  device='CPU'; T in [DT_INT8]
  device='CPU'; T in [DT_HALF]
  device='CPU'; T in [DT_BFLOAT16]
  device='CPU'; T in [DT_FLOAT]
  device='CPU'; T in [DT_DOUBLE]
  device='CPU'; T in [DT_COMPLEX64]
  device='CPU'; T in [DT_COMPLEX128]
  device='CPU'; T in [DT_BOOL]

         [[Node: Subtract = Snapshot[T=DT_FLOAT, _device="/job:localhost/replica:0/task:0/device:GPU:0"](ResizeBilinear)]]

我也遇到了同样的问题。 任何提示??

答案 1 :(得分:0)

我使用tensorflow r1.7分支来构建我的库来解决这个问题。希望这对任何人都有帮助。