Compare commits

..
8 Commits
5 changed files with 20 additions and 14 deletions
+8 -4
View File
@@ -32,10 +32,12 @@ def get_inference_pool(module_name : str, model_names : List[str], model_source_
for execution_device_id in execution_device_ids: for execution_device_id in execution_device_ids:
inference_context = get_inference_context(module_name, model_names, execution_device_id, execution_providers) inference_context = get_inference_context(module_name, model_names, execution_device_id, execution_providers)
if app_context == 'cli' and INFERENCE_POOL_SET.get('ui').get(inference_context): if state_manager.get_item('video_memory_strategy') == 'tolerant':
INFERENCE_POOL_SET['cli'][inference_context] = INFERENCE_POOL_SET.get('ui').get(inference_context) if app_context == 'cli' and INFERENCE_POOL_SET.get('ui').get(inference_context):
if app_context == 'ui' and INFERENCE_POOL_SET.get('cli').get(inference_context): INFERENCE_POOL_SET['cli'][inference_context] = INFERENCE_POOL_SET.get('ui').get(inference_context)
INFERENCE_POOL_SET['ui'][inference_context] = INFERENCE_POOL_SET.get('cli').get(inference_context) if app_context == 'ui' and INFERENCE_POOL_SET.get('cli').get(inference_context):
INFERENCE_POOL_SET['ui'][inference_context] = INFERENCE_POOL_SET.get('cli').get(inference_context)
if not INFERENCE_POOL_SET.get(app_context).get(inference_context): if not INFERENCE_POOL_SET.get(app_context).get(inference_context):
inference_providers = resolve_static_inference_providers(module_name, execution_device_id) inference_providers = resolve_static_inference_providers(module_name, execution_device_id)
INFERENCE_POOL_SET[app_context][inference_context] = create_inference_pool(model_source_set, inference_providers) INFERENCE_POOL_SET[app_context][inference_context] = create_inference_pool(model_source_set, inference_providers)
@@ -49,6 +51,7 @@ def create_inference_pool(model_source_set : DownloadSet, inference_providers :
for model_name in model_source_set.keys(): for model_name in model_source_set.keys():
model_path = model_source_set.get(model_name).get('path') model_path = model_source_set.get(model_name).get('path')
if is_file(model_path): if is_file(model_path):
inference_pool[model_name] = create_inference_session(model_path, inference_providers) inference_pool[model_name] = create_inference_session(model_path, inference_providers)
@@ -65,6 +68,7 @@ def clear_inference_pool(module_name : str, model_names : List[str]) -> None:
for execution_device_id in execution_device_ids: for execution_device_id in execution_device_ids:
inference_context = get_inference_context(module_name, model_names, execution_device_id, execution_providers) inference_context = get_inference_context(module_name, model_names, execution_device_id, execution_providers)
if INFERENCE_POOL_SET.get(app_context).get(inference_context): if INFERENCE_POOL_SET.get(app_context).get(inference_context):
del INFERENCE_POOL_SET[app_context][inference_context] del INFERENCE_POOL_SET[app_context][inference_context]
+6 -4
View File
@@ -19,16 +19,17 @@ LOCALES =\
} }
ONNXRUNTIME_SET =\ ONNXRUNTIME_SET =\
{ {
'default': ('onnxruntime', '1.26.0') 'default': ('onnxruntime', '1.28.0')
} }
if is_windows() or is_linux(): if is_windows() or is_linux():
ONNXRUNTIME_SET['cuda'] = ('onnxruntime-gpu', '1.26.0') ONNXRUNTIME_SET['cuda@12'] = ('onnxruntime-gpu', '1.26.0')
ONNXRUNTIME_SET['cuda@13'] = ('onnxruntime-gpu', '1.28.0')
ONNXRUNTIME_SET['openvino'] = ('onnxruntime-openvino', '1.24.1') ONNXRUNTIME_SET['openvino'] = ('onnxruntime-openvino', '1.24.1')
if is_windows(): if is_windows():
ONNXRUNTIME_SET['directml'] = ('onnxruntime-directml', '1.24.4') ONNXRUNTIME_SET['directml'] = ('onnxruntime-directml', '1.24.4')
ONNXRUNTIME_SET['qnn'] = ('onnxruntime-qnn', '1.24.4') ONNXRUNTIME_SET['qnn'] = ('onnxruntime-qnn', '2.4.0')
if is_linux(): if is_linux():
ONNXRUNTIME_SET['migraphx'] = ('onnxruntime-migraphx', '1.26.0') ONNXRUNTIME_SET['migraphx'] = ('onnxruntime-migraphx', '1.27.1')
ONNXRUNTIME_SET['rocm'] = ('onnxruntime-rocm', '1.22.2.post3') ONNXRUNTIME_SET['rocm'] = ('onnxruntime-rocm', '1.22.2.post3')
@@ -63,6 +64,7 @@ def run(program : ArgumentParser) -> None:
for line in file.readlines(): for line in file.readlines():
__line__ = line.strip() __line__ = line.strip()
if not __line__.startswith('onnxruntime'): if not __line__.startswith('onnxruntime'):
commands.append(__line__) commands.append(__line__)
+1 -1
View File
@@ -4,7 +4,7 @@ METADATA =\
{ {
'name': 'FaceFusion', 'name': 'FaceFusion',
'description': 'Industry leading face manipulation platform', 'description': 'Industry leading face manipulation platform',
'version': '3.8.0', 'version': '3.8.1',
'license': 'OpenRAIL-AS', 'license': 'OpenRAIL-AS',
'author': 'Henry Ruhs', 'author': 'Henry Ruhs',
'url': 'https://facefusion.io' 'url': 'https://facefusion.io'
@@ -504,15 +504,15 @@ def clear_inference_pool() -> None:
def adjust_inference_providers() -> List[InferenceProvider]: def adjust_inference_providers() -> List[InferenceProvider]:
model_precision = get_model_options().get('precision') model_precision = get_model_options().get('precision')
model_type = get_model_options().get('type')
if is_macos() and has_execution_provider('coreml'): if is_macos() and has_execution_provider('coreml') and model_precision == 'fp16':
if model_type in [ 'ghost', 'uniface' ] or model_precision == 'fp16': if state_manager.get_item('workflow_mode') == 'image-to-video':
return\ return\
[ [
(facefusion.choices.execution_provider_set.get('coreml'), (facefusion.choices.execution_provider_set.get('coreml'),
{ {
'ModelFormat': 'MLProgram' 'ModelFormat': 'MLProgram',
'MLComputeUnits': 'CPUAndGPU'
}) })
] ]
+1 -1
View File
@@ -2,7 +2,7 @@ gradio-rangeslider==0.0.8
gradio==5.50.0 gradio==5.50.0
numpy==2.4.6 numpy==2.4.6
onnx==1.22.0 onnx==1.22.0
onnxruntime==1.26.0 onnxruntime==1.28.0
opencv-python-headless==5.0.0.93 opencv-python-headless==5.0.0.93
tqdm==4.70.0 tqdm==4.70.0
scipy==1.18.0 scipy==1.18.0