{"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"language_info":{"name":"python","version":"3.7.10","mimetype":"text/x-python","codemirror_mode":{"name":"ipython","version":3},"pygments_lexer":"ipython3","nbconvert_exporter":"python","file_extension":".py"},"kaggle":{"accelerator":"gpu","dataSources":[{"sourceId":21755,"databundleVersionId":1475600,"sourceType":"competition"},{"sourceId":1388667,"sourceType":"datasetVersion","datasetId":810652},{"sourceId":1567181,"sourceType":"datasetVersion","datasetId":925857},{"sourceId":3258442,"sourceType":"datasetVersion","datasetId":1974124},{"sourceId":3967115,"sourceType":"datasetVersion","datasetId":2354464},{"sourceId":7129414,"sourceType":"datasetVersion","datasetId":3145478},{"sourceId":6993599,"sourceType":"datasetVersion","datasetId":4019732}],"dockerImageVersionId":30121,"isInternetEnabled":true,"language":"python","sourceType":"notebook","isGpuEnabled":true}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"markdown","source":"# ","metadata":{}},{"cell_type":"markdown","source":"# Cycle GAN\n\n* This notebook demonstrates unpaired image to image translation using conditional GAN's, as described in Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks, also known as CycleGAN. \n* The paper proposes a method that can capture the characteristics of one image domain and figure out how these characteristics could be translated into another image domain, all in the absence of any paired training examples.\n* Paired Vs Unpaired\n\n![image.png](attachment:8bc11d93-96d2-44ad-aad2-bcb45dcd0a09.png)\n\n* Cycle GAN concept\n\n![Cycle-GAN](https://miro.medium.com/max/1838/0*S5gn5i6UhfyoRr9S.png)","metadata":{"execution":{"iopub.status.busy":"2021-08-16T13:44:55.51138Z","iopub.execute_input":"2021-08-16T13:44:55.511731Z","iopub.status.idle":"2021-08-16T13:44:56.261058Z","shell.execute_reply.started":"2021-08-16T13:44:55.511703Z","shell.execute_reply":"2021-08-16T13:44:56.259547Z"}},"attachments":{"8bc11d93-96d2-44ad-aad2-bcb45dcd0a09.png":{"image/png":"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"}}},{"cell_type":"markdown","source":"# Imports","metadata":{}},{"cell_type":"code","source":"import os\nimport torch\nimport torch.nn as nn\nimport numpy as np\nimport cv2\nimport matplotlib.pyplot as plt\nfrom torch.utils.data import Dataset, DataLoader \n","metadata":{"execution":{"iopub.status.busy":"2023-12-05T12:24:19.713653Z","iopub.execute_input":"2023-12-05T12:24:19.714199Z","iopub.status.idle":"2023-12-05T12:24:21.234551Z","shell.execute_reply.started":"2023-12-05T12:24:19.714074Z","shell.execute_reply":"2023-12-05T12:24:21.233574Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# Define Generator","metadata":{"execution":{"iopub.status.busy":"2021-08-16T13:46:38.779785Z","iopub.execute_input":"2021-08-16T13:46:38.780264Z","iopub.status.idle":"2021-08-16T13:46:38.784886Z","shell.execute_reply.started":"2021-08-16T13:46:38.780222Z","shell.execute_reply":"2021-08-16T13:46:38.784065Z"}}},{"cell_type":"markdown","source":"**Residual Block class**","metadata":{}},{"cell_type":"code","source":"class ResidualBlock(nn.Module):\n    def __init__(self, in_channels):\n        super(ResidualBlock, self).__init__()\n        self.block = nn.Sequential(\n            nn.ReflectionPad2d(1), # padding, keep the image size constant after next conv2d\n            nn.Conv2d(in_channels, in_channels, 3),\n            nn.InstanceNorm2d(in_channels),\n            nn.ReLU(inplace=True),\n            nn.ReflectionPad2d(1),\n            nn.Conv2d(in_channels, in_channels, 3),\n            nn.InstanceNorm2d(in_channels)\n        )\n    \n    def forward(self, x):\n        return x + self.block(x)","metadata":{"execution":{"iopub.status.busy":"2023-12-05T12:24:21.236003Z","iopub.execute_input":"2023-12-05T12:24:21.236299Z","iopub.status.idle":"2023-12-05T12:24:21.242924Z","shell.execute_reply.started":"2023-12-05T12:24:21.236271Z","shell.execute_reply":"2023-12-05T12:24:21.242036Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**Generator Class**","metadata":{}},{"cell_type":"code","source":"class GeneratorResNet(nn.Module):\n    def __init__(self, in_channels, num_residual_blocks=9):\n        super(GeneratorResNet, self).__init__()\n        \n        # Inital Convolution  3*256*256 -> 64*256*256\n        out_channels=64\n        self.conv = nn.Sequential(\n            nn.ReflectionPad2d(in_channels), # padding, keep the image size constant after next conv2d\n            nn.Conv2d(in_channels, out_channels, 2*in_channels+1),\n            nn.InstanceNorm2d(out_channels),\n            nn.ReLU(inplace=True),\n        )\n        \n        channels = out_channels\n        \n        # Downsampling   64*256*256 -> 128*128*128 -> 256*64*64\n        self.down = []\n        for _ in range(2):\n            out_channels = channels * 2\n            self.down += [\n                nn.Conv2d(channels, out_channels, 3, stride=2, padding=1),\n                nn.InstanceNorm2d(out_channels),\n                nn.ReLU(inplace=True),\n            ]\n            channels = out_channels\n        self.down = nn.Sequential(*self.down)\n        \n        # Transformation (ResNet)  256*64*64\n        self.trans = [ResidualBlock(channels) for _ in range(num_residual_blocks)]\n        self.trans = nn.Sequential(*self.trans)\n        \n        # Upsampling  256*64*64 -> 128*128*128 -> 64*256*256\n        self.up = []\n        for _ in range(2):\n            out_channels = channels // 2\n            self.up += [\n                nn.Upsample(scale_factor=2), # bilinear interpolation\n                nn.Conv2d(channels, out_channels, 3, stride=1, padding=1),\n                nn.InstanceNorm2d(out_channels),\n                nn.ReLU(inplace=True),\n            ]\n            channels = out_channels\n        self.up = nn.Sequential(*self.up)\n        \n        # Out layer  64*256*256 -> 3*256*256\n        self.out = nn.Sequential(\n            nn.ReflectionPad2d(in_channels),\n            nn.Conv2d(channels, in_channels, 2*in_channels+1),\n            nn.Tanh()\n        )\n    \n    def forward(self, x):\n        x = self.conv(x)\n        x = self.down(x)\n        x = self.trans(x)\n        x = self.up(x)\n        x = self.out(x)\n        return x","metadata":{"execution":{"iopub.status.busy":"2023-12-05T12:24:21.244763Z","iopub.execute_input":"2023-12-05T12:24:21.245086Z","iopub.status.idle":"2023-12-05T12:24:21.261480Z","shell.execute_reply.started":"2023-12-05T12:24:21.245056Z","shell.execute_reply":"2023-12-05T12:24:21.260346Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# Define Discriminator","metadata":{"execution":{"iopub.status.busy":"2021-08-17T02:12:55.676304Z","iopub.execute_input":"2021-08-17T02:12:55.676929Z","iopub.status.idle":"2021-08-17T02:12:55.694692Z","shell.execute_reply.started":"2021-08-17T02:12:55.676889Z","shell.execute_reply":"2021-08-17T02:12:55.693976Z"}}},{"cell_type":"code","source":"class Discriminator(nn.Module):\n    def __init__(self, in_channels):\n        super(Discriminator, self).__init__()\n        \n        self.model = nn.Sequential(\n            # why normalize=False?\n            *self.block(in_channels, 64, normalize=False), # 3*256*256 -> 64*128*128 \n            *self.block(64, 128),  # 64*128*128 -> 128*64*64\n            *self.block(128, 256), # 128*64*64 -> 256*32*32\n            *self.block(256, 512), # 256*32*32 -> 512*16*16\n            \n            # Why padding first then convolution?\n            nn.ZeroPad2d((1,0,1,0)), # padding left and top   512*16*16 -> 512*17*17\n            nn.Conv2d(512, 1, 4, padding=1) # 512*17*17 -> 1*16*16\n        )\n        \n        self.scale_factor = 16\n    \n    @staticmethod\n    def block(in_channels, out_channels, normalize=True):\n        layers = [nn.Conv2d(in_channels, out_channels, 4, stride=2, padding=1)]\n        if normalize:\n            layers.append(nn.InstanceNorm2d(out_channels))\n        layers.append(nn.LeakyReLU(0.2, inplace=True))\n        \n        return layers\n        \n    def forward(self, x):\n        return self.model(x)","metadata":{"execution":{"iopub.status.busy":"2023-12-05T12:24:21.263429Z","iopub.execute_input":"2023-12-05T12:24:21.263844Z","iopub.status.idle":"2023-12-05T12:24:21.275777Z","shell.execute_reply.started":"2023-12-05T12:24:21.263803Z","shell.execute_reply":"2023-12-05T12:24:21.274922Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# Define Loss\n\n* Loss defined in paper\n\n![image.png](attachment:b4d1a0d4-cdfc-4324-bf3c-be809daeb7a9.png)","metadata":{"execution":{"iopub.status.busy":"2021-08-17T03:15:37.924281Z","iopub.execute_input":"2021-08-17T03:15:37.92481Z","iopub.status.idle":"2021-08-17T03:15:38.24994Z","shell.execute_reply.started":"2021-08-17T03:15:37.924769Z","shell.execute_reply":"2021-08-17T03:15:38.249301Z"}},"attachments":{"b4d1a0d4-cdfc-4324-bf3c-be809daeb7a9.png":{"image/png":"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"}}},{"cell_type":"code","source":"criterion_GAN = nn.MSELoss()\ncriterion_cycle = nn.L1Loss()\ncriterion_identity = nn.L1Loss()","metadata":{"execution":{"iopub.status.busy":"2023-12-05T12:24:21.276934Z","iopub.execute_input":"2023-12-05T12:24:21.277239Z","iopub.status.idle":"2023-12-05T12:24:21.288719Z","shell.execute_reply.started":"2023-12-05T12:24:21.277211Z","shell.execute_reply":"2023-12-05T12:24:21.287948Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**Initalize Generator and Discriminator**","metadata":{}},{"cell_type":"code","source":"G_AB = GeneratorResNet(3, num_residual_blocks=9)\nD_B = Discriminator(3)\n\nG_BA = GeneratorResNet(3, num_residual_blocks=9)\nD_A = Discriminator(3)","metadata":{"execution":{"iopub.status.busy":"2023-12-05T12:24:21.289738Z","iopub.execute_input":"2023-12-05T12:24:21.290016Z","iopub.status.idle":"2023-12-05T12:24:21.560443Z","shell.execute_reply.started":"2023-12-05T12:24:21.289981Z","shell.execute_reply":"2023-12-05T12:24:21.559688Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# Choose device","metadata":{}},{"cell_type":"code","source":"cuda = torch.cuda.is_available()\nprint(f'cuda: {cuda}')\nif cuda:\n    G_AB = G_AB.cuda()\n    D_B = D_B.cuda()\n    G_BA = G_BA.cuda()\n    D_A = D_A.cuda()\n    \n    criterion_GAN = criterion_GAN.cuda()\n    criterion_cycle = criterion_cycle.cuda()\n    criterion_identity = criterion_identity.cuda()","metadata":{"execution":{"iopub.status.busy":"2023-12-05T12:24:21.561533Z","iopub.execute_input":"2023-12-05T12:24:21.561829Z","iopub.status.idle":"2023-12-05T12:24:25.962902Z","shell.execute_reply.started":"2023-12-05T12:24:21.561803Z","shell.execute_reply":"2023-12-05T12:24:25.962132Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# Optimizers","metadata":{"execution":{"iopub.status.busy":"2021-08-17T03:20:13.704545Z","iopub.execute_input":"2021-08-17T03:20:13.704889Z","iopub.status.idle":"2021-08-17T03:20:13.710944Z","shell.execute_reply.started":"2021-08-17T03:20:13.704859Z","shell.execute_reply":"2021-08-17T03:20:13.709978Z"}}},{"cell_type":"code","source":"import itertools\nlr = 0.0002\nb1 = 0.5\nb2 = 0.999\n\noptimizer_G = torch.optim.Adam(\n    itertools.chain(G_AB.parameters(), G_BA.parameters()), lr=lr, betas=(b1, b2)\n)\n\noptimizer_D_A = torch.optim.Adam(\n    D_A.parameters(), lr=lr, betas=(b1, b2)\n)\n\noptimizer_D_B = torch.optim.Adam(\n    D_B.parameters(), lr=lr, betas=(b1, b2)\n)","metadata":{"execution":{"iopub.status.busy":"2023-12-05T12:24:25.965714Z","iopub.execute_input":"2023-12-05T12:24:25.966100Z","iopub.status.idle":"2023-12-05T12:24:25.974710Z","shell.execute_reply.started":"2023-12-05T12:24:25.966061Z","shell.execute_reply":"2023-12-05T12:24:25.973851Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# Learning Rate Scheduler ","metadata":{"execution":{"iopub.status.busy":"2021-08-17T03:26:53.38953Z","iopub.execute_input":"2021-08-17T03:26:53.389895Z","iopub.status.idle":"2021-08-17T03:26:53.409687Z","shell.execute_reply.started":"2021-08-17T03:26:53.389861Z","shell.execute_reply":"2021-08-17T03:26:53.408743Z"}}},{"cell_type":"code","source":"n_epoches = 100\ndecay_epoch = 20\n\nlambda_func = lambda epoch: 1 - max(0, epoch-decay_epoch)/(n_epoches-decay_epoch)\n\nlr_scheduler_G = torch.optim.lr_scheduler.LambdaLR(optimizer_G, lr_lambda=lambda_func)\nlr_scheduler_D_A = torch.optim.lr_scheduler.LambdaLR(optimizer_D_A, lr_lambda=lambda_func)\nlr_scheduler_D_B = torch.optim.lr_scheduler.LambdaLR(optimizer_D_B, lr_lambda=lambda_func)","metadata":{"execution":{"iopub.status.busy":"2023-12-05T12:24:25.976355Z","iopub.execute_input":"2023-12-05T12:24:25.976778Z","iopub.status.idle":"2023-12-05T12:24:25.993781Z","shell.execute_reply.started":"2023-12-05T12:24:25.976738Z","shell.execute_reply":"2023-12-05T12:24:25.992977Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# DataLoader","metadata":{"execution":{"iopub.status.busy":"2021-08-17T03:57:20.181606Z","iopub.execute_input":"2021-08-17T03:57:20.182081Z","iopub.status.idle":"2021-08-17T03:57:20.185286Z","shell.execute_reply.started":"2021-08-17T03:57:20.18205Z","shell.execute_reply":"2021-08-17T03:57:20.184648Z"}}},{"cell_type":"code","source":"class ImageDataset(Dataset):\n    def __init__(self, data_dir, mode='train', transforms=None):\n        A_dir = os.path.join(data_dir, 'dataset/cartoonization_dataset_17112023/indiancartoons/cartoons/cartoons/')\n        B_dir = os.path.join(data_dir, 'vangogh2photo/vangogh2photo/trainB/')\n        \n        if mode == 'train':\n            self.files_A = [os.path.join(A_dir, name) for name in sorted(os.listdir(A_dir))[:250]]\n            self.files_B = [os.path.join(B_dir, name) for name in sorted(os.listdir(B_dir))[:250]]\n        elif mode == 'test':\n            self.files_A = [os.path.join(A_dir, name) for name in sorted(os.listdir(A_dir))[250:301]]\n            self.files_B = [os.path.join(B_dir, name) for name in sorted(os.listdir(B_dir))[250:301]]\n        \n        self.transforms = transforms\n        \n    def __len__(self):\n        return len(self.files_A)\n    \n    def __getitem__(self, index):\n        file_A = self.files_A[index]\n        file_B = self.files_B[index]\n        \n        img_A = Image.open(file_A)\n        img_B = Image.open(file_B)\n        \n        # Convert images to 3 channels\n        img_A = img_A.convert('RGB')\n        img_B = img_B.convert('RGB')\n        \n        if self.transforms is not None:\n            img_A = self.transforms(img_A)\n            img_B = self.transforms(img_B)\n        \n        return img_A, img_B\n","metadata":{"execution":{"iopub.status.busy":"2023-12-05T12:24:25.994979Z","iopub.execute_input":"2023-12-05T12:24:25.995256Z","iopub.status.idle":"2023-12-05T12:24:26.007466Z","shell.execute_reply.started":"2023-12-05T12:24:25.995220Z","shell.execute_reply":"2023-12-05T12:24:26.006696Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"import torchvision.transforms as transforms\n\ndata_dir = '/kaggle/input/'\n\ntransforms_ = transforms.Compose([\n#    transforms.Resize(int(256*1.12), Image.BICUBIC),\n#     transforms.RandomCrop(256, 256),\n    transforms.Resize((256, 256)),\n    transforms.RandomHorizontalFlip(),\n    transforms.ToTensor(),\n    transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))\n])\nbatch_size = 5\n\ntrainloader = DataLoader(\n    ImageDataset(data_dir, mode='train', transforms=transforms_),\n    batch_size = batch_size,\n    shuffle = True,\n    num_workers = 3\n)\n\ntestloader = DataLoader(\n    ImageDataset(data_dir, mode='test', transforms=transforms_),\n    batch_size = batch_size,\n    shuffle = False,\n    num_workers = 3\n)","metadata":{"execution":{"iopub.status.busy":"2023-12-05T12:24:26.008684Z","iopub.execute_input":"2023-12-05T12:24:26.008992Z","iopub.status.idle":"2023-12-05T12:24:27.299270Z","shell.execute_reply.started":"2023-12-05T12:24:26.008966Z","shell.execute_reply":"2023-12-05T12:24:27.298481Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# Display Images","metadata":{"execution":{"iopub.status.busy":"2021-08-17T05:43:38.634944Z","iopub.execute_input":"2021-08-17T05:43:38.6353Z","iopub.status.idle":"2021-08-17T05:43:38.643016Z","shell.execute_reply.started":"2021-08-17T05:43:38.635271Z","shell.execute_reply":"2021-08-17T05:43:38.641759Z"}}},{"cell_type":"code","source":"from torchvision.utils import make_grid\n\nTensor = torch.cuda.FloatTensor if cuda else torch.Tensor\n\ndef sample_images(real_A, real_B, figside=1.5):\n    assert real_A.size() == real_B.size(), 'The image size for two domains must be the same'\n    \n    G_AB.eval()\n    G_BA.eval()\n    \n    real_A = real_A.type(Tensor)\n    fake_B = G_AB(real_A).detach()\n    real_B = real_B.type(Tensor)\n    fake_A = G_BA(real_B).detach()\n    \n    nrows = real_A.size(0)\n    real_A = make_grid(real_A, nrow=nrows, normalize=True)\n    fake_B = make_grid(fake_B, nrow=nrows, normalize=True)\n    real_B = make_grid(real_B, nrow=nrows, normalize=True)\n    fake_A = make_grid(fake_A, nrow=nrows, normalize=True)\n    \n    image_grid = torch.cat((real_A, fake_B, real_B, fake_A), 1).cpu().permute(1, 2, 0)\n    \n    plt.figure(figsize=(figside*nrows, figside*4))\n    plt.imshow(image_grid)\n    plt.axis('off')\n    plt.show()\n    ","metadata":{"execution":{"iopub.status.busy":"2023-12-05T12:24:27.300566Z","iopub.execute_input":"2023-12-05T12:24:27.300968Z","iopub.status.idle":"2023-12-05T12:24:27.310689Z","shell.execute_reply.started":"2023-12-05T12:24:27.300925Z","shell.execute_reply":"2023-12-05T12:24:27.309666Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"Test display function","metadata":{}},{"cell_type":"code","source":"from PIL import Image\nreal_A, real_B = next(iter(testloader))\nsample_images(real_A, real_B)","metadata":{"execution":{"iopub.status.busy":"2023-12-05T12:24:27.311716Z","iopub.execute_input":"2023-12-05T12:24:27.312018Z","iopub.status.idle":"2023-12-05T12:24:29.323017Z","shell.execute_reply.started":"2023-12-05T12:24:27.311991Z","shell.execute_reply":"2023-12-05T12:24:29.322106Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# Checkpoints","metadata":{}},{"cell_type":"code","source":"# import cv2\n# import matplotlib.pyplot as plt\n\n# # Replace 'image_path' with the path to your image\n# image_path = '/kaggle/input/dataset/cartoonization_dataset_17112023/indiancartoons/cartoons/cartoons/comic_style_image1.jpg'\n# img = cv2.imread(image_path, cv2.IMREAD_UNCHANGED)\n\n# # Print the number of channels\n# num_channels = img.shape[2] if len(img.shape) == 3 else 1\n# print(f'The image has {num_channels} channels.')","metadata":{"execution":{"iopub.status.busy":"2023-12-05T12:24:29.325431Z","iopub.execute_input":"2023-12-05T12:24:29.325923Z","iopub.status.idle":"2023-12-05T12:24:29.329846Z","shell.execute_reply.started":"2023-12-05T12:24:29.325889Z","shell.execute_reply":"2023-12-05T12:24:29.328900Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"def load_checkpoint(ckpt_path, map_location=None):\n    ckpt = torch.load(ckpt_path, map_location=map_location)\n    print(' [*] Loading checkpoint from %s succeed!' % ckpt_path)\n    return ckpt","metadata":{"execution":{"iopub.status.busy":"2023-12-05T12:24:29.331123Z","iopub.execute_input":"2023-12-05T12:24:29.331398Z","iopub.status.idle":"2023-12-05T12:24:29.343576Z","shell.execute_reply.started":"2023-12-05T12:24:29.331371Z","shell.execute_reply":"2023-12-05T12:24:29.342795Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"g = load_checkpoint('/kaggle/input/checkpoint/current_40.ckpt')\n# G_BA = g['G_AB'].load_state_dict()\n\nG_BA.load_state_dict(g['G_AB'])","metadata":{"execution":{"iopub.status.busy":"2023-12-05T12:43:42.124530Z","iopub.execute_input":"2023-12-05T12:43:42.124900Z","iopub.status.idle":"2023-12-05T12:43:42.240396Z","shell.execute_reply.started":"2023-12-05T12:43:42.124868Z","shell.execute_reply":"2023-12-05T12:43:42.239442Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"G_BA","metadata":{"execution":{"iopub.status.busy":"2023-12-05T12:44:54.224483Z","iopub.execute_input":"2023-12-05T12:44:54.224858Z","iopub.status.idle":"2023-12-05T12:44:54.232644Z","shell.execute_reply.started":"2023-12-05T12:44:54.224827Z","shell.execute_reply":"2023-12-05T12:44:54.231650Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"def save_checkpoint(state, save_path):\n    torch.save(state, save_path)","metadata":{"execution":{"iopub.status.busy":"2023-12-05T12:45:19.712095Z","iopub.execute_input":"2023-12-05T12:45:19.712499Z","iopub.status.idle":"2023-12-05T12:45:19.716694Z","shell.execute_reply.started":"2023-12-05T12:45:19.712461Z","shell.execute_reply":"2023-12-05T12:45:19.715762Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"n_epochs = ","metadata":{},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# Training","metadata":{}},{"cell_type":"code","source":"from tqdm.notebook import tqdm\nfor epoch in range(41, n_epoches):\n    for i, (real_A, real_B) in enumerate(tqdm(trainloader)):\n        real_A, real_B = real_A.type(Tensor), real_B.type(Tensor)\n        \n        # groud truth\n        out_shape = [real_A.size(0), 1, real_A.size(2)//D_A.scale_factor, real_A.size(3)//D_A.scale_factor]\n        valid = torch.ones(out_shape).type(Tensor)\n        fake = torch.zeros(out_shape).type(Tensor)\n        \n        \"\"\"Train Generators\"\"\"\n        # set to training mode in the begining, beacause sample_images will set it to eval mode\n        G_AB.train()\n        G_BA.train()\n        \n        optimizer_G.zero_grad()\n        \n        fake_B = G_AB(real_A)\n        fake_A = G_BA(real_B)\n        \n        # identity loss\n        loss_id_A = criterion_identity(fake_B, real_A)\n        loss_id_B = criterion_identity(fake_A, real_B)\n        loss_identity = (loss_id_A + loss_id_B) / 2\n        \n        # GAN loss, train G to make D think it's true\n        loss_GAN_AB = criterion_GAN(D_B(fake_B), valid) \n        loss_GAN_BA = criterion_GAN(D_A(fake_A), valid)\n        loss_GAN = (loss_GAN_AB + loss_GAN_BA) / 2\n        \n        # cycle loss\n        recov_A = G_BA(fake_B)\n        recov_B = G_AB(fake_A)\n        loss_cycle_A = criterion_cycle(recov_A, real_A)\n        loss_cycle_B = criterion_cycle(recov_B, real_B)\n        loss_cycle = (loss_cycle_A + loss_cycle_B) / 2\n        \n        # G totol loss\n        loss_G = 5.0*loss_identity + loss_GAN + 10.0*loss_cycle\n        \n        loss_G.backward()\n        optimizer_G.step()\n        \n        \"\"\"Train Discriminator A\"\"\"\n        optimizer_D_A.zero_grad()\n        \n        loss_real = criterion_GAN(D_A(real_A), valid)\n        loss_fake = criterion_GAN(D_A(fake_A.detach()), fake)\n        loss_D_A = (loss_real + loss_fake) / 2\n        \n        loss_D_A.backward()\n        optimizer_D_A.step()\n        \n        \"\"\"Train Discriminator B\"\"\"\n        optimizer_D_B.zero_grad()\n        \n        loss_real = criterion_GAN(D_B(real_B), valid)\n        loss_fake = criterion_GAN(D_B(fake_B.detach()), fake)\n        loss_D_B = (loss_real + loss_fake) / 2\n        \n        loss_D_B.backward()\n        optimizer_D_B.step()\n    \n    lr_scheduler_G.step()\n    lr_scheduler_D_A.step()\n    lr_scheduler_D_B.step()\n    \n    # test\n    if (epoch+1) % 10 == 0:\n        test_real_A, test_real_B = next(iter(testloader))\n        sample_images(test_real_A, test_real_B)\n\n        loss_D = (loss_D_A + loss_D_B) / 2\n        print(f'[Epoch {epoch+1}/{n_epoches}]')\n        print(f'[G loss: {loss_G.item()} | identity: {loss_identity.item()} GAN: {loss_GAN.item()} cycle: {loss_cycle.item()}]')\n        print(f'[D loss: {loss_D.item()} | D_A: {loss_D_A.item()} D_B: {loss_D_B.item()}]') \n        save_dict = {\n                'epoch': epoch+1,\n                'G_AB': G_AB.state_dict(),\n                'G_BA': G_BA.state_dict(),\n                'D_B': D_B.state_dict(),\n                'D_A': D_A.state_dict(),\n                'optimizer_D_A': optimizer_D_A.state_dict(),\n                'optimizer_D_B': optimizer_D_B.state_dict()\n            }\n        save_checkpoint(save_dict, '/kaggle/working/current_' + str(epoch + 1) + '.ckpt')\n    ","metadata":{"execution":{"iopub.status.busy":"2023-12-05T12:46:49.035726Z","iopub.execute_input":"2023-12-05T12:46:49.036101Z","iopub.status.idle":"2023-12-05T14:15:14.636720Z","shell.execute_reply.started":"2023-12-05T12:46:49.036074Z","shell.execute_reply":"2023-12-05T14:15:14.635877Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# Generate Stylized Images","metadata":{}},{"cell_type":"code","source":"photo_dir = os.path.join(data_dir, 'vangogh2photo/vangogh2photo/trainB')\nfiles = [os.path.join(photo_dir, name) for name in os.listdir(photo_dir)]\nlen(files)","metadata":{"execution":{"iopub.status.busy":"2023-12-04T18:03:09.032210Z","iopub.status.idle":"2023-12-04T18:03:09.032783Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"save_dir = '../images'\nif not os.path.exists(save_dir):\n    os.makedirs(save_dir)","metadata":{"execution":{"iopub.status.busy":"2023-12-04T18:03:09.033871Z","iopub.status.idle":"2023-12-04T18:03:09.034457Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"import matplotlib.pyplot as plt","metadata":{"execution":{"iopub.status.busy":"2023-12-04T18:03:09.035501Z","iopub.status.idle":"2023-12-04T18:03:09.036096Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"generate_transforms = transforms.Compose([\n    transforms.ToTensor(),\n    transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))\n])\n\nto_image = transforms.ToPILImage()\n\nG_BA.eval()\nG_BA.to(\"cuda\")\nfor i in range(0, len(files), batch_size):\n    # read images\n    imgs = []\n    for j in range(i, min(len(files), i+batch_size)):\n        img = Image.open(files[j])\n        img = generate_transforms(img)\n        imgs.append(img)\n    imgs = torch.stack(imgs, 0).type(Tensor)\n    \n    # generate\n    fake_imgs = G_BA(imgs).detach().cpu()\n    \n    # save\n    for j in range(fake_imgs.size(0)):\n        img = fake_imgs[j].squeeze().permute(1, 2, 0)\n        \n        img_arr = img.numpy()        \n        img_arr = (img_arr - np.min(img_arr)) * 255 / (np.max(img_arr) - np.min(img_arr))\n        \n        img_arr = img_arr.astype(np.uint8)\n        \n        plt.imshow(img)\n        break\n        img = to_image(img_arr)\n        _, name = os.path.split(files[i+j])\n        img.save(os.path.join(save_dir, name))\n    break","metadata":{"execution":{"iopub.status.busy":"2023-12-04T18:03:09.037250Z","iopub.status.idle":"2023-12-04T18:03:09.037810Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"generate_transforms = transforms.Compose([\n    transforms.ToTensor(),\n    transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))\n])\n\nto_image = transforms.ToPILImage()\n\nG_BA.eval()\nG_BA.to(\"cuda\")\nfor i in range(0, len(files), batch_size):\n    # read images\n    imgs = []\n    for j in range(i, min(len(files), i+batch_size)):\n        img = Image.open(files[j])\n        img = generate_transforms(img)\n        imgs.append(img)\n    imgs = torch.stack(imgs, 0).type(Tensor)\n    \n    # generate\n    fake_imgs = G_BA(imgs).detach().cpu()\n    \n    # save\n    for j in range(fake_imgs.size(0)):\n        img = fake_imgs[j].squeeze().permute(1, 2, 0)\n        img_arr = img.numpy()\n        img_arr = (img_arr - np.min(img_arr)) * 255 / (np.max(img_arr) - np.min(img_arr))\n        img_arr = img_arr.astype(np.uint8)\n        \n        img = to_image(img_arr)\n        _, name = os.path.split(files[i+j])\n        img.save(os.path.join(save_dir, name))","metadata":{"execution":{"iopub.status.busy":"2023-12-04T18:03:09.038892Z","iopub.status.idle":"2023-12-04T18:03:09.039479Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"import shutil\nshutil.make_archive(\"/kaggle/working/images\", 'zip', \"/kaggle/images\")","metadata":{"execution":{"iopub.status.busy":"2023-12-04T18:03:09.040561Z","iopub.status.idle":"2023-12-04T18:03:09.041183Z"},"trusted":true},"execution_count":null,"outputs":[]}]}