Python Deep Learning Keras:维数错误:预期为3,形状为2

时间:2016-02-18 05:26:22

标签: python keras

我是Keras的新手,这是一个深度学习库,需要你的帮助。构建模型时没有错误,但在调用model.fit(X,y)时会出现以下问题:

TypeError: ('Bad input argument to theano function with name "~/machine_learning2/lib/python2.7/site-packages/keras/backend/theano_backend.py:380"  
at index 0(0-based)', 'Wrong number of dimensions: expected 3, got 2 with shape (16, 40).')

这与此https://github.com/fchollet/keras/issues/815类似 我的y列车矩阵是一个有多行和一列的矩阵。

提到了一种解决方案,即使用二进制单热编码将y转换为3d张量。有这样的例子吗?

2 个答案:

答案 0 :(得分:2)

您可以使用:

from keras.utils import np_utils
np_utils.to_categorical(y_train, n_classes)

用于一个热编码,其中y_train是火车类向量,n_classes - 类的总数,

然而,基于错误描述提及(16,40),而不是(Nx1),我怀疑你的X也可能有问题。

答案 1 :(得分:0)

你在找这样的东西吗?

>b=np.arange(640)
>b.reshape(16,40).shape
 (16, 40)
>c=b.reshape(1,16,40)
>c.shape
 (1, 16, 40)