class_docstr: A class that supports simple attribute setter/getter.
  It is intended for storing metadata of a dataset and make it accessible globally.
  
  Examples:
  ::
      # somewhere when you load the data:
      MetadataCatalog.get("mydataset").thing_classes = ["person", "dog"]
  
      # somewhere when you print statistics or visualize:
      classes = MetadataCatalog.get("mydataset").thing_classes
class_docstr_tok: ["A","class","that","supports","simple","attribute","setter\/getter",".","It","is","intended","for","storing","metadata","of","a","dataset","and","make","it","accessible","globally",".","Examples",":",":",":","#","somewhere","when","you","load","the","data",":","MetadataCatalog.get","(","``","mydataset","''",")",".thing_classes","=","[","``","person","''",",","``","dog","''","]","#","somewhere","when","you","print","statistics","or","visualize",":","classes","=","MetadataCatalog.get","(","``","mydataset","''",")",".thing_classes"]
docstr: Set multiple metadata with kwargs.
docstr_tok: ["Set","multiple","metadata","with","kwargs","."]
code: def set(self, **kwargs):
      """
      Set multiple metadata with kwargs.
      """
      for k, v in kwargs.items():
          setattr(self, k, v)
      return self
  
imports: import copy
  import logging
  import types
  from collections import UserDict
  from typing import List
  from detectron2.utils.logger import log_first_n
label_desc: Use image node_id 4 for calling the Metadata obj's underlying member method code with example usage: obj.set() and returns: self