Example #1
0
def get_conditional_topo_samples(generator, m, n, condition_sampler_fn, embedding_file=DEFAULT_EMBEDDING_FILE):
    if isinstance(generator, basestring):
        generator = load_generator_from_file(generator)

    conditional_batch = generator.condition_space.make_theano_batch()
    conditional_data = condition_sampler_fn(generator, m, n, embedding_file=embedding_file)

    topo_samples_batch = generator.sample(conditional_batch)
    topo_sample_f = theano.function([conditional_batch], topo_samples_batch)
    topo_samples = topo_sample_f(conditional_data).swapaxes(0, 3)
    return topo_samples, conditional_data
Example #2
0
def get_conditional_topo_samples(generator,
                                 m,
                                 n,
                                 condition_sampler_fn,
                                 embedding_file=DEFAULT_EMBEDDING_FILE):
    if isinstance(generator, basestring):
        generator = load_generator_from_file(generator)

    conditional_batch = generator.condition_space.make_theano_batch()
    conditional_data = condition_sampler_fn(generator,
                                            m,
                                            n,
                                            embedding_file=embedding_file)

    topo_samples_batch = generator.sample(conditional_batch)
    topo_sample_f = theano.function([conditional_batch], topo_samples_batch)
    topo_samples = topo_sample_f(conditional_data).swapaxes(0, 3)
    return topo_samples, conditional_data
embeddings = np.load(args.embedding_file)['arr_0']

if args.axes is None:
    args.axes = range(embeddings.shape[1])
else:
    args.axes = [int(x) for x in args.axes.strip().split(',')]


condition_dim = embeddings.shape[1]
m, n = len(args.axes), 10
shift = 7.5


# Prepare generator
generator = util.load_generator_from_file(args.model_path)
noise_batch = generator.noise_space.make_theano_batch()
conditional_batch = generator.condition_space.make_theano_batch()
topo_sample_f = theano.function([noise_batch, conditional_batch],
                                generator.dropout_fprop((noise_batch, conditional_batch))[0])

# Sample some noise data -- this needs to be shared between orig and mod
# sample pairs
noise_data = generator.get_noise((n, generator.noise_dim)).eval()


# Begin modifying axes
base_conditional_data = args.conditional_sampler(generator, n, 1,
                                                 embedding_file=args.embedding_file)
print 'Mean for each axis:'
pprint.pprint(zip(args.axes, base_conditional_data[:, args.axes].mean(axis=1)))
Example #4
0
                    help='Comma-separated list of axes to modify')
args = parser.parse_args()

embeddings = np.load(args.embedding_file)['arr_0']

if args.axes is None:
    args.axes = range(embeddings.shape[1])
else:
    args.axes = [int(x) for x in args.axes.strip().split(',')]

condition_dim = embeddings.shape[1]
m, n = len(args.axes), 10
shift = 7.5

# Prepare generator
generator = util.load_generator_from_file(args.model_path)
noise_batch = generator.noise_space.make_theano_batch()
conditional_batch = generator.condition_space.make_theano_batch()
topo_sample_f = theano.function([noise_batch, conditional_batch],
                                generator.dropout_fprop(
                                    (noise_batch, conditional_batch))[0])

# Sample some noise data -- this needs to be shared between orig and mod
# sample pairs
noise_data = generator.get_noise((n, generator.noise_dim)).eval()

# Begin modifying axes
base_conditional_data = args.conditional_sampler(
    generator, n, 1, embedding_file=args.embedding_file)
print 'Mean for each axis:'
pprint.pprint(zip(args.axes, base_conditional_data[:, args.axes].mean(axis=1)))