首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >KeyError: U‘’NearestNeighbors-从tf.contrib.factorization.KMeansClustering加载节省的模型

KeyError: U‘’NearestNeighbors-从tf.contrib.factorization.KMeansClustering加载节省的模型
EN

Stack Overflow用户
提问于 2018-05-10 15:19:04
回答 1查看 346关注 0票数 1

我想做以下几点:

  • 使用tensorflow运行kmeans聚类(1.8.0)
  • 使用kmeans.export_savedmodel保存模型
  • 使用tf.saved_model.loader.load的模型

我使用的确切脚本是:docs/python/tf/contrib/factorization/KMeansClustering

我使用以下代码保存模型:

输入接收者:

代码语言:javascript
复制
def serving_input_receiver_fn():
    feature_spec = {"x": tf.FixedLenFeature(dtype=tf.float32, shape=[2])}
    model_placeholder = tf.placeholder(dtype=tf.string,shape=[None],name='input')
    receiver_tensors = {"model_inputs": model_placeholder}
    features = tf.parse_example(model_placeholder, feature_spec)
    return tf.estimator.export.ServingInputReceiver(features, receiver_tensors)

出口:

代码语言:javascript
复制
kmeans.export_savedmodel("/path/", serving_input_receiver_fn)

要导入,我使用:

代码语言:javascript
复制
tf.saved_model.loader.load(sess, [tf.saved_model.tag_constants.SERVING],"/path")

在最后一步,我遇到了这个问题:

Traceback (most recent call last): File "restore_model.py", line 6, in <module> tf.saved_model.loader.load(sess, [tf.saved_model.tag_constants.SERVING], "/Users/z001t3k/work/codebase/ContentPipeline/cep-scripts/cep/datacollection/algorithms/cluster_model/1525963476") File "/Users/z001t3k/python_virtualenvs/tensorflow/lib/python2.7/site-packages/tensorflow/python/saved_model/loader_impl.py", line 219, in load saver = tf_saver.import_meta_graph(meta_graph_def_to_load, **saver_kwargs) File "/Users/z001t3k/python_virtualenvs/tensorflow/lib/python2.7/site-packages/tensorflow/python/training/saver.py", line 1955, in import_meta_graph **kwargs) File "/Users/z001t3k/python_virtualenvs/tensorflow/lib/python2.7/site-packages/tensorflow/python/framework/meta_graph.py", line 743, in import_scoped_meta_graph producer_op_list=producer_op_list) File "/Users/z001t3k/python_virtualenvs/tensorflow/lib/python2.7/site-packages/tensorflow/python/util/deprecation.py", line 432, in new_func return func(*args, **kwargs) File "/Users/z001t3k/python_virtualenvs/tensorflow/lib/python2.7/site-packages/tensorflow/python/framework/importer.py", line 460, in import_graph_def _RemoveDefaultAttrs(op_dict, producer_op_list, graph_def) File "/Users/z001t3k/python_virtualenvs/tensorflow/lib/python2.7/site-packages/tensorflow/python/framework/importer.py", line 227, in _RemoveDefaultAttrs op_def = op_dict[node.op] KeyError: u'NearestNeighbors'

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-10 15:58:57

Tensorflow在定位NearestNeighbors op时遇到了问题,这是您正在加载的图形的一部分。在Python中导入相应的cont肋骨包时,将动态加载cont肋骨中定义的Ops。

所以只要加上

代码语言:javascript
复制
import tensorflow.contrib.factorization

在加载SavedModel之前。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50276275

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档