N维数组 (ndarray
)#
cupy.ndarray
是 CuPy 中对应 NumPy 的 numpy.ndarray
。它提供了一个直观的接口,用于表示位于 CUDA 设备上的固定大小多维数组。
关于 ndarray
的基本概念,请参阅 NumPy 文档。
|
CUDA 设备上的多维数组。 |
与 NumPy 数组之间的转换#
cupy.ndarray
和 numpy.ndarray
不能隐式相互转换。这意味着 NumPy 函数不能将 cupy.ndarray
作为输入,反之亦然。
要将
numpy.ndarray
转换为cupy.ndarray
,请使用cupy.array()
或cupy.asarray()
。要将
cupy.ndarray
转换为numpy.ndarray
,请使用cupy.asnumpy()
或cupy.ndarray.get()
。
请注意,在 cupy.ndarray
和 numpy.ndarray
之间进行转换会产生主机 (CPU) 设备与 GPU 设备之间的数据传输,这会带来显著的性能开销。
|
在当前设备上创建一个数组。 |
|
将对象转换为数组。 |
|
从任意源数组返回主机内存中的数组。 |
代码兼容性特性#
cupy.ndarray
在代码兼容性方面被设计为尽可能与 numpy.ndarray
互换。但在某些情况下,您需要知道正在处理的数组是 cupy.ndarray
还是 numpy.ndarray
。一个例子是调用模块级函数,如 cupy.sum()
或 numpy.sum()
。在这种情况下,可以使用 cupy.get_array_module()
。
|
返回参数的数组模块。 |
|
返回参数的数组模块。 |