You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将cupy.ndarray二维列向量转换为一维数组?

问题:将二维列向量cupy数组转换为一维数组

我有一个类型为cupy.ndarray的数组,其形式如下:

x = array([[0],
       [0],
       [0],
       ...,
       [0],
       [0],
       [0]])

我期望得到的输出形式为:

array([0, 0, 0, ..., 0, 0, 0])

我尝试使用transpose和np.expand_dims方法,得到的输出分别为:

x.transpose()

# Output
array([[0, 0, 0, ..., 0, 0, 0]])
np.expand_dims(x, axis=1)

#Output
array([[[0, 0, 0, ..., 0, 0, 0]]])

请问该如何实现预期的数组维度转换?


解决方案

你需要将二维列向量数组降维为一维数组,以下几种方法都适用于cupy.ndarray:

1. 使用flatten()方法

flatten()返回一维数组的副本,修改副本不会影响原数组:

x_flattened = x.flatten()
# 输出
array([0, 0, 0, ..., 0, 0, 0])

2. 使用ravel()方法

ravel()优先返回原数组的视图(若数组内存连续),效率更高,修改返回值可能影响原数组:

x_raveled = x.ravel()
# 输出
array([0, 0, 0, ..., 0, 0, 0])

3. 使用reshape(-1)方法

reshape(-1)会自动计算一维数组长度,同样返回视图(若原数组内存连续):

x_reshaped = x.reshape(-1)
# 输出
array([0, 0, 0, ..., 0, 0, 0])

三种方法都能实现目标转换,可根据是否需要副本或视图自由选择。

内容的提问来源于stack exchange,提问作者M.Souza

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 11:20:35