class_docstr: Same as :class:`SaverRestore`, but has more relaxed constraints.
  
  It allows upcasting certain variables, or reshape certain
  variables when there is a mismatch that can be fixed.
  
  When variable shape and value shape do not match, it will print a
  warning but will not crash.
  
  Another advantage is that it doesn't add any new ops to the graph.
class_docstr_tok: ["Same","as",":","class",":","`","SaverRestore","`",",","but","has","more","relaxed","constraints",".","It","allows","upcasting","certain","variables",",","or","reshape","certain","variables","when","there","is","a","mismatch","that","can","be","fixed",".","When","variable","shape","and","value","shape","do","not","match",",","it","will","print","a","warning","but","will","not","crash",".","Another","advantage","is","that","it","does","n't","add","any","new","ops","to","the","graph","."]
code: def _run_init(self, sess):
      logger.info("Restoring checkpoint from {} ...".format(self.path))
  
      matched_pairs = []
  
      def f(reader, name, v):
          val = reader.get_tensor(name)
          val = SessionUpdate.relaxed_value_for_var(
              val, v, ignore_mismatch=True
          )
          if val is not None:
              matched_pairs.append((v, val))
  
      with sess.as_default():
          self._match_vars(f)
          upd = SessionUpdate(sess, [x[0] for x in matched_pairs])
          upd.update({x[0].name: x[1] for x in matched_pairs})
  
imports: import os
  import numpy
  import six
  from ..compat import tfv1
  from ..utils import logger
  from .common import get_op_tensor_name
  from .varmanip import SessionUpdate, get_checkpoint_path, get_savename_from_varname, is_training_name
label_desc: Use image node_id 2 for calling the SaverRestoreRelaxed obj's underlying member method code with example usage: obj._run_init(sess) without return types