From 763948083939606977f98eb1942f52ca55335c38 Mon Sep 17 00:00:00 2001 From: DanTen317 Date: Wed, 11 Dec 2024 13:14:57 +0300 Subject: [PATCH] feat: add InterpretationAgent to py-agents and use_problem_solving_method to kb --- .../models/keras/model.keras | Bin 0 -> 218210 bytes .../probability.gwf | 8 ++ .../startup_test.gwf | 44 ++++++ .../test_images/image.png | Bin 0 -> 642 bytes .../annInterpreter/ConverterUser.py | 15 ++ .../InterpretationParametersReader.py | 132 ++++++++++++++++++ .../UseProblemSolvingMethodAgent.py | 101 ++++++++++++++ .../UseProblemSolvingMethodModule.py | 8 ++ .../converters/Converter.py | 3 + .../converters/ImageConverter.py | 14 ++ .../dataClasses/AnnStruct.py | 14 ++ .../dataClasses/InterpretationParameters.py | 16 +++ .../dataClasses/inputOutput/ImageStruct.py | 11 ++ .../inputOutput/InputOutputStruct.py | 10 ++ problem-solver/py/requirements.txt | 4 +- problem-solver/py/server.py | 5 +- .../py/tests/interpretation_testcase.py | 0 17 files changed, 383 insertions(+), 2 deletions(-) create mode 100644 kb/use_problem_solving_method_module/models/keras/model.keras create mode 100644 kb/use_problem_solving_method_module/probability.gwf create mode 100644 kb/use_problem_solving_method_module/startup_test.gwf create mode 100644 kb/use_problem_solving_method_module/test_images/image.png create mode 100644 problem-solver/py/modules/UseProblemSolvingMethodModule/annInterpreter/ConverterUser.py create mode 100644 problem-solver/py/modules/UseProblemSolvingMethodModule/annInterpreter/InterpretationParametersReader.py create mode 100644 problem-solver/py/modules/UseProblemSolvingMethodModule/annInterpreter/UseProblemSolvingMethodAgent.py create mode 100644 problem-solver/py/modules/UseProblemSolvingMethodModule/annInterpreter/UseProblemSolvingMethodModule.py create mode 100644 problem-solver/py/modules/UseProblemSolvingMethodModule/converters/Converter.py create mode 100644 problem-solver/py/modules/UseProblemSolvingMethodModule/converters/ImageConverter.py create mode 100644 problem-solver/py/modules/UseProblemSolvingMethodModule/dataClasses/AnnStruct.py create mode 100644 problem-solver/py/modules/UseProblemSolvingMethodModule/dataClasses/InterpretationParameters.py create mode 100644 problem-solver/py/modules/UseProblemSolvingMethodModule/dataClasses/inputOutput/ImageStruct.py create mode 100644 problem-solver/py/modules/UseProblemSolvingMethodModule/dataClasses/inputOutput/InputOutputStruct.py create mode 100644 problem-solver/py/tests/interpretation_testcase.py diff --git a/kb/use_problem_solving_method_module/models/keras/model.keras b/kb/use_problem_solving_method_module/models/keras/model.keras new file mode 100644 index 0000000000000000000000000000000000000000..34e13db9f5c81c2861de624ebb3eb84d08fe6487 GIT binary patch literal 218210 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

Vnv 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 + + + + + + + diff --git a/kb/use_problem_solving_method_module/startup_test.gwf b/kb/use_problem_solving_method_module/startup_test.gwf new file mode 100644 index 00000000..90776bea --- /dev/null +++ b/kb/use_problem_solving_method_module/startup_test.gwf @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/kb/use_problem_solving_method_module/test_images/image.png b/kb/use_problem_solving_method_module/test_images/image.png new file mode 100644 index 0000000000000000000000000000000000000000..8494f84b3760d07a8b7bc9ab5be1d6963620c49a GIT binary patch literal 642 zcmV-|0)737P)NklDEE#m zEO{w!`ceJfZZ-rRHJ{i_UTe-+x|aUYA3trO!Y2@%O+W>KbzZAO^2&*EA8dl>tkS`*jlXi z*V4ZF=!@o!2lbg*t<`$7P9F&L{gm-@2f4qcTum2)l_m(Ir;nb0o>c?{HU9F|3xkjQ zv$5%{asKp`>n3yF<3PcqUv>KuJ-YM^vDc&;DzQ*f@143F+W}S`dh>Ns5RuF0eMpLzgcV-p&VT zMN#mn>jpD-2<@Sf1s$9*j?PDNUdf}Y)5Ei?<6v1_U>EzE{WklDL^&}sRCf{1wpt5I cAIJds3rfoA{<69aGynhq07*qoM6N<$f+uV%?f?J) literal 0 HcmV?d00001 diff --git a/problem-solver/py/modules/UseProblemSolvingMethodModule/annInterpreter/ConverterUser.py b/problem-solver/py/modules/UseProblemSolvingMethodModule/annInterpreter/ConverterUser.py new file mode 100644 index 00000000..a9f80bee --- /dev/null +++ b/problem-solver/py/modules/UseProblemSolvingMethodModule/annInterpreter/ConverterUser.py @@ -0,0 +1,15 @@ +from typing import List + +from modules.UseProblemSolvingMethodModule.converters import Converter + + +class ConverterUser: + def __init__(self, problems:List[str]): + self.problems = problems.sort() + + def __findConverter(self)->Converter: + for problem in self.problems: + match problem: + case "concept_image_classification": + pass + diff --git a/problem-solver/py/modules/UseProblemSolvingMethodModule/annInterpreter/InterpretationParametersReader.py b/problem-solver/py/modules/UseProblemSolvingMethodModule/annInterpreter/InterpretationParametersReader.py new file mode 100644 index 00000000..a3aefaa0 --- /dev/null +++ b/problem-solver/py/modules/UseProblemSolvingMethodModule/annInterpreter/InterpretationParametersReader.py @@ -0,0 +1,132 @@ +import logging +from os.path import dirname, abspath +from typing import List + +import PIL.Image +import numpy + +import numpy as np +import sc_kpm +from sc_client.client import * +from sc_client.constants import sc_types +from sc_client.models import * +import tensorflow as tf + +from modules.UseProblemSolvingMethodModule.dataClasses.InterpretationParameters import InterpretationParameters +from modules.UseProblemSolvingMethodModule.dataClasses.AnnStruct import AnnStruct +from modules.UseProblemSolvingMethodModule.dataClasses.inputOutput.ImageStruct import Image + +logging.basicConfig( + level=logging.INFO, format="%(asctime)s | %(name)s | %(message)s", datefmt="[%d-%b-%y %H:%M:%S]" +) + +# todo: use absolute filepaths? +def get_ann_path() -> str: + script_directory = dirname(dirname(abspath(__file__))) + ann_path = dirname(dirname(dirname(dirname(dirname(script_directory))))) + return ann_path + + +class InterpretationParametersReader: + def __init__(self) -> None: + pass + + def get_interpretation_parameters(self, action_addr: ScAddr) -> InterpretationParameters: + ann_address = self.__get_ann_address(action_addr) + + ann_model = self.__get_keras_model(ann_address) + ann_input_shape = self.__get_ann_input_shape(ann_address) + ann_output_shape = self.__get_ann_output_shape(ann_address) + + ann_struct = AnnStruct(network_address=ann_address, + ann_model=ann_model, + num_of_inputs=ann_input_shape, + num_of_outputs=ann_output_shape) + + problem_addr = self.__get_problem_addr(action_addr) + input_struct = self.__get_image(self.__get_image_addr(problem_addr)) + + return InterpretationParameters(ann_struct, input_struct) + + @staticmethod + def __get_rrel_target(source_addr: ScAddr, rrel_name: str) -> ScAddr: + template = ScTemplate() + template.triple_with_relation( + source_addr, + sc_types.EDGE_ACCESS_VAR_POS_PERM, + sc_types.NODE_VAR, + sc_types.EDGE_ACCESS_VAR_POS_PERM, + sc_kpm.ScKeynodes[rrel_name] + ) + return template_search(template)[0][2] + + @staticmethod + def __get_nrel_target_link(source_addr: ScAddr, nrel_name: str) -> ScAddr: + template = ScTemplate() + template.triple_with_relation( + source_addr, + sc_types.EDGE_D_COMMON_VAR, + sc_types.LINK_VAR, + sc_types.EDGE_ACCESS_VAR_POS_PERM, + sc_kpm.ScKeynodes[nrel_name] + ) + return template_search(template)[0][2] + + # def __get_classes(source_addr: ScAddr) -> List[ScAddr]: + # template = ScTemplate() + # template.triple( + # sc_types.NODE_CLASS, + # sc_types.EDGE_ACCESS_VAR_POS_PERM, + # source_addr + # ) + # + # sc_classes = [] + # for template_result in template_search(template): + # sc_classes.append(template_result[2]) + # return sc_classes + + def __get_problem_addr(self, action_addr: ScAddr) -> ScAddr: + return self.__get_rrel_target(action_addr, "rrel_1") + + # def __get_problem_types(self, problem_addr: ScAddr) -> List[ScAddr]: + # return self.__get_classes(problem_addr) + + def __get_image_addr(self, problem_addr: ScAddr) -> ScAddr: + return self.__get_rrel_target(problem_addr, "rrel_input_image") + + def __get_file(self, file_addr: ScAddr, nrel_name: str) -> str: + filepath_link_addr = self.__get_nrel_target_link(file_addr, nrel_name) + file_filepath = get_link_content(filepath_link_addr)[0].data + return file_filepath + + def __get_image(self, image_addr: ScAddr) -> Image: + image_path = self.__get_file(image_addr, "nrel_filepath") + kb_path = f'{get_ann_path()}/kb' + + image = PIL.Image.open(f'{kb_path}/{image_path}') + image_struct = Image(object_addr=image_addr, + data_array=numpy.array(image), + image_shape=image.size) + logging.info(f'Image imported') + return image_struct + + def __get_ann_address(self, action_addr: ScAddr) -> ScAddr: + return self.__get_rrel_target(action_addr, "rrel_2") + + def __get_keras_model(self, model_addr: ScAddr) -> tf.keras.Model: + ann_path = self.__get_file(model_addr, "nrel_keras_ann") + kb_path = f'{get_ann_path()}/kb' + + model = tf.keras.models.load_model(f"{kb_path}/{ann_path}") + return model + + def __get_ann_input_shape(self, ann_addr: ScAddr) -> int: + model = self.__get_keras_model(ann_addr) + logging.info(f"Input shape: {model.input_shape[1]}") + return model.input_shape[1] + + def __get_ann_output_shape(self, ann_addr: ScAddr) -> int: + model = self.__get_keras_model(ann_addr) + logging.info(f"Output shape: {model.output_shape[1]}") + return model.output_shape[1] + diff --git a/problem-solver/py/modules/UseProblemSolvingMethodModule/annInterpreter/UseProblemSolvingMethodAgent.py b/problem-solver/py/modules/UseProblemSolvingMethodModule/annInterpreter/UseProblemSolvingMethodAgent.py new file mode 100644 index 00000000..81dc9b43 --- /dev/null +++ b/problem-solver/py/modules/UseProblemSolvingMethodModule/annInterpreter/UseProblemSolvingMethodAgent.py @@ -0,0 +1,101 @@ +import sc_kpm +from sc_client.client import create_elements, template_search, resolve_keynodes +from sc_client.constants import sc_types +from sc_client.constants.common import ScEventType +from sc_client.models import ScAddr, ScTemplate, ScConstruction, ScIdtfResolveParams +from sc_kpm import ScAgentClassic, ScKeynodes +from sc_kpm.sc_result import ScResult +from sc_kpm.utils import get_system_idtf, create_node, create_edge, get_link_content_data +import tensorflow as tf +import numpy + +from modules.UseProblemSolvingMethodModule.annInterpreter.InterpretationParametersReader import \ + InterpretationParametersReader +from modules.UseProblemSolvingMethodModule.converters.ImageConverter import ImageConverter + +from modules.UseProblemSolvingMethodModule.dataClasses.InterpretationParameters import InterpretationParameters + + + +class UseProblemSolvingMethodAgent(ScAgentClassic): + def __init__(self) -> None: + super().__init__("action_use_problem_solving_method") + + def on_event(self, event_element: ScAddr, event_edge: ScAddr, action_element: ScAddr) -> ScResult: + self.logger.info("UseProblemSolvingMethodAgent started") + result = self.__run(action_element) + self.logger.info("UseProblemSolvingAgent finished") + return result + + def __run(self, action_element: ScAddr) -> ScResult: + # Get Interpretation parameters from input struct + reader = InterpretationParametersReader() + interpretation_parameters: InterpretationParameters = reader.get_interpretation_parameters(action_element) + + model = interpretation_parameters.ann_struct.ann_model + input_data = ImageConverter.convert_image_to_inputs(interpretation_parameters.input_struct, + interpretation_parameters.ann_struct.num_of_inputs) + + predictions = model.predict(input_data) + score = tf.nn.softmax(predictions[0]) + print(numpy.max(score * 100)) + self.logger.info(f"Object score:{score}") + + self.__save_ann_output(predictions, interpretation_parameters) + + output_construct = ScConstruction() + output_construct.create_edge(sc_type=sc_types.EDGE_D_COMMON_CONST, + src=action_element, + trg=interpretation_parameters.input_struct.object_addr, + alias='edge') + output_construct.create_edge(sc_types.EDGE_ACCESS_CONST_POS_PERM, + sc_kpm.ScKeynodes["nrel_result"], + 'edge') + addresses = create_elements(output_construct) + assert all(addresses) + + return ScResult.OK + + def __save_ann_output(self, predictions: numpy.array, interpretation_parameters: InterpretationParameters) -> None: + objet_addr = interpretation_parameters.input_struct.object_addr + + score = tf.nn.softmax(predictions[0]) + max_prediction: int = numpy.max(score * 100) + max_prediction_index: int = int(numpy.argmax(score * 100)) + self.__save_ann_output_to_sc_memory(max_prediction, max_prediction_index, objet_addr) + + def __save_ann_output_to_sc_memory(self, max_prediction: int, max_prediction_index: int, + object_addr: ScAddr) -> None: + self.logger.info(f"Max prediction: {max_prediction}") + + # TODO add ann classes if exists + # Now it name recognised class as index of output array + result_node_params = ScIdtfResolveParams(idtf=f'[{max_prediction_index}]', type=sc_types.NODE_CONST_CLASS) + result_node_addr = resolve_keynodes(result_node_params)[0] + construction = ScConstruction() + construction.create_edge(sc_type=sc_types.EDGE_ACCESS_CONST_FUZ_PERM, + src=result_node_addr, + trg=object_addr, + alias='fuz_edge') + addresses = create_elements(construction) + assert len(addresses) == 1 + assert all(addresses) + fuz_edge_addr = addresses[0] + self.logger.info(f'Fuz Edge addr:{fuz_edge_addr}') + + probability_node_params = ScIdtfResolveParams(idtf=f'{str(max_prediction)}%', type=sc_types.NODE_CONST_CLASS) + probability_node_addr = resolve_keynodes(probability_node_params)[0] + probability_construction = ScConstruction() + probability_construction.create_edge(sc_type=sc_types.EDGE_ACCESS_CONST_POS_PERM, + src=sc_kpm.ScKeynodes["probability"], + trg=probability_node_addr, ) + probability_construction.create_edge(sc_type=sc_types.EDGE_ACCESS_CONST_POS_PERM, + src=probability_node_addr, + trg=fuz_edge_addr) + addresses = create_elements(probability_construction) + assert len(addresses) == 2 + assert all(addresses) + # fuz_edge_addr = addresses[0] + self.logger.info(f'Probability created') + + self.logger.info(f"Saved to kb") diff --git a/problem-solver/py/modules/UseProblemSolvingMethodModule/annInterpreter/UseProblemSolvingMethodModule.py b/problem-solver/py/modules/UseProblemSolvingMethodModule/annInterpreter/UseProblemSolvingMethodModule.py new file mode 100644 index 00000000..5f9c6b0e --- /dev/null +++ b/problem-solver/py/modules/UseProblemSolvingMethodModule/annInterpreter/UseProblemSolvingMethodModule.py @@ -0,0 +1,8 @@ +from sc_kpm import ScModule + +from .UseProblemSolvingMethodAgent import UseProblemSolvingMethodAgent + + +class UseProblemSolvingMethodModule(ScModule): + def __init__(self) -> None: + super().__init__(UseProblemSolvingMethodAgent()) \ No newline at end of file diff --git a/problem-solver/py/modules/UseProblemSolvingMethodModule/converters/Converter.py b/problem-solver/py/modules/UseProblemSolvingMethodModule/converters/Converter.py new file mode 100644 index 00000000..5090e1bd --- /dev/null +++ b/problem-solver/py/modules/UseProblemSolvingMethodModule/converters/Converter.py @@ -0,0 +1,3 @@ +class Converter: + def __init__(self): + pass \ No newline at end of file diff --git a/problem-solver/py/modules/UseProblemSolvingMethodModule/converters/ImageConverter.py b/problem-solver/py/modules/UseProblemSolvingMethodModule/converters/ImageConverter.py new file mode 100644 index 00000000..d17db866 --- /dev/null +++ b/problem-solver/py/modules/UseProblemSolvingMethodModule/converters/ImageConverter.py @@ -0,0 +1,14 @@ +import numpy + +from .Converter import Converter +from modules.UseProblemSolvingMethodModule.dataClasses.inputOutput.ImageStruct import Image + + +class ImageConverter(Converter): + @staticmethod + def convert_image_to_inputs(image: Image, number_of_inputs: int) -> numpy.array: + numpydata = image.data_array + numpy.shape(numpydata) + + numpydata = numpy.reshape(numpydata, (1, number_of_inputs)) + return numpydata diff --git a/problem-solver/py/modules/UseProblemSolvingMethodModule/dataClasses/AnnStruct.py b/problem-solver/py/modules/UseProblemSolvingMethodModule/dataClasses/AnnStruct.py new file mode 100644 index 00000000..99122249 --- /dev/null +++ b/problem-solver/py/modules/UseProblemSolvingMethodModule/dataClasses/AnnStruct.py @@ -0,0 +1,14 @@ +from dataclasses import dataclass +from typing import List + +import keras +from sc_client.models import ScAddr + + +@dataclass +class AnnStruct: + network_address: ScAddr + ann_model: keras.Model + num_of_inputs: int + num_of_outputs: int + output_labels: List[str] = None \ No newline at end of file diff --git a/problem-solver/py/modules/UseProblemSolvingMethodModule/dataClasses/InterpretationParameters.py b/problem-solver/py/modules/UseProblemSolvingMethodModule/dataClasses/InterpretationParameters.py new file mode 100644 index 00000000..83ec96ac --- /dev/null +++ b/problem-solver/py/modules/UseProblemSolvingMethodModule/dataClasses/InterpretationParameters.py @@ -0,0 +1,16 @@ +from dataclasses import dataclass +from typing import List + +from sc_client.models import ScAddr + +from .AnnStruct import AnnStruct +from .inputOutput.ImageStruct import Image + + +@dataclass +class InterpretationParameters: + ann_struct: AnnStruct + input_struct: Image # inputs for ann + problem_types: List[ScAddr] = None # todo or maybe unused + + diff --git a/problem-solver/py/modules/UseProblemSolvingMethodModule/dataClasses/inputOutput/ImageStruct.py b/problem-solver/py/modules/UseProblemSolvingMethodModule/dataClasses/inputOutput/ImageStruct.py new file mode 100644 index 00000000..4eec9286 --- /dev/null +++ b/problem-solver/py/modules/UseProblemSolvingMethodModule/dataClasses/inputOutput/ImageStruct.py @@ -0,0 +1,11 @@ +from dataclasses import dataclass +from .InputOutputStruct import InputOutput + +import numpy as np + + +@dataclass +class Image(InputOutput): + # data_array: np.array + image_shape: tuple = None + label: str = None \ No newline at end of file diff --git a/problem-solver/py/modules/UseProblemSolvingMethodModule/dataClasses/inputOutput/InputOutputStruct.py b/problem-solver/py/modules/UseProblemSolvingMethodModule/dataClasses/inputOutput/InputOutputStruct.py new file mode 100644 index 00000000..dddf97df --- /dev/null +++ b/problem-solver/py/modules/UseProblemSolvingMethodModule/dataClasses/inputOutput/InputOutputStruct.py @@ -0,0 +1,10 @@ +from dataclasses import dataclass + +import numpy as np +from sc_client.models import ScAddr + + +@dataclass +class InputOutput: + object_addr: ScAddr + data_array: np.array diff --git a/problem-solver/py/requirements.txt b/problem-solver/py/requirements.txt index 4a220a1a..bd31d3a4 100644 --- a/problem-solver/py/requirements.txt +++ b/problem-solver/py/requirements.txt @@ -1,5 +1,7 @@ py-sc-kpm==0.2.0 py-sc-client==0.3.0 requests==2.31.0 -numpy +numpy~=1.26.4 tensorflow==2.16.1 +pandas~=2.2.2 +pillow~=11.0.0 \ No newline at end of file diff --git a/problem-solver/py/server.py b/problem-solver/py/server.py index dc3a59d3..429b83b8 100644 --- a/problem-solver/py/server.py +++ b/problem-solver/py/server.py @@ -1,5 +1,7 @@ import argparse from sc_kpm import ScServer + +from modules.UseProblemSolvingMethodModule.annInterpreter.UseProblemSolvingMethodModule import UseProblemSolvingMethodModule from modules.messageProcessingModule.FnnAgentProcessingModule import FnnAgentProcessingModule from modules.messageProcessingModule.FnnTrainerProcessingModule import FnnTrainerProcessingModule from pathlib import Path @@ -20,7 +22,8 @@ def main(args: dict): with server.connect(): modules = [ FnnAgentProcessingModule(), - FnnTrainerProcessingModule() + FnnTrainerProcessingModule(), + UseProblemSolvingMethodModule() ] server.add_modules(*modules) with server.register_modules(): diff --git a/problem-solver/py/tests/interpretation_testcase.py b/problem-solver/py/tests/interpretation_testcase.py new file mode 100644 index 00000000..e69de29b