我想在LSTM之前使用掩码,但是Lstm的输出必须重塑为4 dim . 所以我的代码`

main_input = Input(shape=(96,1000), name='main_input')

pre_input = BatchNormalization()(main_input)

aaa= Masking(mask_value=0)(pre_input)

recurrent1 = LSTM(256,return_sequences=True)(aaa)

r_out= Reshape((1,96,256))(recurrent1)`

但它运行时出错[![在此处输入图像描述] [1]] [1]

---------------------------------------------------------------------------

()中的异常回溯(最近的最后一次调用)17 recurrent1 = LSTM(256,return_sequences = True)(aaa)18 ---> 19 r_out =重塑((1,96,256))(recurrent1)

/usr/local/lib/python2.7/dist-packages/keras/engine/topology.pyc in call (self,x,mask)512 if inbound_layers:513#如果需要,这将调用layer.build() - > 514 self.add_inbound_node(inbound_layers,node_indices,tensor_indices)515 input_added = True 516

add_inbound_node中的/usr/local/lib/python2.7/dist-packages/keras/engine/topology.pyc(self,inbound_layers,node_indices,tensor_indices)570#创建节点会自动更新self.inbound_nodes 571#以及outbound_nodes on入站图层 . - > 572 Node.create_node(self,inbound_layers,node_indices,tensor_indices)573 574 def get_output_shape_for(self,input_shape):

/usr/local/lib/python2.7/dist-packages/keras/engine/topology.pyc in create_node(cls,outbound_layer,inbound_layers,node_indices,tensor_indices)148 if len(input_tensors)== 1:149 output_tensors = to_list( outbound_layer.call(input_tensors [0],mask = input_masks [0])) - > 150 output_masks = to_list(outbound_layer.compute_mask(input_tensors [0],input_masks [0]))151#TODO:尝试自动推断形状如果get_output_shape_for引发异常152 output_shapes = to_list(outbound_layer.get_output_shape_for(input_shapes [0]))

compute_mask中的/usr/local/lib/python2.7/dist-packages/keras/engine/topology.pyc(self,input,input_mask)605否则:606引发异常('Layer'self.name'不支持屏蔽, ' - > 607'但传递了一个input_mask:'str(input_mask))608 #mask not not supported supported:return None as mask 609 return None

例外:图层reshape_1不支持屏蔽,但传递了input_mask:任意{2} .0

我打印出来,recurrent1的形状是(96,256)

我怎么能做对的?