Hosting a competition with Codalab

By Nicolas Cazard - 2019/07/30


Codalab was created in 2013 as a joint venture between Microsoft and Stanford University and is an open source framework for running competitions, which is mostly used for machine learning challenge.
Many compeitions are hosted on this platform in which you can try to compete. This article will show you the basics of how to create your own one.

Uploading a competition

A competition consists of a set of files zipped in an archive named a bundle.
Here is an example of a simple bundle competition that you can download and use as a starting point for your own competition.
Here is the procedure to follow for uploading it on Codalab :

  1. Create an account on Codalab, and sign in.
  2. Click on "My Competitions" -> "Competitions I'm Running" -> "Create Competition"
  3. Upload the archive "competition_bundle.zip".

Congratulations, you have just created your first competition with Codalab !
create competition

You can now edit this competition online directly for minor modifications, like rescheduling the starting date or modifying the text which describe the dataset.
However, for major updates, you will have to dig into and modify the bundle itself before uploading it again on Codalab.

Updating a competition

If you unzip the previous bundle, you will find several files in it :

Once all your modifications are done, don't forget to delete and replace the previous datas and metrics bundles.
You can then build the bundle for the competition with the command :

zip -r competition_bundle.zip *

And upload your brand new competition bundle on Codalab.

To go further

This tutorial shows you how to tune a basic bundle competition to create your own one, but Codalab allows you to tune many others aspects of your competition : You can organise your competition around several phases, allow users to submit their code instead of their results only, you can run your own instance of codalab at home...
This website gathers a lot of in-depth information about a more complex use of Codalab and may be worth a look.