Could you explain the other approach a bit more?
Before your current architecture you trained each cluster separately, such that you got 10 different models or 10 different outputs?
Was the previous architecture comparable to a “one-vs-all” approach?
The creation of final shouldn’t be an issue. Otherwise Autograd will throw an error.