I Don't Like NumPy
a year ago
- #Python
- #Array Programming
- #NumPy
- NumPy被广泛用于Python中的数组计算,并影响了PyTorch等机器学习库。
- NumPy使简单操作变得优雅,但在处理更复杂的数组操作(尤其是高维情况)时表现不佳。
- NumPy的广播机制可能导致反直觉行为,需要仔细对齐维度。
- NumPy的高级索引功能复杂,即使是经验丰富的用户也常感困惑。
- 像np.linalg.solve这样的函数在处理多维数组时存在不明确的约定。
- np.einsum因其在处理复杂数组操作时的清晰性和强大功能而备受赞誉。
- NumPy的设计缺陷源于用广播机制替代显式索引,导致可读性和可用性问题。
- NumPy中的多头注意力机制展示了在没有清晰抽象的情况下向量化操作的挑战。
- 作者提出了一个改进数组语言的原型方案,旨在解决NumPy的不足。