def load_mdl(mdl_dir: str = None, device=torch.device("cpu")): if mdl_dir is None: mdl_dir = mdl_url_dest()["orient"]["dest"] model = OrientMdl() model.load_state_dict(torch.load(mdl_dir)) model.eval() return model.to(device)
def get_pose_model(f_pretrained=None, num_layers=50, cfg=None, **kwargs): if f_pretrained is None: f_pretrained = mdl_url_dest()["pose"]["dest"] assert os.path.exists(f_pretrained) block_class, layers = resnet_spec[num_layers] if cfg is None: from .config import update_config from .config import config f = Path(__file__).parent / "256x192_d256x3_adam_lr1e-3.yaml" update_config(str(f)) cfg = config model = PoseResNet(block_class, layers, cfg, **kwargs) model.load_state_dict(torch.load(f_pretrained), strict=False) return model
def load_mdl(model_path=None, label_path=None, device=torch.device("cpu")): if model_path is None: model_path = mdl_url_dest()["detect_human_ssd"]["dest"] assert os.path.exists(model_path), model_path if label_path is None: from ..utils._classes import label_path class_names = [name.strip() for name in open(label_path).readlines()] net = create_mobilenetv2_ssd_lite(len(class_names), is_test=True, device=device) net.load(model_path) predictor = create_mobilenetv2_ssd_lite_predictor(net, candidate_size=200, device=device, class_names=class_names) return predictor
from starlette.responses import HTMLResponse, JSONResponse, FileResponse from starlette.staticfiles import StaticFiles from starlette.middleware.cors import CORSMiddleware from starlette.staticfiles import StaticFiles from starlette.endpoints import HTTPEndpoint import uvicorn, aiohttp, asyncio from io import BytesIO from pathlib import Path import os import sys import motion from motion.utils import mdl_url_dest app_path = Path(__file__).parent url_dest = mdl_url_dest(str(app_path)) app = Starlette() app.add_middleware( CORSMiddleware, allow_origins=["*"], allow_headers=["X-Requested-With", "Content-Type"], ) app.mount("/static", StaticFiles(directory="app/static")) async def download_file(url, dest): if dest.exists(): return print("downloading...") async with aiohttp.ClientSession() as session: async with session.get(url) as response:
def test_utils_dest(): urls_dest = utils.mdl_url_dest() for key in urls_dest: assert os.path.exists(urls_dest[key]["dest"]), urls_dest[key]["dest"]