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, input/output len, 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 * O * M * S runs, where:

F - number of dataset files in the config (e.g. ["ETTh1" : ..., "Weather" : ...] - means F = 2)
O - number of input/output sizes (e.g. [32, 64, 128] means O = 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)

If you have questions or want to check the source code, go to ModelMark Github.

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.1.tar.gz (23.4 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.1-py3-none-any.whl (28.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: modelmark-0.1.1.tar.gz
  • Upload date:
  • Size: 23.4 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.1.tar.gz
Algorithm Hash digest
SHA256 a37d97db5d4f95d27f897d3eea88e4dc8b9863c5e8666cbd98b06277dd380857
MD5 b5b21664b4bce5dfa9ba648b7dbfc3bc
BLAKE2b-256 1ca0aea70565c26657c6a93be284ecfec6fa6a916156e87b9397d8ab25fdc5fd

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: modelmark-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 28.5 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5d16c07996d21596d25e1e41ee48fba4c784aece4f425a29e6e20c03b8334005
MD5 6e8fa8a58408285cd40fc1010f6a165c
BLAKE2b-256 2f79632209b9c510443a44d33cb1be35ced22e89d6e12986bcbdcc380180988a

See more details on using hashes here.

Provenance

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

This release

0.1.1 This release

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