×

NumPy对Python的贡献是非凡的,但接下来的发展可能更加如此

作者:Web前端之家2020.09.27来源:Web前端之家浏览:274评论:0
关键词:NumPy
微信公众号

微信公众号

NumPy是用于科学计算的Python程序包,它是一个青春期,具有成熟的前景。

上周,科学出版界发生了一件令人着迷的事情:著名的《自然 》杂志概述了一个已有15年历史的Python语言编程库。广受欢迎的库NumPy使Python能够执行科学的计算功能。 

当被问及为什么NumPy创建15年后,现在有一篇论文发表时,文章作者之一的加州大学伯克利分校数据科学研究所的Stefan van der Walt说,该文章的发表将使人们长期尚未正式认可NumPy的一些贡献者。

纸张可能以其他方式及时发布。正如NumPy在Python编程世界中所取得的成就一样,本文中有一些线索表明它的未来可能更加重要。 

NumPy有望成为重要的基础设施,而不仅仅是一个非常有价值的库。

正如文章所指出的那样,NumPy已经超越了其在多维数组上的原始功能范围。随着时间的推移,它已经获得了基础设施方面的支持。作者写道:“这不再是一个小型社区项目,而是核心科学基础设施。” 在不止一种方式上确实如此。NumPy不仅是一个非常有价值的函数库。它正在成为新兴图书馆群的中心。 

要了解为什么您必须了解NumPy的现代实用程序。

数组编程是NumPy的核心,在人工智能编程中尤其重要,包括机器学习和深度学习。这些计算任务取决于线性代数,在线性代数中,对张量的多维数组的操作至关重要。 

每个AI框架(例如TensorFlow和PyTorch)都提出了不同的阵列处理方法,部分原因是对以不同方式在张量上运行的专用AI计算机芯片的泛滥做出了回应。正如作者所写,为避免由此引起的潜在混乱,NumPy已“通过指定良好的API增加了充当中央协调机制的功能”。 

相同的NumPy代码将给定的数组函数发送给不断扩展的技术集合(例如Dask)等非常特殊的功能,该函数可以使数组并行化以在多台计算机的分布式系统上运行。这种称为协议的机制的示例包括一个称为“ NEP 18”的东西,它允许NumPy中函数的参数调用NumPy进行范围之外的其他功能。 

ZDNet伸出手来询问通讯作者,NumPy是否将继续发展成为基础架构的一部分。

作者之一拉尔夫·戈默斯(Ralf Gommers)在致ZDNet的电子邮件中写道:“您的问题是一个很好的问题,也是整个生态系统在未来几年内发展的更重要的问题之一。” Gommers是Quansight Labs的主管,该公司是德克萨斯州奥斯汀市初创公司Quansight的一部分,为开源程序提供支持。

Gommers强调说,他只是出于个人观点,而不是整个NumPy社区发言。他告诉ZDNet:“我想说的是,NumPy很可能会以这种方式继续发展。” 

numpy-2020-tree-of-projects.jpg

实际上,Gommers等人正在尝试在Python领域带来一些标准化,以了解如何在这些各种技术之间处理数组。他们已经形成了一个称为Python数据API标准联盟。最初的博客文章描述了如何在数十种不同的库中实现数组函数时碎片的风险,这些库从Dask到CuPy到Pandas到PyTorch到Koalas等。

随着NumPy越来越多地用作协调机制,NumPy应用程序编程接口的重要性可能会提高,并会超出其实际实现范围。ZDNet在同一交易所中询问作者:“随着时间的流逝,NumPy可能会成为一种可与Python分离的基础架构,作为可以不受编程环境影响而使用的资源,以支持分布式数组操作等的问题?”

Gommers对ZDNet表示:“ 我认为情况已经如此,不仅使用Xtensor或我提到的其他库,而且使用提供类似NumPy的C ++ API的PyTorch和TensorFlow。”

Gommers补充说:“从长远来看,我希望NumPy'执行引擎'(即为快速数组操作带来繁重工作的C和Python代码)变得越来越不相关,并且API会保持不变甚至增长。具有普遍性。

Gommers类似于基本线性代数子程序(简称BLAS),BLAS是一组用于对向量进行运算的标准例程,而这些底层例程在许多科学计算中都得到了应用。Gommers指出,尽管“有许多符合标准的实现,但几乎没有人再使用官方的Netlib BLAS来运行代码。”

同样,Gommers的评论不是NumPy社区的正式观点。但是到目前为止,他对NumPy的轨迹的感觉表明,随着时间的流逝,该库可能变得不仅仅是一组函数调用。也许它将成为在科学计算领域,尤其是在AI中,许多功能进行交互的通用框架。 

温馨提示:本文作者系Web前端之家 ,经Web前端之家编辑修改或补充,转载请注明出处和本文链接:
https://jiangweishan.com/article/web32840sdjfkljlkj.html

网友评论文明上网理性发言 已有0人参与

发表评论:

最新留言

首页|JavaScript|HTML|HTML4|HTML5|CSS3|开发工具|性能优化|移动开发|前端教程|性能优化|开发工具|酷站欣赏|UI设计|前端教程

Copyright © 2020 Web前端之家(www.jiangweishan.com) 版权所有 All Rights Reserved.
粤ICP备12067512号-1

Copyright Your WebSite.Some Rights Reserved.

Powered By Z-BlogPHP 1.6.5 Valyria