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:
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(