Пример широковещательной рассылки NumPy — 1
Автор: ThInKs We KnOw
Загружено: 2026-01-01
Просмотров: 204
Широковещательная рассылка в действии: примеры скалярных значений и одномерных массивов. Чтобы полностью понять, как широковещательная рассылка упрощает арифметику массивов, рассмотрим два практических примера. Во-первых, рассмотрим Пример 1, где мы широковещательно отправляем простое скалярное значение в одномерный массив. Мы начинаем с создания массива NumPy arr, содержащего значения [1, 2, 3]. Цель состоит в том, чтобы добавить скалярное значение 1 к этому массиву. Хотя скалярное значение представляет собой всего лишь одно число, механизм широковещательной рассылки NumPy обрабатывает его так, как если бы это был массив той же формы, что и arr — фактически [1, 1, 1]. Следовательно, операция arr + 1 добавляет 1 к каждому элементу исходного массива, в результате чего получается [2, 3, 4]. Это демонстрирует самую простую форму широковещательной рассылки, где одно значение расширяется, чтобы заполнить строку. Переходя к немного более сложному сценарию в Примере 2, мы видим, как одномерный массив может быть широковещательно отнесен к двумерному массиву. Здесь мы определяем одномерный массив a со значениями [2, 4, 6] и двумерный массив b, состоящий из двух строк: [[1, 3, 5], [7, 9, 11]]. Одномерный массив a имеет форму (3,), а двумерный массив b — форму (2, 3). Чтобы сделать возможным сложение a + b, NumPy автоматически повторяет одномерный массив по вертикальной оси так, чтобы он соответствовал двум строкам массива b. Фактически данные в памяти не копируются, а виртуально выравниваются [2, 4, 6] относительно первой строки [1, 3, 5] и затем относительно второй строки [7, 9, 11]. В результате поэлементного сложения получаем [1+2, 3+4, 5+6] для первой строки, что соответствует [3, 7, 11], и [7+2, 9+4, 11+6] для второй строки, что соответствует [9, 13, 17].
Доступные форматы для скачивания:
Скачать видео mp4
-
Информация по загрузке: