Numpy 将矩阵附加到张量
Numpy Append Matrix to Tensor
我正在尝试使用 numpy 构建矩阵列表,但是当我尝试将矩阵附加到空张量时,出现错误:
ValueError: all the input arrays must have same number of dimensions
连接和追加似乎都失败了。我试过打电话:
tensor = np.concatenate((tensor, matrix), axis=0)
和
tensor = np.append(tensor, matrix, axis=0)
但无论哪种方式我都得到相同的错误。
张量起始大小为[0, h, w],矩阵大小为[h, w]。矩阵在我想要附加到的方向上是正确的形状,但它似乎无法附加。
似乎 matrix
代表传入的,而你将它们累积到 tensor
。因此,要解决它,请添加一个新轴,其中 None/np.newaxis
作为 matrix
的前导轴,然后与 tensor
-
连接
np.concatenate((tensor, matrix[None]),axis=0)
如果你正在积累,把它存回tensor
。
或使用np.vstack((tensor, matrix[None]))
.
样本运行-
In [16]: h,w = 3,4
...: a = np.random.rand(0,h,w)
...: b = np.random.rand(h,w)
In [17]: np.concatenate((a, b[None]),axis=0).shape
Out[17]: (1, 3, 4)
我正在尝试使用 numpy 构建矩阵列表,但是当我尝试将矩阵附加到空张量时,出现错误:
ValueError: all the input arrays must have same number of dimensions
连接和追加似乎都失败了。我试过打电话:
tensor = np.concatenate((tensor, matrix), axis=0)
和
tensor = np.append(tensor, matrix, axis=0)
但无论哪种方式我都得到相同的错误。
张量起始大小为[0, h, w],矩阵大小为[h, w]。矩阵在我想要附加到的方向上是正确的形状,但它似乎无法附加。
似乎 matrix
代表传入的,而你将它们累积到 tensor
。因此,要解决它,请添加一个新轴,其中 None/np.newaxis
作为 matrix
的前导轴,然后与 tensor
-
np.concatenate((tensor, matrix[None]),axis=0)
如果你正在积累,把它存回tensor
。
或使用np.vstack((tensor, matrix[None]))
.
样本运行-
In [16]: h,w = 3,4
...: a = np.random.rand(0,h,w)
...: b = np.random.rand(h,w)
In [17]: np.concatenate((a, b[None]),axis=0).shape
Out[17]: (1, 3, 4)