Я могу упустить что-то очевидное здесь, но мне не хватает функции numpy.map
. Это то же самое, что и функция map
Python, но собирать выходные данные в массив numpy
. Например, у меня может быть генератор изображений genImage(i)
, который генерирует 2D-изображение (размером (m, n)
) на основе одного входа, и я хотел бы ввести range(k)
в мою функцию генератора и получить массив (k, m, n)
.
В настоящее время я бы использовал numpy.array(list(map(genImage, range(k)))
, но я чувствую, что это преобразование в список довольно неэффективно (мой конечный массив имеет размер около 50 ГБ). Поэтому я ищу numpy.map(genImage, range(k))
, который похож на numpy.fromiter
, но для многомерных выходов итератора.
(Я пробовал np.array(map(...))
, но он возвращает массив из одного элемента с картой, поскольку он является единственной записью - вот почему: Почему требуется типизировать карту в список, чтобы назначить ее серия панд? )
Есть ли лучший способ добиться того, чего я хочу? Я ищу способ, который в идеале я мог бы использовать с joblib
.