class_docstr: Class that analyzes a graph to determine readiness of tensors.
docstr: Gets the analyzed path from the tensor to its root(s).
  
  This path is defined recursively as:
    Path(root) := translate_path_fn(root)
    Path(x)    := translate_path_fn(
                          x,
                          [translate_path_fn(p) for p in parents(x)])
  
  When root is defined as a tensor that has no parents.
  
  Args:
    tensor: A `Tensor` for which a path should be computed.
  
  Returns:
    The result of translate_path_fn on the computed path as described above.
  
  Raises:
    TypeError: if the given tensor is not of type `Tensor`
    _UnexpectedTableError: If an initializable table op is encountered.
    _UnexpectedPlaceholderError: If a placeholder is encountered.
docstr_tok: ["Gets","the","analyzed","path","from","the","tensor","to","its","root","(","s",")",".","This","path","is","defined","recursively","as",":","Path","(","root",")",":","=","translate_path_fn","(","root",")","Path","(","x",")",":","=","translate_path_fn","(","x",",","[","translate_path_fn","(","p",")","for","p","in","parents","(","x",")","]",")","When","root","is","defined","as","a","tensor","that","has","no","parents",".","Args",":","tensor",":","A","`","Tensor","`","for","which","a","path","should","be","computed",".","Returns",":","The","result","of","translate_path_fn","on","the","computed","path","as","described","above",".","Raises",":","TypeError",":","if","the","given","tensor","is","not","of","type","`","Tensor","`","_UnexpectedTableError",":","If","an","initializable","table","op","is","encountered",".","_UnexpectedPlaceholderError",":","If","a","placeholder","is","encountered","."]
code: def get_unique_path(self, tensor):
      """Gets the analyzed path from the tensor to its root(s).
  
      This path is defined recursively as:
        Path(root) := translate_path_fn(root)
        Path(x)    := translate_path_fn(
                              x,
                              [translate_path_fn(p) for p in parents(x)])
  
      When root is defined as a tensor that has no parents.
  
      Args:
        tensor: A `Tensor` for which a path should be computed.
  
      Returns:
        The result of translate_path_fn on the computed path as described above.
  
      Raises:
        TypeError: if the given tensor is not of type `Tensor`
        _UnexpectedTableError: If an initializable table op is encountered.
        _UnexpectedPlaceholderError: If a placeholder is encountered.
      """
      if not isinstance(tensor, tf.Tensor):
          raise TypeError(
              "Expected Tensor got {} of type {}".format(
                  tensor, type(tensor)
              )
          )
      return self.analyze_tensor(tensor).path
  
imports: import collections
  import copy
  import hashlib
  import itertools
  from typing import Iterable, List, Mapping, Optional, Set, Union
  import uuid
  from absl import logging
  import tensorflow
  from tensorflow_transform import analyzer_nodes
  from tensorflow_transform import common_types
  from tensorflow_transform import nodes
  from tensorflow_transform import tf_utils
  from tfx_bsl.types import tfx_namedtuple
  from tensorflow.python.framework import composite_tensor
  from tensorflow.python.framework import func_graph
  from tensorflow.python.framework import function_def_to_graph
  from tensorflow.python.util import object_identity
label_desc: Use image node_id 7 for calling the _GraphAnalyzer obj's underlying member method code with example usage: obj.get_unique_path(tensor) and returns: self