【发布时间】:2021-03-18 18:33:34
【问题描述】:
我正在努力使用 numpy lib。
我有一个形状的张量(batch_size、timestep、feature):
例如让我们创建一个虚拟对象:
x = np.arange(42).reshape(2,7,3)
#now make some rows have homogeneous values
x[:,::3,:] =0
x[:,::5,:] =2
现在我需要一种 numpyish 方式(在 tensorflow 中可重复)来删除所有值都相同的行(axis=-2)。所以最后我需要一个张量看起来像这样:
[[[ 3 4 5]
[ 6 7 8]
[12 13 14]]
[[24 25 26]
[27 28 29]
[33 34 35]]]
谢谢。 附言这与“删除所有零行”不是同一个问题。因为这里我们讨论的是具有均值的行。这有点棘手。
【问题讨论】:
-
numpy通常不会生成参差不齐的数组,并且在没有结构化输入的情况下,axis = -2的维度可能不相等(即,如果要放入x[0]的行数多于x[1]或反之亦然) -
另外,
tensorflow也会因同样的限制而窒息。您确定总是从每个axis = 0维度中删除相同数量的行吗? -
否,每批要删除的行数不同。 :( 但是你已经提到了这一点,我意识到我没有考虑过“参差不齐的数组”输出......谢谢你的提示。但是如果我们只讨论 numpy 怎么办(让我们把 TF 排除在外)一会儿)?
-
我可以自己进行比较,但由于某种原因删除使事情变得更加困难。
标签: numpy tensorflow