Множественные вызовы api на dar knet yolov4 не дают результата - PullRequest
0 голосов
/ 12 июля 2020

Код:

from flask import Flask, render_template
from flask import Flask, render_template, request
from flask import request,Flask
from werkzeug.utils import secure_filename
import json
import os

app = Flask(__name__)
@app.route("/")
def home_func():
    # data = request.get_json()

    # IPaddress = data['IPaddress']
    # CameraID = data['CameraID']
    # image = data['image']
    # apikey = data['apikey']
    # portnumber = data['portnumber']
    f = request.files['file']
    path = ("/home/ubuntu/darknet/image_input/"+secure_filename(f.filename))
    f.save(path)


    #print("got inputs")
    
    #os.remove("/home/ubuntu/darknet/result.json")

    os.chdir("/home/ubuntu/darknet")

    #print("changed dir")
    #os.mknod("/home/ubuntu/darknet/data/test.txt")

    t = open("/home/ubuntu/darknet/data/test.txt",'w')
    t.write(path)
    #print("Wrote to text file")

    os.system("./darknet detector test cfg/obj.data cfg/custom-yolov4-detector.cfg backup/custom-yolov4-detector_final.weights -dont_show -out output/result.json < data/test.txt")
    
    #os.remove("/home/ubuntu/darknet/data/test.txt")
    #print("Ran detection")


    file_to_open = open('output/result.json','r') 
    datas = json.load(file_to_open)

    name = []
    score = []




    for data in datas:
        for item in data['objects']:
            name.append(item['name'])
            score.append(item['confidence'])


    count = len(name)

    #t.close()
    file_to_open.close()


    return json.dumps({'CameraID':"1",'SkuID': name,'Count':count,'Score':score,'Status':'true'})

Это возвращает результат впервые. Но после этого все вызовы возвращают пустой массив.

Вывод:

160 conv 75 1 x 1/1 13 x 13 x1024 -> 13 x 13 x 75 0,026 BF 161 yolo [yolo] params: iou loss: ciou (4), iou_norm: 0.07, cls_norm: 1.00, scale_x_y: 1.05 nms_kind: greedynms (1), beta = 0.600000 Всего BFLOPS 59.701 avg_outputs = 492276 Выделить дополнительное рабочее пространство_size = 52,43 МБ Загрузка - вес из резервной копии yolov4-Detector_final.weights ... просмотрено 64, обучено: 1920 K-изображений (30 килобатчей_64) Готово! Загружены 162 слоя из файла с весами. Введите путь к изображению:

Здесь заканчивается. Но путь к изображению указан в data / text.txt

...