TOWHEE

2022 GSoC Towhee Proposal

Towhee

Welcome to the Towhee community! Thanks for your interest in working with us through Google Summer of Code. If you’re interested in working on Towhee this summer, please give us a star on Github and check out our project ideas below.

Project ideas

Towhee hosted API

Description: Create a server that hosts Towhee and all of its pipelines behind a RESTful API. This API should implement all of the login/logout as well as key and token management. A user using the Towhee API can also upload a piece of data and have the server automatically select an appropriate embedding pipeline. The first phase of this project involves building a single-instance version of the API. This API should have all key features of a well-developed API, including asynchronicity via async/await, user authentication, and session management (via API keys or tokens). The second phase of this project involves horizontally scaling the Towhee API via Kubernetes or another container orchestration engine.

Skills needed: Proficiency in Python and a familiarity with API development using Python (FastAPI, Flask, or Django).

Difficulty level: hard Time: 350 hours

References:

Mentors: Krishna Katyal (krishna.katyal@zilliz.com), Filip Haltmayer (filip.haltmayer@zilliz.com), Frank Liu (frank.liu@zilliz.com)

Extend the Towhee training subframework

Description: Deep neural network models can be accessed in the Towhee framework via an abstraction called an Operator. Models can fine-tuned by providing Towhee with an existing model-based operator as well as a labeled training dataset (such as ImageNet or CIFAR) and a set of training hyperparameters. This method of training is good for many standard datasets, but falls short in other cases such as semi-supervised training methods. This project involves extending the Towhee training framework to include GAN, autoencoder, and RNN training. Each training type should be given its own Trainer class within the Towhee framework and tested extensively on different computer vision and natural language processing datasets.

Skills needed: Proficiency in Python and a general understanding of GANs, autoencoders and RNNs.

Difficulty level: hard Time: 350 hours

References:

Mentors: Kyle He (junchen.he@zilliz.com), Junjie Jiang (junjie.jiang@zilliz.com)

Get in touch

Find us on GitHub.Join our Slack Channel.Join our Office Hours every Thursday from 4-5pm PST.Follow us on Twitter.Visit our Towhee hub.Join our mailing list