简体   繁体   English

tensorflow错误:执行程序无法创建内核。 运行图像标签示例时,未为GPU设备注册“快照” OpKernel

[英]tensorflow error: Executor failed to create kernel. No registered 'Snapshot' OpKernel for GPU devices,when running image label example

I'm now using tensorflow C++ dynamic library with GPU support. 我现在使用带有GPU支持的tensorflow C ++动态库。

I built with CUDA9.0,CUDNN7.0,visual studio 2015 x64 and the CMAKE settings are: CMAKE settings 我使用CUDA9.0,CUDNN7.0,Visual Studio 2015 x64构建,并且CMAKE设置为: CMAKE设置

I only linked tensorflow.lib and tensorflow.dll to my visual studio project. 我只将tensorflow.lib和tensorflow.dll链接到我的Visual Studio项目。 The same setting goes well when I run the example code which does matrix multiplication (the example code on: https://joe-antognini.github.io/machine-learning/windows-tf-project ) 当我运行进行矩阵乘法的示例代码时,同样的设置也很好(示例代码位于: https : //joe-antognini.github.io/machine-learning/windows-tf-project

But now I'm trying to run the tf example code-label_image 但是现在我正在尝试运行tf示例代码-label_image

the result goes with: 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)]]

And the code stopped at 代码停在

TF_RETURN_IF_ERROR(session->Run({ inputs }, { output_name }, {}, out_tensors));

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

Anyone knows what the problem might be??I've been on this problem for days. 谁知道可能是什么问题?我已经在这个问题上待了好几天了。

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

I am also with the very same problem. 我也遇到同样的问题。 Anyone hints?? 有人提示吗?

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM