class_docstr: A table that can store Episodes of variable length.
class_docstr_tok: ["A","table","that","can","store","Episodes","of","variable","length","."]
docstr: Returns ops for appending multiple time values at the given row.
  
  Args:
    row: A scalar location at which to append values.
    values: A nest of Tensors to append.  The outermost dimension of each
      tensor is treated as a time axis, and these must all be equal.
  
  Returns:
    Ops for appending values at the given row.
docstr_tok: ["Returns","ops","for","appending","multiple","time","values","at","the","given","row",".","Args",":","row",":","A","scalar","location","at","which","to","append","values",".","values",":","A","nest","of","Tensors","to","append",".","The","outermost","dimension","of","each","tensor","is","treated","as","a","time","axis",",","and","these","must","all","be","equal",".","Returns",":","Ops","for","appending","values","at","the","given","row","."]
code: def append(self, row, values):
      """Returns ops for appending multiple time values at the given row.
  
      Args:
        row: A scalar location at which to append values.
        values: A nest of Tensors to append.  The outermost dimension of each
          tensor is treated as a time axis, and these must all be equal.
  
      Returns:
        Ops for appending values at the given row.
      """
      row = tf.convert_to_tensor(value=row, dtype=tf.int64)
      flattened_values = tf.nest.flatten(values)
      append_ops = []
      for spec, slot, value in zip(
          self._flattened_specs, self._flattened_slots, flattened_values
      ):
          var_slot = self._slot2variable_map[slot].lookup(row)
          value_as_tl = list_ops.tensor_list_from_tensor(
              value,
              element_shape=tf.cast(
                  spec.shape.as_list(), dtype=tf.int64
              ),
          )
          new_value = list_ops.tensor_list_concat_lists(
              var_slot, value_as_tl, element_dtype=spec.dtype
          )
          append_ops.append(
              self._slot2variable_map[slot].insert_or_assign(
                  row, new_value
              )
          )
      return tf.group(*append_ops)
  
file_path: agents/tf_agents/replay_buffers/episodic_table.py
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import tensorflow
  from tf_agents.utils import nest_utils
  from tensorflow.python.ops import list_ops
label_desc: Use image node_id 7 for calling the EpisodicTable obj's underlying member method code with example usage: obj.append(row, values) and returns: tf