Project: model-index

Create a source of truth for ML model results and browse it on Papers with Code

Project Details

Latest version
0.1.11
Home Page
https://github.com/paperswithcode/model-index
PyPI Page
https://pypi.org/project/model-index/

Project Popularity

PageRank
0.004283513279979724
Number of downloads
116711

model-index: maintain a source of truth for ML models

Tests PyPI Docs

model-index has two goals:

  • Make it easy to maintain a source-of-truth index of Machine Learning model metadata
  • Enable the community browse this model metadata on Papers with Code

The main design principle of model-index is flexibility. You can store your model metadata however is the most convenient for you - as JSONs, YAMLs or as annotations inside markdown. model-index provides a convenient way to collect all this metadata into a single file that's browsable, searchable and comparable.

You can use this library locally or choose to upload the metadata to Papers with Code to have your library featured on the website.

How it works

There is a root file for the model index: model-index.yml that links to (or contains) metadata.

Models:
  - Name: Inception v3
    Metadata:
      FLOPs: 5731284192
      Parameters: 23834568
      Training Data: ImageNet  
      Training Resources: 8x V100 GPUs
    Results:
      - Task: Image Classification
        Dataset: ImageNet
        Metrics:
          Top 1 Accuracy: 74.67%
          Top 5 Accuracy: 92.1%
    Paper: https://arxiv.org/abs/1512.00567v3
    Code: https://github.com/rwightman/pytorch-image-models/blob/timm/models/inception_v3.py#L442
    Weights: https://download.pytorch.org/models/inception_v3_google-1a9a5a14.pth 
    README: docs/inception-v3-readme.md

All fields except for Name are optional. You can add any fields you like, but the ones above have a standard meaning across different models and libraries.

We recommend putting the model-index.yml file in the root of your repository (so that relative links such as docs/inception-v3-readme.md are easier to write), but you can also put it anywhere else in the repository (e.g. in your docs/ or models/ folder).

Storing metadata in markdown files

Metadata can also be directly stored in a model's README file. For example in this docs/rexnet.md file:

<!--
Type: model-index
Name: RexNet
Metadata: 
  Epochs: 400
  Batch Size: 512
Paper: https://arxiv.org/abs/2007.00992v1
-->

# Summary

Rank Expansion Networks (ReXNets) follow a set of new design 
principles for designing bottlenecks in image classification models.

## Usage

import timm
m = timm.create_model('rexnet_100', pretrained=True)
m.eval()

In this case, you just need to include this markdown file into the global model-index.yml file:

Models:
  - docs/rexnet.md

Get started

Check out our official documentation on how to get started.

Uploading to Papers with Code

To feature your library on Papers with Code, get in touch with hello@paperswithcode.com and the model index of your library will be automatically included into Papers with Code.