Another idea for Dropout would be to add a dims argument to nn.Dropout. Legal values would be None meaning drop individual elements, or a tuple of dimensions meaning do dropout along those dimensions.
Then we would have …
Dropout2d == Dropout(dims=(0, 1))