N 维数组 (ndarray) 是一个多维数组对象。#
cupy.ndarray 是 NumPy numpy.ndarray 的 CuPy 对应物。它提供了一个直观的接口,用于位于 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()。
|
返回参数的数组模块。 |
|
返回参数的数组模块。 |