class_docstr: A densely connected layer that uses tf.einsum as the backing computation.
  
  This layer can perform einsum calculations of arbitrary dimensionality.
  
  Attributes:
    output_shape: Positive integer or tuple, dimensionality of the output space.
    num_summed_dimensions: The number of dimensions to sum over. Standard 2D
      matmul should use 1, 3D matmul should use 2, and so forth.
    activation: Activation function to use. If you don't specify anything, no
      activation is applied
      (ie. "linear" activation: `a(x) = x`).
    use_bias: Boolean, whether the layer uses a bias vector.
    kernel_initializer: Initializer for the `kernel` weights matrix.
    bias_initializer: Initializer for the bias vector.
    kernel_regularizer: Regularizer function applied to the `kernel` weights
      matrix.
    bias_regularizer: Regularizer function applied to the bias vector.
    activity_regularizer: Regularizer function applied to the output of the
      layer (its "activation")..
    kernel_constraint: Constraint function applied to the `kernel` weights
      matrix.
    bias_constraint: Constraint function applied to the bias vector.
  Input shape:
    N-D tensor with shape: `(batch_size, ..., input_dim)`. The most common
      situation would be a 2D input with shape `(batch_size, input_dim)`.
  Output shape:
    N-D tensor with shape: `(batch_size, ..., units)`. For instance, for a 2D
      input with shape `(batch_size, input_dim)`, the output would have shape
      `(batch_size, units)`.
code: def __init__(
      self,
      output_shape,
      num_summed_dimensions=1,
      activation=None,
      use_bias=True,
      kernel_initializer="glorot_uniform",
      bias_initializer="zeros",
      kernel_regularizer=None,
      bias_regularizer=None,
      activity_regularizer=None,
      kernel_constraint=None,
      bias_constraint=None,
      **kwargs,
  ):
      super(DenseEinsum, self).__init__(**kwargs)
      self._output_shape = (
          output_shape
          if isinstance(output_shape, (list, tuple))
          else (output_shape,)
      )
      self._activation = tf.keras.activations.get(activation)
      self._use_bias = use_bias
      self._kernel_initializer = tf.keras.initializers.get(
          kernel_initializer
      )
      self._bias_initializer = tf.keras.initializers.get(
          bias_initializer
      )
      self._kernel_regularizer = tf.keras.regularizers.get(
          kernel_regularizer
      )
      self._bias_regularizer = tf.keras.regularizers.get(
          bias_regularizer
      )
      self._kernel_constraint = tf.keras.constraints.get(
          kernel_constraint
      )
      self._bias_constraint = tf.keras.constraints.get(bias_constraint)
      self._num_summed_dimensions = num_summed_dimensions
      self._einsum_string = None
  
file_path: autodist/examples/benchmark/utils/modeling/layers/dense_einsum.py
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import tensorflow
label_desc: Use image node_id 1 to create a new DenseEinsum object from inherited base classes: tf.keras.layers with example: obj = DenseEinsum(output_shape, num_summed_dimensions, activation, use_bias, kernel_initializer, bias_initializer, kernel_regularizer, bias_regularizer, activity_regularizer, kernel_constraint, bias_constraint)