This commit is contained in:
lichen
2022-04-08 16:44:51 +08:00
parent 495dde36af
commit d21e025191
78 changed files with 11455 additions and 0 deletions

91
ieemoo-ai-zhanting.py Executable file
View File

@ -0,0 +1,91 @@
# -*- coding: utf-8 -*-
from flask import request, Flask
import numpy as np
import json
import time
import cv2, base64
import argparse
import sys, os
import torch
from PIL import Image
import datetime
from torchvision import transforms
# from models.modeling import VisionTransformer, CONFIGS
from gevent.pywsgi import WSGIServer
sys.path.insert(0, ".")
import detect
app = Flask(__name__)
app.use_reloader=False
parser = argparse.ArgumentParser()
parser.add_argument('--weights', nargs='+', type=str, default='runs/zhanting/yolov5l_finetune/exp/weights/best.pt', help='model.pt path(s)')
parser.add_argument('--source', type=str, default='data/images/1.jpg', help='source') # file/folder, 0 for webcam
parser.add_argument('--img-size', type=int, default=640, help='inference size (pixels)')
parser.add_argument('--conf-thres', type=float, default=0.25, help='object confidence threshold')
parser.add_argument('--iou-thres', type=float, default=0.45, help='IOU threshold for NMS')
parser.add_argument('--device', default='', help='cuda device, i.e. 0 or 0,1,2,3 or cpu')
parser.add_argument('--view-img', type=bool, default=True, help='display results')
parser.add_argument('--save-txt', type=bool, default=True, help='save results to *.txt')
parser.add_argument('--save-conf', type=bool, default=True, help='save confidences in --save-txt labels')
parser.add_argument('--nosave', type=bool, default=True, help='do not save images/videos')
parser.add_argument('--classes', nargs='+', type=int, help='filter by class: --class 0, or --class 0 2 3')
parser.add_argument('--agnostic-nms', type=bool, default=True, help='class-agnostic NMS')
parser.add_argument('--augment', type=bool, default=True, help='augmented inference')
parser.add_argument('--update', type=bool, default=True, help='update all models')
parser.add_argument('--project', default='runs/detect', help='save results to project/name')
parser.add_argument('--name', default='exp', help='save results to project/name')
parser.add_argument('--exist-ok', type=bool, default=True, help='existing project/name ok, do not increment')
opt = parser.parse_args()
#opt, unknown = parser.parse_known_args()
@app.route("/zhanting", methods=['POST'])
def get_isempty():
start = time.time()
data = request.get_data()
ip = request.remote_addr
print('------ ip = %s ------' % ip)
json_data = json.loads(data.decode("utf-8"))
# getdateend = time.time()
# print('get date use time: {0:.2f}s'.format(getdateend - start))
pic = json_data.get("file")
result = {"success": "false",
"rst_cls": '-1',
}
imgdata = base64.b64decode(pic)
image_path = 'data/images/1.jpg'
file = open(image_path, 'wb')
file.write(imgdata)
pred = detect.detect(opt)
print('pred', pred)
getdateend = time.time()
now_time = datetime.datetime.now()
print('now_time', now_time)
print('get date use time: {0:.2f}s'.format(getdateend - start))
return repr(pred)
if __name__ == "__main__":
app.run()
#http_server = WSGIServer(('0.0.0.0', 8083), app)
#http_server.serve_forever()