Project-MONAI / Project-MONAI/model-zoo

Add metadata when using API to retrieve bundles

Open
#770 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
338
Forks
106
PR merge metrics
No merged PRs in 30d

Description

Is your feature request related to a problem? Please describe.
I have developped a tool that allows user to interactively retrieve model-zoo bundles and run them on their medical scan within 3D slicer (an medical image processing and vizualisation application).
I retrieve the available model from the api : https://api.github.com/repos/Project-MONAI/model-zoo/releases/tags/hosting_storage_v1

EDIT : I am now using the hugging_face api : https://huggingface.co/api/models?author=MONAI

I would like to present more information about the available models before downloading the bundles (which are heavy). Currently I only have access to the name and versions (extracted from the asset name) using the api linked above. In particular, I would like to retrieve the bundle description to help my users understand what each bundle can do.

I believe this would benefit anyone willing to provide access to the bundles from the Model Zoo through the api.

Describe the solution you'd like
My understanding is that this api uses the model_info.json file. I think adding the bundle description to this file would solve my problem, but maybe we could consider adding other relevant metadata (authors, name, version, task, copyright, dependencies...).

Describe alternatives you've considered
I could download the metadata.json files for each model from the repo, but that would create many unnecessary request. It would be much cleaner to simply have access to this information in a single request, without downloading all those files.

Please let me now if there are other alternatives available to achieve my goal (retrieve the list of available models with their names, versions and description) that I might have failed to consider.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading models/model_info.json and the per-model metadata.json files, then compare the GitHub Releases and Hugging Face model APIs described in the issue. Determine which fields can be exposed in one model-list response. Done means users can retrieve names, versions, descriptions, and any agreed additional metadata without downloading every metadata.json file.

Written by the indexing model from the issue text.

Assessment

Tech stack
github, huggingface
Domain
api, machine-learning
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.