Three-input models

Advanced Deep Learning with Keras

Zach Deane Mayer

Data Scientist

Simple model with 3 inputs

from tensorflow.keras.layers import Input, Concatenate, Dense
in_tensor_1 = Input(shape=(1,))
in_tensor_2 = Input(shape=(1,))
in_tensor_3 = Input(shape=(1,))
out_tensor = Concatenate()([in_tensor_1, in_tensor_2, in_tensor_3])
output_tensor = Dense(1)(out_tensor)

Advanced Deep Learning with Keras

Simple model with 3 inputs

from tensorflow.keras.models import Model
model = Model([in_tensor_1, in_tensor_2, in_tensor_3], out_tensor)

Advanced Deep Learning with Keras

Shared layers with 3 inputs

shared_layer = Dense(1)
shared_tensor_1 = shared_layer(in_tensor_1)
shared_tensor_2 = shared_layer(in_tensor_1)
out_tensor = Concatenate()([shared_tensor_1, shared_tensor_2, in_tensor_3])
out_tensor = Dense(1)(out_tensor)
Advanced Deep Learning with Keras

Shared layers with 3 inputs

from tensorflow.keras.models import Model
model = Model([in_tensor_1, in_tensor_2, in_tensor_3], out_tensor)

Advanced Deep Learning with Keras

Fitting a 3 input model

from tensorflow.keras.models import Model
model = Model([in_tensor_1, in_tensor_2, in_tensor_3], out_tensor)
model.compile(loss='mae', optimizer='adam')
model.fit([[train['col1'], train['col2'], train['col3']],
          train_data['target'])
model.evaluate([[test['col1'], test['col2'], test['col3']],
               test['target'])
Advanced Deep Learning with Keras

Let's practice

Advanced Deep Learning with Keras

Preparing Video For Download...