Ejemplo n.º 1
0
def ex_cdcgan():
    datasets = ReWrite.load_data_in_seq(source_files)
    datasets = ReWrite.MyDataSet(datasets)
    data_loader = DataLoader(
        datasets,
        batch_size=256,
        shuffle=True,
    )
    latent_dim = 20
    generator = G_D_Module.GeneratorCDCGAN(
        latent_dim, opt.n_classes, img_shape)  # latent_dim should be 20
    discriminator = G_D_Module.DiscriminatorCDCGAN(opt.n_classes, img_shape,
                                                   latent_dim)

    TrainFunction.train_cdcgan(generator,
                               discriminator,
                               data_loader,
                               opt.n_epochs,
                               opt.lr,
                               opt.b1,
                               opt.b2,
                               opt.latent_dim,
                               opt.n_classes,
                               cuda,
                               fist_train=False)
Ejemplo n.º 2
0
def show_cdcgan_data():
    latent_dim = 20
    data_list = os.listdir('coedatas')
    data = []
    for path in data_list:
        data.append(data_read('coedatas/' + path))

    FloatTensor = torch.FloatTensor
    LongTensor = torch.LongTensor
    generator = G_D_Module.GeneratorCDCGAN(latent_dim, 5, (1, 32, 32))
    generator.load_state_dict(torch.load('GANParameters/CDCGAN/generator.pt'))

    noise = FloatTensor(np.random.normal(0, 1, (len(data)**2, latent_dim)))
    single_list = list(range(len(data)))
    label = LongTensor(single_list * len(data))
    gen_imags = generator(noise, label)

    # real
    # imgs = np.empty([len(data) ** 2, 1, 32, 32], dtype=float)
    # for i in range(len(data)):
    #     for j in range(len(data)):
    #         index = random.randint(0, len(data[j]) - 1)
    #         imgs[i * len(data) + j][0] = data[j][index]
    # for i in range(imgs.shape[0]):
    #     plt.subplot(len(data_list), len(data_list), i + 1)
    #     plt.axis('off')
    #     plt.contourf(imgs[i][0])
    # plt.savefig('caches/real.jpg', bbox_inches='tight')
    # plt.close()

    for i in range(gen_imags.shape[0]):
        plt.subplot(len(data), len(data), i + 1)
        plt.axis('off')
        plt.contourf(gen_imags[i][0].detach().numpy())
    plt.savefig('caches/gen.jpg', bbox_inches='tight')
    plt.close()