Рассчитать среднее значение индекса матрицы, полученной из ее ближайших - PullRequest
0 голосов
/ 20 октября 2019

Мне нужно рассчитать среднее значение индекса матрицы, используя ее шкафы. вот пример.

A=[
 [ 8.16666667  8.16666667  8.16666667  8.16666667  8.16666667  8.16666667]
 [ 8.16666667 10.          8.16666667  8.16666667  8.16666667  8.16666667]
 [ 8.16666667  8.          9.          8.          8.16666667  8.16666667]
 [ 8.16666667  8.16666667  9.          5.          8.16666667  8.16666667]
 [ 8.16666667  8.16666667  8.16666667  8.16666667  8.16666667  8.16666667]
 [ 8.16666667  8.16666667  8.16666667  8.16666667  8.16666667  8.16666667]]

давайте представим, что у нас есть эта матрица, и на следующей итерации мне нужно обновить эти значения ее средними значениями. но средние должны быть рассчитаны с шкафами. если я возьму A[0][0] его среднее значение должно быть, result =A[0][1]+A[1][0]/2 пока здесь, нет проблем.

Но теперь давайте посчитаем значение в позиции A[3][3]. результат должен быть result = A[3][4]+A[3][2]+A[2][3]+A[4][3]/4, поэтому он другой.

Проблема, которую я имею, состоит в том, чтобы разработать алгоритм, который делает это автоматически, не только это, но и делает это простым способом для ПК. потому что я знаю, что могу делать это шаг за шагом в каждой позиции, но это займет слишком много строк кода. Я использую Python для вычислений.

Это моя первая мысль об этом. см. Изображение

разделите его на части и примените алгоритм к каждому условию.

Но я думаю, что его можно улучшить.

Ответы [ 2 ]

0 голосов
/ 21 октября 2019

Я не знаю, есть ли книжный магазин, который облегчает это. Но так как вы подняли этот интересный вопрос, я предложил разработать код, который вам нужен, и я оставлю его вам Github AverageMatrix.py

0 голосов
/ 20 октября 2019

Если вы ищете функцию, которую вы должны написать самостоятельно, вы можете проверить AveragePooling2D примеры. Вы можете увидеть один пример. здесь . Кроме того, есть несколько руководств по реализации AveragePooling2D с numpy. Например, этот SO ответ .

Но если вы можете использовать библиотеки, вы можете проверить Keras.

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