У меня есть матрица с формой (2,4,4), и я хочу получить максимум по строкам для каждой матрицы.
w = array([
[[0.9695303 , 0.99844801, 0.99712014, 0.99493009],
[0.99111579, 0.99997843, 0.99995245, 0.99998065],
[0.99940958, 0.99998028, 0.99999291, 0.99996183],
[0.99701626, 0.99997955, 0.99998736, 0.99998028]],
[[0.99992947, 0.99999852, 0.99988576, 0.99975061],
[0.99999059, 1. , 0.99999982, 0.99999987],
[0.99999622, 0.99999945, 0.99999837, 0.99999683],
[0.99998404, 0.99999998, 0.99999842, 0.99999804]]
])
Мой желаемый результат должен быть
[array([0.99844801, 0.99998065, 0.99999291, 0.99998736]),
array([0.99999852, 1. , 0.99999945, 0.99999998])]
Наивный способ приведен ниже
max_by_row = []
for matrix in w:
max_by_row.append(np.max(matrix,axis=1))
print(max_by_row)
Есть ли способ сделать то же самое без петель?