Skip to content

Instantly share code, notes, and snippets.

@neelriyer
Last active July 19, 2020 09:17
Show Gist options
  • Save neelriyer/98511babdd831711f08174002ac03099 to your computer and use it in GitHub Desktop.
Save neelriyer/98511babdd831711f08174002ac03099 to your computer and use it in GitHub Desktop.
detectron2 web app low memory version
from Detector import Detector
import io
from flask import Flask, render_template, request, send_from_directory, send_file
from PIL import Image
import requests
import os
import img_transforms
app = Flask(__name__)
detector = Detector()
RENDER_FACTOR = 25
# run inference using image transform to reduce memory
def run_inference_transform(img_path = 'file.jpg', transformed_path = 'file_transformed.jpg'):
# get height, width of image
original_img = Image.open(img_path)
# transform to square, using render factor
transformed_img = img_transforms._scale_to_square(original_img, targ=RENDER_FACTOR*16)
transformed_img.save(transformed_path)
# run inference using detectron2
untransformed_result = detector.inference(transformed_path)
# unsquare
result_img = img_transforms._unsquare(untransformed_result, original_img)
# clean up
try:
os.remove(img_path)
os.remove(transformed_path)
except:
pass
return result_img
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment