Numpy将矩阵附加到Tensor

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Numpy将矩阵附加到Tensor相关的知识,希望对你有一定的参考价值。

我正在尝试使用numpy构建矩阵列表,但是当我尝试将矩阵附加到空张量时,我得到错误:

ValueError:所有输入数组必须具有相同的维数

连接和附加似乎都失败了。我试着打电话:

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将矩阵附加到Tensor的主要内容,如果未能解决你的问题,请参考以下文章

单独的3D矩阵像numpy

Tensor:Pytorch神经网络界的Numpy

Tensor:Pytorch神经网络界的Numpy

pytorch Tensor和Variable

Pytorch基础-Tensor数据结构

tensorflow::Tensor 到 python Tensor 或 numpy.nd_array