Feat/better resolve execution (#856)

* A better way to resolve execution providers

* Fix issues

* Fix issues
This commit is contained in:
Henry Ruhs
2025-01-19 11:05:36 +01:00
committed by henryruhs
parent 330f86a4e4
commit 3b80d66bf4
4 changed files with 28 additions and 14 deletions

View File

@@ -11,12 +11,13 @@ import facefusion.processors.core as processors
from facefusion import config, content_analyser, inference_manager, logger, process_manager, state_manager, wording
from facefusion.common_helper import create_int_metavar
from facefusion.download import conditional_download_hashes, conditional_download_sources, resolve_download_url
from facefusion.execution import has_execution_provider
from facefusion.filesystem import in_directory, is_image, is_video, resolve_relative_path, same_file_extension
from facefusion.processors import choices as processors_choices
from facefusion.processors.typing import FrameColorizerInputs
from facefusion.program_helper import find_argument_group
from facefusion.thread_helper import thread_semaphore
from facefusion.typing import ApplyStateItem, Args, DownloadScope, Face, InferencePool, ModelOptions, ModelSet, ProcessMode, QueuePayload, UpdateProgress, VisionFrame
from facefusion.typing import ApplyStateItem, Args, DownloadScope, ExecutionProvider, Face, InferencePool, ModelOptions, ModelSet, ProcessMode, QueuePayload, UpdateProgress, VisionFrame
from facefusion.vision import read_image, read_static_image, unpack_resolution, write_image
@@ -136,6 +137,12 @@ def clear_inference_pool() -> None:
inference_manager.clear_inference_pool(__name__)
def resolve_execution_providers() -> List[ExecutionProvider]:
if has_execution_provider('coreml'):
return [ 'cpu' ]
return state_manager.get_item('execution_providers')
def get_model_options() -> ModelOptions:
frame_colorizer_model = state_manager.get_item('frame_colorizer_model')
return create_static_model_set('full').get(frame_colorizer_model)