Create your own algorithm

This tutorial will show you how to get your algorithm on the Grand Challenge platform, so that it can perform inference on test data from Challenges, or on external data from other researchers. If you want to share an Algorithm on Grand Challenge, you will likely recognize yourself in one of the following roles:

  1. A  researcher  who intends to share their algorithm on the Algorithms page of
  2. A Challenge organizer who is looking to create a baseline algorithm, to help participants with submitting their algorithms.
  3. A Challenge participant who wants to submit their algorithm.

General principle

On Grand Challenge, we run an algorithm in an isolated piece of software called a Docker container. It packages all the libraries and dependencies that your algorithm needs in order to reliably run on a different machine than yours. Think of the OS, the NVIDIA drivers, Python versions, and the versions of all the libraries and packages necessary for running your algorithm: they are all packaged with a Docker container.

The tutorial takes you through the steps to serve your algorithm in a Docker container that's compatible with the requirements of These steps may include the use of a python library called evalutils, which provides a code template for you to edit in your algorithm.

On Grand Challenge, you build your algorithm container to process only one set of inputs at a time: this could be a single CT-image , but also an MR image plus a CT image from one patient. Batched inputs are not natively supported, and should be avoided.

As an algorithm developer you also need to configure an input and output interface, which lets Grand Challenge know how to read the input and output of your algorithm (more on interfaces later) . A user can download the outputs of a job, or they can view the results in the web browser, using our own browser-based viewer (CIRRUS).


For contact and support, please email