KlingTeam/LivePortrait
3.8k
1# coding: utf-82 3import tyro4from src.config.argument_config import ArgumentConfig5from src.config.inference_config import InferenceConfig6from src.config.crop_config import CropConfig7from src.live_portrait_pipeline import LivePortraitPipeline8 9 10def partial_fields(target_class, kwargs):11 return target_class(**{k: v for k, v in kwargs.items() if hasattr(target_class, k)})12 13 14def main():15 # set tyro theme16 tyro.extras.set_accent_color("bright_cyan")17 args = tyro.cli(ArgumentConfig)18 19 # specify configs for inference20 inference_cfg = partial_fields(InferenceConfig, args.__dict__) # use attribute of args to initial InferenceConfig21 crop_cfg = partial_fields(CropConfig, args.__dict__) # use attribute of args to initial CropConfig22 23 live_portrait_pipeline = LivePortraitPipeline(24 inference_cfg=inference_cfg,25 crop_cfg=crop_cfg26 )27 28 # run29 live_portrait_pipeline.execute(args)30 31 32if __name__ == '__main__':33 main()34 