我问的问题非常类似于TensorFlow broadcasting of RaggedTensor
基本上,我在做机器学习,一个数据样本由一个坐标列表组成,其中每个坐标列表代表画布上的一个绘图笔划。一个这样的样本可能是,
[
[[2,3], [2,4], [3,6], [4,8]],
[[7,3], [10,9]],
[[10,12], [14,17], [13,15]]
]
我想通过减去平均值并除以标准差来归一化这些坐标。具体来说,我想分别找到所有 x 坐标 (index=0) 和 y 坐标 (index=1) 的均值和标准差。 我通过
获得了这些值list_points=tf.ragged.constant(list_points)
STD=tf.math.reduce_std(list_points, axis=(0,1))
mean=tf.reduce_mean(list_points, axis=(0,1))
STD 和均值都具有 (2,)
的形状现在,我想从 list_points 中减去平均值(这是坐标列表的示例列表),但似乎对于 ragged_rank=3,我只能减去覆盖每个数据点的标量或张量。有没有一种简单的方法可以简单地将 RaggedTensor 减去形状为 (2,) 的张量?
我试图直接从 list_points 中简单地减去 mean,但无论我做什么,我都会得到这个错误:
ValueError: pylist 的标量值深度为 3,但 ragged_rank=3 要求标量值深度大于 3