EMADL2CPP issueshttps://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMADL2CPP/-/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/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/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/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-01https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMADL2CPP/-/issues/42AutoML: Architecture Search2023-05-29T13:29:06+02:00Evgeny KusmenkoAutoML: Architecture Search- Please extend the framework to optimize the MontiAnna neural architecture for a given learning problem
- create tests for your framework
- create a model in the MNISTCalculator project X
- create a CI experiment in the MNISTCalculator ...- Please extend the framework to optimize the MontiAnna neural architecture for a given learning problem
- create tests for your framework
- create a model in the MNISTCalculator project X
- create a CI experiment in the MNISTCalculator project
- please create an AutoML pipelineTobias HörnschemeyerNazish QamarTobias Hörnschemeyer2023-05-01https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMADL2CPP/-/issues/41Implement LoadNetwork layer for PyTorch backend2022-10-11T11:19:12+02:00Evgeny KusmenkoImplement LoadNetwork layer for PyTorch backendSonam Raju ChughSonam Raju Chugh2022-09-22https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMADL2CPP/-/issues/40Execution Order2022-10-11T11:24:01+02:00Evgeny KusmenkoExecution OrderUse Execution Semantics to determine the correct order of the component executionUse Execution Semantics to determine the correct order of the component executionFeras MulhemFeras Mulhem2022-10-05