我们可以使用NumPy中引入的NumPy的分配机制来编写与NumPy API兼容并提供NumPy功能的自定义实现的自定义n维数组容器,应用程序包括dask数组(分布在多个节点上的n维数组)和cupy数组(GPU上的n维数组 )。
下面示例的实用程序不常用,但说明了所涉及的概念。
我们自定义数组可以像这样实例化:
我们可以使用numpy.array或numpy.asarray转换为numpy数组,这将调用其_array_方法以获得标准numpy.ndarray。
如果我们使用numpy函数对arr进行操作,numpy将再次使用array接口将其转换为数组,然后以通常的方式使用该函数。
返回类型是标准的numpy.ndarray
我们如何通过这个函数传递我们
NumPy基础-编写自定义数组容器
最新推荐文章于 2024-05-08 11:29:43 发布
本文介绍了如何使用NumPy的分配机制创建自定义n维数组容器,类似于dask和cupy数组。通过定义_array_ufunc_和_array_function_接口,我们可以使自定义数组与NumPy函数兼容。示例中展示了如何处理通用函数(ufunc)和NumPy函数,以及如何实现sum和mean等方法。同时,指出了当尝试使用未处理的NumPy函数时可能会遇到的TypeError。
摘要由CSDN通过智能技术生成