class_docstr: SVDF cell implementation.
  
  All variables are created and reused.
docstr: Initializes SvdfCell.
  
  Arguments:
    num_units: int or long, the number of units in the layer.
    memory_size: int or long, the size of the memory (i.e. every new inference
      iteration we push a new memory entry, and remove the oldest one).
    rank: int or long, the rank of the SVD approximation.
    use_bias: bool, whether the layer uses a bias.
    activation: Callable, the activation function to use (use None for
      linear).
    feature_weights_initializer: (optional) Initializer function for the
      feature weight matrix.
    time_weights_initializer: (optional) Initializer function for the time
      weight matrix.
    bias_initializer: (optional) Initializer function for the bias.
    trainable: (optional) bool, whether variables created by this function
      should be added to the global list of trainable variables.
    name: (optional) String, the layer's name. It's used as default scope
      name, if none is provided when calling the cell.
    image_summary: (optional) bool, whether to log the filters (feature and
      time) as grayscale images.
docstr_tok: ["Initializes","SvdfCell",".","Arguments",":","num_units",":","int","or","long",",","the","number","of","units","in","the","layer",".","memory_size",":","int","or","long",",","the","size","of","the","memory","(","i.e",".","every","new","inference","iteration","we","push","a","new","memory","entry",",","and","remove","the","oldest","one",")",".","rank",":","int","or","long",",","the","rank","of","the","SVD","approximation",".","use_bias",":","bool",",","whether","the","layer","uses","a","bias",".","activation",":","Callable",",","the","activation","function","to","use","(","use","None","for","linear",")",".","feature_weights_initializer",":","(","optional",")","Initializer","function","for","the","feature","weight","matrix",".","time_weights_initializer",":","(","optional",")","Initializer","function","for","the","time","weight","matrix",".","bias_initializer",":","(","optional",")","Initializer","function","for","the","bias",".","trainable",":","(","optional",")","bool",",","whether","variables","created","by","this","function","should","be","added","to","the","global","list","of","trainable","variables",".","name",":","(","optional",")","String",",","the","layer","'s","name",".","It","'s","used","as","default","scope","name",",","if","none","is","provided","when","calling","the","cell",".","image_summary",":","(","optional",")","bool",",","whether","to","log","the","filters","(","feature","and","time",")","as","grayscale","images","."]
code: def __init__(
      self,
      num_units,
      memory_size=0,
      rank=0,
      use_bias=True,
      activation=None,
      feature_weights_initializer=None,
      time_weights_initializer=None,
      bias_initializer=tf.compat.v1.zeros_initializer(),
      trainable=True,
      name=None,
      image_summary=False,
  ):
      """Initializes SvdfCell.
  
      Arguments:
        num_units: int or long, the number of units in the layer.
        memory_size: int or long, the size of the memory (i.e. every new inference
          iteration we push a new memory entry, and remove the oldest one).
        rank: int or long, the rank of the SVD approximation.
        use_bias: bool, whether the layer uses a bias.
        activation: Callable, the activation function to use (use None for
          linear).
        feature_weights_initializer: (optional) Initializer function for the
          feature weight matrix.
        time_weights_initializer: (optional) Initializer function for the time
          weight matrix.
        bias_initializer: (optional) Initializer function for the bias.
        trainable: (optional) bool, whether variables created by this function
          should be added to the global list of trainable variables.
        name: (optional) String, the layer's name. It's used as default scope
          name, if none is provided when calling the cell.
        image_summary: (optional) bool, whether to log the filters (feature and
          time) as grayscale images.
      """
      self._name = name or type(self).__name__
      self._num_units = num_units
      self._memory_size = memory_size
      if self._memory_size <= 0:
          raise ValueError(
              "`SvdfCell:{}` should have a memory size greater than zero.".format(
                  self._name
              )
          )
      if rank <= 0:
          raise ValueError("rank must be > 0")
      self._rank = rank
      self._use_bias = use_bias
      self._activation = activation
      self._feature_weights_initializer = feature_weights_initializer
      self._time_weights_initializer = time_weights_initializer
      self._bias_initializer = bias_initializer
      self._trainable = trainable
      self._reuse_variables = False
      self._image_summary = image_summary
  
      self._state_size = num_units * (self._memory_size - 1) * rank
  
imports: import tensorflow.compat.v2
label_desc: Use image node_id 1 to create a new SvdfCell object from inherited base classes: tf.compat.v1.nn.rnn_cell with example: obj = SvdfCell(num_units, memory_size, rank, use_bias, activation, feature_weights_initializer, time_weights_initializer, bias_initializer, trainable, name, image_summary)