Ah, sorry, I misunderstood.
I’d probably do something like
  w_raw = nn.Parameter(9, 10)

in __init__ and then in forward:
  w = torch.cat([w_raw[:1], w_raw], 0)

Here is a little demo for what this does:
w_raw = torch.randn(9, 10, requires_grad=True)
w = torch.cat([w_raw[:1], w_raw], 0)
w.retain_grad()
og = torch.randn(10, 10)
w.backward(og)
print (w.grad, w_raw.grad)

You see that w_raw.grad[0] is the sum of the first two rows in w.grad.
If you really need the average rather than the sum, you could multiply the grad with 0.5 before processing it further (or use a backward hook), but I’d mostly expect the sum to work for you in most use cases…
Best regards
Thomas