Source code for api.views.common_nninfo_batch

from rest_framework.views import APIView
from master.network.nn_common_manager import NNCommonManager
from rest_framework.response import Response
import json
import coreapi
from master.workflow.init.workflow_init_simple import WorkFlowSimpleManager
from common.utils import *
import os

[docs]class CommonNNInfoBatch(APIView): """ """ # TODO:add document sample for swagger (need to update) coreapi_fields = ( coreapi.Field( name='parm1', required=True, type='string', ), coreapi.Field( name='parm2', required=True, type='string', ), )
[docs] def get(self, request, nnid, ver): """ Your docs --- # Class Name (must be separated by `---`) # Description: - name: name description: Foobar long description goes here """ try: return_data = NNCommonManager().get_nn_batch_info(nnid, ver) conv = [] node = WorkFlowSimpleManager().get_train_node() model_path = get_model_path(nnid, ver, node) for row in return_data: row["model"] = "N" filename = row["nn_batch_ver_id"] for fn in os.listdir(model_path): fnsplit = fn.split(".") fnsplitName = fnsplit[0] if (fnsplitName == filename): row["model"] = fn row["model_exists"] = "Y" if row["result_info"] != None: predicts = row["result_info"]["predicts"] tfTot = 0 fTot = 0 tTot = 0 for i in range(len(predicts)): for j in range(len(predicts[i])): if i == j: tTot += predicts[i][j] else: fTot += predicts[i][j] row["true_cnt"] = tTot row["false_cnt"] = fTot tfTot = tTot+fTot row["true_false_cnt"] = tfTot if tfTot == 0: tfTot = 1 row["true_false_percent"] = round(tTot/tfTot*100) conv.append(row) return Response(json.dumps(conv)) except Exception as e: return_data = {"status": "404", "result": str(e)} return Response(json.dumps(return_data))
[docs] def put(self, request, nnid, ver): """ Your docs --- # Class Name (must be separated by `---`) # Description: - name: name description: Foobar long description goes here """ try: return_data = NNCommonManager().update_nn_batch_info(nnid, ver, request.data) return Response(json.dumps(return_data)) except Exception as e: return_data = {"status": "404", "result": str(e)} return Response(json.dumps(return_data))