Automatic Docker Image Creation for Any ML/DL Model 🐳
chitra
CLI can build docker image for any kind of Machine Learning or Deep Learning Model.
You need to create a main.py
file which will contain an object of type chitra.serve.ModelServer
and
its name should be app
.
If you have any external Python dependency then create a requirements.txt
file and keep in the same directory.
If the above conditions are satisfied then just run chitra builder run --path MAIN_FILEPATH
Usage
chitra builder create [OPTIONS]
Options:
--path TEXT [default: ./]
--port TEXT
--tag TEXT
--help Show this message and exit.
path
is the file location where main.py
and requirements.txt
is present.
You can specify which port to run your app on. By default, it is 8080.
To set the tag of the docker image use tag
argument.
Example: Auto Build Docker Image for HuggingFace Text Classification Model API
Create ModelServer
First create Text Classification model from HuggingFace. chitra
provides create_api
method
to create API for any kind of ML/DL model. We specify the api_type="text-classification"
and
get an app
object.
from transformers import AutoModelForSequenceClassification, AutoTokenizer, pipeline
from chitra.serve import create_api
tokenizer = AutoTokenizer.from_pretrained("microsoft/xtremedistil-l6-h256-uncased")
model = AutoModelForSequenceClassification.from_pretrained(
"microsoft/xtremedistil-l6-h256-uncased"
)
classifier = pipeline("text-classification", model=model, tokenizer=tokenizer)
app = create_api(classifier, run=False, api_type="text-classification").app
Use Chitra CLI to auto-build Docker Image
Go to terminal and change the directory to the path where main.py
is present.
Run chitra builder create --path ./FILEPATH --tag chitra-server
.
That's all you need to do! You can run the docker image using docker run -p 8080:8080 chitra-server
from terminal.