api moved to different project

This commit is contained in:
Şefik Serangil 2020-04-09 12:24:32 +03:00
parent 8427be05c2
commit b98f36e562
2 changed files with 0 additions and 257 deletions

View File

@ -1,120 +0,0 @@
from flask import Flask, jsonify, request, make_response
import uuid
import json
import time
from deepface import DeepFace
from deepface.basemodels import VGGFace, OpenFace, Facenet, FbDeepFace
#------------------------------
app = Flask(__name__)
#------------------------------
#Service API Interface
@app.route('/analyze', methods=['POST'])
def analyze():
req = request.get_json()
trx_id = uuid.uuid4()
#---------------------------
tic = time.time()
instances = []
if "img" in list(req.keys()):
raw_content = req["img"] #list
for item in raw_content: #item is in type of dict
instances.append(item)
if len(instances) == 0:
return jsonify({'success': False, 'error': 'you must pass at least one img object in your request'}), 205
print("Analyzing ", len(instances)," instances")
#---------------------------
actions= ['emotion', 'age', 'gender', 'race']
if "actions" in list(req.keys()):
actions = req["actions"]
#---------------------------
resp_obj = DeepFace.analyze(instances, actions=actions)
#---------------------------
#resp_obj = json.loads("{\"success\": true}")
toc = time.time()
resp_obj["trx_id"] = trx_id
resp_obj["seconds"] = toc-tic
return resp_obj
@app.route('/verify', methods=['POST'])
def verify():
req = request.get_json()
trx_id = uuid.uuid4()
tic = time.time()
#-------------------------
model_name = "VGG-Face"; distance_metric = "cosine"
if "model_name" in list(req.keys()):
model_name = req["model_name"]
if "distance_metric" in list(req.keys()):
distance_metric = req["distance_metric"]
instances = []
if "img" in list(req.keys()):
raw_content = req["img"] #list
for item in raw_content: #item is in type of dict
instance = []
img1 = item["img1"]; img2 = item["img2"]
validate_img1 = False
if len(img1) > 11 and img1[0:11] == "data:image/":
validate_img1 = True
validate_img2 = False
if len(img2) > 11 and img2[0:11] == "data:image/":
validate_img2 = True
if validate_img1 != True or validate_img2 != True:
return jsonify({'success': False, 'error': 'you must pass both img1 and img2 as base64 encoded string'}), 205
instance.append(img1); instance.append(img2)
instances.append(instance)
#--------------------------
if len(instances) == 0:
return jsonify({'success': False, 'error': 'you must pass at least one img object in your request'}), 205
print("Input request of ", trx_id, " has ",len(instances)," pairs to verify")
#--------------------------
resp_obj = DeepFace.verify(instances, model_name = model_name, distance_metric = distance_metric)
toc = time.time()
resp_obj["trx_id"] = trx_id
resp_obj["seconds"] = toc-tic
#--------------------------
return resp_obj, 200
if __name__ == '__main__':
app.run()

File diff suppressed because one or more lines are too long