[REDMINE1D-282] [RM-8219] [Parameters] Refacto object structure Created: 18/Aug/23 Updated: 07/Feb/24 Resolved: 07/Feb/24 |
|
| Status: | Done |
| Project: | 1D Redmine |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Task | Priority: | Normal |
| Reporter: | Redmine-Jira Migtation | Assignee: | Redmine-Jira Migtation |
| Resolution: | Done | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Attachments: |
|
| Description |
|
Created on 2023-08-17 16:17:07 by Fanny Dufresne. % Done: 100 Refacto parameters as explained here https://projets.lam.fr/projects/amazed/wiki/2023-07-24 MRsMR cpf-redshift : https://gitlab.lam.fr/CPF/cpf-redshift/-/merge_requests/555 MR pyamazed : https://gitlab.lam.fr/CPF/pyamazed/-/merge_requests/128 MR amazed output analyzer : https://gitlab.lam.fr/amazed/amazed-output-analyzer/-/merge_requests/25 MR dataset-tools : https://gitlab.lam.fr/amazed/dataset-tools/-/merge_requests/88 MR vizu: https://gitlab.lam.fr/amazed/amazed-web-ui/-/merge_requests/27 Modification du datasetDataset se8 modifié. Nouveaux fits dans /net/CESAM/amazed/fdufresne/datasetTmp Modifications présentes1. Ajout d'un "étage" contenant le type de solver (stage) (RedshiftSolver / LineMeasSolve / ClassificationSolver ...) pythonEn pratique, dans le python les modifications (hors renommage brut) concernent l'initialisation de l'objet parameters:
c++Les principales modifications dans le c++ conernent l'ajout d'un étage ("scope") contenant le solver utilisé (stage) (RedshiftSolver / ClassificationSolver etc) Le "renommage brut" des paramètres a été fait à l'aide du script rename_params_code.py et du fichier rename_parameters_v1_to_treed.csv (utilisé également pour la conversion paramètres v1 -> treed) + corrections manuelles. Modification des sortiesLes résultats dont les mêmes, SAUF:
Ces modifications se retrouvent dans le results.hdf5 et dans le redshift.csv |
| Comments |
| Comment by Redmine-Jira Migtation [ 07/Feb/24 ] |
|
Comment by Fanny Dufresne on 2023-10-11 09:24:47:
2. Refacto des solvers : ajouter de la description des stages - besoin de quelques clarifications là dessus |
| Comment by Redmine-Jira Migtation [ 07/Feb/24 ] |
|
Comment by Didier Vibert on 2023-10-11 09:32:10: > à: , ...] ok p moi |
| Comment by Redmine-Jira Migtation [ 07/Feb/24 ] |
|
Comment by Didier Vibert on 2023-10-13 14:09:16: dans le json shema, @"additionalProperties": false@ n'est appliqué qu'au niveau où il est mis, mais ne s'applique pas aux niveaux en dessous: il faudrait donc le répéter dans chaque section properties... à moins qu'il y ait un moyen de le définir globalement pour toutes les properties ? |
| Comment by Redmine-Jira Migtation [ 07/Feb/24 ] |
|
Comment by Didier Vibert on 2023-10-13 15:02:52: On peut soit supprimer ce niveau lors de la conversion du json en input vers le json stocké dans la classe parameters et passé au C++, mais c'est peut-être dommage voire impossible pour l'utilisation des paramètres en python. une solution pour facilement prendre en compte ce niveau sans trop modifier le C++ consiste à binder en python via swig la classe @CAutoscope@ et de s'en servir dans le run @Context.run@ pour pousser des noms dans la chaine scope (et les dépiler automatiquement à la destruction de l'objet). D'ailleurs dans la classe CAutoscope, on pourrait utiliser directement le singleton CProcessFlowContext pour récupérer la scopestack plutôt que de le prendre comme argument... Autre solution définir en python un contextmanager qui push le nom en entrée et le pop en sortie, et l'utiliser avec des with statement dans le @Context.run@. Ensuite, avec ça on peut donc pousser des scope dans la scopstack du contexte, et ça devrait donc être l'api python dans @Context.run@ qui pousse les scopes SpectrumModel et stage, => il faut modifier le constructeur C++ des methodSolve pour qu'ils ne poussent que le nom de leur méthode, et plus besoin de leur passer en argument l'object type. Celui-ci pourra être récupéré directement dans le scopeStore. => attention aussi, ce niveau supplémentaire dans l'arbre, va se répercuter dans le resultStore. il faudra modifier certainement un peu le code python pour en tenir compte |
| Comment by Redmine-Jira Migtation [ 07/Feb/24 ] |
|
Comment by Fanny Dufresne on 2023-10-17 09:31:05: |
| Comment by Redmine-Jira Migtation [ 07/Feb/24 ] |
|
Comment by Fanny Dufresne on 2023-10-18 09:27:23: |
| Comment by Redmine-Jira Migtation [ 07/Feb/24 ] |
|
Comment by Pierre-yves Chabaud on 2024-01-23 10:14:06: |