| import os |
|
|
| from argparse import ArgumentParser |
| from utils.inference_utils import init_vae_model, load_weights, get_noise_seeded, decode_noise, save_images |
|
|
|
|
| if __name__ == "__main__": |
| parser = ArgumentParser() |
| parser.add_argument("--model_name", required=True, type=str, choices=['tide', 'tidev2'], help='VAE model') |
| parser.add_argument("--weights_path", required=True, type=str, help='Path to restore trained weights') |
| parser.add_argument("--latent_dim", default=8, type=int, help='Dimensionality of latent space') |
| parser.add_argument("--save_dir", default="./fake_images", type=str, help='Path to save synthetic images') |
| parser.add_argument("--num_of_images", default=10, type=int, help='Number of images to generate') |
| parser.add_argument("--input_shape", default=[320, 320, 3], nargs=3, help='Image shape for training') |
|
|
| args = parser.parse_args() |
| args.input_shape = tuple(map(int, args.input_shape)) |
|
|
| os.makedirs(args.save_dir, exist_ok=True) |
|
|
| if not os.path.exists(args.weights_path): |
| print("Not a valid path") |
|
|
| vae = init_vae_model(args.model_name, args.latent_dim, args.input_shape) |
| |
|
|
|
|
| |
| vae = load_weights(vae, args.weights_path) |
| vae.trainable = False |
|
|
| |
| for i in range(args.num_of_images): |
| print(f'Generating image for seed {i}/{args.num_of_images}, ') |
| noise_vector = get_noise_seeded((1, args.latent_dim), seed=i) |
| fake_images = decode_noise(vae, noise_vector, return_list=True) |
| save_images(args.save_dir, fake_images, seed=i) |