Submission Guidelines

Hi, everyone, in this post we wanted to clear up some doubts and also mention some common errors that participants were making in the 4th challenge of AIcrowd Blitz X.

Evaluation Systems

With the AIcrowd Blitz X Challenge 4 ( Iceberg Detection ), our goal was to implement semantic segmentation models that can run in very low compute devices such as Raspberry PI, etc. So that’s in why in this challenge 4, the server that evaluates the notebook are equipped with 1 CPU and 2 GB RAM.

Your goal will be to build models that can work with as much accurately as possible with still doing inference in a very limited amount of computing and time.

Common Errors/Mistakes

And here are some common errors

  1. The markdown text such as Install packages, Define Preprocessing code, Prediction phase is used by our evaluation server to identify the part of notebook run as per the rules of the challenge. These should not be removed or altered.

  2. Evaluation timed out. View the submission for more details.
    This is due to your submission taking too much time to make predictions, make sure your code doesn’t take more than 15 minutes to make predictions.

  3. Inference failed. View the submission for more details.
    There can be many reasons for this error, are are most commons

    1. Participants uploading too big submission files, which filled up memory completely in our evaluation systems and caused the error. While we have increased the memory on our systems, make sure your submission never goes above 500 MB.

    2. Make sure the FFmepeg is installed and configured in your submitted notebook, ffmpeg is used by scikit-video for wring the output video predictions.

    # Installing Scikit Video & FFMPEG
    !pip install scikit-video
    !pip install ffmpeg
    !apt-get install ffmpeg gstreamer1.0-libav vlc
    !apt-get update -qq && sudo apt-get -y install \
      autoconf \
      automake \
      build-essential \
      cmake \
      git-core \
      libass-dev \
      libfreetype6-dev \
      libgnutls28-dev \
      libsdl2-dev \
      libtool \
      libva-dev \
      libvdpau-dev \
      libvorbis-dev \
      libxcb1-dev \
      libxcb-shm0-dev \
      libxcb-xfixes0-dev \
      meson \
      ninja-build \
      pkg-config \
      texinfo \
      wget \
      yasm \
      zlib1g-dev
    !apt-get install ffmpeg libsm6  libxext6 -y
    !pip install sk-video p-tqdm
    !apt-get update
    !apt-get install -y python3-opencv
    !pip install --upgrade opencv
    !pip install --upgrade torch torchvision
    

Tips

  • If you are using a custom model, make sure you always save your model in the assets directory in Training Phrase markdown section & read the model from the assets directory in Prediction phrase markdown section.

If you are using Colab, you probably won’t need to zip folder as aicrowd-cli takes care of that :slight_smile: using
!aicrowd -v notebook submit --assets-dir assets --challenge iceberg-detection

Cheers

Shubhamai

PS : If you have any issues or doubts, feel free to reply to this post.

Hi,

Can I submit solutions from my own machine, or must I use colab? Relatedly, does the submission have to be a .ipynb notebook, or can I use a standard .py file? Thanks.

Yes, you can make submissions from your own/local machine, but the submission has to be a .ipynb notebook. In case you want to import a custom python file, you can add that python file in the assets directory and then import it in the .ipynb notebook. I hope this helps :), let me know if you have any doubts!

Cheers
Shubhamai

1 Like