Skip to main content

ModelMark

ModelMark is a CLI benchmarking tool for comparing neural-network models. It runs your models on one or more datasets, records performance and efficiency statistics, and generates an easy-to-embed HTML/PNG report.

Evaluation result

Table of Contents

About

For each benchmark run, ModelMark:

  1. Selects the next combination of dataset, input/output size, model, and seed.
  2. Seeds the random generators for reproducibility.
  3. Creates the data loader, model, and tester objects.
  4. Trains the model for the configured number of epochs and restores the checkpoint with the lowest validation loss.
  5. Records runtime and efficiency statistics.
  6. Evaluates the model on the dataset using the metrics from the configuration file.

After all runs finish, ModelMark aggregates the results and generates a report containing testing results, training statistics, and your machine metadata.

Requirements

  • OS: Windows or Linux
  • Python: 3.12 or newer
  • Git: required for installation from GitHub

Installation

Install ModelMark from PyPI:

pip install modelmark

Quick Start

  1. Run initialization in an empty folder:

    modelmark init
    

    This creates two folders:

    • modelmark_files/ — configuration and log files
    • models/ — your model files
  2. Edit the configuration file:

    modelmark_files/config.py

    It contains three main configuration blocks:

    • model_config — model hyperparameters such as number of layers, hidden dimension, kernel size, etc.
    • data_config — dataset parameters such as file path, input/output features, train/val ratios, etc.
    • test_config — testing options such as optimizer, loss criterion, metrics, learning rate, etc.
  3. Put the testing models to the models/ folder.

    Make sure to import model's class definitions to the config.py.

    Configure config.model_config according to your task.

  4. Download the dataset files (ETT by default):

    modelmark load
    
  5. Run the benchmark:

    modelmark run
    
  6. View the generated report:

    • result.html
    • result.png

Configuration

You can adjust the configuration and add your own model files in the models/ directory to match your benchmarking needs.

Make sure your model implementation is compatible with the keys and settings used in your configuration.

A detailed configuration example is available at: src/modelmark/config.py

A detailed example model is available at: src/modelmark/models/linear.py

How the Benchmark Works

The benchmark consists of:

F × O × M × S

where:

Symbol Meaning Example
F Number of dataset files in the configuration {"ETTh1": ..., "Weather": ...}F = 2
O Number of input/output size configurations [32, 64, 128]O = 3
M Number of models {"Linear": ..., "LSTM": ...}M = 2
S Number of seeds [42, 43, 44]S = 3

ModelMark repeats the training/evaluation process for each combination and stores the mean result over S runs. Using more seeds generally makes the comparison more fair and statistically stable.

Reported Metrics

The report includes statistics such as:

Metric Description
Time Average training time per epoch
Params Total number of model parameters
GFLOPs Average GFLOPs per batch
Peak Memory Maximum memory observed during a training iteration

The report also includes the evaluation metrics configured in test_config and your machine metadata.

Examples

Run modelmark init, it will create config at modelmark_files/config.py and model's example folder at models/ with Linear model file inside:

Troubleshooting

If something does not work:

  1. Check the application log: modelmark_files/modelmark.log

  2. Try restarting ModelMark:

    modelmark restart
    
  3. If the issue persists, delete the modelmark_files folder and run:

    modelmark init
    

When opening an issue on GitHub, please include the relevant part of your log file.

If you have questions or want to inspect the source code, see the ModelMark GitHub repository.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

modelmark-0.1.2.tar.gz (24.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

modelmark-0.1.2-py3-none-any.whl (29.0 kB view details)

Uploaded Python 3

File details

Details for the file modelmark-0.1.2.tar.gz.

File metadata

  • Download URL: modelmark-0.1.2.tar.gz
  • Upload date:
  • Size: 24.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for modelmark-0.1.2.tar.gz
Algorithm Hash digest
SHA256 29628929eedebabda7505f908dfbe0aa49f75c6ae7af7a22b8017d533136bc28
MD5 61086d3fe3e63a59a360fa3ca839229e
BLAKE2b-256 3d7301b5630cfa7e62632813da0106a6274dcfee2a9626e4f0bac059eaedf31c

See more details on using hashes here.

Provenance

The following attestation bundles were made for modelmark-0.1.2.tar.gz:

Publisher: release.yml on gloptim77/ModelMark

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file modelmark-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: modelmark-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 29.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for modelmark-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 3120834c6306f27c682a3fdc47472944b5eeb925cef8878ecd0a51e3bfa74d17
MD5 03f58f256eb4f2b3b1a742cde2dc7397
BLAKE2b-256 7b13aa92bf36e4bf1eb8d7f203c72d29049f787eaeeb5db355fc5b3e2db01c98

See more details on using hashes here.

Provenance

The following attestation bundles were made for modelmark-0.1.2-py3-none-any.whl:

Publisher: release.yml on gloptim77/ModelMark

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 files

0.1.1

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page