Python 解析TFRecord时输出张量的形状错误

Python 解析TFRecord时输出张量的形状错误,python,parsing,tensorflow,Python,Parsing,Tensorflow,当我试图解析TFRecord文件时,我遇到以下错误: (<tf.Tensor 'ParseSingleExample/Squeeze_tokens:0' shape=() dtype=int64>, <tf.Tensor 'ParseSingleExample/Squeeze_labels:0' shape=() dtype=int64>) W tensorflow/core/framework/op_kernel.cc:940] Invalid argument: Na

当我试图解析TFRecord文件时,我遇到以下错误:

(<tf.Tensor 'ParseSingleExample/Squeeze_tokens:0' shape=() dtype=int64>, <tf.Tensor 'ParseSingleExample/Squeeze_labels:0' shape=() dtype=int64>)
W tensorflow/core/framework/op_kernel.cc:940] Invalid argument: Name: <unknown>, Key: tokens, Index: 0.  Number of int64 values != expected.  values size: 5 but output shape: []
--

编辑:所以我想我可以通过更改行来消除错误并使事情正常进行

"tokens": tf.FixedLenFeature([], dtype=tf.int64)


这将强制输出张量的形状。我仍然不清楚为什么我需要为我介绍的案例指定这个,而tensorflow方向中的示例没有。如果有人能澄清,我将不胜感激。

FixedLenFeature
的解析将强制要求该功能具有正确数量的元素;如果数据不匹配,它将发出错误。好的,那么为什么在某些情况下允许我使用和空形状([]),而在其他情况下则不允许?您能给出允许空形状的示例吗?(空形状是合法形状;它表示“标量”。)
"tokens": tf.FixedLenFeature([], dtype=tf.int64)
"tokens": tf.FixedLenFeature([5], dtype=tf.int64)