def evaluate(self, session): metric_dict = {} try: while True: real_label_ids, logits = session.run( [self.labels, self.logits]) predict_label_ids = self._logits_to_label_ids(logits) predict_labels = DatasetMaker.label_ids_to_labels( predict_label_ids) real_labels = DatasetMaker.label_ids_to_labels(real_label_ids) metric_dict = metric_collect(real_labels, predict_labels, metric_dict) except tf.errors.OutOfRangeError: return metric_dict
def infer(self, session, file_handler): try: while True: data_ids, logits = session.run([self.ids, self.logits]) predict_label_ids = self._logits_to_label_ids(logits) predict_labels = DatasetMaker.label_ids_to_labels( predict_label_ids) file_handler.write( np.concatenate([data_ids, predict_labels], axis=1)) except tf.errors.OutOfRangeError as e: raise e