Source code for cluster.eval.eval_node_extra

from cluster.eval.eval_node import EvalNode
from cluster.common.train_summary_info import TrainSummaryInfo
from master.workflow.evalconf.workflow_evalconf import WorkFlowEvalConfig
from master import serializers
import logging

[docs]class EvalNodeExtra(EvalNode): """ """
[docs] def run(self, conf_data): """ executed on cluster run :param conf_data: :return: """ try: # get related nodes net_node = self.get_prev_node(grp='netconf') data_node = self.get_prev_node(grp='preprocess') self._init_node_parm(conf_data['node_id']) # set result info cls result = TrainSummaryInfo(type=self.eval_result_type) result.set_nn_wf_ver_id(conf_data['wf_ver']) result.set_nn_id(conf_data['nn_id']) # run eval for each network result = net_node[0].eval(conf_data['node_id'], conf_data, data=data_node[0], result=result) # set parms for db store input_data = TrainSummaryInfo.save_result_info(self, result) input_data['accuracy'] = result.get_accuracy() return input_data except Exception as e: logging.error(e) raise Exception(e)
def _init_node_parm(self, node_id): netconf = WorkFlowEvalConfig(node_id) self.eval_result_type = netconf.get_eval_type() def _set_progress_state(self): pass