Skip to content

Instantly share code, notes, and snippets.

@ypwhs
Created August 23, 2018 13:26
Show Gist options
  • Save ypwhs/21c6b8529634e18853edc4b866eaa45b to your computer and use it in GitHub Desktop.
Save ypwhs/21c6b8529634e18853edc4b866eaa45b to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"ExecuteTime": {
"end_time": "2018-08-11T14:33:13.201532Z",
"start_time": "2018-08-11T14:33:12.539885Z"
}
},
"outputs": [],
"source": [
"import os\n",
"os.environ['CUDA_VISIBLE_DEVICES'] = '0'\n",
"\n",
"import numpy as np\n",
"\n",
"import torchvision.transforms as transforms\n",
"from torchvision.utils import save_image\n",
"\n",
"from torch.utils.data import DataLoader\n",
"from torchvision import datasets\n",
"from torch.autograd import Variable\n",
"\n",
"import torch.nn as nn\n",
"import torch.nn.functional as F\n",
"import torch\n",
"\n",
"from IPython.display import display, Image\n",
"\n",
"device = torch.device(\"cuda\" if torch.cuda.is_available() else \"cpu\")"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"ExecuteTime": {
"end_time": "2018-08-11T14:33:13.209313Z",
"start_time": "2018-08-11T14:33:13.205121Z"
}
},
"outputs": [],
"source": [
"embedding_size = 64\n",
"batch_size = 64\n",
"epochs = 50\n",
"lr = 1e-4\n",
"betas = (0.5, 0.999)\n",
"img_shape = (1, 32, 32)\n",
"\n",
"sample_interval = 400"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"ExecuteTime": {
"end_time": "2018-08-11T14:33:18.548678Z",
"start_time": "2018-08-11T14:33:13.212250Z"
},
"code_folding": []
},
"outputs": [
{
"data": {
"text/plain": [
"Generator(\n",
" (fc): Linear(in_features=64, out_features=8192, bias=True)\n",
" (conv_blocks): Sequential(\n",
" (0): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n",
" (1): ConvTranspose2d(128, 128, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))\n",
" (2): BatchNorm2d(128, eps=0.8, momentum=0.1, affine=True, track_running_stats=True)\n",
" (3): LeakyReLU(negative_slope=0.2, inplace)\n",
" (4): ConvTranspose2d(128, 128, kernel_size=(4, 4), stride=(2, 2), padding=(1, 1))\n",
" (5): BatchNorm2d(128, eps=0.8, momentum=0.1, affine=True, track_running_stats=True)\n",
" (6): LeakyReLU(negative_slope=0.2, inplace)\n",
" (7): Conv2d(128, 1, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n",
" (8): Tanh()\n",
" )\n",
")"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"class Generator(nn.Module):\n",
" def __init__(self, embedding_size=64, init_size=8, output_channels=1):\n",
" super(Generator, self).__init__()\n",
" self.init_size = init_size\n",
" \n",
" def MyConv(in_channels, out_channels=None, normalize=True, LReLU=True):\n",
" if out_channels is None:\n",
" out_channels = in_channels\n",
" in_channels = self.last_out_channels\n",
" self.last_out_channels = out_channels\n",
" \n",
" layers = [nn.ConvTranspose2d(in_channels, out_channels, 4, stride=2, padding=1)]\n",
" if normalize:\n",
" layers.append(nn.BatchNorm2d(out_channels, 0.8))\n",
" if LReLU:\n",
" layers.append(nn.LeakyReLU(0.2, inplace=True))\n",
" return layers\n",
" \n",
" self.fc = nn.Linear(embedding_size, 128*self.init_size**2)\n",
" self.conv_blocks = nn.Sequential(\n",
" nn.BatchNorm2d(128),\n",
" *MyConv(128, 128),\n",
" *MyConv(128),\n",
" nn.Conv2d(128, output_channels, 3, stride=1, padding=1),\n",
" nn.Tanh()\n",
" )\n",
"\n",
" def forward(self, z):\n",
" x = self.fc(z)\n",
" x = x.view(x.shape[0], 128, self.init_size, self.init_size)\n",
" x = self.conv_blocks(x)\n",
" return x\n",
"\n",
"generator = Generator(embedding_size, init_size=img_shape[1] // 2**2).to(device)\n",
"generator"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"ExecuteTime": {
"end_time": "2018-08-11T14:33:18.574353Z",
"start_time": "2018-08-11T14:33:18.551882Z"
},
"code_folding": []
},
"outputs": [
{
"data": {
"text/plain": [
"Discriminator(\n",
" (model): Sequential(\n",
" (0): Conv2d(1, 16, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1))\n",
" (1): LeakyReLU(negative_slope=0.2, inplace)\n",
" (2): Dropout2d(p=0.25)\n",
" (3): Conv2d(16, 32, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1))\n",
" (4): BatchNorm2d(32, eps=0.8, momentum=0.1, affine=True, track_running_stats=True)\n",
" (5): LeakyReLU(negative_slope=0.2, inplace)\n",
" (6): Dropout2d(p=0.25)\n",
" (7): Conv2d(32, 64, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1))\n",
" (8): BatchNorm2d(64, eps=0.8, momentum=0.1, affine=True, track_running_stats=True)\n",
" (9): LeakyReLU(negative_slope=0.2, inplace)\n",
" (10): Dropout2d(p=0.25)\n",
" (11): Conv2d(64, 128, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1))\n",
" (12): BatchNorm2d(128, eps=0.8, momentum=0.1, affine=True, track_running_stats=True)\n",
" (13): LeakyReLU(negative_slope=0.2, inplace)\n",
" (14): Dropout2d(p=0.25)\n",
" )\n",
" (fc): Sequential(\n",
" (0): Linear(in_features=512, out_features=1, bias=True)\n",
" (1): Sigmoid()\n",
" )\n",
")"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"class Discriminator(nn.Module):\n",
" def __init__(self, img_shape=(1, 32, 32)):\n",
" super(Discriminator, self).__init__()\n",
" self.img_shape = img_shape\n",
" \n",
" def MyConv(in_channels, out_channels=None, normalize=True, LReLU=True):\n",
" if out_channels is None:\n",
" out_channels = in_channels\n",
" in_channels = self.last_out_channels\n",
" self.last_out_channels = out_channels\n",
" \n",
" layers = [nn.Conv2d(in_channels, out_channels, 3, stride=2, padding=1)]\n",
" if normalize:\n",
" layers.append(nn.BatchNorm2d(out_channels, 0.8))\n",
" if LReLU:\n",
" layers.append(nn.LeakyReLU(0.2, inplace=True))\n",
" layers.append(nn.Dropout2d(0.25))\n",
" return layers\n",
"\n",
" self.model = nn.Sequential(\n",
" *MyConv(img_shape[0], 16, normalize=False),\n",
" *MyConv(32), \n",
" *MyConv(64), \n",
" *MyConv(128), \n",
" )\n",
" self.fc = nn.Sequential(nn.Linear(128 * (img_shape[1] // 2**4)**2, 1), nn.Sigmoid())\n",
"\n",
" def forward(self, img):\n",
" x = self.model(img)\n",
" x = x.view(x.shape[0], -1)\n",
" x = self.fc(x)\n",
" return x\n",
"\n",
"discriminator = Discriminator(img_shape).to(device)\n",
"discriminator"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"ExecuteTime": {
"end_time": "2018-08-11T14:33:18.623384Z",
"start_time": "2018-08-11T14:33:18.577056Z"
}
},
"outputs": [],
"source": [
"os.makedirs('data/mnist', exist_ok=True)\n",
"os.makedirs('images/dcgan', exist_ok=True)\n",
"dataloader = torch.utils.data.DataLoader(\n",
" datasets.MNIST('data/mnist', train=True, download=True,\n",
" transform=transforms.Compose([\n",
" transforms.Resize(img_shape[1]), \n",
" transforms.ToTensor(), \n",
" transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))\n",
" ])),\n",
" batch_size=batch_size, shuffle=True)"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"ExecuteTime": {
"end_time": "2018-08-11T14:33:18.629834Z",
"start_time": "2018-08-11T14:33:18.625763Z"
}
},
"outputs": [],
"source": [
"optimizer_G = torch.optim.Adam(generator.parameters(), lr=2*lr, betas=betas)\n",
"optimizer_D = torch.optim.Adam(discriminator.parameters(), lr=lr, betas=betas)"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"ExecuteTime": {
"end_time": "2018-08-11T14:52:59.177044Z",
"start_time": "2018-08-11T14:33:18.632175Z"
},
"code_folding": [],
"scrolled": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[Epoch 1/50] [Batch 0/938] [D loss: 0.693501] [G loss: 0.705742]\n",
"[Epoch 1/50] [Batch 400/938] [D loss: 0.693249] [G loss: 0.695430]\n",
"[Epoch 1/50] [Batch 800/938] [D loss: 0.693221] [G loss: 0.694504]\n",
"[Epoch 2/50] [Batch 0/938] [D loss: 0.694398] [G loss: 0.691184]\n",
"[Epoch 2/50] [Batch 400/938] [D loss: 0.693385] [G loss: 0.692826]\n",
"[Epoch 2/50] [Batch 800/938] [D loss: 0.691643] [G loss: 0.691571]\n",
"[Epoch 3/50] [Batch 0/938] [D loss: 0.690792] [G loss: 0.687253]\n",
"[Epoch 3/50] [Batch 400/938] [D loss: 0.691822] [G loss: 0.694339]\n",
"[Epoch 3/50] [Batch 800/938] [D loss: 0.687217] [G loss: 0.699656]\n",
"[Epoch 4/50] [Batch 0/938] [D loss: 0.689665] [G loss: 0.703153]\n",
"[Epoch 4/50] [Batch 400/938] [D loss: 0.687768] [G loss: 0.711431]\n",
"[Epoch 4/50] [Batch 800/938] [D loss: 0.692005] [G loss: 0.711385]\n",
"[Epoch 5/50] [Batch 0/938] [D loss: 0.691582] [G loss: 0.708032]\n",
"[Epoch 5/50] [Batch 400/938] [D loss: 0.696437] [G loss: 0.699786]\n",
"[Epoch 5/50] [Batch 800/938] [D loss: 0.686476] [G loss: 0.680900]\n",
"[Epoch 6/50] [Batch 0/938] [D loss: 0.691589] [G loss: 0.708557]\n",
"[Epoch 6/50] [Batch 400/938] [D loss: 0.675689] [G loss: 0.704479]\n",
"[Epoch 6/50] [Batch 800/938] [D loss: 0.695714] [G loss: 0.714987]\n",
"[Epoch 7/50] [Batch 0/938] [D loss: 0.674875] [G loss: 0.702928]\n",
"[Epoch 7/50] [Batch 400/938] [D loss: 0.694789] [G loss: 0.693376]\n",
"[Epoch 7/50] [Batch 800/938] [D loss: 0.673331] [G loss: 0.692780]\n",
"[Epoch 8/50] [Batch 0/938] [D loss: 0.704876] [G loss: 0.697402]\n",
"[Epoch 8/50] [Batch 400/938] [D loss: 0.693555] [G loss: 0.731652]\n",
"[Epoch 8/50] [Batch 800/938] [D loss: 0.665898] [G loss: 0.703450]\n",
"[Epoch 9/50] [Batch 0/938] [D loss: 0.678060] [G loss: 0.716317]\n",
"[Epoch 9/50] [Batch 400/938] [D loss: 0.683084] [G loss: 0.716854]\n",
"[Epoch 9/50] [Batch 800/938] [D loss: 0.669977] [G loss: 0.687385]\n",
"[Epoch 10/50] [Batch 0/938] [D loss: 0.672016] [G loss: 0.700918]\n",
"[Epoch 10/50] [Batch 400/938] [D loss: 0.699501] [G loss: 0.710842]\n",
"[Epoch 10/50] [Batch 800/938] [D loss: 0.690519] [G loss: 0.738246]\n",
"[Epoch 11/50] [Batch 0/938] [D loss: 0.675725] [G loss: 0.708492]\n",
"[Epoch 11/50] [Batch 400/938] [D loss: 0.670161] [G loss: 0.720372]\n",
"[Epoch 11/50] [Batch 800/938] [D loss: 0.696551] [G loss: 0.730064]\n",
"[Epoch 12/50] [Batch 0/938] [D loss: 0.703740] [G loss: 0.675977]\n",
"[Epoch 12/50] [Batch 400/938] [D loss: 0.697377] [G loss: 0.726202]\n",
"[Epoch 12/50] [Batch 800/938] [D loss: 0.662002] [G loss: 0.722272]\n",
"[Epoch 13/50] [Batch 0/938] [D loss: 0.659876] [G loss: 0.729767]\n",
"[Epoch 13/50] [Batch 400/938] [D loss: 0.693835] [G loss: 0.734368]\n",
"[Epoch 13/50] [Batch 800/938] [D loss: 0.680037] [G loss: 0.730347]\n",
"[Epoch 14/50] [Batch 0/938] [D loss: 0.695708] [G loss: 0.689924]\n",
"[Epoch 14/50] [Batch 400/938] [D loss: 0.695655] [G loss: 0.740303]\n",
"[Epoch 14/50] [Batch 800/938] [D loss: 0.694723] [G loss: 0.742764]\n",
"[Epoch 15/50] [Batch 0/938] [D loss: 0.688644] [G loss: 0.766937]\n",
"[Epoch 15/50] [Batch 400/938] [D loss: 0.652709] [G loss: 0.686547]\n",
"[Epoch 15/50] [Batch 800/938] [D loss: 0.664960] [G loss: 0.754901]\n",
"[Epoch 16/50] [Batch 0/938] [D loss: 0.642238] [G loss: 0.717982]\n",
"[Epoch 16/50] [Batch 400/938] [D loss: 0.654497] [G loss: 0.757615]\n",
"[Epoch 16/50] [Batch 800/938] [D loss: 0.682528] [G loss: 0.732671]\n",
"[Epoch 17/50] [Batch 0/938] [D loss: 0.658258] [G loss: 0.725612]\n",
"[Epoch 17/50] [Batch 400/938] [D loss: 0.653239] [G loss: 0.775476]\n",
"[Epoch 17/50] [Batch 800/938] [D loss: 0.669166] [G loss: 0.679456]\n",
"[Epoch 18/50] [Batch 0/938] [D loss: 0.677500] [G loss: 0.677279]\n",
"[Epoch 18/50] [Batch 400/938] [D loss: 0.652733] [G loss: 0.708490]\n",
"[Epoch 18/50] [Batch 800/938] [D loss: 0.658652] [G loss: 0.801073]\n",
"[Epoch 19/50] [Batch 0/938] [D loss: 0.682649] [G loss: 0.705129]\n",
"[Epoch 19/50] [Batch 400/938] [D loss: 0.657171] [G loss: 0.671366]\n",
"[Epoch 19/50] [Batch 800/938] [D loss: 0.637325] [G loss: 0.775798]\n",
"[Epoch 20/50] [Batch 0/938] [D loss: 0.681210] [G loss: 0.812871]\n",
"[Epoch 20/50] [Batch 400/938] [D loss: 0.680127] [G loss: 0.737511]\n",
"[Epoch 20/50] [Batch 800/938] [D loss: 0.656742] [G loss: 0.714166]\n",
"[Epoch 21/50] [Batch 0/938] [D loss: 0.634298] [G loss: 0.701623]\n",
"[Epoch 21/50] [Batch 400/938] [D loss: 0.611616] [G loss: 0.729995]\n",
"[Epoch 21/50] [Batch 800/938] [D loss: 0.742216] [G loss: 0.736480]\n",
"[Epoch 22/50] [Batch 0/938] [D loss: 0.711072] [G loss: 0.804105]\n",
"[Epoch 22/50] [Batch 400/938] [D loss: 0.668243] [G loss: 0.840608]\n",
"[Epoch 22/50] [Batch 800/938] [D loss: 0.662213] [G loss: 0.750268]\n",
"[Epoch 23/50] [Batch 0/938] [D loss: 0.680066] [G loss: 0.764068]\n",
"[Epoch 23/50] [Batch 400/938] [D loss: 0.587212] [G loss: 0.682915]\n",
"[Epoch 23/50] [Batch 800/938] [D loss: 0.568002] [G loss: 0.800775]\n",
"[Epoch 24/50] [Batch 0/938] [D loss: 0.612183] [G loss: 0.757285]\n",
"[Epoch 24/50] [Batch 400/938] [D loss: 0.716103] [G loss: 0.997225]\n",
"[Epoch 24/50] [Batch 800/938] [D loss: 0.682304] [G loss: 0.922594]\n",
"[Epoch 25/50] [Batch 0/938] [D loss: 0.651270] [G loss: 0.845339]\n",
"[Epoch 25/50] [Batch 400/938] [D loss: 0.640512] [G loss: 0.798956]\n",
"[Epoch 25/50] [Batch 800/938] [D loss: 0.648753] [G loss: 0.787766]\n",
"[Epoch 26/50] [Batch 0/938] [D loss: 0.655388] [G loss: 0.729671]\n",
"[Epoch 26/50] [Batch 400/938] [D loss: 0.584262] [G loss: 0.814991]\n",
"[Epoch 26/50] [Batch 800/938] [D loss: 0.639056] [G loss: 1.183951]\n",
"[Epoch 27/50] [Batch 0/938] [D loss: 0.658384] [G loss: 0.710877]\n",
"[Epoch 27/50] [Batch 400/938] [D loss: 0.638380] [G loss: 0.850815]\n",
"[Epoch 27/50] [Batch 800/938] [D loss: 0.643774] [G loss: 0.709677]\n",
"[Epoch 28/50] [Batch 0/938] [D loss: 0.444433] [G loss: 0.778738]\n",
"[Epoch 28/50] [Batch 400/938] [D loss: 0.674040] [G loss: 0.805986]\n",
"[Epoch 28/50] [Batch 800/938] [D loss: 0.588464] [G loss: 0.718962]\n",
"[Epoch 29/50] [Batch 0/938] [D loss: 0.683267] [G loss: 0.848386]\n",
"[Epoch 29/50] [Batch 400/938] [D loss: 0.633147] [G loss: 0.982091]\n",
"[Epoch 29/50] [Batch 800/938] [D loss: 0.480929] [G loss: 0.860399]\n",
"[Epoch 30/50] [Batch 0/938] [D loss: 0.649705] [G loss: 0.785053]\n",
"[Epoch 30/50] [Batch 400/938] [D loss: 0.820979] [G loss: 0.633873]\n",
"[Epoch 30/50] [Batch 800/938] [D loss: 0.629292] [G loss: 1.091774]\n",
"[Epoch 31/50] [Batch 0/938] [D loss: 0.455475] [G loss: 0.962843]\n",
"[Epoch 31/50] [Batch 400/938] [D loss: 0.523343] [G loss: 1.205569]\n",
"[Epoch 31/50] [Batch 800/938] [D loss: 0.532070] [G loss: 0.838986]\n",
"[Epoch 32/50] [Batch 0/938] [D loss: 0.529945] [G loss: 0.872932]\n",
"[Epoch 32/50] [Batch 400/938] [D loss: 0.766041] [G loss: 0.668829]\n",
"[Epoch 32/50] [Batch 800/938] [D loss: 0.544407] [G loss: 0.984935]\n",
"[Epoch 33/50] [Batch 0/938] [D loss: 0.555298] [G loss: 0.663448]\n",
"[Epoch 33/50] [Batch 400/938] [D loss: 0.624861] [G loss: 1.172285]\n",
"[Epoch 33/50] [Batch 800/938] [D loss: 0.554636] [G loss: 2.042601]\n",
"[Epoch 34/50] [Batch 0/938] [D loss: 0.479703] [G loss: 1.007069]\n",
"[Epoch 34/50] [Batch 400/938] [D loss: 0.668678] [G loss: 1.301736]\n",
"[Epoch 34/50] [Batch 800/938] [D loss: 0.391043] [G loss: 1.184206]\n",
"[Epoch 35/50] [Batch 0/938] [D loss: 0.517995] [G loss: 0.885293]\n",
"[Epoch 35/50] [Batch 400/938] [D loss: 0.642359] [G loss: 1.615585]\n",
"[Epoch 35/50] [Batch 800/938] [D loss: 0.439873] [G loss: 1.277044]\n",
"[Epoch 36/50] [Batch 0/938] [D loss: 0.610028] [G loss: 1.407412]\n",
"[Epoch 36/50] [Batch 400/938] [D loss: 0.416141] [G loss: 1.429103]\n",
"[Epoch 36/50] [Batch 800/938] [D loss: 0.436147] [G loss: 1.799817]\n",
"[Epoch 37/50] [Batch 0/938] [D loss: 0.516993] [G loss: 0.667794]\n",
"[Epoch 37/50] [Batch 400/938] [D loss: 0.442210] [G loss: 0.863690]\n",
"[Epoch 37/50] [Batch 800/938] [D loss: 0.534965] [G loss: 0.694601]\n",
"[Epoch 38/50] [Batch 0/938] [D loss: 0.848341] [G loss: 0.639739]\n",
"[Epoch 38/50] [Batch 400/938] [D loss: 0.601148] [G loss: 2.016331]\n",
"[Epoch 38/50] [Batch 800/938] [D loss: 0.377483] [G loss: 1.700665]\n",
"[Epoch 39/50] [Batch 0/938] [D loss: 0.396608] [G loss: 1.612738]\n",
"[Epoch 39/50] [Batch 400/938] [D loss: 0.460309] [G loss: 0.631488]\n",
"[Epoch 39/50] [Batch 800/938] [D loss: 0.660054] [G loss: 1.474640]\n",
"[Epoch 40/50] [Batch 0/938] [D loss: 0.363412] [G loss: 0.525467]\n",
"[Epoch 40/50] [Batch 400/938] [D loss: 0.326250] [G loss: 2.129563]\n",
"[Epoch 40/50] [Batch 800/938] [D loss: 1.098925] [G loss: 2.104513]\n",
"[Epoch 41/50] [Batch 0/938] [D loss: 0.324570] [G loss: 0.672664]\n",
"[Epoch 41/50] [Batch 400/938] [D loss: 0.450448] [G loss: 1.065018]\n",
"[Epoch 41/50] [Batch 800/938] [D loss: 0.494826] [G loss: 0.694834]\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"[Epoch 42/50] [Batch 0/938] [D loss: 0.677791] [G loss: 0.542624]\n",
"[Epoch 42/50] [Batch 400/938] [D loss: 0.852971] [G loss: 1.336787]\n",
"[Epoch 42/50] [Batch 800/938] [D loss: 0.489918] [G loss: 2.076704]\n",
"[Epoch 43/50] [Batch 0/938] [D loss: 0.454752] [G loss: 0.819360]\n",
"[Epoch 43/50] [Batch 400/938] [D loss: 0.158855] [G loss: 1.711767]\n",
"[Epoch 43/50] [Batch 800/938] [D loss: 0.337123] [G loss: 0.729393]\n",
"[Epoch 44/50] [Batch 0/938] [D loss: 0.442158] [G loss: 2.031929]\n",
"[Epoch 44/50] [Batch 400/938] [D loss: 0.424679] [G loss: 3.053000]\n",
"[Epoch 44/50] [Batch 800/938] [D loss: 0.513836] [G loss: 1.074657]\n",
"[Epoch 45/50] [Batch 0/938] [D loss: 0.302088] [G loss: 0.783441]\n",
"[Epoch 45/50] [Batch 400/938] [D loss: 0.527578] [G loss: 0.922820]\n",
"[Epoch 45/50] [Batch 800/938] [D loss: 0.298743] [G loss: 2.225714]\n",
"[Epoch 46/50] [Batch 0/938] [D loss: 0.487754] [G loss: 1.578599]\n",
"[Epoch 46/50] [Batch 400/938] [D loss: 0.180067] [G loss: 1.881462]\n",
"[Epoch 46/50] [Batch 800/938] [D loss: 0.547464] [G loss: 1.112481]\n",
"[Epoch 47/50] [Batch 0/938] [D loss: 0.148545] [G loss: 4.179328]\n",
"[Epoch 47/50] [Batch 400/938] [D loss: 0.469786] [G loss: 0.897605]\n",
"[Epoch 47/50] [Batch 800/938] [D loss: 0.413956] [G loss: 0.955056]\n",
"[Epoch 48/50] [Batch 0/938] [D loss: 0.226106] [G loss: 1.265743]\n",
"[Epoch 48/50] [Batch 400/938] [D loss: 0.329657] [G loss: 1.226957]\n",
"[Epoch 48/50] [Batch 800/938] [D loss: 0.502199] [G loss: 2.655920]\n",
"[Epoch 49/50] [Batch 0/938] [D loss: 0.317148] [G loss: 0.889808]\n",
"[Epoch 49/50] [Batch 400/938] [D loss: 0.194013] [G loss: 1.080032]\n",
"[Epoch 49/50] [Batch 800/938] [D loss: 0.606068] [G loss: 1.229897]\n",
"[Epoch 50/50] [Batch 0/938] [D loss: 0.541747] [G loss: 1.017105]\n",
"[Epoch 50/50] [Batch 400/938] [D loss: 0.530499] [G loss: 0.811426]\n",
"[Epoch 50/50] [Batch 800/938] [D loss: 0.391963] [G loss: 2.432164]\n"
]
}
],
"source": [
"glosses = []\n",
"dlosses = []\n",
"\n",
"for epoch in range(epochs):\n",
" for batch, (imgs, _) in enumerate(dataloader):\n",
" imgs = imgs.to(device)\n",
" n = imgs.shape[0]\n",
" \n",
" # 训练生成器,让生成器能骗过判别器\n",
" optimizer_G.zero_grad()\n",
" z = torch.randn((n, embedding_size)).to(device)\n",
" gen_imgs = generator(z)\n",
" \n",
" g_loss = F.binary_cross_entropy(discriminator(gen_imgs), torch.ones((n,1)).to(device))\n",
" g_loss.backward()\n",
" optimizer_G.step()\n",
" \n",
" # 训练判别器,努力分辨真实图像和生成器生成的图像\n",
" optimizer_D.zero_grad()\n",
" gen_imgs = gen_imgs.detach()\n",
" \n",
" real_loss = F.binary_cross_entropy(discriminator(imgs), torch.ones((n,1)).to(device))\n",
" fake_loss = F.binary_cross_entropy(discriminator(gen_imgs), torch.zeros((n,1)).to(device))\n",
" d_loss = (real_loss + fake_loss) / 2\n",
" \n",
" d_loss.backward()\n",
" optimizer_D.step()\n",
" \n",
" glosses.append(g_loss.item())\n",
" dlosses.append(d_loss.item())\n",
" \n",
" if batch % sample_interval == 0:\n",
" batches_done = epoch * len(dataloader) + batch\n",
" save_image(gen_imgs.data, 'images/dcgan/%06d.png' % batches_done, nrow=8, normalize=True)\n",
" print (\"[Epoch %d/%d] [Batch %d/%d] [D loss: %f] [G loss: %f]\" % \n",
" (epoch + 1, epochs, batch, len(dataloader), d_loss.item(), g_loss.item()))"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"ExecuteTime": {
"end_time": "2018-08-11T14:54:24.853069Z",
"start_time": "2018-08-11T14:54:24.841597Z"
}
},
"outputs": [
{
"data": {
"image/png": "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/f39zs8xJ70CRzOcMwiCoCgaEhKyadOmlJSUM2fOHDx4cDaBCDqd/sgjj2zdupXFYiUnJ7PZbCqVSji7dDpde3u7l5cXATTjuqAompycfOTIESDoxXH89u3bf//73y9fvgzIb5mZmcHBwUCSzGAwFixYoNFoBgcHvby8NmzYcO7cOc92BC6Xy2azrVYrwH1s3br1xRdfrKys7O/vn71hg6Loli1bOBzO8ePHGxoaHN8ak8kMCwsDnZPH46lUqlm2NaVgGJafn79z504mk9nQ0HD48GGPqc0mCoPB+PWvf93X1wf44kajUSqVNjU1Xb9+fevWrS7SkToK+BnXrFlz+fLl6urqgoKC06dPL1++fLq609DQ0I8//hiogsxm87Fjx+Li4lysl54sAQEB+/btg3R6IBLS6/Vqtbqrq6umpmbDhg2e3RZEIBDU1taOjY0ZjUYigR8aAlSuqqqqffv2eTZoFy5cgFQjQLT66quvli9fHhgYuGjRotdee62goADy6okwrtlsrqmp2b17N4fD8axuPCAg4JFHHvnkk09iYmKoVCrchEgZmb3weLz+/n6FQrFly5YJNszKlSuHhoZUKpVMJnv99denI9OdpWzZsqWnp8dsNo+MjLz00ktzWfksFAqffvppAP555513/vjHP/7973+vrKwE3qiNGze6brSBsFisvLy8xsZGnU5369atnTt3QhBjyh8vWLDg0KFD7e3tTU1Nw8PDxcXF69ev9xgMFsOwlStXFhYWajSa0tJSoVAIcR4vL68nn3yytrZ2aGhIIBB4dnMEQeLj47///ntA/dLr9f39/VeuXHnkkUdefPHF5uZmlUp148aNJ554wl2ydQRB6HT6yy+/DOjJsDCAbgAouwEPHr4FCKXBwcErV64AnroHzSEIQiaTX3jhhbq6Oo1GI5PJjh079uabb3p7e4eEhMCZ5sE9J0h2djYEfy5evLh69Wo+n8/n80NDQ7/++uuRkRGz2WyxWACCuKura+XKlXNb0C8UCgsKCiwWi1wuf/bZZ4ECcUZxda6bTKabN2/W1NR0dXUB0yCDwUhKSnr00UeDgoK2b9/e2toKnmIXb8hgMOLi4gIDA+12+7lz565duwYpZ5N/yWazt23btnjx4vLy8qKiIq1We+/ePeDYcLGtCeLn57d8+fLIyMiOjo7169cDJSqO4yqV6vz585mZ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\n",
"text/plain": [
"<IPython.core.display.Image object>"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"Image('images/dcgan/%06d.png' % batches_done)"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"ExecuteTime": {
"end_time": "2018-08-11T14:53:00.074532Z",
"start_time": "2018-08-11T14:52:59.179235Z"
}
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.legend.Legend at 0x7f6191d7b710>"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAsoAAAGtCAYAAAAPj1I/AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJzs3Xd8VFX6x/HvmZIEEFARC4sS0bWCoCLqWnbXtq66u666uiKu6xa7supPRcWCYq+roogNRWxrQSWIgoB0kN4JEEIIARIC6ZlMMnN/f6Qnk0zJtEw+79eLl8m95977TAzkyZnnPMdYliUAAAAAjdliHQAAAAAQj0iUAQAAAB9IlAEAAAAfSJQBAAAAH0iUAQAAAB9IlAEAAAAfSJQBAAAAH0iUAQAAAB9IlAEAAAAfHLEOoKEDDjjASk1NjXUYAAAASGBLlizZbVlWT3/j4ipRTk1N1eLFi2MdBgAAABKYMWZrIOMovQAAAAB8IFEGAAAAfCBRBgAAAHyIqxplXyorK5WdnS2XyxXrUGImJSVFvXv3ltPpjHUoAAAAHUbcJ8rZ2dnq2rWrUlNTZYyJdThRZ1mW8vPzlZ2drcMPPzzW4QAAAHQYcV964XK51KNHjw6ZJEuSMUY9evTo0DPqAAAAsRD3ibKkDpsk1+rorx8AACAW2kWiDAAAAEQbiXIAdu3apSFDhqhv3746+eSTdfrpp+urr75qNi4zM1P9+vWLQYQAAAAINxJlPyzL0qWXXqqzzz5bGRkZWrJkiT755BNlZ2fHOjQAAABEEImyH9OnT1dSUpJuuummumN9+vTR7bff3up1LpdL119/vfr3768TTzxRM2bMkCStWbNGgwcP1sCBA3XCCSdo48aNKi0t1cUXX6wBAwaoX79++vTTTyP6mgAAAOBf3LeHa2jkt2u0NqcorPc8rlc3PfKH41s8v2bNGp100klB33f06NEyxmjVqlVav369LrjgAqWnp2vMmDEaNmyYrrnmGrndbnk8Hk2ePFm9evVSWlqaJKmwsDDk1wMAAIDwYEY5SLfeeqsGDBigU045pdVxc+bM0dChQyVJxxxzjPr06aP09HSdfvrpevLJJ/XMM89o69at6tSpk/r376+pU6fqvvvu0+zZs9W9e/dovBQAAAC0ol3NKLc28xspxx9/vL744ou6z0ePHq3du3dr0KBBId1vyJAhOvXUU5WWlqaLLrpIb775ps455xwtXbpUkydP1ogRI3Tuuefq4YcfDtdLAAAAQAiYUfbjnHPOkcvl0htvvFF3rKyszO91Z511liZMmCBJSk9PV1ZWlo4++mhlZGSob9++uuOOO/SnP/1JK1euVE5Ojjp37qyhQ4fqnnvu0dKlSyP2egAAAOJBkatSlmXFOoxWkSj7YYzRxIkT9dNPP+nwww/X4MGDdd111+mZZ55p9bpbbrlFXq9X/fv311VXXaVx48YpOTlZn332mfr166eBAwdq9erV+tvf/qZVq1bVLfAbOXKkRowYEaVXBwAAEH2b80p0wqM/6ONF22IdSqtMPGXygwYNshYvXtzo2Lp163TsscfGKKL4wdcBAAAkih/W7NQN45fovGMP0tvXhVbO2hbGmCWWZfl9MDPKAAAAgA8kygAAAIAPJMoAAACADyTKAAAAgA8kygAAAAng0W/W6LfPz4x1GAmlXW04AgAAAN/GzcuMdQgJhxnlANjtdg0cOFDHH3+8BgwYoBdeeEFer7fZuMzMTPXr1y8GEQIAACDcmFEOQKdOnbR8+XJJUm5uroYMGaKioiKNHDkyxpEBAAAgUphRDtKBBx6osWPH6rXXXmt120WXy6Xrr79e/fv314knnqgZM2ZIktasWVO3C98JJ5ygjRs3qrS0VBdffLEGDBigfv366dNPP43WywEAAEAL2teM8nfDpZ2rwnvPg/tLv386qEv69u0rj8ej3NxcHXTQQT7HjB49WsYYrVq1SuvXr9cFF1yg9PR0jRkzRsOGDdM111wjt9stj8ejyZMnq1evXkpLS5MkFRYWtvllAQAAoG2YUY6QOXPmaOjQoZKkY445Rn369FF6erpOP/10Pfnkk3rmmWe0detWderUSf3799fUqVN13333afbs2erevXuMowcAAED7mlEOcuY3UjIyMmS323XggQcGfe2QIUN06qmnKi0tTRdddJHefPNNnXPOOVq6dKkmT56sESNG6Nxzz9XDDz8cgcgBAAAQqPaVKMeBvLw83XTTTbrttttkjGlx3FlnnaUJEybonHPOUXp6urKysnT00UcrIyNDffv21R133KGsrCytXLlSxxxzjPbff38NHTpU++67r95+++0oviIAAAD4QqIcgPLycg0cOFCVlZVyOBy69tprddddd7V6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\n",
"text/plain": [
"<Figure size 864x504 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import matplotlib.pyplot as plt\n",
"\n",
"%matplotlib inline\n",
"\n",
"plt.figure(figsize=(12, 7))\n",
"plt.plot(glosses)\n",
"plt.plot(dlosses)\n",
"plt.ylabel('loss')\n",
"plt.xlabel('batch')\n",
"plt.legend(['G loss', 'D loss'])"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"ExecuteTime": {
"end_time": "2018-08-11T14:53:00.396314Z",
"start_time": "2018-08-11T14:53:00.076205Z"
}
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.legend.Legend at 0x7f6191c9bf98>"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 864x504 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"def moving_average(data_set, periods=3):\n",
" weights = np.ones(periods) / periods\n",
" return np.convolve(data_set, weights, mode='valid')\n",
"\n",
"window_size = 1000\n",
"g2 = moving_average(glosses, window_size)\n",
"d2 = moving_average(dlosses, window_size)\n",
"\n",
"plt.figure(figsize=(12, 7))\n",
"plt.plot(g2)\n",
"plt.plot(d2)\n",
"plt.ylabel('loss')\n",
"plt.xlabel('batch')\n",
"plt.legend(['G loss', 'D loss'])"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.5"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment