GSoC

GSoC

This was an excellent learning experience for me. By the end of these 3 months, I can surely call myself a better developer than what I was 3 months back. I had been trying to contribute to an open-source project since long, and finally GSoC gave me the opportunity in the best possible way. At times I committed mistakes but my mentors were always helpful and supportive. I learnt things in the journey and that is what GSoC is all about.

GSoC 2018 Final Submission Report

  • Student: Deepesh Pathak
  • Github: @fristonio
  • Organisation: CloudCV

Project

Origami

Origami is an AI-as-a-service solution that allows researchers to easily convert their deep learning models into an online service that is widely accessible to everyone without the need to set up the infrastructure, resolve the dependencies, and build a web service around the deep learning model. My project with CloudCV was to improve the demo creation pipeline for Origami.

origami-lib

  • Rewrite origami python package origami-lib to implement a modular and flexible architecture.
  • Add features like REST API access for demos and persistent connection demos to origami-lib.
  • Improve origami-lib documentation.

Origami-lib Pull Requests

origami-daemon

Origamid is a python command line utility which manages the demo creation pipeline on CloudCV server. It provides a REST API interface for interaction and manages demos which are deployed on CloudCV servers using docker. This tool uses celery to run demo deployments asynchronously on the servers. The whole utility was developed as a part of my GSoC project.

Origami Daemon

Dockerfiles

These are a set of Dockerfiles which Origami uses internally for demo deployments in docker containers. These docker images are also hosted on Docker-Hub for public use. All the Dockerfile and testing setup for repository was implmented as a part of my GSoC project.

Origami Dockerfiles

CI/CD Pipeline

During GSoC I also implemented a CI/CD pipeline for Origami using Jenkins on CloudCV servers. Jenkins currently only tracks develop branch for Origami and is yet to be merged to master. Here is the link to Jenkinsfile.