File size: 17,372 Bytes
43dfe98
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
{
"is_master": true,
"name": "text",
"cmd": "--depth=17 --bs=768 --ep=350 --fp16=1 --alng=1e-4 --wpe=0.01 --tblr=8e-5 --data_path /mnt/localssd/ImageNet2012/ --workers 12 --vfast 2 --tfast 2 --encoder_model vit_base_patch14_dinov2.lvd142m --decoder_model vit_base_patch14_dinov2.lvd142m --product_quant 2 --semantic_guide dinov2 --num_latent_tokens 121 --codebook_embed_dim 32 --codebook_size 16384 --v_patch_nums 1 1 2 3 3 4 5 6 8 11 --pn 1_1_2_3_3_4_5_6_8_11 --patch_size 11 --local_out_dir_path /sensei-fs/users/xiangl/exp93_var_d17 --vae_ckpt /sensei-fs/users/xiangl/output/exp93/best_ckpt.pt --sem_half True",
"commit": "c034aa8fbfa681dbb83d2f2ecd0938c6deae241a",
"branch": "main",
"tb_log_dir_path": "/sensei-fs/users/xiangl/exp93_var_d17/tb-VARd17__pn1_1_2_3_3_4_5_6_8_11__b768ep350adamlr8e-05wd0.05"
}

{'it': '1669/1669', 'ep': '341/350', 'lr': 8.96254023452003e-06, 'wd': 0.05, 'grad_norm': 0.5473900437355042, 'L_mean': 6.433681102097035, 'L_tail': 5.648640094697475, 'acc_mean': 5.511363766854629, 'acc_tail': 8.314501650165766, 'vL_mean': 6.445389270782471, 'vL_tail': 5.63563871383667, 'vacc_mean': 5.430510520935059, 'vacc_tail': 8.279362678527832, 'remain_time': '1:14:16', 'finish_time': '2024-10-14 17:05'}
{'it': '1669/1669', 'ep': '341/350', 'lr': 8.96254023452003e-06, 'wd': 0.05, 'grad_norm': 0.5473900437355042, 'L_mean': 6.433681102097035, 'L_tail': 5.648640094697475, 'acc_mean': 5.511363766854629, 'acc_tail': 8.314501650165766, 'vL_mean': None, 'vL_tail': None, 'vacc_mean': None, 'vacc_tail': None, 'remain_time': '1:14:16', 'finish_time': '2024-10-14 17:05'}
{'it': '1669/1669', 'ep': '341/350', 'lr': 8.96254023452003e-06, 'wd': 0.05, 'grad_norm': 0.5473900437355042, 'L_mean': 6.433681102097035, 'L_tail': 5.648640094697475, 'acc_mean': 5.511363766854629, 'acc_tail': 8.314501650165766, 'vL_mean': None, 'vL_tail': None, 'vacc_mean': None, 'vacc_tail': None, 'remain_time': '1:14:15', 'finish_time': '2024-10-14 17:05'}
{'it': '1669/1669', 'ep': '341/350', 'lr': 8.96254023452003e-06, 'wd': 0.05, 'grad_norm': 0.5473900437355042, 'L_mean': 6.433681102097035, 'L_tail': 5.648640094697475, 'acc_mean': 5.511363766854629, 'acc_tail': 8.314501650165766, 'vL_mean': None, 'vL_tail': None, 'vacc_mean': None, 'vacc_tail': None, 'remain_time': '1:14:15', 'finish_time': '2024-10-14 17:05'}
{'it': '1669/1669', 'ep': '342/350', 'lr': 8.233369097351142e-06, 'wd': 0.05, 'grad_norm': 0.5476447463035583, 'L_mean': 6.445144492387771, 'L_tail': 5.6523069307208065, 'acc_mean': 5.443527962779626, 'acc_tail': 8.247137670405209, 'vL_mean': None, 'vL_tail': None, 'vacc_mean': None, 'vacc_tail': None, 'remain_time': '1:05:57', 'finish_time': '2024-10-14 17:05'}
{'it': '1669/1669', 'ep': '342/350', 'lr': 8.233369097351142e-06, 'wd': 0.05, 'grad_norm': 0.5476447463035583, 'L_mean': 6.445144492387771, 'L_tail': 5.6523069307208065, 'acc_mean': 5.443527962779626, 'acc_tail': 8.247137670405209, 'vL_mean': None, 'vL_tail': None, 'vacc_mean': None, 'vacc_tail': None, 'remain_time': '1:05:56', 'finish_time': '2024-10-14 17:05'}
{'it': '1669/1669', 'ep': '342/350', 'lr': 8.233369097351142e-06, 'wd': 0.05, 'grad_norm': 0.5476447463035583, 'L_mean': 6.445144492387771, 'L_tail': 5.6523069307208065, 'acc_mean': 5.443527962779626, 'acc_tail': 8.247137670405209, 'vL_mean': None, 'vL_tail': None, 'vacc_mean': None, 'vacc_tail': None, 'remain_time': '1:05:56', 'finish_time': '2024-10-14 17:05'}
{'it': '1669/1669', 'ep': '342/350', 'lr': 8.233369097351142e-06, 'wd': 0.05, 'grad_norm': 0.5476447463035583, 'L_mean': 6.445144492387771, 'L_tail': 5.6523069307208065, 'acc_mean': 5.443527962779626, 'acc_tail': 8.247137670405209, 'vL_mean': 6.445389270782471, 'vL_tail': 5.63563871383667, 'vacc_mean': 5.430510520935059, 'vacc_tail': 8.279362678527832, 'remain_time': '1:05:56', 'finish_time': '2024-10-14 17:05'}
{'it': '1669/1669', 'ep': '343/350', 'lr': 7.504197960182226e-06, 'wd': 0.05, 'grad_norm': 0.5450207829475403, 'L_mean': 6.443811978399753, 'L_tail': 5.661173848807811, 'acc_mean': 5.473120748065412, 'acc_tail': 8.251980134518817, 'vL_mean': 6.445389270782471, 'vL_tail': 5.63563871383667, 'vacc_mean': 5.430510520935059, 'vacc_tail': 8.279362678527832, 'remain_time': '0:57:49', 'finish_time': '2024-10-14 17:05'}
{'it': '1669/1669', 'ep': '343/350', 'lr': 7.504197960182226e-06, 'wd': 0.05, 'grad_norm': 0.5450207829475403, 'L_mean': 6.443811978399753, 'L_tail': 5.661173848807811, 'acc_mean': 5.473120748065412, 'acc_tail': 8.251980134518817, 'vL_mean': None, 'vL_tail': None, 'vacc_mean': None, 'vacc_tail': None, 'remain_time': '0:57:50', 'finish_time': '2024-10-14 17:05'}
{'it': '1669/1669', 'ep': '343/350', 'lr': 7.504197960182226e-06, 'wd': 0.05, 'grad_norm': 0.5450207829475403, 'L_mean': 6.443811978399753, 'L_tail': 5.661173848807811, 'acc_mean': 5.473120748065412, 'acc_tail': 8.251980134518817, 'vL_mean': None, 'vL_tail': None, 'vacc_mean': None, 'vacc_tail': None, 'remain_time': '0:57:50', 'finish_time': '2024-10-14 17:05'}
{'it': '1669/1669', 'ep': '343/350', 'lr': 7.504197960182226e-06, 'wd': 0.05, 'grad_norm': 0.5450207829475403, 'L_mean': 6.443811978399753, 'L_tail': 5.661173848807811, 'acc_mean': 5.473120748065412, 'acc_tail': 8.251980134518817, 'vL_mean': None, 'vL_tail': None, 'vacc_mean': None, 'vacc_tail': None, 'remain_time': '0:57:49', 'finish_time': '2024-10-14 17:05'}
{'it': '1669/1669', 'ep': '344/350', 'lr': 6.7750268230133365e-06, 'wd': 0.05, 'grad_norm': 0.5527177333831788, 'L_mean': 6.436290611326695, 'L_tail': 5.647532154619694, 'acc_mean': 5.491650394396856, 'acc_tail': 8.295131849590689, 'vL_mean': None, 'vL_tail': None, 'vacc_mean': None, 'vacc_tail': None, 'remain_time': '0:49:36', 'finish_time': '2024-10-14 17:05'}
{'it': '1669/1669', 'ep': '344/350', 'lr': 6.7750268230133365e-06, 'wd': 0.05, 'grad_norm': 0.5527177333831788, 'L_mean': 6.436290611326695, 'L_tail': 5.647532154619694, 'acc_mean': 5.491650394396856, 'acc_tail': 8.295131849590689, 'vL_mean': None, 'vL_tail': None, 'vacc_mean': None, 'vacc_tail': None, 'remain_time': '0:49:36', 'finish_time': '2024-10-14 17:05'}
{'it': '1669/1669', 'ep': '344/350', 'lr': 6.7750268230133365e-06, 'wd': 0.05, 'grad_norm': 0.5527177333831788, 'L_mean': 6.436290611326695, 'L_tail': 5.647532154619694, 'acc_mean': 5.491650394396856, 'acc_tail': 8.295131849590689, 'vL_mean': 6.445389270782471, 'vL_tail': 5.63563871383667, 'vacc_mean': 5.430510520935059, 'vacc_tail': 8.279362678527832, 'remain_time': '0:49:37', 'finish_time': '2024-10-14 17:05'}
{'it': '1669/1669', 'ep': '344/350', 'lr': 6.7750268230133365e-06, 'wd': 0.05, 'grad_norm': 0.5527177333831788, 'L_mean': 6.436290611326695, 'L_tail': 5.647532154619694, 'acc_mean': 5.491650394396856, 'acc_tail': 8.295131849590689, 'vL_mean': None, 'vL_tail': None, 'vacc_mean': None, 'vacc_tail': None, 'remain_time': '0:49:36', 'finish_time': '2024-10-14 17:05'}
{'it': '1669/1669', 'ep': '345/350', 'lr': 6.045855685844446e-06, 'wd': 0.05, 'grad_norm': 0.547824764251709, 'L_mean': 6.445683185756207, 'L_tail': 5.663774956762791, 'acc_mean': 5.427502292441204, 'acc_tail': 8.204739267239347, 'vL_mean': None, 'vL_tail': None, 'vacc_mean': None, 'vacc_tail': None, 'remain_time': '0:41:17', 'finish_time': '2024-10-14 17:05'}
{'it': '1669/1669', 'ep': '345/350', 'lr': 6.045855685844446e-06, 'wd': 0.05, 'grad_norm': 0.547824764251709, 'L_mean': 6.445683185756207, 'L_tail': 5.663774956762791, 'acc_mean': 5.427502292441204, 'acc_tail': 8.204739267239347, 'vL_mean': None, 'vL_tail': None, 'vacc_mean': None, 'vacc_tail': None, 'remain_time': '0:41:16', 'finish_time': '2024-10-14 17:05'}
{'it': '1669/1669', 'ep': '345/350', 'lr': 6.045855685844446e-06, 'wd': 0.05, 'grad_norm': 0.547824764251709, 'L_mean': 6.445683185756207, 'L_tail': 5.663774956762791, 'acc_mean': 5.427502292441204, 'acc_tail': 8.204739267239347, 'vL_mean': 6.445389270782471, 'vL_tail': 5.63563871383667, 'vacc_mean': 5.430510520935059, 'vacc_tail': 8.279362678527832, 'remain_time': '0:41:17', 'finish_time': '2024-10-14 17:05'}
{'it': '1669/1669', 'ep': '345/350', 'lr': 6.045855685844446e-06, 'wd': 0.05, 'grad_norm': 0.547824764251709, 'L_mean': 6.445683185756207, 'L_tail': 5.663774956762791, 'acc_mean': 5.427502292441204, 'acc_tail': 8.204739267239347, 'vL_mean': None, 'vL_tail': None, 'vacc_mean': None, 'vacc_tail': None, 'remain_time': '0:41:16', 'finish_time': '2024-10-14 17:05'}
{'it': '1669/1669', 'ep': '346/350', 'lr': 5.316684548675557e-06, 'wd': 0.05, 'grad_norm': 0.5472883820533753, 'L_mean': 6.442107291519642, 'L_tail': 5.653599537909031, 'acc_mean': 5.4777645447757095, 'acc_tail': 8.28835237538442, 'vL_mean': None, 'vL_tail': None, 'vacc_mean': None, 'vacc_tail': None, 'remain_time': '0:33:02', 'finish_time': '2024-10-14 17:05'}
{'it': '1669/1669', 'ep': '346/350', 'lr': 5.316684548675557e-06, 'wd': 0.05, 'grad_norm': 0.5472883820533753, 'L_mean': 6.442107291519642, 'L_tail': 5.653599537909031, 'acc_mean': 5.4777645447757095, 'acc_tail': 8.28835237538442, 'vL_mean': None, 'vL_tail': None, 'vacc_mean': None, 'vacc_tail': None, 'remain_time': '0:33:03', 'finish_time': '2024-10-14 17:05'}
{'it': '1669/1669', 'ep': '346/350', 'lr': 5.316684548675557e-06, 'wd': 0.05, 'grad_norm': 0.5472883820533753, 'L_mean': 6.442107291519642, 'L_tail': 5.653599537909031, 'acc_mean': 5.4777645447757095, 'acc_tail': 8.28835237538442, 'vL_mean': 6.445389270782471, 'vL_tail': 5.63563871383667, 'vacc_mean': 5.430510520935059, 'vacc_tail': 8.279362678527832, 'remain_time': '0:33:03', 'finish_time': '2024-10-14 17:05'}
{'it': '1669/1669', 'ep': '346/350', 'lr': 5.316684548675557e-06, 'wd': 0.05, 'grad_norm': 0.5472883820533753, 'L_mean': 6.442107291519642, 'L_tail': 5.653599537909031, 'acc_mean': 5.4777645447757095, 'acc_tail': 8.28835237538442, 'vL_mean': None, 'vL_tail': None, 'vacc_mean': None, 'vacc_tail': None, 'remain_time': '0:33:03', 'finish_time': '2024-10-14 17:05'}
{'it': '1669/1669', 'ep': '347/350', 'lr': 4.587513411506668e-06, 'wd': 0.05, 'grad_norm': 0.5510004162788391, 'L_mean': 6.445989969372749, 'L_tail': 5.665324069559574, 'acc_mean': 5.395587615203112, 'acc_tail': 8.140495972475037, 'vL_mean': None, 'vL_tail': None, 'vacc_mean': None, 'vacc_tail': None, 'remain_time': '0:24:49', 'finish_time': '2024-10-14 17:05'}
{'it': '1669/1669', 'ep': '347/350', 'lr': 4.587513411506668e-06, 'wd': 0.05, 'grad_norm': 0.5510004162788391, 'L_mean': 6.445989969372749, 'L_tail': 5.665324069559574, 'acc_mean': 5.395587615203112, 'acc_tail': 8.140495972475037, 'vL_mean': None, 'vL_tail': None, 'vacc_mean': None, 'vacc_tail': None, 'remain_time': '0:24:48', 'finish_time': '2024-10-14 17:05'}
{'it': '1669/1669', 'ep': '347/350', 'lr': 4.587513411506668e-06, 'wd': 0.05, 'grad_norm': 0.5510004162788391, 'L_mean': 6.445989969372749, 'L_tail': 5.665324069559574, 'acc_mean': 5.395587615203112, 'acc_tail': 8.140495972475037, 'vL_mean': None, 'vL_tail': None, 'vacc_mean': None, 'vacc_tail': None, 'remain_time': '0:24:47', 'finish_time': '2024-10-14 17:05'}
{'it': '1669/1669', 'ep': '347/350', 'lr': 4.587513411506668e-06, 'wd': 0.05, 'grad_norm': 0.5510004162788391, 'L_mean': 6.445989969372749, 'L_tail': 5.665324069559574, 'acc_mean': 5.395587615203112, 'acc_tail': 8.140495972475037, 'vL_mean': 6.445389270782471, 'vL_tail': 5.63563871383667, 'vacc_mean': 5.430510520935059, 'vacc_tail': 8.279362678527832, 'remain_time': '0:24:48', 'finish_time': '2024-10-14 17:05'}
{'it': '1669/1669', 'ep': '348/350', 'lr': 3.858342274337779e-06, 'wd': 0.05, 'grad_norm': 0.5508304357528686, 'L_mean': 6.428512716293335, 'L_tail': 5.637443082034588, 'acc_mean': 5.528117842040956, 'acc_tail': 8.350228241179138, 'vL_mean': 6.445389270782471, 'vL_tail': 5.63563871383667, 'vacc_mean': 5.430510520935059, 'vacc_tail': 8.279362678527832, 'remain_time': '0:16:34', 'finish_time': '2024-10-14 17:05'}
{'it': '1669/1669', 'ep': '348/350', 'lr': 3.858342274337779e-06, 'wd': 0.05, 'grad_norm': 0.5508304357528686, 'L_mean': 6.428512716293335, 'L_tail': 5.637443082034588, 'acc_mean': 5.528117842040956, 'acc_tail': 8.350228241179138, 'vL_mean': None, 'vL_tail': None, 'vacc_mean': None, 'vacc_tail': None, 'remain_time': '0:16:34', 'finish_time': '2024-10-14 17:05'}
{'it': '1669/1669', 'ep': '348/350', 'lr': 3.858342274337779e-06, 'wd': 0.05, 'grad_norm': 0.5508304357528686, 'L_mean': 6.428512716293335, 'L_tail': 5.637443082034588, 'acc_mean': 5.528117842040956, 'acc_tail': 8.350228241179138, 'vL_mean': None, 'vL_tail': None, 'vacc_mean': None, 'vacc_tail': None, 'remain_time': '0:16:34', 'finish_time': '2024-10-14 17:05'}
{'it': '1669/1669', 'ep': '348/350', 'lr': 3.858342274337779e-06, 'wd': 0.05, 'grad_norm': 0.5508304357528686, 'L_mean': 6.428512716293335, 'L_tail': 5.637443082034588, 'acc_mean': 5.528117842040956, 'acc_tail': 8.350228241179138, 'vL_mean': None, 'vL_tail': None, 'vacc_mean': None, 'vacc_tail': None, 'remain_time': '0:16:34', 'finish_time': '2024-10-14 17:05'}
{'it': '1669/1669', 'ep': '349/350', 'lr': 3.1291711371688897e-06, 'wd': 0.05, 'grad_norm': 0.5483095288276673, 'L_mean': 6.446031486988067, 'L_tail': 5.66664172410965, 'acc_mean': 5.427229146007448, 'acc_tail': 8.149427631869912, 'vL_mean': None, 'vL_tail': None, 'vacc_mean': None, 'vacc_tail': None, 'remain_time': '0:08:19', 'finish_time': '2024-10-14 17:04'}
{'it': '1669/1669', 'ep': '349/350', 'lr': 3.1291711371688897e-06, 'wd': 0.05, 'grad_norm': 0.5483095288276673, 'L_mean': 6.446031486988067, 'L_tail': 5.66664172410965, 'acc_mean': 5.427229146007448, 'acc_tail': 8.149427631869912, 'vL_mean': 6.445389270782471, 'vL_tail': 5.63563871383667, 'vacc_mean': 5.430510520935059, 'vacc_tail': 8.279362678527832, 'remain_time': '0:08:19', 'finish_time': '2024-10-14 17:04'}
{'it': '1669/1669', 'ep': '349/350', 'lr': 3.1291711371688897e-06, 'wd': 0.05, 'grad_norm': 0.5483095288276673, 'L_mean': 6.446031486988067, 'L_tail': 5.66664172410965, 'acc_mean': 5.427229146007448, 'acc_tail': 8.149427631869912, 'vL_mean': None, 'vL_tail': None, 'vacc_mean': None, 'vacc_tail': None, 'remain_time': '0:08:19', 'finish_time': '2024-10-14 17:04'}
{'it': '1669/1669', 'ep': '349/350', 'lr': 3.1291711371688897e-06, 'wd': 0.05, 'grad_norm': 0.5483095288276673, 'L_mean': 6.446031486988067, 'L_tail': 5.66664172410965, 'acc_mean': 5.427229146007448, 'acc_tail': 8.149427631869912, 'vL_mean': None, 'vL_tail': None, 'vacc_mean': None, 'vacc_tail': None, 'remain_time': '0:08:19', 'finish_time': '2024-10-14 17:04'}
{'it': '1669/1669', 'ep': '350/350', 'lr': 2.4000000000000003e-06, 'wd': 0.05, 'grad_norm': 0.5482305288314819, 'L_mean': 6.431726807355881, 'L_tail': 5.6454944729804994, 'acc_mean': 5.485185501165688, 'acc_tail': 8.26812168234028, 'vL_mean': None, 'vL_tail': None, 'vacc_mean': None, 'vacc_tail': None, 'remain_time': '0:00:04', 'finish_time': '2024-10-14 17:04'}
{'it': '1669/1669', 'ep': '350/350', 'lr': 2.4000000000000003e-06, 'wd': 0.05, 'grad_norm': 0.5482305288314819, 'L_mean': 6.431726807355881, 'L_tail': 5.6454944729804994, 'acc_mean': 5.485185501165688, 'acc_tail': 8.26812168234028, 'vL_mean': None, 'vL_tail': None, 'vacc_mean': None, 'vacc_tail': None, 'remain_time': '0:00:04', 'finish_time': '2024-10-14 17:04'}
{'it': '1669/1669', 'ep': '350/350', 'lr': 2.4000000000000003e-06, 'wd': 0.05, 'grad_norm': 0.5482305288314819, 'L_mean': 6.431726807355881, 'L_tail': 5.6454944729804994, 'acc_mean': 5.485185501165688, 'acc_tail': 8.26812168234028, 'vL_mean': None, 'vL_tail': None, 'vacc_mean': None, 'vacc_tail': None, 'remain_time': '0:00:04', 'finish_time': '2024-10-14 17:04'}
{'it': '1669/1669', 'ep': '350/350', 'lr': 2.4000000000000003e-06, 'wd': 0.05, 'grad_norm': 0.5482305288314819, 'L_mean': 6.431726807355881, 'L_tail': 5.6454944729804994, 'acc_mean': 5.485185501165688, 'acc_tail': 8.26812168234028, 'vL_mean': 6.43699312210083, 'vL_tail': 5.626224994659424, 'vacc_mean': 5.466181755065918, 'vacc_tail': 8.333455085754395, 'remain_time': '0:00:04', 'finish_time': '2024-10-14 17:04'}
{'it': '1669/1669', 'ep': '350/350', 'lr': 2.4000000000000003e-06, 'wd': 0.05, 'grad_norm': 0.5482305288314819, 'L_mean': 6.431726807355881, 'L_tail': 5.6454944729804994, 'acc_mean': 5.485185501165688, 'acc_tail': 8.26812168234028, 'vL_mean': None, 'vL_tail': None, 'vacc_mean': None, 'vacc_tail': None, 'remain_time': '-', 'finish_time': '2024-10-14 17:06'}
{'it': '1669/1669', 'ep': '350/350', 'lr': 2.4000000000000003e-06, 'wd': 0.05, 'grad_norm': 0.5482305288314819, 'L_mean': 6.431726807355881, 'L_tail': 5.6454944729804994, 'acc_mean': 5.485185501165688, 'acc_tail': 8.26812168234028, 'vL_mean': None, 'vL_tail': None, 'vacc_mean': None, 'vacc_tail': None, 'remain_time': '-', 'finish_time': '2024-10-14 17:06'}
{'it': '1669/1669', 'ep': '350/350', 'lr': 2.4000000000000003e-06, 'wd': 0.05, 'grad_norm': 0.5482305288314819, 'L_mean': 6.431726807355881, 'L_tail': 5.6454944729804994, 'acc_mean': 5.485185501165688, 'acc_tail': 8.26812168234028, 'vL_mean': None, 'vL_tail': None, 'vacc_mean': None, 'vacc_tail': None, 'remain_time': '-', 'finish_time': '2024-10-14 17:06'}
{'it': '1669/1669', 'ep': '350/350', 'lr': 2.4000000000000003e-06, 'wd': 0.05, 'grad_norm': 0.5482305288314819, 'L_mean': 6.431726807355881, 'L_tail': 5.6454944729804994, 'acc_mean': 5.485185501165688, 'acc_tail': 8.26812168234028, 'vL_mean': 6.43699312210083, 'vL_tail': 5.626224994659424, 'vacc_mean': 5.466181755065918, 'vacc_tail': 8.333455085754395, 'remain_time': '-', 'finish_time': '2024-10-14 17:06'}