class_docstr: Abstract densely-connected class (private, used as implementation base).
  
  This layer implements the Bayesian variational inference analogue to
  a dense layer by assuming the `kernel` and/or the `bias` are drawn
  from distributions. By default, the layer implements a stochastic
  forward pass via sampling from the kernel and bias posteriors,
  
  ```none
  kernel, bias ~ posterior
  outputs = activation(matmul(inputs, kernel) + bias)
  ```
  
  The arguments permit separate specification of the surrogate posterior
  (`q(W|x)`), prior (`p(W)`), and divergence for both the `kernel` and `bias`
  distributions.
code: def call(self, inputs):
      inputs = tf.convert_to_tensor(value=inputs, dtype=self.dtype)
  
      outputs = self._apply_variational_kernel(inputs)
      outputs = self._apply_variational_bias(outputs)
      if self.activation is not None:
          outputs = self.activation(
              outputs
          )  # pylint: disable=not-callable
      self._apply_divergence(
          self.kernel_divergence_fn,
          self.kernel_posterior,
          self.kernel_prior,
          self.kernel_posterior_tensor,
          name="divergence_kernel",
      )
      self._apply_divergence(
          self.bias_divergence_fn,
          self.bias_posterior,
          self.bias_prior,
          self.bias_posterior_tensor,
          name="divergence_bias",
      )
      return outputs
  
imports: import tensorflow.compat.v2
  from tensorflow_probability.python import random
  from tensorflow_probability.python.distributions import independent
  from tensorflow_probability.python.distributions import kullback_leibler
  from tensorflow_probability.python.distributions import normal
  from tensorflow_probability.python.internal import docstring_util
  from tensorflow_probability.python.internal import tf_keras
  from tensorflow_probability.python.layers import util
  from tensorflow_probability.python.util import SeedStream
label_desc: Use image node_id 3 for calling the _DenseVariational obj's underlying member method code with example usage: obj.call(inputs) and returns: outputs