Как сделать матричные векторные внутренние произведения для каждой пары отдельно в python?

Допустим, у меня есть куча матриц As и векторов bs.

As = array([[[1, 7], [3, 8]],
            [[2, 1], [5, 9]],
            [[7, 2], [8, 3]]])
bs = array([[8, 0], [8, 8], [7, 3]])

Когда я делаю np.inner (As, BS), я получаю:

array([[[  8,  64,  28], [ 24,  88,  45]],
       [[ 16,  24,  17], [ 40, 112,  62]],
       [[ 56,  72,  55], [ 64,  88,  65]]])

Но мне не нужны все внутренние продукты. Я хочу рассчитать каждую матрицу с каждым вектором один раз. Я могу сделать что-то вроде этого:

np.array(map(lambda (a, b): np.inner(a, b), zip(As, bs)))

Тогда я получаю ожидаемую матрицу:

array([[  8,  24], [ 24, 112], [ 55,  65]])

Теперь я не хочу использовать zip, map и т. Д., Потому что мне нужна эта операция> 10 ** 6 раз (для обработки изображений, именно для GMM). Есть ли способ использовать NumPy, Scipy и т.д., которые могут сделать это для меня? (быстро и эффективно)

Ответы на вопрос(1)

Ваш ответ на вопрос