Files
facefusion-labs/face_swapper/src/exporting.py
T
harisreedhar 99931def84 fix
2025-03-11 22:57:08 +05:30

27 lines
1.1 KiB
Python

import os
from configparser import ConfigParser
import torch
from .training import FaceSwapperTrainer
CONFIG_PARSER = ConfigParser()
CONFIG_PARSER.read('config.ini')
def export() -> None:
config_directory_path = CONFIG_PARSER.get('exporting', 'directory_path')
config_source_path = CONFIG_PARSER.get('exporting', 'source_path')
config_target_path = CONFIG_PARSER.get('exporting', 'target_path')
config_output_size = CONFIG_PARSER.getint('training.model.generator', 'output_size')
config_ir_version = CONFIG_PARSER.getint('exporting', 'ir_version')
config_opset_version = CONFIG_PARSER.getint('exporting', 'opset_version')
os.makedirs(config_directory_path, exist_ok = True)
model = FaceSwapperTrainer.load_from_checkpoint(config_source_path, config_parser = CONFIG_PARSER, map_location = 'cpu').eval()
model.ir_version = torch.tensor(config_ir_version)
source_tensor = torch.randn(1, 512)
target_tensor = torch.randn(1, 3, config_output_size, config_output_size)
torch.onnx.export(model, (source_tensor, target_tensor), config_target_path, input_names = [ 'source', 'target' ], output_names = [ 'output', 'mask' ], opset_version = config_opset_version)