https://github.com/altaris/noisy-moo
A wrapper-based framework for pymoo problem modification.
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
-
✓DOI references
Found 2 DOI reference(s) in README -
○Academic publication links
-
✓Committers with academic emails
1 of 3 committers (33.3%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (14.2%) to scientific vocabulary
Keywords
Repository
A wrapper-based framework for pymoo problem modification.
Basic Info
- Host: GitHub
- Owner: altaris
- License: mit
- Language: Python
- Default Branch: main
- Homepage: https://altaris.github.io/noisy-moo/nmoo.html
- Size: 3.8 MB
Statistics
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 1
- Releases: 2
Topics
Metadata Files
README.md
noisy-moo
A wrapper-based framework for pymoo problem modification and algorithm benchmarking. Initially developed to test KNN-averaging[^quatic21].
Installation
Simply run
sh
pip install nmoo
Getting started
In a notebook
See
example.ipynb
for a quick example.
For larger benchmarks
For larger benchmarks, you may want to use nmoo's CLI. First, create a module,
say example.py,
containing your benchmark factory (a function that returns your
benchrmark),
say make_benchmark(). Then, run it using
sh
python -m nmoo run --verbose 10 example:make_benchmark
Refer to
sh
python -m nmoo --help
for more information.
Main submodules and classes
nmoo.benchmark.Benchmark: ABenchmarkobject represents... a benchmark 🤔. At construction, you can specify problems and algorithms to run, how many times to run them, what performance indicators to compute, etc. Refer tonmoo.benchmark.Benchmark.__init__for more details.nmoo.wrapped_problem.WrappedProblem: The main idea ofnmoois to wrap problems in layers. Each layer should redefinepymoo.Problem._evaluateto intercept calls to the wrapped problem. It is then possible to apply/remove noise, keep a call history, log, etc.nmoo.denoisers: Sublasses ofnmoo.wrapped_problem.WrappedProblemthat implement denoising algorithms. In a simple scenario, a synthetic problem would be wrapped in a noise layer, and further wrapped in a denoising layer to test the performance of the latter.nmoo.noises: Sublasses ofnmoo.wrapped_problem.WrappedProblemthat apply noise.
Contributing
Dependencies
python3.8or newer;requirements.txtfor runtime dependencies;requirements.dev.txtfor development dependencies (optional);make(optional).
Simply run
sh
virtualenv venv -p python3.8
. ./venv/bin/activate
pip install -r requirements.txt
pip install -r requirements.dev.txt
Documentation
Simply run
sh
make docs
This will generate the HTML doc of the project, and the index file should be at
docs/index.html. To have it directly in your browser, run
sh
make docs-browser
Code quality
Don't forget to run
sh
make
to format the code following black,
typecheck it using mypy, and check it against coding
standards using pylint.
[^quatic21]: Klikovits, S., Arcaini, P. (2021). KNN-Averaging for Noisy Multi-objective Optimisation. In: Paiva, A.C.R., Cavalli, A.R., Ventura Martins, P., Pérez-Castillo, R. (eds) Quality of Information and Communications Technology. QUATIC 2021. Communications in Computer and Information Science, vol 1439. Springer, Cham. https://doi.org/10.1007/978-3-030-85347-1_36
Owner
- Name: Cédric
- Login: altaris
- Kind: user
- Location: Japan
- Company: RIKEN
- Website: https://cedric.hothanh.fr
- Repositories: 45
- Profile: https://github.com/altaris
GitHub Events
Total
- Push event: 1
Last Year
- Push event: 1
Committers
Last synced: almost 3 years ago
All Time
- Total Commits: 199
- Total Committers: 3
- Avg Commits per committer: 66.333
- Development Distribution Score (DDS): 0.241
Top Committers
| Name | Commits | |
|---|---|---|
| Cédric HT | a****s@u****m | 151 |
| Cédric HT | n****e@a****g | 47 |
| Stefan Klikovits | k****s@n****p | 1 |
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 9
- Total pull requests: 0
- Average time to close issues: 2 months
- Average time to close pull requests: N/A
- Total issue authors: 2
- Total pull request authors: 0
- Average comments per issue: 0.44
- 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
- stklik (5)
- altaris (4)
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- pypi 15 last-month
- Total dependent packages: 0
- Total dependent repositories: 0
- Total versions: 2
- Total maintainers: 1
pypi.org: nmoo
A wrapper-based framework for pymoo problem modification.
- Homepage: https://github.com/altaris/noisy-moo
- Documentation: https://nmoo.readthedocs.io/
- License: MIT License
-
Latest release: 5.1.0
published over 3 years ago
Rankings
Maintainers (1)
Dependencies
- actions/checkout v3 composite
- actions/setup-python v3 composite
- peaceiris/actions-gh-pages v3 composite
- actions/checkout v3 composite
- actions/setup-python v3 composite
- pypa/gh-action-pypi-publish 27b31702a0e7fc50959f5ad993c78deac1bdfc29 composite
- black * development
- mypy * development
- pdoc * development
- pylint * development
- click *
- gradient-free-optimizers *
- joblib *
- loguru *
- numpy *
- pandas *
- pymoo ==0.5.0
- seaborn *