没有注册 OpKernel 以支持具有这些属性的 Op 'ShutdownDistributedTPU'。注册设备

Posted

技术标签:

【中文标题】没有注册 OpKernel 以支持具有这些属性的 Op \'ShutdownDistributedTPU\'。注册设备【英文标题】:No OpKernel was registered to support Op 'ShutdownDistributedTPU' with these attrs. Registered devices没有注册 OpKernel 以支持具有这些属性的 Op 'ShutdownDistributedTPU'。注册设备 【发布时间】:2018-10-01 21:02:58 【问题描述】:

我正在尝试使用来自this link 的 TensorFlow 1.7.0 版本并使用以下代码恢复 Mobile-net V2 模型,但我收到错误消息。

import tensorflow as tf    
dir(tf.contrib)
tf.reset_default_graph()
v1 = tf.get_variable("v1", shape=[3])
v2 = tf.get_variable("v2", shape=[5])
saver = tf.train.Saver()
with tf.Session() as sess:
  saver = tf.train.import_meta_graph("/mobilenet_v2_1.4_224.ckpt.meta")
  saver.restore(sess, "/mobilenet_v2_1.4_224.ckpt.data-00000-of-00001")

我面临以下与 TPU 相关的错误,因为我支持 GPU:

Traceback(最近一次调用最后一次): 文件“/home/ext_user1/tensorflow_1.2.1_cp34/lib/python3.4/site- packages/tensorflow/python/client/session.py”,第 1327 行,在 _do_call 中 返回 fn(*args) 文件“/home/ext_user1/tensorflow_1.2.1_cp34/lib/python3.4/site- packages/tensorflow/python/client/session.py”,第 1310 行,在 _run_fn 中 self._extend_graph() 文件“/home/ext_user1/tensorflow_1.2.1_cp34/lib/python3.4/site- packages/tensorflow/python/client/session.py”,第 1358 行,在 _extend_graph graph_def.SerializeToString(),状态) 文件“/home/ext_user1/tensorflow_1.2.1_cp34/lib/python3.4/site- packages/tensorflow/python/framework/errors_impl.py",第 516 行,在 exit 中 c_api.TF_GetCode(self.status.status)) tensorflow.python.framework.errors_impl.InvalidArgumentError:没有 OpKernel 已注册以支持具有这些属性的操作“ShutdownDistributedTPU”。 注册设备:[CPU],注册内核:

[[节点:ShutdownDistributedTPU = ShutdownDistributedTPU_device="/job:tpu_worker/device:TPU_SYSTEM:0"]]

请帮帮我。

【问题讨论】:

欢迎来到 SO。请查看此处了解如何改进您的问题(格式化、校对、提供代码等):***.com/help/how-to-ask 【参考方案1】:

解决此问题的方法是从元图中清除预设设备

saver = tf.train.import_meta_graph("/mobilenet_v2_1.4_224.ckpt.meta", clear_devices=True)

metagraph 用于从检查点恢复训练课程。对于来自此检查点的prediction,不需要元图。但是,如果您想继续训练模型,那么导入元图和清除设备是最好的方法。

【讨论】:

以上是关于没有注册 OpKernel 以支持具有这些属性的 Op 'ShutdownDistributedTPU'。注册设备的主要内容,如果未能解决你的问题,请参考以下文章

没有注册 OpKernel 以在 iOS 上使用这些属性支持 Op'Switch'

InvalidArgumentError:没有注册 OpKernel 来支持 Op 'CudnnRNN'

OneFlow源码解析:OpKernel与解释器

AutoMapper 具有未映射属性的问题

OneFlow学习笔记:从OpExprInterpreter到OpKernel

Spring Cloud Schema Registry