MCPcopy
hub / github.com/tensorflow/models / evaluate

Method evaluate

official/modeling/multitask/evaluator.py:146–180  ·  view source on GitHub ↗

Performs evaluation for each `EvalTask`.

(self, num_steps: tf.Tensor)

Source from the content-addressed store, hash-verified

144 return self._checkpoint
145
146 def evaluate(self, num_steps: tf.Tensor):
147 """Performs evaluation for each `EvalTask`."""
148 for metric in self.validation_losses.values():
149 metric.reset_states()
150 for metrics in self.validation_metrics.values():
151 for metric in metrics:
152 metric.reset_states()
153 results = {}
154 eval_iters = tf.nest.map_structure(iter, self.eval_datasets)
155
156 for task in self.tasks:
157 outputs = None
158 name = task.name
159 eval_iter = eval_iters[name]
160 task_eval_steps = self.eval_steps.get(name, None) or num_steps
161 outputs = self.task_fns[name](
162 eval_iter,
163 task_eval_steps,
164 state=outputs,
165 reduce_fn=task.aggregate_logs)
166 task_metrics = self.validation_metrics[name]
167 task_loss = self.validation_losses[name]
168 logs = {}
169 for metric in task_metrics + [task_loss]:
170 logs[metric.name] = metric.result()
171 if outputs:
172 metrics = task.reduce_aggregated_logs(
173 outputs, global_step=self.global_step)
174 logs.update(metrics)
175 results[name] = logs
176
177 if self._checkpoint_exporter:
178 self._checkpoint_exporter.maybe_export_checkpoint(
179 self.checkpoint, results, self.global_step.numpy())
180 return results

Callers 6

run_experimentFunction · 0.95
run_experimentFunction · 0.45
test_trainer_validateMethod · 0.45

Calls 6

updateMethod · 0.80
reset_statesMethod · 0.45
getMethod · 0.45
resultMethod · 0.45