Ejemplo n.º 1
0
        plt.figure(figsize=(10, 10))
        plt.axis("off")
        plt.imshow(
            np.transpose(
                vutils.make_grid(gen_data, nrow=10, padding=2, normalize=True),
                (1, 2, 0)))
        plt.savefig("Epoch_%d {}".format(params['dataset']) % (epoch + 1))
        plt.close('all')

    # Save network weights.
    if (epoch + 1) % params['save_epoch'] == 0:
        torch.save(
            {
                'netG': netG.state_dict(),
                'discriminator': discriminator.state_dict(),
                'netD': netD.state_dict(),
                'netQ': netQ.state_dict(),
                'optimD': optimD.state_dict(),
                'optimG': optimG.state_dict(),
                'params': params
            }, 'checkpoint/model_epoch_%d_{}'.format(params['dataset']) %
            (epoch + 1))

training_time = time.time() - start_time
print("-" * 50)
print('Training finished!\nTotal Time for Training: %.2fm' %
      (training_time / 60))
print("-" * 50)

# Generate image to check performance of trained generator.
with torch.no_grad():
Ejemplo n.º 2
0
    # Generate image to check performance of generator.
    if (epoch + 1) == 1 or (epoch + 1) == params['num_epochs']/2:
        with torch.no_grad():
            gen_data = netG(fixed_noise).detach().cpu()
        plt.figure(figsize=(10, 10))
        plt.axis("off")
        plt.imshow(np.transpose(vutils.make_grid(gen_data, nrow=10, padding=2, normalize=True), (1,2,0)))
        plt.savefig("Epoch_%d {}".format(params['dataset']) %(epoch+1))
        plt.close('all')

    # Save network weights.
    if (epoch+1) % params['save_epoch'] == 0:
        torch.save({
            'netG' : netG.state_dict(),
            'discriminator' : discriminator.state_dict(),
            'netD' : netD.state_dict(),
            'netQ' : netQ.state_dict(),
            'optimD' : optimD.state_dict(),
            'optimG' : optimG.state_dict(),
            'params' : params
            }, 'checkpoint/model_epoch_%d_{}'.format(params['dataset']) %(epoch+1))

training_time = time.time() - start_time
print("-"*50)
print('Training finished!\nTotal Time for Training: %.2fm' %(training_time / 60))
print("-"*50)

# Save model weights
torch.save(netG.state_dict(), 'NetG_Weights.pth')
torch.save(discriminator.state_dict(), 'Discriminator_Weights.pth')
torch.save(netD.state_dict(), 'NetD_Weights.pth')