MCPcopy Create free account
hub / github.com/DeepRec-AI/DeepRec / evaluate

Method evaluate

tensorflow/python/debug/cli/evaluator.py:118–152  ·  view source on GitHub ↗

Parse an expression. Args: expression: the expression to be parsed. Returns: The result of the evaluation. Raises: ValueError: If the value of one or more of the debug tensors in the expression are not available.

(self, expression)

Source from the content-addressed store, hash-verified

116 self._cached_tensor_values = {}
117
118 def evaluate(self, expression):
119 """Parse an expression.
120
121 Args:
122 expression: the expression to be parsed.
123
124 Returns:
125 The result of the evaluation.
126
127 Raises:
128 ValueError: If the value of one or more of the debug tensors in the
129 expression are not available.
130 """
131 dump_tensors_iter = re.finditer(_DUMP_TENSOR_PATTERN, expression)
132 rewritten_expression = expression
133 for match in reversed(list(dump_tensors_iter)):
134 tensor_name = match.group(0)[1:-1].strip()
135 device_name, node_name, output_slot, debug_op, exec_index = (
136 _parse_debug_tensor_name(tensor_name))
137 if tensor_name not in self._cached_tensor_values:
138 try:
139 value = self._dump.get_tensors(
140 node_name, output_slot, debug_op,
141 device_name=device_name)[exec_index]
142 except debug_data.WatchKeyDoesNotExistInDebugDumpDirError:
143 raise ValueError(
144 "Eval failed due to the value of %s:%d:DebugIdentity being "
145 "unavailable" % (node_name, output_slot))
146 self._cached_tensor_values[tensor_name] = value
147 rewritten_expression = (
148 rewritten_expression[:match.start(0)] +
149 "self._cached_tensor_values['" + tensor_name + "']" +
150 rewritten_expression[match.end(0):])
151
152 return eval(rewritten_expression) # pylint: disable=eval-used

Calls 7

_parse_debug_tensor_nameFunction · 0.85
stripMethod · 0.80
get_tensorsMethod · 0.80
evalFunction · 0.50
groupMethod · 0.45
startMethod · 0.45
endMethod · 0.45