Commit 292db864 authored by dasharatha.vamshi's avatar dasharatha.vamshi

initial commit

parent 62213ede
FROM ailens-registry.knowledgelens.com:9084/repository/kl-docker-repo/ilens/ilens-openvino-base:v1
#FROM flare-detection-pytorch:v2.0
RUN rm -rf /var/lib/apt/lists/* && rm -rf /root/.cache/pip/
RUN apt-get update
RUN apt-get install -y libsm6 libxext6 libxrender-dev ffmpeg
RUN pip3 install minio requests cachetools pymongo~=3.10.1 wincertstore==0.2 opencv-contrib-python==4.2.0.34 matplotlib certifi==2020.6.20 imutils
ADD . /app
WORKDIR /app
RUN pip3 install edge_engine-1.0.0a0-py3-none-any.whl
CMD ["bash","app.sh"]
\ No newline at end of file
#import os
#os.environ["config"] = '{"MONGO_URI": "mongodb://svc-ilens:svc2345@192.168.3.220:21017","MONGO_DATABASE": "ilens_wps", "MONGO_DB": "ilens_wps", ' \
# '"MONGO_COLLECTION": "janusDeployment", "MONGO_KEY": "deploymentId", "MONGO_VALUE": "6d971066", "MONGO_COLL": "serviceConfiguration" }'
from edge_engine.edge_processor import ExecutePipeline
from edge_engine.edge_processor import Pubs
from scripts import Welspun_Classifier
from edge_engine.common.config import EDGE_CONFIG
if __name__ == '__main__':
pubs = Pubs()
mod = Welspun_Classifier(config=EDGE_CONFIG, model_config=EDGE_CONFIG["modelConfig"], pubs=pubs, device_id=EDGE_CONFIG['deviceId'])
ex = ExecutePipeline(mod)
ex.run_model()
source /opt/intel/openvino/bin/setupvars.sh
python3 app.py
\ No newline at end of file
pymongo~=3.10.1
# opencv-python~=4.2.0.34
# requests~=2.23.0
cachetools~=4.1.0
wincertstore==0.2
opencv-contrib-python==4.2.0.34
matplotlib
imutils==0.5.3
certifi==2020.6.20
from.welspun_classifier import Welspun_Classifier
import os
import sys
import json
from pymongo import MongoClient
MAIN_OS_VARIABLE = json.loads(os.environ.get('config'))
if MAIN_OS_VARIABLE is None:
sys.stderr.write("Configuration not found...")
sys.stderr.write("Exiting....")
sys.exit(1)
MONGO_URI = MAIN_OS_VARIABLE.get('MONGO_URI')
MONGO_SERVICE_DB = MAIN_OS_VARIABLE.get('MONGO_DB')
MONGO_SERVICE_COLL = MAIN_OS_VARIABLE.get('MONGO_COLL')
PASS_KEY = MAIN_OS_VARIABLE.get('PASS_KEY')
MONGO_DB_OBJ = MongoClient(MONGO_URI)[MONGO_SERVICE_DB]
HOST_CONFIG = MONGO_DB_OBJ[MONGO_SERVICE_COLL].find_one({'configId': 'hostConfig'}).get('config')
APP_MONGO_COLLECTION = MONGO_DB_OBJ[MONGO_SERVICE_COLL].find_one({'configId': 'appMongoConfig'}).get('config')
DEPLOYMENT_CONFIG = MONGO_DB_OBJ[MONGO_SERVICE_COLL].find_one({'configId': 'deploymentMongoConfig'}).get('config')
MINIO_CONFIG = MONGO_DB_OBJ[MONGO_SERVICE_COLL].find_one({'configId': 'minioConfig'}).get('config')
UI_CONFIG = MONGO_DB_OBJ[MONGO_SERVICE_COLL].find_one({'configId': 'uiConfiguration'}).get('config')
REGISTRY_CONFIG = MONGO_DB_OBJ[MONGO_SERVICE_COLL].find_one({'configId': 'registryConfig'}).get('config')
JANUS_CONFIG = MONGO_DB_OBJ[MONGO_SERVICE_COLL].find_one({'configId': 'janusConfig'}).get('config')
MODEL_SERVER_CONFIG = MONGO_DB_OBJ[MONGO_SERVICE_COLL].find_one({'configId': 'modelServerConfig'}).get('config')
MODEL_TRAINER_CONFIG = MONGO_DB_OBJ[MONGO_SERVICE_COLL].find_one({'configId': 'modelTrainerConfig'}).get('config')
MS_SERVER_CONFIG = MONGO_DB_OBJ[MONGO_SERVICE_COLL].find_one({'configId': 'msServerConfig'}).get('config')
THERMAL_CAM_CONFIG = MONGO_DB_OBJ[MONGO_SERVICE_COLL].find_one({'configId': 'thermalCamera'}).get('config')
class ModelConstants:
sink_layer = {'cls': 'cls_branch_concat_1/concat', 'bbox': 'loc_branch_concat_1/concat'}
model_detector_pth = "./data/model/face_mask_detection.xml"
id2class = {0: 'Mask', 1: 'No Mask'}
id2bool = {0: True, 1: False}
exec_net_device_name = 'CPU'
fallback_initial_temperature = 98.3
net_precision = 'FP32'
\ No newline at end of file
<?xml version="1.0" ?>
<mapping>
<map>
<framework name="240" out_port_id="240"/>
<IR id="16" name="Add_6" out_port_id="2"/>
</map>
<map>
<framework name="399" out_port_id="399"/>
<IR id="58" name="Conv_24" out_port_id="2"/>
</map>
<map>
<framework name="429" out_port_id="429"/>
<IR id="111" name="Conv_47" out_port_id="2"/>
</map>
<map>
<framework name="297" out_port_id="297"/>
<IR id="107" name="Relu_46" out_port_id="1"/>
</map>
<map>
<framework name="465" out_port_id="465"/>
<IR id="176" name="Conv_76" out_port_id="2"/>
</map>
<map>
<framework name="233" out_port_id="233"/>
<IR id="5" name="Relu_1" out_port_id="1"/>
</map>
<map>
<framework name="406" out_port_id="406"/>
<IR id="66" name="onnx_initializer_node_406/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="408" out_port_id="408"/>
<IR id="74" name="Conv_31" out_port_id="2"/>
</map>
<map>
<framework name="402" out_port_id="402"/>
<IR id="63" name="Conv_26" out_port_id="2"/>
</map>
<map>
<framework name="255" out_port_id="255"/>
<IR id="39" name="Relu_17" out_port_id="1"/>
</map>
<map>
<framework name="314" out_port_id="314"/>
<IR id="134" name="Add_58" out_port_id="2"/>
</map>
<map>
<framework name="412" out_port_id="412"/>
<IR id="77" name="onnx_initializer_node_412/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="427" out_port_id="427"/>
<IR id="103" name="onnx_initializer_node_427/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="447" out_port_id="447"/>
<IR id="144" name="Conv_62" out_port_id="2"/>
</map>
<map>
<framework name="379" out_port_id="379"/>
<IR id="18" name="onnx_initializer_node_379/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="345" out_port_id="345"/>
<IR id="183" name="Relu_80" out_port_id="1"/>
</map>
<map>
<framework name="421" out_port_id="421"/>
<IR id="93" name="onnx_initializer_node_421/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="351" out_port_id="351"/>
<IR id="193" name="Add_84" out_port_id="2"/>
</map>
<map>
<framework name="373" out_port_id="373"/>
<IR id="7" name="onnx_initializer_node_373/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="391" out_port_id="391"/>
<IR id="40" name="onnx_initializer_node_391/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="384" out_port_id="384"/>
<IR id="32" name="Conv_13" out_port_id="2"/>
</map>
<map>
<framework name="293" out_port_id="293"/>
<IR id="101" name="Add_43" out_port_id="2"/>
</map>
<map>
<framework name="433" out_port_id="433"/>
<IR id="114" name="onnx_initializer_node_433/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="468" out_port_id="468"/>
<IR id="181" name="Conv_78" out_port_id="2"/>
</map>
<map>
<framework name="251" out_port_id="251"/>
<IR id="33" name="Relu_14" out_port_id="1"/>
</map>
<map>
<framework name="375" out_port_id="375"/>
<IR id="15" name="Conv_5" out_port_id="2"/>
</map>
<map>
<framework name="308" out_port_id="308"/>
<IR id="124" name="Relu_54" out_port_id="1"/>
</map>
<map>
<framework name="300" out_port_id="300"/>
<IR id="112" name="Add_48" out_port_id="2"/>
</map>
<map>
<framework name="438" out_port_id="438"/>
<IR id="128" name="Conv_55" out_port_id="2"/>
</map>
<map>
<framework name="241" out_port_id="241"/>
<IR id="17" name="Relu_7" out_port_id="1"/>
</map>
<map>
<framework name="471" out_port_id="471"/>
<IR id="187" name="Conv_81" out_port_id="2"/>
</map>
<map>
<framework name="338" out_port_id="338"/>
<IR id="172" name="Relu_75" out_port_id="1"/>
</map>
<map>
<framework name="417" out_port_id="417"/>
<IR id="91" name="Conv_39" out_port_id="2"/>
</map>
<map>
<framework name="329" out_port_id="329"/>
<IR id="157" name="Relu_69" out_port_id="1"/>
</map>
<map>
<framework name="341" out_port_id="341"/>
<IR id="177" name="Relu_77" out_port_id="1"/>
</map>
<map>
<framework name="364" out_port_id="364"/>
<IR id="204" name="BatchNormalization_95/variance/Fused_Add_" out_port_id="2"/>
</map>
<map>
<framework name="352" out_port_id="352"/>
<IR id="194" name="Relu_85" out_port_id="1"/>
</map>
<map>
<framework name="394" out_port_id="394"/>
<IR id="45" name="onnx_initializer_node_394/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="378" out_port_id="378"/>
<IR id="21" name="Conv_8" out_port_id="2"/>
</map>
<map>
<framework name="451" out_port_id="451"/>
<IR id="147" name="onnx_initializer_node_451/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="369" out_port_id="369"/>
<IR id="4" name="Conv_0" out_port_id="2"/>
</map>
<map>
<framework name="370" out_port_id="370"/>
<IR id="1" name="onnx_initializer_node_370/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="415" out_port_id="415"/>
<IR id="82" name="onnx_initializer_node_415/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="462" out_port_id="462"/>
<IR id="170" name="Conv_73" out_port_id="2"/>
</map>
<map>
<framework name="376" out_port_id="376"/>
<IR id="12" name="onnx_initializer_node_376/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="454" out_port_id="454"/>
<IR id="152" name="onnx_initializer_node_454/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="307" out_port_id="307"/>
<IR id="123" name="Add_53" out_port_id="2"/>
</map>
<map>
<framework name="367" out_port_id="367"/>
<IR id="213" name="BatchNormalization_98/variance/Fused_Add_" out_port_id="2"/>
</map>
<map>
<framework name="453" out_port_id="453"/>
<IR id="155" name="Conv_67" out_port_id="2"/>
</map>
<map>
<framework name="337" out_port_id="337"/>
<IR id="171" name="Add_74" out_port_id="2"/>
</map>
<map>
<framework name="285" out_port_id="285"/>
<IR id="87" name="Relu_38" out_port_id="1"/>
</map>
<map>
<framework name="Gemm_99" out_port_id="0"/>
<IR id="217" name="Gemm_99" out_port_id="2"/>
</map>
<map>
<framework name="381" out_port_id="381"/>
<IR id="26" name="Conv_10" out_port_id="2"/>
</map>
<map>
<framework name="409" out_port_id="409"/>
<IR id="71" name="onnx_initializer_node_409/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="442" out_port_id="442"/>
<IR id="130" name="onnx_initializer_node_442/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="456" out_port_id="456"/>
<IR id="161" name="Conv_70" out_port_id="2"/>
</map>
<map>
<framework name="463" out_port_id="463"/>
<IR id="167" name="onnx_initializer_node_463/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="263" out_port_id="263"/>
<IR id="53" name="Add_22" out_port_id="2"/>
</map>
<map>
<framework name="441" out_port_id="441"/>
<IR id="133" name="Conv_57" out_port_id="2"/>
</map>
<map>
<framework name="444" out_port_id="444"/>
<IR id="139" name="Conv_60" out_port_id="2"/>
</map>
<map>
<framework name="435" out_port_id="435"/>
<IR id="122" name="Conv_52" out_port_id="2"/>
</map>
<map>
<framework name="353" out_port_id="353"/>
<IR id="195" name="MaxPool_86" out_port_id="1"/>
</map>
<map>
<framework name="426" out_port_id="426"/>
<IR id="106" name="Conv_45" out_port_id="2"/>
</map>
<map>
<framework name="281" out_port_id="281"/>
<IR id="81" name="Relu_35" out_port_id="1"/>
</map>
<map>
<framework name="234" out_port_id="234"/>
<IR id="6" name="MaxPool_2" out_port_id="1"/>
</map>
<map>
<framework name="388" out_port_id="388"/>
<IR id="34" name="onnx_initializer_node_388/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="304" out_port_id="304"/>
<IR id="118" name="Relu_51" out_port_id="1"/>
</map>
<map>
<framework name="418" out_port_id="418"/>
<IR id="88" name="onnx_initializer_node_418/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="288" out_port_id="288"/>
<IR id="92" name="Relu_40" out_port_id="1"/>
</map>
<map>
<framework name="405" out_port_id="405"/>
<IR id="69" name="Conv_29" out_port_id="2"/>
</map>
<map>
<framework name="469" out_port_id="469"/>
<IR id="178" name="onnx_initializer_node_469/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="267" out_port_id="267"/>
<IR id="59" name="Relu_25" out_port_id="1"/>
</map>
<map>
<framework name="355" out_port_id="355"/>
<IR id="198" name="Concat_88" out_port_id="2"/>
</map>
<map>
<framework name="460" out_port_id="460"/>
<IR id="163" name="onnx_initializer_node_460/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="385" out_port_id="385"/>
<IR id="29" name="onnx_initializer_node_385/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="294" out_port_id="294"/>
<IR id="102" name="Relu_44" out_port_id="1"/>
</map>
<map>
<framework name="387" out_port_id="387"/>
<IR id="37" name="Conv_15" out_port_id="2"/>
</map>
<map>
<framework name="244" out_port_id="244"/>
<IR id="22" name="Relu_9" out_port_id="1"/>
</map>
<map>
<framework name="1.8.weight" out_port_id="1.8.weight"/>
<IR id="214" name="onnx_initializer_node_1.8.weight/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="1.4.weight" out_port_id="1.4.weight"/>
<IR id="205" name="onnx_initializer_node_1.4.weight/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="332" out_port_id="332"/>
<IR id="162" name="Relu_71" out_port_id="1"/>
</map>
<map>
<framework name="264" out_port_id="264"/>
<IR id="54" name="Relu_23" out_port_id="1"/>
</map>
<map>
<framework name="271" out_port_id="271"/>
<IR id="65" name="Relu_28" out_port_id="1"/>
</map>
<map>
<framework name="322" out_port_id="322"/>
<IR id="146" name="Relu_64" out_port_id="1"/>
</map>
<map>
<framework name="325" out_port_id="325"/>
<IR id="151" name="Relu_66" out_port_id="1"/>
</map>
<map>
<framework name="382" out_port_id="382"/>
<IR id="23" name="onnx_initializer_node_382/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="432" out_port_id="432"/>
<IR id="117" name="Conv_50" out_port_id="2"/>
</map>
<map>
<framework name="397" out_port_id="397"/>
<IR id="49" name="onnx_initializer_node_397/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="315" out_port_id="315"/>
<IR id="135" name="Relu_59" out_port_id="1"/>
</map>
<map>
<framework name="396" out_port_id="396"/>
<IR id="52" name="Conv_21" out_port_id="2"/>
</map>
<map>
<framework name="274" out_port_id="274"/>
<IR id="70" name="Relu_30" out_port_id="1"/>
</map>
<map>
<framework name="328" out_port_id="328"/>
<IR id="156" name="Add_68" out_port_id="2"/>
</map>
<map>
<framework name="278" out_port_id="278"/>
<IR id="76" name="Relu_33" out_port_id="1"/>
</map>
<map>
<framework name="474" out_port_id="474"/>
<IR id="192" name="Conv_83" out_port_id="2"/>
</map>
<map>
<framework name="input.1" out_port_id="input.1"/>
<IR id="0" name="input.1" out_port_id="0"/>
</map>
<map>
<framework name="321" out_port_id="321"/>
<IR id="145" name="Add_63" out_port_id="2"/>
</map>
<map>
<framework name="414" out_port_id="414"/>
<IR id="85" name="Conv_36" out_port_id="2"/>
</map>
<map>
<framework name="344" out_port_id="344"/>
<IR id="182" name="Add_79" out_port_id="2"/>
</map>
<map>
<framework name="459" out_port_id="459"/>
<IR id="166" name="Conv_72" out_port_id="2"/>
</map>
<map>
<framework name="277" out_port_id="277"/>
<IR id="75" name="Add_32" out_port_id="2"/>
</map>
<map>
<framework name="450" out_port_id="450"/>
<IR id="150" name="Conv_65" out_port_id="2"/>
</map>
<map>
<framework name="258" out_port_id="258"/>
<IR id="44" name="Relu_19" out_port_id="1"/>
</map>
<map>
<framework name="439" out_port_id="439"/>
<IR id="125" name="onnx_initializer_node_439/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="430" out_port_id="430"/>
<IR id="108" name="onnx_initializer_node_430/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="475" out_port_id="475"/>
<IR id="189" name="onnx_initializer_node_475/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="348" out_port_id="348"/>
<IR id="188" name="Relu_82" out_port_id="1"/>
</map>
<map>
<framework name="403" out_port_id="403"/>
<IR id="60" name="onnx_initializer_node_403/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="247" out_port_id="247"/>
<IR id="27" name="Add_11" out_port_id="2"/>
</map>
<map>
<framework name="248" out_port_id="248"/>
<IR id="28" name="Relu_12" out_port_id="1"/>
</map>
<map>
<framework name="254" out_port_id="254"/>
<IR id="38" name="Add_16" out_port_id="2"/>
</map>
<map>
<framework name="393" out_port_id="393"/>
<IR id="48" name="Conv_20" out_port_id="2"/>
</map>
<map>
<framework name="237" out_port_id="237"/>
<IR id="11" name="Relu_4" out_port_id="1"/>
</map>
<map>
<framework name="420" out_port_id="420"/>
<IR id="96" name="Conv_41" out_port_id="2"/>
</map>
<map>
<framework name="363" out_port_id="363"/>
<IR id="200" name="Reshape_94" out_port_id="2"/>
</map>
<map>
<framework name="372" out_port_id="372"/>
<IR id="10" name="Conv_3" out_port_id="2"/>
</map>
<map>
<framework name="284" out_port_id="284"/>
<IR id="86" name="Add_37" out_port_id="2"/>
</map>
<map>
<framework name="436" out_port_id="436"/>
<IR id="119" name="onnx_initializer_node_436/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="390" out_port_id="390"/>
<IR id="43" name="Conv_18" out_port_id="2"/>
</map>
<map>
<framework name="354" out_port_id="354"/>
<IR id="197" name="GlobalAveragePool_87/reduce" out_port_id="2"/>
</map>
<map>
<framework name="400" out_port_id="400"/>
<IR id="55" name="onnx_initializer_node_400/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="472" out_port_id="472"/>
<IR id="184" name="onnx_initializer_node_472/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="424" out_port_id="424"/>
<IR id="97" name="onnx_initializer_node_424/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="423" out_port_id="423"/>
<IR id="100" name="Conv_42" out_port_id="2"/>
</map>
<map>
<framework name="366" out_port_id="366"/>
<IR id="209" name="Relu_97" out_port_id="1"/>
</map>
<map>
<framework name="411" out_port_id="411"/>
<IR id="80" name="Conv_34" out_port_id="2"/>
</map>
<map>
<framework name="466" out_port_id="466"/>
<IR id="173" name="onnx_initializer_node_466/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="445" out_port_id="445"/>
<IR id="136" name="onnx_initializer_node_445/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="457" out_port_id="457"/>
<IR id="158" name="onnx_initializer_node_457/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="311" out_port_id="311"/>
<IR id="129" name="Relu_56" out_port_id="1"/>
</map>
<map>
<framework name="362" out_port_id="362"/>
<IR id="199" name="Reshape_94/Cast_16219_const" out_port_id="1"/>
</map>
<map>
<framework name="448" out_port_id="448"/>
<IR id="141" name="onnx_initializer_node_448/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="365" out_port_id="365"/>
<IR id="208" name="Gemm_96" out_port_id="2"/>
</map>
<map>
<framework name="318" out_port_id="318"/>
<IR id="140" name="Relu_61" out_port_id="1"/>
</map>
<map>
<framework name="301" out_port_id="301"/>
<IR id="113" name="Relu_49" out_port_id="1"/>
</map>
<map>
<framework name="270" out_port_id="270"/>
<IR id="64" name="Add_27" out_port_id="2"/>
</map>
</mapping>
This source diff could not be displayed because it is too large. You can view the blob instead.
<?xml version="1.0" ?>
<mapping>
<map>
<framework name="466" out_port_id="466"/>
<IR id="173" name="onnx_initializer_node_466/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="382" out_port_id="382"/>
<IR id="23" name="onnx_initializer_node_382/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="430" out_port_id="430"/>
<IR id="108" name="onnx_initializer_node_430/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="294" out_port_id="294"/>
<IR id="102" name="Relu_44" out_port_id="1"/>
</map>
<map>
<framework name="444" out_port_id="444"/>
<IR id="139" name="Conv_60" out_port_id="2"/>
</map>
<map>
<framework name="438" out_port_id="438"/>
<IR id="128" name="Conv_55" out_port_id="2"/>
</map>
<map>
<framework name="400" out_port_id="400"/>
<IR id="55" name="onnx_initializer_node_400/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="270" out_port_id="270"/>
<IR id="64" name="Add_27" out_port_id="2"/>
</map>
<map>
<framework name="459" out_port_id="459"/>
<IR id="166" name="Conv_72" out_port_id="2"/>
</map>
<map>
<framework name="414" out_port_id="414"/>
<IR id="85" name="Conv_36" out_port_id="2"/>
</map>
<map>
<framework name="277" out_port_id="277"/>
<IR id="75" name="Add_32" out_port_id="2"/>
</map>
<map>
<framework name="248" out_port_id="248"/>
<IR id="28" name="Relu_12" out_port_id="1"/>
</map>
<map>
<framework name="241" out_port_id="241"/>
<IR id="17" name="Relu_7" out_port_id="1"/>
</map>
<map>
<framework name="448" out_port_id="448"/>
<IR id="141" name="onnx_initializer_node_448/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="328" out_port_id="328"/>
<IR id="156" name="Add_68" out_port_id="2"/>
</map>
<map>
<framework name="233" out_port_id="233"/>
<IR id="5" name="Relu_1" out_port_id="1"/>
</map>
<map>
<framework name="388" out_port_id="388"/>
<IR id="34" name="onnx_initializer_node_388/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="417" out_port_id="417"/>
<IR id="91" name="Conv_39" out_port_id="2"/>
</map>
<map>
<framework name="301" out_port_id="301"/>
<IR id="113" name="Relu_49" out_port_id="1"/>
</map>
<map>
<framework name="367" out_port_id="367"/>
<IR id="213" name="BatchNormalization_98/variance/Fused_Add_" out_port_id="2"/>
</map>
<map>
<framework name="321" out_port_id="321"/>
<IR id="145" name="Add_63" out_port_id="2"/>
</map>
<map>
<framework name="409" out_port_id="409"/>
<IR id="71" name="onnx_initializer_node_409/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="244" out_port_id="244"/>
<IR id="22" name="Relu_9" out_port_id="1"/>
</map>
<map>
<framework name="384" out_port_id="384"/>
<IR id="32" name="Conv_13" out_port_id="2"/>
</map>
<map>
<framework name="424" out_port_id="424"/>
<IR id="97" name="onnx_initializer_node_424/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="Gemm_99" out_port_id="0"/>
<IR id="217" name="Gemm_99" out_port_id="2"/>
</map>
<map>
<framework name="385" out_port_id="385"/>
<IR id="29" name="onnx_initializer_node_385/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="255" out_port_id="255"/>
<IR id="39" name="Relu_17" out_port_id="1"/>
</map>
<map>
<framework name="364" out_port_id="364"/>
<IR id="204" name="BatchNormalization_95/variance/Fused_Add_" out_port_id="2"/>
</map>
<map>
<framework name="397" out_port_id="397"/>
<IR id="49" name="onnx_initializer_node_397/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="396" out_port_id="396"/>
<IR id="52" name="Conv_21" out_port_id="2"/>
</map>
<map>
<framework name="264" out_port_id="264"/>
<IR id="54" name="Relu_23" out_port_id="1"/>
</map>
<map>
<framework name="373" out_port_id="373"/>
<IR id="7" name="onnx_initializer_node_373/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="456" out_port_id="456"/>
<IR id="161" name="Conv_70" out_port_id="2"/>
</map>
<map>
<framework name="474" out_port_id="474"/>
<IR id="192" name="Conv_83" out_port_id="2"/>
</map>
<map>
<framework name="469" out_port_id="469"/>
<IR id="178" name="onnx_initializer_node_469/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="278" out_port_id="278"/>
<IR id="76" name="Relu_33" out_port_id="1"/>
</map>
<map>
<framework name="338" out_port_id="338"/>
<IR id="172" name="Relu_75" out_port_id="1"/>
</map>
<map>
<framework name="297" out_port_id="297"/>
<IR id="107" name="Relu_46" out_port_id="1"/>
</map>
<map>
<framework name="453" out_port_id="453"/>
<IR id="155" name="Conv_67" out_port_id="2"/>
</map>
<map>
<framework name="353" out_port_id="353"/>
<IR id="195" name="MaxPool_86" out_port_id="1"/>
</map>
<map>
<framework name="402" out_port_id="402"/>
<IR id="63" name="Conv_26" out_port_id="2"/>
</map>
<map>
<framework name="285" out_port_id="285"/>
<IR id="87" name="Relu_38" out_port_id="1"/>
</map>
<map>
<framework name="460" out_port_id="460"/>
<IR id="163" name="onnx_initializer_node_460/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="237" out_port_id="237"/>
<IR id="11" name="Relu_4" out_port_id="1"/>
</map>
<map>
<framework name="258" out_port_id="258"/>
<IR id="44" name="Relu_19" out_port_id="1"/>
</map>
<map>
<framework name="369" out_port_id="369"/>
<IR id="4" name="Conv_0" out_port_id="2"/>
</map>
<map>
<framework name="332" out_port_id="332"/>
<IR id="162" name="Relu_71" out_port_id="1"/>
</map>
<map>
<framework name="372" out_port_id="372"/>
<IR id="10" name="Conv_3" out_port_id="2"/>
</map>
<map>
<framework name="355" out_port_id="355"/>
<IR id="198" name="Concat_88" out_port_id="2"/>
</map>
<map>
<framework name="337" out_port_id="337"/>
<IR id="171" name="Add_74" out_port_id="2"/>
</map>
<map>
<framework name="411" out_port_id="411"/>
<IR id="80" name="Conv_34" out_port_id="2"/>
</map>
<map>
<framework name="308" out_port_id="308"/>
<IR id="124" name="Relu_54" out_port_id="1"/>
</map>
<map>
<framework name="370" out_port_id="370"/>
<IR id="1" name="onnx_initializer_node_370/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="input.1" out_port_id="input.1"/>
<IR id="0" name="input.1" out_port_id="0"/>
</map>
<map>
<framework name="403" out_port_id="403"/>
<IR id="60" name="onnx_initializer_node_403/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="391" out_port_id="391"/>
<IR id="40" name="onnx_initializer_node_391/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="415" out_port_id="415"/>
<IR id="82" name="onnx_initializer_node_415/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="375" out_port_id="375"/>
<IR id="15" name="Conv_5" out_port_id="2"/>
</map>
<map>
<framework name="354" out_port_id="354"/>
<IR id="197" name="GlobalAveragePool_87/reduce" out_port_id="2"/>
</map>
<map>
<framework name="423" out_port_id="423"/>
<IR id="100" name="Conv_42" out_port_id="2"/>
</map>
<map>
<framework name="451" out_port_id="451"/>
<IR id="147" name="onnx_initializer_node_451/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="433" out_port_id="433"/>
<IR id="114" name="onnx_initializer_node_433/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="427" out_port_id="427"/>
<IR id="103" name="onnx_initializer_node_427/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="418" out_port_id="418"/>
<IR id="88" name="onnx_initializer_node_418/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="322" out_port_id="322"/>
<IR id="146" name="Relu_64" out_port_id="1"/>
</map>
<map>
<framework name="378" out_port_id="378"/>
<IR id="21" name="Conv_8" out_port_id="2"/>
</map>
<map>
<framework name="365" out_port_id="365"/>
<IR id="208" name="Gemm_96" out_port_id="2"/>
</map>
<map>
<framework name="426" out_port_id="426"/>
<IR id="106" name="Conv_45" out_port_id="2"/>
</map>
<map>
<framework name="325" out_port_id="325"/>
<IR id="151" name="Relu_66" out_port_id="1"/>
</map>
<map>
<framework name="1.8.weight" out_port_id="1.8.weight"/>
<IR id="214" name="onnx_initializer_node_1.8.weight/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="315" out_port_id="315"/>
<IR id="135" name="Relu_59" out_port_id="1"/>
</map>
<map>
<framework name="271" out_port_id="271"/>
<IR id="65" name="Relu_28" out_port_id="1"/>
</map>
<map>
<framework name="394" out_port_id="394"/>
<IR id="45" name="onnx_initializer_node_394/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="435" out_port_id="435"/>
<IR id="122" name="Conv_52" out_port_id="2"/>
</map>
<map>
<framework name="263" out_port_id="263"/>
<IR id="53" name="Add_22" out_port_id="2"/>
</map>
<map>
<framework name="366" out_port_id="366"/>
<IR id="209" name="Relu_97" out_port_id="1"/>
</map>
<map>
<framework name="304" out_port_id="304"/>
<IR id="118" name="Relu_51" out_port_id="1"/>
</map>
<map>
<framework name="314" out_port_id="314"/>
<IR id="134" name="Add_58" out_port_id="2"/>
</map>
<map>
<framework name="376" out_port_id="376"/>
<IR id="12" name="onnx_initializer_node_376/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="267" out_port_id="267"/>
<IR id="59" name="Relu_25" out_port_id="1"/>
</map>
<map>
<framework name="387" out_port_id="387"/>
<IR id="37" name="Conv_15" out_port_id="2"/>
</map>
<map>
<framework name="445" out_port_id="445"/>
<IR id="136" name="onnx_initializer_node_445/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="439" out_port_id="439"/>
<IR id="125" name="onnx_initializer_node_439/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="429" out_port_id="429"/>
<IR id="111" name="Conv_47" out_port_id="2"/>
</map>
<map>
<framework name="442" out_port_id="442"/>
<IR id="130" name="onnx_initializer_node_442/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="352" out_port_id="352"/>
<IR id="194" name="Relu_85" out_port_id="1"/>
</map>
<map>
<framework name="432" out_port_id="432"/>
<IR id="117" name="Conv_50" out_port_id="2"/>
</map>
<map>
<framework name="240" out_port_id="240"/>
<IR id="16" name="Add_6" out_port_id="2"/>
</map>
<map>
<framework name="379" out_port_id="379"/>
<IR id="18" name="onnx_initializer_node_379/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="348" out_port_id="348"/>
<IR id="188" name="Relu_82" out_port_id="1"/>
</map>
<map>
<framework name="351" out_port_id="351"/>
<IR id="193" name="Add_84" out_port_id="2"/>
</map>
<map>
<framework name="450" out_port_id="450"/>
<IR id="150" name="Conv_65" out_port_id="2"/>
</map>
<map>
<framework name="362" out_port_id="362"/>
<IR id="199" name="Reshape_94/Cast_16221_const" out_port_id="1"/>
</map>
<map>
<framework name="436" out_port_id="436"/>
<IR id="119" name="onnx_initializer_node_436/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="393" out_port_id="393"/>
<IR id="48" name="Conv_20" out_port_id="2"/>
</map>
<map>
<framework name="344" out_port_id="344"/>
<IR id="182" name="Add_79" out_port_id="2"/>
</map>
<map>
<framework name="390" out_port_id="390"/>
<IR id="43" name="Conv_18" out_port_id="2"/>
</map>
<map>
<framework name="447" out_port_id="447"/>
<IR id="144" name="Conv_62" out_port_id="2"/>
</map>
<map>
<framework name="472" out_port_id="472"/>
<IR id="184" name="onnx_initializer_node_472/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="475" out_port_id="475"/>
<IR id="189" name="onnx_initializer_node_475/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="406" out_port_id="406"/>
<IR id="66" name="onnx_initializer_node_406/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="274" out_port_id="274"/>
<IR id="70" name="Relu_30" out_port_id="1"/>
</map>
<map>
<framework name="454" out_port_id="454"/>
<IR id="152" name="onnx_initializer_node_454/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="345" out_port_id="345"/>
<IR id="183" name="Relu_80" out_port_id="1"/>
</map>
<map>
<framework name="311" out_port_id="311"/>
<IR id="129" name="Relu_56" out_port_id="1"/>
</map>
<map>
<framework name="462" out_port_id="462"/>
<IR id="170" name="Conv_73" out_port_id="2"/>
</map>
<map>
<framework name="441" out_port_id="441"/>
<IR id="133" name="Conv_57" out_port_id="2"/>
</map>
<map>
<framework name="408" out_port_id="408"/>
<IR id="74" name="Conv_31" out_port_id="2"/>
</map>
<map>
<framework name="421" out_port_id="421"/>
<IR id="93" name="onnx_initializer_node_421/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="399" out_port_id="399"/>
<IR id="58" name="Conv_24" out_port_id="2"/>
</map>
<map>
<framework name="465" out_port_id="465"/>
<IR id="176" name="Conv_76" out_port_id="2"/>
</map>
<map>
<framework name="341" out_port_id="341"/>
<IR id="177" name="Relu_77" out_port_id="1"/>
</map>
<map>
<framework name="234" out_port_id="234"/>
<IR id="6" name="MaxPool_2" out_port_id="1"/>
</map>
<map>
<framework name="405" out_port_id="405"/>
<IR id="69" name="Conv_29" out_port_id="2"/>
</map>
<map>
<framework name="329" out_port_id="329"/>
<IR id="157" name="Relu_69" out_port_id="1"/>
</map>
<map>
<framework name="471" out_port_id="471"/>
<IR id="187" name="Conv_81" out_port_id="2"/>
</map>
<map>
<framework name="412" out_port_id="412"/>
<IR id="77" name="onnx_initializer_node_412/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="247" out_port_id="247"/>
<IR id="27" name="Add_11" out_port_id="2"/>
</map>
<map>
<framework name="251" out_port_id="251"/>
<IR id="33" name="Relu_14" out_port_id="1"/>
</map>
<map>
<framework name="363" out_port_id="363"/>
<IR id="200" name="Reshape_94" out_port_id="2"/>
</map>
<map>
<framework name="463" out_port_id="463"/>
<IR id="167" name="onnx_initializer_node_463/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="318" out_port_id="318"/>
<IR id="140" name="Relu_61" out_port_id="1"/>
</map>
<map>
<framework name="293" out_port_id="293"/>
<IR id="101" name="Add_43" out_port_id="2"/>
</map>
<map>
<framework name="1.4.weight" out_port_id="1.4.weight"/>
<IR id="205" name="onnx_initializer_node_1.4.weight/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="457" out_port_id="457"/>
<IR id="158" name="onnx_initializer_node_457/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="284" out_port_id="284"/>
<IR id="86" name="Add_37" out_port_id="2"/>
</map>
<map>
<framework name="307" out_port_id="307"/>
<IR id="123" name="Add_53" out_port_id="2"/>
</map>
<map>
<framework name="468" out_port_id="468"/>
<IR id="181" name="Conv_78" out_port_id="2"/>
</map>
<map>
<framework name="420" out_port_id="420"/>
<IR id="96" name="Conv_41" out_port_id="2"/>
</map>
<map>
<framework name="281" out_port_id="281"/>
<IR id="81" name="Relu_35" out_port_id="1"/>
</map>
<map>
<framework name="381" out_port_id="381"/>
<IR id="26" name="Conv_10" out_port_id="2"/>
</map>
<map>
<framework name="288" out_port_id="288"/>
<IR id="92" name="Relu_40" out_port_id="1"/>
</map>
<map>
<framework name="254" out_port_id="254"/>
<IR id="38" name="Add_16" out_port_id="2"/>
</map>
<map>
<framework name="300" out_port_id="300"/>
<IR id="112" name="Add_48" out_port_id="2"/>
</map>
</mapping>
This source diff could not be displayed because it is too large. You can view the blob instead.
<?xml version="1.0" ?>
<mapping>
<map>
<framework name="240" out_port_id="240"/>
<IR id="16" name="Add_6" out_port_id="2"/>
</map>
<map>
<framework name="384" out_port_id="384"/>
<IR id="32" name="Conv_13" out_port_id="2"/>
</map>
<map>
<framework name="429" out_port_id="429"/>
<IR id="111" name="Conv_47" out_port_id="2"/>
</map>
<map>
<framework name="453" out_port_id="453"/>
<IR id="155" name="Conv_67" out_port_id="2"/>
</map>
<map>
<framework name="Gemm_99" out_port_id="0"/>
<IR id="217" name="Gemm_99" out_port_id="2"/>
</map>
<map>
<framework name="255" out_port_id="255"/>
<IR id="39" name="Relu_17" out_port_id="1"/>
</map>
<map>
<framework name="424" out_port_id="424"/>
<IR id="97" name="onnx_initializer_node_424/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="1.4.weight" out_port_id="1.4.weight"/>
<IR id="205" name="onnx_initializer_node_1.4.weight/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="442" out_port_id="442"/>
<IR id="130" name="onnx_initializer_node_442/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="274" out_port_id="274"/>
<IR id="70" name="Relu_30" out_port_id="1"/>
</map>
<map>
<framework name="382" out_port_id="382"/>
<IR id="23" name="onnx_initializer_node_382/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="362" out_port_id="362"/>
<IR id="199" name="Reshape_94/Cast_16219_const" out_port_id="1"/>
</map>
<map>
<framework name="267" out_port_id="267"/>
<IR id="59" name="Relu_25" out_port_id="1"/>
</map>
<map>
<framework name="385" out_port_id="385"/>
<IR id="29" name="onnx_initializer_node_385/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="285" out_port_id="285"/>
<IR id="87" name="Relu_38" out_port_id="1"/>
</map>
<map>
<framework name="367" out_port_id="367"/>
<IR id="213" name="BatchNormalization_98/variance/Fused_Add_" out_port_id="2"/>
</map>
<map>
<framework name="321" out_port_id="321"/>
<IR id="145" name="Add_63" out_port_id="2"/>
</map>
<map>
<framework name="381" out_port_id="381"/>
<IR id="26" name="Conv_10" out_port_id="2"/>
</map>
<map>
<framework name="414" out_port_id="414"/>
<IR id="85" name="Conv_36" out_port_id="2"/>
</map>
<map>
<framework name="441" out_port_id="441"/>
<IR id="133" name="Conv_57" out_port_id="2"/>
</map>
<map>
<framework name="394" out_port_id="394"/>
<IR id="45" name="onnx_initializer_node_394/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="373" out_port_id="373"/>
<IR id="7" name="onnx_initializer_node_373/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="423" out_port_id="423"/>
<IR id="100" name="Conv_42" out_port_id="2"/>
</map>
<map>
<framework name="234" out_port_id="234"/>
<IR id="6" name="MaxPool_2" out_port_id="1"/>
</map>
<map>
<framework name="332" out_port_id="332"/>
<IR id="162" name="Relu_71" out_port_id="1"/>
</map>
<map>
<framework name="369" out_port_id="369"/>
<IR id="4" name="Conv_0" out_port_id="2"/>
</map>
<map>
<framework name="468" out_port_id="468"/>
<IR id="181" name="Conv_78" out_port_id="2"/>
</map>
<map>
<framework name="input.1" out_port_id="input.1"/>
<IR id="0" name="input.1" out_port_id="0"/>
</map>
<map>
<framework name="325" out_port_id="325"/>
<IR id="151" name="Relu_66" out_port_id="1"/>
</map>
<map>
<framework name="341" out_port_id="341"/>
<IR id="177" name="Relu_77" out_port_id="1"/>
</map>
<map>
<framework name="247" out_port_id="247"/>
<IR id="27" name="Add_11" out_port_id="2"/>
</map>
<map>
<framework name="463" out_port_id="463"/>
<IR id="167" name="onnx_initializer_node_463/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="388" out_port_id="388"/>
<IR id="34" name="onnx_initializer_node_388/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="471" out_port_id="471"/>
<IR id="187" name="Conv_81" out_port_id="2"/>
</map>
<map>
<framework name="264" out_port_id="264"/>
<IR id="54" name="Relu_23" out_port_id="1"/>
</map>
<map>
<framework name="251" out_port_id="251"/>
<IR id="33" name="Relu_14" out_port_id="1"/>
</map>
<map>
<framework name="351" out_port_id="351"/>
<IR id="193" name="Add_84" out_port_id="2"/>
</map>
<map>
<framework name="337" out_port_id="337"/>
<IR id="171" name="Add_74" out_port_id="2"/>
</map>
<map>
<framework name="345" out_port_id="345"/>
<IR id="183" name="Relu_80" out_port_id="1"/>
</map>
<map>
<framework name="417" out_port_id="417"/>
<IR id="91" name="Conv_39" out_port_id="2"/>
</map>
<map>
<framework name="270" out_port_id="270"/>
<IR id="64" name="Add_27" out_port_id="2"/>
</map>
<map>
<framework name="397" out_port_id="397"/>
<IR id="49" name="onnx_initializer_node_397/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="427" out_port_id="427"/>
<IR id="103" name="onnx_initializer_node_427/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="433" out_port_id="433"/>
<IR id="114" name="onnx_initializer_node_433/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="448" out_port_id="448"/>
<IR id="141" name="onnx_initializer_node_448/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="294" out_port_id="294"/>
<IR id="102" name="Relu_44" out_port_id="1"/>
</map>
<map>
<framework name="393" out_port_id="393"/>
<IR id="48" name="Conv_20" out_port_id="2"/>
</map>
<map>
<framework name="271" out_port_id="271"/>
<IR id="65" name="Relu_28" out_port_id="1"/>
</map>
<map>
<framework name="375" out_port_id="375"/>
<IR id="15" name="Conv_5" out_port_id="2"/>
</map>
<map>
<framework name="426" out_port_id="426"/>
<IR id="106" name="Conv_45" out_port_id="2"/>
</map>
<map>
<framework name="409" out_port_id="409"/>
<IR id="71" name="onnx_initializer_node_409/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="472" out_port_id="472"/>
<IR id="184" name="onnx_initializer_node_472/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="408" out_port_id="408"/>
<IR id="74" name="Conv_31" out_port_id="2"/>
</map>
<map>
<framework name="430" out_port_id="430"/>
<IR id="108" name="onnx_initializer_node_430/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="329" out_port_id="329"/>
<IR id="157" name="Relu_69" out_port_id="1"/>
</map>
<map>
<framework name="474" out_port_id="474"/>
<IR id="192" name="Conv_83" out_port_id="2"/>
</map>
<map>
<framework name="263" out_port_id="263"/>
<IR id="53" name="Add_22" out_port_id="2"/>
</map>
<map>
<framework name="244" out_port_id="244"/>
<IR id="22" name="Relu_9" out_port_id="1"/>
</map>
<map>
<framework name="293" out_port_id="293"/>
<IR id="101" name="Add_43" out_port_id="2"/>
</map>
<map>
<framework name="364" out_port_id="364"/>
<IR id="204" name="BatchNormalization_95/variance/Fused_Add_" out_port_id="2"/>
</map>
<map>
<framework name="454" out_port_id="454"/>
<IR id="152" name="onnx_initializer_node_454/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="233" out_port_id="233"/>
<IR id="5" name="Relu_1" out_port_id="1"/>
</map>
<map>
<framework name="436" out_port_id="436"/>
<IR id="119" name="onnx_initializer_node_436/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="237" out_port_id="237"/>
<IR id="11" name="Relu_4" out_port_id="1"/>
</map>
<map>
<framework name="314" out_port_id="314"/>
<IR id="134" name="Add_58" out_port_id="2"/>
</map>
<map>
<framework name="278" out_port_id="278"/>
<IR id="76" name="Relu_33" out_port_id="1"/>
</map>
<map>
<framework name="412" out_port_id="412"/>
<IR id="77" name="onnx_initializer_node_412/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="406" out_port_id="406"/>
<IR id="66" name="onnx_initializer_node_406/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="390" out_port_id="390"/>
<IR id="43" name="Conv_18" out_port_id="2"/>
</map>
<map>
<framework name="456" out_port_id="456"/>
<IR id="161" name="Conv_70" out_port_id="2"/>
</map>
<map>
<framework name="435" out_port_id="435"/>
<IR id="122" name="Conv_52" out_port_id="2"/>
</map>
<map>
<framework name="301" out_port_id="301"/>
<IR id="113" name="Relu_49" out_port_id="1"/>
</map>
<map>
<framework name="457" out_port_id="457"/>
<IR id="158" name="onnx_initializer_node_457/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="445" out_port_id="445"/>
<IR id="136" name="onnx_initializer_node_445/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="462" out_port_id="462"/>
<IR id="170" name="Conv_73" out_port_id="2"/>
</map>
<map>
<framework name="322" out_port_id="322"/>
<IR id="146" name="Relu_64" out_port_id="1"/>
</map>
<map>
<framework name="241" out_port_id="241"/>
<IR id="17" name="Relu_7" out_port_id="1"/>
</map>
<map>
<framework name="465" out_port_id="465"/>
<IR id="176" name="Conv_76" out_port_id="2"/>
</map>
<map>
<framework name="288" out_port_id="288"/>
<IR id="92" name="Relu_40" out_port_id="1"/>
</map>
<map>
<framework name="308" out_port_id="308"/>
<IR id="124" name="Relu_54" out_port_id="1"/>
</map>
<map>
<framework name="475" out_port_id="475"/>
<IR id="189" name="onnx_initializer_node_475/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="400" out_port_id="400"/>
<IR id="55" name="onnx_initializer_node_400/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="372" out_port_id="372"/>
<IR id="10" name="Conv_3" out_port_id="2"/>
</map>
<map>
<framework name="1.8.weight" out_port_id="1.8.weight"/>
<IR id="214" name="onnx_initializer_node_1.8.weight/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="447" out_port_id="447"/>
<IR id="144" name="Conv_62" out_port_id="2"/>
</map>
<map>
<framework name="411" out_port_id="411"/>
<IR id="80" name="Conv_34" out_port_id="2"/>
</map>
<map>
<framework name="432" out_port_id="432"/>
<IR id="117" name="Conv_50" out_port_id="2"/>
</map>
<map>
<framework name="399" out_port_id="399"/>
<IR id="58" name="Conv_24" out_port_id="2"/>
</map>
<map>
<framework name="370" out_port_id="370"/>
<IR id="1" name="onnx_initializer_node_370/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="459" out_port_id="459"/>
<IR id="166" name="Conv_72" out_port_id="2"/>
</map>
<map>
<framework name="451" out_port_id="451"/>
<IR id="147" name="onnx_initializer_node_451/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="304" out_port_id="304"/>
<IR id="118" name="Relu_51" out_port_id="1"/>
</map>
<map>
<framework name="469" out_port_id="469"/>
<IR id="178" name="onnx_initializer_node_469/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="391" out_port_id="391"/>
<IR id="40" name="onnx_initializer_node_391/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="450" out_port_id="450"/>
<IR id="150" name="Conv_65" out_port_id="2"/>
</map>
<map>
<framework name="311" out_port_id="311"/>
<IR id="129" name="Relu_56" out_port_id="1"/>
</map>
<map>
<framework name="405" out_port_id="405"/>
<IR id="69" name="Conv_29" out_port_id="2"/>
</map>
<map>
<framework name="300" out_port_id="300"/>
<IR id="112" name="Add_48" out_port_id="2"/>
</map>
<map>
<framework name="387" out_port_id="387"/>
<IR id="37" name="Conv_15" out_port_id="2"/>
</map>
<map>
<framework name="396" out_port_id="396"/>
<IR id="52" name="Conv_21" out_port_id="2"/>
</map>
<map>
<framework name="418" out_port_id="418"/>
<IR id="88" name="onnx_initializer_node_418/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="366" out_port_id="366"/>
<IR id="209" name="Relu_97" out_port_id="1"/>
</map>
<map>
<framework name="421" out_port_id="421"/>
<IR id="93" name="onnx_initializer_node_421/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="315" out_port_id="315"/>
<IR id="135" name="Relu_59" out_port_id="1"/>
</map>
<map>
<framework name="438" out_port_id="438"/>
<IR id="128" name="Conv_55" out_port_id="2"/>
</map>
<map>
<framework name="402" out_port_id="402"/>
<IR id="63" name="Conv_26" out_port_id="2"/>
</map>
<map>
<framework name="338" out_port_id="338"/>
<IR id="172" name="Relu_75" out_port_id="1"/>
</map>
<map>
<framework name="307" out_port_id="307"/>
<IR id="123" name="Add_53" out_port_id="2"/>
</map>
<map>
<framework name="353" out_port_id="353"/>
<IR id="195" name="MaxPool_86" out_port_id="1"/>
</map>
<map>
<framework name="355" out_port_id="355"/>
<IR id="198" name="Concat_88" out_port_id="2"/>
</map>
<map>
<framework name="284" out_port_id="284"/>
<IR id="86" name="Add_37" out_port_id="2"/>
</map>
<map>
<framework name="258" out_port_id="258"/>
<IR id="44" name="Relu_19" out_port_id="1"/>
</map>
<map>
<framework name="297" out_port_id="297"/>
<IR id="107" name="Relu_46" out_port_id="1"/>
</map>
<map>
<framework name="328" out_port_id="328"/>
<IR id="156" name="Add_68" out_port_id="2"/>
</map>
<map>
<framework name="344" out_port_id="344"/>
<IR id="182" name="Add_79" out_port_id="2"/>
</map>
<map>
<framework name="379" out_port_id="379"/>
<IR id="18" name="onnx_initializer_node_379/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="277" out_port_id="277"/>
<IR id="75" name="Add_32" out_port_id="2"/>
</map>
<map>
<framework name="281" out_port_id="281"/>
<IR id="81" name="Relu_35" out_port_id="1"/>
</map>
<map>
<framework name="365" out_port_id="365"/>
<IR id="208" name="Gemm_96" out_port_id="2"/>
</map>
<map>
<framework name="460" out_port_id="460"/>
<IR id="163" name="onnx_initializer_node_460/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="254" out_port_id="254"/>
<IR id="38" name="Add_16" out_port_id="2"/>
</map>
<map>
<framework name="444" out_port_id="444"/>
<IR id="139" name="Conv_60" out_port_id="2"/>
</map>
<map>
<framework name="420" out_port_id="420"/>
<IR id="96" name="Conv_41" out_port_id="2"/>
</map>
<map>
<framework name="248" out_port_id="248"/>
<IR id="28" name="Relu_12" out_port_id="1"/>
</map>
<map>
<framework name="466" out_port_id="466"/>
<IR id="173" name="onnx_initializer_node_466/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="318" out_port_id="318"/>
<IR id="140" name="Relu_61" out_port_id="1"/>
</map>
<map>
<framework name="354" out_port_id="354"/>
<IR id="197" name="GlobalAveragePool_87/reduce" out_port_id="2"/>
</map>
<map>
<framework name="403" out_port_id="403"/>
<IR id="60" name="onnx_initializer_node_403/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="439" out_port_id="439"/>
<IR id="125" name="onnx_initializer_node_439/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="348" out_port_id="348"/>
<IR id="188" name="Relu_82" out_port_id="1"/>
</map>
<map>
<framework name="352" out_port_id="352"/>
<IR id="194" name="Relu_85" out_port_id="1"/>
</map>
<map>
<framework name="376" out_port_id="376"/>
<IR id="12" name="onnx_initializer_node_376/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="415" out_port_id="415"/>
<IR id="82" name="onnx_initializer_node_415/Output_0/Data__const" out_port_id="1"/>
</map>
<map>
<framework name="363" out_port_id="363"/>
<IR id="200" name="Reshape_94" out_port_id="2"/>
</map>
<map>
<framework name="378" out_port_id="378"/>
<IR id="21" name="Conv_8" out_port_id="2"/>
</map>
</mapping>
This source diff could not be displayed because it is too large. You can view the blob instead.
# from.facenet_lite import FaceNetLite
from edge_engine.common.logsetup import logger
from pymongo import MongoClient
from scripts.common.config import MONGO_DB_OBJ, APP_MONGO_COLLECTION
class AlarmUtils:
def __init__(self):
self.attendance_alarm_configuration_collection = MONGO_DB_OBJ[
APP_MONGO_COLLECTION.get('alarmConfigurationCollection')]
self.attendance_tag_collection = MONGO_DB_OBJ[APP_MONGO_COLLECTION.get('tagConfiguration')]
self.attendance_alarm_priority_collection = MONGO_DB_OBJ[APP_MONGO_COLLECTION.get('alarmPriorityCollection')]
def get_alarms(self):
alarms = [each for each in self.attendance_alarm_configuration_collection.find({}, {'_id': 0})]
return alarms
def get_priority_name(self, priority):
data = self.attendance_alarm_priority_collection.find_one({'id': priority}, {'_id': 0})
priority_name = data.get('priority_name')
return priority_name
def build_condition_string(self, rule):
condition = rule['condition']
tag_name = self.attendance_tag_collection.find_one({'tag_id': rule['leftHandSide']['tag']}, {'Tag Name': 1})[
'Tag Name']
condition_value = rule['rightHandSide']['customValue']
condition_name = f"{tag_name} {condition} {condition_value}"
return condition_name, tag_name
def build_message(self, each_alarm, tag_value):
alarmTemplate = each_alarm['alarmTemplate']
alarmTemplate = alarmTemplate.replace('[Tag Name]',
self.build_condition_string(each_alarm['ruleSets'][0]['rules'][0])[1])
alarmTemplate = alarmTemplate.replace('[Tag Value]', str(tag_value))
return alarmTemplate
def process_data(self, tag_value, av_alarms):
# add mongo query to fetch alarms
if av_alarms:
event_decision = {
"Safe": False,
"Risky": False,
"Message": self.build_message(av_alarms[0], tag_value)
}
for each_alarm in av_alarms:
try:
event_decision = self.process_alarm(alarm_record=each_alarm, tag_value=tag_value,
event_decision=event_decision)
except Exception as e:
raise Exception(str(e))
else:
event_decision = {
"Safe": False,
"Risky": False,
"Message": ""
}
logger.debug(" no alarms found")
return event_decision
def process_alarm(self, alarm_record, tag_value, event_decision):
try:
try:
rule_set_operation = "and" if alarm_record["ruleSetAndOrOperationData"][
"isAnd"] else "or"
rule_set_outputs = []
for each_rule_set in alarm_record["ruleSets"]:
try:
rule_operation = "and" if each_rule_set["ruleAndOrOperationData"][
"isAnd"] else "or"
rule_output = []
for each_rule in each_rule_set["rules"]:
try:
primary_output = self.alarm_rule_parser(each_rule, tag_value)
if primary_output is not None:
rule_output.append(primary_output)
except Exception as e:
logger.exception("Exception in parsing rule:" + str(e))
temp_output = self.aggregate_result(rule_operation, rule_output)
if temp_output is not None:
rule_set_outputs.append(temp_output)
except Exception as e:
logger.exception("Exception during parsing of individual rule set:" + str(e))
final_output = self.aggregate_result(rule_set_operation, rule_set_outputs)
# print("alarm condition output:", final_output)
logger.debug(
"{} {} {} {}".format(self.build_condition_string(alarm_record['ruleSets'][0]['rules'][0])[0],
tag_value,
self.get_priority_name(alarm_record['priority']),
final_output))
if self.get_priority_name(alarm_record['priority']) == 'Safe' and final_output == True:
event_decision['Safe'] = True
elif self.get_priority_name(alarm_record['priority']) == 'Risky' and final_output == True:
event_decision['Risky'] = True
# if final output is True, condition satisfied, if not condition not satisfied
return event_decision
except Exception as e:
logger.exception("Exception during alarm rule parsing:" + str(e))
except Exception as e:
logger.exception("Exception during alarm rule parsing:" + str(e))
# logger.debug("EXIT: Alarm Parser")
def get_tag_value(self, tag_value):
try:
return tag_value
except Exception as e:
logger.exception(" Unable to fetch tag value:" + str(e))
def alarm_rule_parser(self, rule, tag_value):
try:
left_side_value = self.get_tag_value(tag_value)
right_opr = str(rule["rightHandSide"][rule["rightHandSide"]["compareOption"]])
final_opr = ""
final_opr += str(left_side_value) + " "
final_opr += rule["condition"] + " "
final_opr += str(right_opr) + " "
rule_result = eval(final_opr)
return rule_result
except Exception as e:
logger.exception("Exception in parsing rule in alarms:" + str(e))
return None
def aggregate_result(self, condition, output):
try:
final_response = ""
if len(output) == 0:
logger.debug("empty array found inside aggregate result")
return None
# logger.debug("OUTPUT:" + str(output))
for i in range(0, len(output)):
final_response += str(output[i]) + " "
if i <= len(output) - 2:
final_response += condition + " "
final_response = eval(final_response)
# logger.debug("Result: " + str(final_response))
return final_response
except Exception as e:
logger.exception("Exception in parsing:" + str(e))
return None
import traceback
from datetime import datetime
from uuid import uuid1
from pymongo import MongoClient
from scripts.common.config import MONGO_DB_OBJ, APP_MONGO_COLLECTION
from edge_engine.common.logsetup import logger
class MongoLogger:
def __init__(self):
self.attendance_event_collection = MONGO_DB_OBJ[APP_MONGO_COLLECTION.get('eventLogCollection')]
self.camera_configuration = MONGO_DB_OBJ[APP_MONGO_COLLECTION.get('cameraConfigurationCollection')]
self.camera_mapping_json = self.get_all_cameras()
def get_all_cameras(self):
camera_mapping_json = self.camera_configuration.find({'decommissioned': False},
{"_id": 0})
camera_json = {}
for each in camera_mapping_json:
camera_json[each['cameraId']] = each['cameraName']
return camera_json
def insert_attendance_event_to_mongo(self, data):
try:
input_data = {
"eventId": str(uuid1()).split('-')[0],
"cameraId": data['deviceId'],
"cameraName": self.camera_mapping_json.get(data['deviceId'], "Thermal Camera"),
"timestamp": datetime.now().strftime("%b %d %Y %H:%M:%S"),
"frame": data['frame'],
"eventtype": "Intrusion Detection",
"bg_color": data["bg_color"],
"font_color": data["font_color"],
"intrusion_message": data["message"],
"alert_sound": data["alert_sound"],
"logged_activity": data["activity"]}
logger.info("Pushing to Mongo..")
input_data["timestamp"] = datetime.now()
self.attendance_event_collection.insert(input_data)
except Exception as e:
logger.info(e)
logger.error(traceback.format_exc())
from cachetools import cached, TTLCache
import time
TTL = 1
class NotificationFilter(object):
def __init__(self, ttl_value=3):
"""init function
"""
global TTL
TTL = ttl_value
self.TTL = ttl_value
self.face_id_cache = {}
def _update_cache(self, name):
"""updates the cache with a name
Args:
name (str): Name of the person
"""
self.face_id_cache[name] = time.time()
def send_notification(self, name):
"""Returns a boolean if the notification center has to be notified
or not
Args:
name (str): name of person identified
Returns:
notify (bool): True if notification to be sent False if the
notification is not to be sent
"""
self._clean_up_cache()
if name is None:
notify = False
else:
is_present = self.face_id_cache.get(name, -1)
if is_present == -1:
notify = True
self._update_cache(name)
else:
notify = False
return notify
@cached(cache=TTLCache(maxsize=1024, ttl=TTL))
def _clean_up_cache(self):
"""Cleans up the cached name at regular interval
"""
key_to_delete = []
for key, value in self.face_id_cache.items():
if time.time() - value >= self.TTL:
key_to_delete.append(key)
for key in key_to_delete:
del self.face_id_cache[key]
if __name__ == "__main__":
obj = NotificationFilter()
print(obj.send_notification("Litesh"))
print(obj.send_notification("Litesh"))
time.sleep(3)
print(obj.send_notification("Litesh"))
time.sleep(1)
print(obj.send_notification("Litesh"))
import logging as log
class YoloParams:
# ------------------------------------------- Extracting layer parameters ------------------------------------------
# Magic numbers are copied from yolo samples
def __init__(self, param, side):
self.num = 3 if 'num' not in param else int(param['num'])
self.coords = 4 if 'coords' not in param else int(param['coords'])
self.classes = 80 if 'classes' not in param else int(param['classes'])
self.side = side
self.anchors = [10.0, 13.0, 16.0, 30.0, 33.0, 23.0, 30.0, 61.0, 62.0, 45.0, 59.0, 119.0, 116.0, 90.0, 156.0,
198.0,
373.0, 326.0] if 'anchors' not in param else [float(a) for a in param['anchors'].split(',')]
self.isYoloV3 = False
if param.get('mask'):
mask = [int(idx) for idx in param['mask'].split(',')]
self.num = len(mask)
maskedAnchors = []
for idx in mask:
maskedAnchors += [self.anchors[idx * 2], self.anchors[idx * 2 + 1]]
self.anchors = maskedAnchors
self.isYoloV3 = True # Weak way to determine but the only one.
def log_params(self):
params_to_print = {'classes': self.classes, 'num': self.num, 'coords': self.coords, 'anchors': self.anchors}
[log.info(" {:8}: {}".format(param_name, param)) for param_name, param in params_to_print.items()]
\ No newline at end of file
from edge_engine.ai.model.modelwraper import ModelWrapper
from scripts.utils.infocenter import MongoLogger
from edge_engine.common.logsetup import logger
from scripts.utils.notify_infocenter import NotificationFilter
from openvino.inference_engine import IECore
import cv2
import base64
import numpy as np
from imutils.video import FPS
import datetime
import traceback
# from scripts.utils.yolo_params import YoloParams
# from yolov5processor.infer import ExecuteInference
import os
from math import exp as exp
import time
from openvino.inference_engine import IECore
try:
import urlparse
except ImportError:
import urllib.parse as urlparse
class Welspun_Classifier(ModelWrapper):
def __init__(self, config, model_config, pubs, device_id):
super().__init__()
"""
init function
"""
self.config = config["config"]
self.device_id = device_id
self.rtp = pubs.rtp_write
logger.info("Loading model to the device")
self.mongologger = MongoLogger()
self.notify_bool = NotificationFilter(ttl_value=model_config.get('notification_ttl_value_sec'))
self.base_model_path = 'scripts/model/'
print("[INFO] loading Stitch Detection Model")
# open-vino
self.sink_layer = {'0': 'conv2d_58/BiasAdd/Add', '1': 'conv2d_66/BiasAdd/Add', '2': 'conv2d_74/BiasAdd/Add'}
self.model_detector_pth = os.path.join(self.base_model_path, "resnet34-wel.xml")
self.model_bin = os.path.splitext(self.model_detector_pth)[0] + ".bin"
self.ie = IECore()
self.net1 = self.ie.read_network(model=self.model_detector_pth, weights=self.model_bin)
self.input_blob = next(iter(self.net1.inputs))
self.n, self.c, self.h, self.w = self.net1.inputs[self.input_blob].shape
self.out_blob = next(iter(self.net1.outputs))
self.update_net(self.net1)
logger.info("Loading model to the device")
self.exec_net = self.ie.load_network(network=self.net1, device_name="CPU")
self.frame_skip_count = 25
self.counter = 0
def _pre_process(self, x):
"""
Do preprocessing here, if any
:param x: payload
:return: payload
"""
return x
def _post_process(self, x):
"""
Apply post processing here, if any
:param x: payload
:return: payload
"""
self.rtp.publish(x) # video stream
return x
def send_payload(self, message, frame, label, bg_color, font_color, alert_sound):
"""
For selective sending of notification to the infocenter
:param _emp_name: employee name
:param _emp_temp: employee temperature recorded
:param _emp_id: employee id
:param message: message tp be shown
:param temp_exceedence_check: boolean temperature excedence or not
:param class_idx: str class mapping for mask detection
:param temperature_flag: risky or safe str
:param croped_face: cropped frame of face
:return: None
"""
payload = {"deviceId": self.device_id, "message": message,
"frame": 'data:image/jpeg;base64,' + base64.b64encode(
cv2.imencode('.jpg', frame)[1].tostring()).decode("utf-8"), "activity": label,
"bg_color": bg_color, "font_color": font_color, "alert_sound": alert_sound}
self.mongologger.insert_attendance_event_to_mongo(payload)
def _predict(self, obj):
try:
frame = obj['frame']
orig_image = cv2.resize(frame, (800, 600))
frame = self.process_frame(orig_image)
obj['frame'] = cv2.resize(frame, (self.config.get('FRAME_WIDTH'), self.config.get('FRAME_HEIGHT')))
timestamp = datetime.datetime.now().replace(microsecond=0).isoformat()
obj["timestamp"] = timestamp
except Exception as e:
logger.debug(f"Error: {e}")
obj['frame'] = cv2.resize(obj['frame'], (self.config.get('FRAME_WIDTH'), self.config.get('FRAME_HEIGHT')))
traceback.print_exc()
obj["error"] = "{}".format(e)
obj["message"] = "{}".format("error processing frame")
obj["status"] = False
obj["timestamp"] = datetime.datetime.now().replace(microsecond=0).isoformat()
return obj
@staticmethod
def update_net(net1):
for input_key in net1.inputs:
if len(net1.inputs[input_key].layout) == 4:
input_name = input_key
# logger.info("Batch size is {}".format(net1.batch_size))
# net.inputs[input_key].precision = 'FP16'
elif len(net1.inputs[input_key].layout) == 2:
input_info_name = input_key
net1.inputs[input_key].precision = 'FP32'
if net1.inputs[input_key].shape[1] != 3 and net1.inputs[input_key].shape[1] != 6 or \
net1.inputs[input_key].shape[
0] != 1:
pass
# logger.error('Invalid input info. Should be 3 or 6 values length.')
# --------------------------- Prepare output blobs ----------------------------------------------------
# logger.info('Preparing output blobs')
output_info = net1.outputs[next(iter(net1.outputs.keys()))]
output_info.precision = "FP32"
for output_key in net1.outputs:
output_name, output_info = output_key, net1.outputs[output_key]
# print("output")
# print(output_name, output_info)
# -----------------------------------------------------------------------------------------------------
def check_zone(self, point, frame_size):
frame_size = [frame_size[1], frame_size[0]]
if point[0] <= frame_size[0] / 2 and point[1] <= frame_size[1] / 2:
return 'Vilolation in Zone 1'
elif (point[0] > frame_size[0] / 2 and point[1] < frame_size[1] / 2):
return 'Vilolation in Zone 2'
elif (point[0] > frame_size[0] / 2 and point[1] > frame_size[1] / 2):
return 'Vilolation in Zone 3'
else:
return 'Vilolation in Zone 4'
def send_payload(self, message, frame, label, bg_color, font_color, alert_sound):
"""
For selective sending of notification to the infocenter
:param _emp_name: employee name
:param _emp_temp: employee temperature recorded
:param _emp_id: employee id
:param message: message tp be shown
:param temp_exceedence_check: boolean temperature excedence or not
:param class_idx: str class mapping for mask detection
:param temperature_flag: risky or safe str
:param croped_face: cropped frame of face
:return: None
"""
payload = {"deviceId": self.device_id, "message": message,
"frame": 'data:image/jpeg;base64,' + base64.b64encode(
cv2.imencode('.jpg', frame)[1].tostring()).decode("utf-8"), "activity": label,
"bg_color": bg_color, "font_color": font_color, "alert_sound": alert_sound}
self.mongologger.insert_attendance_event_to_mongo(payload)
def normalize(self, image):
# imagenet_stats
mean = [0.485, 0.456, 0.406]
std = [0.229, 0.224, 0.225]
image = image * 1 / 255.0
image = (image - mean) / std
return image
def softmax_function(self, vec):
vec = np.array(vec)
exp_vec = np.exp(vec)
return exp_vec / np.sum(exp_vec)
def process_frame(self, frame):
starttime = time.time()
vino_frame = frame.copy()
images = np.ndarray(shape=(self.n, self.c, self.h, self.w))
images_hw = []
for i in range(self.n):
image = vino_frame
ih, iw = image.shape[:-1]
images_hw.append((ih, iw))
if (ih, iw) != (self.h, self.w):
# log.warning("Image {} is resized from {} to {}".format(img, image.shape[:-1], (h, w)))
image = cv2.resize(image, (self.w, self.h))
image = self.normalize(image)
# log.warning("Image {} is resized from {} to {}".format(args.input[i], image.shape[:-1], (h, w)))
image = image.transpose((2, 0, 1)) # Change data layout from HWC to CHW
images[i] = image
# log.info("Batch size is {}".format(n))
#
# log.info("Starting inference in synchronous mode")
start = time.time()
res = self.exec_net.infer(inputs={self.input_blob: images})
print(f"Inference time: {time.time() - start}")
# Processing output blob
# log.info("Processing output blob")
res = res[self.out_blob]
prob = self.softmax_function(res[0])
x = []
x.append(prob[0])
x.append(prob[1])
x.append(prob[2])
a = x.index(max(x))
# print(type(prob))
# if self.counter%1 == 0:
self.counter = self.counter + 1
if a == 0 and max(x) > 0.95:
resized_frame = cv2.resize(frame, (64, 64))
cv2.putText(frame, text="Mix Color Defect Detected", org=(50, 50),
color=(0, 0, 255),
thickness=2,
fontScale=1, fontFace=cv2.LINE_AA)
if self.counter % 25 == 0:
self.send_payload("Mix Color Detected", resized_frame, "Mix Color " + str(prob[0]), "#472020",
"#ed2020",
"sound_1")
logger.info(f"Probability: {prob}")
self.counter = 0
elif a == 1 and max(x) > 0.95:
resized_frame = cv2.resize(frame, (64, 64))
cv2.putText(frame, text="Split Defect Detected", org=(50, 50),
color=(0, 0, 255),
thickness=2,
fontScale=1, fontFace=cv2.LINE_AA)
if self.counter % 25 == 0:
self.send_payload("Split Detected", resized_frame, "Split " + str(prob[1]), "#472020", "#ed2020",
"sound_1")
logger.info(f"Probability: {prob}")
self.counter = 0
else:
logger.info("enter else loop")
if sum(sum(sum(frame))) == 0:
pass
else:
resized_frame = cv2.resize(frame, (64, 64))
cv2.putText(frame, text="Good Sample", org=(50, 50),
color=(0, 0, 255),
thickness=2,
fontScale=1, fontFace=cv2.LINE_AA)
if self.counter % 25 == 0:
self.send_payload("Good Sample", resized_frame, "Good Sample ", "#044b04", "#24dc24", "sound_1")
logger.info(f"Probability: {prob}")
self.counter = 0
# if prob[0] > 0.9:
# # print("prob--->",prob[0])
# cv2.putText(frame, text="Stitch Detected with Probability :" + str(prob[0]), org=(50, 50),
# color=(255, 255, 255),
# thickness=1,
# fontScale=1, fontFace=cv2.LINE_AA)
# self.send_payload("Stitch Detected", frame, "Stitch " + str(prob[0]), "#472020", "#ed2020", "sound_1")
# logger.info(f"Probability: {prob}")
# self.counter= self.counter + 1
print("total time taken to process-------------> ", str(time.time() - starttime))
# logger.info(f"total time taken to process----------------- {time.time()-starttime}")
# cv2.imshow('res', frame)
return frame
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment