Python 来自tf.cond的Tensorflow不兼容返回类型
我是Tensorflow的新手,我希望有人能帮我调试一个我面临的快速错误Python 来自tf.cond的Tensorflow不兼容返回类型,python,tensorflow,Python,Tensorflow,我是Tensorflow的新手,我希望有人能帮我调试一个我面临的快速错误 def _examples(file_name_queue, reader, num_threads, read_batch_size): with ops.name_scope('read'): for _ in range(num_threads): keys, values = tf.cond( math_ops.less(1, read_batch_size),
def _examples(file_name_queue, reader, num_threads, read_batch_size):
with ops.name_scope('read'):
for _ in range(num_threads):
keys, values = tf.cond(
math_ops.less(1, read_batch_size),
lambda: reader().read_up_to(file_name_queue, read_batch_size),
lambda: reader().read(file_name_queue)
)
# More after this but dropping for brevity.
然而,我得到了下面的错误,它似乎来自tf.cond中的true_fn和false_fn,而不是来自同一个类
TypeError:true\u fn和false\u fn的返回类型不兼容:这两个
结构不具有相同的序列类型。第一个结构有类型
,而第二
结构有类型
解决这样一个问题的最佳方式是什么?有没有一种方法可以强制转换这些类,重写true\u fn/false\u fn,或者以其他方式修改lambda以统一序列类型
非常感谢 如果您阅读的文档,您将得到以下描述: true_fn和false_fn都返回输出张量列表。true\u fn和false\u fn必须具有相同的非零数和输出类型 现在让我们看一下 以下是以下函数的返回类型: :张量(键、值)的元组。键:一维弦张量。值:一维字符串张量 :张量的元组(键、值)。键:字符串标量张量。值:字符串标量张量
要进一步解释,您必须给出更多的代码,但错误的概念已经突出显示。非常感谢。这给了我一个很好的开始寻找的线索。