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