How do I provide input and output for such a network structure in keras
You can pass in a list to the input parameter when you create the model.

model = Model(input=[conv2d_1_1, conv2d_1_2, conv2d_1_3, conv2d_1_4], output=dense3)


Make the input x a list of four numpy arrays of shape (3,6,3)

Make the output y an array of one-hot vectors corresponding to your 145 classes.

Then call

model.fit(x, y)


You probably want to change your last layer to have 143 dimensions in the output

num_classes =143
Dense(num_classes, activation='softmax', activation = 'softmax')