Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/wkirgsn/diss-wk
Code, documentation, and figures for the dissertation of Wilhelm Kirchgässner
https://github.com/wkirgsn/diss-wk
Last synced: 26 days ago
JSON representation
Code, documentation, and figures for the dissertation of Wilhelm Kirchgässner
- Host: GitHub
- URL: https://github.com/wkirgsn/diss-wk
- Owner: wkirgsn
- License: gpl-3.0
- Created: 2023-07-09T11:55:46.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-01-06T13:04:20.000Z (10 months ago)
- Last Synced: 2024-06-12T17:58:04.363Z (5 months ago)
- Language: Jupyter Notebook
- Size: 12.9 MB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# diss-wk
Code, documentation, and figures for the dissertation of Wilhelm Kirchgässner.The dissertation is currently under survey and will be published as soon as it was defended.
Until then, code and notebooks are already hosted here whereas the dissertation PDF itself will be uploaded after it was published.## Folder Structure and Code
```
.
├── LICENSE
├── notebooks
│ ├── 3.0-Ldiff_pmsm_diss_plot.ipynb
│ ├── 5.0-datasets_comp_diss_plots.ipynb
│ ├── 6.0-diss_linear_mdl_analysis.ipynb
│ ├── 6.1-diss_metrics.ipynb
│ ├── 6_7-diss_estimates_plots.ipynb
│ ├── 6_7-diss_hpo_plots.ipynb
│ ├── 7.1-diss_tnn_therm_props.ipynb
│ ├── 7.2-diss_lptn_analysis.ipynb
│ ├── 8.0-diss_conclusion.ipynb
│ └── img
├── README.md
├── requirements.txt
└── src
├── hpo_dyn_mdl_4_diss.py
├── hpo_lptn_4_diss.py
├── mawkutils
│ ├── data.py
│ ├── experiments.py
│ ├── render.py
│ ├── topology.py
│ └── validation.py
├── run_blackbox_dyn_4_diss.py
├── run_blackbox_static_4_diss.py
├── run_custom_dyn_experiment_4_diss.py
├── run_custom_experiment_4_diss.py
├── run_linear_analysis_4_diss.py
├── run_lptn_4_diss.py
├── run_scipy_opt_lptn_4_diss.py
└── visualize_performance.py
```All code is split up in two parts: runner scripts under `src/` and visualizing jupyter notebooks under `notebooks/`.
The runner scripts have to be executed in order to train and cross-validate various machine learning models and to dump results into binaries and a database.
On the other hand, the jupyter notebooks merely visualize those dumped results, that is, no training and a minimum of inference is conducted there.
Runner scripts that start with `run_` will conduct a single experiment, whereas those that start with `hpo_` will conduct many experiments for a hyperparameter optimization.
Configuration for all experiments are usually in the runner scripts themselves.
Thus, in order to fill the database with all information expected by each cell in all notebooks will require several different configurations in the runner scripts.
Those should be evident by commented-out-code.## Data
The database is a local SQLITE DB, although the original research was conducted with a PostgreSQL DB on a server.
The local DB is a means to enable reproducable code for fellow researchers and practitioners without access to a server with a PostgreSQL database management system.
Hence, plenty of code regarding the communication to a hypothetical server can be ignored by the common user.Most of the code deals with one and the same data set, which is [available for free on Kaggle](https://www.kaggle.com/datasets/wkirgsn/electric-motor-temperature).
The code expects this CSV to be located under `data/input/`.The LPTN code partly needs additional data sets (two .mat files), that can be also found under `data/input/`.
All results from runner scripts will be stored under `data/output/`.
## Feedback / Troubleshooting
Please feel free to open up a GitHub issue for questions or concerns regarding this code base.