Cloud-CV / GSoC-Ideas

CloudCV GSoC Ideas

Home Page:https://gsoc.cloudcv.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Origami: Artificial Intelligence as a service

dexter1691 opened this issue · comments

Project Title: Origami
https://github.com/Cloud-CV/cvfy-lib
https://github.com/Cloud-CV/cvfy-frontend

Description: Deep learning and its application in AI-subfields (computer vision, natural language processing) has seen a tremendous growth in the recent years. Driven in part by code, data, and manuscript sharing on github and arxiv, we are witnessing increasing public access to state-of-the-art deep learning models for object detection, classification, image captioning, and visual question answering.

However, running someone’s released implementation and making sense of the results often involves painstaking preparation and execution involving steps like setting up the environment and dependencies (installing torch / caffe / tensorflow / keras / theano), setting up the I/O pipeline, keeping track of inter-package consistencies, etc.

Origami (previously CloudCV-fy your code) is a platform that can automatically create an online demo and a corresponding API that other researchers / developers can use without understanding fine-grained details about how the algorithm works. Testing or experimenting the model should be as simple as going to a web-page and uploading images to look at the results.
Examples of such manually curated demos can be found at:
http://cloudcv.org/vqa/
http://cloudcv.org/classify/
http://cloudcv.org/vip/

Mentor: Deshraj Yadav @deshraj , Harsh Agrawal @dexter1691

Pre-requisites:

  • Familiarity with containers, javascript and bash scripts.
  • Expertise in using python based web-servers like Flask and Django.
  • Familiarity with deep learning frameworks like Caffe / Theano / Keras / TensorFlow etc. Students are expected to have played around with these tools and should be familiar with the input / output pipelines.
  • Familiarity with building multi-threading, multi-processing architectures, and asynchronous operations.
  • Expertise in Lua (especially Torch framework) to build a similar tool for Torch. This may require building an interface for python-torch communication and the student will have to experiment with various ways since Lua is not as mature as Python in terms of open source web-frameworks.

Deliverables:

  • CMS system that gives user enough flexibility to modify the page according to his/her need. Different tasks need different input/output setup. For example, object classification will take an image as input and output a class label, while visual question answering will take image + question as input and return an answer. Therefore CMS should provide enough flexibility to support such use-cases.

  • Pre-defined templates for the most popular Artificial Intelligence tasks.

  • Support for third-party integrations like upload images from Dropbox, or save results to Dropbox.

  • Support Default sample files to be uploaded by the user.

  • Discover page to search different demos.

  • Improve the cvfy-lib and release it as pypy package

  • Setup continuous integrations

  • REST APIs for easy third party integrations like FB / Slack bot system

  • Deep integration with EvalAI. Allow "to compare" two algorithms on real user provided data.

  • Anonymous link to the demo! This is to complement a paper in review where anonymity is important. It would be super cool if there can be central reliable place for users to anonymously make their demo available so that reviewers can see it without being able to see who the authors are for that demo!

By the end of GSOC, students are expected to finish the above mentioned deliverables.

Skill Level: Medium

Get started: Take a look at our issues on Github, the ones marked as GSOC are good places to start. Feel free to reach out to us on our Gitter channel if you have questions.

@dexter1691 Since PyTorch has released, I believe the last point in Pre-Requisites is irrelevant, correct?

Right! Expertise in Lua is not required as such.

thats a breeze. how can we get hold of the second last point in the pre-requisits?

Announcement

Thank you guys for all the amazing contributions you have been making. I have a small announcement to make.

If you have already created a simple demo, then I would like you to attack a feature request that will require you to submit a pull request to the Origami project. The first task was to get familiar with the project and see it's utility. Now there are various improvements to be made on the project, and submitting a pull request that addresses one of them would be a nice way to get hands dirty on the project.

Hello @dexter1691 , @deshraj
I am PG student & I would like to contribute for this project.
I have done python, django and javascript based project and a machine learning based project. And I have knowledge of deeplearning and completed some quick start tutorials on tensorflow and keras . And I am positive to learn other requirements too.
So do you guys think I can contribute ?

Hello! Can I work on CI part for this project?

Hi @kkrgithub, you are most welcome to contribute to this project. You have the required skillset to contribute. Feel free to reach to us if you have questions.

Hi @esikachev, please check the open issues on the Repository's issues page. The above mentioned features are to be implemented during the course of summer.

@deshraj On all issues with label "GSOC" is working other people

Hi there
I'm interested in this project and i've done few projects that contains both working with flask, django and also in ML stream like keras, tensorflow and theano though all are not huge as these.
So how should i proceed?
@deshraj @dexter1691

Hi @deshraj i'am tunisia student & i would like to contribute to this project , i have done angularjs , reactjs , python sickit-learn and tensorflow , and i'm currently following coursera machine learning course , and i would participate in Google summer code , i'm interested in your organisation and your projects , then do you think can i be accepted ?