Skip to main content

ModelMark

This tool will help you to test NN models against each other, and form a detailed report that is easy to embed to a website.

Model evaluation report example:

Evaluation result

About:

At each testing run iteration, modelmark:

1) Selects next dataset, context, model and seed
2) Seeds the generators for reproducibility
3) Creates the loader, model and tester objects
4) Trains the model for E epochs, restores the state with the least validation loss
5) Tracks the GFLOPs, Memory, Time - all AVG over whole test
5) Evaluates the model on dataset with metrics from configuration file
6) Stores the mean result over S runs 

That way, the more seeds you run, the more "fair" the results are.
Finally, modelmark will form the report with all the testing results, training stats and your machine metadata.

More on training stats:

Time 		- average time per epoch 
Params 		- total number of model params
GFLOPs 		- average per batch
Peak Memory - max per training iteration

Test consists of F * C * M * S runs, where:

F - number of dataset files in the config (e.g. ["ETTh1" : ..., "Weather" : ...] - means F = 2)
C - number of context sizes (e.g. [32, 64, 128] - means C = 3)
M - number of models (e.g. ["Linear" : ..., "LSTM" : ...] - means M = 2)
S - number of seeds (e.g. [42, 43, 44] - means S = 2)

Requirements:

OS: Windows or Linux
Python: 3.12+

Usage:

1) Install the package   
	
	pip install "modelmark @ git+https://github.com/gloptim77/ModelMark.git"

2) Run the initialization in an empty folder

	modelmark -t init

3.1) It will create two folders "modelmark_files" and "models"
   
    In modelmark_files/config.py there are 3 main configs:

   		model_config = {...} - Models hyperparameters (number of layers, hidden dim, kernel size, etc.)
		data_config = {...} - Dataset parameters (path to file, input/output features, train/val ratios, etc.)
		test_config = {...} - Testing options (optimizer, loss criterion, metrics, learning rate, etc.)

3.2) (Optional) download the ETT dataset files

	modelmark -t load

4) When your config, model and data are ready, you can run the testing

	modelmark -t run

5) When the test is over, report results will be in files "result.html" and "result.png"

Example of the model: "src/modelmark/models/linear.py"
Example of the config: "src/modelmark/config.py" 

You will find the detailed config example with description at src/modelmark/config.py.

Example Linear model with detailed description at src/modelmark/models/linear.py.

You can change the config and add your model files to suit your test requirements.

(But make sure that config and models are compatible)

Troubleshooting

  • If something doesn't work

    • Please open an issue and attach your application logs (found at "modelmark_files/modelmark.log") so I can help you troubleshoot.

    • Try to restart

       modelmark -t restart
      
    • Try to manually delete "modelmark_files" and return to Usage->2)

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.0.tar.gz (22.9 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.0-py3-none-any.whl (27.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: modelmark-0.1.0.tar.gz
  • Upload date:
  • Size: 22.9 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.0.tar.gz
Algorithm Hash digest
SHA256 06ad05cace01f55a4e5a72906b0e93cb45e434705154684f5677aedf222bbf37
MD5 d5349159b1ff50190cc28d0ea7e2789e
BLAKE2b-256 c2e3fe183ce4c40c0e95adb95b531d56e478808fd086fa575d7631f1e20573f0

See more details on using hashes here.

Provenance

The following attestation bundles were made for modelmark-0.1.0.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.0-py3-none-any.whl.

File metadata

  • Download URL: modelmark-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 27.6 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 28246ae05824552ee6d9c42eaf8a76b7ef24d7c3b91ed316b46bc16d6f2812ae
MD5 9d9e2f1186c5667f1a3536e4edae52f1
BLAKE2b-256 d04995a247ccd045b06ebe9868d2fa8266cffc1f9d77c277da37e99557b02643

See more details on using hashes here.

Provenance

The following attestation bundles were made for modelmark-0.1.0-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

0.1.2

2 files

0.1.1

2 files

This release

0.1.0 This release

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