#python-3.x #tensorflow #keras
Вопрос:
У меня есть tf.Набор данных тензора, который имеет форму (10, 100, 3), что-то вроде приведенного ниже.
[[[ 0. 0. 0. ],
[-0.07 -0.07 0.02],
[-0.04 -0.05 -0.00],
[ 0. 0. 0. ],
...
[ 0. 0. 0. ],
[ 0.01 0.02 0.12],
[-0.04 -0.00 0.01],
[-0.00 -0.06 0.04],
[ 0. 0. 0. ],
[ 0. 0. 0. ]], #(1, 100, 3)
[[continue . ... ],
[ ... ... ... ],
[ ... ... ... ]], #(1, 100, 3)
[[continue 8 more ],
[ ... ... ... ],
[ ... ... ... ]]] #(8, 100, 3)
В конце концов, форма набора данных будет похожа на (10, ##, 3) неровный тензор.
Как я могу суммировать все ненулевые векторы между нулевыми векторами без использования циклов?
Комментарии:
1. Поскольку вы уже используете numpy, я бы рекомендовал
numpy.where
иnumpy.sum
.np.where
обычно ожидает множество шуток. Однако, когда вы даете список целых чисел, число 0 интерпретируется как aFalse
, а все остальное-какTrue