Im trying to create a 2 branch CNN for image classification.my images are stored in test validation training sets as numpy arrays and this is my co
def getBranch(input_layer, n_filters, dropOut, suffix):
    n_feature_maps = 128
    dropOut = 0.2
    
    conv_x = tfk.layers.Conv1D(filters=n_feature_maps, kernel_size=5, padding='same', name="conv1_"+suffix, activation="relu")(input_layer)
    conv_x = tfk.layers.BatchNormalization(name="bn1_"+suffix)(conv_x)
    conv_x = tfk.layers.Dropout(dropOut, name="dropOut1_"+suffix)(conv_x)

    conv_x = tfk.layers.Conv1D(filters=n_feature_maps, kernel_size=3, padding='same', name="conv2_"+suffix, activation="relu")(conv_x)
    conv_x = tfk.layers.BatchNormalization(name="bn2_"+suffix)(conv_x)
    conv_x = tfk.layers.Dropout(dropOut, name="dropOut2_"+suffix)(conv_x)

    conv_x = tfk.layers.Conv1D(filters=n_feature_maps*2, kernel_size=3, padding='same', name="conv3_"+suffix, activation="relu")(conv_x)
    conv_x = tfk.layers.BatchNormalization(name="bn3_"+suffix)(conv_x)
    conv_x = tfk.layers.Dropout(dropOut,name="dropOut3_"+suffix)(conv_x)

    conv_x = tfk.layers.Conv1D(filters=n_feature_maps*2, kernel_size=1, padding='same', name="conv4_"+suffix, activation="relu")(conv_x)
    conv_x = tfk.layers.BatchNormalization(name="bn4_"+suffix)(conv_x)
    conv_x = tfk.layers.Dropout(dropOut,name="dropOut4_"+suffix)(conv_x)

    return conv_x


def build_model(input_shape1, input_shape2, nb_classes):
    n_feature_maps = 128
    dropOut = 0.2

    input_layer1 = tfk.layers.Input(name="input1", shape=(input_shape1))
    input_layer2 = tfk.layers.Input(name="input2", shape=(input_shape1))

    features1 = getBranch(input_layer1, n_feature_maps, dropOut, "input1")
    features2 = getBranch(input_layer2, n_feature_maps, dropOut, "input2")

    
    features = tfk.layers.Concatenate(name="concat_layer")([features1, features2])
    dense_layer = tfk.layers.Dense(512, activation='sigmoid')(features)
    dense_layer = tfk.layers.Dense(512, activation='sigmoid')(dense_layer)
    output_layer = tfk.layers.Dense(nb_classes, activation='softmax')(dense_layer)

    model = tfk.models.Model(inputs=[input_layer1, input_layer2], outputs=output_layer)
    #the model compile can be done outside this method or inside, as you prefer
    model.compile(loss='sparse_categorical_crossentropy', optimizer=tfk.optimizers.Adam(), metrics=['accuracy'])

    return model

if __name__=="__main__":
    model= build_model((8, 4), (8, 4), 7)

The output of the summury is
concat_layer (Concatenate)      (None, 8, 512)       0           dropOut4_input1[0][0]            
                                                                 dropOut4_input2[0][0]            
__________________________________________________________________________________________________
dense_15 (Dense)                (None, 8, 512)       262656      concat_layer[0][0]               
__________________________________________________________________________________________________
dense_16 (Dense)                (None, 8, 512)       262656      dense_15[0][0]                   
__________________________________________________________________________________________________
dense_17 (Dense)                (None, 8, 7)         3591        dense_16[0][0] 

when fiting the model with that…it crashes in the second iteration
y_train1 = to_categorical(y_train,8)
y_test1 = to_categorical(y_test, 8)
y_valid1 = to_categorical(y_valid, 8)

x_train.shape,y_train1.shape,x_test.shape,y_test1.shape,x_valid.shape,y_valid1.shape,

((356722, 8, 4),
 (356722, 8),
 (290726, 8, 4),
 (290726, 8),
 (167419, 8, 4),
 (167419, 8))

this error appears

Epoch 1/50 5574/5574 [==============================] - ETA: 0s - loss: 0.1205 - accuracy: 0.9533
AssertionError AssertionError: Could not compute output Tensor(“dense_8/truediv:0”, shape=(None, 8, 7),dtype=float32)