generators issueshttps://git.rwth-aachen.de/groups/monticore/EmbeddedMontiArc/generators/-/issues2023-03-04T11:02:43+01:00https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMADL2CPP/-/issues/60Model for Hyperparameter Optimization2023-03-04T11:02:43+01:00Evgeny KusmenkoModel for Hyperparameter Optimization- please create an experiment in the mnistcalculator project to show which files are needed, how the project should be organized and where the hyperparam space is defined- please create an experiment in the mnistcalculator project to show which files are needed, how the project should be organized and where the hyperparam space is definedHiroshi HamanoAkashKumarDSHiroshi Hamano2023-02-28https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMADL2CPP/-/issues/59Fix ONNX pipeline2023-03-09T19:35:22+01:00Evgeny KusmenkoFix ONNX pipelineHi Lukas, it seems that one of your merges has broken the [ONNX pipeline](https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMADL2CPP/-/pipelines/841093), could you please look into it.Hi Lukas, it seems that one of your merges has broken the [ONNX pipeline](https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMADL2CPP/-/pipelines/841093), could you please look into it.Evgeny KusmenkoLukas BramEvgeny Kusmenko2023-03-10https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMADL2CPP/-/issues/58PrettyPrinter for ArchitectureSymbol2022-11-18T11:55:15+01:00Evgeny KusmenkoPrettyPrinter for ArchitectureSymbolplease create a prettyprinter for architecture symbols, so that we can get textual MontiAnna models for given Architecture symbolsplease create a prettyprinter for architecture symbols, so that we can get textual MontiAnna models for given Architecture symbolsTobias HörnschemeyerNazish QamarTobias Hörnschemeyer2022-11-21https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMADL2CPP/-/issues/57Input of hyperparameter configuration optimization2023-02-11T11:51:00+01:00Evgeny KusmenkoInput of hyperparameter configuration optimizationInput and output of hyperparameter configuration optimization should be the Configuration object (get in touch with @feras.m94.4 to find out which class he uses)Input and output of hyperparameter configuration optimization should be the Configuration object (get in touch with @feras.m94.4 to find out which class he uses)Hiroshi HamanoAkashKumarDSHiroshi Hamano2022-11-30https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMADL2CPP/-/issues/56Input output of architecture search should be ArchitectureSymbol2022-11-25T12:44:31+01:00Evgeny KusmenkoInput output of architecture search should be ArchitectureSymbolMake sure an architecture optimizer takes ArchitetureSymbol as input and has an ArchitectureSymbol as output.
The output AS is then given to the pipeline / code generator , evaluated and the AutoML algoirthm gets the new AS and the eval ...Make sure an architecture optimizer takes ArchitetureSymbol as input and has an ArchitectureSymbol as output.
The output AS is then given to the pipeline / code generator , evaluated and the AutoML algoirthm gets the new AS and the eval metric as input for the next iterationTobias HörnschemeyerNazish QamarTobias Hörnschemeyer2022-11-23https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/cnnarch2x/-/issues/4Generation of python training configuration2023-01-19T13:41:39+01:00Feras MulhemGeneration of python training configurationGenerate a Python class encapsulating a training configuration. The generation is broken down into mappings from ConfLang to Python.Generate a Python class encapsulating a training configuration. The generation is broken down into mappings from ConfLang to Python.Feras MulhemFeras Mulhem2022-11-30https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMADL2CPP/-/issues/54CustomLayerPyTorchTest2022-11-09T09:36:16+01:00Evgeny KusmenkoCustomLayerPyTorchTest- currently does not throw the expected exception although the output seems to be correct. Please analyse what the reason is and fix test- currently does not throw the expected exception although the output seems to be correct. Please analyse what the reason is and fix testTobias HörnschemeyerHiroshi HamanoTobias Hörnschemeyer2022-11-09https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMADL2CPP/-/issues/53Adanet: create different component search strategies2023-04-24T14:28:05+02:00Tobias HörnschemeyerAdanet: create different component search strategiesCurrently, the candidate search only focuses on components with the same depth or with depth + 1, while depth is the depth of the best component in the last iteration.
There might be other strategies to find components.Currently, the candidate search only focuses on components with the same depth or with depth + 1, while depth is the depth of the best component in the last iteration.
There might be other strategies to find components.Tobias HörnschemeyerNazish QamarTobias Hörnschemeyer2023-03-31https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/CNNArch2Gluon/-/issues/10Fix imports for reinforcement learning2022-11-11T19:35:43+01:00Evgeny KusmenkoFix imports for reinforcement learningLukas BramThilo MetzlaffLukas Bram2022-11-01https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMADL2CPP/-/issues/52Create parser for MontiAnna languages2022-11-27T11:35:22+01:00Feras MulhemCreate parser for MontiAnna languagesDifferent ways can be observed that are used to parse EMADL models and their related models. The goal of this issue is to modularise und unify the parsing interface.
**Included languages**
- ConfLang
- SchemaLang
- EmbeddedMontiArc (EMA...Different ways can be observed that are used to parse EMADL models and their related models. The goal of this issue is to modularise und unify the parsing interface.
**Included languages**
- ConfLang
- SchemaLang
- EmbeddedMontiArc (EMA)
**Tasks**
- [x] create parsing classes
- [x] parse a ConfLang configuration and return symbol-augmented AST
- [x] parse a SchemaLang schema and return symbol-augmented AST
- [x] parse an EMA model and return symbol-augmented AST
- [x] parse EMADL model with CNN architecture into symbol-augmented AST
- [x] test it on [LeNetNetwork](https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMADL2CPP/-/blob/master/src/test/resources/models/mnist/LeNetNetwork.emadl)
**Notes**
- The lenet network is crucial for the [evaluation ](https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/applications/mnistpredictor) part and has priorityTobias HörnschemeyerFeras MulhemTobias Hörnschemeyer2022-11-28https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMADL2CPP/-/issues/51Create EfficientNet algorithm2022-11-25T12:44:31+01:00Evgeny KusmenkoCreate EfficientNet algorithmTobias HörnschemeyerNazish QamarTobias Hörnschemeyer2022-11-21https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMADL2CPP/-/issues/50Create AdaNet algorithm2022-11-16T16:07:55+01:00Evgeny KusmenkoCreate AdaNet algorithmTobias HörnschemeyerNazish QamarTobias Hörnschemeyer2022-11-21https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMADL2CPP/-/issues/49Create Workflow for Autonomous Pipeline Execution2023-01-28T22:17:41+01:00Evgeny KusmenkoCreate Workflow for Autonomous Pipeline ExecutionIn montipipes#1 a python script was generated to execute a python pipeline. In this issue **minimal** workflow shall be created to test functionality integration into the framework
**Tasks**
- [x] dedicated classes to execute the follow...In montipipes#1 a python script was generated to execute a python pipeline. In this issue **minimal** workflow shall be created to test functionality integration into the framework
**Tasks**
- [x] dedicated classes to execute the following steps
- [x] parsing
- [x] parse appropriate pipeline model
- [x] parse pipeline configuration
- [x] parse training configuration
- [x] symbol table for EMA pipeline
- [x] symbol table for training and pipeline configurations
- [x] check CoCos
- [x] inter-model validations (schemas / configurations):
- [x] generate backend-related artefacts
- [x] wrap EMADLGenerator with new main generator (MontiAnnaGenerator)
- [x] refactor MontiAnnaGenerator using EMADLGenerator functionality
- [x] provide python training configuration
- [x] use default if not generated
- [x] generate the configuration
- [x] choose the appropriate schema API
- [x] calculate execution semantic
- [x] generate pipeline script
- [x] execute pipeline
- [x] read results
- [x] Discuss TODOS
**Issues**
- [x] Problem with parsing LeNet model with generic parameters
**Notes**
- EMADLGenerator for inspiration
- Defaults are to be used to create quick demonstration
- Only PyTorch is supported as backend for nowTobias HörnschemeyerFeras MulhemNazish QamarTobias Hörnschemeyer2022-12-30https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMADL2CPP/-/issues/48Extend Conf Schema for Network Optimizers2022-11-07T10:24:57+01:00Evgeny KusmenkoExtend Conf Schema for Network Optimizerssimilarly to `optimizer:sgd {...}` we want to allow the definition of `network_optimizer` parameters. Since depending on the concrete optimizer it might have varying parameters, e.g. alpha, beta in the case of efficient net, it should be...similarly to `optimizer:sgd {...}` we want to allow the definition of `network_optimizer` parameters. Since depending on the concrete optimizer it might have varying parameters, e.g. alpha, beta in the case of efficient net, it should be written in a nested way similarly to the optimizer example as `network_optimizer:efficientnet {efficientnet specific params come here}` or `network_optimizer:adanet{adanetspecific params come here}`Hiroshi HamanoAkashKumarDSHiroshi Hamano2022-10-18https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMADL2CPP/-/issues/47Merge the branch ma_sc to new emadl2cpp2022-11-16T15:56:28+01:00Sonam Raju ChughMerge the branch ma_sc to new emadl2cppOnce new emadl2cpp is created-
Merge the test cases (GenerationTest.java, CustomLayerTest.java)(test cases for mnist, loadnetwork, custom layer)
Merge the Backend.java (which has new backend pytorch)
related branch: [ma_sc](https://git....Once new emadl2cpp is created-
Merge the test cases (GenerationTest.java, CustomLayerTest.java)(test cases for mnist, loadnetwork, custom layer)
Merge the Backend.java (which has new backend pytorch)
related branch: [ma_sc](https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMADL2CPP/-/tree/ma_sc)
**Tasks**
- [ ] perform a health check on the testsTobias HörnschemeyerFeras MulhemTobias Hörnschemeyerhttps://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMADL2CPP/-/issues/46Please create a PyTorch docker image2022-11-09T09:25:16+01:00Evgeny KusmenkoPlease create a PyTorch docker image- under test/resources/pytorch
- create a CI pipeline building and pushing the image to the registry- under test/resources/pytorch
- create a CI pipeline building and pushing the image to the registrySonam Raju ChughSonam Raju Chughhttps://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2Middleware/-/issues/34Extend ROS topics to accept integer arrays for state representation2022-11-11T19:39:14+01:00Anis Abdollahi-SissanExtend ROS topics to accept integer arrays for state representationWhen using the EMAM2Middleware to generate a reinforcement learning agent, which is connected via ros-gym to python, defining the state as an integer array in python leads to an error, because the middleware initializes the state topic i...When using the EMAM2Middleware to generate a reinforcement learning agent, which is connected via ros-gym to python, defining the state as an integer array in python leads to an error, because the middleware initializes the state topic in ROS as Float32MultiArray, regardless of the definition in the python files.
[This](https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/applications/reinforcement_learning/topologyoptimizer/-/blob/main/additional_files/Middleware/Environment.ftl) file implements Int32MultiArray as the default topic type for the state.
To resolve this issue, it would be necessary to automatically switch between the Float- and Integer-representation for the ROS state topic.
This can be implemented in the template file for the environment of the agent.Lukas BramThilo MetzlaffLukas Bramhttps://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMADL2CPP/-/issues/45Explicit input and output shape required2022-09-02T17:30:04+02:00Luis LaasExplicit input and output shape requiredA component currently requires explicit input and output shapes to be successfully parsed.
This works:
package rangePrediction;
component MLPL{
ports in Q(0:100)^{1} data,
out Q(-oo:+oo)^{1} prediction;
...A component currently requires explicit input and output shapes to be successfully parsed.
This works:
package rangePrediction;
component MLPL{
ports in Q(0:100)^{1} data,
out Q(-oo:+oo)^{1} prediction;
implementation CNN {
data -> prediction;
}
}
However this does not work:
package rangePrediction;
component MLPL{
ports in Q(0:100) data,
out Q(-oo:+oo) prediction;
implementation CNN {
data -> prediction;
}
}
Generating code terminates with this Exception:
Exception in thread "main" java.lang.IllegalStateException: Unknown port type
The expected behavior is that both versions work.
generator-version: 0.5.3
environment: registry.git.rwth-aachen.de/monticore/embeddedmontiarc/generators/emadl2cpp/mxnet/190https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMADL2CPP/-/issues/44Custom Layers2022-08-31T14:53:38+02:00Evgeny KusmenkoCustom LayersPlease implement custom layers for the PyTorch backendPlease implement custom layers for the PyTorch backendSonam Raju ChughSonam Raju Chugh2022-08-24https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMADL2CPP/-/issues/43AutoML: Hyperparameter Search2023-03-04T10:41:15+01:00Evgeny KusmenkoAutoML: Hyperparameter Search- Please extend the framework to optimize the MontiAnna hyperparameters for a given learning problem
- extend the framework to automatically exchange pipeline components, e.g. exchange image preprocessing components
- create tests for yo...- Please extend the framework to optimize the MontiAnna hyperparameters for a given learning problem
- extend the framework to automatically exchange pipeline components, e.g. exchange image preprocessing components
- create tests for your framework
- create a model in the MNISTCalculator project X
- create a CI experiment in the MNISTCalculator projectHiroshi HamanoAkashKumarDSHiroshi Hamano2023-05-01