如何确定MDLSTM的扫描方向?

2024-06-09 07:25:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在努力理解MDLSTM的手写识别。我已经看过了"Offline Handwriting Recognition with Multidimensional Recurrent Neural Networks"把图像传给4LSTM layers的论文。每个LSTM层在四个不同方向(即左、右、上、下)扫描图像。我试过下面的代码在keras中实现,但是我不确定如何在LSTM中实现扫描部分。给我一些想法/参考代码,有助于理解整个过程。在

left = Sequential()
left.add(LSTM(output_dim=hidden_units, init='uniform', inner_init='uniform',
              forget_bias_init='one', return_sequences=True, activation='tanh',
              inner_activation='sigmoid', input_shape=(99, 13)))
right = Sequential()
right.add(LSTM(output_dim=hidden_units, init='uniform', inner_init='uniform',
              forget_bias_init='one', return_sequences=True, activation='tanh',
              inner_activation='sigmoid', input_shape=(99, 13), go_backwards=True))
top = Sequential()
top.add(LSTM(output_dim=hidden_units, init='uniform', inner_init='uniform',
              forget_bias_init='one', return_sequences=True, activation='tanh',
              inner_activation='sigmoid', input_shape=(99, 13)))
bottom = Sequential()
bottom.add(LSTM(output_dim=hidden_units, init='uniform', inner_init='uniform',
              forget_bias_init='one', return_sequences=True, activation='tanh',
              inner_activation='sigmoid', input_shape=(99, 13)))

model = Sequential()
model.add(Merge([left, right,top,bottom], mode='sum'))

Tags: addtrueoutputinituniformactivationonehidden