Spaces:
Running
Running
from typing import List, Optional | |
import gradio | |
import onnxruntime | |
import facefusion.globals | |
from facefusion import wording | |
from facefusion.face_analyser import clear_face_analyser | |
from facefusion.processors.frame.core import clear_frame_processors_modules | |
from facefusion.utilities import encode_execution_providers, decode_execution_providers | |
EXECUTION_PROVIDERS_CHECKBOX_GROUP : Optional[gradio.CheckboxGroup] = None | |
def render() -> None: | |
global EXECUTION_PROVIDERS_CHECKBOX_GROUP | |
EXECUTION_PROVIDERS_CHECKBOX_GROUP = gradio.CheckboxGroup( | |
label = wording.get('execution_providers_checkbox_group_label'), | |
choices = encode_execution_providers(onnxruntime.get_available_providers()), | |
value = encode_execution_providers(facefusion.globals.execution_providers) | |
) | |
def listen() -> None: | |
EXECUTION_PROVIDERS_CHECKBOX_GROUP.change(update_execution_providers, inputs = EXECUTION_PROVIDERS_CHECKBOX_GROUP, outputs = EXECUTION_PROVIDERS_CHECKBOX_GROUP) | |
def update_execution_providers(execution_providers : List[str]) -> gradio.CheckboxGroup: | |
clear_face_analyser() | |
clear_frame_processors_modules() | |
if not execution_providers: | |
execution_providers = encode_execution_providers(onnxruntime.get_available_providers()) | |
facefusion.globals.execution_providers = decode_execution_providers(execution_providers) | |
return gradio.CheckboxGroup(value = execution_providers) | |