Deploy your model in 20 seconds

Implement our model

class Model:
    def _init__(self):
        self.model = torch.load(...)

    def predict(self, img:nd.array):
        return self.model(img)

    def predict_batch(self, imgs:List(nd.array)):
        return self.model(img for img in imgs)

Deploy with Python/Flask (bad)

import flask
import json
import time

app = flask.Flask(__name__)
app.config["DEBUG"] = True

model = Model()

@app.route('/predict/<img>', methods=['GET'])
def predict(img):
    start = time.time()
    ans = model.predict(img)
    total_time = time.time() - start
    final_return = {'Time': total_time, 'result': ans}
    return json.dump(final_return)

@app.route('/predict/<imgs>', methods=['POST', 'GET'])
def predict_batch(imgs):
    final_return = []
    for img in imgs:
        start = time.time()
        ans = model.predict(img)
        total_time = time.time() - start
        final_dict = {'Time': total_time, 'result': ans}
        final_return.append(final_dict)
    return json.dump(final_return)

app.run()

Deploy with MLChain (good)

from mlchain.base import ServeModel 
model = Model()
serve_model = ServeModel(model)

On top of that,