Keras功能API的Conv1D层中输入不兼容的异常

时间:2019-08-25 14:47:16

标签: python machine-learning conv-neural-network keras-layer

我在输入层和Conv1D层下面。

categorical_input_model3 = Input(shape=(498,), dtype='int64', name=('categorical_input_model3'))
price_input_m3 = Input(shape=(1,), dtype='int64', name=('price_input_m3'))
no_projects_m3 = Input(shape=(1,), dtype='int64', name=('no_projects_m3'))
other_input = concatenate([K.cast(price_input,dtype = 'float32'),K.cast(no_projects,dtype = 'float32'),K.cast(categorical_input_model3,dtype = 'float32')])
cnn1 = Conv1D(64, 10, activation='relu')(other_input)
cnn2 = Conv1D(48, 10, activation='relu')(cnn1)

cnn1引发以下异常。

ValueError                                Traceback (most recent call last)
<ipython-input-75-b56fed436e94> in <module>()
----> 1 cnn1 = Conv1D(64, 10, activation='relu')(other_input)
      2 cnn2 = Conv1D(48, 10, activation='relu')(cnn1)

1 frames
/usr/local/lib/python3.6/dist-packages/keras/engine/base_layer.py in assert_input_compatibility(self, inputs)
    309                                      self.name + ': expected ndim=' +
    310                                      str(spec.ndim) + ', found ndim=' +
--> 311                                      str(K.ndim(x)))
    312             if spec.max_ndim is not None:
    313                 ndim = K.ndim(x)

ValueError: Input 0 is incompatible with layer conv1d_19: expected ndim=3, found ndim=2

other_input的输入形状是

"tf.Tensor 'concatenate_4/concat:0' shape=(?, 500) dtype=float32"

我已经将input_shape参数添加为(None,500,1)到cnn1,但这没有帮助。 知道我在这里做什么错了。

0 个答案:

没有答案