【发布时间】: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