在尝试计算精度@ k时,我得到一个例外。以下是一个简单的代码,可以重现问题。
首先,代码定义了变量范围:
initializer = tf.random_uniform_initializer(-0.1, 0.1, seed=1234)
with tf.variable_scope("model", reuse=None, initializer=initializer)
然后它会调用这些行:
predictions = tf.Variable(tf.ones([2, 10], tf.int64))
labels = tf.Variable(tf.ones([2, 1], tf.int64))
precision = tf.contrib.metrics.streaming_sparse_precision_at_k(predictions, labels, 5)
tf.initialize_all_variables().run()
(我知道这段代码没有意义,并尝试计算2个固定矩阵的精度......)
然后我得到以下异常:
W tensorflow / core / framework / op_kernel.cc:936]失败的前提条件: 试图使用未初始化的值 model / precision_at_5 / false_positive_at_5 [[节点: model / precision_at_5 / false_positive_at_5 / read = IdentityT = DT_DOUBLE, _class = [“loc:@ model / precision_at_5 / false_positive_at_5”],_ device =“/ job:localhost / replica:0 / task:0 / gpu:0”]]
当我尝试调用streaming_sparse_recall_at_k
而不是streaming_sparse_precision_at_k
时,情况也一样
安装的版本在linux上使用python 2.7为r0.10。
请帮助......提前致谢:)