|
import torch |
|
from configs import global_config, paths_config |
|
from scripts.latent_creators.base_latent_creator import BaseLatentCreator |
|
from training.projectors import w_plus_projector |
|
|
|
|
|
class SG2PlusLatentCreator(BaseLatentCreator): |
|
|
|
def __init__(self, use_wandb=False, projection_steps=2000): |
|
super().__init__(paths_config.sg2_plus_results_keyword, use_wandb=use_wandb) |
|
|
|
self.projection_steps = projection_steps |
|
|
|
def run_projection(self, fname, image): |
|
image = torch.squeeze((image.to(global_config.device) + 1) / 2) * 255 |
|
w = w_plus_projector.project(self.old_G, image, device=torch.device(global_config.device), |
|
num_steps=self.projection_steps, w_name=fname, use_wandb=self.use_wandb) |
|
|
|
return w |
|
|
|
|
|
if __name__ == '__main__': |
|
id_change_report = SG2PlusLatentCreator() |
|
id_change_report.create_latents() |
|
|