15年!NumPy论文终出炉,还登上了Nature( 四 )
近来数据科学、机器学习和人工智能的快速发展进一步大幅提升了 Python 的科学使用 。 Python 的重要应用 , 如 eht-imaging 库 , 现已存在于自然和社会科学的几乎每个学科之中 。 这些工具已经成为很多领域主要的软件环境 。 大学课程、新手培训营和暑期班通常教授 NumPy 及其生态系统 , 它们也成为世界各地社区会议和研讨会的焦点 。 NumPy 和它的 API 已经无处不在了 。
数组激增和互操作性
NumPy 在 CPU 上提供了内存内、多维和均匀键入(即单一指向和跨步的)的数组 。 NumPy 可以在嵌入式设备和世界上最大的超级计算机等机器上运行 , 其性能接近编译语言 。 在大多数情况下 , NumPy 解决了绝大部分的数组计算用例 。
但是现在 , 科学数据集通常超出单个机器的存储容量 , 并且可以在多个机器或云上存储 。 此外 , 近来深度学习和人工智能应用的加速需求已经促生了专用加速器硬件 , 包括 GPU、TPU 和 FPGA 。 目前 , 由于 NumPy 具有的内存内数据模型 , 它无法直接使用这类存储和专用硬件 。
然而 , GPU、TPU 和 FPGA 的分布式数据和并行执行能够很好地映射到数组编程范式 , 所以可用的现代硬件架构与利用它们的计算能力所必需的工具之间存在着差距 。
社区为弥补这一差距做出的努力使得新的数组实现激增 。 例如 , 每个深度学习框架都创建了自己的数组 。 PyTorch、TensorFlow、Apache MXNet 和 JAX 数组都有能力以分布式方式在 CPU 和 GPU 上运行 , 其中使用惰性计算(lazy evaluation)实现额外性能优化 。 SciPy 和 PyData/Sparse 都提供有稀疏数组 , 这些数组通常包含很少的非零值 , 并只在内存中存储以提升效率 。
此外 , 还有一些项目在 NumPy 数组上构建作为数据容器 , 并扩展相应功能 。 Dask 通过这种方式使分布式数组成为可能 , 而标记数组是通过 xarray 实现的 。
这类库常常模仿 NumPy API , 以降低初学者准入门槛 , 并为更广泛的社区提供稳定的数组编程接口 。 这反过来也会阻止一些破坏性分立(disruptive schism) , 如 Numeric 和 Numarray 之间的差异 。
但是探索使用数组的新方法从本质上讲是试验性的 , 事实上 , Theano 和 Caffe 等一些有前途的库已经停止了开发 。 每当用户决定尝试一项新技术时 , 他们必须更改 import 语句 , 并确保新库能够实现他们当前使用的所有 NumPy API 部件 。
在理想状态下 , 用户可以通过 NumPy 函数或语义在专用数组上进行操作 , 这样他们可以编写一次代码 , 然后从 NumPy 数组、GPU 数组、分布式数组以及其他数组之间的切换中获益 。 为了支持外部数组对象之间的数组操作 , NumPy 增加了一项充当核心协调机制的功能 , 并提供指定的 API , 具体如上图 2 所示 。
为了促进这种互操作性 , NumPy 提供了允许专用数组传递给 NumPy 函数的「协议」 , 具体如下图 3 所示 。 反过来 , NumPy 根据需要将操作分派给原始库 。 超过 400 个最流行的 NumPy 函数得到了支持 。 该协议通过 Dask、CuPy、xarray 和 PyData/Sparse 等广泛使用的库来实现 。
得益于这些进展 , 用户现在可以使用 Dask 将自己的计算从单个机器扩展至多个系统 。 该协议允许用户通过 Dask 数组中嵌入的 CuPy 数组等 , 在分布式多 GPU 系统上大规模地重新部署 NumPy 代码 。
使用 NumPy 的高级 API , 用户可以在具有数百万个核的多系统上利用高度并行化的代码执行 , 并且需要的代码更改最少 。
【15年!NumPy论文终出炉,还登上了Nature】如下图 3 所示 , NumPy 的 API 和数组协议向生态系统提供了新的数组:
本文插图
现在 , 这些数组协议是 NumPy 的主要特征 , 它们的重要性预计也会越来越大 。 NumPy 开发者(很多也是这篇文章的作者)迭代地改善和增加协议设计 , 以改进实用性和简化应用方式 。
推荐阅读
- 优译辑UegeSci|论文润色公司防坑指南?——优译辑UegeSci
- 社保|这类退休人员能安心了?留意了,社保未缴够15年可以按规这样办
- 军人|26岁女军官15年军龄,只因此技能太难得,她11岁被特招入伍
- 沈寅豪|越闹越大!鲁能球迷围攻同济大学官微,彻查沈寅豪论文抄袭还公道
- 超|张志超将获332万国家赔偿,被羁押15年后重获自由
- |社保未缴够15年都按规这样办,这类退休人员能“安心”了?今年起
- 央视网|被羁押15年后重获自由,张志超将获332万国家赔偿
- 搞笑吃货新天地|张良三年不吃五谷,15年后才知道他有多高明,刘邦逝世前
- 裁判|特评:从傅明被查论文到裁判“抢戏”郝伟 莫让执法软实力辜负第六联赛美名
- 黄宏|2015年,黄宏上午被免职,下午就被带走,今60岁现状让人心疼
