查询训练报告接口

This commit is contained in:
2025-03-11 11:42:09 +08:00
parent 7d736c4ac4
commit f49a6caf10
10 changed files with 143 additions and 39 deletions

View File

@ -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")