Author: Wei Dong ([email protected])
The goal of STagS is to experiment with the idea of a RESTful omnipotent tagging service: upon receiving a POSTed chunk of data from the client, the server will try to identify the type of data, and invoke various appropriate backends to generate tagging data. Recent years have witnessed a rapid advancement in machine learning technologies as well as the emergence of many high quality open-source software for processing visual, audio, textual and other types of non-structural data. STagS is to integrate many of such software and provide a unified portal to them.
More specifically, STagS produces a single huge statically linked monolithic Linux executable that is supposed to run on any Linux system with kernel version >= 2.6 and with an X86_64 CPU.
This project is for fun and does not reflect my understanding of good software engineering practice. Readers/Users should understand that, static linking, although bringing convenience in deployment, has obvious limitations, and is considered by some people as a bad practice.
A demo service is currently deployed, and can be invoked from commandline with CURL:
curl -F "[email protected]" -F "[email protected]" http://wdong-prod.apigee.net/stags
The API can also be accessed from a program, assuming multiple data files are properly POSTed with multipart/form-data.
It's a daunting task to build this project due to the numerous dependencies, and running the program requires putting together pre-trained models. At this stage, this project is for my own fun. You've been warned.
Email me if you want to replicate the service and contribute to the development.