Prepare your code for containerization
Outlined above are the proposed paths that you can take to get your algorithm on our platform. As you can see, the first step toward deploying your algorithm is to prepare a code base that Docker can use to build a container. We provide several options for that – with options 2 and 3 you will use evalutils to create a templated script and repository. Evalutils can easily be installed in your python environment via pip:
pip install evalutils.
The options are:
Cloning a repository from a Challenge baseline Algorithm – choose this if you are participating in a challenge. This method might not require a local installation of Docker.
Using evalutils to package your Algorithm for a predefined task – choose this template if your algorithm performs one of the following tasks: classification, segmentation or detection, all with a single input and output. Multiple segmentations or multiple bounding boxes in one image still count as a single output. This template has the loading and writing step of your data abstracted away from your main script, so you do not have to worry about that, if you don't want to. This equates to adjusting the predict-function in the template evalutils provides you.
Handling the processing of your own inputs and outputs– choose this method if you want fine-grained control over how your data must be loaded and written. This can be the case when your algorithm or data are not compatible with any of the predefined templates. In practice, this means you also have to write code to load inputs and write outputs. In general, this is preferred over option 2.
If you are unsure about whether to choose option 2 or option 3, please read the next section about input and output interfaces.