KERAS Implementation of a Nalu Layer
keras-nalu的Python项目详细描述
Keras Nalu(神经算术逻辑单元)
nalu层(神经算术逻辑单元)的keras实现。 见:https://arxiv.org/pdf/1808.00508.pdf。
安装
pip install keras-nalu
用法
fromkeras.layersimportInputfromkeras.modelsimportModelfromkeras.optimizersimportRMSpropfromkeras_nalu.naluimportNALU# Your datasetX_test=...# Interpolation dataY_test=...# Interpolation dataX_validation=...# Extrapolation data (validation)Y_validation=...# Extrapolation data (validation)X_test=...# Extrapolation data (test)Y_test=...# Extrapolation data (test)# Hyper parametersepoch_count=1000learning_rate=0.05sequence_len=100inputs=Input(shape=(sequence_len,))hidden=NALU(units=2)(inputs)hidden=NALU(units=2)(hidden)outputs=NALU(units=1)(hidden)model=Model(inputs=inputs,outputs=outputs)model.summary()model.compile(loss='mse',optimizer=RMSprop(lr=learning_rate))model.fit(batch_size=256,epochs=epoch_count,validation_data=(X_validation,Y_validation),x=X_train,y=Y_train,)extrapolation_loss=model.evaluate(batch_size=256,x=X_test,y=Y_test,)
选项
细胞
要在NAlu层中使用的单元格。可以是“a”(加减)、“m”(乘/除/幂)或无,这将应用选通函数在“a”或“m”之间切换。
- 默认值:
None
- 类型:
?('a' | 'm' | None)
e
epsilon值添加到输入中,以防止计算零的对数。
- 默认值:
1e-7
- 类型:
?float