这是这段代码的错误,当我尝试在 CNN 之后添加 biLSTM 时发生了这种情况,我在网上搜索了很长时间。但是没有用。请帮助或尝试提供一些想法如何使这些正确 thx~
这似乎是输入错误,lstm 需要 3 个维度,但我只有 2 个,但我尝试通过以下方式提高维度 x = lambda x: K.expand_dims(x,axis=-1)
但它显示了另一个错误,即“层的所有输入都应该是张量” 所以我的想法不多了,请帮忙~~~~~~~~~~~~~~~
inputs1 = Input(shape=(200, 1))
x1 = inputs1
x1 = Conv1D(64, kernel_size=3, kernel_initializer="he_normal", kernel_regularizer=l2(l),bias_regularizer=l2(l))(x1)
x1 = BatchNormalization()(x1)
x1 = Activation("relu")(x1)
x1 = MaxPooling1D(3, strides=2)(x1)
x1 = Flatten()(x1)
inputs2 = Input(shape=(9,))
x2 = inputs2
x = Concatenate()([x1, x2])
x = BatchNormalization()(x)
x = ReLU()(x)
x = lambda x :K.expand_dims(x , axis=-1)
x = Bidirectional(CuDNNLSTM(64, return_sequences=True, input_shape=(None, 1)))(x)
x = GlobalMaxPooling1D()(x)
错误如下:
回溯(最近一次调用最后一次):
文件“C:\Users\lenovo\AppData\Local\Programs\Python\Python37\lib\site-packages\keras\engine\base_layer.py”,第 310 行,在 assert_input_compatibility
K.is_keras_tensor(x)
文件“C:\Users\lenovo\AppData\Local\Programs\Python\Python37\lib\site-packages\keras\backend\tensorflow_backend.py”,第 697 行,在 is_keras_tensor
str(type(x)) + '. ' ValueError: Unexpectedly found an instance of type
在处理上述异常的过程中,又发生了一个异常:
回溯(最近一次调用最后一次):
文件“C:/Users/lenovo/Desktop/paper with codes/latest/Deep-Neural-Network-For-Heartbeat-Classification-master/main.py”,第 202 行,在
主要的()
文件“C:/Users/lenovo/Desktop/paper with codes/latest/Deep-Neural-Network-For-Heartbeat-Classification-master/main.py”,第 173 行,在 main
模型 = create_model(l=1e-3)
文件“C:/Users/lenovo/Desktop/paper with codes/latest/Deep-Neural-Network-For-Heartbeat-Classification-master/main.py”,第 105 行,在 create_model 中
x = 双向(CuDNNLSTM(64, return_sequences=True, input_shape=(None, 1)))(x)
文件“C:\Users\lenovo\AppData\Local\Programs\Python\Python37\lib\site-packages\keras\layers\wrappers.py”,第 437 行,调用
return super(Bidirectional, self).call(inputs, **kwargs)
文件“C:\Users\lenovo\AppData\Local\Programs\Python\Python37\lib\site-packages\keras\engine\base_layer.py”,第 446 行,调用
self.assert_input_compatibility(输入)
文件“C:\Users\lenovo\AppData\Local\Programs\Python\Python37\lib\site-packages\keras\engine\base_layer.py”,第 316 行,在 assert_input_compatibility
str(输入)+ '。层的所有输入'
ValueError:使用不是符号张量的输入调用了层 bidirectional_1。接收类型: