-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Proposal of MONAI Model Zoo Contribution Pipeline
The Open Neural Network Exchange (ONNX) Model Zoo contains a collection of pre-trained models contributed by community member. It uses Git LFS to store model files.
The model zoo contains multiple text and vision tasks, and for each task, each model has its own subfolder which contains model weights, readme and some other necessary files.
For example, the following link is the place to store the yolov4
model which is used in object detection and segmentation:
https://github.com/onnx/models/tree/main/vision/object_detection_segmentation/yolov4
It collects various interesting models (paper), and encourage people to contribute the model (by submit a PR) according to the contribution guide.
The Pytorch Image Models (timm) is a repository that contains the implementations of popular models, as well as the train/validation scripts to reproduce the performance. Different from ONNX, timm saves the implementations into the repository, and put weights into Github releases.
It is a library that contains popular 2d computer vision models. Similar as timm, it includes the implementations of models in the repository. The different place is that all weights are saved outside of Github.
As for MONAI Bundle based model zoo, I think we can create a new repository under Project-MONAI
. The directory of the model zoo is like:
- Bundle format, it should meet the requirements of MONAI Bundle Specification.
- Reproducibility, a clear description about how to reproduce the performance (accuracy and/or speed) should be included.
A bundle may include large files such as model weights, we may also need to discuss about when and how to handle them. The following are two of the possible ways.
1. Include Large Files via Using Git LFS
In this way, user can use the command like git lfs pull --include="[path to bundle weights].pt" --exclude=""
to grab their expected large files.
2. Provide Download Links of Large Files
This way refers to open_model_zoo
Users can submit a PR that includes a bundle except all large files (a file larger that 100MB is considered as large file). For all large files, a yml/json
file which contains a mapping between the download link and the destination (local path) should be provided.
.
The following flow chart shows the whole review process:
Automatic CI/CD to check the format of bundles.