class_docstr: Model loader is responsible for loading shared model types.
  
  Attributes:
    construct_fn: A callable which creates the model instance. The callable
      should take no args as input (typically a closure is used to capture
      necessary parameters).
    tags: Optional model tags (e.g. 'serve' for serving or 'eval' for
      EvalSavedModel).
class_docstr_tok: ["Model","loader","is","responsible","for","loading","shared","model","types",".","Attributes",":","construct_fn",":","A","callable","which","creates","the","model","instance",".","The","callable","should","take","no","args","as","input","(","typically","a","closure","is","used","to","capture","necessary","parameters",")",".","tags",":","Optional","model","tags","(","e.g",".","'serve","'","for","serving","or","'eval","'","for","EvalSavedModel",")","."]
code: def __init__(
      self,
      construct_fn: Callable[[], Any],
      tags: Optional[List[str]] = None,
  ):
      self.construct_fn = construct_fn
      self.tags = tags
      self._shared_handle = shared.Shared()
  
imports: import abc
  import datetime
  import operator
  from typing import Any, Callable, Dict, Iterable, List, MutableMapping, NamedTuple, Optional, TypeVar, Tuple, Union
  from apache_beam.utils import shared
  import numpy
  import six
  import tensorflow
  from tensorflow_model_analysis.proto import metrics_for_slice_pb2
label_desc: Use image node_id 1 to create a new ModelLoader object  with example: obj = ModelLoader(construct_fn, tags)