gpt4 book ai didi

numpy - python形状太大而不能成为矩阵

转载 作者:行者123 更新时间:2023-12-04 00:33:50 28 4
gpt4 key购买 nike

我正在使用 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.

最佳答案

只是猜测,但由于数据来自一个csv文件,所以它被转换为np.matrix ,其限制为二维。

内部 numpy 将尝试保持矩阵的维度,因此要 reshape 为更高的维度,您需要将其转换为 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)

关于numpy - python形状太大而不能成为矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46706781/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com