Skip to content
Snippets Groups Projects
Commit bec9ad8d authored by delacal's avatar delacal
Browse files

Obtaining ML features through ONNX file metadata

Modified CAD component to send ML features to DAD
parent e0a8039a
No related branches found
No related tags found
2 merge requests!142Release TeraFlowSDN 2.1,!93Updated L3 components + scalability
......@@ -22,7 +22,7 @@ import onnxruntime as rt
import logging
import time
from common.proto.l3_centralizedattackdetector_pb2 import Empty
from common.proto.l3_centralizedattackdetector_pb2 import Empty, AutoFeatures
from common.proto.l3_centralizedattackdetector_pb2_grpc import L3CentralizedattackdetectorServicer
from common.proto.l3_attackmitigator_pb2 import L3AttackmitigatorOutput
......@@ -59,11 +59,10 @@ class l3_centralizedattackdetectorServiceServicerImpl(L3Centralizedattackdetecto
self.inference_results = []
self.model = rt.InferenceSession(MODEL_FILE)
# Load features metadata from onnx file
self.meta = list(self.model.get_modelmeta().custom_metadata_map.values())
self.meta = [int(x) for x in self.meta]
self.meta = [float(x) for x in self.meta]
self.meta.sort()
LOGGER.debug(self.meta)
LOGGER.debug("Prueba onnx")
self.input_name = self.model.get_inputs()[0].name
self.label_name = self.model.get_outputs()[0].name
......@@ -455,23 +454,6 @@ class l3_centralizedattackdetectorServiceServicerImpl(L3Centralizedattackdetecto
"""
def make_inference(self, request):
'''x_data = np.array(
[
[
request.c_pkts_all,
request.c_ack_cnt,
request.c_bytes_uniq,
request.c_pkts_data,
request.c_bytes_all,
request.s_pkts_all,
request.s_ack_cnt,
request.s_bytes_uniq,
request.s_pkts_data,
request.s_bytes_all,
]
]
)'''
x_data = np.array(
[
[feature.feature for feature in request.features]
......@@ -643,3 +625,13 @@ class l3_centralizedattackdetectorServiceServicerImpl(L3Centralizedattackdetecto
logging.info("No attack detected")
return Empty(message="Ok, information received (no attack detected)")
"""
Send features allocated in the metadata of the onnx file to the DAD
-output: ONNX metadata as a list of integers
"""
def SendFeatures(self, request : Empty, context):
features = AutoFeatures()
for feature in self.meta:
features.autoFeatures.append(feature)
return features
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment