Spaces:
Build error
Build error
| import os | |
| import argparse | |
| import torch | |
| from torchvision import utils | |
| from model.sg2_model import Generator | |
| from tqdm import tqdm | |
| from pathlib import Path | |
| import numpy as np | |
| import subprocess | |
| import shutil | |
| import copy | |
| VALID_EDITS = ["pose", "age", "smile", "gender", "hair_length", "beard"] | |
| SUGGESTED_DISTANCES = { | |
| "pose": 3.0, | |
| "smile": 2.0, | |
| "age": 4.0, | |
| "gender": 3.0, | |
| "hair_length": -4.0, | |
| "beard": 2.0 | |
| } | |
| def project_code(latent_code, boundary, distance=3.0): | |
| if len(boundary) == 2: | |
| boundary = boundary.reshape(1, 1, -1) | |
| return latent_code + distance * boundary | |
| def project_code_by_edit_name(latent_code, name, strength): | |
| boundary_dir = Path(os.path.abspath(__file__)).parents[0].joinpath("editing", "interfacegan_boundaries") | |
| distance = SUGGESTED_DISTANCES[name] * strength | |
| boundary = torch.load(os.path.join(boundary_dir, f'{name}.pt'), map_location="cpu").numpy() | |
| return project_code(latent_code, boundary, distance) |