我遇到了使用 numpy 的这行代码:
img = data.reshape(data.shape[0], 3, 32, 32)
这行代码我看懂了,除了data.shape[0]。我所知道的是这部分将返回行数。但是,我没有得到的是如何将 data(即行) reshape 为具有 3 channel 的 32x32 矩阵。为什么不单独使用data?
也许我在这里搞混了?
谢谢。
请您参考如下方法:
reshape 矩阵时,新形状应与原始形状兼容。
为了动态地确保这一点,此代码使用 data.shape[0] 来获取原始矩阵的行数(即 data 的第一维) ).知道这一点后,它将矩阵 reshape 为 4 维矩阵,定义为:rows|3|32|32。
正如您所指出的,数组本身可能已被使用,因此此代码不检查行数的有效性,而是使用行计数来确保行元素不会在执行期间被混洗到新列中 reshape 。
