class_docstr: Affine layer.
  
  This represents a linear map: `y = weights @ x + bias`.
  
  Attributes:
    weights: A floating point Tensor with shape `[out_units, in_units]`.
    bias: A floating point Tensor with shape `[out_units]`.
class_docstr_tok: ["Affine","layer",".","This","represents","a","linear","map",":","`","y","=","weights","@","x","+","bias","`",".","Attributes",":","weights",":","A","floating","point","Tensor","with","shape","`","[","out_units",",","in_units","]","`",".","bias",":","A","floating","point","Tensor","with","shape","`","[","out_units","]","`","."]
docstr: Applies the layer to an input.
  
  Args:
    x: A floating point Tensor with shape [in_units].
  
  Returns:
    y: A floating point Tensor with shape [out_units].
docstr_tok: ["Applies","the","layer","to","an","input",".","Args",":","x",":","A","floating","point","Tensor","with","shape","[","in_units","]",".","Returns",":","y",":","A","floating","point","Tensor","with","shape","[","out_units","]","."]
code: def __call__(self, x):
      """Applies the layer to an input.
  
      Args:
        x: A floating point Tensor with shape [in_units].
  
      Returns:
        y: A floating point Tensor with shape [out_units].
      """
      x = tf.convert_to_tensor(x, dtype=self.weights.dtype)
      return tf.einsum("...oi,...i->...o", self.weights, x) + self.bias
  
imports: import collections
  import functools
  import tensorflow.compat.v2
  from tensorflow_probability.python.distributions import deterministic
  from tensorflow_probability.python.distributions import joint_distribution_coroutine
  from tensorflow_probability.python.distributions import normal
  from tensorflow_probability.python.distributions import sample
  from tensorflow_probability.python.internal import vectorization_util
label_desc: Use image node_id 1 for calling the AffineLayer obj's underlying member method code with example usage: obj.__call__(x) and returns: unknown