I mean readers-writers lock. So for for disallowing reads I have to lock something when read start.
Its optimal to do it just when we are about to read the parameter during the backward pass
(so I mentioned this “pre-backward-hook”)
locking at the begging of autograd.backward is the easy solution, but its wasteful right.
can split the backward to 2 calls if the model is sequential, is that what you meant by “easy to enforce”?
I actually thought on overriding  toch.nn.Parameter class with composition, and automate it somehow (e.g with with setatter/getattr, or maybe there is more elegant pythonic solution in stackoverflow  ) .