Patch 3.5.4 (#1055)

* remove insecure flag from curl

* eleminate repating definitons

* limit processors and ui layouts by choices

* follow couple of v4 standards

* use more secure mkstemp

* dynamic cache path for execution providers

* fix benchmarker, prevent path traveling via job-id

* fix order in execution provider choices

* resort by prioroty

* introduce support for QNN

* close file description for Windows to stop crying

* prevent ConnectionResetError under windows

* needed for nested .caches directory as onnxruntime does not create it

* different approach to silent asyncio

* update dependencies

* simplify the name to just inference providers

* switch to trt_builder_optimization_level 4
This commit is contained in:
Henry Ruhs
2026-03-08 11:00:45 +01:00
committed by GitHub
parent c7976ec9d4
commit a498f3d618
31 changed files with 243 additions and 207 deletions
@@ -1,8 +1,8 @@
from typing import List, Sequence
from typing import List, Sequence, get_args
from facefusion.common_helper import create_int_range
from facefusion.processors.modules.age_modifier.types import AgeModifierModel
age_modifier_models : List[AgeModifierModel] = [ 'styleganex_age' ]
age_modifier_models : List[AgeModifierModel] = list(get_args(AgeModifierModel))
age_modifier_direction_range : Sequence[int] = create_int_range(-100, 100, 1)
@@ -1,8 +1,8 @@
from typing import List, Sequence
from typing import List, Sequence, get_args
from facefusion.common_helper import create_int_range
from facefusion.processors.modules.background_remover.types import BackgroundRemoverModel
background_remover_models : List[BackgroundRemoverModel] = [ 'ben_2', 'birefnet_general', 'birefnet_portrait', 'isnet_general', 'modnet', 'ormbg', 'rmbg_1.4', 'rmbg_2.0', 'silueta', 'u2net_cloth', 'u2net_general', 'u2net_human', 'u2netp' ]
background_remover_models : List[BackgroundRemoverModel] = list(get_args(BackgroundRemoverModel))
background_remover_color_range : Sequence[int] = create_int_range(0, 255, 1)
@@ -1,10 +1,10 @@
from typing import List, Sequence
from typing import List, Sequence, get_args
from facefusion.common_helper import create_int_range
from facefusion.processors.modules.expression_restorer.types import ExpressionRestorerArea, ExpressionRestorerModel
expression_restorer_models : List[ExpressionRestorerModel] = [ 'live_portrait' ]
expression_restorer_models : List[ExpressionRestorerModel] = list(get_args(ExpressionRestorerModel))
expression_restorer_areas : List[ExpressionRestorerArea] = [ 'upper-face', 'lower-face' ]
expression_restorer_areas : List[ExpressionRestorerArea] = list(get_args(ExpressionRestorerArea))
expression_restorer_factor_range : Sequence[int] = create_int_range(0, 100, 1)
@@ -1,5 +1,5 @@
from typing import List
from typing import List, get_args
from facefusion.processors.modules.face_debugger.types import FaceDebuggerItem
face_debugger_items : List[FaceDebuggerItem] = [ 'bounding-box', 'face-landmark-5', 'face-landmark-5/68', 'face-landmark-68', 'face-landmark-68/5', 'face-mask' ]
face_debugger_items : List[FaceDebuggerItem] = list(get_args(FaceDebuggerItem))
@@ -1,9 +1,9 @@
from typing import List, Sequence
from typing import List, Sequence, get_args
from facefusion.common_helper import create_float_range
from facefusion.processors.modules.face_editor.types import FaceEditorModel
face_editor_models : List[FaceEditorModel] = [ 'live_portrait' ]
face_editor_models : List[FaceEditorModel] = list(get_args(FaceEditorModel))
face_editor_eyebrow_direction_range : Sequence[float] = create_float_range(-1.0, 1.0, 0.05)
face_editor_eye_gaze_horizontal_range : Sequence[float] = create_float_range(-1.0, 1.0, 0.05)
@@ -1,9 +1,9 @@
from typing import List, Sequence
from typing import List, Sequence, get_args
from facefusion.common_helper import create_float_range, create_int_range
from facefusion.processors.modules.face_enhancer.types import FaceEnhancerModel
face_enhancer_models : List[FaceEnhancerModel] = [ 'codeformer', 'gfpgan_1.2', 'gfpgan_1.3', 'gfpgan_1.4', 'gpen_bfr_256', 'gpen_bfr_512', 'gpen_bfr_1024', 'gpen_bfr_2048', 'restoreformer_plus_plus' ]
face_enhancer_models : List[FaceEnhancerModel] = list(get_args(FaceEnhancerModel))
face_enhancer_blend_range : Sequence[int] = create_int_range(0, 100, 1)
@@ -1,8 +1,9 @@
from typing import List, Sequence
from typing import List, Sequence, get_args
from facefusion.common_helper import create_float_range
from facefusion.processors.modules.face_swapper.types import FaceSwapperModel, FaceSwapperSet, FaceSwapperWeight
face_swapper_set : FaceSwapperSet =\
{
'blendswap_256': [ '256x256', '384x384', '512x512', '768x768', '1024x1024' ],
@@ -20,6 +21,6 @@ face_swapper_set : FaceSwapperSet =\
'uniface_256': [ '256x256', '512x512', '768x768', '1024x1024' ]
}
face_swapper_models : List[FaceSwapperModel] = list(face_swapper_set.keys())
face_swapper_models : List[FaceSwapperModel] = list(get_args(FaceSwapperModel))
face_swapper_weight_range : Sequence[FaceSwapperWeight] = create_float_range(0.0, 1.0, 0.05)
@@ -1,9 +1,9 @@
from typing import List, Sequence
from typing import List, Sequence, get_args
from facefusion.common_helper import create_int_range
from facefusion.processors.modules.frame_colorizer.types import FrameColorizerModel
frame_colorizer_models : List[FrameColorizerModel] = [ 'ddcolor', 'ddcolor_artistic', 'deoldify', 'deoldify_artistic', 'deoldify_stable' ]
frame_colorizer_models : List[FrameColorizerModel] = list(get_args(FrameColorizerModel))
frame_colorizer_sizes : List[str] = [ '192x192', '256x256', '384x384', '512x512' ]
@@ -1,8 +1,8 @@
from typing import List, Sequence
from typing import List, Sequence, get_args
from facefusion.common_helper import create_int_range
from facefusion.processors.modules.frame_enhancer.types import FrameEnhancerModel
frame_enhancer_models : List[FrameEnhancerModel] = [ 'clear_reality_x4', 'face_dat_x4', 'lsdir_x4', 'nomos8k_sc_x4', 'real_esrgan_x2', 'real_esrgan_x2_fp16', 'real_esrgan_x4', 'real_esrgan_x4_fp16', 'real_esrgan_x8', 'real_esrgan_x8_fp16', 'real_hatgan_x4', 'real_web_photo_x4', 'realistic_rescaler_x4', 'remacri_x4', 'siax_x4', 'span_kendata_x4', 'swin2_sr_x4', 'tghq_face_x8', 'ultra_sharp_x4', 'ultra_sharp_2_x4' ]
frame_enhancer_models : List[FrameEnhancerModel] = list(get_args(FrameEnhancerModel))
frame_enhancer_blend_range : Sequence[int] = create_int_range(0, 100, 1)
@@ -1,8 +1,8 @@
from typing import List, Sequence
from typing import List, Sequence, get_args
from facefusion.common_helper import create_float_range
from facefusion.processors.modules.lip_syncer.types import LipSyncerModel
lip_syncer_models : List[LipSyncerModel] = [ 'edtalk_256', 'wav2lip_96', 'wav2lip_gan_96' ]
lip_syncer_models : List[LipSyncerModel] = list(get_args(LipSyncerModel))
lip_syncer_weight_range : Sequence[float] = create_float_range(0.0, 1.0, 0.05)