Tejas (तेजस) means brain, flame, glow, radiance (just like my models :p)
This repository contains the main backend which handles the API Requests, it uses FastAPI and Mangum ASGI Handler. Once train_model is invoked, it stores the dataset in S3, which invokes the training lambda. This service also gives the user ability to query status of training, downloading models and also perform inferencing.
Deployed Website: http://tejas.tensorclan.tech/ or https://project-tejas-web.vercel.app/
Docs Website: https://projekt-tejas-docs.vercel.app/
EFS must have this structure, and should be mounted to /mnt/tejas-fs
in Lambda
- tejas-libs
- tejas-models
- tejas-pretrained
- tejas-datasets
VPC Endpoints are essential for this project to work, make sure to enable the following Endpoints with Appropriate Security Groups and Routing Table
- com.amazonaws.ap-south-1.dynamodb
- com.amazonaws.ap-south-1.lambda # not needed, this incurred me costs, since this is a ENI
- com.amazonaws.ap-south-1.s3
NOTE: You will be charged for the Endpoints, plan accordingly (Use minimum Availability Zone for Lower Costs)
Download these models into tejas-pretrained
wget https://download.pytorch.org/models/mobilenet_v2-b0353104.pth
- sometimes port
8000
does not work in WSL, so instead use5000
uvicorn tejas.main:app --host=0.0.0.0 --port=5000