Remove boilerplate by enforcing subclasses in Bayesian neural net layers.
Remove boilerplate by enforcing subclasses in Bayesian neural net layers.

A previous commit removed boilerplate in several classes by making the layers be subclasses of another. I'm still not sure I like the tradeoff of adding complexity via a dependence hierarchy. For now, I'm doing it here to enforce consistency across all layers.

PiperOrigin-RevId: 257462496

tensorflow/tensor2tensor,tensorflow/tensor2tensor,tensorflow/tensor2tensor,tensorflow/tensor2tensor,tensorflow/tensor2tensor