|
import platform
|
|
from os import path
|
|
from typing import List
|
|
|
|
from backend.device import is_openvino_device
|
|
from paths import get_file_name
|
|
|
|
|
|
def is_reshape_required(
|
|
prev_width: int,
|
|
cur_width: int,
|
|
prev_height: int,
|
|
cur_height: int,
|
|
prev_model: int,
|
|
cur_model: int,
|
|
prev_num_of_images: int,
|
|
cur_num_of_images: int,
|
|
) -> bool:
|
|
reshape_required = False
|
|
if (
|
|
prev_width != cur_width
|
|
or prev_height != cur_height
|
|
or prev_model != cur_model
|
|
or prev_num_of_images != cur_num_of_images
|
|
):
|
|
print("Reshape and compile")
|
|
reshape_required = True
|
|
|
|
return reshape_required
|
|
|
|
|
|
def enable_openvino_controls() -> bool:
|
|
return (
|
|
is_openvino_device()
|
|
and platform.system().lower() != "darwin"
|
|
and platform.processor().lower() != "arm"
|
|
)
|
|
|
|
|
|
def get_valid_model_id(
|
|
models: List,
|
|
model_id: str,
|
|
default_model: str = "",
|
|
) -> str:
|
|
if len(models) == 0:
|
|
print(
|
|
"Warning: model configuration file/directory is empty,please add some models."
|
|
)
|
|
return ""
|
|
if model_id == "":
|
|
if default_model:
|
|
return default_model
|
|
else:
|
|
return models[0]
|
|
|
|
if model_id in models:
|
|
return model_id
|
|
else:
|
|
if model_id:
|
|
print(
|
|
f"Error:{model_id} Model not found in configuration file,so using first model : {models[0]}"
|
|
)
|
|
return models[0]
|
|
|
|
|
|
def get_valid_lora_model(
|
|
models: List,
|
|
cur_model: str,
|
|
lora_models_dir: str,
|
|
) -> str:
|
|
if cur_model == "" or cur_model is None:
|
|
print(
|
|
f"No lora models found, please add lora models to {lora_models_dir} directory"
|
|
)
|
|
return ""
|
|
else:
|
|
if path.exists(cur_model):
|
|
return get_file_name(cur_model)
|
|
else:
|
|
print(f"Lora model {cur_model} not found")
|
|
if len(models) > 0:
|
|
print(f"Fallback model - {models[0]}")
|
|
return get_file_name(models[0])
|
|
else:
|
|
print(
|
|
f"No lora models found, please add lora models to {lora_models_dir} directory"
|
|
)
|
|
return ""
|
|
|