Let’s say we have trained a model `m1`

```
m1 = Chain(Dense(10, 10, relu), Dense(10,2), softmax)
```

and we have then substituted `Dense(10,2)`

with `Dense(10,4)`

and trained the latter layer only, getting a model `m2`

```
m2 = Chain(Dense(10, 10, relu), Dense(10,4), softmax)
```

such that `m1[1] == m2[1]`

.

Let’s say that we want now to combine them in a model `m3`

```
m3 = Chain(Dense(10, 10, relu), Dense(10,6), softmax)
```

where `Dense(10,6)`

is the *union* of the output neurons of `Dense(10,4)`

of `m2`

and `Dense(10,2)`

of `m1`

, with their respective input weights from their shared 10-neurons input layer.

What is the best way to construct `m3`

?