Как выполнить побитовое и операции над матрицами тензор в NumPy - PullRequest
2 голосов
/ 30 апреля 2019

У меня есть следующий тензор:

M = np.zeros((a,b,c), dtype=bool)

Я хочу выполнить поразрядно и на всех a матрицах размерности b,c дать окончательную матрицу размеров b,c. Я не знаю как этого добиться эффективно. Что-то вроде

np.apply_along_axis(func1d=np.bitwise_and, axis=0, arr=M) но я получаю сообщение об ошибке: ValueError: invalid number of arguments и мне непонятно почему.

ОБНОВЛЕНИЕ: Это работает, но есть ли более (эффективный по времени) способ?

v = np.ones((b,c),dtype=bool)
for i in range(0, a):
  v = v & M[i]

1 Ответ

1 голос
/ 01 мая 2019

Вы можете использовать all для этого:

>> M = np.zeros((8,9,10), dtype=np.bool)
>> M.all(0).shape
(9, 10)
...