Thanks for the reply! From the experiment you ran it looks like the main and sub-models are using the same parameters correct (i.e. the output is essentially coming from different points in the global_feature_extractor pipeline, which was the goal)? Can you elaborate on the potential gradient accumulation issue? I’m running a similar experiment where I check the mean gradient with respect to each feature extractor component of the main model after each epoch, and I’m seeing consistent values. More importantly, is there a better way in Pytorch to achieve the desired network architecture?