Tensorflow 张量流形状检测器

Tensorflow 张量流形状检测器,tensorflow,Tensorflow,与大多数编程语言不同,TensorFlow不将数组的形状视为类型的一部分。这样做的缺点是,如果您犯了错误,并且意外地提供了错误形状的数据,它可能会默默地给出错误的答案,例如,这会使调试变得困难 TF是否存在形状检查器?也就是说,一个函数或程序可以分析图形(如果需要,可以使用samplefeed_dict)并在形状不匹配时发出警报?Tensorflow确实提供了一种形状检查器机制,从技术上讲,这是在声明Tensorflow占位符时应该指定的形状参数。默认情况下,tensorflow的形状为[Non

与大多数编程语言不同,TensorFlow不将数组的形状视为类型的一部分。这样做的缺点是,如果您犯了错误,并且意外地提供了错误形状的数据,它可能会默默地给出错误的答案,例如,这会使调试变得困难


TF是否存在形状检查器?也就是说,一个函数或程序可以分析图形(如果需要,可以使用sample
feed_dict
)并在形状不匹配时发出警报?

Tensorflow确实提供了一种形状检查器机制,从技术上讲,这是在声明Tensorflow占位符时应该指定的形状参数。默认情况下,tensorflow的形状为[None,None]。但是,例如,如果您在声明占位符时指定了形状,那么每当用户输入不正确/冲突形状的数据时,就会引发形状错误。例如 假设我声明了一个名为X的占位符,并指定了它的shape参数:

X=tf.placeholder(dtype=tf.float32, shape=[None,256])
现在,这意味着X的行数可以变化,但特征的数量将始终是256。现在,如果我错误地输入了形状数据,比如1000行和20个特征,那么形状错误就会增加

此外,请检查此链接:

使用:

print(str(tf.Shape(test_tensor))) # where test_tensor is
                                whatever your tensor's name is
此处提供的文档: