hardcore-magnet-challenge
Winning solution to the IEEE PELS MagNet challenge 2023 (1st Place Model Performance Category)
Science Score: 36.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
✓Academic publication links
Links to: arxiv.org, ieee.org -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (8.0%) to scientific vocabulary
Keywords
Repository
Winning solution to the IEEE PELS MagNet challenge 2023 (1st Place Model Performance Category)
Basic Info
- Host: GitHub
- Owner: upb-lea
- Language: Jupyter Notebook
- Default Branch: main
- Homepage: https://github.com/minjiechen/magnetchallenge
- Size: 66.8 MB
Statistics
- Stars: 11
- Watchers: 3
- Forks: 2
- Open Issues: 0
- Releases: 0
Topics
Metadata Files
README.md
MagNet Challenge 2023 Winning Solution
(1st Place Model Performance)
HARDCORE: H-field and power loss estimation for arbitrary waveforms with residual, dilated convolutional neural networks in ferrite cores
[Wilhelm Kirchgssner](https://github.com/wkirgsn), [Nikolas Frster](https://github.com/gituser789), [Till Piepenbrock](https://github.com/tillpiepenbrock), [Oliver Schweins](https://github.com/OliverSchw), [Oliver Wallscheid](https://github.com/wallscheid) [Paderborn University](https://www.uni-paderborn.de/en/), [Dept. of Power Electronics and Electrical Drives](https://ei.uni-paderborn.de/en/lea) Paper: [IEEE Transactions on Power Electronics](https://ieeexplore.ieee.org/document/10738458) Paper (Preprint): [arXiv 2401.11488](https://arxiv.org/abs/2401.11488)Updates
Nov. 4th, 2024: IEEE Transactions on Power Electronics paper availableMar. 16th, 2024: Among others, the winning models are officially available in the MagNet Toolkit nowJan. 27th, 2024: Publish the submission on GitHub
Abstract
The MagNet Challenge 2023 calls upon competitors to develop data-driven models for the material-specific, waveform-agnostic estimation of steady-state power losses in toroidal ferrite cores. The following HARDCORE (H-field and power loss estimation for Arbitrary waveforms with Residual, Dilated convolutional neural networks in ferrite COREs) approach shows that a residual convolutional neural network with physics-informed extensions can serve this task efficiently when trained on observational data beforehand. One key solution element is an intermediate model layer which first reconstructs the bh curve and then estimates the power losses based on the curve's area rendering the proposed topology physically interpretable. In addition, emphasis was placed on expert-based feature engineering and information-rich inputs in order to enable a lean model architecture. A model is trained from scratch for each material, while the topology remains the same. A Pareto-style trade-off between model size and estimation accuracy is demonstrated, which yields an optimum at as low as 1755 parameters and down to below 8\,\% for the 95-th percentile of the relative error for the worst-case material with sufficient samples.
Overview
Folder structure:
``` . Model data bmaxdict.json hmaxdict.json input test placeTestinghere.txt Testing Material A BField.csv Frequency.csv Temperature.csv Material B BField.csv Frequency.csv Temperature.csv Material C BField.csv Frequency.csv Temperature.csv Material D BField.csv Frequency.csv Temperature.csv Material E BField.csv Frequency.csv Temperature.csv models cnnAexperimentc9cfemodeld893c778seed0fold0.pt cnnBexperimentc9cfemodelb6a920ccseed0fold0.pt cnnCexperimentc9cfemodelc1ced7b6seed0fold0.pt cnnDexperimentc9cfemodel11672810seed0fold0.pt cnnEexperimentc9cfemodel5ae50f9eseed0fold0.pt output experimentsmeta.csv trialsmeta.csv src ModelInference.py runcnninference.py runcnntraining.py utils data.py experiments.py metrics.py topology.py visualization.py PaderbornUniversityReport.pdf README.md requirements.txt Result VolumetricLossMaterial A.csv VolumetricLossMaterial B.csv VolumetricLossMaterial C.csv VolumetricLossMaterial D.csv VolumetricLossMaterial E.csv
```
Note that the folder Testing/, which contains all the final test data of the new 5 materials, has to be moved into the designated folder, as shown above.
How to set up the Python environment
We highly recommend using a Python virtual environment, such as venv or Anaconda. We recommend Python 3.10 for this project. When the virtual environment shell is active and the current working directory is the project root, install the dependencies with
```
pip install -r requirements.txt ```
How to execute the model inference
The main inference script is Model/src/Model_Inference.py which was provided as template by the competition hosts.
Execute it while the current working directory is `Model/src/' like below
```py
cd Model/src/ python Model_Inference.py
```
The current working directory is important for all relative paths to work flawlessly.
Note that only one material is estimated per call. In order to estimate another material, edit the file Model_Inference.py as intended by the template.
All estimates are stored under Result/. For reference, the inference result as obtained on our computing machines is provided in this submission as well.
The inference script will load up the corresponding model under Model/data/models, which are all saved through PyTorch jit functionality.
Next to the requested estimation csv under Result/, there is also a slightly different format for the loss estimates stored under Model/data/output/ together with a corresponding H-field estimation. Feel free to analyze, skim through, or just double-check the H-field and p loss estimates there.
Owner
- Name: Paderborn University - LEA
- Login: upb-lea
- Kind: organization
- Location: Paderborn, Germany
- Website: https://ei.uni-paderborn.de/en/lea/
- Repositories: 29
- Profile: https://github.com/upb-lea
Department of power electronics and electrical drives
GitHub Events
Total
- Watch event: 3
- Push event: 1
Last Year
- Watch event: 3
- Push event: 1
Issues and Pull Requests
Last synced: over 1 year ago
All Time
- Total issues: 0
- Total pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Total issue authors: 0
- Total pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- joblib ==1.3.2
- pandas ==2.0.3
- torch ==2.0.1
- torchinfo ==1.8.0
- tqdm *