Keras DQN Model with Multiple Inputs and Multiple Outputs
Firstly, concatenate only works on identical output shape of the axis. Otherwise, the function will not work.
Now, your function output size is (None, 32, 50) and (None, 600, 1). Here, '32' and '600' must be same when you want to concatenate.
I would like to suggest some advice based on your problem. You can flatten both of them first and then concatenate. Because you need to flatten feature to use dense layer later.
def create_mlp(self, arr, regress=False): 
        # define MLP network
        print(&quot;Array&quot;, arr)
        model = Sequential()
        model.add(Dense(env.rows * env.cols, input_shape=(len(arr)//2, len(arr)), activation=&quot;relu&quot;))
        model.add(Dense((env.rows * env.cols)//2, activation=&quot;relu&quot;))
        **model.add.flatten() ### shape = (None, 1600)**
        # check to see if the regression node should be added
        if regress:
            model.add(Dense(1, activation=&quot;linear&quot;))
        # return our model
        return model

And just remove the reshape layer in create_cnn function.
(output shape should be = (None, 600)).
then concatenate two model
combinedInput = concatenate([mlp.output, cnn.output])  ## output shape =(None, 2200)
Later you can just use Dense layer as your code. I don't know how can you used dense (next to concatenate layer) without flatten the feature in create_mlp function.
Your code should work this way.
You can read this simple one for better understanding.