Standard Model
from keras.utils import plot_modelfrom keras.models import Modelfrom keras.layers import Inputfrom keras.layers import Densevisible = Input(shape=(10,))hidden1 = Dense(10, activation=‘relu‘)(visible)hidden2 = Dense(20, activation=‘relu‘)(hidden1)hidden3 = Dense(10, activation=‘relu‘)(hidden2)output = Dense(1, activation=‘sigmoid‘)(hidden3)model = Model(inputs=visible, outputs=output)print(model.summary())plot_model(model, to_file=‘multilayer_perceptron_graph.png‘)
- Layer-based sharing model
from keras.utils import plot_modelfrom keras.models import Modelfrom keras.layers import Inputfrom keras.layers import Densefrom keras.layers.recurrent import LSTMfrom keras.layers.merge import concatenatevisible = Input(shape=(100,1))extract1 = LSTM(10)(visible)interp1 = Dense(10, activation=‘relu‘)(extract1)interp11 = Dense(10, activation=‘relu‘)(extract1)interp12 = Dense(20, activation=‘relu‘)(interp11)interp13 = Dense(10, activation=‘relu‘)(interp12)merge = concatenate([interp1, interp13])output = Dense(1, activation=‘sigmoid‘)(merge)model = Model(inputs=visible, outputs=output)print(model.summary())plot_model(model, to_file=‘shared_feature_extractor.png‘)
- Multi-output model
from keras.utils import plot_modelfrom keras.models import Modelfrom keras.layers import Inputfrom keras.layers import Densefrom keras.layers.recurrent import LSTMfrom keras.layers.wrappers import TimeDistributed# input layervisible = Input(shape=(100,1))# feature extractionextract = LSTM(10, return_sequences=True)(visible)# classification outputclass11 = LSTM(10)(extract)class12 = Dense(10, activation=‘relu‘)(class11)output1 = Dense(1, activation=‘sigmoid‘)(class12)# sequence outputoutput2 = TimeDistributed(Dense(1, activation=‘linear‘))(extract)# outputmodel = Model(inputs=visible, outputs=[output1, output2])# summarize layersprint(model.summary())# plot graphplot_model(model, to_file=‘multiple_outputs.png‘)
Deep Learning Model Construction