Not sure, if taking a mean in the nicest solution.
But, I just want to write a function that does this, so here you go,
If I understood your question correctly.
def mean_models(paths):
  the_net  = model()
  the_sd = {}
  for path in paths:
    net = model()
    net.load_state_dict(torch.load(path, map_location='cpu'))
    some_sd = net.state_dict()
    for k in some_sd.keys():
      if k in the_sd:
        the_sd[k] += some_sd[k]
      else:
        the_sd[k] = some_sd[k]
  
  for k in the_sd.keys(): the_sd[k] /= len(paths)
  the_net.state_dict().update(the_sd)
  return the_net

Haven’t run this, so just fix the bugs here and there, but the logic works.