pub fn dropout(x: &Tensor, p: f32, seed: u32) -> Result<Tensor>
Inverted dropout with a deterministic counter RNG (identical masks on both backends). Apply the same (p, seed) to dy for the backward pass.