fastSD / frontend /utils.py
thejagstudio's picture
Upload 61 files
510ee71 verified
import platform
from os import path
from typing import List
from backend.device import is_openvino_device
from constants import 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("Error: model configuration file 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:
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 ""