如果在试图函数中调用模型,通常由于载入模型而耗费大量时间,但模型不同每次都载入,完全可以在启动django时就调用,
关于方法即为通过设置全局变量,Yolov3通常会在创建YOLO()类实例时调用:
即为 yolo = YOLO(), 这行代码时调用,具体的是因为这时调用了load_model函数载入模型,
所以可以在views.py文件的视图函数外,直接使用yolo = YOLO(),
然后当视图函数中需要检测图片时,直接调用yolo对象,
如:
# keras==2.1.6
# tensorflow-gpu==1.5.0
# django==3.1.4
# 在views.py中
from yolo import YOLO
# 在这里使用,一旦开启django服务端就会直接调用模型
yolo = YOLO()
def detect_img(yolo, path):
# yolo = YOLO() 原来是在这里调用,所以每次都会重新载入模型
try:
image = Image.open(path)
r_image, temp, classID = yolo.detect_image(image)
print(classID)
return classID
except Exception as e:
print(e)
class test(View):
def get(self, request):
return HttpResponse('GET方法')
def post(self, request):
# 获取上传的图片并将其存储
image &