Skip to the content.

Benchmarks

Introduction

Baseline results obtained using the tfcaidm pipeline. These results can act as a leaderboard for individuals interested in benchmarking their different models and methodologies. A user can submit their results by writing a few lines of code, with examples shown below. For those new to the lab, this is a great place to start!

Note: Benchmarks are currently only supported on the CAIDM clusters, additionally, tfcaidm must be installed.

Getting started

To get started, users should checkout all related benchmark datasets and their descriptions using the help method. They can also checkout the current leaderboard standings with the leaderboard method. This site will be updated with the best submissions periodically, but for real-time updates, use the methods below.

from tfcaidm import Benchmark

# --- Get benchmark related information
Benchmark.help()

# --- View the leaderboards
Benchmark.leaderboard()

To run a benchmark, a user needs to specify the benchmark dataset path and a trained model. From there they will have to align the dataset inputs and targets with their model inputs and outputs. After doing so, they will be able to run model evaluation and view their results. A submission can then optionally be made to the leaderboards.

Running a benchmark
from tfcaidm import Model
from tfcaidm import Benchmark
from jarvis.utils.general import gpus

DATA_PATH = "benchmark/kits"
MODEL_PATH = "checkpoints/unet"

# --- Autoselect GPU (use only on caidm cluster)
gpus.autoselect()

# --- Load a trained model
model = Model.load_model(MODEL_PATH)

# --- Ensure model inputs and outputs matches the dataset inputs and targets
model = Model.inference_mode(model, inputs=["dat"], outputs=["lbl"])

# --- Instantiate a benchmark object
benchmark = Benchmark(DATA_PATH)

# --- Run model evaluation
benchmark.run(model)

# --- If you are happy with your score, submit it
benchmark.submit()

Datasets

Dataset Client Description Annotation Inputs Outputs Additional Information # Evaluation Samples Fold
ct/kits /data/ymls/client-2d.yml 2D kidney tumor segmentation tumor segmentation ["dat"] ["lbl"] ct-kidney-kits 0
ct/pna /data/ymls/client.yml 2D pneumonia segmentation pneumonia segmentation ["dat", "lng"] ["pna"] ct-lung-pna 0
mr/brats /data/ymls/client-5-class.yml 2D brain tumor segmentation tumor segmentation ["t2", "flair", "pre", "post"] ["lbl"] mr-brain-tumor 0
mr/breast-fgt /data/ymls/client-3-class.yml 2D breast fibroglandular tissue segmentation fibroglandular tissue segmentation ["dat"] ["lbl"] mr-breast-fgt 0

Results

Rank User Dataset Model # Params Description Metrics Score ↑ Date
1 tfcaidm ct/pna unet pixel classifier w/ class weights F1
2 tfcaidm ct/pna unet++ pixel classifier w/ class weights F1
3 tfcaidm ct/pna unet3+ pixel classifier w/ class weights F1