LSTM上的无效实现
keras-ordered-neurons的Python项目详细描述
keras有序神经元lstm
非正式实施ON-LSTM。
安装
pip install keras-ordered-neurons
用法
基本
与LSTM
相同,只是应该给出一个额外的参数chunk_size
:
fromkeras.modelsimportSequentialfromkeras.layersimportEmbedding,Bidirectional,Densefromkeras_ordered_neuronsimportONLSTMmodel=Sequential()model.add(Embedding(input_shape=(None,),input_dim=10,output_dim=100))model.add(Bidirectional(ONLSTM(units=50,chunk_size=5)))model.add(Dense(units=2,activation='softmax'))model.compile(optimizer='adam',loss='sparse_categorical_crossentropy')model.summary()
dropconnect
将recurrent_dropconnect
设置为非零值以启用重复权重的drop connect:
fromkeras_ordered_neuronsimportONLSTMONLSTM(units=50,chunk_size=5,recurrent_dropconnect=0.2)
预期分割点
如果您想知道主遗忘门和主输入门的预期分割点,请将return_splits
设置为True
。
fromkeras.modelsimportModelfromkeras.layersimportInput,Embeddingfromkeras_ordered_neuronsimportONLSTMinputs=Input(shape=(None,))embed=Embedding(input_dim=10,output_dim=100)(inputs)outputs,splits=ONLSTM(units=50,chunk_size=5,return_sequences=True,return_splits=True)(embed)model=Model(inputs=inputs,outputs=splits)model.compile(optimizer='adam',loss='mse')model.summary(line_length=120)
tf.keras
如果使用tensorflow.python.keras
,请将TF_KERAS=1
添加到环境变量。