Set inswapper according to execution provider
This commit is contained in:
parent
319e3f9652
commit
cefd2fa41d
@ -18,6 +18,10 @@ def decode_execution_providers(execution_providers : List[str]) -> List[str]:
|
||||
return [ execution_provider for execution_provider, encoded_execution_provider in zip(available_execution_providers, encoded_execution_providers) if any(execution_provider in encoded_execution_provider for execution_provider in execution_providers) ]
|
||||
|
||||
|
||||
def has_execution_provider(execution_provider : str) -> bool:
|
||||
return execution_provider in onnxruntime.get_available_providers()
|
||||
|
||||
|
||||
def apply_execution_provider_options(execution_device_id : str, execution_providers : List[str]) -> List[Any]:
|
||||
execution_providers_with_options : List[Any] = []
|
||||
|
||||
|
@ -9,8 +9,7 @@ from onnx import numpy_helper
|
||||
import facefusion.globals
|
||||
import facefusion.processors.frame.core as frame_processors
|
||||
from facefusion import config, process_manager, logger, wording
|
||||
from facefusion.common_helper import is_macos
|
||||
from facefusion.execution import apply_execution_provider_options
|
||||
from facefusion.execution import has_execution_provider, apply_execution_provider_options
|
||||
from facefusion.face_analyser import get_one_face, get_average_face, get_many_faces, find_similar_faces, clear_face_analyser
|
||||
from facefusion.face_masker import create_static_box_mask, create_occlusion_mask, create_region_mask, clear_face_occluder, clear_face_parser
|
||||
from facefusion.face_helper import warp_face_by_face_landmark_5, paste_back
|
||||
@ -150,7 +149,7 @@ def set_options(key : Literal['model'], value : Any) -> None:
|
||||
|
||||
|
||||
def register_args(program : ArgumentParser) -> None:
|
||||
if is_macos():
|
||||
if has_execution_provider('CoreMLExecutionProvider') or has_execution_provider('OpenVINOExecutionProvider'):
|
||||
face_swapper_model_fallback = 'inswapper_128'
|
||||
else:
|
||||
face_swapper_model_fallback = 'inswapper_128_fp16'
|
||||
|
@ -1,4 +1,4 @@
|
||||
from facefusion.execution import encode_execution_providers, decode_execution_providers, apply_execution_provider_options
|
||||
from facefusion.execution import encode_execution_providers, decode_execution_providers, has_execution_provider, apply_execution_provider_options
|
||||
|
||||
|
||||
def test_encode_execution_providers() -> None:
|
||||
@ -9,6 +9,11 @@ def test_decode_execution_providers() -> None:
|
||||
assert decode_execution_providers([ 'cpu' ]) == [ 'CPUExecutionProvider' ]
|
||||
|
||||
|
||||
def test_has_execution_provider() -> None:
|
||||
assert has_execution_provider('CPUExecutionProvider') is True
|
||||
assert has_execution_provider('InvalidExecutionProvider') is False
|
||||
|
||||
|
||||
def test_multiple_execution_providers() -> None:
|
||||
execution_provider_with_options =\
|
||||
[
|
||||
|
Loading…
Reference in New Issue
Block a user