DeepBench

DeepBench: A simulation package for physical benchmarking data - Published in JOSS (2025)

https://github.com/deepskies/deepbench

Science Score: 95.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
    Found 4 DOI reference(s) in README and JOSS metadata
  • Academic publication links
    Links to: joss.theoj.org, zenodo.org
  • Committers with academic emails
    2 of 9 committers (22.2%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

Keywords

benchmark simulation

Scientific Fields

Mathematics Computer Science - 84% confidence
Last synced: 4 months ago · JSON representation

Repository

Simulation library for very simple simulations to benchmark machine learning algorithms

Basic Info
  • Host: GitHub
  • Owner: deepskies
  • License: apache-2.0
  • Language: HTML
  • Default Branch: main
  • Homepage:
  • Size: 5.74 MB
Statistics
  • Stars: 5
  • Watchers: 10
  • Forks: 2
  • Open Issues: 12
  • Releases: 4
Topics
benchmark simulation
Created over 7 years ago · Last pushed 9 months ago
Metadata Files
Readme License

README.md

GitHub Workflow Status License PyPI version documentation status DOI

What is it?

Simulation library for very simple simulations to benchmark machine learning algorithms.

Why do we need it? Why is it useful?

  1. There are very universally recognized scientifically meaningful benchmark data sets, or methods with which to generate them.
  2. A very simple data set will have objects, patterns, and signals that are intuitively quantifiable and will be fast to generate.
  3. A very simple data set will be a great testing ground for new networks and for newcomers to practice with the technology.

Documentation

Docs Page

To build from source

pip install sphinx cd docs make html

The folder docs/_build/html will be populated with the documentation. Navigate to file:///<Path To DeepBench>/docs/_build/html/index.html in any web browser to view.

Requirements

python = ">=3.12,<4.0," numpy = ">=1.25.0" matplotlib = ">=3.7.1" scikit-image = "^0.23.0" astropy = ">=7.0.0" autograd = ">=1.5" pyyaml = ">=6.0" h5py = ">=3.9.0"

Install

From PyPi

pip install deepbench

From Source

git clone https://github.com/deepskies/DeepBench.git pip install poetry poetry install poetry run pytest --cov

General Features

  1. very fast to generate
  2. Mimics in a very basic / toy way what is in astro images
  3. Be fully controllable parametrically

DeepBench Logo

Included Simulations

  1. Astronomy Objects - simple astronomical object simulation
  2. Galaxy, Spiral Galaxy, Star

  3. Shapes - simple 2D geometric shapes

  4. Rectangle, Regular Polygon, Arc, Line, Ellipse

  5. Physics Objects - simple physics simulations

  6. Newtonian Pendulum, Hamiltonian Pendulum

Example

Standalone

  • Produce 3 instance of a pendulum over 10 different times with some level of noise. ``` import numpy as np from deepbench.collection import Collection

configuration = { "objecttype": "physics", "objectname": "Pendulum", "totalruns": 3, "parameternoise": 0.2, "imageparameters": { "pendulumarmlength": 2, "startingangleradians": 0.25, "accelerationduetogravity": 9.8, "noisestdpercent":{ "accelerationduetogravity": 0 } }, "objectparameters":{ "time": np.linspace(0, 1, 10) } }

phy_objects = Collection(configuration)

phy_objects()

objects = phyobjects.objects parameters = phyobjects.object_params ```

  • Produce a noisy shape image with a rectangle and an arc

``` import numpy as np from deepbench.collection import Collection

configuration = { "objecttype": "shape", "objectname": "ShapeImage", "totalruns": 1, "imageparameters": { "imageshape": (28, 28), "objectnoiselevel": 0.6 }, "objectparameters": {

    "rectangle":{
        "object": {
            "width": np.random.default_rng().integers(2, 28),
            "height": np.random.default_rng().integers(2, 28),
            "fill": True
        },
        "instance": {}
    },
    "arc":{
        "object": {
            "radius": np.random.default_rng().integers(2, 28),
            "theta1":np.random.default_rng().integers(0, 20),
            "theta2":np.random.default_rng().integers(21, 180)
        },
        "instance":{}
    }
}

}

shapeimage = Collection(configuration) shapeimage()

objects = shapeimage.objects parameters = shapeimage.object_params ```

Fine-Grained Control

  • Make a whole bunch of stars ``` from deepbench.astro_object import StarObject import numpy as np

star = StarObject( imagedimensions = (28,28), noiselevel = 0.3, radius= 0.8, amplitude = 1.0 )

generatedstars = [] xposition, yposition = np.random.defaultrng().uniform(low=1, high=27, size=(2, 50)) for xpos, ypos in zip(xposition, yposition): starobject = star.createobject(xpos, ypos) generatedstars.append(starobject) ```

Contributions

Original Team

  1. Craig Brechmos
  2. Renee Hlozek
  3. Brian Nord

Refactor and Deployment

  1. Ashia Livaudais
  2. M. Voetberg

Pendulum Team

  1. Becky Nevin
  2. Omari Paul

Contributing

Please view the deepskies contribution guidelines before submitting a code addition

Acknowledgement

This work was produced by Fermi Research Alliance, LLC under Contract No. DE-AC02-07CH11359 with the U.S. Department of Energy. Publisher acknowledges the U.S. Government license to provide public access under the DOE Public Access Plan DOE Public Access Plan. Neither the United States nor the United States Department of Energy, nor any of their employees, makes any warranty, express or implied, or assumes any legal liability or responsibility for the accuracy, completeness, or usefulness of any data, apparatus, product, or process disclosed, or represents that its use would not infringe privately owned rights.

We acknowledge the Deep Skies Lab as a community of multi-domain experts and collaborators who’ve facilitated an environment of open discussion, idea-generation, and collaboration. This community was important for the development of this project.

Owner

  • Name: Deep Skies Lab
  • Login: deepskies
  • Kind: organization
  • Email: deepskieslab@gmail.com

Building community and making discoveries since 2017

JOSS Publication

DeepBench: A simulation package for physical benchmarking data
Published
February 11, 2025
Volume 10, Issue 106, Page 6774
Authors
M. Voetberg ORCID
Fermi National Accelerator Laboratory, P.O. Box 500, Batavia, IL 60510
Ashia Livaudais ORCID
Fermi National Accelerator Laboratory, P.O. Box 500, Batavia, IL 60510
Becky Nevin ORCID
Fermi National Accelerator Laboratory, P.O. Box 500, Batavia, IL 60510
Omari Paul ORCID
Fermi National Accelerator Laboratory, P.O. Box 500, Batavia, IL 60510
Brian Nord ORCID
Fermi National Accelerator Laboratory, P.O. Box 500, Batavia, IL 60510, Department of Astronomy and Astrophysics, University of Chicago, 5801 S Ellis Ave, Chicago, IL 60637, Kavli Institute for Cosmological Physics, University of Chicago, 5801 S Ellis Ave, Chicago, IL 60637
Editor
Paul La Plante ORCID
Tags
astronomy physics simulation machine learning

GitHub Events

Total
  • Issues event: 6
  • Watch event: 2
  • Issue comment event: 5
  • Push event: 4
  • Pull request review event: 1
  • Pull request event: 7
  • Fork event: 1
  • Create event: 1
Last Year
  • Issues event: 6
  • Watch event: 2
  • Issue comment event: 5
  • Push event: 4
  • Pull request review event: 1
  • Pull request event: 7
  • Fork event: 1
  • Create event: 1

Committers

Last synced: 5 months ago

All Time
  • Total Commits: 365
  • Total Committers: 9
  • Avg Commits per committer: 40.556
  • Development Distribution Score (DDS): 0.666
Past Year
  • Commits: 7
  • Committers: 2
  • Avg Commits per committer: 3.5
  • Development Distribution Score (DDS): 0.143
Top Committers
Name Email Commits
voetberg m****7@g****m 122
beckynevin b****n@g****m 81
Ashia Lewis 6****s 78
Brian Nord 1****d 56
Omari Paul o****3@g****m 20
Tristan Schefke t****3@g****m 3
Kevin Pedro k****8@g****m 3
anandijain a****j@u****u 1
Paul La Plante p****t@s****u 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 58
  • Total pull requests: 48
  • Average time to close issues: about 1 month
  • Average time to close pull requests: 14 days
  • Total issue authors: 7
  • Total pull request authors: 5
  • Average comments per issue: 1.88
  • Average comments per pull request: 0.4
  • Merged pull requests: 45
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 7
  • Pull requests: 9
  • Average time to close issues: about 2 months
  • Average time to close pull requests: about 2 months
  • Issue authors: 2
  • Pull request authors: 2
  • Average comments per issue: 0.71
  • Average comments per pull request: 0.89
  • Merged pull requests: 7
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • voetberg (19)
  • beckynevin (15)
  • bnord (12)
  • omaripaul57 (4)
  • jwuphysics (2)
  • paxsonswierc (1)
Pull Request Authors
  • voetberg (34)
  • beckynevin (7)
  • omaripaul57 (6)
  • plaplant (2)
  • bnord (2)
Top Labels
Issue Labels
enhancement (21) bug (13) joss paper (7) documentation (6) help wanted (6) high priority (4) priority (3) question (3) duplicate (3) wishlist (3) low priority (2) good first issue (1) wontfix (1) invalid (1) tests (1)
Pull Request Labels
enhancement (1)

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 34 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 1
  • Total versions: 6
  • Total maintainers: 2
pypi.org: deepbench

Physics Benchmark Dataset Generator

  • Versions: 6
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 34 Last month
Rankings
Dependent packages count: 10.1%
Average: 19.9%
Dependent repos count: 21.6%
Downloads: 28.0%
Maintainers (2)
Last synced: 4 months ago

Dependencies

.github/workflows/build-bench.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
.github/workflows/make_pdf.yml actions
  • actions/checkout v3 composite
  • actions/upload-artifact v1 composite
  • openjournals/openjournals-draft-action master composite
.github/workflows/publish.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
.github/workflows/test-bench.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
poetry.lock pypi
  • alabaster 0.7.13 develop
  • babel 2.12.1 develop
  • certifi 2023.5.7 develop
  • cfgv 3.3.1 develop
  • charset-normalizer 3.1.0 develop
  • colorama 0.4.6 develop
  • coverage 7.2.7 develop
  • distlib 0.3.6 develop
  • docutils 0.20.1 develop
  • exceptiongroup 1.1.1 develop
  • filelock 3.12.2 develop
  • identify 2.5.24 develop
  • idna 3.4 develop
  • imagesize 1.4.1 develop
  • importlib-metadata 6.7.0 develop
  • iniconfig 2.0.0 develop
  • jinja2 3.1.2 develop
  • markupsafe 2.1.3 develop
  • nodeenv 1.8.0 develop
  • platformdirs 3.8.0 develop
  • pluggy 1.2.0 develop
  • pre-commit 3.3.3 develop
  • pygments 2.15.1 develop
  • pytest 7.4.0 develop
  • pytest-cov 4.1.0 develop
  • pytz 2023.3 develop
  • requests 2.31.0 develop
  • setuptools 68.0.0 develop
  • snowballstemmer 2.2.0 develop
  • sphinx 7.0.1 develop
  • sphinx-autodoc-typehints 1.23.2 develop
  • sphinxcontrib-applehelp 1.0.4 develop
  • sphinxcontrib-devhelp 1.0.2 develop
  • sphinxcontrib-htmlhelp 2.0.1 develop
  • sphinxcontrib-jsmath 1.0.1 develop
  • sphinxcontrib-qthelp 1.0.3 develop
  • sphinxcontrib-serializinghtml 1.1.5 develop
  • tomli 2.0.1 develop
  • urllib3 2.0.3 develop
  • virtualenv 20.23.1 develop
  • astropy 5.2.2
  • autograd 1.6.2
  • contourpy 1.1.0
  • cycler 0.11.0
  • fonttools 4.40.0
  • future 0.18.3
  • h5py 3.9.0
  • imageio 2.31.1
  • importlib-resources 5.12.0
  • kiwisolver 1.4.4
  • lazy-loader 0.2
  • matplotlib 3.7.1
  • networkx 3.1
  • numpy 1.24.4
  • packaging 23.1
  • pillow 9.5.0
  • pyerfa 2.0.0.3
  • pyparsing 3.1.0
  • python-dateutil 2.8.2
  • pywavelets 1.4.1
  • pyyaml 6.0
  • scikit-image 0.20.0
  • scipy 1.9.3
  • scipy 1.9.1
  • six 1.16.0
  • tifffile 2023.4.12
  • zipp 3.15.0
pyproject.toml pypi
  • pre-commit ^3.2.2 develop
  • pytest ^7.3.1 develop
  • pytest-cov ^4.0.0 develop
  • sphinx ^7.0.1 develop
  • sphinx-autodoc-typehints ^1.23.2 develop
  • astropy ^5.2.2
  • autograd ^1.5
  • h5py >=3.9.0
  • matplotlib ^3.7.1
  • numpy ^1.24.3
  • python >=3.8,<4.0,
  • pyyaml ^6.0
  • scikit-image ^0.20.0