update
lzfxxx
6 years ago
Binary diff not shown
| 0 | ----------------- Options --------------- | |
| 1 | aspect_ratio: 1.0 | |
| 2 | batch_size: 1 | |
| 3 | checkpoints_dir: ./checkpoints | |
| 4 | crop_size: 256 | |
| 5 | dataroot: datasets/horse2zebra/testA [default: None] | |
| 6 | dataset_mode: single | |
| 7 | direction: AtoB | |
| 8 | display_winsize: 256 | |
| 9 | epoch: latest | |
| 10 | eval: False | |
| 11 | gpu_ids: 0 | |
| 12 | init_gain: 0.02 | |
| 13 | init_type: normal | |
| 14 | input_nc: 3 | |
| 15 | isTrain: False [default: None] | |
| 16 | load_iter: 0 [default: 0] | |
| 17 | load_size: 256 | |
| 18 | max_dataset_size: inf | |
| 19 | model: test | |
| 20 | model_suffix: | |
| 21 | n_layers_D: 3 | |
| 22 | name: horse2zebra_pretrained [default: experiment_name] | |
| 23 | ndf: 64 | |
| 24 | netD: basic | |
| 25 | netG: resnet_9blocks | |
| 26 | ngf: 64 | |
| 27 | no_dropout: True [default: False] | |
| 28 | no_flip: False | |
| 29 | norm: instance | |
| 30 | ntest: inf | |
| 31 | num_test: 50 | |
| 32 | num_threads: 4 | |
| 33 | output_nc: 3 | |
| 34 | phase: test | |
| 35 | preprocess: resize_and_crop | |
| 36 | results_dir: ./results/ | |
| 37 | serial_batches: False | |
| 38 | suffix: | |
| 39 | verbose: False | |
| 40 | ----------------- End ------------------- |
| 1 | 1 | "cells": [ |
| 2 | 2 | { |
| 3 | 3 | "cell_type": "code", |
| 4 | "execution_count": 1, | |
| 5 | "metadata": {}, | |
| 6 | "outputs": [ | |
| 7 | { | |
| 8 | "name": "stdout", | |
| 9 | "output_type": "stream", | |
| 10 | "text": [ | |
| 11 | "Hello Mo!\n" | |
| 12 | ] | |
| 13 | } | |
| 14 | ], | |
| 4 | "execution_count": null, | |
| 5 | "metadata": {}, | |
| 6 | "outputs": [], | |
| 15 | 7 | "source": [ |
| 16 | 8 | "print('Hello Mo!')" |
| 17 | 9 | ] |
| 130 | 122 | "cell_type": "code", |
| 131 | 123 | "execution_count": null, |
| 132 | 124 | "metadata": {}, |
| 133 | "outputs": [], | |
| 134 | "source": [] | |
| 125 | "outputs": [ | |
| 126 | { | |
| 127 | "name": "stdout", | |
| 128 | "output_type": "stream", | |
| 129 | "text": [ | |
| 130 | "Checking for scripts.\n", | |
| 131 | "It's Alive!\n", | |
| 132 | "INFO:root:Application Started\n", | |
| 133 | "You can navigate to http://jupyter-4f4549ll415a47504b0lu4dc49ss44042a4ftm5f47h48h92da34a0x:8097\n" | |
| 134 | ] | |
| 135 | } | |
| 136 | ], | |
| 137 | "source": [ | |
| 138 | "!python -m visdom.server" | |
| 139 | ] | |
| 140 | }, | |
| 141 | { | |
| 142 | "cell_type": "code", | |
| 143 | "execution_count": 1, | |
| 144 | "metadata": {}, | |
| 145 | "outputs": [ | |
| 146 | { | |
| 147 | "name": "stdout", | |
| 148 | "output_type": "stream", | |
| 149 | "text": [ | |
| 150 | "Note: available models are apple2orange, orange2apple, summer2winter_yosemite, winter2summer_yosemite, horse2zebra, zebra2horse, monet2photo, style_monet, style_cezanne, style_ukiyoe, style_vangogh, sat2map, map2sat, cityscapes_photo2label, cityscapes_label2photo, facades_photo2label, facades_label2photo, iphone2dslr_flower\n", | |
| 151 | "Specified [horse2zebra]\n", | |
| 152 | "WARNING: timestamping does nothing in combination with -O. See the manual\n", | |
| 153 | "for details.\n", | |
| 154 | "\n", | |
| 155 | "--2019-09-27 17:08:47-- http://efrosgans.eecs.berkeley.edu/cyclegan/pretrained_models/horse2zebra.pth\n", | |
| 156 | "Resolving efrosgans.eecs.berkeley.edu (efrosgans.eecs.berkeley.edu)... 128.32.189.73\n", | |
| 157 | "Connecting to efrosgans.eecs.berkeley.edu (efrosgans.eecs.berkeley.edu)|128.32.189.73|:80... connected.\n", | |
| 158 | "HTTP request sent, awaiting response... 200 OK\n", | |
| 159 | "Length: 45575747 (43M)\n", | |
| 160 | "Saving to: ‘./checkpoints/horse2zebra_pretrained/latest_net_G.pth’\n", | |
| 161 | "\n", | |
| 162 | "./checkpoints/horse 100%[===================>] 43.46M 73.2KB/s in 5m 31s \n", | |
| 163 | "\n", | |
| 164 | "2019-09-27 17:14:25 (135 KB/s) - ‘./checkpoints/horse2zebra_pretrained/latest_net_G.pth’ saved [45575747/45575747]\n", | |
| 165 | "\n" | |
| 166 | ] | |
| 167 | } | |
| 168 | ], | |
| 169 | "source": [ | |
| 170 | "!bash ./scripts/download_cyclegan_model.sh horse2zebra" | |
| 171 | ] | |
| 172 | }, | |
| 173 | { | |
| 174 | "cell_type": "code", | |
| 175 | "execution_count": null, | |
| 176 | "metadata": {}, | |
| 177 | "outputs": [ | |
| 178 | { | |
| 179 | "name": "stdout", | |
| 180 | "output_type": "stream", | |
| 181 | "text": [ | |
| 182 | "Specified [horse2zebra]\n", | |
| 183 | "WARNING: timestamping does nothing in combination with -O. See the manual\n", | |
| 184 | "for details.\n", | |
| 185 | "\n", | |
| 186 | "--2019-09-27 17:17:21-- https://people.eecs.berkeley.edu/~taesung_park/CycleGAN/datasets/horse2zebra.zip\n", | |
| 187 | "Resolving people.eecs.berkeley.edu (people.eecs.berkeley.edu)... 128.32.189.73\n", | |
| 188 | "Connecting to people.eecs.berkeley.edu (people.eecs.berkeley.edu)|128.32.189.73|:443... connected.\n", | |
| 189 | "HTTP request sent, awaiting response... 200 OK\n", | |
| 190 | "Length: 116867962 (111M) [application/zip]\n", | |
| 191 | "Saving to: ‘./datasets/horse2zebra.zip’\n", | |
| 192 | "\n", | |
| 193 | "2zebra.zip 69%[============> ] 76.95M 191KB/s eta 3m 17s " | |
| 194 | ] | |
| 195 | } | |
| 196 | ], | |
| 197 | "source": [ | |
| 198 | "!bash ./datasets/download_cyclegan_dataset.sh horse2zebra" | |
| 199 | ] | |
| 200 | }, | |
| 201 | { | |
| 202 | "cell_type": "code", | |
| 203 | "execution_count": 1, | |
| 204 | "metadata": {}, | |
| 205 | "outputs": [ | |
| 206 | { | |
| 207 | "name": "stdout", | |
| 208 | "output_type": "stream", | |
| 209 | "text": [ | |
| 210 | "----------------- Options ---------------\n", | |
| 211 | " aspect_ratio: 1.0 \n", | |
| 212 | " batch_size: 1 \n", | |
| 213 | " checkpoints_dir: ./checkpoints \n", | |
| 214 | " crop_size: 256 \n", | |
| 215 | " dataroot: datasets/horse2zebra/testA \t[default: None]\n", | |
| 216 | " dataset_mode: single \n", | |
| 217 | " direction: AtoB \n", | |
| 218 | " display_winsize: 256 \n", | |
| 219 | " epoch: latest \n", | |
| 220 | " eval: False \n", | |
| 221 | " gpu_ids: 0 \n", | |
| 222 | " init_gain: 0.02 \n", | |
| 223 | " init_type: normal \n", | |
| 224 | " input_nc: 3 \n", | |
| 225 | " isTrain: False \t[default: None]\n", | |
| 226 | " load_iter: 0 \t[default: 0]\n", | |
| 227 | " load_size: 256 \n", | |
| 228 | " max_dataset_size: inf \n", | |
| 229 | " model: test \n", | |
| 230 | " model_suffix: \n", | |
| 231 | " n_layers_D: 3 \n", | |
| 232 | " name: horse2zebra_pretrained \t[default: experiment_name]\n", | |
| 233 | " ndf: 64 \n", | |
| 234 | " netD: basic \n", | |
| 235 | " netG: resnet_9blocks \n", | |
| 236 | " ngf: 64 \n", | |
| 237 | " no_dropout: True \t[default: False]\n", | |
| 238 | " no_flip: False \n", | |
| 239 | " norm: instance \n", | |
| 240 | " ntest: inf \n", | |
| 241 | " num_test: 50 \n", | |
| 242 | " num_threads: 4 \n", | |
| 243 | " output_nc: 3 \n", | |
| 244 | " phase: test \n", | |
| 245 | " preprocess: resize_and_crop \n", | |
| 246 | " results_dir: ./results/ \n", | |
| 247 | " serial_batches: False \n", | |
| 248 | " suffix: \n", | |
| 249 | " verbose: False \n", | |
| 250 | "----------------- End -------------------\n", | |
| 251 | "Traceback (most recent call last):\n", | |
| 252 | " File \"test.py\", line 38, in <module>\n", | |
| 253 | " opt = TestOptions().parse() # get test options\n", | |
| 254 | " File \"/home/jovyan/work/options/base_options.py\", line 133, in parse\n", | |
| 255 | " torch.cuda.set_device(opt.gpu_ids[0])\n", | |
| 256 | " File \"/home/jovyan/.virtualenvs/basenv/lib/python3.5/site-packages/torch/cuda/__init__.py\", line 281, in set_device\n", | |
| 257 | " torch._C._cuda_setDevice(device)\n", | |
| 258 | " File \"/home/jovyan/.virtualenvs/basenv/lib/python3.5/site-packages/torch/cuda/__init__.py\", line 178, in _lazy_init\n", | |
| 259 | " _check_driver()\n", | |
| 260 | " File \"/home/jovyan/.virtualenvs/basenv/lib/python3.5/site-packages/torch/cuda/__init__.py\", line 99, in _check_driver\n", | |
| 261 | " http://www.nvidia.com/Download/index.aspx\"\"\")\n", | |
| 262 | "AssertionError: \n", | |
| 263 | "Found no NVIDIA driver on your system. Please check that you\n", | |
| 264 | "have an NVIDIA GPU and installed a driver from\n", | |
| 265 | "http://www.nvidia.com/Download/index.aspx\n" | |
| 266 | ] | |
| 267 | } | |
| 268 | ], | |
| 269 | "source": [ | |
| 270 | "!python test.py --dataroot datasets/horse2zebra/testA --name horse2zebra_pretrained --model test --no_dropout" | |
| 271 | ] | |
| 135 | 272 | } |
| 136 | 273 | ], |
| 137 | 274 | "metadata": { |
| 0 | 2019-09-27T09:55:43.255268482Z SYSTEM: Preparing env... | |
| 1 | 2019-09-27T09:55:58.826193451Z SYSTEM: Running... | |
| 2 | 2019-09-27T09:56:01.450676837Z ----------------- Options --------------- | |
| 3 | 2019-09-27T09:56:01.450739017Z aspect_ratio: 1.0 | |
| 4 | 2019-09-27T09:56:01.450747276Z batch_size: 1 | |
| 5 | 2019-09-27T09:56:01.450754377Z checkpoints_dir: ./checkpoints | |
| 6 | 2019-09-27T09:56:01.450758381Z crop_size: 256 | |
| 7 | 2019-09-27T09:56:01.450762306Z dataroot: datasets/horse2zebra/testA [default: None] | |
| 8 | 2019-09-27T09:56:01.450767197Z dataset_mode: single | |
| 9 | 2019-09-27T09:56:01.450771891Z direction: AtoB | |
| 10 | 2019-09-27T09:56:01.450776205Z display_winsize: 256 | |
| 11 | 2019-09-27T09:56:01.450780359Z epoch: latest | |
| 12 | 2019-09-27T09:56:01.450784493Z eval: False | |
| 13 | 2019-09-27T09:56:01.450788658Z gpu_ids: 0 | |
| 14 | 2019-09-27T09:56:01.450792821Z init_gain: 0.02 | |
| 15 | 2019-09-27T09:56:01.450797045Z init_type: normal | |
| 16 | 2019-09-27T09:56:01.450801548Z input_nc: 3 | |
| 17 | 2019-09-27T09:56:01.450806337Z isTrain: False [default: None] | |
| 18 | 2019-09-27T09:56:01.450811401Z load_iter: 0 [default: 0] | |
| 19 | 2019-09-27T09:56:01.450816478Z load_size: 256 | |
| 20 | 2019-09-27T09:56:01.450820886Z max_dataset_size: inf | |
| 21 | 2019-09-27T09:56:01.450825555Z model: test | |
| 22 | 2019-09-27T09:56:01.450830177Z model_suffix: | |
| 23 | 2019-09-27T09:56:01.450834539Z n_layers_D: 3 | |
| 24 | 2019-09-27T09:56:01.450838898Z name: horse2zebra_pretrained [default: experiment_name] | |
| 25 | 2019-09-27T09:56:01.450859395Z ndf: 64 | |
| 26 | 2019-09-27T09:56:01.450864339Z netD: basic | |
| 27 | 2019-09-27T09:56:01.450868959Z netG: resnet_9blocks | |
| 28 | 2019-09-27T09:56:01.450873361Z ngf: 64 | |
| 29 | 2019-09-27T09:56:01.450877703Z no_dropout: True [default: False] | |
| 30 | 2019-09-27T09:56:01.450882166Z no_flip: False | |
| 31 | 2019-09-27T09:56:01.450886842Z norm: instance | |
| 32 | 2019-09-27T09:56:01.450904725Z ntest: inf | |
| 33 | 2019-09-27T09:56:01.450909506Z num_test: 50 | |
| 34 | 2019-09-27T09:56:01.450913369Z num_threads: 4 | |
| 35 | 2019-09-27T09:56:01.450920796Z output_nc: 3 | |
| 36 | 2019-09-27T09:56:01.450926452Z phase: test | |
| 37 | 2019-09-27T09:56:01.450931202Z preprocess: resize_and_crop | |
| 38 | 2019-09-27T09:56:01.450935566Z results_dir: ./results/ | |
| 39 | 2019-09-27T09:56:01.450940075Z serial_batches: False | |
| 40 | 2019-09-27T09:56:01.450943743Z suffix: | |
| 41 | 2019-09-27T09:56:01.450947943Z verbose: False | |
| 42 | 2019-09-27T09:56:01.450951595Z ----------------- End ------------------- | |
| 43 | 2019-09-27T09:56:01.492033652Z Traceback (most recent call last): | |
| 44 | 2019-09-27T09:56:01.492091621Z File "test.py", line 45, in <module> | |
| 45 | 2019-09-27T09:56:01.492100056Z dataset = create_dataset(opt) # create a dataset given opt.dataset_mode and other options | |
| 46 | 2019-09-27T09:56:01.492105332Z File "/home/jovyan/work/data/__init__.py", line 57, in create_dataset | |
| 47 | 2019-09-27T09:56:01.492110491Z data_loader = CustomDatasetDataLoader(opt) | |
| 48 | 2019-09-27T09:56:01.492115169Z File "/home/jovyan/work/data/__init__.py", line 73, in __init__ | |
| 49 | 2019-09-27T09:56:01.492120336Z self.dataset = dataset_class(opt) | |
| 50 | 2019-09-27T09:56:01.492125194Z File "/home/jovyan/work/data/single_dataset.py", line 19, in __init__ | |
| 51 | 2019-09-27T09:56:01.492130654Z self.A_paths = sorted(make_dataset(opt.dataroot, opt.max_dataset_size)) | |
| 52 | 2019-09-27T09:56:01.49213584Z File "/home/jovyan/work/data/image_folder.py", line 25, in make_dataset | |
| 53 | 2019-09-27T09:56:01.492141414Z assert os.path.isdir(dir), '%s is not a valid directory' % dir | |
| 54 | 2019-09-27T09:56:01.492146491Z AssertionError: datasets/horse2zebra/testA is not a valid directory | |
| 55 | 2019-09-27T09:56:02.088304297Z SYSTEM: Finishing... |
| 0 | 2019-09-27T10:20:07.109012157Z SYSTEM: Preparing env... | |
| 1 | 2019-09-27T10:20:22.892478204Z SYSTEM: Running... | |
| 2 | 2019-09-27T10:20:25.490428055Z ----------------- Options --------------- | |
| 3 | 2019-09-27T10:20:25.49048983Z aspect_ratio: 1.0 | |
| 4 | 2019-09-27T10:20:25.490498834Z batch_size: 1 | |
| 5 | 2019-09-27T10:20:25.49050401Z checkpoints_dir: ./checkpoints | |
| 6 | 2019-09-27T10:20:25.49050923Z crop_size: 256 | |
| 7 | 2019-09-27T10:20:25.490514252Z dataroot: /home/jovyan/work/datasets/horse2zebra/testA [default: None] | |
| 8 | 2019-09-27T10:20:25.490525702Z dataset_mode: single | |
| 9 | 2019-09-27T10:20:25.490530826Z direction: AtoB | |
| 10 | 2019-09-27T10:20:25.490535773Z display_winsize: 256 | |
| 11 | 2019-09-27T10:20:25.490540714Z epoch: latest | |
| 12 | 2019-09-27T10:20:25.49054556Z eval: False | |
| 13 | 2019-09-27T10:20:25.49055057Z gpu_ids: 0 | |
| 14 | 2019-09-27T10:20:25.490555638Z init_gain: 0.02 | |
| 15 | 2019-09-27T10:20:25.490560544Z init_type: normal | |
| 16 | 2019-09-27T10:20:25.490565597Z input_nc: 3 | |
| 17 | 2019-09-27T10:20:25.490570468Z isTrain: False [default: None] | |
| 18 | 2019-09-27T10:20:25.490575702Z load_iter: 0 [default: 0] | |
| 19 | 2019-09-27T10:20:25.49058121Z load_size: 256 | |
| 20 | 2019-09-27T10:20:25.490586493Z max_dataset_size: inf | |
| 21 | 2019-09-27T10:20:25.490591326Z model: test | |
| 22 | 2019-09-27T10:20:25.4905966Z model_suffix: | |
| 23 | 2019-09-27T10:20:25.490601517Z n_layers_D: 3 | |
| 24 | 2019-09-27T10:20:25.490606454Z name: horse2zebra_pretrained [default: experiment_name] | |
| 25 | 2019-09-27T10:20:25.490611576Z ndf: 64 | |
| 26 | 2019-09-27T10:20:25.490616454Z netD: basic | |
| 27 | 2019-09-27T10:20:25.490621544Z netG: resnet_9blocks | |
| 28 | 2019-09-27T10:20:25.490626547Z ngf: 64 | |
| 29 | 2019-09-27T10:20:25.490631469Z no_dropout: True [default: False] | |
| 30 | 2019-09-27T10:20:25.490636289Z no_flip: False | |
| 31 | 2019-09-27T10:20:25.490641237Z norm: instance | |
| 32 | 2019-09-27T10:20:25.490665237Z ntest: inf | |
| 33 | 2019-09-27T10:20:25.490671327Z num_test: 50 | |
| 34 | 2019-09-27T10:20:25.490675957Z num_threads: 4 | |
| 35 | 2019-09-27T10:20:25.490682439Z output_nc: 3 | |
| 36 | 2019-09-27T10:20:25.490687457Z phase: test | |
| 37 | 2019-09-27T10:20:25.490692362Z preprocess: resize_and_crop | |
| 38 | 2019-09-27T10:20:25.490697037Z results_dir: ./results/ | |
| 39 | 2019-09-27T10:20:25.490701681Z serial_batches: False | |
| 40 | 2019-09-27T10:20:25.490706391Z suffix: | |
| 41 | 2019-09-27T10:20:25.490711516Z verbose: False | |
| 42 | 2019-09-27T10:20:25.490716266Z ----------------- End ------------------- | |
| 43 | 2019-09-27T10:20:25.526578736Z Traceback (most recent call last): | |
| 44 | 2019-09-27T10:20:25.526620675Z File "test.py", line 45, in <module> | |
| 45 | 2019-09-27T10:20:25.526628125Z dataset = create_dataset(opt) # create a dataset given opt.dataset_mode and other options | |
| 46 | 2019-09-27T10:20:25.526631663Z File "/home/jovyan/work/data/__init__.py", line 57, in create_dataset | |
| 47 | 2019-09-27T10:20:25.52663529Z data_loader = CustomDatasetDataLoader(opt) | |
| 48 | 2019-09-27T10:20:25.526638298Z File "/home/jovyan/work/data/__init__.py", line 73, in __init__ | |
| 49 | 2019-09-27T10:20:25.526641484Z self.dataset = dataset_class(opt) | |
| 50 | 2019-09-27T10:20:25.526644425Z File "/home/jovyan/work/data/single_dataset.py", line 19, in __init__ | |
| 51 | 2019-09-27T10:20:25.526647396Z self.A_paths = sorted(make_dataset(opt.dataroot, opt.max_dataset_size)) | |
| 52 | 2019-09-27T10:20:25.526650211Z File "/home/jovyan/work/data/image_folder.py", line 25, in make_dataset | |
| 53 | 2019-09-27T10:20:25.526653046Z assert os.path.isdir(dir), '%s is not a valid directory' % dir | |
| 54 | 2019-09-27T10:20:25.526656014Z AssertionError: /home/jovyan/work/datasets/horse2zebra/testA is not a valid directory | |
| 55 | 2019-09-27T10:20:26.028837139Z SYSTEM: Finishing... |
| 0 | 2019-09-27T10:27:49.751808342Z SYSTEM: Preparing env... | |
| 1 | 2019-09-27T10:28:05.003462668Z SYSTEM: Running... | |
| 2 | 2019-09-27T10:28:07.45737512Z ----------------- Options --------------- | |
| 3 | 2019-09-27T10:28:07.457414187Z aspect_ratio: 1.0 | |
| 4 | 2019-09-27T10:28:07.457419707Z batch_size: 1 | |
| 5 | 2019-09-27T10:28:07.457424905Z checkpoints_dir: ./checkpoints | |
| 6 | 2019-09-27T10:28:07.457429277Z crop_size: 256 | |
| 7 | 2019-09-27T10:28:07.457433753Z dataroot: datasets/horse2zebra/testA [default: None] | |
| 8 | 2019-09-27T10:28:07.457439185Z dataset_mode: single | |
| 9 | 2019-09-27T10:28:07.457443802Z direction: AtoB | |
| 10 | 2019-09-27T10:28:07.457448045Z display_winsize: 256 | |
| 11 | 2019-09-27T10:28:07.457452911Z epoch: latest | |
| 12 | 2019-09-27T10:28:07.457457162Z eval: False | |
| 13 | 2019-09-27T10:28:07.457462291Z gpu_ids: 0 | |
| 14 | 2019-09-27T10:28:07.457466976Z init_gain: 0.02 | |
| 15 | 2019-09-27T10:28:07.457472191Z init_type: normal | |
| 16 | 2019-09-27T10:28:07.457476721Z input_nc: 3 | |
| 17 | 2019-09-27T10:28:07.457481993Z isTrain: False [default: None] | |
| 18 | 2019-09-27T10:28:07.457487343Z load_iter: 0 [default: 0] | |
| 19 | 2019-09-27T10:28:07.4574923Z load_size: 256 | |
| 20 | 2019-09-27T10:28:07.457496893Z max_dataset_size: inf | |
| 21 | 2019-09-27T10:28:07.457501283Z model: test | |
| 22 | 2019-09-27T10:28:07.457506049Z model_suffix: | |
| 23 | 2019-09-27T10:28:07.457510715Z n_layers_D: 3 | |
| 24 | 2019-09-27T10:28:07.457515563Z name: horse2zebra_pretrained [default: experiment_name] | |
| 25 | 2019-09-27T10:28:07.457525889Z ndf: 64 | |
| 26 | 2019-09-27T10:28:07.45753121Z netD: basic | |
| 27 | 2019-09-27T10:28:07.45753654Z netG: resnet_9blocks | |
| 28 | 2019-09-27T10:28:07.457541216Z ngf: 64 | |
| 29 | 2019-09-27T10:28:07.457546193Z no_dropout: True [default: False] | |
| 30 | 2019-09-27T10:28:07.457551471Z no_flip: False | |
| 31 | 2019-09-27T10:28:07.457556101Z norm: instance | |
| 32 | 2019-09-27T10:28:07.457579811Z ntest: inf | |
| 33 | 2019-09-27T10:28:07.457585273Z num_test: 50 | |
| 34 | 2019-09-27T10:28:07.457589397Z num_threads: 4 | |
| 35 | 2019-09-27T10:28:07.457595239Z output_nc: 3 | |
| 36 | 2019-09-27T10:28:07.457599543Z phase: test | |
| 37 | 2019-09-27T10:28:07.457603877Z preprocess: resize_and_crop | |
| 38 | 2019-09-27T10:28:07.457608433Z results_dir: ./results/ | |
| 39 | 2019-09-27T10:28:07.457612511Z serial_batches: False | |
| 40 | 2019-09-27T10:28:07.4576169Z suffix: | |
| 41 | 2019-09-27T10:28:07.457621724Z verbose: False | |
| 42 | 2019-09-27T10:28:07.45762665Z ----------------- End ------------------- | |
| 43 | 2019-09-27T10:28:07.494690312Z Traceback (most recent call last): | |
| 44 | 2019-09-27T10:28:07.494746993Z File "test.py", line 45, in <module> | |
| 45 | 2019-09-27T10:28:07.494753527Z dataset = create_dataset(opt) # create a dataset given opt.dataset_mode and other options | |
| 46 | 2019-09-27T10:28:07.494756853Z File "/home/jovyan/work/data/__init__.py", line 57, in create_dataset | |
| 47 | 2019-09-27T10:28:07.494760235Z data_loader = CustomDatasetDataLoader(opt) | |
| 48 | 2019-09-27T10:28:07.49476328Z File "/home/jovyan/work/data/__init__.py", line 73, in __init__ | |
| 49 | 2019-09-27T10:28:07.494768242Z self.dataset = dataset_class(opt) | |
| 50 | 2019-09-27T10:28:07.494773183Z File "/home/jovyan/work/data/single_dataset.py", line 19, in __init__ | |
| 51 | 2019-09-27T10:28:07.494778273Z self.A_paths = sorted(make_dataset(opt.dataroot, opt.max_dataset_size)) | |
| 52 | 2019-09-27T10:28:07.494783054Z File "/home/jovyan/work/data/image_folder.py", line 25, in make_dataset | |
| 53 | 2019-09-27T10:28:07.494787867Z assert os.path.isdir(dir), '%s is not a valid directory' % dir | |
| 54 | 2019-09-27T10:28:07.494792675Z AssertionError: datasets/horse2zebra/testA is not a valid directory | |
| 55 | 2019-09-27T10:28:08.02650882Z SYSTEM: Finishing... |
| 0 | 2019-09-27T11:35:24.966133744Z SYSTEM: Preparing env... | |
| 1 | 2019-09-27T11:35:40.401083323Z SYSTEM: Running... | |
| 2 | 2019-09-27T11:35:42.261649937Z Traceback (most recent call last): | |
| 3 | 2019-09-27T11:35:42.261693465Z File "test.py", line 30, in <module> | |
| 4 | 2019-09-27T11:35:42.261698637Z from options.test_options import TestOptions | |
| 5 | 2019-09-27T11:35:42.261701889Z ImportError: No module named 'options' | |
| 6 | 2019-09-27T11:35:42.559770043Z SYSTEM: Finishing... |
| 0 | 2019-09-27T11:48:30.300141685Z SYSTEM: Preparing env... | |
| 1 | 2019-09-27T11:48:46.093646956Z SYSTEM: Running... | |
| 2 | 2019-09-27T11:48:48.670845795Z ----------------- Options --------------- | |
| 3 | 2019-09-27T11:48:48.67091611Z aspect_ratio: 1.0 | |
| 4 | 2019-09-27T11:48:48.67092393Z batch_size: 1 | |
| 5 | 2019-09-27T11:48:48.670929894Z checkpoints_dir: ./checkpoints | |
| 6 | 2019-09-27T11:48:48.670935108Z crop_size: 256 | |
| 7 | 2019-09-27T11:48:48.670940718Z dataroot: /testA [default: None] | |
| 8 | 2019-09-27T11:48:48.670946832Z dataset_mode: single | |
| 9 | 2019-09-27T11:48:48.67095225Z direction: AtoB | |
| 10 | 2019-09-27T11:48:48.670956928Z display_winsize: 256 | |
| 11 | 2019-09-27T11:48:48.670962028Z epoch: latest | |
| 12 | 2019-09-27T11:48:48.670967258Z eval: False | |
| 13 | 2019-09-27T11:48:48.670972851Z gpu_ids: 0 | |
| 14 | 2019-09-27T11:48:48.670978086Z init_gain: 0.02 | |
| 15 | 2019-09-27T11:48:48.670983264Z init_type: normal | |
| 16 | 2019-09-27T11:48:48.670988876Z input_nc: 3 | |
| 17 | 2019-09-27T11:48:48.670994292Z isTrain: False [default: None] | |
| 18 | 2019-09-27T11:48:48.670999576Z load_iter: 0 [default: 0] | |
| 19 | 2019-09-27T11:48:48.671005119Z load_size: 256 | |
| 20 | 2019-09-27T11:48:48.671010829Z max_dataset_size: inf | |
| 21 | 2019-09-27T11:48:48.671016301Z model: test | |
| 22 | 2019-09-27T11:48:48.671021706Z model_suffix: | |
| 23 | 2019-09-27T11:48:48.671026771Z n_layers_D: 3 | |
| 24 | 2019-09-27T11:48:48.671031159Z name: horse2zebra_pretrained [default: experiment_name] | |
| 25 | 2019-09-27T11:48:48.671039926Z ndf: 64 | |
| 26 | 2019-09-27T11:48:48.671044784Z netD: basic | |
| 27 | 2019-09-27T11:48:48.671049798Z netG: resnet_9blocks | |
| 28 | 2019-09-27T11:48:48.671055669Z ngf: 64 | |
| 29 | 2019-09-27T11:48:48.671061596Z no_dropout: True [default: False] | |
| 30 | 2019-09-27T11:48:48.671066861Z no_flip: False | |
| 31 | 2019-09-27T11:48:48.671072384Z norm: instance | |
| 32 | 2019-09-27T11:48:48.671093847Z ntest: inf | |
| 33 | 2019-09-27T11:48:48.671099986Z num_test: 50 | |
| 34 | 2019-09-27T11:48:48.671104909Z num_threads: 4 | |
| 35 | 2019-09-27T11:48:48.671111584Z output_nc: 3 | |
| 36 | 2019-09-27T11:48:48.671116797Z phase: test | |
| 37 | 2019-09-27T11:48:48.671122138Z preprocess: resize_and_crop | |
| 38 | 2019-09-27T11:48:48.671127131Z results_dir: ./results/ | |
| 39 | 2019-09-27T11:48:48.671132011Z serial_batches: False | |
| 40 | 2019-09-27T11:48:48.671136956Z suffix: | |
| 41 | 2019-09-27T11:48:48.671141446Z verbose: False | |
| 42 | 2019-09-27T11:48:48.671145883Z ----------------- End ------------------- | |
| 43 | 2019-09-27T11:48:48.711531403Z Traceback (most recent call last): | |
| 44 | 2019-09-27T11:48:48.711582406Z File "test.py", line 45, in <module> | |
| 45 | 2019-09-27T11:48:48.711591556Z dataset = create_dataset(opt) # create a dataset given opt.dataset_mode and other options | |
| 46 | 2019-09-27T11:48:48.711596242Z File "/home/jovyan/work/data/__init__.py", line 57, in create_dataset | |
| 47 | 2019-09-27T11:48:48.711599644Z data_loader = CustomDatasetDataLoader(opt) | |
| 48 | 2019-09-27T11:48:48.711602732Z File "/home/jovyan/work/data/__init__.py", line 73, in __init__ | |
| 49 | 2019-09-27T11:48:48.711605962Z self.dataset = dataset_class(opt) | |
| 50 | 2019-09-27T11:48:48.711608881Z File "/home/jovyan/work/data/single_dataset.py", line 19, in __init__ | |
| 51 | 2019-09-27T11:48:48.711611737Z self.A_paths = sorted(make_dataset(opt.dataroot, opt.max_dataset_size)) | |
| 52 | 2019-09-27T11:48:48.711614529Z File "/home/jovyan/work/data/image_folder.py", line 25, in make_dataset | |
| 53 | 2019-09-27T11:48:48.711625552Z assert os.path.isdir(dir), '%s is not a valid directory' % dir | |
| 54 | 2019-09-27T11:48:48.711629658Z AssertionError: /testA is not a valid directory | |
| 55 | 2019-09-27T11:48:49.279546461Z SYSTEM: Finishing... |
| 0 | 2019-09-27T11:56:19.308132767Z SYSTEM: Preparing env... | |
| 1 | 2019-09-27T11:56:34.870612034Z SYSTEM: Running... | |
| 2 | 2019-09-27T11:56:36.70846034Z Traceback (most recent call last): | |
| 3 | 2019-09-27T11:56:36.708526237Z File "test.py", line 30, in <module> | |
| 4 | 2019-09-27T11:56:36.708534393Z from options.test_options import TestOptions | |
| 5 | 2019-09-27T11:56:36.708539654Z ImportError: No module named 'options' | |
| 6 | 2019-09-27T11:56:37.030632022Z SYSTEM: Finishing... |
| 0 | 2019-09-27T12:16:24.500992863Z SYSTEM: Preparing env... | |
| 1 | 2019-09-27T12:16:40.133139965Z SYSTEM: Running... | |
| 2 | 2019-09-27T12:16:42.665989537Z ----------------- Options --------------- | |
| 3 | 2019-09-27T12:16:42.666056152Z aspect_ratio: 1.0 | |
| 4 | 2019-09-27T12:16:42.666061718Z batch_size: 1 | |
| 5 | 2019-09-27T12:16:42.666065068Z checkpoints_dir: ./checkpoints | |
| 6 | 2019-09-27T12:16:42.666068134Z crop_size: 256 | |
| 7 | 2019-09-27T12:16:42.666071532Z dataroot: testA [default: None] | |
| 8 | 2019-09-27T12:16:42.666075522Z dataset_mode: single | |
| 9 | 2019-09-27T12:16:42.666078452Z direction: AtoB | |
| 10 | 2019-09-27T12:16:42.666081218Z display_winsize: 256 | |
| 11 | 2019-09-27T12:16:42.666083964Z epoch: latest | |
| 12 | 2019-09-27T12:16:42.666086811Z eval: False | |
| 13 | 2019-09-27T12:16:42.666089544Z gpu_ids: 0 | |
| 14 | 2019-09-27T12:16:42.666092265Z init_gain: 0.02 | |
| 15 | 2019-09-27T12:16:42.666095104Z init_type: normal | |
| 16 | 2019-09-27T12:16:42.666097838Z input_nc: 3 | |
| 17 | 2019-09-27T12:16:42.666100595Z isTrain: False [default: None] | |
| 18 | 2019-09-27T12:16:42.666103501Z load_iter: 0 [default: 0] | |
| 19 | 2019-09-27T12:16:42.66610648Z load_size: 256 | |
| 20 | 2019-09-27T12:16:42.66610933Z max_dataset_size: inf | |
| 21 | 2019-09-27T12:16:42.666112104Z model: test | |
| 22 | 2019-09-27T12:16:42.666114968Z model_suffix: | |
| 23 | 2019-09-27T12:16:42.666117865Z n_layers_D: 3 | |
| 24 | 2019-09-27T12:16:42.666120618Z name: horse2zebra_pretrained [default: experiment_name] | |
| 25 | 2019-09-27T12:16:42.666125435Z ndf: 64 | |
| 26 | 2019-09-27T12:16:42.666128191Z netD: basic | |
| 27 | 2019-09-27T12:16:42.666130899Z netG: resnet_9blocks | |
| 28 | 2019-09-27T12:16:42.66613366Z ngf: 64 | |
| 29 | 2019-09-27T12:16:42.666136439Z no_dropout: True [default: False] | |
| 30 | 2019-09-27T12:16:42.666139266Z no_flip: False | |
| 31 | 2019-09-27T12:16:42.666141986Z norm: instance | |
| 32 | 2019-09-27T12:16:42.66616149Z ntest: inf | |
| 33 | 2019-09-27T12:16:42.666165114Z num_test: 50 | |
| 34 | 2019-09-27T12:16:42.66616795Z num_threads: 4 | |
| 35 | 2019-09-27T12:16:42.666171684Z output_nc: 3 | |
| 36 | 2019-09-27T12:16:42.666174474Z phase: test | |
| 37 | 2019-09-27T12:16:42.666177258Z preprocess: resize_and_crop | |
| 38 | 2019-09-27T12:16:42.666180049Z results_dir: ./results/ | |
| 39 | 2019-09-27T12:16:42.666182799Z serial_batches: False | |
| 40 | 2019-09-27T12:16:42.666185502Z suffix: | |
| 41 | 2019-09-27T12:16:42.666188261Z verbose: False | |
| 42 | 2019-09-27T12:16:42.666191036Z ----------------- End ------------------- | |
| 43 | 2019-09-27T12:16:42.708123086Z dataset [SingleDataset] was created | |
| 44 | 2019-09-27T12:16:48.842788305Z initialize network with normal | |
| 45 | 2019-09-27T12:16:48.847337466Z model [TestModel] was created | |
| 46 | 2019-09-27T12:16:48.847384872Z loading the model from ./checkpoints/horse2zebra_pretrained/latest_net_G.pth | |
| 47 | 2019-09-27T12:16:48.885973529Z ---------- Networks initialized ------------- | |
| 48 | 2019-09-27T12:16:48.886013591Z [Network G] Total number of parameters : 11.378 M | |
| 49 | 2019-09-27T12:16:48.886017724Z ----------------------------------------------- | |
| 50 | 2019-09-27T12:16:49.186482057Z processing (0000)-th image... ['testA/n02381460_1000.jpg'] | |
| 51 | 2019-09-27T12:16:49.510459912Z processing (0005)-th image... ['testA/n02381460_1110.jpg'] | |
| 52 | 2019-09-27T12:16:49.833504913Z processing (0010)-th image... ['testA/n02381460_1260.jpg'] | |
| 53 | 2019-09-27T12:16:50.152477324Z processing (0015)-th image... ['testA/n02381460_1420.jpg'] | |
| 54 | 2019-09-27T12:16:50.447507266Z processing (0020)-th image... ['testA/n02381460_1690.jpg'] | |
| 55 | 2019-09-27T12:16:50.761435237Z processing (0025)-th image... ['testA/n02381460_1830.jpg'] | |
| 56 | 2019-09-27T12:16:51.070599059Z processing (0030)-th image... ['testA/n02381460_2050.jpg'] | |
| 57 | 2019-09-27T12:16:51.373487636Z processing (0035)-th image... ['testA/n02381460_2460.jpg'] | |
| 58 | 2019-09-27T12:16:51.693437657Z processing (0040)-th image... ['testA/n02381460_2870.jpg'] | |
| 59 | 2019-09-27T12:16:52.031885605Z processing (0045)-th image... ['testA/n02381460_3040.jpg'] | |
| 60 | 2019-09-27T12:16:53.239424148Z SYSTEM: Finishing... |
| 0 | import torch | |
| 1 | import itertools | |
| 2 | from util.image_pool import ImagePool | |
| 3 | from .base_model import BaseModel | |
| 4 | from . import networks | |
| 5 | ||
| 6 | ||
| 7 | class CycleGANModel(BaseModel): | |
| 8 | """ | |
| 9 | This class implements the CycleGAN model, for learning image-to-image translation without paired data. | |
| 10 | ||
| 11 | The model training requires '--dataset_mode unaligned' dataset. | |
| 12 | By default, it uses a '--netG resnet_9blocks' ResNet generator, | |
| 13 | a '--netD basic' discriminator (PatchGAN introduced by pix2pix), | |
| 14 | and a least-square GANs objective ('--gan_mode lsgan'). | |
| 15 | ||
| 16 | CycleGAN paper: https://arxiv.org/pdf/1703.10593.pdf | |
| 17 | """ | |
| 18 | @staticmethod | |
| 19 | def modify_commandline_options(parser, is_train=True): | |
| 20 | """Add new dataset-specific options, and rewrite default values for existing options. | |
| 21 | ||
| 22 | Parameters: | |
| 23 | parser -- original option parser | |
| 24 | is_train (bool) -- whether training phase or test phase. You can use this flag to add training-specific or test-specific options. | |
| 25 | ||
| 26 | Returns: | |
| 27 | the modified parser. | |
| 28 | ||
| 29 | For CycleGAN, in addition to GAN losses, we introduce lambda_A, lambda_B, and lambda_identity for the following losses. | |
| 30 | A (source domain), B (target domain). | |
| 31 | Generators: G_A: A -> B; G_B: B -> A. | |
| 32 | Discriminators: D_A: G_A(A) vs. B; D_B: G_B(B) vs. A. | |
| 33 | Forward cycle loss: lambda_A * ||G_B(G_A(A)) - A|| (Eqn. (2) in the paper) | |
| 34 | Backward cycle loss: lambda_B * ||G_A(G_B(B)) - B|| (Eqn. (2) in the paper) | |
| 35 | Identity loss (optional): lambda_identity * (||G_A(B) - B|| * lambda_B + ||G_B(A) - A|| * lambda_A) (Sec 5.2 "Photo generation from paintings" in the paper) | |
| 36 | Dropout is not used in the original CycleGAN paper. | |
| 37 | """ | |
| 38 | parser.set_defaults(no_dropout=True) # default CycleGAN did not use dropout | |
| 39 | if is_train: | |
| 40 | parser.add_argument('--lambda_A', type=float, default=10.0, help='weight for cycle loss (A -> B -> A)') | |
| 41 | parser.add_argument('--lambda_B', type=float, default=10.0, help='weight for cycle loss (B -> A -> B)') | |
| 42 | parser.add_argument('--lambda_identity', type=float, default=0.5, help='use identity mapping. Setting lambda_identity other than 0 has an effect of scaling the weight of the identity mapping loss. For example, if the weight of the identity loss should be 10 times smaller than the weight of the reconstruction loss, please set lambda_identity = 0.1') | |
| 43 | ||
| 44 | return parser | |
| 45 | ||
| 46 | def __init__(self, opt): | |
| 47 | """Initialize the CycleGAN class. | |
| 48 | ||
| 49 | Parameters: | |
| 50 | opt (Option class)-- stores all the experiment flags; needs to be a subclass of BaseOptions | |
| 51 | """ | |
| 52 | BaseModel.__init__(self, opt) | |
| 53 | # specify the training losses you want to print out. The training/test scripts will call <BaseModel.get_current_losses> | |
| 54 | self.loss_names = ['D_A', 'G_A', 'cycle_A', 'idt_A', 'D_B', 'G_B', 'cycle_B', 'idt_B'] | |
| 55 | # specify the images you want to save/display. The training/test scripts will call <BaseModel.get_current_visuals> | |
| 56 | visual_names_A = ['real_A', 'fake_B', 'rec_A'] | |
| 57 | visual_names_B = ['real_B', 'fake_A', 'rec_B'] | |
| 58 | if self.isTrain and self.opt.lambda_identity > 0.0: # if identity loss is used, we also visualize idt_B=G_A(B) ad idt_A=G_A(B) | |
| 59 | visual_names_A.append('idt_B') | |
| 60 | visual_names_B.append('idt_A') | |
| 61 | ||
| 62 | self.visual_names = visual_names_A + visual_names_B # combine visualizations for A and B | |
| 63 | # specify the models you want to save to the disk. The training/test scripts will call <BaseModel.save_networks> and <BaseModel.load_networks>. | |
| 64 | if self.isTrain: | |
| 65 | self.model_names = ['G_A', 'G_B', 'D_A', 'D_B'] | |
| 66 | else: # during test time, only load Gs | |
| 67 | self.model_names = ['G_A', 'G_B'] | |
| 68 | ||
| 69 | # define networks (both Generators and discriminators) | |
| 70 | # The naming is different from those used in the paper. | |
| 71 | # Code (vs. paper): G_A (G), G_B (F), D_A (D_Y), D_B (D_X) | |
| 72 | self.netG_A = networks.define_G(opt.input_nc, opt.output_nc, opt.ngf, opt.netG, opt.norm, | |
| 73 | not opt.no_dropout, opt.init_type, opt.init_gain, self.gpu_ids) | |
| 74 | self.netG_B = networks.define_G(opt.output_nc, opt.input_nc, opt.ngf, opt.netG, opt.norm, | |
| 75 | not opt.no_dropout, opt.init_type, opt.init_gain, self.gpu_ids) | |
| 76 | ||
| 77 | if self.isTrain: # define discriminators | |
| 78 | self.netD_A = networks.define_D(opt.output_nc, opt.ndf, opt.netD, | |
| 79 | opt.n_layers_D, opt.norm, opt.init_type, opt.init_gain, self.gpu_ids) | |
| 80 | self.netD_B = networks.define_D(opt.input_nc, opt.ndf, opt.netD, | |
| 81 | opt.n_layers_D, opt.norm, opt.init_type, opt.init_gain, self.gpu_ids) | |
| 82 | ||
| 83 | if self.isTrain: | |
| 84 | if opt.lambda_identity > 0.0: # only works when input and output images have the same number of channels | |
| 85 | assert(opt.input_nc == opt.output_nc) | |
| 86 | self.fake_A_pool = ImagePool(opt.pool_size) # create image buffer to store previously generated images | |
| 87 | self.fake_B_pool = ImagePool(opt.pool_size) # create image buffer to store previously generated images | |
| 88 | # define loss functions | |
| 89 | self.criterionGAN = networks.GANLoss(opt.gan_mode).to(self.device) # define GAN loss. | |
| 90 | self.criterionCycle = torch.nn.L1Loss() | |
| 91 | self.criterionIdt = torch.nn.L1Loss() | |
| 92 | # initialize optimizers; schedulers will be automatically created by function <BaseModel.setup>. | |
| 93 | self.optimizer_G = torch.optim.Adam(itertools.chain(self.netG_A.parameters(), self.netG_B.parameters()), lr=opt.lr, betas=(opt.beta1, 0.999)) | |
| 94 | self.optimizer_D = torch.optim.Adam(itertools.chain(self.netD_A.parameters(), self.netD_B.parameters()), lr=opt.lr, betas=(opt.beta1, 0.999)) | |
| 95 | self.optimizers.append(self.optimizer_G) | |
| 96 | self.optimizers.append(self.optimizer_D) | |
| 97 | ||
| 98 | def set_input(self, input): | |
| 99 | """Unpack input data from the dataloader and perform necessary pre-processing steps. | |
| 100 | ||
| 101 | Parameters: | |
| 102 | input (dict): include the data itself and its metadata information. | |
| 103 | ||
| 104 | The option 'direction' can be used to swap domain A and domain B. | |
| 105 | """ | |
| 106 | AtoB = self.opt.direction == 'AtoB' | |
| 107 | self.real_A = input['A' if AtoB else 'B'].to(self.device) | |
| 108 | self.real_B = input['B' if AtoB else 'A'].to(self.device) | |
| 109 | self.image_paths = input['A_paths' if AtoB else 'B_paths'] | |
| 110 | ||
| 111 | def forward(self): | |
| 112 | """Run forward pass; called by both functions <optimize_parameters> and <test>.""" | |
| 113 | self.fake_B = self.netG_A(self.real_A) # G_A(A) | |
| 114 | self.rec_A = self.netG_B(self.fake_B) # G_B(G_A(A)) | |
| 115 | self.fake_A = self.netG_B(self.real_B) # G_B(B) | |
| 116 | self.rec_B = self.netG_A(self.fake_A) # G_A(G_B(B)) | |
| 117 | ||
| 118 | def backward_D_basic(self, netD, real, fake): | |
| 119 | """Calculate GAN loss for the discriminator | |
| 120 | ||
| 121 | Parameters: | |
| 122 | netD (network) -- the discriminator D | |
| 123 | real (tensor array) -- real images | |
| 124 | fake (tensor array) -- images generated by a generator | |
| 125 | ||
| 126 | Return the discriminator loss. | |
| 127 | We also call loss_D.backward() to calculate the gradients. | |
| 128 | """ | |
| 129 | # Real | |
| 130 | pred_real = netD(real) | |
| 131 | loss_D_real = self.criterionGAN(pred_real, True) | |
| 132 | # Fake | |
| 133 | pred_fake = netD(fake.detach()) | |
| 134 | loss_D_fake = self.criterionGAN(pred_fake, False) | |
| 135 | # Combined loss and calculate gradients | |
| 136 | loss_D = (loss_D_real + loss_D_fake) * 0.5 | |
| 137 | loss_D.backward() | |
| 138 | return loss_D | |
| 139 | ||
| 140 | def backward_D_A(self): | |
| 141 | """Calculate GAN loss for discriminator D_A""" | |
| 142 | fake_B = self.fake_B_pool.query(self.fake_B) | |
| 143 | self.loss_D_A = self.backward_D_basic(self.netD_A, self.real_B, fake_B) | |
| 144 | ||
| 145 | def backward_D_B(self): | |
| 146 | """Calculate GAN loss for discriminator D_B""" | |
| 147 | fake_A = self.fake_A_pool.query(self.fake_A) | |
| 148 | self.loss_D_B = self.backward_D_basic(self.netD_B, self.real_A, fake_A) | |
| 149 | ||
| 150 | def backward_G(self): | |
| 151 | """Calculate the loss for generators G_A and G_B""" | |
| 152 | lambda_idt = self.opt.lambda_identity | |
| 153 | lambda_A = self.opt.lambda_A | |
| 154 | lambda_B = self.opt.lambda_B | |
| 155 | # Identity loss | |
| 156 | if lambda_idt > 0: | |
| 157 | # G_A should be identity if real_B is fed: ||G_A(B) - B|| | |
| 158 | self.idt_A = self.netG_A(self.real_B) | |
| 159 | self.loss_idt_A = self.criterionIdt(self.idt_A, self.real_B) * lambda_B * lambda_idt | |
| 160 | # G_B should be identity if real_A is fed: ||G_B(A) - A|| | |
| 161 | self.idt_B = self.netG_B(self.real_A) | |
| 162 | self.loss_idt_B = self.criterionIdt(self.idt_B, self.real_A) * lambda_A * lambda_idt | |
| 163 | else: | |
| 164 | self.loss_idt_A = 0 | |
| 165 | self.loss_idt_B = 0 | |
| 166 | ||
| 167 | # GAN loss D_A(G_A(A)) | |
| 168 | self.loss_G_A = self.criterionGAN(self.netD_A(self.fake_B), True) | |
| 169 | # GAN loss D_B(G_B(B)) | |
| 170 | self.loss_G_B = self.criterionGAN(self.netD_B(self.fake_A), True) | |
| 171 | # Forward cycle loss || G_B(G_A(A)) - A|| | |
| 172 | self.loss_cycle_A = self.criterionCycle(self.rec_A, self.real_A) * lambda_A | |
| 173 | # Backward cycle loss || G_A(G_B(B)) - B|| | |
| 174 | self.loss_cycle_B = self.criterionCycle(self.rec_B, self.real_B) * lambda_B | |
| 175 | # combined loss and calculate gradients | |
| 176 | self.loss_G = self.loss_G_A + self.loss_G_B + self.loss_cycle_A + self.loss_cycle_B + self.loss_idt_A + self.loss_idt_B | |
| 177 | self.loss_G.backward() | |
| 178 | ||
| 179 | def optimize_parameters(self): | |
| 180 | """Calculate losses, gradients, and update network weights; called in every training iteration""" | |
| 181 | # forward | |
| 182 | self.forward() # compute fake images and reconstruction images. | |
| 183 | # G_A and G_B | |
| 184 | self.set_requires_grad([self.netD_A, self.netD_B], False) # Ds require no gradients when optimizing Gs | |
| 185 | self.optimizer_G.zero_grad() # set G_A and G_B's gradients to zero | |
| 186 | self.backward_G() # calculate gradients for G_A and G_B | |
| 187 | self.optimizer_G.step() # update G_A and G_B's weights | |
| 188 | # D_A and D_B | |
| 189 | self.set_requires_grad([self.netD_A, self.netD_B], True) | |
| 190 | self.optimizer_D.zero_grad() # set D_A and D_B's gradients to zero | |
| 191 | self.backward_D_A() # calculate gradients for D_A | |
| 192 | self.backward_D_B() # calculate graidents for D_B | |
| 193 | self.optimizer_D.step() # update D_A and D_B's weights |
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
| 0 | <!DOCTYPE html> | |
| 1 | <html> | |
| 2 | <head> | |
| 3 | <title>Experiment = horse2zebra_pretrained, Phase = test, Epoch = latest</title> | |
| 4 | </head> | |
| 5 | <body> | |
| 6 | <h3>n02381460_1000</h3> | |
| 7 | <table border="1" style="table-layout: fixed;"> | |
| 8 | <tr> | |
| 9 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 10 | <p> | |
| 11 | <a href="images/n02381460_1000_real.png"> | |
| 12 | <img src="images/n02381460_1000_real.png" style="width:256px"> | |
| 13 | </a><br> | |
| 14 | <p>real</p> | |
| 15 | </p> | |
| 16 | </td> | |
| 17 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 18 | <p> | |
| 19 | <a href="images/n02381460_1000_fake.png"> | |
| 20 | <img src="images/n02381460_1000_fake.png" style="width:256px"> | |
| 21 | </a><br> | |
| 22 | <p>fake</p> | |
| 23 | </p> | |
| 24 | </td> | |
| 25 | </tr> | |
| 26 | </table> | |
| 27 | <h3>n02381460_1010</h3> | |
| 28 | <table border="1" style="table-layout: fixed;"> | |
| 29 | <tr> | |
| 30 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 31 | <p> | |
| 32 | <a href="images/n02381460_1010_real.png"> | |
| 33 | <img src="images/n02381460_1010_real.png" style="width:256px"> | |
| 34 | </a><br> | |
| 35 | <p>real</p> | |
| 36 | </p> | |
| 37 | </td> | |
| 38 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 39 | <p> | |
| 40 | <a href="images/n02381460_1010_fake.png"> | |
| 41 | <img src="images/n02381460_1010_fake.png" style="width:256px"> | |
| 42 | </a><br> | |
| 43 | <p>fake</p> | |
| 44 | </p> | |
| 45 | </td> | |
| 46 | </tr> | |
| 47 | </table> | |
| 48 | <h3>n02381460_1030</h3> | |
| 49 | <table border="1" style="table-layout: fixed;"> | |
| 50 | <tr> | |
| 51 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 52 | <p> | |
| 53 | <a href="images/n02381460_1030_real.png"> | |
| 54 | <img src="images/n02381460_1030_real.png" style="width:256px"> | |
| 55 | </a><br> | |
| 56 | <p>real</p> | |
| 57 | </p> | |
| 58 | </td> | |
| 59 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 60 | <p> | |
| 61 | <a href="images/n02381460_1030_fake.png"> | |
| 62 | <img src="images/n02381460_1030_fake.png" style="width:256px"> | |
| 63 | </a><br> | |
| 64 | <p>fake</p> | |
| 65 | </p> | |
| 66 | </td> | |
| 67 | </tr> | |
| 68 | </table> | |
| 69 | <h3>n02381460_1090</h3> | |
| 70 | <table border="1" style="table-layout: fixed;"> | |
| 71 | <tr> | |
| 72 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 73 | <p> | |
| 74 | <a href="images/n02381460_1090_real.png"> | |
| 75 | <img src="images/n02381460_1090_real.png" style="width:256px"> | |
| 76 | </a><br> | |
| 77 | <p>real</p> | |
| 78 | </p> | |
| 79 | </td> | |
| 80 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 81 | <p> | |
| 82 | <a href="images/n02381460_1090_fake.png"> | |
| 83 | <img src="images/n02381460_1090_fake.png" style="width:256px"> | |
| 84 | </a><br> | |
| 85 | <p>fake</p> | |
| 86 | </p> | |
| 87 | </td> | |
| 88 | </tr> | |
| 89 | </table> | |
| 90 | <h3>n02381460_1100</h3> | |
| 91 | <table border="1" style="table-layout: fixed;"> | |
| 92 | <tr> | |
| 93 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 94 | <p> | |
| 95 | <a href="images/n02381460_1100_real.png"> | |
| 96 | <img src="images/n02381460_1100_real.png" style="width:256px"> | |
| 97 | </a><br> | |
| 98 | <p>real</p> | |
| 99 | </p> | |
| 100 | </td> | |
| 101 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 102 | <p> | |
| 103 | <a href="images/n02381460_1100_fake.png"> | |
| 104 | <img src="images/n02381460_1100_fake.png" style="width:256px"> | |
| 105 | </a><br> | |
| 106 | <p>fake</p> | |
| 107 | </p> | |
| 108 | </td> | |
| 109 | </tr> | |
| 110 | </table> | |
| 111 | <h3>n02381460_1110</h3> | |
| 112 | <table border="1" style="table-layout: fixed;"> | |
| 113 | <tr> | |
| 114 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 115 | <p> | |
| 116 | <a href="images/n02381460_1110_real.png"> | |
| 117 | <img src="images/n02381460_1110_real.png" style="width:256px"> | |
| 118 | </a><br> | |
| 119 | <p>real</p> | |
| 120 | </p> | |
| 121 | </td> | |
| 122 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 123 | <p> | |
| 124 | <a href="images/n02381460_1110_fake.png"> | |
| 125 | <img src="images/n02381460_1110_fake.png" style="width:256px"> | |
| 126 | </a><br> | |
| 127 | <p>fake</p> | |
| 128 | </p> | |
| 129 | </td> | |
| 130 | </tr> | |
| 131 | </table> | |
| 132 | <h3>n02381460_1120</h3> | |
| 133 | <table border="1" style="table-layout: fixed;"> | |
| 134 | <tr> | |
| 135 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 136 | <p> | |
| 137 | <a href="images/n02381460_1120_real.png"> | |
| 138 | <img src="images/n02381460_1120_real.png" style="width:256px"> | |
| 139 | </a><br> | |
| 140 | <p>real</p> | |
| 141 | </p> | |
| 142 | </td> | |
| 143 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 144 | <p> | |
| 145 | <a href="images/n02381460_1120_fake.png"> | |
| 146 | <img src="images/n02381460_1120_fake.png" style="width:256px"> | |
| 147 | </a><br> | |
| 148 | <p>fake</p> | |
| 149 | </p> | |
| 150 | </td> | |
| 151 | </tr> | |
| 152 | </table> | |
| 153 | <h3>n02381460_1160</h3> | |
| 154 | <table border="1" style="table-layout: fixed;"> | |
| 155 | <tr> | |
| 156 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 157 | <p> | |
| 158 | <a href="images/n02381460_1160_real.png"> | |
| 159 | <img src="images/n02381460_1160_real.png" style="width:256px"> | |
| 160 | </a><br> | |
| 161 | <p>real</p> | |
| 162 | </p> | |
| 163 | </td> | |
| 164 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 165 | <p> | |
| 166 | <a href="images/n02381460_1160_fake.png"> | |
| 167 | <img src="images/n02381460_1160_fake.png" style="width:256px"> | |
| 168 | </a><br> | |
| 169 | <p>fake</p> | |
| 170 | </p> | |
| 171 | </td> | |
| 172 | </tr> | |
| 173 | </table> | |
| 174 | <h3>n02381460_120</h3> | |
| 175 | <table border="1" style="table-layout: fixed;"> | |
| 176 | <tr> | |
| 177 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 178 | <p> | |
| 179 | <a href="images/n02381460_120_real.png"> | |
| 180 | <img src="images/n02381460_120_real.png" style="width:256px"> | |
| 181 | </a><br> | |
| 182 | <p>real</p> | |
| 183 | </p> | |
| 184 | </td> | |
| 185 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 186 | <p> | |
| 187 | <a href="images/n02381460_120_fake.png"> | |
| 188 | <img src="images/n02381460_120_fake.png" style="width:256px"> | |
| 189 | </a><br> | |
| 190 | <p>fake</p> | |
| 191 | </p> | |
| 192 | </td> | |
| 193 | </tr> | |
| 194 | </table> | |
| 195 | <h3>n02381460_1210</h3> | |
| 196 | <table border="1" style="table-layout: fixed;"> | |
| 197 | <tr> | |
| 198 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 199 | <p> | |
| 200 | <a href="images/n02381460_1210_real.png"> | |
| 201 | <img src="images/n02381460_1210_real.png" style="width:256px"> | |
| 202 | </a><br> | |
| 203 | <p>real</p> | |
| 204 | </p> | |
| 205 | </td> | |
| 206 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 207 | <p> | |
| 208 | <a href="images/n02381460_1210_fake.png"> | |
| 209 | <img src="images/n02381460_1210_fake.png" style="width:256px"> | |
| 210 | </a><br> | |
| 211 | <p>fake</p> | |
| 212 | </p> | |
| 213 | </td> | |
| 214 | </tr> | |
| 215 | </table> | |
| 216 | <h3>n02381460_1260</h3> | |
| 217 | <table border="1" style="table-layout: fixed;"> | |
| 218 | <tr> | |
| 219 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 220 | <p> | |
| 221 | <a href="images/n02381460_1260_real.png"> | |
| 222 | <img src="images/n02381460_1260_real.png" style="width:256px"> | |
| 223 | </a><br> | |
| 224 | <p>real</p> | |
| 225 | </p> | |
| 226 | </td> | |
| 227 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 228 | <p> | |
| 229 | <a href="images/n02381460_1260_fake.png"> | |
| 230 | <img src="images/n02381460_1260_fake.png" style="width:256px"> | |
| 231 | </a><br> | |
| 232 | <p>fake</p> | |
| 233 | </p> | |
| 234 | </td> | |
| 235 | </tr> | |
| 236 | </table> | |
| 237 | <h3>n02381460_1300</h3> | |
| 238 | <table border="1" style="table-layout: fixed;"> | |
| 239 | <tr> | |
| 240 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 241 | <p> | |
| 242 | <a href="images/n02381460_1300_real.png"> | |
| 243 | <img src="images/n02381460_1300_real.png" style="width:256px"> | |
| 244 | </a><br> | |
| 245 | <p>real</p> | |
| 246 | </p> | |
| 247 | </td> | |
| 248 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 249 | <p> | |
| 250 | <a href="images/n02381460_1300_fake.png"> | |
| 251 | <img src="images/n02381460_1300_fake.png" style="width:256px"> | |
| 252 | </a><br> | |
| 253 | <p>fake</p> | |
| 254 | </p> | |
| 255 | </td> | |
| 256 | </tr> | |
| 257 | </table> | |
| 258 | <h3>n02381460_1350</h3> | |
| 259 | <table border="1" style="table-layout: fixed;"> | |
| 260 | <tr> | |
| 261 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 262 | <p> | |
| 263 | <a href="images/n02381460_1350_real.png"> | |
| 264 | <img src="images/n02381460_1350_real.png" style="width:256px"> | |
| 265 | </a><br> | |
| 266 | <p>real</p> | |
| 267 | </p> | |
| 268 | </td> | |
| 269 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 270 | <p> | |
| 271 | <a href="images/n02381460_1350_fake.png"> | |
| 272 | <img src="images/n02381460_1350_fake.png" style="width:256px"> | |
| 273 | </a><br> | |
| 274 | <p>fake</p> | |
| 275 | </p> | |
| 276 | </td> | |
| 277 | </tr> | |
| 278 | </table> | |
| 279 | <h3>n02381460_1360</h3> | |
| 280 | <table border="1" style="table-layout: fixed;"> | |
| 281 | <tr> | |
| 282 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 283 | <p> | |
| 284 | <a href="images/n02381460_1360_real.png"> | |
| 285 | <img src="images/n02381460_1360_real.png" style="width:256px"> | |
| 286 | </a><br> | |
| 287 | <p>real</p> | |
| 288 | </p> | |
| 289 | </td> | |
| 290 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 291 | <p> | |
| 292 | <a href="images/n02381460_1360_fake.png"> | |
| 293 | <img src="images/n02381460_1360_fake.png" style="width:256px"> | |
| 294 | </a><br> | |
| 295 | <p>fake</p> | |
| 296 | </p> | |
| 297 | </td> | |
| 298 | </tr> | |
| 299 | </table> | |
| 300 | <h3>n02381460_140</h3> | |
| 301 | <table border="1" style="table-layout: fixed;"> | |
| 302 | <tr> | |
| 303 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 304 | <p> | |
| 305 | <a href="images/n02381460_140_real.png"> | |
| 306 | <img src="images/n02381460_140_real.png" style="width:256px"> | |
| 307 | </a><br> | |
| 308 | <p>real</p> | |
| 309 | </p> | |
| 310 | </td> | |
| 311 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 312 | <p> | |
| 313 | <a href="images/n02381460_140_fake.png"> | |
| 314 | <img src="images/n02381460_140_fake.png" style="width:256px"> | |
| 315 | </a><br> | |
| 316 | <p>fake</p> | |
| 317 | </p> | |
| 318 | </td> | |
| 319 | </tr> | |
| 320 | </table> | |
| 321 | <h3>n02381460_1420</h3> | |
| 322 | <table border="1" style="table-layout: fixed;"> | |
| 323 | <tr> | |
| 324 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 325 | <p> | |
| 326 | <a href="images/n02381460_1420_real.png"> | |
| 327 | <img src="images/n02381460_1420_real.png" style="width:256px"> | |
| 328 | </a><br> | |
| 329 | <p>real</p> | |
| 330 | </p> | |
| 331 | </td> | |
| 332 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 333 | <p> | |
| 334 | <a href="images/n02381460_1420_fake.png"> | |
| 335 | <img src="images/n02381460_1420_fake.png" style="width:256px"> | |
| 336 | </a><br> | |
| 337 | <p>fake</p> | |
| 338 | </p> | |
| 339 | </td> | |
| 340 | </tr> | |
| 341 | </table> | |
| 342 | <h3>n02381460_1540</h3> | |
| 343 | <table border="1" style="table-layout: fixed;"> | |
| 344 | <tr> | |
| 345 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 346 | <p> | |
| 347 | <a href="images/n02381460_1540_real.png"> | |
| 348 | <img src="images/n02381460_1540_real.png" style="width:256px"> | |
| 349 | </a><br> | |
| 350 | <p>real</p> | |
| 351 | </p> | |
| 352 | </td> | |
| 353 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 354 | <p> | |
| 355 | <a href="images/n02381460_1540_fake.png"> | |
| 356 | <img src="images/n02381460_1540_fake.png" style="width:256px"> | |
| 357 | </a><br> | |
| 358 | <p>fake</p> | |
| 359 | </p> | |
| 360 | </td> | |
| 361 | </tr> | |
| 362 | </table> | |
| 363 | <h3>n02381460_1620</h3> | |
| 364 | <table border="1" style="table-layout: fixed;"> | |
| 365 | <tr> | |
| 366 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 367 | <p> | |
| 368 | <a href="images/n02381460_1620_real.png"> | |
| 369 | <img src="images/n02381460_1620_real.png" style="width:256px"> | |
| 370 | </a><br> | |
| 371 | <p>real</p> | |
| 372 | </p> | |
| 373 | </td> | |
| 374 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 375 | <p> | |
| 376 | <a href="images/n02381460_1620_fake.png"> | |
| 377 | <img src="images/n02381460_1620_fake.png" style="width:256px"> | |
| 378 | </a><br> | |
| 379 | <p>fake</p> | |
| 380 | </p> | |
| 381 | </td> | |
| 382 | </tr> | |
| 383 | </table> | |
| 384 | <h3>n02381460_1630</h3> | |
| 385 | <table border="1" style="table-layout: fixed;"> | |
| 386 | <tr> | |
| 387 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 388 | <p> | |
| 389 | <a href="images/n02381460_1630_real.png"> | |
| 390 | <img src="images/n02381460_1630_real.png" style="width:256px"> | |
| 391 | </a><br> | |
| 392 | <p>real</p> | |
| 393 | </p> | |
| 394 | </td> | |
| 395 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 396 | <p> | |
| 397 | <a href="images/n02381460_1630_fake.png"> | |
| 398 | <img src="images/n02381460_1630_fake.png" style="width:256px"> | |
| 399 | </a><br> | |
| 400 | <p>fake</p> | |
| 401 | </p> | |
| 402 | </td> | |
| 403 | </tr> | |
| 404 | </table> | |
| 405 | <h3>n02381460_1660</h3> | |
| 406 | <table border="1" style="table-layout: fixed;"> | |
| 407 | <tr> | |
| 408 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 409 | <p> | |
| 410 | <a href="images/n02381460_1660_real.png"> | |
| 411 | <img src="images/n02381460_1660_real.png" style="width:256px"> | |
| 412 | </a><br> | |
| 413 | <p>real</p> | |
| 414 | </p> | |
| 415 | </td> | |
| 416 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 417 | <p> | |
| 418 | <a href="images/n02381460_1660_fake.png"> | |
| 419 | <img src="images/n02381460_1660_fake.png" style="width:256px"> | |
| 420 | </a><br> | |
| 421 | <p>fake</p> | |
| 422 | </p> | |
| 423 | </td> | |
| 424 | </tr> | |
| 425 | </table> | |
| 426 | <h3>n02381460_1690</h3> | |
| 427 | <table border="1" style="table-layout: fixed;"> | |
| 428 | <tr> | |
| 429 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 430 | <p> | |
| 431 | <a href="images/n02381460_1690_real.png"> | |
| 432 | <img src="images/n02381460_1690_real.png" style="width:256px"> | |
| 433 | </a><br> | |
| 434 | <p>real</p> | |
| 435 | </p> | |
| 436 | </td> | |
| 437 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 438 | <p> | |
| 439 | <a href="images/n02381460_1690_fake.png"> | |
| 440 | <img src="images/n02381460_1690_fake.png" style="width:256px"> | |
| 441 | </a><br> | |
| 442 | <p>fake</p> | |
| 443 | </p> | |
| 444 | </td> | |
| 445 | </tr> | |
| 446 | </table> | |
| 447 | <h3>n02381460_1740</h3> | |
| 448 | <table border="1" style="table-layout: fixed;"> | |
| 449 | <tr> | |
| 450 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 451 | <p> | |
| 452 | <a href="images/n02381460_1740_real.png"> | |
| 453 | <img src="images/n02381460_1740_real.png" style="width:256px"> | |
| 454 | </a><br> | |
| 455 | <p>real</p> | |
| 456 | </p> | |
| 457 | </td> | |
| 458 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 459 | <p> | |
| 460 | <a href="images/n02381460_1740_fake.png"> | |
| 461 | <img src="images/n02381460_1740_fake.png" style="width:256px"> | |
| 462 | </a><br> | |
| 463 | <p>fake</p> | |
| 464 | </p> | |
| 465 | </td> | |
| 466 | </tr> | |
| 467 | </table> | |
| 468 | <h3>n02381460_1750</h3> | |
| 469 | <table border="1" style="table-layout: fixed;"> | |
| 470 | <tr> | |
| 471 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 472 | <p> | |
| 473 | <a href="images/n02381460_1750_real.png"> | |
| 474 | <img src="images/n02381460_1750_real.png" style="width:256px"> | |
| 475 | </a><br> | |
| 476 | <p>real</p> | |
| 477 | </p> | |
| 478 | </td> | |
| 479 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 480 | <p> | |
| 481 | <a href="images/n02381460_1750_fake.png"> | |
| 482 | <img src="images/n02381460_1750_fake.png" style="width:256px"> | |
| 483 | </a><br> | |
| 484 | <p>fake</p> | |
| 485 | </p> | |
| 486 | </td> | |
| 487 | </tr> | |
| 488 | </table> | |
| 489 | <h3>n02381460_180</h3> | |
| 490 | <table border="1" style="table-layout: fixed;"> | |
| 491 | <tr> | |
| 492 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 493 | <p> | |
| 494 | <a href="images/n02381460_180_real.png"> | |
| 495 | <img src="images/n02381460_180_real.png" style="width:256px"> | |
| 496 | </a><br> | |
| 497 | <p>real</p> | |
| 498 | </p> | |
| 499 | </td> | |
| 500 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 501 | <p> | |
| 502 | <a href="images/n02381460_180_fake.png"> | |
| 503 | <img src="images/n02381460_180_fake.png" style="width:256px"> | |
| 504 | </a><br> | |
| 505 | <p>fake</p> | |
| 506 | </p> | |
| 507 | </td> | |
| 508 | </tr> | |
| 509 | </table> | |
| 510 | <h3>n02381460_1820</h3> | |
| 511 | <table border="1" style="table-layout: fixed;"> | |
| 512 | <tr> | |
| 513 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 514 | <p> | |
| 515 | <a href="images/n02381460_1820_real.png"> | |
| 516 | <img src="images/n02381460_1820_real.png" style="width:256px"> | |
| 517 | </a><br> | |
| 518 | <p>real</p> | |
| 519 | </p> | |
| 520 | </td> | |
| 521 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 522 | <p> | |
| 523 | <a href="images/n02381460_1820_fake.png"> | |
| 524 | <img src="images/n02381460_1820_fake.png" style="width:256px"> | |
| 525 | </a><br> | |
| 526 | <p>fake</p> | |
| 527 | </p> | |
| 528 | </td> | |
| 529 | </tr> | |
| 530 | </table> | |
| 531 | <h3>n02381460_1830</h3> | |
| 532 | <table border="1" style="table-layout: fixed;"> | |
| 533 | <tr> | |
| 534 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 535 | <p> | |
| 536 | <a href="images/n02381460_1830_real.png"> | |
| 537 | <img src="images/n02381460_1830_real.png" style="width:256px"> | |
| 538 | </a><br> | |
| 539 | <p>real</p> | |
| 540 | </p> | |
| 541 | </td> | |
| 542 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 543 | <p> | |
| 544 | <a href="images/n02381460_1830_fake.png"> | |
| 545 | <img src="images/n02381460_1830_fake.png" style="width:256px"> | |
| 546 | </a><br> | |
| 547 | <p>fake</p> | |
| 548 | </p> | |
| 549 | </td> | |
| 550 | </tr> | |
| 551 | </table> | |
| 552 | <h3>n02381460_1870</h3> | |
| 553 | <table border="1" style="table-layout: fixed;"> | |
| 554 | <tr> | |
| 555 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 556 | <p> | |
| 557 | <a href="images/n02381460_1870_real.png"> | |
| 558 | <img src="images/n02381460_1870_real.png" style="width:256px"> | |
| 559 | </a><br> | |
| 560 | <p>real</p> | |
| 561 | </p> | |
| 562 | </td> | |
| 563 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 564 | <p> | |
| 565 | <a href="images/n02381460_1870_fake.png"> | |
| 566 | <img src="images/n02381460_1870_fake.png" style="width:256px"> | |
| 567 | </a><br> | |
| 568 | <p>fake</p> | |
| 569 | </p> | |
| 570 | </td> | |
| 571 | </tr> | |
| 572 | </table> | |
| 573 | <h3>n02381460_1920</h3> | |
| 574 | <table border="1" style="table-layout: fixed;"> | |
| 575 | <tr> | |
| 576 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 577 | <p> | |
| 578 | <a href="images/n02381460_1920_real.png"> | |
| 579 | <img src="images/n02381460_1920_real.png" style="width:256px"> | |
| 580 | </a><br> | |
| 581 | <p>real</p> | |
| 582 | </p> | |
| 583 | </td> | |
| 584 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 585 | <p> | |
| 586 | <a href="images/n02381460_1920_fake.png"> | |
| 587 | <img src="images/n02381460_1920_fake.png" style="width:256px"> | |
| 588 | </a><br> | |
| 589 | <p>fake</p> | |
| 590 | </p> | |
| 591 | </td> | |
| 592 | </tr> | |
| 593 | </table> | |
| 594 | <h3>n02381460_20</h3> | |
| 595 | <table border="1" style="table-layout: fixed;"> | |
| 596 | <tr> | |
| 597 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 598 | <p> | |
| 599 | <a href="images/n02381460_20_real.png"> | |
| 600 | <img src="images/n02381460_20_real.png" style="width:256px"> | |
| 601 | </a><br> | |
| 602 | <p>real</p> | |
| 603 | </p> | |
| 604 | </td> | |
| 605 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 606 | <p> | |
| 607 | <a href="images/n02381460_20_fake.png"> | |
| 608 | <img src="images/n02381460_20_fake.png" style="width:256px"> | |
| 609 | </a><br> | |
| 610 | <p>fake</p> | |
| 611 | </p> | |
| 612 | </td> | |
| 613 | </tr> | |
| 614 | </table> | |
| 615 | <h3>n02381460_200</h3> | |
| 616 | <table border="1" style="table-layout: fixed;"> | |
| 617 | <tr> | |
| 618 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 619 | <p> | |
| 620 | <a href="images/n02381460_200_real.png"> | |
| 621 | <img src="images/n02381460_200_real.png" style="width:256px"> | |
| 622 | </a><br> | |
| 623 | <p>real</p> | |
| 624 | </p> | |
| 625 | </td> | |
| 626 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 627 | <p> | |
| 628 | <a href="images/n02381460_200_fake.png"> | |
| 629 | <img src="images/n02381460_200_fake.png" style="width:256px"> | |
| 630 | </a><br> | |
| 631 | <p>fake</p> | |
| 632 | </p> | |
| 633 | </td> | |
| 634 | </tr> | |
| 635 | </table> | |
| 636 | <h3>n02381460_2050</h3> | |
| 637 | <table border="1" style="table-layout: fixed;"> | |
| 638 | <tr> | |
| 639 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 640 | <p> | |
| 641 | <a href="images/n02381460_2050_real.png"> | |
| 642 | <img src="images/n02381460_2050_real.png" style="width:256px"> | |
| 643 | </a><br> | |
| 644 | <p>real</p> | |
| 645 | </p> | |
| 646 | </td> | |
| 647 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 648 | <p> | |
| 649 | <a href="images/n02381460_2050_fake.png"> | |
| 650 | <img src="images/n02381460_2050_fake.png" style="width:256px"> | |
| 651 | </a><br> | |
| 652 | <p>fake</p> | |
| 653 | </p> | |
| 654 | </td> | |
| 655 | </tr> | |
| 656 | </table> | |
| 657 | <h3>n02381460_2100</h3> | |
| 658 | <table border="1" style="table-layout: fixed;"> | |
| 659 | <tr> | |
| 660 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 661 | <p> | |
| 662 | <a href="images/n02381460_2100_real.png"> | |
| 663 | <img src="images/n02381460_2100_real.png" style="width:256px"> | |
| 664 | </a><br> | |
| 665 | <p>real</p> | |
| 666 | </p> | |
| 667 | </td> | |
| 668 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 669 | <p> | |
| 670 | <a href="images/n02381460_2100_fake.png"> | |
| 671 | <img src="images/n02381460_2100_fake.png" style="width:256px"> | |
| 672 | </a><br> | |
| 673 | <p>fake</p> | |
| 674 | </p> | |
| 675 | </td> | |
| 676 | </tr> | |
| 677 | </table> | |
| 678 | <h3>n02381460_2120</h3> | |
| 679 | <table border="1" style="table-layout: fixed;"> | |
| 680 | <tr> | |
| 681 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 682 | <p> | |
| 683 | <a href="images/n02381460_2120_real.png"> | |
| 684 | <img src="images/n02381460_2120_real.png" style="width:256px"> | |
| 685 | </a><br> | |
| 686 | <p>real</p> | |
| 687 | </p> | |
| 688 | </td> | |
| 689 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 690 | <p> | |
| 691 | <a href="images/n02381460_2120_fake.png"> | |
| 692 | <img src="images/n02381460_2120_fake.png" style="width:256px"> | |
| 693 | </a><br> | |
| 694 | <p>fake</p> | |
| 695 | </p> | |
| 696 | </td> | |
| 697 | </tr> | |
| 698 | </table> | |
| 699 | <h3>n02381460_2150</h3> | |
| 700 | <table border="1" style="table-layout: fixed;"> | |
| 701 | <tr> | |
| 702 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 703 | <p> | |
| 704 | <a href="images/n02381460_2150_real.png"> | |
| 705 | <img src="images/n02381460_2150_real.png" style="width:256px"> | |
| 706 | </a><br> | |
| 707 | <p>real</p> | |
| 708 | </p> | |
| 709 | </td> | |
| 710 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 711 | <p> | |
| 712 | <a href="images/n02381460_2150_fake.png"> | |
| 713 | <img src="images/n02381460_2150_fake.png" style="width:256px"> | |
| 714 | </a><br> | |
| 715 | <p>fake</p> | |
| 716 | </p> | |
| 717 | </td> | |
| 718 | </tr> | |
| 719 | </table> | |
| 720 | <h3>n02381460_2280</h3> | |
| 721 | <table border="1" style="table-layout: fixed;"> | |
| 722 | <tr> | |
| 723 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 724 | <p> | |
| 725 | <a href="images/n02381460_2280_real.png"> | |
| 726 | <img src="images/n02381460_2280_real.png" style="width:256px"> | |
| 727 | </a><br> | |
| 728 | <p>real</p> | |
| 729 | </p> | |
| 730 | </td> | |
| 731 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 732 | <p> | |
| 733 | <a href="images/n02381460_2280_fake.png"> | |
| 734 | <img src="images/n02381460_2280_fake.png" style="width:256px"> | |
| 735 | </a><br> | |
| 736 | <p>fake</p> | |
| 737 | </p> | |
| 738 | </td> | |
| 739 | </tr> | |
| 740 | </table> | |
| 741 | <h3>n02381460_2460</h3> | |
| 742 | <table border="1" style="table-layout: fixed;"> | |
| 743 | <tr> | |
| 744 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 745 | <p> | |
| 746 | <a href="images/n02381460_2460_real.png"> | |
| 747 | <img src="images/n02381460_2460_real.png" style="width:256px"> | |
| 748 | </a><br> | |
| 749 | <p>real</p> | |
| 750 | </p> | |
| 751 | </td> | |
| 752 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 753 | <p> | |
| 754 | <a href="images/n02381460_2460_fake.png"> | |
| 755 | <img src="images/n02381460_2460_fake.png" style="width:256px"> | |
| 756 | </a><br> | |
| 757 | <p>fake</p> | |
| 758 | </p> | |
| 759 | </td> | |
| 760 | </tr> | |
| 761 | </table> | |
| 762 | <h3>n02381460_2540</h3> | |
| 763 | <table border="1" style="table-layout: fixed;"> | |
| 764 | <tr> | |
| 765 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 766 | <p> | |
| 767 | <a href="images/n02381460_2540_real.png"> | |
| 768 | <img src="images/n02381460_2540_real.png" style="width:256px"> | |
| 769 | </a><br> | |
| 770 | <p>real</p> | |
| 771 | </p> | |
| 772 | </td> | |
| 773 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 774 | <p> | |
| 775 | <a href="images/n02381460_2540_fake.png"> | |
| 776 | <img src="images/n02381460_2540_fake.png" style="width:256px"> | |
| 777 | </a><br> | |
| 778 | <p>fake</p> | |
| 779 | </p> | |
| 780 | </td> | |
| 781 | </tr> | |
| 782 | </table> | |
| 783 | <h3>n02381460_2580</h3> | |
| 784 | <table border="1" style="table-layout: fixed;"> | |
| 785 | <tr> | |
| 786 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 787 | <p> | |
| 788 | <a href="images/n02381460_2580_real.png"> | |
| 789 | <img src="images/n02381460_2580_real.png" style="width:256px"> | |
| 790 | </a><br> | |
| 791 | <p>real</p> | |
| 792 | </p> | |
| 793 | </td> | |
| 794 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 795 | <p> | |
| 796 | <a href="images/n02381460_2580_fake.png"> | |
| 797 | <img src="images/n02381460_2580_fake.png" style="width:256px"> | |
| 798 | </a><br> | |
| 799 | <p>fake</p> | |
| 800 | </p> | |
| 801 | </td> | |
| 802 | </tr> | |
| 803 | </table> | |
| 804 | <h3>n02381460_2650</h3> | |
| 805 | <table border="1" style="table-layout: fixed;"> | |
| 806 | <tr> | |
| 807 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 808 | <p> | |
| 809 | <a href="images/n02381460_2650_real.png"> | |
| 810 | <img src="images/n02381460_2650_real.png" style="width:256px"> | |
| 811 | </a><br> | |
| 812 | <p>real</p> | |
| 813 | </p> | |
| 814 | </td> | |
| 815 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 816 | <p> | |
| 817 | <a href="images/n02381460_2650_fake.png"> | |
| 818 | <img src="images/n02381460_2650_fake.png" style="width:256px"> | |
| 819 | </a><br> | |
| 820 | <p>fake</p> | |
| 821 | </p> | |
| 822 | </td> | |
| 823 | </tr> | |
| 824 | </table> | |
| 825 | <h3>n02381460_2710</h3> | |
| 826 | <table border="1" style="table-layout: fixed;"> | |
| 827 | <tr> | |
| 828 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 829 | <p> | |
| 830 | <a href="images/n02381460_2710_real.png"> | |
| 831 | <img src="images/n02381460_2710_real.png" style="width:256px"> | |
| 832 | </a><br> | |
| 833 | <p>real</p> | |
| 834 | </p> | |
| 835 | </td> | |
| 836 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 837 | <p> | |
| 838 | <a href="images/n02381460_2710_fake.png"> | |
| 839 | <img src="images/n02381460_2710_fake.png" style="width:256px"> | |
| 840 | </a><br> | |
| 841 | <p>fake</p> | |
| 842 | </p> | |
| 843 | </td> | |
| 844 | </tr> | |
| 845 | </table> | |
| 846 | <h3>n02381460_2870</h3> | |
| 847 | <table border="1" style="table-layout: fixed;"> | |
| 848 | <tr> | |
| 849 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 850 | <p> | |
| 851 | <a href="images/n02381460_2870_real.png"> | |
| 852 | <img src="images/n02381460_2870_real.png" style="width:256px"> | |
| 853 | </a><br> | |
| 854 | <p>real</p> | |
| 855 | </p> | |
| 856 | </td> | |
| 857 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 858 | <p> | |
| 859 | <a href="images/n02381460_2870_fake.png"> | |
| 860 | <img src="images/n02381460_2870_fake.png" style="width:256px"> | |
| 861 | </a><br> | |
| 862 | <p>fake</p> | |
| 863 | </p> | |
| 864 | </td> | |
| 865 | </tr> | |
| 866 | </table> | |
| 867 | <h3>n02381460_2890</h3> | |
| 868 | <table border="1" style="table-layout: fixed;"> | |
| 869 | <tr> | |
| 870 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 871 | <p> | |
| 872 | <a href="images/n02381460_2890_real.png"> | |
| 873 | <img src="images/n02381460_2890_real.png" style="width:256px"> | |
| 874 | </a><br> | |
| 875 | <p>real</p> | |
| 876 | </p> | |
| 877 | </td> | |
| 878 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 879 | <p> | |
| 880 | <a href="images/n02381460_2890_fake.png"> | |
| 881 | <img src="images/n02381460_2890_fake.png" style="width:256px"> | |
| 882 | </a><br> | |
| 883 | <p>fake</p> | |
| 884 | </p> | |
| 885 | </td> | |
| 886 | </tr> | |
| 887 | </table> | |
| 888 | <h3>n02381460_2940</h3> | |
| 889 | <table border="1" style="table-layout: fixed;"> | |
| 890 | <tr> | |
| 891 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 892 | <p> | |
| 893 | <a href="images/n02381460_2940_real.png"> | |
| 894 | <img src="images/n02381460_2940_real.png" style="width:256px"> | |
| 895 | </a><br> | |
| 896 | <p>real</p> | |
| 897 | </p> | |
| 898 | </td> | |
| 899 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 900 | <p> | |
| 901 | <a href="images/n02381460_2940_fake.png"> | |
| 902 | <img src="images/n02381460_2940_fake.png" style="width:256px"> | |
| 903 | </a><br> | |
| 904 | <p>fake</p> | |
| 905 | </p> | |
| 906 | </td> | |
| 907 | </tr> | |
| 908 | </table> | |
| 909 | <h3>n02381460_2950</h3> | |
| 910 | <table border="1" style="table-layout: fixed;"> | |
| 911 | <tr> | |
| 912 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 913 | <p> | |
| 914 | <a href="images/n02381460_2950_real.png"> | |
| 915 | <img src="images/n02381460_2950_real.png" style="width:256px"> | |
| 916 | </a><br> | |
| 917 | <p>real</p> | |
| 918 | </p> | |
| 919 | </td> | |
| 920 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 921 | <p> | |
| 922 | <a href="images/n02381460_2950_fake.png"> | |
| 923 | <img src="images/n02381460_2950_fake.png" style="width:256px"> | |
| 924 | </a><br> | |
| 925 | <p>fake</p> | |
| 926 | </p> | |
| 927 | </td> | |
| 928 | </tr> | |
| 929 | </table> | |
| 930 | <h3>n02381460_3010</h3> | |
| 931 | <table border="1" style="table-layout: fixed;"> | |
| 932 | <tr> | |
| 933 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 934 | <p> | |
| 935 | <a href="images/n02381460_3010_real.png"> | |
| 936 | <img src="images/n02381460_3010_real.png" style="width:256px"> | |
| 937 | </a><br> | |
| 938 | <p>real</p> | |
| 939 | </p> | |
| 940 | </td> | |
| 941 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 942 | <p> | |
| 943 | <a href="images/n02381460_3010_fake.png"> | |
| 944 | <img src="images/n02381460_3010_fake.png" style="width:256px"> | |
| 945 | </a><br> | |
| 946 | <p>fake</p> | |
| 947 | </p> | |
| 948 | </td> | |
| 949 | </tr> | |
| 950 | </table> | |
| 951 | <h3>n02381460_3040</h3> | |
| 952 | <table border="1" style="table-layout: fixed;"> | |
| 953 | <tr> | |
| 954 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 955 | <p> | |
| 956 | <a href="images/n02381460_3040_real.png"> | |
| 957 | <img src="images/n02381460_3040_real.png" style="width:256px"> | |
| 958 | </a><br> | |
| 959 | <p>real</p> | |
| 960 | </p> | |
| 961 | </td> | |
| 962 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 963 | <p> | |
| 964 | <a href="images/n02381460_3040_fake.png"> | |
| 965 | <img src="images/n02381460_3040_fake.png" style="width:256px"> | |
| 966 | </a><br> | |
| 967 | <p>fake</p> | |
| 968 | </p> | |
| 969 | </td> | |
| 970 | </tr> | |
| 971 | </table> | |
| 972 | <h3>n02381460_3110</h3> | |
| 973 | <table border="1" style="table-layout: fixed;"> | |
| 974 | <tr> | |
| 975 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 976 | <p> | |
| 977 | <a href="images/n02381460_3110_real.png"> | |
| 978 | <img src="images/n02381460_3110_real.png" style="width:256px"> | |
| 979 | </a><br> | |
| 980 | <p>real</p> | |
| 981 | </p> | |
| 982 | </td> | |
| 983 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 984 | <p> | |
| 985 | <a href="images/n02381460_3110_fake.png"> | |
| 986 | <img src="images/n02381460_3110_fake.png" style="width:256px"> | |
| 987 | </a><br> | |
| 988 | <p>fake</p> | |
| 989 | </p> | |
| 990 | </td> | |
| 991 | </tr> | |
| 992 | </table> | |
| 993 | <h3>n02381460_3120</h3> | |
| 994 | <table border="1" style="table-layout: fixed;"> | |
| 995 | <tr> | |
| 996 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 997 | <p> | |
| 998 | <a href="images/n02381460_3120_real.png"> | |
| 999 | <img src="images/n02381460_3120_real.png" style="width:256px"> | |
| 1000 | </a><br> | |
| 1001 | <p>real</p> | |
| 1002 | </p> | |
| 1003 | </td> | |
| 1004 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 1005 | <p> | |
| 1006 | <a href="images/n02381460_3120_fake.png"> | |
| 1007 | <img src="images/n02381460_3120_fake.png" style="width:256px"> | |
| 1008 | </a><br> | |
| 1009 | <p>fake</p> | |
| 1010 | </p> | |
| 1011 | </td> | |
| 1012 | </tr> | |
| 1013 | </table> | |
| 1014 | <h3>n02381460_3240</h3> | |
| 1015 | <table border="1" style="table-layout: fixed;"> | |
| 1016 | <tr> | |
| 1017 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 1018 | <p> | |
| 1019 | <a href="images/n02381460_3240_real.png"> | |
| 1020 | <img src="images/n02381460_3240_real.png" style="width:256px"> | |
| 1021 | </a><br> | |
| 1022 | <p>real</p> | |
| 1023 | </p> | |
| 1024 | </td> | |
| 1025 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 1026 | <p> | |
| 1027 | <a href="images/n02381460_3240_fake.png"> | |
| 1028 | <img src="images/n02381460_3240_fake.png" style="width:256px"> | |
| 1029 | </a><br> | |
| 1030 | <p>fake</p> | |
| 1031 | </p> | |
| 1032 | </td> | |
| 1033 | </tr> | |
| 1034 | </table> | |
| 1035 | <h3>n02381460_3330</h3> | |
| 1036 | <table border="1" style="table-layout: fixed;"> | |
| 1037 | <tr> | |
| 1038 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 1039 | <p> | |
| 1040 | <a href="images/n02381460_3330_real.png"> | |
| 1041 | <img src="images/n02381460_3330_real.png" style="width:256px"> | |
| 1042 | </a><br> | |
| 1043 | <p>real</p> | |
| 1044 | </p> | |
| 1045 | </td> | |
| 1046 | <td halign="center" style="word-wrap: break-word;" valign="top"> | |
| 1047 | <p> | |
| 1048 | <a href="images/n02381460_3330_fake.png"> | |
| 1049 | <img src="images/n02381460_3330_fake.png" style="width:256px"> | |
| 1050 | </a><br> | |
| 1051 | <p>fake</p> | |
| 1052 | </p> | |
| 1053 | </td> | |
| 1054 | </tr> | |
| 1055 | </table> | |
| 1056 | </body> | |
| 1057 | </html>⏎ |
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown
Binary diff not shown