【问题标题】:python shape too large to be a matrixpython 形状太大而不能成为矩阵
【发布时间】:2018-03-24 05:23:11
【问题描述】:

我正在使用 python keras 构建一个 cnn 模型。

我遵循 cnn mnist 示例并修改我的代码。 这是我找到的例子

# Read MNIST data  
(X_Train, y_Train), (X_Test, y_Test) = mnist.load_data()  
# Translation of data  
X_Train40 = X_Train.reshape(X_Train.shape[0], 28, 28, 1).astype('float32')  
X_Test40 = X_Test.reshape(X_Test.shape[0], 28, 28, 1).astype('float32') 

我的数据有30222行6列的csv。

这是10074个数据,每个数据是一个信息块的3 * 6大小。

比如矩阵的第1~3行就是一个信息块。

然后我改变了我的数据格式。

X_Train40 = X_Train.reshape(10074, 3, 6, 1)
X_Test40 = X_Test.reshape(4319, 3, 6, 1)

那么就会出现这个错误。

---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-133-4f23172d450a> in <module>()
----> 1 X_Train40 = X_Train.reshape(10074, 3, 6, 1)
      2 X_Test40 = X_Test.reshape(4319, 3, 6, 1)

~\Anaconda3\lib\site-packages\numpy\matrixlib\defmatrix.py in __array_finalize__(self, obj)
    269                 return
    270             elif (ndim > 2):
--> 271                 raise ValueError("shape too large to be a matrix.")
    272         else:
    273             newshape = self.shape

ValueError: shape too large to be a matrix.

【问题讨论】:

  • -python shape to large to be a matrix 是什么意思?
  • 你在使用np.matrix吗?如果是这样,请尝试np.array(X_Train).reshape(10074, 3, 6, 1)
  • @JulioDanielReyes 谢谢!这是工作!
  • 很高兴它成功了,我会把它作为答案,以防万一其他人有这个问题
  • 一个matrix数组只能有2维;所以无法重塑为 4d。

标签: numpy matrix keras conv-neural-network


【解决方案1】:

只是猜测,但由于数据来自csv文件,因此将其转换为np.matrix,有二维限制。

numpy 内部会尝试保持矩阵的维度,因此要重塑为更高维度,您需要将其转换为 ndarray,如下所示:

X_Train = np.array(X_Train)
X_Test = np.array(X_Test)
X_Train40 = X_Train.reshape(10074, 3, 6, 1)
X_Test40 = X_Test.reshape(4319, 3, 6, 1)

【讨论】:

    【解决方案2】:

    你知道...我今天遇到了这个问题,我找不到一个有帮助的答案。

    此时您的问题可能已经解决了,但是当 python 抱怨“形状太大而不能成为矩阵”时要查看的一件事是您的变量的类型,即 它是 numpy .matrix 数据类型或 numpy.ndarray

    如果是前者,那你就麻烦了。

    尽量避免使用 numpy.matrix 类型,特别是如果您想要进行任何线性代数运算,或者将它们堆叠(使用 (d/v/h)stack 等)并坚持使用 numpy.ndarray

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多