Трансляция массива с двумя 2D-массивами (Python) - PullRequest
0 голосов
/ 20 июня 2020

У меня есть два следующих массива:

A - формы DxN

B - формы NxD

Я пытаюсь выполнить поэлементное умножение A и B и в конечном итоге создать массив NxDxD , используя широковещательную рассылку массивов.

Я немного не понимаю, с чего начать. Я пробовал несколько вещей, но ни одна из моих попыток ни к чему не привела. Возможно, что-то подобное просто невозможно?

В некотором смысле я относительно новичок в Python и пытаюсь написать свою собственную реализацию ML algorithm. Мой нынешний подход предполагает выполнение этого расчета.

1 Ответ

0 голосов
/ 20 июня 2020

Если вы используете numpy, все, что вам нужно сделать, это:

result = numpy.dot(A, B)

Если вы получите сообщение об ошибке, например, размеры не выровнены, вам необходимо преобразовать матрицу следующим образом:

result = numpy.dot(A, B.T)

это должно сработать

import numpy as np

a = np.array([[2, 3],
            [4, 3],
            [2, 4]])

b = np.array([[2, 3, 4],
              [3, 4, 5]])

print(np.dot(a, b).shape)

возвращает (3, 3)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...