Esempio n. 1
0
    emb_weights = getGloveEmbeddings('../embeddings', cache, t2i) 
    emb_weights = torch.tensor(emb_weights, device=device)

    if args['--encoder'] == 'simple':
        emb_size = 50
        text_encoder = models.SimpleTextEncoder(emb_weights)
    elif args['--encoder'] == 'mere':
        emb_size = 64
        text_encoder = models.TextEncoder(emb_weights, proj=True)
    elif args['--encoder'] == 'joint':
        pass
    else:
        raise TypeError('Invalid encoder type')

    dim_Z = 50
    generator = models.VideoGenerator(dim_Z, emb_size)

    image_discriminator = models.ImageDiscriminator(
            cond_size=emb_size, noise=args['--noise'],
            sigma=float(args['--sigma']))
    video_discriminator = models.VideoDiscriminator(
            cond_size=emb_size, noise=args['--noise'],
            sigma=float(args['--sigma']))

    generator.to(device)
    text_encoder.to(device)
    image_discriminator.to(device)
    video_discriminator.to(device)

    dis_dict = {'image': image_discriminator,
                'video': video_discriminator}
Esempio n. 2
0
    # Dataset of all
    dataset = data.VideoFolderDataset(args['<dataset>'], cache=os.path.join(args['<dataset>'], 'local.db'))

    # Object to get images from dataset VideoFolderDataset above
    image_dataset = data.ImageDataset(dataset, image_transforms)
    # Dataloader to load images
    image_loader = DataLoader(image_dataset, batch_size=image_batch, drop_last=True, num_workers=2, shuffle=True)

    # Object to get videos from dataset VideoFolderDataset above
    video_dataset = data.VideoDataset(dataset, video_length=16, every_nth=2, transform=video_transforms)
    # Dataloader to load videos
    video_loader = DataLoader(video_dataset, batch_size=video_batch, drop_last=True, num_workers=2, shuffle=True)

    # Create object of VideoGenerator
    generator = models.VideoGenerator(n_channels, dim_z_content=dim_z_content, dim_z_view=dim_z_view,
                                      dim_z_motion=dim_z_motion, dim_z_category=dim_z_category,
                                      video_length=video_length)

    # Create object of ImageDiscriminator
    image_discriminator = build_discriminator(args['--image_discriminator'], n_channels=n_channels,
                                              dim_z_view=dim_z_view, use_noise=args['--use_noise'],
                                              noise_sigma=float(args['--noise_sigma']))

    # Create object of VideoDiscriminator
    video_discriminator = build_discriminator(args['--video_discriminator'], n_channels=n_channels,
                                              dim_z_view=dim_z_view, dim_z_category=dim_z_category,
                                              use_noise=args['--use_noise'],
                                              noise_sigma=float(args['--noise_sigma']))

    # Push all networks to GPU
    print("torch.cuda.is_available() = ", torch.cuda.is_available())
Esempio n. 3
0
    image_dataset = data.ImageDataset(dataset, image_transforms)
    image_loader = DataLoader(image_dataset,
                              batch_size=image_batch,
                              drop_last=True,
                              num_workers=2,
                              shuffle=True)

    video_dataset = data.VideoDataset(dataset, 16, 2, video_transforms)
    video_loader = DataLoader(video_dataset,
                              batch_size=video_batch,
                              drop_last=True,
                              num_workers=2,
                              shuffle=True)

    generator = models.VideoGenerator(n_channels, dim_z_content,
                                      dim_z_category, dim_z_motion,
                                      video_length)

    image_discriminator = build_discriminator(args['--image_discriminator'],
                                              n_channels=n_channels,
                                              use_noise=args['--use_noise'],
                                              noise_sigma=float(
                                                  args['--noise_sigma']))

    video_discriminator = build_discriminator(args['--video_discriminator'],
                                              dim_categorical=dim_z_category,
                                              n_channels=n_channels,
                                              use_noise=args['--use_noise'],
                                              noise_sigma=float(
                                                  args['--noise_sigma']))
Esempio n. 4
0
    image_batch = int(args['--image_batch'])
    video_batch = int(args['--video_batch'])

    dim_z_content = int(args['--dim_z_content'])
    dim_z_motion = int(args['--dim_z_motion'])
    dim_z_category = int(args['--dim_z_category'])

    dataset = data.VideoFolderDataset(args['<dataset>'], cache=os.path.join(args['<dataset>'], 'local.db'))
    image_dataset = data.ImageDataset(dataset, image_transforms)
    image_loader = DataLoader(image_dataset, batch_size=image_batch, drop_last=True, num_workers=2, shuffle=True)
    content_image_loader = DataLoader(image_dataset, batch_size=image_batch, drop_last=True, num_workers=2, shuffle=True)

    video_dataset = data.VideoDataset(dataset, 16, 2, video_transforms)
    video_loader = DataLoader(video_dataset, batch_size=video_batch, drop_last=True, num_workers=2, shuffle=True)

    generator = models.VideoGenerator(n_channels, dim_z_content, dim_z_category, dim_z_motion, video_length, content_image_sampler=content_image_loader, use_cuda=use_cuda)

    image_discriminator = build_discriminator(args['--image_discriminator'], n_channels=n_channels,
                                              use_noise=args['--use_noise'], noise_sigma=float(args['--noise_sigma']))

    video_discriminator = build_discriminator(args['--video_discriminator'], dim_categorical=dim_z_category,
                                              n_channels=n_channels, use_noise=args['--use_noise'],
                                              noise_sigma=float(args['--noise_sigma']))

    if torch.cuda.is_available():
        generator.cuda()
        image_discriminator.cuda()
        video_discriminator.cuda()

    trainer = Trainer(image_loader, video_loader,
                      int(args['--print_every']),
Esempio n. 5
0
video_transforms = functools.partial(video_transform,
                                     image_transform=image_transforms)
factor = int(args["--factor"])
dim_z_view = int(args["--dim_z_view"])
dim_z_category = int(args["--dim_z_category"])
num_class = dim_z_view * dim_z_category

video_length = int(args["--video_length"])
input_path = str(args["--input_path"])

# Create object of VideoGenerator
generator = models.VideoGenerator(n_channels=3,
                                  dim_z_content=50,
                                  dim_z_view=dim_z_view,
                                  dim_z_motion=10,
                                  dim_z_category=dim_z_category,
                                  dim_z_object=2,
                                  video_length=video_length,
                                  video_transforms=video_transforms,
                                  image_transforms=image_transforms,
                                  ngf=64)
print(generator)
print("torch.cuda.is_available() = ", torch.cuda.is_available())
if torch.cuda.is_available():
    print("torch.cuda.is_available() = ", torch.cuda.is_available())
    generator.cuda()

generator.load_state_dict(checkpoint['generator'])
generator.eval()

output_folder = "./test_encode_module"
if not os.path.exists(output_folder):
dim_z_category = int(args["--dim_z_category"])
num_class = dim_z_view * dim_z_category
video_length = int(args["--video_length"])
output_folder = str(args["--output_folder"])
performer_name = str(args["--performer_name"])
is_6_dau = args["--is_6_dau"]

offset = 0
if (is_6_dau == False):
    offset = 6

# Create object of VideoGenerator
generator = models.VideoGenerator(n_channels=3,
                                  dim_z_content=50,
                                  dim_z_view=dim_z_view,
                                  dim_z_motion=10,
                                  dim_z_category=dim_z_category,
                                  video_length=video_length,
                                  ngf=64)
print(generator)
print("torch.cuda.is_available() = ", torch.cuda.is_available())
if torch.cuda.is_available():
    print("torch.cuda.is_available() = ", torch.cuda.is_available())
    generator.cuda()

generator.load_state_dict(checkpoint['generator'])
generator.eval()

# Create output folder
if not os.path.exists(output_folder):
    os.makedirs(output_folder)
Esempio n. 7
0
                              num_workers=2,
                              shuffle=True)

    video_dataset = data.VideoDataset(dataset, 16, 2, video_transforms)
    video_loader = DataLoader(video_dataset,
                              batch_size=video_batch,
                              drop_last=True,
                              num_workers=2,
                              shuffle=True)

    generator = models.VideoGenerator(
        n_channels,
        dim_z_content,
        dim_z_category,
        dim_z_motion,
        video_length,
        use_cgan_proj_discr=use_cgan_proj_discr,
        n_categories=n_categories,
        n_content_categories=n_content_categories,
        resnet=resnet,
        content_only_style=content_only_style)
    print('generator')
    print(generator)

    if not use_cgan_proj_discr:
        image_discriminator = build_discriminator(
            args['--image_discriminator'],
            n_channels=n_channels,
            use_noise=args['--use_noise'],
            noise_sigma=float(args['--noise_sigma']))
    else:
Esempio n. 8
0
    # Object to get images from dataset VideoFolderDataset above
    encode_image_dataset = data.ImageDataset(dataset, image_transforms)
    # Dataloader to load images
    encode_image_loader = DataLoader(encode_image_dataset,
                                     batch_size=image_batch,
                                     drop_last=True,
                                     num_workers=2,
                                     shuffle=True)

    # Create object of VideoGenerator
    generator = models.VideoGenerator(n_channels,
                                      dim_z_content=dim_z_content,
                                      dim_z_view=dim_z_view,
                                      dim_z_motion=dim_z_motion,
                                      dim_z_category=dim_z_category,
                                      dim_z_object=dim_z_object,
                                      video_length=video_length,
                                      encode_video_loader=encode_video_loader,
                                      encode_image_loader=encode_image_loader,
                                      video_transforms=video_transforms,
                                      image_transforms=image_transforms)

    # Create object of ImageDiscriminator
    image_discriminator = build_discriminator(args['--image_discriminator'],
                                              n_channels=n_channels,
                                              dim_z_view=dim_z_view,
                                              dim_z_object=dim_z_object,
                                              use_noise=args['--use_noise'],
                                              noise_sigma=float(
                                                  args['--noise_sigma']))