Как рассчитать суммы квадратов по одному измерению на ndarray? - PullRequest
0 голосов
/ 26 апреля 2019

Одна многомерная матрица с формой (2, 50, 25, 3):

xx = np.random.randn(2, 50, 25, 3)

Я хочу вычислить сумму квадратов последнего измерения. Результатом должна стать матрица с формой (2, 50, 25, 1).

[np.sum(x) for x in np.square(features_displacement[0][0][:])[:]]

Этот код может успешно рассчитать одно измерение, вывести список с формой (25,1), но как я могу вычислить все измерения, как описано выше?

Ответы [ 2 ]

0 голосов
/ 26 апреля 2019

Используйте это:

sum_of_squares = np.sum(np.square(features_displacement), axis=-1)
0 голосов
/ 26 апреля 2019

Вы можете применить числовые функции вдоль нужной оси, например:

np.sum(np.square(xx), axis=3)

Будет создан массив формы (2, 50, 25).Не совсем уверен, что это то, что вы хотите, если нет, пожалуйста, будьте более конкретны: -)

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