【发布时间】:2021-01-09 17:29:18
【问题描述】:
处理一个 3d-numpy 数字数组问题,将其中的值乘以一组权重,对它们求和并更新它们。
我有一个带有维度 (H, W, 3) 的 3d-numpy 数组“网格”,我想在其中将一些恒定权重乘以 3 个内部值,然后将它们相加,并用总和更新数组.我为此编写了以下python算法:
weights = (0.65, 0.33, 0.07)
for i in range(len(grin)):
for j in range(len(grid[i])):
sum = 0
for k in range(3):
sum += grid[i][j][k] * weights[k]
grid[i][j] = [sum]
这按预期工作,现在我想通过使用更多的 numpy 方法来优化代码速度/长度,例如数组切片以切除一些 for 循环。 我对 numpy 和学习还很陌生,想知道有哪些方法可以做到这一点?
【问题讨论】: