Как насчет простого преобразования вашего генератора в список и последующей передачи его в np.sum
?
a = np.arange(9).reshape(3,3)
gen = (x for x in a)
Суммирование всех элементов:
>>> np.sum(list(gen))
36
Суммирование по столбцам:
>>> np.sum(list(gen), axis=0)
array([ 9, 12, 15])
Пошаговое суммирование:
>>> np.sum(list(gen), axis=1)
array([ 3, 12, 21])