我是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张量。有这样的例子吗?
答案 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)