STAT 453: Deep Learning (Spring 2021)
Instructor: Sebastian Raschka (sraschka@wisc.edu)
Course website: http://pages.stat.wisc.edu/~sraschka/teaching/stat453-ss2021/
GitHub repository: https://github.com/rasbt/stat453-deep-learning-ss21
%load_ext watermark
%watermark -a 'Sebastian Raschka' -v -p torch
Author: Sebastian Raschka Python implementation: CPython Python version : 3.8.8 IPython version : 7.21.0 torch: 1.8.1+cu111
import numpy as np
import torch
import torchvision
import torch.nn as nn
import matplotlib.pyplot as plt
from helper_data import get_dataloaders_mnist
from helper_train import train_gan_v1
from helper_utils import set_deterministic, set_all_seeds
from helper_plotting import plot_multiple_training_losses
from helper_plotting import plot_generated_images
##########################
### SETTINGS
##########################
# Device
#CUDA_DEVICE_NUM = 3
#DEVICE = torch.device(f'cuda:{CUDA_DEVICE_NUM}' if torch.cuda.is_available() else 'cpu')
DEVICE = torch.device('cpu')
print('Device:', DEVICE)
# Hyperparameters
RANDOM_SEED = 42
GENERATOR_LEARNING_RATE = 0.0002
DISCRIMINATOR_LEARNING_RATE = 0.0002
NUM_EPOCHS = 100
BATCH_SIZE = 128
IMAGE_HEIGHT, IMAGE_WIDTH, IMAGE_CHANNELS = 28, 28, 1
Device: cpu
set_deterministic
set_all_seeds(RANDOM_SEED)
##########################
### Dataset
##########################
from torchvision import datasets
from torch.utils.data import DataLoader
custom_transforms = torchvision.transforms.Compose([
torchvision.transforms.ToTensor(),
torchvision.transforms.Normalize((0.5,), (0.5,))
])
train_dataset = datasets.MNIST(root='data',
train=True,
transform=custom_transforms,
download=True)
train_loader = DataLoader(dataset=train_dataset,
batch_size=BATCH_SIZE,
num_workers=0,
shuffle=True)
# Checking the dataset
for images, labels in train_loader:
print('Image batch dimensions:', images.shape)
print('Image label dimensions:', labels.shape)
break
Image batch dimensions: torch.Size([128, 1, 28, 28]) Image label dimensions: torch.Size([128])
# Checking the dataset
print('Training Set:\n')
for images, labels in train_loader:
print('Image batch dimensions:', images.size())
print('Image label dimensions:', labels.size())
#print(labels[:10])
break
Training Set: Image batch dimensions: torch.Size([128, 1, 28, 28]) Image label dimensions: torch.Size([128])
plt.figure(figsize=(8, 8))
plt.axis("off")
plt.title("Training Images")
plt.imshow(np.transpose(torchvision.utils.make_grid(images[:64],
padding=2, normalize=True),
(1, 2, 0)))
plt.show()
##########################
### MODEL
##########################
class GAN(torch.nn.Module):
def __init__(self, latent_dim=100,
image_height=28, image_width=28, color_channels=1):
super().__init__()
self.image_height = image_height
self.image_width = image_width
self.color_channels = color_channels
self.generator = nn.Sequential(
nn.Linear(latent_dim, 128),
nn.LeakyReLU(inplace=True),
nn.Dropout(p=0.5),
nn.Linear(128, image_height*image_width*color_channels),
nn.Tanh()
)
self.discriminator = nn.Sequential(
nn.Flatten(),
nn.Linear(image_height*image_width*color_channels, 128),
nn.LeakyReLU(inplace=True),
nn.Dropout(p=0.5),
nn.Linear(128, 1), # outputs logits
#nn.Sigmoid()
)
def generator_forward(self, z):# z has dimension NCHW
z = torch.flatten(z, start_dim=1)
img = self.generator(z)
img = img.view(z.size(0),
self.color_channels,
self.image_height,
self.image_width)
return img
def discriminator_forward(self, img):
logits = model.discriminator(img)
return logits
set_all_seeds(RANDOM_SEED)
model = GAN()
model.to(DEVICE)
optim_gen = torch.optim.Adam(model.generator.parameters(),
betas=(0.5, 0.999),
lr=GENERATOR_LEARNING_RATE)
optim_discr = torch.optim.Adam(model.discriminator.parameters(),
betas=(0.5, 0.999),
lr=DISCRIMINATOR_LEARNING_RATE)
log_dict = train_gan_v1(num_epochs=NUM_EPOCHS, model=model,
optimizer_gen=optim_gen,
optimizer_discr=optim_discr,
latent_dim=100,
device=DEVICE,
train_loader=train_loader,
logging_interval=100,
save_model='gan_mnist_01.pt')
Epoch: 001/100 | Batch 000/469 | Gen/Dis Loss: 0.7355/0.6879 Epoch: 001/100 | Batch 100/469 | Gen/Dis Loss: 0.6067/0.4896 Epoch: 001/100 | Batch 200/469 | Gen/Dis Loss: 0.6378/0.5583 Epoch: 001/100 | Batch 300/469 | Gen/Dis Loss: 0.7000/0.5596 Epoch: 001/100 | Batch 400/469 | Gen/Dis Loss: 0.8475/0.4672 Time elapsed: 0.23 min Epoch: 002/100 | Batch 000/469 | Gen/Dis Loss: 1.1436/0.3605 Epoch: 002/100 | Batch 100/469 | Gen/Dis Loss: 1.1206/0.3907 Epoch: 002/100 | Batch 200/469 | Gen/Dis Loss: 0.9675/0.4388 Epoch: 002/100 | Batch 300/469 | Gen/Dis Loss: 1.0509/0.4042 Epoch: 002/100 | Batch 400/469 | Gen/Dis Loss: 1.0536/0.4318 Time elapsed: 0.47 min Epoch: 003/100 | Batch 000/469 | Gen/Dis Loss: 1.1733/0.4338 Epoch: 003/100 | Batch 100/469 | Gen/Dis Loss: 1.2683/0.4645 Epoch: 003/100 | Batch 200/469 | Gen/Dis Loss: 1.0995/0.4255 Epoch: 003/100 | Batch 300/469 | Gen/Dis Loss: 1.2307/0.4437 Epoch: 003/100 | Batch 400/469 | Gen/Dis Loss: 1.1075/0.4798 Time elapsed: 0.70 min Epoch: 004/100 | Batch 000/469 | Gen/Dis Loss: 1.1377/0.4820 Epoch: 004/100 | Batch 100/469 | Gen/Dis Loss: 1.0835/0.5069 Epoch: 004/100 | Batch 200/469 | Gen/Dis Loss: 1.0522/0.4908 Epoch: 004/100 | Batch 300/469 | Gen/Dis Loss: 1.1704/0.4265 Epoch: 004/100 | Batch 400/469 | Gen/Dis Loss: 0.9800/0.5127 Time elapsed: 0.93 min Epoch: 005/100 | Batch 000/469 | Gen/Dis Loss: 0.9714/0.5016 Epoch: 005/100 | Batch 100/469 | Gen/Dis Loss: 0.9575/0.4732 Epoch: 005/100 | Batch 200/469 | Gen/Dis Loss: 1.0579/0.4612 Epoch: 005/100 | Batch 300/469 | Gen/Dis Loss: 1.1686/0.4447 Epoch: 005/100 | Batch 400/469 | Gen/Dis Loss: 1.1380/0.4301 Time elapsed: 1.16 min Epoch: 006/100 | Batch 000/469 | Gen/Dis Loss: 1.2292/0.4764 Epoch: 006/100 | Batch 100/469 | Gen/Dis Loss: 1.0278/0.4894 Epoch: 006/100 | Batch 200/469 | Gen/Dis Loss: 1.0942/0.4973 Epoch: 006/100 | Batch 300/469 | Gen/Dis Loss: 1.1840/0.4859 Epoch: 006/100 | Batch 400/469 | Gen/Dis Loss: 1.2190/0.5030 Time elapsed: 1.39 min Epoch: 007/100 | Batch 000/469 | Gen/Dis Loss: 1.2766/0.4985 Epoch: 007/100 | Batch 100/469 | Gen/Dis Loss: 1.1184/0.5221 Epoch: 007/100 | Batch 200/469 | Gen/Dis Loss: 1.1652/0.5255 Epoch: 007/100 | Batch 300/469 | Gen/Dis Loss: 1.2107/0.4680 Epoch: 007/100 | Batch 400/469 | Gen/Dis Loss: 1.2182/0.5232 Time elapsed: 1.63 min Epoch: 008/100 | Batch 000/469 | Gen/Dis Loss: 1.3336/0.4664 Epoch: 008/100 | Batch 100/469 | Gen/Dis Loss: 1.1367/0.5037 Epoch: 008/100 | Batch 200/469 | Gen/Dis Loss: 1.1292/0.5338 Epoch: 008/100 | Batch 300/469 | Gen/Dis Loss: 1.1049/0.4896 Epoch: 008/100 | Batch 400/469 | Gen/Dis Loss: 1.0611/0.5163 Time elapsed: 1.86 min Epoch: 009/100 | Batch 000/469 | Gen/Dis Loss: 1.1633/0.4878 Epoch: 009/100 | Batch 100/469 | Gen/Dis Loss: 1.2725/0.5054 Epoch: 009/100 | Batch 200/469 | Gen/Dis Loss: 1.1826/0.4508 Epoch: 009/100 | Batch 300/469 | Gen/Dis Loss: 1.0915/0.4838 Epoch: 009/100 | Batch 400/469 | Gen/Dis Loss: 1.2205/0.5130 Time elapsed: 2.09 min Epoch: 010/100 | Batch 000/469 | Gen/Dis Loss: 1.3073/0.4650 Epoch: 010/100 | Batch 100/469 | Gen/Dis Loss: 1.1977/0.4958 Epoch: 010/100 | Batch 200/469 | Gen/Dis Loss: 1.1923/0.4377 Epoch: 010/100 | Batch 300/469 | Gen/Dis Loss: 1.2045/0.4730 Epoch: 010/100 | Batch 400/469 | Gen/Dis Loss: 1.0588/0.5158 Time elapsed: 2.32 min Epoch: 011/100 | Batch 000/469 | Gen/Dis Loss: 1.3368/0.4819 Epoch: 011/100 | Batch 100/469 | Gen/Dis Loss: 1.1152/0.4934 Epoch: 011/100 | Batch 200/469 | Gen/Dis Loss: 1.0725/0.4831 Epoch: 011/100 | Batch 300/469 | Gen/Dis Loss: 1.1635/0.4795 Epoch: 011/100 | Batch 400/469 | Gen/Dis Loss: 1.2506/0.4640 Time elapsed: 2.55 min Epoch: 012/100 | Batch 000/469 | Gen/Dis Loss: 1.2281/0.4739 Epoch: 012/100 | Batch 100/469 | Gen/Dis Loss: 1.3156/0.4862 Epoch: 012/100 | Batch 200/469 | Gen/Dis Loss: 1.3247/0.4248 Epoch: 012/100 | Batch 300/469 | Gen/Dis Loss: 1.4396/0.5003 Epoch: 012/100 | Batch 400/469 | Gen/Dis Loss: 1.2656/0.4706 Time elapsed: 2.78 min Epoch: 013/100 | Batch 000/469 | Gen/Dis Loss: 1.2603/0.4840 Epoch: 013/100 | Batch 100/469 | Gen/Dis Loss: 1.2252/0.5270 Epoch: 013/100 | Batch 200/469 | Gen/Dis Loss: 1.1446/0.5387 Epoch: 013/100 | Batch 300/469 | Gen/Dis Loss: 1.1546/0.5033 Epoch: 013/100 | Batch 400/469 | Gen/Dis Loss: 1.2345/0.4800 Time elapsed: 3.01 min Epoch: 014/100 | Batch 000/469 | Gen/Dis Loss: 1.3758/0.4459 Epoch: 014/100 | Batch 100/469 | Gen/Dis Loss: 1.1995/0.4963 Epoch: 014/100 | Batch 200/469 | Gen/Dis Loss: 1.2737/0.5024 Epoch: 014/100 | Batch 300/469 | Gen/Dis Loss: 1.1668/0.4516 Epoch: 014/100 | Batch 400/469 | Gen/Dis Loss: 1.2191/0.4770 Time elapsed: 3.24 min Epoch: 015/100 | Batch 000/469 | Gen/Dis Loss: 1.2211/0.4455 Epoch: 015/100 | Batch 100/469 | Gen/Dis Loss: 1.3507/0.4877 Epoch: 015/100 | Batch 200/469 | Gen/Dis Loss: 1.1449/0.4812 Epoch: 015/100 | Batch 300/469 | Gen/Dis Loss: 1.1333/0.5477 Epoch: 015/100 | Batch 400/469 | Gen/Dis Loss: 1.1763/0.5111 Time elapsed: 3.48 min Epoch: 016/100 | Batch 000/469 | Gen/Dis Loss: 1.1809/0.4506 Epoch: 016/100 | Batch 100/469 | Gen/Dis Loss: 1.2381/0.4619 Epoch: 016/100 | Batch 200/469 | Gen/Dis Loss: 1.2328/0.4403 Epoch: 016/100 | Batch 300/469 | Gen/Dis Loss: 1.1121/0.5147 Epoch: 016/100 | Batch 400/469 | Gen/Dis Loss: 1.1423/0.5263 Time elapsed: 3.71 min Epoch: 017/100 | Batch 000/469 | Gen/Dis Loss: 1.1016/0.5150 Epoch: 017/100 | Batch 100/469 | Gen/Dis Loss: 1.2201/0.4998 Epoch: 017/100 | Batch 200/469 | Gen/Dis Loss: 1.1252/0.5268 Epoch: 017/100 | Batch 300/469 | Gen/Dis Loss: 1.1194/0.5668 Epoch: 017/100 | Batch 400/469 | Gen/Dis Loss: 1.1838/0.5327 Time elapsed: 3.94 min Epoch: 018/100 | Batch 000/469 | Gen/Dis Loss: 1.1706/0.4410 Epoch: 018/100 | Batch 100/469 | Gen/Dis Loss: 1.1749/0.4471 Epoch: 018/100 | Batch 200/469 | Gen/Dis Loss: 1.3143/0.4925 Epoch: 018/100 | Batch 300/469 | Gen/Dis Loss: 1.1518/0.5051 Epoch: 018/100 | Batch 400/469 | Gen/Dis Loss: 1.2506/0.4659 Time elapsed: 4.17 min Epoch: 019/100 | Batch 000/469 | Gen/Dis Loss: 1.1549/0.5086 Epoch: 019/100 | Batch 100/469 | Gen/Dis Loss: 1.2093/0.4827 Epoch: 019/100 | Batch 200/469 | Gen/Dis Loss: 1.2362/0.5199 Epoch: 019/100 | Batch 300/469 | Gen/Dis Loss: 1.2840/0.5295 Epoch: 019/100 | Batch 400/469 | Gen/Dis Loss: 1.1323/0.5220 Time elapsed: 4.40 min Epoch: 020/100 | Batch 000/469 | Gen/Dis Loss: 1.1123/0.5472 Epoch: 020/100 | Batch 100/469 | Gen/Dis Loss: 1.2830/0.5148 Epoch: 020/100 | Batch 200/469 | Gen/Dis Loss: 1.2916/0.5287 Epoch: 020/100 | Batch 300/469 | Gen/Dis Loss: 1.2996/0.5394 Epoch: 020/100 | Batch 400/469 | Gen/Dis Loss: 1.3102/0.4776 Time elapsed: 4.63 min Epoch: 021/100 | Batch 000/469 | Gen/Dis Loss: 1.2194/0.5303 Epoch: 021/100 | Batch 100/469 | Gen/Dis Loss: 1.1999/0.5174 Epoch: 021/100 | Batch 200/469 | Gen/Dis Loss: 1.2098/0.5500 Epoch: 021/100 | Batch 300/469 | Gen/Dis Loss: 1.1786/0.5096 Epoch: 021/100 | Batch 400/469 | Gen/Dis Loss: 1.1543/0.4544 Time elapsed: 4.86 min Epoch: 022/100 | Batch 000/469 | Gen/Dis Loss: 1.1834/0.5162 Epoch: 022/100 | Batch 100/469 | Gen/Dis Loss: 1.1969/0.4811 Epoch: 022/100 | Batch 200/469 | Gen/Dis Loss: 1.1323/0.5422 Epoch: 022/100 | Batch 300/469 | Gen/Dis Loss: 1.2512/0.4660 Epoch: 022/100 | Batch 400/469 | Gen/Dis Loss: 1.3210/0.4529 Time elapsed: 5.10 min Epoch: 023/100 | Batch 000/469 | Gen/Dis Loss: 1.1028/0.4839 Epoch: 023/100 | Batch 100/469 | Gen/Dis Loss: 1.2314/0.5069 Epoch: 023/100 | Batch 200/469 | Gen/Dis Loss: 1.2184/0.5125 Epoch: 023/100 | Batch 300/469 | Gen/Dis Loss: 1.2151/0.5125 Epoch: 023/100 | Batch 400/469 | Gen/Dis Loss: 1.1981/0.5202 Time elapsed: 5.33 min Epoch: 024/100 | Batch 000/469 | Gen/Dis Loss: 1.1975/0.5002 Epoch: 024/100 | Batch 100/469 | Gen/Dis Loss: 1.2932/0.4984 Epoch: 024/100 | Batch 200/469 | Gen/Dis Loss: 1.2596/0.4561 Epoch: 024/100 | Batch 300/469 | Gen/Dis Loss: 1.2102/0.5552 Epoch: 024/100 | Batch 400/469 | Gen/Dis Loss: 1.1555/0.4421 Time elapsed: 5.56 min Epoch: 025/100 | Batch 000/469 | Gen/Dis Loss: 1.2794/0.4958 Epoch: 025/100 | Batch 100/469 | Gen/Dis Loss: 1.3418/0.5158 Epoch: 025/100 | Batch 200/469 | Gen/Dis Loss: 1.3504/0.5202 Epoch: 025/100 | Batch 300/469 | Gen/Dis Loss: 1.2122/0.4662 Epoch: 025/100 | Batch 400/469 | Gen/Dis Loss: 1.1407/0.4702 Time elapsed: 5.79 min Epoch: 026/100 | Batch 000/469 | Gen/Dis Loss: 1.1766/0.5793 Epoch: 026/100 | Batch 100/469 | Gen/Dis Loss: 1.2324/0.4766 Epoch: 026/100 | Batch 200/469 | Gen/Dis Loss: 1.1584/0.4884 Epoch: 026/100 | Batch 300/469 | Gen/Dis Loss: 1.2136/0.5086 Epoch: 026/100 | Batch 400/469 | Gen/Dis Loss: 1.3037/0.4645 Time elapsed: 6.03 min Epoch: 027/100 | Batch 000/469 | Gen/Dis Loss: 1.3808/0.5019 Epoch: 027/100 | Batch 100/469 | Gen/Dis Loss: 1.2618/0.4962 Epoch: 027/100 | Batch 200/469 | Gen/Dis Loss: 1.1613/0.5465 Epoch: 027/100 | Batch 300/469 | Gen/Dis Loss: 1.2188/0.5705 Epoch: 027/100 | Batch 400/469 | Gen/Dis Loss: 1.1953/0.5013 Time elapsed: 6.26 min Epoch: 028/100 | Batch 000/469 | Gen/Dis Loss: 1.4053/0.4976 Epoch: 028/100 | Batch 100/469 | Gen/Dis Loss: 1.2382/0.5318 Epoch: 028/100 | Batch 200/469 | Gen/Dis Loss: 1.2750/0.5008 Epoch: 028/100 | Batch 300/469 | Gen/Dis Loss: 1.3649/0.4970 Epoch: 028/100 | Batch 400/469 | Gen/Dis Loss: 1.3200/0.5351 Time elapsed: 6.49 min Epoch: 029/100 | Batch 000/469 | Gen/Dis Loss: 1.2668/0.5328 Epoch: 029/100 | Batch 100/469 | Gen/Dis Loss: 1.2282/0.5047 Epoch: 029/100 | Batch 200/469 | Gen/Dis Loss: 1.1764/0.5289 Epoch: 029/100 | Batch 300/469 | Gen/Dis Loss: 1.3960/0.4815 Epoch: 029/100 | Batch 400/469 | Gen/Dis Loss: 1.2229/0.5301 Time elapsed: 6.72 min Epoch: 030/100 | Batch 000/469 | Gen/Dis Loss: 1.2570/0.4847 Epoch: 030/100 | Batch 100/469 | Gen/Dis Loss: 1.2824/0.4855 Epoch: 030/100 | Batch 200/469 | Gen/Dis Loss: 1.2041/0.5231 Epoch: 030/100 | Batch 300/469 | Gen/Dis Loss: 1.2905/0.4325 Epoch: 030/100 | Batch 400/469 | Gen/Dis Loss: 1.3595/0.5315 Time elapsed: 6.95 min Epoch: 031/100 | Batch 000/469 | Gen/Dis Loss: 1.1413/0.5007 Epoch: 031/100 | Batch 100/469 | Gen/Dis Loss: 1.2041/0.5116 Epoch: 031/100 | Batch 200/469 | Gen/Dis Loss: 1.3168/0.5060 Epoch: 031/100 | Batch 300/469 | Gen/Dis Loss: 1.3416/0.5485 Epoch: 031/100 | Batch 400/469 | Gen/Dis Loss: 1.1950/0.4730 Time elapsed: 7.18 min Epoch: 032/100 | Batch 000/469 | Gen/Dis Loss: 1.3637/0.4489 Epoch: 032/100 | Batch 100/469 | Gen/Dis Loss: 1.2222/0.4833 Epoch: 032/100 | Batch 200/469 | Gen/Dis Loss: 1.2742/0.5145 Epoch: 032/100 | Batch 300/469 | Gen/Dis Loss: 1.3606/0.4641 Epoch: 032/100 | Batch 400/469 | Gen/Dis Loss: 1.3454/0.4948 Time elapsed: 7.42 min Epoch: 033/100 | Batch 000/469 | Gen/Dis Loss: 1.2411/0.5121 Epoch: 033/100 | Batch 100/469 | Gen/Dis Loss: 1.1105/0.4824 Epoch: 033/100 | Batch 200/469 | Gen/Dis Loss: 1.3261/0.4524 Epoch: 033/100 | Batch 300/469 | Gen/Dis Loss: 1.2737/0.5041 Epoch: 033/100 | Batch 400/469 | Gen/Dis Loss: 1.3230/0.4690 Time elapsed: 7.65 min Epoch: 034/100 | Batch 000/469 | Gen/Dis Loss: 1.3487/0.5075 Epoch: 034/100 | Batch 100/469 | Gen/Dis Loss: 1.2951/0.4842 Epoch: 034/100 | Batch 200/469 | Gen/Dis Loss: 1.3281/0.5739 Epoch: 034/100 | Batch 300/469 | Gen/Dis Loss: 1.3933/0.4948 Epoch: 034/100 | Batch 400/469 | Gen/Dis Loss: 1.3153/0.5323 Time elapsed: 7.88 min Epoch: 035/100 | Batch 000/469 | Gen/Dis Loss: 1.3909/0.5075 Epoch: 035/100 | Batch 100/469 | Gen/Dis Loss: 1.1537/0.4723 Epoch: 035/100 | Batch 200/469 | Gen/Dis Loss: 1.0894/0.5195 Epoch: 035/100 | Batch 300/469 | Gen/Dis Loss: 1.1652/0.5181 Epoch: 035/100 | Batch 400/469 | Gen/Dis Loss: 1.2872/0.5170 Time elapsed: 8.11 min Epoch: 036/100 | Batch 000/469 | Gen/Dis Loss: 1.3230/0.5091 Epoch: 036/100 | Batch 100/469 | Gen/Dis Loss: 1.2687/0.5240 Epoch: 036/100 | Batch 200/469 | Gen/Dis Loss: 1.3851/0.4663 Epoch: 036/100 | Batch 300/469 | Gen/Dis Loss: 1.3673/0.5318 Epoch: 036/100 | Batch 400/469 | Gen/Dis Loss: 1.2782/0.4884 Time elapsed: 8.35 min Epoch: 037/100 | Batch 000/469 | Gen/Dis Loss: 1.1635/0.5094 Epoch: 037/100 | Batch 100/469 | Gen/Dis Loss: 1.3361/0.4479 Epoch: 037/100 | Batch 200/469 | Gen/Dis Loss: 1.2739/0.5039 Epoch: 037/100 | Batch 300/469 | Gen/Dis Loss: 1.2903/0.5384 Epoch: 037/100 | Batch 400/469 | Gen/Dis Loss: 1.3008/0.5013 Time elapsed: 8.58 min Epoch: 038/100 | Batch 000/469 | Gen/Dis Loss: 1.2608/0.5855 Epoch: 038/100 | Batch 100/469 | Gen/Dis Loss: 1.3566/0.5272 Epoch: 038/100 | Batch 200/469 | Gen/Dis Loss: 1.2115/0.5123 Epoch: 038/100 | Batch 300/469 | Gen/Dis Loss: 1.1272/0.5269 Epoch: 038/100 | Batch 400/469 | Gen/Dis Loss: 1.2852/0.4914 Time elapsed: 8.81 min Epoch: 039/100 | Batch 000/469 | Gen/Dis Loss: 1.3243/0.5198 Epoch: 039/100 | Batch 100/469 | Gen/Dis Loss: 1.3270/0.4973 Epoch: 039/100 | Batch 200/469 | Gen/Dis Loss: 1.2422/0.5509 Epoch: 039/100 | Batch 300/469 | Gen/Dis Loss: 1.2410/0.5192 Epoch: 039/100 | Batch 400/469 | Gen/Dis Loss: 1.2176/0.4836 Time elapsed: 9.05 min Epoch: 040/100 | Batch 000/469 | Gen/Dis Loss: 1.3546/0.5489 Epoch: 040/100 | Batch 100/469 | Gen/Dis Loss: 1.3729/0.4688 Epoch: 040/100 | Batch 200/469 | Gen/Dis Loss: 1.3049/0.4637 Epoch: 040/100 | Batch 300/469 | Gen/Dis Loss: 1.2197/0.4940 Epoch: 040/100 | Batch 400/469 | Gen/Dis Loss: 1.1518/0.4833 Time elapsed: 9.28 min Epoch: 041/100 | Batch 000/469 | Gen/Dis Loss: 1.2134/0.4965 Epoch: 041/100 | Batch 100/469 | Gen/Dis Loss: 1.3180/0.4758 Epoch: 041/100 | Batch 200/469 | Gen/Dis Loss: 1.2267/0.5181 Epoch: 041/100 | Batch 300/469 | Gen/Dis Loss: 1.2374/0.4797 Epoch: 041/100 | Batch 400/469 | Gen/Dis Loss: 1.1896/0.5646 Time elapsed: 9.51 min Epoch: 042/100 | Batch 000/469 | Gen/Dis Loss: 1.2940/0.4397 Epoch: 042/100 | Batch 100/469 | Gen/Dis Loss: 1.2588/0.5096 Epoch: 042/100 | Batch 200/469 | Gen/Dis Loss: 1.2748/0.5528 Epoch: 042/100 | Batch 300/469 | Gen/Dis Loss: 1.1732/0.4942 Epoch: 042/100 | Batch 400/469 | Gen/Dis Loss: 1.2499/0.5055 Time elapsed: 9.74 min Epoch: 043/100 | Batch 000/469 | Gen/Dis Loss: 1.2047/0.5075 Epoch: 043/100 | Batch 100/469 | Gen/Dis Loss: 1.1906/0.5206 Epoch: 043/100 | Batch 200/469 | Gen/Dis Loss: 1.2044/0.5096 Epoch: 043/100 | Batch 300/469 | Gen/Dis Loss: 1.3010/0.5042 Epoch: 043/100 | Batch 400/469 | Gen/Dis Loss: 1.3337/0.4468 Time elapsed: 9.97 min Epoch: 044/100 | Batch 000/469 | Gen/Dis Loss: 1.3811/0.4592 Epoch: 044/100 | Batch 100/469 | Gen/Dis Loss: 1.2804/0.4763 Epoch: 044/100 | Batch 200/469 | Gen/Dis Loss: 1.3722/0.5091 Epoch: 044/100 | Batch 300/469 | Gen/Dis Loss: 1.3012/0.5148 Epoch: 044/100 | Batch 400/469 | Gen/Dis Loss: 1.3769/0.5170 Time elapsed: 10.20 min Epoch: 045/100 | Batch 000/469 | Gen/Dis Loss: 1.3376/0.4616 Epoch: 045/100 | Batch 100/469 | Gen/Dis Loss: 1.1667/0.4989 Epoch: 045/100 | Batch 200/469 | Gen/Dis Loss: 1.2873/0.5263 Epoch: 045/100 | Batch 300/469 | Gen/Dis Loss: 1.1911/0.4473 Epoch: 045/100 | Batch 400/469 | Gen/Dis Loss: 1.4780/0.4589 Time elapsed: 10.43 min Epoch: 046/100 | Batch 000/469 | Gen/Dis Loss: 1.2548/0.5027 Epoch: 046/100 | Batch 100/469 | Gen/Dis Loss: 1.2864/0.5469 Epoch: 046/100 | Batch 200/469 | Gen/Dis Loss: 1.2354/0.4491 Epoch: 046/100 | Batch 300/469 | Gen/Dis Loss: 1.3359/0.5129 Epoch: 046/100 | Batch 400/469 | Gen/Dis Loss: 1.3617/0.5174 Time elapsed: 10.66 min Epoch: 047/100 | Batch 000/469 | Gen/Dis Loss: 1.1888/0.4951 Epoch: 047/100 | Batch 100/469 | Gen/Dis Loss: 1.2811/0.4858 Epoch: 047/100 | Batch 200/469 | Gen/Dis Loss: 1.3327/0.4659 Epoch: 047/100 | Batch 300/469 | Gen/Dis Loss: 1.2742/0.4898 Epoch: 047/100 | Batch 400/469 | Gen/Dis Loss: 1.3504/0.5023 Time elapsed: 10.89 min Epoch: 048/100 | Batch 000/469 | Gen/Dis Loss: 1.1226/0.4909 Epoch: 048/100 | Batch 100/469 | Gen/Dis Loss: 1.2705/0.5176 Epoch: 048/100 | Batch 200/469 | Gen/Dis Loss: 1.3930/0.4894 Epoch: 048/100 | Batch 300/469 | Gen/Dis Loss: 1.3143/0.4680 Epoch: 048/100 | Batch 400/469 | Gen/Dis Loss: 1.1516/0.4903 Time elapsed: 11.12 min Epoch: 049/100 | Batch 000/469 | Gen/Dis Loss: 1.2613/0.5137 Epoch: 049/100 | Batch 100/469 | Gen/Dis Loss: 1.3322/0.5077 Epoch: 049/100 | Batch 200/469 | Gen/Dis Loss: 1.1810/0.4713 Epoch: 049/100 | Batch 300/469 | Gen/Dis Loss: 1.2066/0.5698 Epoch: 049/100 | Batch 400/469 | Gen/Dis Loss: 1.1870/0.4988 Time elapsed: 11.35 min Epoch: 050/100 | Batch 000/469 | Gen/Dis Loss: 1.3751/0.5271 Epoch: 050/100 | Batch 100/469 | Gen/Dis Loss: 1.4992/0.5061 Epoch: 050/100 | Batch 200/469 | Gen/Dis Loss: 1.3314/0.4657 Epoch: 050/100 | Batch 300/469 | Gen/Dis Loss: 1.2641/0.5022 Epoch: 050/100 | Batch 400/469 | Gen/Dis Loss: 1.2465/0.4379 Time elapsed: 11.59 min Epoch: 051/100 | Batch 000/469 | Gen/Dis Loss: 1.1853/0.5294 Epoch: 051/100 | Batch 100/469 | Gen/Dis Loss: 1.2357/0.4698 Epoch: 051/100 | Batch 200/469 | Gen/Dis Loss: 1.3312/0.5481 Epoch: 051/100 | Batch 300/469 | Gen/Dis Loss: 1.3598/0.5437 Epoch: 051/100 | Batch 400/469 | Gen/Dis Loss: 1.4012/0.5141 Time elapsed: 11.88 min Epoch: 052/100 | Batch 000/469 | Gen/Dis Loss: 1.2530/0.4925 Epoch: 052/100 | Batch 100/469 | Gen/Dis Loss: 1.1706/0.4878 Epoch: 052/100 | Batch 200/469 | Gen/Dis Loss: 1.3100/0.5175 Epoch: 052/100 | Batch 300/469 | Gen/Dis Loss: 1.4218/0.4490 Epoch: 052/100 | Batch 400/469 | Gen/Dis Loss: 1.2051/0.5306 Time elapsed: 12.21 min Epoch: 053/100 | Batch 000/469 | Gen/Dis Loss: 1.3135/0.5000 Epoch: 053/100 | Batch 100/469 | Gen/Dis Loss: 1.2051/0.4864 Epoch: 053/100 | Batch 200/469 | Gen/Dis Loss: 1.2124/0.5189 Epoch: 053/100 | Batch 300/469 | Gen/Dis Loss: 1.3514/0.5090 Epoch: 053/100 | Batch 400/469 | Gen/Dis Loss: 1.4911/0.4668 Time elapsed: 12.54 min Epoch: 054/100 | Batch 000/469 | Gen/Dis Loss: 1.4241/0.5108 Epoch: 054/100 | Batch 100/469 | Gen/Dis Loss: 1.2442/0.5404 Epoch: 054/100 | Batch 200/469 | Gen/Dis Loss: 1.2400/0.5187 Epoch: 054/100 | Batch 300/469 | Gen/Dis Loss: 1.2611/0.5011 Epoch: 054/100 | Batch 400/469 | Gen/Dis Loss: 1.3397/0.5217 Time elapsed: 12.86 min Epoch: 055/100 | Batch 000/469 | Gen/Dis Loss: 1.3313/0.5211 Epoch: 055/100 | Batch 100/469 | Gen/Dis Loss: 1.2946/0.5245 Epoch: 055/100 | Batch 200/469 | Gen/Dis Loss: 1.4106/0.5096 Epoch: 055/100 | Batch 300/469 | Gen/Dis Loss: 1.3898/0.4416 Epoch: 055/100 | Batch 400/469 | Gen/Dis Loss: 1.3159/0.4832 Time elapsed: 13.19 min Epoch: 056/100 | Batch 000/469 | Gen/Dis Loss: 1.3982/0.4895 Epoch: 056/100 | Batch 100/469 | Gen/Dis Loss: 1.3039/0.4702 Epoch: 056/100 | Batch 200/469 | Gen/Dis Loss: 1.3594/0.4694 Epoch: 056/100 | Batch 300/469 | Gen/Dis Loss: 1.3065/0.5187 Epoch: 056/100 | Batch 400/469 | Gen/Dis Loss: 1.3245/0.4961 Time elapsed: 13.51 min Epoch: 057/100 | Batch 000/469 | Gen/Dis Loss: 1.2686/0.4887 Epoch: 057/100 | Batch 100/469 | Gen/Dis Loss: 1.3127/0.4635 Epoch: 057/100 | Batch 200/469 | Gen/Dis Loss: 1.3448/0.5364 Epoch: 057/100 | Batch 300/469 | Gen/Dis Loss: 1.3369/0.5178 Epoch: 057/100 | Batch 400/469 | Gen/Dis Loss: 1.1271/0.5816 Time elapsed: 13.84 min Epoch: 058/100 | Batch 000/469 | Gen/Dis Loss: 1.2526/0.4905 Epoch: 058/100 | Batch 100/469 | Gen/Dis Loss: 1.2055/0.5201 Epoch: 058/100 | Batch 200/469 | Gen/Dis Loss: 1.2516/0.5420 Epoch: 058/100 | Batch 300/469 | Gen/Dis Loss: 1.2825/0.5267 Epoch: 058/100 | Batch 400/469 | Gen/Dis Loss: 1.2103/0.5309 Time elapsed: 14.17 min Epoch: 059/100 | Batch 000/469 | Gen/Dis Loss: 1.2569/0.5294 Epoch: 059/100 | Batch 100/469 | Gen/Dis Loss: 1.2625/0.5438 Epoch: 059/100 | Batch 200/469 | Gen/Dis Loss: 1.4602/0.5078 Epoch: 059/100 | Batch 300/469 | Gen/Dis Loss: 1.2598/0.4664 Epoch: 059/100 | Batch 400/469 | Gen/Dis Loss: 1.3997/0.4314 Time elapsed: 14.49 min Epoch: 060/100 | Batch 000/469 | Gen/Dis Loss: 1.1864/0.5009 Epoch: 060/100 | Batch 100/469 | Gen/Dis Loss: 1.2176/0.4854 Epoch: 060/100 | Batch 200/469 | Gen/Dis Loss: 1.3592/0.4989 Epoch: 060/100 | Batch 300/469 | Gen/Dis Loss: 1.2679/0.4451 Epoch: 060/100 | Batch 400/469 | Gen/Dis Loss: 1.3315/0.5384 Time elapsed: 14.81 min Epoch: 061/100 | Batch 000/469 | Gen/Dis Loss: 1.1185/0.4780 Epoch: 061/100 | Batch 100/469 | Gen/Dis Loss: 1.2732/0.5177 Epoch: 061/100 | Batch 200/469 | Gen/Dis Loss: 1.2583/0.5590 Epoch: 061/100 | Batch 300/469 | Gen/Dis Loss: 1.1778/0.5073 Epoch: 061/100 | Batch 400/469 | Gen/Dis Loss: 1.2091/0.4858 Time elapsed: 15.13 min Epoch: 062/100 | Batch 000/469 | Gen/Dis Loss: 1.2622/0.4790 Epoch: 062/100 | Batch 100/469 | Gen/Dis Loss: 1.4939/0.5167 Epoch: 062/100 | Batch 200/469 | Gen/Dis Loss: 1.3661/0.5506 Epoch: 062/100 | Batch 300/469 | Gen/Dis Loss: 1.2132/0.4584 Epoch: 062/100 | Batch 400/469 | Gen/Dis Loss: 1.2728/0.5316 Time elapsed: 15.46 min Epoch: 063/100 | Batch 000/469 | Gen/Dis Loss: 1.2646/0.5460 Epoch: 063/100 | Batch 100/469 | Gen/Dis Loss: 1.2869/0.4738 Epoch: 063/100 | Batch 200/469 | Gen/Dis Loss: 1.3372/0.4557 Epoch: 063/100 | Batch 300/469 | Gen/Dis Loss: 1.4111/0.5358 Epoch: 063/100 | Batch 400/469 | Gen/Dis Loss: 1.3129/0.5644 Time elapsed: 15.78 min Epoch: 064/100 | Batch 000/469 | Gen/Dis Loss: 1.3642/0.5615 Epoch: 064/100 | Batch 100/469 | Gen/Dis Loss: 1.3182/0.4975 Epoch: 064/100 | Batch 200/469 | Gen/Dis Loss: 1.3158/0.4874 Epoch: 064/100 | Batch 300/469 | Gen/Dis Loss: 1.1611/0.4807 Epoch: 064/100 | Batch 400/469 | Gen/Dis Loss: 1.2536/0.5096 Time elapsed: 16.11 min Epoch: 065/100 | Batch 000/469 | Gen/Dis Loss: 1.3793/0.5005 Epoch: 065/100 | Batch 100/469 | Gen/Dis Loss: 1.2805/0.5418 Epoch: 065/100 | Batch 200/469 | Gen/Dis Loss: 1.2332/0.5644 Epoch: 065/100 | Batch 300/469 | Gen/Dis Loss: 1.2914/0.5017 Epoch: 065/100 | Batch 400/469 | Gen/Dis Loss: 1.3947/0.5263 Time elapsed: 16.44 min Epoch: 066/100 | Batch 000/469 | Gen/Dis Loss: 1.2853/0.5004 Epoch: 066/100 | Batch 100/469 | Gen/Dis Loss: 1.2827/0.4386 Epoch: 066/100 | Batch 200/469 | Gen/Dis Loss: 1.2859/0.5060 Epoch: 066/100 | Batch 300/469 | Gen/Dis Loss: 1.3288/0.4953 Epoch: 066/100 | Batch 400/469 | Gen/Dis Loss: 1.2432/0.5340 Time elapsed: 16.77 min Epoch: 067/100 | Batch 000/469 | Gen/Dis Loss: 1.2460/0.6335 Epoch: 067/100 | Batch 100/469 | Gen/Dis Loss: 1.2699/0.5667 Epoch: 067/100 | Batch 200/469 | Gen/Dis Loss: 1.1847/0.5085 Epoch: 067/100 | Batch 300/469 | Gen/Dis Loss: 1.3401/0.5136 Epoch: 067/100 | Batch 400/469 | Gen/Dis Loss: 1.3391/0.4565 Time elapsed: 17.08 min Epoch: 068/100 | Batch 000/469 | Gen/Dis Loss: 1.1571/0.5233 Epoch: 068/100 | Batch 100/469 | Gen/Dis Loss: 1.2040/0.5420 Epoch: 068/100 | Batch 200/469 | Gen/Dis Loss: 1.2600/0.5211 Epoch: 068/100 | Batch 300/469 | Gen/Dis Loss: 1.2753/0.4962 Epoch: 068/100 | Batch 400/469 | Gen/Dis Loss: 1.1991/0.5167 Time elapsed: 17.41 min Epoch: 069/100 | Batch 000/469 | Gen/Dis Loss: 1.2312/0.5108 Epoch: 069/100 | Batch 100/469 | Gen/Dis Loss: 1.2168/0.5994 Epoch: 069/100 | Batch 200/469 | Gen/Dis Loss: 1.3803/0.5177 Epoch: 069/100 | Batch 300/469 | Gen/Dis Loss: 1.3110/0.4953 Epoch: 069/100 | Batch 400/469 | Gen/Dis Loss: 1.2780/0.5084 Time elapsed: 17.73 min Epoch: 070/100 | Batch 000/469 | Gen/Dis Loss: 1.2100/0.4946 Epoch: 070/100 | Batch 100/469 | Gen/Dis Loss: 1.3392/0.5279 Epoch: 070/100 | Batch 200/469 | Gen/Dis Loss: 1.1911/0.5199 Epoch: 070/100 | Batch 300/469 | Gen/Dis Loss: 1.4171/0.5190 Epoch: 070/100 | Batch 400/469 | Gen/Dis Loss: 1.3614/0.5512 Time elapsed: 18.06 min Epoch: 071/100 | Batch 000/469 | Gen/Dis Loss: 1.2725/0.4752 Epoch: 071/100 | Batch 100/469 | Gen/Dis Loss: 1.1792/0.5097 Epoch: 071/100 | Batch 200/469 | Gen/Dis Loss: 1.2444/0.4614 Epoch: 071/100 | Batch 300/469 | Gen/Dis Loss: 1.1639/0.5259 Epoch: 071/100 | Batch 400/469 | Gen/Dis Loss: 1.1719/0.5031 Time elapsed: 18.39 min Epoch: 072/100 | Batch 000/469 | Gen/Dis Loss: 1.1809/0.5243 Epoch: 072/100 | Batch 100/469 | Gen/Dis Loss: 1.2848/0.5739 Epoch: 072/100 | Batch 200/469 | Gen/Dis Loss: 1.2927/0.4546 Epoch: 072/100 | Batch 300/469 | Gen/Dis Loss: 1.3363/0.5266 Epoch: 072/100 | Batch 400/469 | Gen/Dis Loss: 1.3655/0.5274 Time elapsed: 18.71 min Epoch: 073/100 | Batch 000/469 | Gen/Dis Loss: 1.1731/0.5377 Epoch: 073/100 | Batch 100/469 | Gen/Dis Loss: 1.1340/0.5033 Epoch: 073/100 | Batch 200/469 | Gen/Dis Loss: 1.3345/0.5066 Epoch: 073/100 | Batch 300/469 | Gen/Dis Loss: 1.1329/0.5133 Epoch: 073/100 | Batch 400/469 | Gen/Dis Loss: 1.2582/0.4781 Time elapsed: 19.03 min Epoch: 074/100 | Batch 000/469 | Gen/Dis Loss: 1.1292/0.5385 Epoch: 074/100 | Batch 100/469 | Gen/Dis Loss: 1.2452/0.4908 Epoch: 074/100 | Batch 200/469 | Gen/Dis Loss: 1.2671/0.5167 Epoch: 074/100 | Batch 300/469 | Gen/Dis Loss: 1.4508/0.5162 Epoch: 074/100 | Batch 400/469 | Gen/Dis Loss: 1.3395/0.4992 Time elapsed: 19.35 min Epoch: 075/100 | Batch 000/469 | Gen/Dis Loss: 1.2459/0.4447 Epoch: 075/100 | Batch 100/469 | Gen/Dis Loss: 1.2694/0.4721 Epoch: 075/100 | Batch 200/469 | Gen/Dis Loss: 1.2842/0.5320 Epoch: 075/100 | Batch 300/469 | Gen/Dis Loss: 1.4476/0.4885 Epoch: 075/100 | Batch 400/469 | Gen/Dis Loss: 1.2902/0.4676 Time elapsed: 19.68 min Epoch: 076/100 | Batch 000/469 | Gen/Dis Loss: 1.3084/0.4599 Epoch: 076/100 | Batch 100/469 | Gen/Dis Loss: 1.1565/0.5502 Epoch: 076/100 | Batch 200/469 | Gen/Dis Loss: 1.3391/0.4682 Epoch: 076/100 | Batch 300/469 | Gen/Dis Loss: 1.0235/0.5023 Epoch: 076/100 | Batch 400/469 | Gen/Dis Loss: 1.2406/0.5010 Time elapsed: 20.00 min Epoch: 077/100 | Batch 000/469 | Gen/Dis Loss: 1.3828/0.5128 Epoch: 077/100 | Batch 100/469 | Gen/Dis Loss: 1.2485/0.4961 Epoch: 077/100 | Batch 200/469 | Gen/Dis Loss: 1.3008/0.5304 Epoch: 077/100 | Batch 300/469 | Gen/Dis Loss: 1.2499/0.5025 Epoch: 077/100 | Batch 400/469 | Gen/Dis Loss: 1.2413/0.4907 Time elapsed: 20.33 min Epoch: 078/100 | Batch 000/469 | Gen/Dis Loss: 1.2801/0.5405 Epoch: 078/100 | Batch 100/469 | Gen/Dis Loss: 1.2835/0.5355 Epoch: 078/100 | Batch 200/469 | Gen/Dis Loss: 1.2466/0.5482 Epoch: 078/100 | Batch 300/469 | Gen/Dis Loss: 1.3034/0.5241 Epoch: 078/100 | Batch 400/469 | Gen/Dis Loss: 1.4461/0.5346 Time elapsed: 20.65 min Epoch: 079/100 | Batch 000/469 | Gen/Dis Loss: 1.3506/0.5256 Epoch: 079/100 | Batch 100/469 | Gen/Dis Loss: 1.3628/0.5391 Epoch: 079/100 | Batch 200/469 | Gen/Dis Loss: 1.3438/0.4946 Epoch: 079/100 | Batch 300/469 | Gen/Dis Loss: 1.2939/0.4878 Epoch: 079/100 | Batch 400/469 | Gen/Dis Loss: 1.1324/0.4961 Time elapsed: 20.97 min Epoch: 080/100 | Batch 000/469 | Gen/Dis Loss: 1.3556/0.5187 Epoch: 080/100 | Batch 100/469 | Gen/Dis Loss: 1.2787/0.5427 Epoch: 080/100 | Batch 200/469 | Gen/Dis Loss: 1.4051/0.4953 Epoch: 080/100 | Batch 300/469 | Gen/Dis Loss: 1.2674/0.5144 Epoch: 080/100 | Batch 400/469 | Gen/Dis Loss: 1.5072/0.4680 Time elapsed: 21.30 min Epoch: 081/100 | Batch 000/469 | Gen/Dis Loss: 1.3277/0.4670 Epoch: 081/100 | Batch 100/469 | Gen/Dis Loss: 1.3721/0.5409 Epoch: 081/100 | Batch 200/469 | Gen/Dis Loss: 1.2339/0.4902 Epoch: 081/100 | Batch 300/469 | Gen/Dis Loss: 1.3726/0.5003 Epoch: 081/100 | Batch 400/469 | Gen/Dis Loss: 1.3107/0.4955 Time elapsed: 21.62 min Epoch: 082/100 | Batch 000/469 | Gen/Dis Loss: 1.1717/0.5582 Epoch: 082/100 | Batch 100/469 | Gen/Dis Loss: 1.2422/0.5176 Epoch: 082/100 | Batch 200/469 | Gen/Dis Loss: 1.2226/0.5696 Epoch: 082/100 | Batch 300/469 | Gen/Dis Loss: 1.3239/0.4925 Epoch: 082/100 | Batch 400/469 | Gen/Dis Loss: 1.2684/0.4972 Time elapsed: 21.95 min Epoch: 083/100 | Batch 000/469 | Gen/Dis Loss: 1.1978/0.5080 Epoch: 083/100 | Batch 100/469 | Gen/Dis Loss: 1.2952/0.5040 Epoch: 083/100 | Batch 200/469 | Gen/Dis Loss: 1.4224/0.4683 Epoch: 083/100 | Batch 300/469 | Gen/Dis Loss: 1.3683/0.4314 Epoch: 083/100 | Batch 400/469 | Gen/Dis Loss: 1.3437/0.5567 Time elapsed: 22.27 min Epoch: 084/100 | Batch 000/469 | Gen/Dis Loss: 1.2032/0.5427 Epoch: 084/100 | Batch 100/469 | Gen/Dis Loss: 1.2471/0.5223 Epoch: 084/100 | Batch 200/469 | Gen/Dis Loss: 1.2107/0.5076 Epoch: 084/100 | Batch 300/469 | Gen/Dis Loss: 1.4171/0.4383 Epoch: 084/100 | Batch 400/469 | Gen/Dis Loss: 1.2933/0.4774 Time elapsed: 22.59 min Epoch: 085/100 | Batch 000/469 | Gen/Dis Loss: 1.5152/0.4750 Epoch: 085/100 | Batch 100/469 | Gen/Dis Loss: 1.2565/0.4816 Epoch: 085/100 | Batch 200/469 | Gen/Dis Loss: 1.2990/0.4606 Epoch: 085/100 | Batch 300/469 | Gen/Dis Loss: 1.3683/0.4934 Epoch: 085/100 | Batch 400/469 | Gen/Dis Loss: 1.3803/0.5052 Time elapsed: 22.92 min Epoch: 086/100 | Batch 000/469 | Gen/Dis Loss: 1.4091/0.5043 Epoch: 086/100 | Batch 100/469 | Gen/Dis Loss: 1.3420/0.4607 Epoch: 086/100 | Batch 200/469 | Gen/Dis Loss: 1.3838/0.4209 Epoch: 086/100 | Batch 300/469 | Gen/Dis Loss: 1.1792/0.5315 Epoch: 086/100 | Batch 400/469 | Gen/Dis Loss: 1.2520/0.5286 Time elapsed: 23.24 min Epoch: 087/100 | Batch 000/469 | Gen/Dis Loss: 1.2632/0.4459 Epoch: 087/100 | Batch 100/469 | Gen/Dis Loss: 1.2698/0.5665 Epoch: 087/100 | Batch 200/469 | Gen/Dis Loss: 1.3926/0.4549 Epoch: 087/100 | Batch 300/469 | Gen/Dis Loss: 1.3490/0.5632 Epoch: 087/100 | Batch 400/469 | Gen/Dis Loss: 1.1922/0.4973 Time elapsed: 23.56 min Epoch: 088/100 | Batch 000/469 | Gen/Dis Loss: 1.2291/0.5035 Epoch: 088/100 | Batch 100/469 | Gen/Dis Loss: 1.3809/0.5646 Epoch: 088/100 | Batch 200/469 | Gen/Dis Loss: 1.4108/0.5087 Epoch: 088/100 | Batch 300/469 | Gen/Dis Loss: 1.3523/0.5374 Epoch: 088/100 | Batch 400/469 | Gen/Dis Loss: 1.3024/0.5359 Time elapsed: 23.88 min Epoch: 089/100 | Batch 000/469 | Gen/Dis Loss: 1.4040/0.4565 Epoch: 089/100 | Batch 100/469 | Gen/Dis Loss: 1.2572/0.5811 Epoch: 089/100 | Batch 200/469 | Gen/Dis Loss: 1.1892/0.5079 Epoch: 089/100 | Batch 300/469 | Gen/Dis Loss: 1.4169/0.4808 Epoch: 089/100 | Batch 400/469 | Gen/Dis Loss: 1.2695/0.5485 Time elapsed: 24.20 min Epoch: 090/100 | Batch 000/469 | Gen/Dis Loss: 1.1939/0.5636 Epoch: 090/100 | Batch 100/469 | Gen/Dis Loss: 1.2418/0.5080 Epoch: 090/100 | Batch 200/469 | Gen/Dis Loss: 1.2978/0.4930 Epoch: 090/100 | Batch 300/469 | Gen/Dis Loss: 1.4076/0.4651 Epoch: 090/100 | Batch 400/469 | Gen/Dis Loss: 1.3470/0.4839 Time elapsed: 24.53 min Epoch: 091/100 | Batch 000/469 | Gen/Dis Loss: 1.2448/0.4813 Epoch: 091/100 | Batch 100/469 | Gen/Dis Loss: 1.2136/0.5123 Epoch: 091/100 | Batch 200/469 | Gen/Dis Loss: 1.1742/0.4853 Epoch: 091/100 | Batch 300/469 | Gen/Dis Loss: 1.3553/0.5042 Epoch: 091/100 | Batch 400/469 | Gen/Dis Loss: 1.2718/0.4872 Time elapsed: 24.85 min Epoch: 092/100 | Batch 000/469 | Gen/Dis Loss: 1.4928/0.5239 Epoch: 092/100 | Batch 100/469 | Gen/Dis Loss: 1.3724/0.5073 Epoch: 092/100 | Batch 200/469 | Gen/Dis Loss: 1.2186/0.5206 Epoch: 092/100 | Batch 300/469 | Gen/Dis Loss: 1.2546/0.4636 Epoch: 092/100 | Batch 400/469 | Gen/Dis Loss: 1.2969/0.5680 Time elapsed: 25.18 min Epoch: 093/100 | Batch 000/469 | Gen/Dis Loss: 1.1947/0.4769 Epoch: 093/100 | Batch 100/469 | Gen/Dis Loss: 1.1053/0.4842 Epoch: 093/100 | Batch 200/469 | Gen/Dis Loss: 1.4295/0.4536 Epoch: 093/100 | Batch 300/469 | Gen/Dis Loss: 1.4487/0.4846 Epoch: 093/100 | Batch 400/469 | Gen/Dis Loss: 1.2559/0.5473 Time elapsed: 25.50 min Epoch: 094/100 | Batch 000/469 | Gen/Dis Loss: 1.1760/0.4830 Epoch: 094/100 | Batch 100/469 | Gen/Dis Loss: 1.3405/0.4686 Epoch: 094/100 | Batch 200/469 | Gen/Dis Loss: 1.3214/0.5080 Epoch: 094/100 | Batch 300/469 | Gen/Dis Loss: 1.2735/0.5313 Epoch: 094/100 | Batch 400/469 | Gen/Dis Loss: 1.2981/0.5362 Time elapsed: 25.82 min Epoch: 095/100 | Batch 000/469 | Gen/Dis Loss: 1.3279/0.5030 Epoch: 095/100 | Batch 100/469 | Gen/Dis Loss: 1.3594/0.5641 Epoch: 095/100 | Batch 200/469 | Gen/Dis Loss: 1.3092/0.5377 Epoch: 095/100 | Batch 300/469 | Gen/Dis Loss: 1.3624/0.5039 Epoch: 095/100 | Batch 400/469 | Gen/Dis Loss: 1.4367/0.4975 Time elapsed: 26.15 min Epoch: 096/100 | Batch 000/469 | Gen/Dis Loss: 1.3527/0.4847 Epoch: 096/100 | Batch 100/469 | Gen/Dis Loss: 1.3807/0.5194 Epoch: 096/100 | Batch 200/469 | Gen/Dis Loss: 1.3769/0.4557 Epoch: 096/100 | Batch 300/469 | Gen/Dis Loss: 1.3499/0.4864 Epoch: 096/100 | Batch 400/469 | Gen/Dis Loss: 1.3251/0.4549 Time elapsed: 26.47 min Epoch: 097/100 | Batch 000/469 | Gen/Dis Loss: 1.3067/0.5413 Epoch: 097/100 | Batch 100/469 | Gen/Dis Loss: 1.2102/0.4489 Epoch: 097/100 | Batch 200/469 | Gen/Dis Loss: 1.3621/0.5025 Epoch: 097/100 | Batch 300/469 | Gen/Dis Loss: 1.2858/0.5499 Epoch: 097/100 | Batch 400/469 | Gen/Dis Loss: 1.2108/0.4527 Time elapsed: 26.80 min Epoch: 098/100 | Batch 000/469 | Gen/Dis Loss: 1.2670/0.4625 Epoch: 098/100 | Batch 100/469 | Gen/Dis Loss: 1.4460/0.4530 Epoch: 098/100 | Batch 200/469 | Gen/Dis Loss: 1.3353/0.4954 Epoch: 098/100 | Batch 300/469 | Gen/Dis Loss: 1.3297/0.5100 Epoch: 098/100 | Batch 400/469 | Gen/Dis Loss: 1.1798/0.4941 Time elapsed: 27.12 min Epoch: 099/100 | Batch 000/469 | Gen/Dis Loss: 1.1744/0.5398 Epoch: 099/100 | Batch 100/469 | Gen/Dis Loss: 1.3103/0.5488 Epoch: 099/100 | Batch 200/469 | Gen/Dis Loss: 1.4325/0.4837 Epoch: 099/100 | Batch 300/469 | Gen/Dis Loss: 1.2929/0.5768 Epoch: 099/100 | Batch 400/469 | Gen/Dis Loss: 1.5476/0.4563 Time elapsed: 27.45 min Epoch: 100/100 | Batch 000/469 | Gen/Dis Loss: 1.2176/0.5683 Epoch: 100/100 | Batch 100/469 | Gen/Dis Loss: 1.2642/0.4635 Epoch: 100/100 | Batch 200/469 | Gen/Dis Loss: 1.2527/0.5125 Epoch: 100/100 | Batch 300/469 | Gen/Dis Loss: 1.2829/0.5023 Epoch: 100/100 | Batch 400/469 | Gen/Dis Loss: 1.4116/0.5279 Time elapsed: 27.77 min Total Training Time: 27.77 min
plot_multiple_training_losses(
losses_list=(log_dict['train_discriminator_loss_per_batch'],
log_dict['train_generator_loss_per_batch']),
num_epochs=NUM_EPOCHS,
custom_labels_list=(' -- Discriminator', ' -- Generator')
)
##########################
### VISUALIZATION
##########################
for i in range(0, NUM_EPOCHS, 5):
plt.figure(figsize=(8, 8))
plt.axis('off')
plt.title(f'Generated images at epoch {i}')
plt.imshow(np.transpose(log_dict['images_from_noise_per_epoch'][i], (1, 2, 0)))
plt.show()
plt.figure(figsize=(8, 8))
plt.axis('off')
plt.title(f'Generated images after last epoch')
plt.imshow(np.transpose(log_dict['images_from_noise_per_epoch'][-1], (1, 2, 0)))
plt.show()