Example #1
0
formatter = logging.Formatter(
    '%(levelname).1s %(asctime)s [%(name)s] %(message)s', '%H:%M:%S')
handler.setFormatter(formatter)
logging.basicConfig(level=logging.DEBUG, handlers=[handler])
logger = logging.getLogger(__name__)

import data, model
from gan import WassersteinGAN


def parse_arguments():
    parser = argparse.ArgumentParser('HW4')
    parser.add_argument('--gpus', type=str, default='0')
    parser.add_argument('--epochs', type=int, default=300)
    parser.add_argument('--batch_size', type=int, default=64)
    return parser.parse_args()


if __name__ == '__main__':
    args = parse_arguments()

    os.environ['CUDA_VISIBLE_DEVICES'] = args.gpus

    data_sampler = data.DataSampler(os.path.join('data', 'tags.csv'))
    noise_sampler = data.NoiseSampler()
    g_net = model.Generator()
    d_net = model.Discriminator()

    wgan = WassersteinGAN(g_net, d_net, data_sampler, noise_sampler)
    wgan.train(epochs=args.epochs, batch_size=args.batch_size)
MODEL_DIRECTORY = "/home/pvossler/cm_idea/"
print(p)
p_size = p
# Load the built-in multivariate Student's-t model and its default parameters
# The currently available built-in models are:
# - gaussian : Multivariate Gaussian distribution
# - gmm      : Gaussian mixture model
# - mstudent : Multivariate Student's-t distribution
# - sparse   : Multivariate sparse Gaussian distribution
# model = "mixed_student"
model = "mixed"
distribution_params = parameters.GetDistributionParams(model, p)

# Initialize the data generator
DataSampler = data.DataSampler(distribution_params)

# Number of training examples
n = 5000
ncat = int(p / 2)
cat_columns = np.arange(0, ncat)
# num_cuts = 4
# num_cuts = np.random.randint(2,5,len(cat_columns))
# used a fixed num_cuts from pars_p_1002019-09-08T21:05:57-73.npy
if p == 100:
    num_cuts = [
        3, 3, 3, 4, 4, 4, 3, 2, 2, 4, 2, 4, 3, 3, 4, 4, 2, 3, 2, 4, 3, 3, 2, 2,
        2, 4, 3, 4, 2, 2, 2, 2, 3, 3, 2, 2, 3, 3, 4, 4, 4, 4, 4, 4, 2, 3, 4, 4,
        4, 2
    ]
else:
Example #3
0
    parser.add_argument('label_path', type=str, help='label source')
    parser.add_argument('--gpus', type=str, default='0')
    parser.add_argument('-n',
                        type=int,
                        default=5,
                        help='number of images per label')
    parser.add_argument('--seed', type=int, default=42)
    return parser.parse_args()


if __name__ == '__main__':
    args = parse_arguments()

    os.environ['CUDA_VISIBLE_DEVICES'] = args.gpus

    data_sampler = data.DataSampler()
    noise_sampler = data.NoiseSampler(seed=args.seed)
    g_net = model.Generator()
    d_net = model.Discriminator()

    wgan = WassersteinGAN(g_net, d_net, data_sampler, noise_sampler)
    wgan.restore()

    ids, labels = load_labels(args.label_path)
    for i in range(labels.shape[0]):
        prefix = 'sample_{}'.format(ids[i])
        logger.info('generate images for \'{}\''.format(prefix))
        bx = wgan.generate(labels[i, ...], n_images=args.n)
        images = data_sampler.to_images(bx)
        for j in range(images.shape[0]):
            skimage.io.imsave(