You can use copy_ under no_grad mode -
model = torch.nn.Linear(10, 10)

def f(t):
  return t * t

params = [f(p) for p in model.parameters()]

with torch.no_grad():
  params = [p.copy_(q) for (p, q) in zip(model.parameters(), params)]