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