Help‎ > ‎

Software Submission Guidelines

Winning solutions need to be made available under a popular OSI-approved license in order to be eligible for recognition and prize money, including executable and source code. Code submission is optional for non winners. But, to facilitate the code verification process, all high ranking participants are encouraged to submit their code to the Kaggle website prior the end of the challenge:
  1. Submission instructions: Put your software, including all libraries in a zip archive bearing the name of your team. (1) When you make your final entry, upload the software archive with your result file at the bottom of the submission page on the Kaggle website using "Upload your model" in the Home menu. (2) Post your solutions to the Kaggle competition forum. Winners must post or link to their solutions within fourteen (14) days of being notified of their winning status.
  2. License: By submitting their software, the authors grant to the organizers a license to use it for the purpose of verifying the challenge results and carrying out post-challenge analyses on other data. The authors retain all rights to their software. The organizers will keep the software confidential. However, to be eligible for prizes, the winners will have to make their code available under a popular OSI-approved license.
  3. Libraries supported: The authors are responsible to include ALL the necessary libraries with their software. The software should be completely self-contained, unless agreed in advance with the organizers. The authors are responsible to get all necessary licenses and make sure no thrird party rights are violated.
  4. Platforms supported:
    • -- Executable code -- The authors can provide an executable for either Windows 7 or Mac OS X 10.5 or later. We also recommend that the authors supply source code in addition to their executable, to be used only if the organizers fail to run the executable.
    • -- Interpretable code -- The authors can provide interpretable code for Matlab (release R2011a or higher), Java (latest release), Python (release 2.7.2 and higher), or R (latest release).
    • -- Other platforms -- The authors should contact the organizers in advance if they want to submit compilable source code under Unix/Linux platforms or other versions of Windows or Mac OS, use other version of Matlab, Java, or Python, use other interpreted languages such as R, use Matlab p-code, use particular Matlab toolboxes or Java and Python libraries.
  5. Recommendations:
    • -- Self-contained package -- Include all necessary libraries.
    • -- Syntax -- Please separate the training and prediction functions. It should be possible to run your code WITHOUT RETRAINING, using a provided trained model. The prediction script should load the model and three arguments: fluorescence_test.txt, networkPositions_test.txt, and scores_test.csv. The two first arguments are input file names and the last argument is the output file name. Make sure that log data or intermediate calculations be written to a directory that can be renamed and NOT in the data directory or the code directory.
    • -- Absolute reproducibility -- Make sure that the code always returns the same result and does not have any stochastic component. If your code relies on random numbers, draw in advance a sequence of numbers and always use the same one in the same order.
    • -- Exception handling -- The code should possess some kind of exception handling such that if it fails on a few pairs, it does not crash but runs on the remaining pairs.
    • -- File processing status -- The program should regularly output status information about progress of data processing.
    • -- Termination -- The program should end with a message stating that it exited normally indicating the full path and name of the file where the results were written to.
    • -- Documentation -- Add a README file with: a contact name and email, your code version and date, installation instructions, type and versions of OS, version of platform (e.g. Matlab) and libraries, usage instructions, compute power you used (processors, memory, disk space) and how long it took to process the validation data, the performance your obtained with that version of the code on validation data (with a lot of digits).
    • -- Data -- Do NOT include the data with your software. Contact the organizers if you used extra training data not provided by the organizers and want to donate them.
    • -- Test script -- Include a test script that can be run in less than a few minutes that tests all your code using the small sample networks of N=100 neurons. Some small sample data may be included to run the test script.
  6. Output format: The output file "scores_test.csv" should be a csv file in the challenge submission format, such that the organizers can submit the file to the challenge website and obtain the same result that was submitted by the authors of the software.