查询训练报告接口
This commit is contained in:
@ -1,16 +1,18 @@
|
||||
import threading
|
||||
import asyncio
|
||||
from typing import List
|
||||
from fastapi import APIRouter, Depends, UploadFile, File, Form
|
||||
from fastapi.responses import StreamingResponse
|
||||
from fastapi.encoders import jsonable_encoder
|
||||
from sqlalchemy.orm import Session
|
||||
|
||||
from app.db.db_session import get_db
|
||||
from app.common import reponse_code as rc
|
||||
from app.model.crud import project_detect_crud as pdc
|
||||
from app.service import project_detect_service as pds
|
||||
from app.model.crud.project_train_crud import get_train
|
||||
from app.model.schemas.project_detect_schemas import ProjectDetectPager, ProjectDetectIn,\
|
||||
ProjectDetectImgPager, ProjectDetectLogIn, ProjectDetectLogPager
|
||||
from app.db.db_session import get_db
|
||||
|
||||
detect = APIRouter()
|
||||
|
||||
@ -116,11 +118,22 @@ def run_detect_yolo(detect_log_in: ProjectDetectLogIn, session: Session = Depend
|
||||
if train is None:
|
||||
return rc.response_error("训练权重不存在")
|
||||
detect_log = pds.run_detect_yolo(detect_log_in, detect, train, session)
|
||||
return StreamingResponse(pds.run_commend(detect_log.pt_url,
|
||||
thread_train = threading.Thread(target=run_event_loop, args=(detect_log.pt_url,
|
||||
detect_log.folder_url,
|
||||
detect_log.detect_folder_url,
|
||||
detect_log.detect_version,
|
||||
detect_log.id, detect_log.detect_id, session), media_type="text/plain")
|
||||
detect_log.id, detect_log.detect_id, session,))
|
||||
thread_train.start()
|
||||
return rc.response_success(msg="执行成功")
|
||||
|
||||
|
||||
def run_event_loop(weights: str, source: str, project: str, name: str, log_id: int, detect_id: int, session: Session):
|
||||
loop = asyncio.new_event_loop()
|
||||
asyncio.set_event_loop(loop)
|
||||
# 运行异步函数
|
||||
loop.run_until_complete(pds.run_commend(weights, source, project, name, log_id, detect_id, session))
|
||||
# 可选: 关闭循环
|
||||
loop.close()
|
||||
|
||||
|
||||
@detect.post("/get_log_pager")
|
||||
|
Reference in New Issue
Block a user