class_docstr: Object for storing a collection of saver objects. It takes care of ensuring uniqueness of saver paths
  and merging savers if they have the same path. For example, if a saver handles saving a generic key/value
  file for all networks in a single file, it can use a more generic path and all savers of all networks would be
  merged into a single saver that saves/restores parameters for all networks.
  NOTE: If two savers have the same path, the respective saver class must support merging them
  into a single saver that saves/restores all merged parameters.
docstr: Add a new saver to the collection. If saver.path is already in the collection, merge
  the new saver with the existing saver.
  :param saver: new saver to be added to collection
docstr_tok: ["Add","a","new","saver","to","the","collection",".","If","saver.path","is","already","in","the","collection",",","merge","the","new","saver","with","the","existing","saver",".",":","param","saver",":","new","saver","to","be","added","to","collection"]
code: def add(self, saver: Saver):
      """
      Add a new saver to the collection. If saver.path is already in the collection, merge
      the new saver with the existing saver.
      :param saver: new saver to be added to collection
      """
      if saver.path in self._saver_dict:
          self._saver_dict[saver.path].merge(saver)
      else:
          self._saver_dict[saver.path] = saver
  
file_path: coach/rl_coach/saver.py
imports: from typing import Any, Dict, List
label_desc: Use image node_id 2 for calling the SaverCollection obj's underlying member method code with example usage: obj.add(saver) without return types