update processors download method
This commit is contained in:
parent
f9e5e7e2ce
commit
c7a85e327f
@ -10,7 +10,7 @@ import facefusion.jobs.job_store
|
||||
import facefusion.processors.core as processors
|
||||
from facefusion import config, content_analyser, face_classifier, face_detector, face_landmarker, face_masker, face_recognizer, 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
|
||||
from facefusion.download import conditional_download_hashes, conditional_download_sources, resolve_download_url
|
||||
from facefusion.face_analyser import get_many_faces, get_one_face
|
||||
from facefusion.face_helper import merge_matrix, paste_back, scale_face_landmark_5, warp_face_by_face_landmark_5
|
||||
from facefusion.face_masker import create_occlusion_mask, create_static_box_mask
|
||||
@ -24,39 +24,40 @@ from facefusion.thread_helper import thread_semaphore
|
||||
from facefusion.typing import ApplyStateItem, Args, Face, InferencePool, ModelOptions, ModelSet, ProcessMode, QueuePayload, UpdateProgress, VisionFrame
|
||||
from facefusion.vision import match_frame_color, read_image, read_static_image, write_image
|
||||
|
||||
MODEL_SET : ModelSet =\
|
||||
{
|
||||
'styleganex_age':
|
||||
def create_model_set() -> ModelSet:
|
||||
return\
|
||||
{
|
||||
'hashes':
|
||||
'styleganex_age':
|
||||
{
|
||||
'age_modifier':
|
||||
'hashes':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.1.0/styleganex_age.hash',
|
||||
'path': resolve_relative_path('../.assets/models/styleganex_age.hash')
|
||||
}
|
||||
},
|
||||
'sources':
|
||||
{
|
||||
'age_modifier':
|
||||
'age_modifier':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'styleganex_age.hash'),
|
||||
'path': resolve_relative_path('../.assets/models/styleganex_age.hash')
|
||||
}
|
||||
},
|
||||
'sources':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.1.0/styleganex_age.onnx',
|
||||
'path': resolve_relative_path('../.assets/models/styleganex_age.onnx')
|
||||
'age_modifier':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'styleganex_age.onnx'),
|
||||
'path': resolve_relative_path('../.assets/models/styleganex_age.onnx')
|
||||
|
||||
}
|
||||
},
|
||||
'templates':
|
||||
{
|
||||
'target': 'ffhq_512',
|
||||
'target_with_background': 'styleganex_384'
|
||||
},
|
||||
'sizes':
|
||||
{
|
||||
'target': (256, 256),
|
||||
'target_with_background': (384, 384)
|
||||
}
|
||||
},
|
||||
'templates':
|
||||
{
|
||||
'target': 'ffhq_512',
|
||||
'target_with_background': 'styleganex_384'
|
||||
},
|
||||
'sizes':
|
||||
{
|
||||
'target': (256, 256),
|
||||
'target_with_background': (384, 384)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
def get_inference_pool() -> InferencePool:
|
||||
@ -72,7 +73,7 @@ def clear_inference_pool() -> None:
|
||||
|
||||
def get_model_options() -> ModelOptions:
|
||||
age_modifier_model = state_manager.get_item('age_modifier_model')
|
||||
return MODEL_SET.get(age_modifier_model)
|
||||
return create_model_set().get(age_modifier_model)
|
||||
|
||||
|
||||
def register_args(program : ArgumentParser) -> None:
|
||||
|
@ -9,7 +9,7 @@ import facefusion.jobs.job_store
|
||||
import facefusion.processors.core as processors
|
||||
from facefusion import config, content_analyser, face_classifier, face_detector, face_landmarker, face_masker, face_recognizer, 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
|
||||
from facefusion.download import conditional_download_hashes, conditional_download_sources, resolve_download_url
|
||||
from facefusion.face_analyser import get_many_faces, get_one_face
|
||||
from facefusion.face_helper import paste_back, warp_face_by_face_landmark_5
|
||||
from facefusion.face_masker import create_occlusion_mask, create_static_box_mask
|
||||
@ -25,50 +25,51 @@ from facefusion.thread_helper import conditional_thread_semaphore, thread_semaph
|
||||
from facefusion.typing import ApplyStateItem, Args, Face, InferencePool, ModelOptions, ModelSet, ProcessMode, QueuePayload, UpdateProgress, VisionFrame
|
||||
from facefusion.vision import get_video_frame, read_image, read_static_image, write_image
|
||||
|
||||
MODEL_SET : ModelSet =\
|
||||
{
|
||||
'live_portrait':
|
||||
def create_model_set() -> ModelSet:
|
||||
return\
|
||||
{
|
||||
'hashes':
|
||||
'live_portrait':
|
||||
{
|
||||
'feature_extractor':
|
||||
'hashes':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/live_portrait_feature_extractor.hash',
|
||||
'path': resolve_relative_path('../.assets/models/live_portrait_feature_extractor.hash')
|
||||
'feature_extractor':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'live_portrait_feature_extractor.hash'),
|
||||
'path': resolve_relative_path('../.assets/models/live_portrait_feature_extractor.hash')
|
||||
},
|
||||
'motion_extractor':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'live_portrait_motion_extractor.hash'),
|
||||
'path': resolve_relative_path('../.assets/models/live_portrait_motion_extractor.hash')
|
||||
},
|
||||
'generator':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'live_portrait_generator.hash'),
|
||||
'path': resolve_relative_path('../.assets/models/live_portrait_generator.hash')
|
||||
}
|
||||
},
|
||||
'motion_extractor':
|
||||
'sources':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/live_portrait_motion_extractor.hash',
|
||||
'path': resolve_relative_path('../.assets/models/live_portrait_motion_extractor.hash')
|
||||
'feature_extractor':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'live_portrait_feature_extractor.onnx'),
|
||||
'path': resolve_relative_path('../.assets/models/live_portrait_feature_extractor.onnx')
|
||||
},
|
||||
'motion_extractor':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'live_portrait_motion_extractor.onnx'),
|
||||
'path': resolve_relative_path('../.assets/models/live_portrait_motion_extractor.onnx')
|
||||
},
|
||||
'generator':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'live_portrait_generator.onnx'),
|
||||
'path': resolve_relative_path('../.assets/models/live_portrait_generator.onnx')
|
||||
}
|
||||
},
|
||||
'generator':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/live_portrait_generator.hash',
|
||||
'path': resolve_relative_path('../.assets/models/live_portrait_generator.hash')
|
||||
}
|
||||
},
|
||||
'sources':
|
||||
{
|
||||
'feature_extractor':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/live_portrait_feature_extractor.onnx',
|
||||
'path': resolve_relative_path('../.assets/models/live_portrait_feature_extractor.onnx')
|
||||
},
|
||||
'motion_extractor':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/live_portrait_motion_extractor.onnx',
|
||||
'path': resolve_relative_path('../.assets/models/live_portrait_motion_extractor.onnx')
|
||||
},
|
||||
'generator':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/live_portrait_generator.onnx',
|
||||
'path': resolve_relative_path('../.assets/models/live_portrait_generator.onnx')
|
||||
}
|
||||
},
|
||||
'template': 'arcface_128_v2',
|
||||
'size': (512, 512)
|
||||
'template': 'arcface_128_v2',
|
||||
'size': (512, 512)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
def get_inference_pool() -> InferencePool:
|
||||
@ -83,7 +84,7 @@ def clear_inference_pool() -> None:
|
||||
|
||||
def get_model_options() -> ModelOptions:
|
||||
expression_restorer_model = state_manager.get_item('expression_restorer_model')
|
||||
return MODEL_SET.get(expression_restorer_model)
|
||||
return create_model_set().get(expression_restorer_model)
|
||||
|
||||
|
||||
def register_args(program : ArgumentParser) -> None:
|
||||
|
@ -9,7 +9,7 @@ import facefusion.jobs.job_store
|
||||
import facefusion.processors.core as processors
|
||||
from facefusion import config, content_analyser, face_classifier, face_detector, face_landmarker, face_masker, face_recognizer, inference_manager, logger, process_manager, state_manager, wording
|
||||
from facefusion.common_helper import create_float_metavar
|
||||
from facefusion.download import conditional_download_hashes, conditional_download_sources
|
||||
from facefusion.download import conditional_download_hashes, conditional_download_sources, resolve_download_url
|
||||
from facefusion.face_analyser import get_many_faces, get_one_face
|
||||
from facefusion.face_helper import paste_back, scale_face_landmark_5, warp_face_by_face_landmark_5
|
||||
from facefusion.face_masker import create_static_box_mask
|
||||
@ -24,80 +24,81 @@ from facefusion.thread_helper import conditional_thread_semaphore, thread_semaph
|
||||
from facefusion.typing import ApplyStateItem, Args, Face, FaceLandmark68, InferencePool, ModelOptions, ModelSet, ProcessMode, QueuePayload, UpdateProgress, VisionFrame
|
||||
from facefusion.vision import read_image, read_static_image, write_image
|
||||
|
||||
MODEL_SET : ModelSet =\
|
||||
{
|
||||
'live_portrait':
|
||||
def create_model_set() -> ModelSet:
|
||||
return\
|
||||
{
|
||||
'hashes':
|
||||
'live_portrait':
|
||||
{
|
||||
'feature_extractor':
|
||||
'hashes':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/live_portrait_feature_extractor.hash',
|
||||
'path': resolve_relative_path('../.assets/models/live_portrait_feature_extractor.hash')
|
||||
'feature_extractor':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'live_portrait_feature_extractor.hash'),
|
||||
'path': resolve_relative_path('../.assets/models/live_portrait_feature_extractor.hash')
|
||||
},
|
||||
'motion_extractor':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'live_portrait_motion_extractor.hash'),
|
||||
'path': resolve_relative_path('../.assets/models/live_portrait_motion_extractor.hash')
|
||||
},
|
||||
'eye_retargeter':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'live_portrait_eye_retargeter.hash'),
|
||||
'path': resolve_relative_path('../.assets/models/live_portrait_eye_retargeter.hash')
|
||||
},
|
||||
'lip_retargeter':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'live_portrait_lip_retargeter.hash'),
|
||||
'path': resolve_relative_path('../.assets/models/live_portrait_lip_retargeter.hash')
|
||||
},
|
||||
'stitcher':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'live_portrait_stitcher.hash'),
|
||||
'path': resolve_relative_path('../.assets/models/live_portrait_stitcher.hash')
|
||||
},
|
||||
'generator':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'live_portrait_generator.hash'),
|
||||
'path': resolve_relative_path('../.assets/models/live_portrait_generator.hash')
|
||||
}
|
||||
},
|
||||
'motion_extractor':
|
||||
'sources':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/live_portrait_motion_extractor.hash',
|
||||
'path': resolve_relative_path('../.assets/models/live_portrait_motion_extractor.hash')
|
||||
'feature_extractor':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'live_portrait_feature_extractor.onnx'),
|
||||
'path': resolve_relative_path('../.assets/models/live_portrait_feature_extractor.onnx')
|
||||
},
|
||||
'motion_extractor':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'live_portrait_motion_extractor.onnx'),
|
||||
'path': resolve_relative_path('../.assets/models/live_portrait_motion_extractor.onnx')
|
||||
},
|
||||
'eye_retargeter':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'live_portrait_eye_retargeter.onnx'),
|
||||
'path': resolve_relative_path('../.assets/models/live_portrait_eye_retargeter.onnx')
|
||||
},
|
||||
'lip_retargeter':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'live_portrait_lip_retargeter.onnx'),
|
||||
'path': resolve_relative_path('../.assets/models/live_portrait_lip_retargeter.onnx')
|
||||
},
|
||||
'stitcher':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'live_portrait_stitcher.onnx'),
|
||||
'path': resolve_relative_path('../.assets/models/live_portrait_stitcher.onnx')
|
||||
},
|
||||
'generator':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'live_portrait_generator.onnx'),
|
||||
'path': resolve_relative_path('../.assets/models/live_portrait_generator.onnx')
|
||||
}
|
||||
},
|
||||
'eye_retargeter':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/live_portrait_eye_retargeter.hash',
|
||||
'path': resolve_relative_path('../.assets/models/live_portrait_eye_retargeter.hash')
|
||||
},
|
||||
'lip_retargeter':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/live_portrait_lip_retargeter.hash',
|
||||
'path': resolve_relative_path('../.assets/models/live_portrait_lip_retargeter.hash')
|
||||
},
|
||||
'stitcher':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/live_portrait_stitcher.hash',
|
||||
'path': resolve_relative_path('../.assets/models/live_portrait_stitcher.hash')
|
||||
},
|
||||
'generator':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/live_portrait_generator.hash',
|
||||
'path': resolve_relative_path('../.assets/models/live_portrait_generator.hash')
|
||||
}
|
||||
},
|
||||
'sources':
|
||||
{
|
||||
'feature_extractor':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/live_portrait_feature_extractor.onnx',
|
||||
'path': resolve_relative_path('../.assets/models/live_portrait_feature_extractor.onnx')
|
||||
},
|
||||
'motion_extractor':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/live_portrait_motion_extractor.onnx',
|
||||
'path': resolve_relative_path('../.assets/models/live_portrait_motion_extractor.onnx')
|
||||
},
|
||||
'eye_retargeter':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/live_portrait_eye_retargeter.onnx',
|
||||
'path': resolve_relative_path('../.assets/models/live_portrait_eye_retargeter.onnx')
|
||||
},
|
||||
'lip_retargeter':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/live_portrait_lip_retargeter.onnx',
|
||||
'path': resolve_relative_path('../.assets/models/live_portrait_lip_retargeter.onnx')
|
||||
},
|
||||
'stitcher':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/live_portrait_stitcher.onnx',
|
||||
'path': resolve_relative_path('../.assets/models/live_portrait_stitcher.onnx')
|
||||
},
|
||||
'generator':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/live_portrait_generator.onnx',
|
||||
'path': resolve_relative_path('../.assets/models/live_portrait_generator.onnx')
|
||||
}
|
||||
},
|
||||
'template': 'ffhq_512',
|
||||
'size': (512, 512)
|
||||
'template': 'ffhq_512',
|
||||
'size': (512, 512)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
def get_inference_pool() -> InferencePool:
|
||||
@ -113,7 +114,7 @@ def clear_inference_pool() -> None:
|
||||
|
||||
def get_model_options() -> ModelOptions:
|
||||
face_editor_model = state_manager.get_item('face_editor_model')
|
||||
return MODEL_SET.get(face_editor_model)
|
||||
return create_model_set().get(face_editor_model)
|
||||
|
||||
|
||||
def register_args(program : ArgumentParser) -> None:
|
||||
|
@ -9,7 +9,7 @@ import facefusion.jobs.job_store
|
||||
import facefusion.processors.core as processors
|
||||
from facefusion import config, content_analyser, face_classifier, face_detector, face_landmarker, face_masker, face_recognizer, 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
|
||||
from facefusion.download import conditional_download_hashes, conditional_download_sources, resolve_download_url
|
||||
from facefusion.face_analyser import get_many_faces, get_one_face
|
||||
from facefusion.face_helper import paste_back, warp_face_by_face_landmark_5
|
||||
from facefusion.face_masker import create_occlusion_mask, create_static_box_mask
|
||||
@ -23,198 +23,199 @@ from facefusion.thread_helper import thread_semaphore
|
||||
from facefusion.typing import ApplyStateItem, Args, Face, InferencePool, ModelOptions, ModelSet, ProcessMode, QueuePayload, UpdateProgress, VisionFrame
|
||||
from facefusion.vision import read_image, read_static_image, write_image
|
||||
|
||||
MODEL_SET : ModelSet =\
|
||||
{
|
||||
'codeformer':
|
||||
def create_model_set() -> ModelSet:
|
||||
return\
|
||||
{
|
||||
'hashes':
|
||||
'codeformer':
|
||||
{
|
||||
'face_enhancer':
|
||||
'hashes':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/codeformer.hash',
|
||||
'path': resolve_relative_path('../.assets/models/codeformer.hash')
|
||||
}
|
||||
'face_enhancer':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'codeformer.hash'),
|
||||
'path': resolve_relative_path('../.assets/models/codeformer.hash')
|
||||
}
|
||||
},
|
||||
'sources':
|
||||
{
|
||||
'face_enhancer':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'codeformer.onnx'),
|
||||
'path': resolve_relative_path('../.assets/models/codeformer.onnx')
|
||||
}
|
||||
},
|
||||
'template': 'ffhq_512',
|
||||
'size': (512, 512)
|
||||
},
|
||||
'sources':
|
||||
'gfpgan_1.2':
|
||||
{
|
||||
'face_enhancer':
|
||||
'hashes':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/codeformer.onnx',
|
||||
'path': resolve_relative_path('../.assets/models/codeformer.onnx')
|
||||
}
|
||||
'face_enhancer':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'gfpgan_1.2.hash'),
|
||||
'path': resolve_relative_path('../.assets/models/gfpgan_1.2.hash')
|
||||
}
|
||||
},
|
||||
'sources':
|
||||
{
|
||||
'face_enhancer':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'gfpgan_1.2.onnx'),
|
||||
'path': resolve_relative_path('../.assets/models/gfpgan_1.2.onnx')
|
||||
}
|
||||
},
|
||||
'template': 'ffhq_512',
|
||||
'size': (512, 512)
|
||||
},
|
||||
'template': 'ffhq_512',
|
||||
'size': (512, 512)
|
||||
},
|
||||
'gfpgan_1.2':
|
||||
{
|
||||
'hashes':
|
||||
'gfpgan_1.3':
|
||||
{
|
||||
'face_enhancer':
|
||||
'hashes':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/gfpgan_1.2.hash',
|
||||
'path': resolve_relative_path('../.assets/models/gfpgan_1.2.hash')
|
||||
}
|
||||
'face_enhancer':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'gfpgan_1.3.hash'),
|
||||
'path': resolve_relative_path('../.assets/models/gfpgan_1.3.hash')
|
||||
}
|
||||
},
|
||||
'sources':
|
||||
{
|
||||
'face_enhancer':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'gfpgan_1.3.onnx'),
|
||||
'path': resolve_relative_path('../.assets/models/gfpgan_1.3.onnx')
|
||||
}
|
||||
},
|
||||
'template': 'ffhq_512',
|
||||
'size': (512, 512)
|
||||
},
|
||||
'sources':
|
||||
'gfpgan_1.4':
|
||||
{
|
||||
'face_enhancer':
|
||||
'hashes':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/gfpgan_1.2.onnx',
|
||||
'path': resolve_relative_path('../.assets/models/gfpgan_1.2.onnx')
|
||||
}
|
||||
'face_enhancer':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'gfpgan_1.4.hash'),
|
||||
'path': resolve_relative_path('../.assets/models/gfpgan_1.4.hash')
|
||||
}
|
||||
},
|
||||
'sources':
|
||||
{
|
||||
'face_enhancer':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'gfpgan_1.4.onnx'),
|
||||
'path': resolve_relative_path('../.assets/models/gfpgan_1.4.onnx')
|
||||
}
|
||||
},
|
||||
'template': 'ffhq_512',
|
||||
'size': (512, 512)
|
||||
},
|
||||
'template': 'ffhq_512',
|
||||
'size': (512, 512)
|
||||
},
|
||||
'gfpgan_1.3':
|
||||
{
|
||||
'hashes':
|
||||
'gpen_bfr_256':
|
||||
{
|
||||
'face_enhancer':
|
||||
'hashes':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/gfpgan_1.3.hash',
|
||||
'path': resolve_relative_path('../.assets/models/gfpgan_1.3.hash')
|
||||
}
|
||||
'face_enhancer':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'gpen_bfr_256.hash'),
|
||||
'path': resolve_relative_path('../.assets/models/gpen_bfr_256.hash')
|
||||
}
|
||||
},
|
||||
'sources':
|
||||
{
|
||||
'face_enhancer':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'gpen_bfr_256.onnx'),
|
||||
'path': resolve_relative_path('../.assets/models/gpen_bfr_256.onnx')
|
||||
}
|
||||
},
|
||||
'template': 'arcface_128_v2',
|
||||
'size': (256, 256)
|
||||
},
|
||||
'sources':
|
||||
'gpen_bfr_512':
|
||||
{
|
||||
'face_enhancer':
|
||||
'hashes':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/gfpgan_1.3.onnx',
|
||||
'path': resolve_relative_path('../.assets/models/gfpgan_1.3.onnx')
|
||||
}
|
||||
'face_enhancer':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'gpen_bfr_512.hash'),
|
||||
'path': resolve_relative_path('../.assets/models/gpen_bfr_512.hash')
|
||||
}
|
||||
},
|
||||
'sources':
|
||||
{
|
||||
'face_enhancer':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'gpen_bfr_512.onnx'),
|
||||
'path': resolve_relative_path('../.assets/models/gpen_bfr_512.onnx')
|
||||
}
|
||||
},
|
||||
'template': 'ffhq_512',
|
||||
'size': (512, 512)
|
||||
},
|
||||
'template': 'ffhq_512',
|
||||
'size': (512, 512)
|
||||
},
|
||||
'gfpgan_1.4':
|
||||
{
|
||||
'hashes':
|
||||
'gpen_bfr_1024':
|
||||
{
|
||||
'face_enhancer':
|
||||
'hashes':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/gfpgan_1.4.hash',
|
||||
'path': resolve_relative_path('../.assets/models/gfpgan_1.4.hash')
|
||||
}
|
||||
'face_enhancer':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'gpen_bfr_1024.hash'),
|
||||
'path': resolve_relative_path('../.assets/models/gpen_bfr_1024.hash')
|
||||
}
|
||||
},
|
||||
'sources':
|
||||
{
|
||||
'face_enhancer':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'gpen_bfr_1024.onnx'),
|
||||
'path': resolve_relative_path('../.assets/models/gpen_bfr_1024.onnx')
|
||||
}
|
||||
},
|
||||
'template': 'ffhq_512',
|
||||
'size': (1024, 1024)
|
||||
},
|
||||
'sources':
|
||||
'gpen_bfr_2048':
|
||||
{
|
||||
'face_enhancer':
|
||||
'hashes':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/gfpgan_1.4.onnx',
|
||||
'path': resolve_relative_path('../.assets/models/gfpgan_1.4.onnx')
|
||||
}
|
||||
'face_enhancer':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'gpen_bfr_2048.hash'),
|
||||
'path': resolve_relative_path('../.assets/models/gpen_bfr_2048.hash')
|
||||
}
|
||||
},
|
||||
'sources':
|
||||
{
|
||||
'face_enhancer':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'gpen_bfr_2048.onnx'),
|
||||
'path': resolve_relative_path('../.assets/models/gpen_bfr_2048.onnx')
|
||||
}
|
||||
},
|
||||
'template': 'ffhq_512',
|
||||
'size': (2048, 2048)
|
||||
},
|
||||
'template': 'ffhq_512',
|
||||
'size': (512, 512)
|
||||
},
|
||||
'gpen_bfr_256':
|
||||
{
|
||||
'hashes':
|
||||
'restoreformer_plus_plus':
|
||||
{
|
||||
'face_enhancer':
|
||||
'hashes':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/gpen_bfr_256.hash',
|
||||
'path': resolve_relative_path('../.assets/models/gpen_bfr_256.hash')
|
||||
}
|
||||
},
|
||||
'sources':
|
||||
{
|
||||
'face_enhancer':
|
||||
'face_enhancer':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'restoreformer_plus_plus.hash'),
|
||||
'path': resolve_relative_path('../.assets/models/restoreformer_plus_plus.hash')
|
||||
}
|
||||
},
|
||||
'sources':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/gpen_bfr_256.onnx',
|
||||
'path': resolve_relative_path('../.assets/models/gpen_bfr_256.onnx')
|
||||
}
|
||||
},
|
||||
'template': 'arcface_128_v2',
|
||||
'size': (256, 256)
|
||||
},
|
||||
'gpen_bfr_512':
|
||||
{
|
||||
'hashes':
|
||||
{
|
||||
'face_enhancer':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/gpen_bfr_512.hash',
|
||||
'path': resolve_relative_path('../.assets/models/gpen_bfr_512.hash')
|
||||
}
|
||||
},
|
||||
'sources':
|
||||
{
|
||||
'face_enhancer':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/gpen_bfr_512.onnx',
|
||||
'path': resolve_relative_path('../.assets/models/gpen_bfr_512.onnx')
|
||||
}
|
||||
},
|
||||
'template': 'ffhq_512',
|
||||
'size': (512, 512)
|
||||
},
|
||||
'gpen_bfr_1024':
|
||||
{
|
||||
'hashes':
|
||||
{
|
||||
'face_enhancer':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/gpen_bfr_1024.hash',
|
||||
'path': resolve_relative_path('../.assets/models/gpen_bfr_1024.hash')
|
||||
}
|
||||
},
|
||||
'sources':
|
||||
{
|
||||
'face_enhancer':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/gpen_bfr_1024.onnx',
|
||||
'path': resolve_relative_path('../.assets/models/gpen_bfr_1024.onnx')
|
||||
}
|
||||
},
|
||||
'template': 'ffhq_512',
|
||||
'size': (1024, 1024)
|
||||
},
|
||||
'gpen_bfr_2048':
|
||||
{
|
||||
'hashes':
|
||||
{
|
||||
'face_enhancer':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/gpen_bfr_2048.hash',
|
||||
'path': resolve_relative_path('../.assets/models/gpen_bfr_2048.hash')
|
||||
}
|
||||
},
|
||||
'sources':
|
||||
{
|
||||
'face_enhancer':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/gpen_bfr_2048.onnx',
|
||||
'path': resolve_relative_path('../.assets/models/gpen_bfr_2048.onnx')
|
||||
}
|
||||
},
|
||||
'template': 'ffhq_512',
|
||||
'size': (2048, 2048)
|
||||
},
|
||||
'restoreformer_plus_plus':
|
||||
{
|
||||
'hashes':
|
||||
{
|
||||
'face_enhancer':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/restoreformer_plus_plus.hash',
|
||||
'path': resolve_relative_path('../.assets/models/restoreformer_plus_plus.hash')
|
||||
}
|
||||
},
|
||||
'sources':
|
||||
{
|
||||
'face_enhancer':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/restoreformer_plus_plus.onnx',
|
||||
'path': resolve_relative_path('../.assets/models/restoreformer_plus_plus.onnx')
|
||||
}
|
||||
},
|
||||
'template': 'ffhq_512',
|
||||
'size': (512, 512)
|
||||
'face_enhancer':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'restoreformer_plus_plus.onnx'),
|
||||
'path': resolve_relative_path('../.assets/models/restoreformer_plus_plus.onnx')
|
||||
}
|
||||
},
|
||||
'template': 'ffhq_512',
|
||||
'size': (512, 512)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
def get_inference_pool() -> InferencePool:
|
||||
@ -230,7 +231,7 @@ def clear_inference_pool() -> None:
|
||||
|
||||
def get_model_options() -> ModelOptions:
|
||||
face_enhancer_model = state_manager.get_item('face_enhancer_model')
|
||||
return MODEL_SET.get(face_enhancer_model)
|
||||
return create_model_set().get(face_enhancer_model)
|
||||
|
||||
|
||||
def register_args(program : ArgumentParser) -> None:
|
||||
|
@ -8,7 +8,7 @@ import facefusion.jobs.job_store
|
||||
import facefusion.processors.core as processors
|
||||
from facefusion import config, content_analyser, face_classifier, face_detector, face_landmarker, face_masker, face_recognizer, inference_manager, logger, process_manager, state_manager, wording
|
||||
from facefusion.common_helper import get_first
|
||||
from facefusion.download import conditional_download_hashes, conditional_download_sources
|
||||
from facefusion.download import conditional_download_hashes, conditional_download_sources, resolve_download_url
|
||||
from facefusion.execution import has_execution_provider
|
||||
from facefusion.face_analyser import get_average_face, get_many_faces, get_one_face
|
||||
from facefusion.face_helper import paste_back, warp_face_by_face_landmark_5
|
||||
@ -25,309 +25,310 @@ from facefusion.thread_helper import conditional_thread_semaphore
|
||||
from facefusion.typing import ApplyStateItem, Args, Embedding, Face, InferencePool, ModelOptions, ModelSet, ProcessMode, QueuePayload, UpdateProgress, VisionFrame
|
||||
from facefusion.vision import read_image, read_static_image, read_static_images, unpack_resolution, write_image
|
||||
|
||||
MODEL_SET : ModelSet =\
|
||||
{
|
||||
'blendswap_256':
|
||||
def create_model_set() -> ModelSet:
|
||||
return\
|
||||
{
|
||||
'hashes':
|
||||
'blendswap_256':
|
||||
{
|
||||
'face_swapper':
|
||||
'hashes':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/blendswap_256.hash',
|
||||
'path': resolve_relative_path('../.assets/models/blendswap_256.hash')
|
||||
}
|
||||
},
|
||||
'sources':
|
||||
{
|
||||
'face_swapper':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/blendswap_256.onnx',
|
||||
'path': resolve_relative_path('../.assets/models/blendswap_256.onnx')
|
||||
}
|
||||
},
|
||||
'type': 'blendswap',
|
||||
'template': 'ffhq_512',
|
||||
'size': (256, 256),
|
||||
'mean': [ 0.0, 0.0, 0.0 ],
|
||||
'standard_deviation': [ 1.0, 1.0, 1.0 ]
|
||||
},
|
||||
'ghost_1_256':
|
||||
{
|
||||
'hashes':
|
||||
{
|
||||
'face_swapper':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/ghost_1_256.hash',
|
||||
'path': resolve_relative_path('../.assets/models/ghost_1_256.hash')
|
||||
'face_swapper':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'blendswap_256.hash'),
|
||||
'path': resolve_relative_path('../.assets/models/blendswap_256.hash')
|
||||
}
|
||||
},
|
||||
'embedding_converter':
|
||||
'sources':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/arcface_converter_ghost.hash',
|
||||
'path': resolve_relative_path('../.assets/models/arcface_converter_ghost.hash')
|
||||
}
|
||||
},
|
||||
'sources':
|
||||
{
|
||||
'face_swapper':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/ghost_1_256.onnx',
|
||||
'path': resolve_relative_path('../.assets/models/ghost_1_256.onnx')
|
||||
'face_swapper':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'blendswap_256.onnx'),
|
||||
'path': resolve_relative_path('../.assets/models/blendswap_256.onnx')
|
||||
}
|
||||
},
|
||||
'embedding_converter':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/arcface_converter_ghost.onnx',
|
||||
'path': resolve_relative_path('../.assets/models/arcface_converter_ghost.onnx')
|
||||
}
|
||||
'type': 'blendswap',
|
||||
'template': 'ffhq_512',
|
||||
'size': (256, 256),
|
||||
'mean': [ 0.0, 0.0, 0.0 ],
|
||||
'standard_deviation': [ 1.0, 1.0, 1.0 ]
|
||||
},
|
||||
'type': 'ghost',
|
||||
'template': 'arcface_112_v1',
|
||||
'size': (256, 256),
|
||||
'mean': [ 0.5, 0.5, 0.5 ],
|
||||
'standard_deviation': [ 0.5, 0.5, 0.5 ]
|
||||
},
|
||||
'ghost_2_256':
|
||||
{
|
||||
'hashes':
|
||||
'ghost_1_256':
|
||||
{
|
||||
'face_swapper':
|
||||
'hashes':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/ghost_2_256.hash',
|
||||
'path': resolve_relative_path('../.assets/models/ghost_2_256.hash')
|
||||
'face_swapper':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'ghost_1_256.hash'),
|
||||
'path': resolve_relative_path('../.assets/models/ghost_1_256.hash')
|
||||
},
|
||||
'embedding_converter':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'arcface_converter_ghost.hash'),
|
||||
'path': resolve_relative_path('../.assets/models/arcface_converter_ghost.hash')
|
||||
}
|
||||
},
|
||||
'embedding_converter':
|
||||
'sources':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/arcface_converter_ghost.hash',
|
||||
'path': resolve_relative_path('../.assets/models/arcface_converter_ghost.hash')
|
||||
}
|
||||
},
|
||||
'sources':
|
||||
{
|
||||
'face_swapper':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/ghost_2_256.onnx',
|
||||
'path': resolve_relative_path('../.assets/models/ghost_2_256.onnx')
|
||||
'face_swapper':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'ghost_1_256.onnx'),
|
||||
'path': resolve_relative_path('../.assets/models/ghost_1_256.onnx')
|
||||
},
|
||||
'embedding_converter':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'arcface_converter_ghost.onnx'),
|
||||
'path': resolve_relative_path('../.assets/models/arcface_converter_ghost.onnx')
|
||||
}
|
||||
},
|
||||
'embedding_converter':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/arcface_converter_ghost.onnx',
|
||||
'path': resolve_relative_path('../.assets/models/arcface_converter_ghost.onnx')
|
||||
}
|
||||
'type': 'ghost',
|
||||
'template': 'arcface_112_v1',
|
||||
'size': (256, 256),
|
||||
'mean': [ 0.5, 0.5, 0.5 ],
|
||||
'standard_deviation': [ 0.5, 0.5, 0.5 ]
|
||||
},
|
||||
'type': 'ghost',
|
||||
'template': 'arcface_112_v1',
|
||||
'size': (256, 256),
|
||||
'mean': [ 0.5, 0.5, 0.5 ],
|
||||
'standard_deviation': [ 0.5, 0.5, 0.5 ]
|
||||
},
|
||||
'ghost_3_256':
|
||||
{
|
||||
'hashes':
|
||||
'ghost_2_256':
|
||||
{
|
||||
'face_swapper':
|
||||
'hashes':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/ghost_3_256.hash',
|
||||
'path': resolve_relative_path('../.assets/models/ghost_3_256.hash')
|
||||
'face_swapper':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'ghost_2_256.hash'),
|
||||
'path': resolve_relative_path('../.assets/models/ghost_2_256.hash')
|
||||
},
|
||||
'embedding_converter':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'arcface_converter_ghost.hash'),
|
||||
'path': resolve_relative_path('../.assets/models/arcface_converter_ghost.hash')
|
||||
}
|
||||
},
|
||||
'embedding_converter':
|
||||
'sources':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/arcface_converter_ghost.hash',
|
||||
'path': resolve_relative_path('../.assets/models/arcface_converter_ghost.hash')
|
||||
}
|
||||
},
|
||||
'sources':
|
||||
{
|
||||
'face_swapper':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/ghost_3_256.onnx',
|
||||
'path': resolve_relative_path('../.assets/models/ghost_3_256.onnx')
|
||||
'face_swapper':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'ghost_2_256.onnx'),
|
||||
'path': resolve_relative_path('../.assets/models/ghost_2_256.onnx')
|
||||
},
|
||||
'embedding_converter':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'arcface_converter_ghost.onnx'),
|
||||
'path': resolve_relative_path('../.assets/models/arcface_converter_ghost.onnx')
|
||||
}
|
||||
},
|
||||
'embedding_converter':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/arcface_converter_ghost.onnx',
|
||||
'path': resolve_relative_path('../.assets/models/arcface_converter_ghost.onnx')
|
||||
}
|
||||
'type': 'ghost',
|
||||
'template': 'arcface_112_v1',
|
||||
'size': (256, 256),
|
||||
'mean': [ 0.5, 0.5, 0.5 ],
|
||||
'standard_deviation': [ 0.5, 0.5, 0.5 ]
|
||||
},
|
||||
'type': 'ghost',
|
||||
'template': 'arcface_112_v1',
|
||||
'size': (256, 256),
|
||||
'mean': [ 0.5, 0.5, 0.5 ],
|
||||
'standard_deviation': [ 0.5, 0.5, 0.5 ]
|
||||
},
|
||||
'hififace_unofficial_256':
|
||||
{
|
||||
'hashes':
|
||||
'ghost_3_256':
|
||||
{
|
||||
'face_swapper':
|
||||
'hashes':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.1.0/hififace_unofficial_256.hash',
|
||||
'path': resolve_relative_path('../.assets/models/hififace_unofficial_256.hash')
|
||||
'face_swapper':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'ghost_3_256.hash'),
|
||||
'path': resolve_relative_path('../.assets/models/ghost_3_256.hash')
|
||||
},
|
||||
'embedding_converter':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'arcface_converter_ghost.hash'),
|
||||
'path': resolve_relative_path('../.assets/models/arcface_converter_ghost.hash')
|
||||
}
|
||||
},
|
||||
'embedding_converter':
|
||||
'sources':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.1.0/arcface_converter_hififace.hash',
|
||||
'path': resolve_relative_path('../.assets/models/arcface_converter_hififace.hash')
|
||||
}
|
||||
},
|
||||
'sources':
|
||||
{
|
||||
'face_swapper':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.1.0/hififace_unofficial_256.onnx',
|
||||
'path': resolve_relative_path('../.assets/models/hififace_unofficial_256.onnx')
|
||||
'face_swapper':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'ghost_3_256.onnx'),
|
||||
'path': resolve_relative_path('../.assets/models/ghost_3_256.onnx')
|
||||
},
|
||||
'embedding_converter':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'arcface_converter_ghost.onnx'),
|
||||
'path': resolve_relative_path('../.assets/models/arcface_converter_ghost.onnx')
|
||||
}
|
||||
},
|
||||
'embedding_converter':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.1.0/arcface_converter_hififace.onnx',
|
||||
'path': resolve_relative_path('../.assets/models/arcface_converter_hififace.onnx')
|
||||
}
|
||||
'type': 'ghost',
|
||||
'template': 'arcface_112_v1',
|
||||
'size': (256, 256),
|
||||
'mean': [ 0.5, 0.5, 0.5 ],
|
||||
'standard_deviation': [ 0.5, 0.5, 0.5 ]
|
||||
},
|
||||
'type': 'hififace',
|
||||
'template': 'mtcnn_512',
|
||||
'size': (256, 256),
|
||||
'mean': [ 0.5, 0.5, 0.5 ],
|
||||
'standard_deviation': [ 0.5, 0.5, 0.5 ]
|
||||
},
|
||||
'inswapper_128':
|
||||
{
|
||||
'hashes':
|
||||
'hififace_unofficial_256':
|
||||
{
|
||||
'face_swapper':
|
||||
'hashes':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/inswapper_128.hash',
|
||||
'path': resolve_relative_path('../.assets/models/inswapper_128.hash')
|
||||
}
|
||||
},
|
||||
'sources':
|
||||
{
|
||||
'face_swapper':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/inswapper_128.onnx',
|
||||
'path': resolve_relative_path('../.assets/models/inswapper_128.onnx')
|
||||
}
|
||||
},
|
||||
'type': 'inswapper',
|
||||
'template': 'arcface_128_v2',
|
||||
'size': (128, 128),
|
||||
'mean': [ 0.0, 0.0, 0.0 ],
|
||||
'standard_deviation': [ 1.0, 1.0, 1.0 ]
|
||||
},
|
||||
'inswapper_128_fp16':
|
||||
{
|
||||
'hashes':
|
||||
{
|
||||
'face_swapper':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/inswapper_128_fp16.hash',
|
||||
'path': resolve_relative_path('../.assets/models/inswapper_128_fp16.hash')
|
||||
}
|
||||
},
|
||||
'sources':
|
||||
{
|
||||
'face_swapper':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/inswapper_128_fp16.onnx',
|
||||
'path': resolve_relative_path('../.assets/models/inswapper_128_fp16.onnx')
|
||||
}
|
||||
},
|
||||
'type': 'inswapper',
|
||||
'template': 'arcface_128_v2',
|
||||
'size': (128, 128),
|
||||
'mean': [ 0.0, 0.0, 0.0 ],
|
||||
'standard_deviation': [ 1.0, 1.0, 1.0 ]
|
||||
},
|
||||
'simswap_256':
|
||||
{
|
||||
'hashes':
|
||||
{
|
||||
'face_swapper':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/simswap_256.hash',
|
||||
'path': resolve_relative_path('../.assets/models/simswap_256.hash')
|
||||
'face_swapper':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'hififace_unofficial_256.hash'),
|
||||
'path': resolve_relative_path('../.assets/models/hififace_unofficial_256.hash')
|
||||
},
|
||||
'embedding_converter':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'arcface_converter_hififace.hash'),
|
||||
'path': resolve_relative_path('../.assets/models/arcface_converter_hififace.hash')
|
||||
}
|
||||
},
|
||||
'embedding_converter':
|
||||
'sources':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/arcface_converter_simswap.hash',
|
||||
'path': resolve_relative_path('../.assets/models/arcface_converter_simswap.hash')
|
||||
}
|
||||
},
|
||||
'sources':
|
||||
{
|
||||
'face_swapper':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/simswap_256.onnx',
|
||||
'path': resolve_relative_path('../.assets/models/simswap_256.onnx')
|
||||
'face_swapper':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'hififace_unofficial_256.onnx'),
|
||||
'path': resolve_relative_path('../.assets/models/hififace_unofficial_256.onnx')
|
||||
},
|
||||
'embedding_converter':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'arcface_converter_hififace.onnx'),
|
||||
'path': resolve_relative_path('../.assets/models/arcface_converter_hififace.onnx')
|
||||
}
|
||||
},
|
||||
'embedding_converter':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/arcface_converter_simswap.onnx',
|
||||
'path': resolve_relative_path('../.assets/models/arcface_converter_simswap.onnx')
|
||||
}
|
||||
'type': 'hififace',
|
||||
'template': 'mtcnn_512',
|
||||
'size': (256, 256),
|
||||
'mean': [ 0.5, 0.5, 0.5 ],
|
||||
'standard_deviation': [ 0.5, 0.5, 0.5 ]
|
||||
},
|
||||
'type': 'simswap',
|
||||
'template': 'arcface_112_v1',
|
||||
'size': (256, 256),
|
||||
'mean': [ 0.485, 0.456, 0.406 ],
|
||||
'standard_deviation': [ 0.229, 0.224, 0.225 ]
|
||||
},
|
||||
'simswap_unofficial_512':
|
||||
{
|
||||
'hashes':
|
||||
'inswapper_128':
|
||||
{
|
||||
'face_swapper':
|
||||
'hashes':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/simswap_unofficial_512.hash',
|
||||
'path': resolve_relative_path('../.assets/models/simswap_unofficial_512.hash')
|
||||
'face_swapper':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'inswapper_128.hash'),
|
||||
'path': resolve_relative_path('../.assets/models/inswapper_128.hash')
|
||||
}
|
||||
},
|
||||
'embedding_converter':
|
||||
'sources':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/arcface_converter_simswap.hash',
|
||||
'path': resolve_relative_path('../.assets/models/arcface_converter_simswap.hash')
|
||||
}
|
||||
},
|
||||
'sources':
|
||||
{
|
||||
'face_swapper':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/simswap_unofficial_512.onnx',
|
||||
'path': resolve_relative_path('../.assets/models/simswap_unofficial_512.onnx')
|
||||
'face_swapper':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'inswapper_128.onnx'),
|
||||
'path': resolve_relative_path('../.assets/models/inswapper_128.onnx')
|
||||
}
|
||||
},
|
||||
'embedding_converter':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/arcface_converter_simswap.onnx',
|
||||
'path': resolve_relative_path('../.assets/models/arcface_converter_simswap.onnx')
|
||||
}
|
||||
'type': 'inswapper',
|
||||
'template': 'arcface_128_v2',
|
||||
'size': (128, 128),
|
||||
'mean': [ 0.0, 0.0, 0.0 ],
|
||||
'standard_deviation': [ 1.0, 1.0, 1.0 ]
|
||||
},
|
||||
'type': 'simswap',
|
||||
'template': 'arcface_112_v1',
|
||||
'size': (512, 512),
|
||||
'mean': [ 0.0, 0.0, 0.0 ],
|
||||
'standard_deviation': [ 1.0, 1.0, 1.0 ]
|
||||
},
|
||||
'uniface_256':
|
||||
{
|
||||
'hashes':
|
||||
'inswapper_128_fp16':
|
||||
{
|
||||
'face_swapper':
|
||||
'hashes':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/uniface_256.hash',
|
||||
'path': resolve_relative_path('../.assets/models/uniface_256.hash')
|
||||
}
|
||||
'face_swapper':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'inswapper_128_fp16.hash'),
|
||||
'path': resolve_relative_path('../.assets/models/inswapper_128_fp16.hash')
|
||||
}
|
||||
},
|
||||
'sources':
|
||||
{
|
||||
'face_swapper':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'inswapper_128_fp16.onnx'),
|
||||
'path': resolve_relative_path('../.assets/models/inswapper_128_fp16.onnx')
|
||||
}
|
||||
},
|
||||
'type': 'inswapper',
|
||||
'template': 'arcface_128_v2',
|
||||
'size': (128, 128),
|
||||
'mean': [ 0.0, 0.0, 0.0 ],
|
||||
'standard_deviation': [ 1.0, 1.0, 1.0 ]
|
||||
},
|
||||
'sources':
|
||||
'simswap_256':
|
||||
{
|
||||
'face_swapper':
|
||||
'hashes':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/uniface_256.onnx',
|
||||
'path': resolve_relative_path('../.assets/models/uniface_256.onnx')
|
||||
}
|
||||
'face_swapper':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'simswap_256.hash'),
|
||||
'path': resolve_relative_path('../.assets/models/simswap_256.hash')
|
||||
},
|
||||
'embedding_converter':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'arcface_converter_simswap.hash'),
|
||||
'path': resolve_relative_path('../.assets/models/arcface_converter_simswap.hash')
|
||||
}
|
||||
},
|
||||
'sources':
|
||||
{
|
||||
'face_swapper':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'simswap_256.onnx'),
|
||||
'path': resolve_relative_path('../.assets/models/simswap_256.onnx')
|
||||
},
|
||||
'embedding_converter':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'arcface_converter_simswap.onnx'),
|
||||
'path': resolve_relative_path('../.assets/models/arcface_converter_simswap.onnx')
|
||||
}
|
||||
},
|
||||
'type': 'simswap',
|
||||
'template': 'arcface_112_v1',
|
||||
'size': (256, 256),
|
||||
'mean': [ 0.485, 0.456, 0.406 ],
|
||||
'standard_deviation': [ 0.229, 0.224, 0.225 ]
|
||||
},
|
||||
'type': 'uniface',
|
||||
'template': 'ffhq_512',
|
||||
'size': (256, 256),
|
||||
'mean': [ 0.5, 0.5, 0.5 ],
|
||||
'standard_deviation': [ 0.5, 0.5, 0.5 ]
|
||||
'simswap_unofficial_512':
|
||||
{
|
||||
'hashes':
|
||||
{
|
||||
'face_swapper':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'simswap_unofficial_512.hash'),
|
||||
'path': resolve_relative_path('../.assets/models/simswap_unofficial_512.hash')
|
||||
},
|
||||
'embedding_converter':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'arcface_converter_simswap.hash'),
|
||||
'path': resolve_relative_path('../.assets/models/arcface_converter_simswap.hash')
|
||||
}
|
||||
},
|
||||
'sources':
|
||||
{
|
||||
'face_swapper':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'simswap_unofficial_512.onnx'),
|
||||
'path': resolve_relative_path('../.assets/models/simswap_unofficial_512.onnx')
|
||||
},
|
||||
'embedding_converter':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'arcface_converter_simswap.onnx'),
|
||||
'path': resolve_relative_path('../.assets/models/arcface_converter_simswap.onnx')
|
||||
}
|
||||
},
|
||||
'type': 'simswap',
|
||||
'template': 'arcface_112_v1',
|
||||
'size': (512, 512),
|
||||
'mean': [ 0.0, 0.0, 0.0 ],
|
||||
'standard_deviation': [ 1.0, 1.0, 1.0 ]
|
||||
},
|
||||
'uniface_256':
|
||||
{
|
||||
'hashes':
|
||||
{
|
||||
'face_swapper':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'uniface_256.hash'),
|
||||
'path': resolve_relative_path('../.assets/models/uniface_256.hash')
|
||||
}
|
||||
},
|
||||
'sources':
|
||||
{
|
||||
'face_swapper':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'uniface_256.onnx'),
|
||||
'path': resolve_relative_path('../.assets/models/uniface_256.onnx')
|
||||
}
|
||||
},
|
||||
'type': 'uniface',
|
||||
'template': 'ffhq_512',
|
||||
'size': (256, 256),
|
||||
'mean': [ 0.5, 0.5, 0.5 ],
|
||||
'standard_deviation': [ 0.5, 0.5, 0.5 ]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
def get_inference_pool() -> InferencePool:
|
||||
@ -344,7 +345,7 @@ def clear_inference_pool() -> None:
|
||||
def get_model_options() -> ModelOptions:
|
||||
face_swapper_model = state_manager.get_item('face_swapper_model')
|
||||
face_swapper_model = 'inswapper_128' if has_execution_provider('coreml') and face_swapper_model == 'inswapper_128_fp16' else face_swapper_model
|
||||
return MODEL_SET.get(face_swapper_model)
|
||||
return create_model_set().get(face_swapper_model)
|
||||
|
||||
|
||||
def register_args(program : ArgumentParser) -> None:
|
||||
|
@ -9,7 +9,7 @@ import facefusion.jobs.job_store
|
||||
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
|
||||
from facefusion.download import conditional_download_hashes, conditional_download_sources, resolve_download_url
|
||||
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
|
||||
@ -18,109 +18,110 @@ from facefusion.thread_helper import thread_semaphore
|
||||
from facefusion.typing import ApplyStateItem, Args, Face, InferencePool, ModelOptions, ModelSet, ProcessMode, QueuePayload, UpdateProgress, VisionFrame
|
||||
from facefusion.vision import read_image, read_static_image, unpack_resolution, write_image
|
||||
|
||||
MODEL_SET : ModelSet =\
|
||||
{
|
||||
'ddcolor':
|
||||
def create_model_set() -> ModelSet:
|
||||
return\
|
||||
{
|
||||
'hashes':
|
||||
'ddcolor':
|
||||
{
|
||||
'frame_colorizer':
|
||||
'hashes':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/ddcolor.hash',
|
||||
'path': resolve_relative_path('../.assets/models/ddcolor.hash')
|
||||
}
|
||||
'frame_colorizer':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'ddcolor.hash'),
|
||||
'path': resolve_relative_path('../.assets/models/ddcolor.hash')
|
||||
}
|
||||
},
|
||||
'sources':
|
||||
{
|
||||
'frame_colorizer':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'ddcolor.onnx'),
|
||||
'path': resolve_relative_path('../.assets/models/ddcolor.onnx')
|
||||
}
|
||||
},
|
||||
'type': 'ddcolor'
|
||||
},
|
||||
'sources':
|
||||
'ddcolor_artistic':
|
||||
{
|
||||
'frame_colorizer':
|
||||
'hashes':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/ddcolor.onnx',
|
||||
'path': resolve_relative_path('../.assets/models/ddcolor.onnx')
|
||||
}
|
||||
'frame_colorizer':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'ddcolor_artistic.hash'),
|
||||
'path': resolve_relative_path('../.assets/models/ddcolor_artistic.hash')
|
||||
}
|
||||
},
|
||||
'sources':
|
||||
{
|
||||
'frame_colorizer':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'ddcolor_artistic.onnx'),
|
||||
'path': resolve_relative_path('../.assets/models/ddcolor_artistic.onnx')
|
||||
}
|
||||
},
|
||||
'type': 'ddcolor'
|
||||
},
|
||||
'type': 'ddcolor'
|
||||
},
|
||||
'ddcolor_artistic':
|
||||
{
|
||||
'hashes':
|
||||
'deoldify':
|
||||
{
|
||||
'frame_colorizer':
|
||||
'hashes':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/ddcolor_artistic.hash',
|
||||
'path': resolve_relative_path('../.assets/models/ddcolor_artistic.hash')
|
||||
}
|
||||
'frame_colorizer':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'deoldify.hash'),
|
||||
'path': resolve_relative_path('../.assets/models/deoldify.hash')
|
||||
}
|
||||
},
|
||||
'sources':
|
||||
{
|
||||
'frame_colorizer':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'deoldify.onnx'),
|
||||
'path': resolve_relative_path('../.assets/models/deoldify.onnx')
|
||||
}
|
||||
},
|
||||
'type': 'deoldify'
|
||||
},
|
||||
'sources':
|
||||
'deoldify_artistic':
|
||||
{
|
||||
'frame_colorizer':
|
||||
'hashes':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/ddcolor_artistic.onnx',
|
||||
'path': resolve_relative_path('../.assets/models/ddcolor_artistic.onnx')
|
||||
}
|
||||
'frame_colorizer':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'deoldify_artistic.hash'),
|
||||
'path': resolve_relative_path('../.assets/models/deoldify_artistic.hash')
|
||||
}
|
||||
},
|
||||
'sources':
|
||||
{
|
||||
'frame_colorizer':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'deoldify_artistic.onnx'),
|
||||
'path': resolve_relative_path('../.assets/models/deoldify_artistic.onnx')
|
||||
}
|
||||
},
|
||||
'type': 'deoldify'
|
||||
},
|
||||
'type': 'ddcolor'
|
||||
},
|
||||
'deoldify':
|
||||
{
|
||||
'hashes':
|
||||
'deoldify_stable':
|
||||
{
|
||||
'frame_colorizer':
|
||||
'hashes':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/deoldify.hash',
|
||||
'path': resolve_relative_path('../.assets/models/deoldify.hash')
|
||||
}
|
||||
},
|
||||
'sources':
|
||||
{
|
||||
'frame_colorizer':
|
||||
'frame_colorizer':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'deoldify_stable.hash'),
|
||||
'path': resolve_relative_path('../.assets/models/deoldify_stable.hash')
|
||||
}
|
||||
},
|
||||
'sources':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/deoldify.onnx',
|
||||
'path': resolve_relative_path('../.assets/models/deoldify.onnx')
|
||||
}
|
||||
},
|
||||
'type': 'deoldify'
|
||||
},
|
||||
'deoldify_artistic':
|
||||
{
|
||||
'hashes':
|
||||
{
|
||||
'frame_colorizer':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/deoldify_artistic.hash',
|
||||
'path': resolve_relative_path('../.assets/models/deoldify_artistic.hash')
|
||||
}
|
||||
},
|
||||
'sources':
|
||||
{
|
||||
'frame_colorizer':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/deoldify_artistic.onnx',
|
||||
'path': resolve_relative_path('../.assets/models/deoldify_artistic.onnx')
|
||||
}
|
||||
},
|
||||
'type': 'deoldify'
|
||||
},
|
||||
'deoldify_stable':
|
||||
{
|
||||
'hashes':
|
||||
{
|
||||
'frame_colorizer':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/deoldify_stable.hash',
|
||||
'path': resolve_relative_path('../.assets/models/deoldify_stable.hash')
|
||||
}
|
||||
},
|
||||
'sources':
|
||||
{
|
||||
'frame_colorizer':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/deoldify_stable.onnx',
|
||||
'path': resolve_relative_path('../.assets/models/deoldify_stable.onnx')
|
||||
}
|
||||
},
|
||||
'type': 'deoldify'
|
||||
'frame_colorizer':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'deoldify_stable.onnx'),
|
||||
'path': resolve_relative_path('../.assets/models/deoldify_stable.onnx')
|
||||
}
|
||||
},
|
||||
'type': 'deoldify'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
def get_inference_pool() -> InferencePool:
|
||||
@ -136,7 +137,7 @@ def clear_inference_pool() -> None:
|
||||
|
||||
def get_model_options() -> ModelOptions:
|
||||
frame_colorizer_model = state_manager.get_item('frame_colorizer_model')
|
||||
return MODEL_SET.get(frame_colorizer_model)
|
||||
return create_model_set().get(frame_colorizer_model)
|
||||
|
||||
|
||||
def register_args(program : ArgumentParser) -> None:
|
||||
|
@ -9,7 +9,7 @@ import facefusion.jobs.job_store
|
||||
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
|
||||
from facefusion.download import conditional_download_hashes, conditional_download_sources, resolve_download_url
|
||||
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 FrameEnhancerInputs
|
||||
@ -18,366 +18,367 @@ from facefusion.thread_helper import conditional_thread_semaphore
|
||||
from facefusion.typing import ApplyStateItem, Args, Face, InferencePool, ModelOptions, ModelSet, ProcessMode, QueuePayload, UpdateProgress, VisionFrame
|
||||
from facefusion.vision import create_tile_frames, merge_tile_frames, read_image, read_static_image, write_image
|
||||
|
||||
MODEL_SET : ModelSet =\
|
||||
{
|
||||
'clear_reality_x4':
|
||||
def create_model_set() -> ModelSet:
|
||||
return\
|
||||
{
|
||||
'hashes':
|
||||
'clear_reality_x4':
|
||||
{
|
||||
'frame_enhancer':
|
||||
'hashes':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/clear_reality_x4.hash',
|
||||
'path': resolve_relative_path('../.assets/models/clear_reality_x4.hash')
|
||||
}
|
||||
'frame_enhancer':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'clear_reality_x4.hash'),
|
||||
'path': resolve_relative_path('../.assets/models/clear_reality_x4.hash')
|
||||
}
|
||||
},
|
||||
'sources':
|
||||
{
|
||||
'frame_enhancer':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'clear_reality_x4.onnx'),
|
||||
'path': resolve_relative_path('../.assets/models/clear_reality_x4.onnx')
|
||||
}
|
||||
},
|
||||
'size': (128, 8, 4),
|
||||
'scale': 4
|
||||
},
|
||||
'sources':
|
||||
'lsdir_x4':
|
||||
{
|
||||
'frame_enhancer':
|
||||
'hashes':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/clear_reality_x4.onnx',
|
||||
'path': resolve_relative_path('../.assets/models/clear_reality_x4.onnx')
|
||||
}
|
||||
'frame_enhancer':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'lsdir_x4.hash'),
|
||||
'path': resolve_relative_path('../.assets/models/lsdir_x4.hash')
|
||||
}
|
||||
},
|
||||
'sources':
|
||||
{
|
||||
'frame_enhancer':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'lsdir_x4.onnx'),
|
||||
'path': resolve_relative_path('../.assets/models/lsdir_x4.onnx')
|
||||
}
|
||||
},
|
||||
'size': (128, 8, 4),
|
||||
'scale': 4
|
||||
},
|
||||
'size': (128, 8, 4),
|
||||
'scale': 4
|
||||
},
|
||||
'lsdir_x4':
|
||||
{
|
||||
'hashes':
|
||||
'nomos8k_sc_x4':
|
||||
{
|
||||
'frame_enhancer':
|
||||
'hashes':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/lsdir_x4.hash',
|
||||
'path': resolve_relative_path('../.assets/models/lsdir_x4.hash')
|
||||
}
|
||||
'frame_enhancer':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'nomos8k_sc_x4.hash'),
|
||||
'path': resolve_relative_path('../.assets/models/nomos8k_sc_x4.hash')
|
||||
}
|
||||
},
|
||||
'sources':
|
||||
{
|
||||
'frame_enhancer':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'nomos8k_sc_x4.onnx'),
|
||||
'path': resolve_relative_path('../.assets/models/nomos8k_sc_x4.onnx')
|
||||
}
|
||||
},
|
||||
'size': (128, 8, 4),
|
||||
'scale': 4
|
||||
},
|
||||
'sources':
|
||||
'real_esrgan_x2':
|
||||
{
|
||||
'frame_enhancer':
|
||||
'hashes':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/lsdir_x4.onnx',
|
||||
'path': resolve_relative_path('../.assets/models/lsdir_x4.onnx')
|
||||
}
|
||||
'frame_enhancer':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'real_esrgan_x2.hash'),
|
||||
'path': resolve_relative_path('../.assets/models/real_esrgan_x2.hash')
|
||||
}
|
||||
},
|
||||
'sources':
|
||||
{
|
||||
'frame_enhancer':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'real_esrgan_x2.onnx'),
|
||||
'path': resolve_relative_path('../.assets/models/real_esrgan_x2.onnx')
|
||||
}
|
||||
},
|
||||
'size': (256, 16, 8),
|
||||
'scale': 2
|
||||
},
|
||||
'size': (128, 8, 4),
|
||||
'scale': 4
|
||||
},
|
||||
'nomos8k_sc_x4':
|
||||
{
|
||||
'hashes':
|
||||
'real_esrgan_x2_fp16':
|
||||
{
|
||||
'frame_enhancer':
|
||||
'hashes':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/nomos8k_sc_x4.hash',
|
||||
'path': resolve_relative_path('../.assets/models/nomos8k_sc_x4.hash')
|
||||
}
|
||||
'frame_enhancer':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'real_esrgan_x2_fp16.hash'),
|
||||
'path': resolve_relative_path('../.assets/models/real_esrgan_x2_fp16.hash')
|
||||
}
|
||||
},
|
||||
'sources':
|
||||
{
|
||||
'frame_enhancer':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'real_esrgan_x2_fp16.onnx'),
|
||||
'path': resolve_relative_path('../.assets/models/real_esrgan_x2_fp16.onnx')
|
||||
}
|
||||
},
|
||||
'size': (256, 16, 8),
|
||||
'scale': 2
|
||||
},
|
||||
'sources':
|
||||
'real_esrgan_x4':
|
||||
{
|
||||
'frame_enhancer':
|
||||
'hashes':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/nomos8k_sc_x4.onnx',
|
||||
'path': resolve_relative_path('../.assets/models/nomos8k_sc_x4.onnx')
|
||||
}
|
||||
'frame_enhancer':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'real_esrgan_x4.hash'),
|
||||
'path': resolve_relative_path('../.assets/models/real_esrgan_x4.hash')
|
||||
}
|
||||
},
|
||||
'sources':
|
||||
{
|
||||
'frame_enhancer':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'real_esrgan_x4.onnx'),
|
||||
'path': resolve_relative_path('../.assets/models/real_esrgan_x4.onnx')
|
||||
}
|
||||
},
|
||||
'size': (256, 16, 8),
|
||||
'scale': 4
|
||||
},
|
||||
'size': (128, 8, 4),
|
||||
'scale': 4
|
||||
},
|
||||
'real_esrgan_x2':
|
||||
{
|
||||
'hashes':
|
||||
'real_esrgan_x4_fp16':
|
||||
{
|
||||
'frame_enhancer':
|
||||
'hashes':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/real_esrgan_x2.hash',
|
||||
'path': resolve_relative_path('../.assets/models/real_esrgan_x2.hash')
|
||||
}
|
||||
'frame_enhancer':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'real_esrgan_x4_fp16.hash'),
|
||||
'path': resolve_relative_path('../.assets/models/real_esrgan_x4_fp16.hash')
|
||||
}
|
||||
},
|
||||
'sources':
|
||||
{
|
||||
'frame_enhancer':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'real_esrgan_x4_fp16.onnx'),
|
||||
'path': resolve_relative_path('../.assets/models/real_esrgan_x4_fp16.onnx')
|
||||
}
|
||||
},
|
||||
'size': (256, 16, 8),
|
||||
'scale': 4
|
||||
},
|
||||
'sources':
|
||||
'real_esrgan_x8':
|
||||
{
|
||||
'frame_enhancer':
|
||||
'hashes':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/real_esrgan_x2.onnx',
|
||||
'path': resolve_relative_path('../.assets/models/real_esrgan_x2.onnx')
|
||||
}
|
||||
'frame_enhancer':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'real_esrgan_x8.hash'),
|
||||
'path': resolve_relative_path('../.assets/models/real_esrgan_x8.hash')
|
||||
}
|
||||
},
|
||||
'sources':
|
||||
{
|
||||
'frame_enhancer':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'real_esrgan_x8.onnx'),
|
||||
'path': resolve_relative_path('../.assets/models/real_esrgan_x8.onnx')
|
||||
}
|
||||
},
|
||||
'size': (256, 16, 8),
|
||||
'scale': 8
|
||||
},
|
||||
'size': (256, 16, 8),
|
||||
'scale': 2
|
||||
},
|
||||
'real_esrgan_x2_fp16':
|
||||
{
|
||||
'hashes':
|
||||
'real_esrgan_x8_fp16':
|
||||
{
|
||||
'frame_enhancer':
|
||||
'hashes':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/real_esrgan_x2_fp16.hash',
|
||||
'path': resolve_relative_path('../.assets/models/real_esrgan_x2_fp16.hash')
|
||||
}
|
||||
'frame_enhancer':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'real_esrgan_x8_fp16.hash'),
|
||||
'path': resolve_relative_path('../.assets/models/real_esrgan_x8_fp16.hash')
|
||||
}
|
||||
},
|
||||
'sources':
|
||||
{
|
||||
'frame_enhancer':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'real_esrgan_x8_fp16.onnx'),
|
||||
'path': resolve_relative_path('../.assets/models/real_esrgan_x8_fp16.onnx')
|
||||
}
|
||||
},
|
||||
'size': (256, 16, 8),
|
||||
'scale': 8
|
||||
},
|
||||
'sources':
|
||||
'real_hatgan_x4':
|
||||
{
|
||||
'frame_enhancer':
|
||||
'hashes':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/real_esrgan_x2_fp16.onnx',
|
||||
'path': resolve_relative_path('../.assets/models/real_esrgan_x2_fp16.onnx')
|
||||
}
|
||||
'frame_enhancer':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'real_hatgan_x4.hash'),
|
||||
'path': resolve_relative_path('../.assets/models/real_hatgan_x4.hash')
|
||||
}
|
||||
},
|
||||
'sources':
|
||||
{
|
||||
'frame_enhancer':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'real_hatgan_x4.onnx'),
|
||||
'path': resolve_relative_path('../.assets/models/real_hatgan_x4.onnx')
|
||||
}
|
||||
},
|
||||
'size': (256, 16, 8),
|
||||
'scale': 4
|
||||
},
|
||||
'size': (256, 16, 8),
|
||||
'scale': 2
|
||||
},
|
||||
'real_esrgan_x4':
|
||||
{
|
||||
'hashes':
|
||||
'real_web_photo_x4':
|
||||
{
|
||||
'frame_enhancer':
|
||||
'hashes':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/real_esrgan_x4.hash',
|
||||
'path': resolve_relative_path('../.assets/models/real_esrgan_x4.hash')
|
||||
}
|
||||
'frame_enhancer':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'real_web_photo_x4.hash'),
|
||||
'path': resolve_relative_path('../.assets/models/real_web_photo_x4.hash')
|
||||
}
|
||||
},
|
||||
'sources':
|
||||
{
|
||||
'frame_enhancer':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'real_web_photo_x4.onnx'),
|
||||
'path': resolve_relative_path('../.assets/models/real_web_photo_x4.onnx')
|
||||
}
|
||||
},
|
||||
'size': (64, 4, 2),
|
||||
'scale': 4
|
||||
},
|
||||
'sources':
|
||||
'realistic_rescaler_x4':
|
||||
{
|
||||
'frame_enhancer':
|
||||
'hashes':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/real_esrgan_x4.onnx',
|
||||
'path': resolve_relative_path('../.assets/models/real_esrgan_x4.onnx')
|
||||
}
|
||||
'frame_enhancer':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'realistic_rescaler_x4.hash'),
|
||||
'path': resolve_relative_path('../.assets/models/realistic_rescaler_x4.hash')
|
||||
}
|
||||
},
|
||||
'sources':
|
||||
{
|
||||
'frame_enhancer':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'realistic_rescaler_x4.onnx'),
|
||||
'path': resolve_relative_path('../.assets/models/realistic_rescaler_x4.onnx')
|
||||
}
|
||||
},
|
||||
'size': (128, 8, 4),
|
||||
'scale': 4
|
||||
},
|
||||
'size': (256, 16, 8),
|
||||
'scale': 4
|
||||
},
|
||||
'real_esrgan_x4_fp16':
|
||||
{
|
||||
'hashes':
|
||||
'remacri_x4':
|
||||
{
|
||||
'frame_enhancer':
|
||||
'hashes':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/real_esrgan_x4_fp16.hash',
|
||||
'path': resolve_relative_path('../.assets/models/real_esrgan_x4_fp16.hash')
|
||||
}
|
||||
'frame_enhancer':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'remacri_x4.hash'),
|
||||
'path': resolve_relative_path('../.assets/models/remacri_x4.hash')
|
||||
}
|
||||
},
|
||||
'sources':
|
||||
{
|
||||
'frame_enhancer':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'remacri_x4.onnx'),
|
||||
'path': resolve_relative_path('../.assets/models/remacri_x4.onnx')
|
||||
}
|
||||
},
|
||||
'size': (128, 8, 4),
|
||||
'scale': 4
|
||||
},
|
||||
'sources':
|
||||
'siax_x4':
|
||||
{
|
||||
'frame_enhancer':
|
||||
'hashes':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/real_esrgan_x4_fp16.onnx',
|
||||
'path': resolve_relative_path('../.assets/models/real_esrgan_x4_fp16.onnx')
|
||||
}
|
||||
'frame_enhancer':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'siax_x4.hash'),
|
||||
'path': resolve_relative_path('../.assets/models/siax_x4.hash')
|
||||
}
|
||||
},
|
||||
'sources':
|
||||
{
|
||||
'frame_enhancer':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'siax_x4.onnx'),
|
||||
'path': resolve_relative_path('../.assets/models/siax_x4.onnx')
|
||||
}
|
||||
},
|
||||
'size': (128, 8, 4),
|
||||
'scale': 4
|
||||
},
|
||||
'size': (256, 16, 8),
|
||||
'scale': 4
|
||||
},
|
||||
'real_esrgan_x8':
|
||||
{
|
||||
'hashes':
|
||||
'span_kendata_x4':
|
||||
{
|
||||
'frame_enhancer':
|
||||
'hashes':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/real_esrgan_x8.hash',
|
||||
'path': resolve_relative_path('../.assets/models/real_esrgan_x8.hash')
|
||||
}
|
||||
'frame_enhancer':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'span_kendata_x4.hash'),
|
||||
'path': resolve_relative_path('../.assets/models/span_kendata_x4.hash')
|
||||
}
|
||||
},
|
||||
'sources':
|
||||
{
|
||||
'frame_enhancer':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'span_kendata_x4.onnx'),
|
||||
'path': resolve_relative_path('../.assets/models/span_kendata_x4.onnx')
|
||||
}
|
||||
},
|
||||
'size': (128, 8, 4),
|
||||
'scale': 4
|
||||
},
|
||||
'sources':
|
||||
'swin2_sr_x4':
|
||||
{
|
||||
'frame_enhancer':
|
||||
'hashes':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/real_esrgan_x8.onnx',
|
||||
'path': resolve_relative_path('../.assets/models/real_esrgan_x8.onnx')
|
||||
}
|
||||
'frame_enhancer':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'swin2_sr_x4.hash'),
|
||||
'path': resolve_relative_path('../.assets/models/swin2_sr_x4.hash')
|
||||
}
|
||||
},
|
||||
'sources':
|
||||
{
|
||||
'frame_enhancer':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'swin2_sr_x4.onnx'),
|
||||
'path': resolve_relative_path('../.assets/models/swin2_sr_x4.onnx')
|
||||
}
|
||||
},
|
||||
'size': (128, 8, 4),
|
||||
'scale': 4
|
||||
},
|
||||
'size': (256, 16, 8),
|
||||
'scale': 8
|
||||
},
|
||||
'real_esrgan_x8_fp16':
|
||||
{
|
||||
'hashes':
|
||||
'ultra_sharp_x4':
|
||||
{
|
||||
'frame_enhancer':
|
||||
'hashes':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/real_esrgan_x8_fp16.hash',
|
||||
'path': resolve_relative_path('../.assets/models/real_esrgan_x8_fp16.hash')
|
||||
}
|
||||
},
|
||||
'sources':
|
||||
{
|
||||
'frame_enhancer':
|
||||
'frame_enhancer':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'ultra_sharp_x4.hash'),
|
||||
'path': resolve_relative_path('../.assets/models/ultra_sharp_x4.hash')
|
||||
}
|
||||
},
|
||||
'sources':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/real_esrgan_x8_fp16.onnx',
|
||||
'path': resolve_relative_path('../.assets/models/real_esrgan_x8_fp16.onnx')
|
||||
}
|
||||
},
|
||||
'size': (256, 16, 8),
|
||||
'scale': 8
|
||||
},
|
||||
'real_hatgan_x4':
|
||||
{
|
||||
'hashes':
|
||||
{
|
||||
'frame_enhancer':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/real_hatgan_x4.hash',
|
||||
'path': resolve_relative_path('../.assets/models/real_hatgan_x4.hash')
|
||||
}
|
||||
},
|
||||
'sources':
|
||||
{
|
||||
'frame_enhancer':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/real_hatgan_x4.onnx',
|
||||
'path': resolve_relative_path('../.assets/models/real_hatgan_x4.onnx')
|
||||
}
|
||||
},
|
||||
'size': (256, 16, 8),
|
||||
'scale': 4
|
||||
},
|
||||
'real_web_photo_x4':
|
||||
{
|
||||
'hashes':
|
||||
{
|
||||
'frame_enhancer':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.1.0/real_web_photo_x4.hash',
|
||||
'path': resolve_relative_path('../.assets/models/real_web_photo_x4.hash')
|
||||
}
|
||||
},
|
||||
'sources':
|
||||
{
|
||||
'frame_enhancer':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.1.0/real_web_photo_x4.onnx',
|
||||
'path': resolve_relative_path('../.assets/models/real_web_photo_x4.onnx')
|
||||
}
|
||||
},
|
||||
'size': (64, 4, 2),
|
||||
'scale': 4
|
||||
},
|
||||
'realistic_rescaler_x4':
|
||||
{
|
||||
'hashes':
|
||||
{
|
||||
'frame_enhancer':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.1.0/realistic_rescaler_x4.hash',
|
||||
'path': resolve_relative_path('../.assets/models/realistic_rescaler_x4.hash')
|
||||
}
|
||||
},
|
||||
'sources':
|
||||
{
|
||||
'frame_enhancer':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.1.0/realistic_rescaler_x4.onnx',
|
||||
'path': resolve_relative_path('../.assets/models/realistic_rescaler_x4.onnx')
|
||||
}
|
||||
},
|
||||
'size': (128, 8, 4),
|
||||
'scale': 4
|
||||
},
|
||||
'remacri_x4':
|
||||
{
|
||||
'hashes':
|
||||
{
|
||||
'frame_enhancer':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.1.0/remacri_x4.hash',
|
||||
'path': resolve_relative_path('../.assets/models/remacri_x4.hash')
|
||||
}
|
||||
},
|
||||
'sources':
|
||||
{
|
||||
'frame_enhancer':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.1.0/remacri_x4.onnx',
|
||||
'path': resolve_relative_path('../.assets/models/remacri_x4.onnx')
|
||||
}
|
||||
},
|
||||
'size': (128, 8, 4),
|
||||
'scale': 4
|
||||
},
|
||||
'siax_x4':
|
||||
{
|
||||
'hashes':
|
||||
{
|
||||
'frame_enhancer':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.1.0/siax_x4.hash',
|
||||
'path': resolve_relative_path('../.assets/models/siax_x4.hash')
|
||||
}
|
||||
},
|
||||
'sources':
|
||||
{
|
||||
'frame_enhancer':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.1.0/siax_x4.onnx',
|
||||
'path': resolve_relative_path('../.assets/models/siax_x4.onnx')
|
||||
}
|
||||
},
|
||||
'size': (128, 8, 4),
|
||||
'scale': 4
|
||||
},
|
||||
'span_kendata_x4':
|
||||
{
|
||||
'hashes':
|
||||
{
|
||||
'frame_enhancer':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/span_kendata_x4.hash',
|
||||
'path': resolve_relative_path('../.assets/models/span_kendata_x4.hash')
|
||||
}
|
||||
},
|
||||
'sources':
|
||||
{
|
||||
'frame_enhancer':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/span_kendata_x4.onnx',
|
||||
'path': resolve_relative_path('../.assets/models/span_kendata_x4.onnx')
|
||||
}
|
||||
},
|
||||
'size': (128, 8, 4),
|
||||
'scale': 4
|
||||
},
|
||||
'swin2_sr_x4':
|
||||
{
|
||||
'hashes':
|
||||
{
|
||||
'frame_enhancer':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.1.0/swin2_sr_x4.hash',
|
||||
'path': resolve_relative_path('../.assets/models/swin2_sr_x4.hash')
|
||||
}
|
||||
},
|
||||
'sources':
|
||||
{
|
||||
'frame_enhancer':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.1.0/swin2_sr_x4.onnx',
|
||||
'path': resolve_relative_path('../.assets/models/swin2_sr_x4.onnx')
|
||||
}
|
||||
},
|
||||
'size': (128, 8, 4),
|
||||
'scale': 4
|
||||
},
|
||||
'ultra_sharp_x4':
|
||||
{
|
||||
'hashes':
|
||||
{
|
||||
'frame_enhancer':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/ultra_sharp_x4.hash',
|
||||
'path': resolve_relative_path('../.assets/models/ultra_sharp_x4.hash')
|
||||
}
|
||||
},
|
||||
'sources':
|
||||
{
|
||||
'frame_enhancer':
|
||||
{
|
||||
'url': 'https://github.com/facefusion/facefusion-assets/releases/download/models-3.0.0/ultra_sharp_x4.onnx',
|
||||
'path': resolve_relative_path('../.assets/models/ultra_sharp_x4.onnx')
|
||||
}
|
||||
},
|
||||
'size': (128, 8, 4),
|
||||
'scale': 4
|
||||
'frame_enhancer':
|
||||
{
|
||||
'url': resolve_download_url('models-3.0.0', 'ultra_sharp_x4.onnx'),
|
||||
'path': resolve_relative_path('../.assets/models/ultra_sharp_x4.onnx')
|
||||
}
|
||||
},
|
||||
'size': (128, 8, 4),
|
||||
'scale': 4
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
def get_inference_pool() -> InferencePool:
|
||||
@ -393,7 +394,7 @@ def clear_inference_pool() -> None:
|
||||
|
||||
def get_model_options() -> ModelOptions:
|
||||
frame_enhancer_model = state_manager.get_item('frame_enhancer_model')
|
||||
return MODEL_SET.get(frame_enhancer_model)
|
||||
return create_model_set().get(frame_enhancer_model)
|
||||
|
||||
|
||||
def register_args(program : ArgumentParser) -> None:
|
||||
|
Loading…
Reference in New Issue
Block a user