f5eee81
update lzfxxx 6 years ago
238 changed file(s) with 1742 addition(s) and 13 deletion(s). Raw diff Collapse all Expand all
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 -------------------
11 "cells": [
22 {
33 "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": [],
157 "source": [
168 "print('Hello Mo!')"
179 ]
130122 "cell_type": "code",
131123 "execution_count": null,
132124 "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 ]
135272 }
136273 ],
137274 "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
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