【问题标题】:Different Numpy reshaping to 3D array syntax's不同的 Numpy 重塑为 3D 数组语法
【发布时间】:2020-05-15 14:37:22
【问题描述】:

我正在研究 LSTM 神经网络。我在下面看到了这样的代码:

X_train = np.reshape(X_train, (X_train.shape[0], X_train.shape[1], 1))

此代码旨在将 2d 数组更改为 3d 数组,但语法对我来说很奇怪,或者至少我不明白。例如,我假设下面的这段代码是 3d 语法

np.reshape(rows , columns, dimensions)

谁能详细说明语法是什么以及它试图做什么。

【问题讨论】:

    标签: python arrays numpy multidimensional-array


    【解决方案1】:

    函数numpy.reshape 在不更改数据的情况下为数组提供新形状。它是一个 numpy 包函数。首先,它需要知道要重塑什么,这是该函数的第一个参数(在您的情况下,您想要重塑X_train)。

    然后它需要知道你的新矩阵的形状是什么。这个参数需要是一个元组。 2D reshape 可以传(W,H),3D 可以传(W,H,D),4D 可以传(W,H,D,T),以此类推。

    但是,您也可以通过X_train.reshape((W,H,D)) 调用reshape 一个Numpy 矩阵。在这种情况下,由于reshape函数是X_train对象的一个​​方法,所以你不必传递它,只传递新的形状。

    还值得一提的是,具有新形状的矩阵中的元素总数应该与您的原始矩阵相匹配。例如,您的 2D X_train 具有 X_train.shape[0] x X_train.shape[1] 元素。此值应等于W x H x D

    【讨论】:

    • 感谢现在有意义了。我想快点问。要获得执行 np.shape[0] 的行数和 np.shape[1] 的列数。尺寸是 np.shape[2] 吗?
    猜你喜欢
    • 2016-05-22
    • 2016-02-10
    • 2018-03-17
    • 2017-09-18
    • 2020-04-22
    • 2021-03-21
    • 2017-11-11
    • 2021-10-28
    • 2021-08-06
    相关资源
    最近更新 更多