• Stars
    star
    1,742
  • Rank 26,539 (Top 0.6 %)
  • Language
    Python
  • License
    Other
  • Created almost 8 years ago
  • Updated 10 days ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

☁️ πŸš€ πŸ“Š πŸ“ˆ Evaluating state of the art in AI


Join the chat at https://gitter.im/Cloud-CV/EvalAI Build Status codecov Coverage Status Code style: black Requirements Status Code Climate Documentation Status Twitter Follow

EvalAI is an open source platform for evaluating and comparing machine learning (ML) and artificial intelligence (AI) algorithms at scale.

In recent years, it has become increasingly difficult to compare an algorithm solving a given task with other existing approaches. These comparisons suffer from minor differences in algorithm implementation, use of non-standard dataset splits and different evaluation metrics. By providing a central leaderboard and submission interface, we make it easier for researchers to reproduce the results mentioned in the paper and perform reliable & accurate quantitative analysis. By providing swift and robust backends based on map-reduce frameworks that speed up evaluation on the fly, EvalAI aims to make it easier for researchers to reproduce results from technical papers and perform reliable and accurate analyses.

Features

  • Custom evaluation protocols and phases: We allow creation of an arbitrary number of evaluation phases and dataset splits, compatibility using any programming language, and organizing results in both public and private leaderboards.

  • Remote evaluation: Certain large-scale challenges need special compute capabilities for evaluation. If the challenge needs extra computational power, challenge organizers can easily add their own cluster of worker nodes to process participant submissions while we take care of hosting the challenge, handling user submissions, and maintaining the leaderboard.

  • Evaluation inside environments: EvalAI lets participants submit code for their agent in the form of docker images which are evaluated against test environments on the evaluation server. During evaluation, the worker fetches the image, test environment, and the model snapshot and spins up a new container to perform evaluation.

  • CLI support: evalai-cli is designed to extend the functionality of the EvalAI web application to your command line to make the platform more accessible and terminal-friendly.

  • Portability: EvalAI is designed with keeping in mind scalability and portability of such a system from the very inception of the idea. Most of the components rely heavily on open-source technologies – Docker, Django, Node.js, and PostgreSQL.

  • Faster evaluation: We warm-up the worker nodes at start-up by importing the challenge code and pre-loading the dataset in memory. We also split the dataset into small chunks that are simultaneously evaluated on multiple cores. These simple tricks result in faster evaluation and reduces the evaluation time by an order of magnitude in some cases.

Goal

Our ultimate goal is to build a centralized platform to host, participate and collaborate in AI challenges organized around the globe and we hope to help in benchmarking progress in AI.

Installation instructions

Setting up EvalAI on your local machine is really easy. You can setup EvalAI using docker: The steps are:

  1. Install docker and docker-compose on your machine.

  2. Get the source code on to your machine via git.

    git clone https://github.com/Cloud-CV/EvalAI.git evalai && cd evalai
  3. Build and run the Docker containers. This might take a while.

    docker-compose up --build
    
  4. That's it. Open web browser and hit the URL http://127.0.0.1:8888. Three users will be created by default which are listed below -

    SUPERUSER- username: admin password: password
    HOST USER- username: host password: password
    PARTICIPANT USER- username: participant password: password

If you are facing any issue during installation, please see our common errors during installation page.

Citing EvalAI

If you are using EvalAI for hosting challenges, please cite the following technical report:

@article{EvalAI,
    title   =  {EvalAI: Towards Better Evaluation Systems for AI Agents},
    author  =  {Deshraj Yadav and Rishabh Jain and Harsh Agrawal and Prithvijit
                Chattopadhyay and Taranjeet Singh and Akash Jain and Shiv Baran
                Singh and Stefan Lee and Dhruv Batra},
    year    =  {2019},
    volume  =  arXiv:1902.03570
}

Team

EvalAI is currently maintained by Rishabh Jain, Deshraj Yadav, and Ram Ramrakhya. A non-exhaustive list of other major contributors includes: Akash Jain, Taranjeet Singh, Shiv Baran Singh, Harsh Agarwal, Prithvijit Chattopadhyay, Devi Parikh and Dhruv Batra.

Contribution guidelines

If you are interested in contributing to EvalAI, follow our contribution guidelines.

Contributors

More Repositories

1

Fabrik

🏭 Collaboratively build, visualize, and design neural nets in browser
Python
1,120
star
2

visual-chatbot

☁️ πŸ‘€ πŸ’¬ Visual Chatbot
Python
187
star
3

object-proposals

Repository containing wrapper to obtain various object proposals easily
MATLAB
173
star
4

Origami

πŸ”“ πŸ”‘ πŸ” Origami: Artificial Intelligence as a Service
JavaScript
169
star
5

GSoC-Ideas

CloudCV GSoC Ideas
HTML
119
star
6

Grad-CAM

🌈 πŸ“· Gradient-weighted Class Activation Mapping (Grad-CAM) Demo
HTML
108
star
7

py-cloudcv

Python APIs for CloudCV
Python
98
star
8

diverse-beam-search

πŸ” :shipit: Decoding Diverse Solutions from Neural Sequence Models
Lua
75
star
9

EvalAI-Starters

How to create a challenge on EvalAI?
Python
73
star
10

VQA

CloudCV Visual Question Answering Demo
Lua
66
star
11

CloudCV

☁️ CloudCV Website
JavaScript
64
star
12

evalai-cli

☁️ πŸš€ Official EvalAI Command Line Tool
Python
55
star
13

CloudCV-Old

CloudCV - Large-Scale Distributed Computer Vision As A Cloud Service
Python
51
star
14

vilbert-multi-task

πŸ‘€ πŸ—£οΈ πŸ“12-in-1: Multi-Task Vision and Language Representation Learning Web Demo
Python
35
star
15

EvalAI-ngx

Revamped codebase of EvalAI Frontend
TypeScript
33
star
16

mat-cloudcv

CloudCV API's for Matlab
Java
21
star
17

origami-lib

Python package for origami
Python
17
star
18

GCI

πŸ‘§ πŸ‘¦ Google Code-In Website http://gci.cloudcv.org
HTML
6
star
19

origami-daemon

A long running daemon for Origami to deploy and manage demos on CloudCV servers.
Python
4
star
20

VQA-Challenge

Evaluation Script for VQA Real Image Challenge (Open-Ended) 2017
Python
4
star
21

Dockerfiles

Origami dockerfiles.
Shell
1
star