Python GridseachCV-ValueError:找到样本数不一致的输入变量:[33 1]

Python GridseachCV-ValueError:找到样本数不一致的输入变量:[33 1],python,numpy,scikit-learn,keras,grid-search,Python,Numpy,Scikit Learn,Keras,Grid Search,我试图在keras模型上使用gridsearchCV,但似乎遇到了一个错误,我不知道如何解释 Traceback (most recent call last): File "keras_cnn_phoneme_generator_fit.py", line 229, in <module> grid_results=grid.fit(train_input,train_output) File "/home/c/.local/lib/python2.7/site-p

我试图在keras模型上使用gridsearchCV,但似乎遇到了一个错误,我不知道如何解释

Traceback (most recent call last):
  File "keras_cnn_phoneme_generator_fit.py", line 229, in <module>
    grid_results=grid.fit(train_input,train_output)
  File "/home/c/.local/lib/python2.7/site-packages/sklearn/model_selection/_search.py", line 940, in fit
    return self._fit(X, y, groups, ParameterGrid(self.param_grid))
  File "/home/c/.local/lib/python2.7/site-packages/sklearn/model_selection/_search.py", line 541, in _fit
    X, y, groups = indexable(X, y, groups)
  File "/home/c/.local/lib/python2.7/site-packages/sklearn/utils/validation.py", line 206, in indexable
    check_consistent_length(*result)
  File "/home/c/.local/lib/python2.7/site-packages/sklearn/utils/validation.py", line 181, in check_consistent_length
    " samples: %r" % [int(l) for l in lengths])
ValueError: Found input variables with inconsistent numbers of samples: [33, 1]
该模型有多个输入,总共33个。这些输入由一个数据生成器提供,该生成器会用numpy.arrays if shape(batch_size,1,40,8,3)吐出一个长度为33的列表。问题是它无法处理列表吗?或者为什么我会犯这个错误

对于批次尺寸=100

print len(train_input)
print train_input[0].shape
print train_output.shape

33
(100, 8, 45, 3)
(100, 1, 145)
各国:

通过Keras.wrappers.Scikit_Learn.py上的包装器,您可以使用连续的Keras模型(仅单输入),作为Scikit学习工作流的一部分

所以,这是不可能的


我想必须找到一个不同的解决方案

重新提供给gridsearch
fit()
train\u input
train\u output
的形状是什么?
train\u input
是一个长度为33的列表,带有numpy。形状的数组(批次大小,1,8,45,3)
train\u output
是numpy.ndarray(1145)为什么要问这个列表?。。好的,我的模型有33个输入,我唯一能输入它们的方法是这样的。你能在这行前面打印
train\u input,train\u output
的实际形状吗
grid\u results=grid.fit(train\u input,train\u output)
?为什么
train\u output
长度(1,145)就是第一个维度是1(表示一行)而
列车输入
有33行??大多数scikit(可能全部)估计器只支持形状为[n_样本,n_特征]的X(
train_input
)的二维阵列。@VivekKumar补充了这一信息。。在145个可能的标签中预测出1个标签。下面是在GridSearch CV中传递多个输入的解决方案:
print len(train_input)
print train_input[0].shape
print train_output.shape

33
(100, 8, 45, 3)
(100, 1, 145)