Я использую несколько программ для прогнозов. Я хочу, чтобы запросы колб выполнялись параллельно, вместо того, чтобы запускать обе модели одновременно.
Это работает на питоне 3. У меня сервер работает в другом разделе Linux поблизости. Моя собственная система - это хост, который отправляет файлы. Я пробовал потоки, но я не уверен, что делаю это правильно.
from flask import *
from predict import Predict
import json
import os
from flask_restful import Resource, Api
from ai_predict_test1 import AIPredict
from predictions import Prediction
app = Flask("__main__")
api= Api(app)
def get_response(key, value):
return {key: value}
def get_model_dir(key):
json_file = os.path.join(os.getcwd(), "configs", "model_dir.json")
with open(json_file, 'r') as fp:
json_obj = json.load(fp)
return json_obj[key]
@app.route("/video", methods=["POST", "GET"])
def upload_video():
try:
video_file_object = request.files["upload_file"]
# second_file=video_file_object
# predict_ai = Predict(get_model_dir())
predict_ai = AIPredict(get_model_dir("cnn_model_dir"), get_model_dir("rnn_model_dir"), True)
frame_detect_list = predict_ai.verify(video_file_object)
return jsonify(get_response(key="Response", value=frame_detect_list))
except Exception as e:
return jsonify(get_response("ERROR", str(e)))
@app.route("/audio", methods=["POST", "GET"])
def upload_audio():
try:
print('inside upload videoo')
audio_file_object = request.files["upload_file"]
# predict_ai =
audio_model = Prediction("audio_model/save_model")
frame_detect_list = audio_model.predict(audio_file_object)
return jsonify(get_response(key="Response", value=frame_detect_list))
except Exception as e:
return jsonify(get_response("ERROR", str(e)))
if __name__ == "__main__":
check, file_object = app.run("0.0.0.0", port=5000, threaded=False)