diff --git a/.gitattributes b/.gitattributes index a6344aac8c09253b3b630fb776ae94478aa0275b..a4817eed0087252ad948b5b2b9a56620b3704d36 100644 --- a/.gitattributes +++ b/.gitattributes @@ -33,3 +33,12 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text *.zip filter=lfs diff=lfs merge=lfs -text *.zst filter=lfs diff=lfs merge=lfs -text *tfevents* filter=lfs diff=lfs merge=lfs -text +experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/checkpoint/1000.state filter=lfs diff=lfs merge=lfs -text +experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/checkpoint/2000.state filter=lfs diff=lfs merge=lfs -text +experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/checkpoint/3000.state filter=lfs diff=lfs merge=lfs -text +experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/checkpoint/1000.state filter=lfs diff=lfs merge=lfs -text +experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/checkpoint/1500.state filter=lfs diff=lfs merge=lfs -text +experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/checkpoint/2000.state filter=lfs diff=lfs merge=lfs -text +experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/checkpoint/2500.state filter=lfs diff=lfs merge=lfs -text +experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/checkpoint/3000.state filter=lfs diff=lfs merge=lfs -text +experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/checkpoint/500.state filter=lfs diff=lfs merge=lfs -text diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/checkpoint/1000.state b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/checkpoint/1000.state new file mode 100644 index 0000000000000000000000000000000000000000..cd64a4a9f63a51784ceca144941f90cbed11e29d --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/checkpoint/1000.state @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8e24c53149ec4fbad1633893313bda64c06ad519ce850726eb63f089f5d030a9 +size 166896761 diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/checkpoint/1000_Network.pth b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/checkpoint/1000_Network.pth new file mode 100644 index 0000000000000000000000000000000000000000..c18a249926cc4f32c122b74ade52043bf192d896 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/checkpoint/1000_Network.pth @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d0a68d797fe43ead00b2188b640104466e4d6e1e0c9f942ac6ea9b370110a5d2 +size 91912909 diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/checkpoint/1000_Network_ema.pth b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/checkpoint/1000_Network_ema.pth new file mode 100644 index 0000000000000000000000000000000000000000..05af227c3fd0ab7c3b0c78b52100d3d43e2f4d8c --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/checkpoint/1000_Network_ema.pth @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:70bd51950fdd7a55d5cb733d31e6a93e1ad1040288a34b31d0089bf40ff3d8c9 +size 91863129 diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/checkpoint/2000.state b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/checkpoint/2000.state new file mode 100644 index 0000000000000000000000000000000000000000..5817a4072ea52bfa86c1de018e5598f61745d5ab --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/checkpoint/2000.state @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:43d174cacd920918423c18a862bfcf6de4bf92163d3779e8806a9a61972f2993 +size 166896761 diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/checkpoint/2000_Network.pth b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/checkpoint/2000_Network.pth new file mode 100644 index 0000000000000000000000000000000000000000..61a51719e160b3695dc8d55c2df27109ae52e9c3 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/checkpoint/2000_Network.pth @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:66ceed2b0b7a2dcfc8b0b06f8345fc7651bfcc1b0baeb58c8003659611d5f457 +size 91912909 diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/checkpoint/2000_Network_ema.pth b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/checkpoint/2000_Network_ema.pth new file mode 100644 index 0000000000000000000000000000000000000000..27879605d997f0014a48d8afd212010abbf048ff --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/checkpoint/2000_Network_ema.pth @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f15b6eab418e98ee78525fa620d06bd24d3f03364152dd9a9f700b2e95a9fa2c +size 91863129 diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/checkpoint/3000.state b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/checkpoint/3000.state new file mode 100644 index 0000000000000000000000000000000000000000..1b51bbf5d214658abd939405771a5384d0b70930 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/checkpoint/3000.state @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:48ef547c9cf998f1a2b6bdfdc6ea2e8ac11b75e0285f3c7163cfee3b919d3462 +size 166896761 diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/checkpoint/3000_Network.pth b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/checkpoint/3000_Network.pth new file mode 100644 index 0000000000000000000000000000000000000000..92f0da7b1c546ab6753c31e05da714667b6a2df7 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/checkpoint/3000_Network.pth @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c2e2e7acb42ec24bc3412364e7a8b757701387bee1488544584bb5c74d274c3f +size 91912909 diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/checkpoint/3000_Network_ema.pth b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/checkpoint/3000_Network_ema.pth new file mode 100644 index 0000000000000000000000000000000000000000..e6a7c064e529655ee3cbf2f530c5eeb847ee611e --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/checkpoint/3000_Network_ema.pth @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3315e3d3a3b881993f2b5e0dae18cf46c3d4b28a7d7794f6e337f5f170a6feb4 +size 91863129 diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/config/conv2former_2xb4_e3000_dpms_s20.json b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/config/conv2former_2xb4_e3000_dpms_s20.json new file mode 100644 index 0000000000000000000000000000000000000000..667217c8a49786fffefa42f89f9bb3501df664a7 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/config/conv2former_2xb4_e3000_dpms_s20.json @@ -0,0 +1,162 @@ +{ + "name": "conv2former_2xb4_e3000_dpms_s20", + "gpu_ids": [ + // 2,3 for train + 3 // for test + ], + "seed": -1, + "finetune_norm": false, + "path": { + "base_dir": "experiments", + "code": "code", + "tb_logger": "tb_logger", + "results": "results", + "checkpoint": "checkpoint", + "resume_state": "experiments/train_conv2former_2xb4_e3000_dpms_s20_230514_091009/checkpoint/3000" + }, + "datasets": { + "train": { + "which_dataset": { + "name": [ + "data.dataset", + "Sen2_MTC_New_Multi" + ], + "args": { + "data_root": "../pmaa/data", + "mode": "train" + } + }, + "dataloader": { + "validation_split": 2, + "args": { + "batch_size": 4, + "num_workers": 4, + "shuffle": true, + "pin_memory": true, + "drop_last": true + }, + "val_args": { + "batch_size": 1, + "num_workers": 4, + "shuffle": false, + "pin_memory": true, + "drop_last": false + } + } + }, + "val": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "../pmaa/data", + "mode": "val" + } + } + }, + "test": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "../pmaa/data", + "mode": "test" + } + }, + "dataloader": { + "args": { + "batch_size": 1, + "num_workers": 1, + "pin_memory": true + } + } + } + }, + "model": { + "which_model": { + "name": [ + "models.model", + "Palette" + ], + "args": { + "sample_num": 8, + "task": "decloud", + "ema_scheduler": { + "ema_start": 1, + "ema_iter": 1, + "ema_decay": 0.9999 + }, + "optimizers": [ + { + "lr": 5e-05, + "weight_decay": 0 + } + ] + } + }, + "which_networks": [ + { + "name": [ + "models.network_x0_dpm_solver", + "Network" + ], + "args": { + "init_type": "kaiming", + "module_name": "conv2former", + "unet": { + "in_channel": 12, //3*3+3(noise) + "out_channel": 3, + "inner_channel": 64, + "channel_mults": [ + 1, + 2, + 4, + 8 + ], + "attn_res": [ + // 32, + 16 + // 8 + ], + "num_head_channels": 32, + "res_blocks": 2, + "dropout": 0.2, + "image_size": 256 // default 224 + }, + "beta_schedule": { + "train": { + "schedule": "linear", + "n_timestep": 2000, + "linear_start": 1e-06, + "linear_end": 0.01 + }, + "test": { + "schedule": "linear", + "n_timestep": 1000, + "linear_start": 0.0001, + "linear_end": 0.09 + } + } + } + } + ], + "which_losses": [ + "mse_loss" + ], + "which_metrics": [ + "mae" + ] + }, + "train": { + "n_epoch": 3000, + "n_iter": 100000000, + "val_epoch": 10, + "save_checkpoint_epoch": 100, + "log_iter": 10000, + "tensorboard": true + }, + "debug": { + "val_epoch": 1, + "save_checkpoint_epoch": 1, + "log_iter": 10, + "debug_split": 50 + } +} \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/config/double_encoder_1xb8_e3000_dpms_s20_noinp.json b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/config/double_encoder_1xb8_e3000_dpms_s20_noinp.json new file mode 100644 index 0000000000000000000000000000000000000000..a3426ea2688489dc3d05700937c9140df1fa0571 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/config/double_encoder_1xb8_e3000_dpms_s20_noinp.json @@ -0,0 +1,148 @@ +{ + "name": "double_1xb8_e3000_dpms_s20_noinp", + "gpu_ids": [ + 1 + ], + "seed": -1, + "finetune_norm": false, + "path": { + "base_dir": "experiments", + "code": "code", + "tb_logger": "tb_logger", + "results": "results", + "checkpoint": "checkpoint", + "resume_state": "experiments/train_double_1xb8_e3000_dpms_s20_noinp_230515_045603/checkpoint/3000" + }, + "datasets": { + "train": { + "which_dataset": { + "name": [ + "data.dataset", + "Sen2_MTC_New_Multi" + ], + "args": { + "data_root": "../pmaa/data", + "mode": "train" + } + }, + "dataloader": { + "validation_split": 2, + "args": { + "batch_size": 8, + "num_workers": 8, + "shuffle": true, + "pin_memory": true, + "drop_last": true + }, + "val_args": { + "batch_size": 1, + "num_workers": 4, + "shuffle": false, + "pin_memory": true, + "drop_last": false + } + } + }, + "val": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "../pmaa/data", + "mode": "val" + } + } + }, + "test": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "../pmaa/data", + "mode": "test" + } + }, + "dataloader": { + "args": { + "batch_size": 1, + "num_workers": 1, + "pin_memory": true + } + } + } + }, + "model": { + "which_model": { + "name": [ + "models.model", + "Palette" + ], + "args": { + "sample_num": 8, + "task": "decloud", + "ema_scheduler": { + "ema_start": 1, + "ema_iter": 1, + "ema_decay": 0.9999 + }, + "optimizers": [ + { + "lr": 5e-05, + "weight_decay": 0 + } + ] + } + }, + "which_networks": [ + { + "name": [ + "models.network_x0_dpm_solver", + "Network" + ], + "args": { + "init_type": "kaiming", + "module_name": "double_encoder", + "unet": { + "img_channel": 3, + "width": 64, + "middle_blk_num": 1, + "enc_blk_nums": [1, 1, 1, 1], + "dec_blk_nums": [1, 1, 1, 1] + }, + "beta_schedule": { + "train": { + "schedule": "linear", + "n_timestep": 2000, + "linear_start": 1e-06, + "linear_end": 0.01 + }, + "test": { + "schedule": "linear", + "n_timestep": 1000, + "linear_start": 0.0001, + "linear_end": 0.09 + } + } + } + } + ], + "which_losses": [ + "mse_loss" + ], + "which_metrics": [ + "mae" + ] + }, + "train": { + "n_epoch": 3000, + "n_iter": 100000000, + "val_epoch": 10, + "save_checkpoint_epoch": 100, + "log_iter": 10000, + "tensorboard": true + }, + "debug": { + "val_epoch": 1, + "save_checkpoint_epoch": 1, + "log_iter": 10, + "debug_split": 50 + } +} \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/config/nafnet128_1xb8_e3000_dpms_s20_noinp.json b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/config/nafnet128_1xb8_e3000_dpms_s20_noinp.json new file mode 100644 index 0000000000000000000000000000000000000000..96d112ca84245e0d92f7e750b37c2dde56ea0c18 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/config/nafnet128_1xb8_e3000_dpms_s20_noinp.json @@ -0,0 +1,148 @@ +{ + "name": "nafnet128_1xb8_e3000_dpms_s20_noinp", + "gpu_ids": [ + 3 + ], + "seed": -1, + "finetune_norm": false, + "path": { + "base_dir": "experiments", + "code": "code", + "tb_logger": "tb_logger", + "results": "results", + "checkpoint": "checkpoint", + "resume_state": "experiments/train_nafnet128_1xb8_e3000_dpms_s20_noinp_230518_175307/checkpoint/3000" + }, + "datasets": { + "train": { + "which_dataset": { + "name": [ + "data.dataset", + "Sen2_MTC_New_Multi" + ], + "args": { + "data_root": "../pmaa/data", + "mode": "train" + } + }, + "dataloader": { + "validation_split": 2, + "args": { + "batch_size": 8, + "num_workers": 8, + "shuffle": true, + "pin_memory": true, + "drop_last": true + }, + "val_args": { + "batch_size": 1, + "num_workers": 4, + "shuffle": false, + "pin_memory": true, + "drop_last": false + } + } + }, + "val": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "../pmaa/data", + "mode": "val" + } + } + }, + "test": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "../pmaa/data", + "mode": "test" + } + }, + "dataloader": { + "args": { + "batch_size": 1, + "num_workers": 1, + "pin_memory": true + } + } + } + }, + "model": { + "which_model": { + "name": [ + "models.model", + "Palette" + ], + "args": { + "sample_num": 8, + "task": "decloud", + "ema_scheduler": { + "ema_start": 1, + "ema_iter": 1, + "ema_decay": 0.9999 + }, + "optimizers": [ + { + "lr": 5e-05, + "weight_decay": 0 + } + ] + } + }, + "which_networks": [ + { + "name": [ + "models.network_x0_dpm_solver", + "Network" + ], + "args": { + "init_type": "kaiming", + "module_name": "nafnet", + "unet": { + "img_channel": 12, + "width": 128, + "middle_blk_num": 1, + "enc_blk_nums": [1, 1, 1, 1], + "dec_blk_nums": [1, 1, 1, 1] + }, + "beta_schedule": { + "train": { + "schedule": "linear", + "n_timestep": 2000, + "linear_start": 1e-06, + "linear_end": 0.01 + }, + "test": { + "schedule": "linear", + "n_timestep": 1000, + "linear_start": 0.0001, + "linear_end": 0.09 + } + } + } + } + ], + "which_losses": [ + "mse_loss" + ], + "which_metrics": [ + "mae" + ] + }, + "train": { + "n_epoch": 3000, + "n_iter": 100000000, + "val_epoch": 10, + "save_checkpoint_epoch": 100, + "log_iter": 10000, + "tensorboard": true + }, + "debug": { + "val_epoch": 1, + "save_checkpoint_epoch": 1, + "log_iter": 10, + "debug_split": 50 + } +} \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/config/nafnet16_1xb8_e3000_dpms_s20_noinp.json b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/config/nafnet16_1xb8_e3000_dpms_s20_noinp.json new file mode 100644 index 0000000000000000000000000000000000000000..812c9b2698ccb8c0d388e3f359ff7754c8f7ec83 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/config/nafnet16_1xb8_e3000_dpms_s20_noinp.json @@ -0,0 +1,148 @@ +{ + "name": "nafnet16_1xb8_e3000_dpms_s20_noinp", + "gpu_ids": [ + 2 + ], + "seed": -1, + "finetune_norm": false, + "path": { + "base_dir": "experiments", + "code": "code", + "tb_logger": "tb_logger", + "results": "results", + "checkpoint": "checkpoint", + "resume_state": "experiments/train_nafnet16_1xb8_e3000_dpms_s20_noinp_230518_175110/checkpoint/3000" + }, + "datasets": { + "train": { + "which_dataset": { + "name": [ + "data.dataset", + "Sen2_MTC_New_Multi" + ], + "args": { + "data_root": "../pmaa/data", + "mode": "train" + } + }, + "dataloader": { + "validation_split": 2, + "args": { + "batch_size": 8, + "num_workers": 8, + "shuffle": true, + "pin_memory": true, + "drop_last": true + }, + "val_args": { + "batch_size": 1, + "num_workers": 4, + "shuffle": false, + "pin_memory": true, + "drop_last": false + } + } + }, + "val": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "../pmaa/data", + "mode": "val" + } + } + }, + "test": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "../pmaa/data", + "mode": "test" + } + }, + "dataloader": { + "args": { + "batch_size": 1, + "num_workers": 1, + "pin_memory": true + } + } + } + }, + "model": { + "which_model": { + "name": [ + "models.model", + "Palette" + ], + "args": { + "sample_num": 8, + "task": "decloud", + "ema_scheduler": { + "ema_start": 1, + "ema_iter": 1, + "ema_decay": 0.9999 + }, + "optimizers": [ + { + "lr": 5e-05, + "weight_decay": 0 + } + ] + } + }, + "which_networks": [ + { + "name": [ + "models.network_x0_dpm_solver", + "Network" + ], + "args": { + "init_type": "kaiming", + "module_name": "nafnet", + "unet": { + "img_channel": 12, + "width": 16, + "middle_blk_num": 1, + "enc_blk_nums": [1, 1, 1, 1], + "dec_blk_nums": [1, 1, 1, 1] + }, + "beta_schedule": { + "train": { + "schedule": "linear", + "n_timestep": 2000, + "linear_start": 1e-06, + "linear_end": 0.01 + }, + "test": { + "schedule": "linear", + "n_timestep": 1000, + "linear_start": 0.0001, + "linear_end": 0.09 + } + } + } + } + ], + "which_losses": [ + "mse_loss" + ], + "which_metrics": [ + "mae" + ] + }, + "train": { + "n_epoch": 3000, + "n_iter": 100000000, + "val_epoch": 10, + "save_checkpoint_epoch": 100, + "log_iter": 10000, + "tensorboard": true + }, + "debug": { + "val_epoch": 1, + "save_checkpoint_epoch": 1, + "log_iter": 10, + "debug_split": 50 + } +} \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/config/nafnet32_1xb8_e3000_dpms_s20_noinp.json b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/config/nafnet32_1xb8_e3000_dpms_s20_noinp.json new file mode 100644 index 0000000000000000000000000000000000000000..eae458b30ecc7f7074086a87cdab9634df4dd9e6 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/config/nafnet32_1xb8_e3000_dpms_s20_noinp.json @@ -0,0 +1,148 @@ +{ + "name": "nafnet32_1xb8_e3000_dpms_s20_noinp", + "gpu_ids": [ + 0 + ], + "seed": -1, + "finetune_norm": false, + "path": { + "base_dir": "experiments", + "code": "code", + "tb_logger": "tb_logger", + "results": "results", + "checkpoint": "checkpoint", + "resume_state": "experiments/train_nafnet32_1xb8_e3000_dpms_s20_noinp_230518_174833/checkpoint/3000" + }, + "datasets": { + "train": { + "which_dataset": { + "name": [ + "data.dataset", + "Sen2_MTC_New_Multi" + ], + "args": { + "data_root": "../pmaa/data", + "mode": "train" + } + }, + "dataloader": { + "validation_split": 2, + "args": { + "batch_size": 8, + "num_workers": 8, + "shuffle": true, + "pin_memory": true, + "drop_last": true + }, + "val_args": { + "batch_size": 1, + "num_workers": 4, + "shuffle": false, + "pin_memory": true, + "drop_last": false + } + } + }, + "val": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "../pmaa/data", + "mode": "val" + } + } + }, + "test": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "../pmaa/data", + "mode": "test" + } + }, + "dataloader": { + "args": { + "batch_size": 1, + "num_workers": 1, + "pin_memory": true + } + } + } + }, + "model": { + "which_model": { + "name": [ + "models.model", + "Palette" + ], + "args": { + "sample_num": 8, + "task": "decloud", + "ema_scheduler": { + "ema_start": 1, + "ema_iter": 1, + "ema_decay": 0.9999 + }, + "optimizers": [ + { + "lr": 5e-05, + "weight_decay": 0 + } + ] + } + }, + "which_networks": [ + { + "name": [ + "models.network_x0_dpm_solver", + "Network" + ], + "args": { + "init_type": "kaiming", + "module_name": "nafnet", + "unet": { + "img_channel": 12, + "width": 32, + "middle_blk_num": 1, + "enc_blk_nums": [1, 1, 1, 1], + "dec_blk_nums": [1, 1, 1, 1] + }, + "beta_schedule": { + "train": { + "schedule": "linear", + "n_timestep": 2000, + "linear_start": 1e-06, + "linear_end": 0.01 + }, + "test": { + "schedule": "linear", + "n_timestep": 1000, + "linear_start": 0.0001, + "linear_end": 0.09 + } + } + } + } + ], + "which_losses": [ + "mse_loss" + ], + "which_metrics": [ + "mae" + ] + }, + "train": { + "n_epoch": 3000, + "n_iter": 100000000, + "val_epoch": 10, + "save_checkpoint_epoch": 100, + "log_iter": 10000, + "tensorboard": true + }, + "debug": { + "val_epoch": 1, + "save_checkpoint_epoch": 1, + "log_iter": 10, + "debug_split": 50 + } +} \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/config/nafnet64_1131_encoder_1xb8_e3000_dpms_s20_noinp.json b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/config/nafnet64_1131_encoder_1xb8_e3000_dpms_s20_noinp.json new file mode 100644 index 0000000000000000000000000000000000000000..221f400b7dfb739f21fc97fa954ff5d4b03e8aab --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/config/nafnet64_1131_encoder_1xb8_e3000_dpms_s20_noinp.json @@ -0,0 +1,148 @@ +{ + "name": "nafnet64_1131_encoder_1xb8_e3000_dpms_s20_noinp", + "gpu_ids": [ + 1 + ], + "seed": -1, + "finetune_norm": false, + "path": { + "base_dir": "experiments", + "code": "code", + "tb_logger": "tb_logger", + "results": "results", + "checkpoint": "checkpoint", + "resume_state": "experiments/train_nafnet64_1131_encoder_1xb8_e3000_dpms_s20_noinp_230520_171633/checkpoint/3000" + }, + "datasets": { + "train": { + "which_dataset": { + "name": [ + "data.dataset", + "Sen2_MTC_New_Multi" + ], + "args": { + "data_root": "../pmaa/data", + "mode": "train" + } + }, + "dataloader": { + "validation_split": 2, + "args": { + "batch_size": 8, + "num_workers": 8, + "shuffle": true, + "pin_memory": true, + "drop_last": true + }, + "val_args": { + "batch_size": 1, + "num_workers": 4, + "shuffle": false, + "pin_memory": true, + "drop_last": false + } + } + }, + "val": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "../pmaa/data", + "mode": "val" + } + } + }, + "test": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "../pmaa/data", + "mode": "test" + } + }, + "dataloader": { + "args": { + "batch_size": 1, + "num_workers": 1, + "pin_memory": true + } + } + } + }, + "model": { + "which_model": { + "name": [ + "models.model", + "Palette" + ], + "args": { + "sample_num": 8, + "task": "decloud", + "ema_scheduler": { + "ema_start": 1, + "ema_iter": 1, + "ema_decay": 0.9999 + }, + "optimizers": [ + { + "lr": 5e-05, + "weight_decay": 0 + } + ] + } + }, + "which_networks": [ + { + "name": [ + "models.network_x0_dpm_solver", + "Network" + ], + "args": { + "init_type": "kaiming", + "module_name": "nafnet", + "unet": { + "img_channel": 12, + "width": 64, + "middle_blk_num": 1, + "enc_blk_nums": [1, 1, 3, 1], + "dec_blk_nums": [1, 1, 1, 1] + }, + "beta_schedule": { + "train": { + "schedule": "linear", + "n_timestep": 2000, + "linear_start": 1e-06, + "linear_end": 0.01 + }, + "test": { + "schedule": "linear", + "n_timestep": 1000, + "linear_start": 0.0001, + "linear_end": 0.09 + } + } + } + } + ], + "which_losses": [ + "mse_loss" + ], + "which_metrics": [ + "mae" + ] + }, + "train": { + "n_epoch": 3000, + "n_iter": 100000000, + "val_epoch": 10, + "save_checkpoint_epoch": 100, + "log_iter": 10000, + "tensorboard": true + }, + "debug": { + "val_epoch": 1, + "save_checkpoint_epoch": 1, + "log_iter": 10, + "debug_split": 50 + } +} \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/config/nafnet64_newca_1xb8_e3000_dpms_s20_noinp.json b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/config/nafnet64_newca_1xb8_e3000_dpms_s20_noinp.json new file mode 100644 index 0000000000000000000000000000000000000000..f6f5ba85763411eb81ceda770e70afc273eee520 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/config/nafnet64_newca_1xb8_e3000_dpms_s20_noinp.json @@ -0,0 +1,148 @@ +{ + "name": "nafnet64_newca_noinp", + "gpu_ids": [ + 0 + ], + "seed": -1, + "finetune_norm": false, + "path": { + "base_dir": "experiments", + "code": "code", + "tb_logger": "tb_logger", + "results": "results", + "checkpoint": "checkpoint", + "resume_state": "experiments/train_nafnet64_newca_noinp_230528_021014/checkpoint/3000" + }, + "datasets": { + "train": { + "which_dataset": { + "name": [ + "data.dataset", + "Sen2_MTC_New_Multi" + ], + "args": { + "data_root": "../pmaa/data", + "mode": "train" + } + }, + "dataloader": { + "validation_split": 2, + "args": { + "batch_size": 8, + "num_workers": 8, + "shuffle": true, + "pin_memory": true, + "drop_last": true + }, + "val_args": { + "batch_size": 1, + "num_workers": 1, + "shuffle": false, + "pin_memory": true, + "drop_last": false + } + } + }, + "val": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "../pmaa/data", + "mode": "val" + } + } + }, + "test": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "../pmaa/data", + "mode": "test" + } + }, + "dataloader": { + "args": { + "batch_size": 1, + "num_workers": 1, + "pin_memory": true + } + } + } + }, + "model": { + "which_model": { + "name": [ + "models.model", + "Palette" + ], + "args": { + "sample_num": 8, + "task": "decloud", + "ema_scheduler": { + "ema_start": 1, + "ema_iter": 1, + "ema_decay": 0.9999 + }, + "optimizers": [ + { + "lr": 5e-05, + "weight_decay": 0 + } + ] + } + }, + "which_networks": [ + { + "name": [ + "models.network_x0_dpm_solver", + "Network" + ], + "args": { + "init_type": "kaiming", + "module_name": "nafnet_newca_noinp", + "unet": { + "img_channel": 12, + "width": 64, + "middle_blk_num": 1, + "enc_blk_nums": [1, 1, 1, 1], + "dec_blk_nums": [1, 1, 1, 1] + }, + "beta_schedule": { + "train": { + "schedule": "linear", + "n_timestep": 2000, + "linear_start": 1e-06, + "linear_end": 0.01 + }, + "test": { + "schedule": "linear", + "n_timestep": 1000, + "linear_start": 0.0001, + "linear_end": 0.09 + } + } + } + } + ], + "which_losses": [ + "mse_loss" + ], + "which_metrics": [ + "mae" + ] + }, + "train": { + "n_epoch": 3000, + "n_iter": 100000000, + "val_epoch": 500, + "save_checkpoint_epoch": 500, + "log_iter": 10000, + "tensorboard": true + }, + "debug": { + "val_epoch": 1, + "save_checkpoint_epoch": 1, + "log_iter": 10, + "debug_split": 50 + } +} \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/config/nafnet64_nosca_silu_noinp_1xb8_e3000_dpms_s20_noinp.json b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/config/nafnet64_nosca_silu_noinp_1xb8_e3000_dpms_s20_noinp.json new file mode 100644 index 0000000000000000000000000000000000000000..637774a549836807c3b4f06d7f7db6b193453338 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/config/nafnet64_nosca_silu_noinp_1xb8_e3000_dpms_s20_noinp.json @@ -0,0 +1,148 @@ +{ + "name": "nafnet64_nosca_silu_noinp", + "gpu_ids": [ + 3 + ], + "seed": -1, + "finetune_norm": false, + "path": { + "base_dir": "experiments", + "code": "code", + "tb_logger": "tb_logger", + "results": "results", + "checkpoint": "checkpoint", + "resume_state": "experiments/train_nafnet64_nosca_silu_noinp_230528_021215/checkpoint/3000" + }, + "datasets": { + "train": { + "which_dataset": { + "name": [ + "data.dataset", + "Sen2_MTC_New_Multi" + ], + "args": { + "data_root": "../pmaa/data", + "mode": "train" + } + }, + "dataloader": { + "validation_split": 2, + "args": { + "batch_size": 8, + "num_workers": 8, + "shuffle": true, + "pin_memory": true, + "drop_last": true + }, + "val_args": { + "batch_size": 1, + "num_workers": 1, + "shuffle": false, + "pin_memory": true, + "drop_last": false + } + } + }, + "val": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "../pmaa/data", + "mode": "val" + } + } + }, + "test": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "../pmaa/data", + "mode": "test" + } + }, + "dataloader": { + "args": { + "batch_size": 1, + "num_workers": 1, + "pin_memory": true + } + } + } + }, + "model": { + "which_model": { + "name": [ + "models.model", + "Palette" + ], + "args": { + "sample_num": 8, + "task": "decloud", + "ema_scheduler": { + "ema_start": 1, + "ema_iter": 1, + "ema_decay": 0.9999 + }, + "optimizers": [ + { + "lr": 5e-05, + "weight_decay": 0 + } + ] + } + }, + "which_networks": [ + { + "name": [ + "models.network_x0_dpm_solver", + "Network" + ], + "args": { + "init_type": "kaiming", + "module_name": "nafnet_nosca_silu_noinp", + "unet": { + "img_channel": 12, + "width": 64, + "middle_blk_num": 1, + "enc_blk_nums": [1, 1, 1, 1], + "dec_blk_nums": [1, 1, 1, 1] + }, + "beta_schedule": { + "train": { + "schedule": "linear", + "n_timestep": 2000, + "linear_start": 1e-06, + "linear_end": 0.01 + }, + "test": { + "schedule": "linear", + "n_timestep": 1000, + "linear_start": 0.0001, + "linear_end": 0.09 + } + } + } + } + ], + "which_losses": [ + "mse_loss" + ], + "which_metrics": [ + "mae" + ] + }, + "train": { + "n_epoch": 3000, + "n_iter": 100000000, + "val_epoch": 500, + "save_checkpoint_epoch": 500, + "log_iter": 10000, + "tensorboard": true + }, + "debug": { + "val_epoch": 1, + "save_checkpoint_epoch": 1, + "log_iter": 10, + "debug_split": 50 + } +} \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/config/nafnet64_ours_1xb8_e3000_dpms_s20_noinp.json b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/config/nafnet64_ours_1xb8_e3000_dpms_s20_noinp.json new file mode 100644 index 0000000000000000000000000000000000000000..f3f96e961d32754f581351d0f6fde7cbbeb721a6 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/config/nafnet64_ours_1xb8_e3000_dpms_s20_noinp.json @@ -0,0 +1,148 @@ +{ + "name": "nafnet64_ours_1xb8_e3000_dpms_s20_noinp", + "gpu_ids": [ + 0 + ], + "seed": -1, + "finetune_norm": false, + "path": { + "base_dir": "experiments", + "code": "code", + "tb_logger": "tb_logger", + "results": "results", + "checkpoint": "checkpoint", + "resume_state": "experiments/train_nafnet64_ours_1xb8_e3000_dpms_s20_noinp_230520_094059/checkpoint/3000" + }, + "datasets": { + "train": { + "which_dataset": { + "name": [ + "data.dataset", + "Sen2_MTC_New_Multi" + ], + "args": { + "data_root": "../pmaa/data", + "mode": "train" + } + }, + "dataloader": { + "validation_split": 2, + "args": { + "batch_size": 8, + "num_workers": 8, + "shuffle": true, + "pin_memory": true, + "drop_last": true + }, + "val_args": { + "batch_size": 1, + "num_workers": 1, + "shuffle": false, + "pin_memory": true, + "drop_last": false + } + } + }, + "val": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "../pmaa/data", + "mode": "val" + } + } + }, + "test": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "../pmaa/data", + "mode": "test" + } + }, + "dataloader": { + "args": { + "batch_size": 1, + "num_workers": 1, + "pin_memory": true + } + } + } + }, + "model": { + "which_model": { + "name": [ + "models.model", + "Palette" + ], + "args": { + "sample_num": 8, + "task": "decloud", + "ema_scheduler": { + "ema_start": 1, + "ema_iter": 1, + "ema_decay": 0.9999 + }, + "optimizers": [ + { + "lr": 5e-05, + "weight_decay": 0 + } + ] + } + }, + "which_networks": [ + { + "name": [ + "models.network_x0_dpm_solver", + "Network" + ], + "args": { + "init_type": "kaiming", + "module_name": "nafnet_ours", + "unet": { + "img_channel": 12, + "width": 64, + "middle_blk_num": 1, + "enc_blk_nums": [1, 1, 1, 1], + "dec_blk_nums": [1, 1, 1, 1] + }, + "beta_schedule": { + "train": { + "schedule": "linear", + "n_timestep": 2000, + "linear_start": 1e-06, + "linear_end": 0.01 + }, + "test": { + "schedule": "linear", + "n_timestep": 1000, + "linear_start": 0.0001, + "linear_end": 0.09 + } + } + } + } + ], + "which_losses": [ + "mse_loss" + ], + "which_metrics": [ + "mae" + ] + }, + "train": { + "n_epoch": 3000, + "n_iter": 100000000, + "val_epoch": 100, + "save_checkpoint_epoch": 500, + "log_iter": 10000, + "tensorboard": true + }, + "debug": { + "val_epoch": 1, + "save_checkpoint_epoch": 1, + "log_iter": 10, + "debug_split": 50 + } +} \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/config/nafnet64_res_1xb8_e3000_dpms_s20_noinp.json b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/config/nafnet64_res_1xb8_e3000_dpms_s20_noinp.json new file mode 100644 index 0000000000000000000000000000000000000000..25a1e88de9fb7eb4b02ab520220d011334eeddbe --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/config/nafnet64_res_1xb8_e3000_dpms_s20_noinp.json @@ -0,0 +1,148 @@ +{ + "name": "nafnet64_res_1xb8_e3000_dpms_s20_noinp", + "gpu_ids": [ + 2 + ], + "seed": -1, + "finetune_norm": false, + "path": { + "base_dir": "experiments", + "code": "code", + "tb_logger": "tb_logger", + "results": "results", + "checkpoint": "checkpoint", + "resume_state": "experiments/train_nafnet64_res_1xb8_e3000_dpms_s20_noinp_230520_101605/checkpoint/3000" + }, + "datasets": { + "train": { + "which_dataset": { + "name": [ + "data.dataset", + "Sen2_MTC_New_Multi" + ], + "args": { + "data_root": "../pmaa/data", + "mode": "train" + } + }, + "dataloader": { + "validation_split": 2, + "args": { + "batch_size": 8, + "num_workers": 8, + "shuffle": true, + "pin_memory": true, + "drop_last": true + }, + "val_args": { + "batch_size": 1, + "num_workers": 1, + "shuffle": false, + "pin_memory": true, + "drop_last": false + } + } + }, + "val": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "../pmaa/data", + "mode": "val" + } + } + }, + "test": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "../pmaa/data", + "mode": "test" + } + }, + "dataloader": { + "args": { + "batch_size": 1, + "num_workers": 1, + "pin_memory": true + } + } + } + }, + "model": { + "which_model": { + "name": [ + "models.model", + "Palette" + ], + "args": { + "sample_num": 8, + "task": "decloud", + "ema_scheduler": { + "ema_start": 1, + "ema_iter": 1, + "ema_decay": 0.9999 + }, + "optimizers": [ + { + "lr": 5e-05, + "weight_decay": 0 + } + ] + } + }, + "which_networks": [ + { + "name": [ + "models.network_x0_dpm_solver", + "Network" + ], + "args": { + "init_type": "kaiming", + "module_name": "nafnet_res", + "unet": { + "img_channel": 12, + "width": 64, + "middle_blk_num": 1, + "enc_blk_nums": [1, 1, 1, 1], + "dec_blk_nums": [1, 1, 1, 1] + }, + "beta_schedule": { + "train": { + "schedule": "linear", + "n_timestep": 2000, + "linear_start": 1e-06, + "linear_end": 0.01 + }, + "test": { + "schedule": "linear", + "n_timestep": 1000, + "linear_start": 0.0001, + "linear_end": 0.09 + } + } + } + } + ], + "which_losses": [ + "mse_loss" + ], + "which_metrics": [ + "mae" + ] + }, + "train": { + "n_epoch": 3000, + "n_iter": 100000000, + "val_epoch": 100, + "save_checkpoint_epoch": 500, + "log_iter": 10000, + "tensorboard": true + }, + "debug": { + "val_epoch": 1, + "save_checkpoint_epoch": 1, + "log_iter": 10, + "debug_split": 50 + } +} \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/config/nafnet64_reverseca_1xb8_e3000_dpms_s20_noinp.json b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/config/nafnet64_reverseca_1xb8_e3000_dpms_s20_noinp.json new file mode 100644 index 0000000000000000000000000000000000000000..de675242bf16dbfe4b5a151c9614a7873913b074 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/config/nafnet64_reverseca_1xb8_e3000_dpms_s20_noinp.json @@ -0,0 +1,148 @@ +{ + "name": "nafnet64_reverseca", + "gpu_ids": [ + 1 + ], + "seed": -1, + "finetune_norm": false, + "path": { + "base_dir": "experiments", + "code": "code", + "tb_logger": "tb_logger", + "results": "results", + "checkpoint": "checkpoint", + "resume_state": "experiments/train_nafnet64_reverseca_230528_021307/checkpoint/3000" + }, + "datasets": { + "train": { + "which_dataset": { + "name": [ + "data.dataset", + "Sen2_MTC_New_Multi" + ], + "args": { + "data_root": "../pmaa/data", + "mode": "train" + } + }, + "dataloader": { + "validation_split": 2, + "args": { + "batch_size": 8, + "num_workers": 8, + "shuffle": true, + "pin_memory": true, + "drop_last": true + }, + "val_args": { + "batch_size": 1, + "num_workers": 1, + "shuffle": false, + "pin_memory": true, + "drop_last": false + } + } + }, + "val": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "../pmaa/data", + "mode": "val" + } + } + }, + "test": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "../pmaa/data", + "mode": "test" + } + }, + "dataloader": { + "args": { + "batch_size": 1, + "num_workers": 1, + "pin_memory": true + } + } + } + }, + "model": { + "which_model": { + "name": [ + "models.model", + "Palette" + ], + "args": { + "sample_num": 8, + "task": "decloud", + "ema_scheduler": { + "ema_start": 1, + "ema_iter": 1, + "ema_decay": 0.9999 + }, + "optimizers": [ + { + "lr": 5e-05, + "weight_decay": 0 + } + ] + } + }, + "which_networks": [ + { + "name": [ + "models.network_x0_dpm_solver", + "Network" + ], + "args": { + "init_type": "kaiming", + "module_name": "nafnet_reverseca_noinp", + "unet": { + "img_channel": 12, + "width": 64, + "middle_blk_num": 1, + "enc_blk_nums": [1, 1, 1, 1], + "dec_blk_nums": [1, 1, 1, 1] + }, + "beta_schedule": { + "train": { + "schedule": "linear", + "n_timestep": 2000, + "linear_start": 1e-06, + "linear_end": 0.01 + }, + "test": { + "schedule": "linear", + "n_timestep": 1000, + "linear_start": 0.0001, + "linear_end": 0.09 + } + } + } + } + ], + "which_losses": [ + "mse_loss" + ], + "which_metrics": [ + "mae" + ] + }, + "train": { + "n_epoch": 3000, + "n_iter": 100000000, + "val_epoch": 500, + "save_checkpoint_epoch": 500, + "log_iter": 10000, + "tensorboard": true + }, + "debug": { + "val_epoch": 1, + "save_checkpoint_epoch": 1, + "log_iter": 10, + "debug_split": 50 + } +} \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/config/nafnet64_splitca_1xb8_e3000_dpms_s20_noinp.json b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/config/nafnet64_splitca_1xb8_e3000_dpms_s20_noinp.json new file mode 100644 index 0000000000000000000000000000000000000000..15eb11cf601be23e6051e79294209dabaefe5128 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/config/nafnet64_splitca_1xb8_e3000_dpms_s20_noinp.json @@ -0,0 +1,148 @@ +{ + "name": "nafnet64_splitca", + "gpu_ids": [ + 2 + ], + "seed": -1, + "finetune_norm": false, + "path": { + "base_dir": "experiments", + "code": "code", + "tb_logger": "tb_logger", + "results": "results", + "checkpoint": "checkpoint", + "resume_state": "experiments/train_nafnet64_splitca_230525_063547/checkpoint/3000" + }, + "datasets": { + "train": { + "which_dataset": { + "name": [ + "data.dataset", + "Sen2_MTC_New_Multi" + ], + "args": { + "data_root": "../pmaa/data", + "mode": "train" + } + }, + "dataloader": { + "validation_split": 2, + "args": { + "batch_size": 8, + "num_workers": 8, + "shuffle": true, + "pin_memory": true, + "drop_last": true + }, + "val_args": { + "batch_size": 1, + "num_workers": 1, + "shuffle": false, + "pin_memory": true, + "drop_last": false + } + } + }, + "val": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "../pmaa/data", + "mode": "val" + } + } + }, + "test": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "../pmaa/data", + "mode": "test" + } + }, + "dataloader": { + "args": { + "batch_size": 1, + "num_workers": 1, + "pin_memory": true + } + } + } + }, + "model": { + "which_model": { + "name": [ + "models.model", + "Palette" + ], + "args": { + "sample_num": 8, + "task": "decloud", + "ema_scheduler": { + "ema_start": 1, + "ema_iter": 1, + "ema_decay": 0.9999 + }, + "optimizers": [ + { + "lr": 5e-05, + "weight_decay": 0 + } + ] + } + }, + "which_networks": [ + { + "name": [ + "models.network_x0_dpm_solver", + "Network" + ], + "args": { + "init_type": "kaiming", + "module_name": "nafnet_splitca_noinp", + "unet": { + "img_channel": 12, + "width": 64, + "middle_blk_num": 1, + "enc_blk_nums": [1, 1, 1, 1], + "dec_blk_nums": [1, 1, 1, 1] + }, + "beta_schedule": { + "train": { + "schedule": "linear", + "n_timestep": 2000, + "linear_start": 1e-06, + "linear_end": 0.01 + }, + "test": { + "schedule": "linear", + "n_timestep": 1000, + "linear_start": 0.0001, + "linear_end": 0.09 + } + } + } + } + ], + "which_losses": [ + "mse_loss" + ], + "which_metrics": [ + "mae" + ] + }, + "train": { + "n_epoch": 3000, + "n_iter": 100000000, + "val_epoch": 500, + "save_checkpoint_epoch": 500, + "log_iter": 10000, + "tensorboard": true + }, + "debug": { + "val_epoch": 1, + "save_checkpoint_epoch": 1, + "log_iter": 10, + "debug_split": 50 + } +} \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/config/nafnet_1xb8_e3000_dpms_s20_noinp.json b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/config/nafnet_1xb8_e3000_dpms_s20_noinp.json new file mode 100644 index 0000000000000000000000000000000000000000..f1ba85c083f03a6061f2943631d72ddd6cc18bd9 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/config/nafnet_1xb8_e3000_dpms_s20_noinp.json @@ -0,0 +1,148 @@ +{ + "name": "nafnet_1xb8_e3000_dpms_s20_noinp", + "gpu_ids": [ + 0 + ], + "seed": -1, + "finetune_norm": false, + "path": { + "base_dir": "experiments", + "code": "code", + "tb_logger": "tb_logger", + "results": "results", + "checkpoint": "checkpoint", + "resume_state": "experiments/train_nafnet_1xb8_e3000_dpms_s20_noinp_230514_083943/checkpoint/3000" + }, + "datasets": { + "train": { + "which_dataset": { + "name": [ + "data.dataset", + "Sen2_MTC_New_Multi" + ], + "args": { + "data_root": "../pmaa/data", + "mode": "train" + } + }, + "dataloader": { + "validation_split": 2, + "args": { + "batch_size": 8, + "num_workers": 8, + "shuffle": true, + "pin_memory": true, + "drop_last": true + }, + "val_args": { + "batch_size": 1, + "num_workers": 4, + "shuffle": false, + "pin_memory": true, + "drop_last": false + } + } + }, + "val": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "../pmaa/data", + "mode": "val" + } + } + }, + "test": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "../pmaa/data", + "mode": "test" + } + }, + "dataloader": { + "args": { + "batch_size": 1, + "num_workers": 1, + "pin_memory": true + } + } + } + }, + "model": { + "which_model": { + "name": [ + "models.model", + "Palette" + ], + "args": { + "sample_num": 8, + "task": "decloud", + "ema_scheduler": { + "ema_start": 1, + "ema_iter": 1, + "ema_decay": 0.9999 + }, + "optimizers": [ + { + "lr": 5e-05, + "weight_decay": 0 + } + ] + } + }, + "which_networks": [ + { + "name": [ + "models.network_x0_dpm_solver", + "Network" + ], + "args": { + "init_type": "kaiming", + "module_name": "nafnet", + "unet": { + "img_channel": 12, + "width": 64, + "middle_blk_num": 1, + "enc_blk_nums": [1, 1, 1, 1], + "dec_blk_nums": [1, 1, 1, 1] + }, + "beta_schedule": { + "train": { + "schedule": "linear", + "n_timestep": 2000, + "linear_start": 1e-06, + "linear_end": 0.01 + }, + "test": { + "schedule": "linear", + "n_timestep": 1000, + "linear_start": 0.0001, + "linear_end": 0.09 + } + } + } + } + ], + "which_losses": [ + "mse_loss" + ], + "which_metrics": [ + "mae" + ] + }, + "train": { + "n_epoch": 3000, + "n_iter": 100000000, + "val_epoch": 10, + "save_checkpoint_epoch": 100, + "log_iter": 10000, + "tensorboard": true + }, + "debug": { + "val_epoch": 1, + "save_checkpoint_epoch": 1, + "log_iter": 10, + "debug_split": 50 + } +} \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/config/nafnet_concat_no_condskip_nodrop_noparams_splitca_double_encoder_decoder_middle_fusion.json b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/config/nafnet_concat_no_condskip_nodrop_noparams_splitca_double_encoder_decoder_middle_fusion.json new file mode 100644 index 0000000000000000000000000000000000000000..5a3a899553cc40b724b113e0fda22c7cf9a41de3 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/config/nafnet_concat_no_condskip_nodrop_noparams_splitca_double_encoder_decoder_middle_fusion.json @@ -0,0 +1,148 @@ +{ + "name": "nafnet_concat_no_condskip_nodrop_noparams_splitca_double_encoder_decoder_middle_fusion", + "gpu_ids": [ + 2 + ], + "seed": -1, + "finetune_norm": false, + "path": { + "base_dir": "experiments", + "code": "code", + "tb_logger": "tb_logger", + "results": "results", + "checkpoint": "checkpoint", + "resume_state": "experiments/train_nafnet_concat_no_condskip_nodrop_noparams_splitca_double_encoder_decoder_middle_fusion_230604_042247/checkpoint/3000" + }, + "datasets": { + "train": { + "which_dataset": { + "name": [ + "data.dataset", + "Sen2_MTC_New_Multi" + ], + "args": { + "data_root": "../pmaa/data", + "mode": "train" + } + }, + "dataloader": { + "validation_split": 2, + "args": { + "batch_size": 8, + "num_workers": 8, + "shuffle": true, + "pin_memory": true, + "drop_last": true + }, + "val_args": { + "batch_size": 1, + "num_workers": 1, + "shuffle": false, + "pin_memory": true, + "drop_last": false + } + } + }, + "val": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "../pmaa/data", + "mode": "val" + } + } + }, + "test": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "../pmaa/data", + "mode": "test" + } + }, + "dataloader": { + "args": { + "batch_size": 1, + "num_workers": 1, + "pin_memory": true + } + } + } + }, + "model": { + "which_model": { + "name": [ + "models.model", + "Palette" + ], + "args": { + "sample_num": 8, + "task": "decloud", + "ema_scheduler": { + "ema_start": 1, + "ema_iter": 1, + "ema_decay": 0.9999 + }, + "optimizers": [ + { + "lr": 5e-05, + "weight_decay": 0 + } + ] + } + }, + "which_networks": [ + { + "name": [ + "models.network_x0_dpm_solver", + "Network" + ], + "args": { + "init_type": "kaiming", + "module_name": "nafnet_concat_no_condskip_nodrop_noparams_splitca_double_encoder_decoder_middle_fusion", + "unet": { + "img_channel": 3, + "width": 64, + "middle_blk_num": 1, + "enc_blk_nums": [1, 1, 1, 1], + "dec_blk_nums": [1, 1, 1, 1] + }, + "beta_schedule": { + "train": { + "schedule": "linear", + "n_timestep": 2000, + "linear_start": 1e-06, + "linear_end": 0.01 + }, + "test": { + "schedule": "linear", + "n_timestep": 1000, + "linear_start": 0.0001, + "linear_end": 0.09 + } + } + } + } + ], + "which_losses": [ + "mse_loss" + ], + "which_metrics": [ + "mae" + ] + }, + "train": { + "n_epoch": 3000, + "n_iter": 100000000, + "val_epoch": 1000, + "save_checkpoint_epoch": 1000, + "log_iter": 10000, + "tensorboard": true + }, + "debug": { + "val_epoch": 1, + "save_checkpoint_epoch": 1, + "log_iter": 10, + "debug_split": 50 + } +} \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/config/nafnet_concat_no_condskip_nodrop_noparams_splitca_double_encoder_decoder_noCondFFN_middle_fusion.json b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/config/nafnet_concat_no_condskip_nodrop_noparams_splitca_double_encoder_decoder_noCondFFN_middle_fusion.json new file mode 100644 index 0000000000000000000000000000000000000000..48a8dcb1c90f8f3c57483069cf9908f3fb2205f7 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/config/nafnet_concat_no_condskip_nodrop_noparams_splitca_double_encoder_decoder_noCondFFN_middle_fusion.json @@ -0,0 +1,148 @@ +{ + "name": "nafnet_concat_no_condskip_nodrop_noparams_splitca_double_encoder_decoder_noCondFFN_middle_fusion", + "gpu_ids": [ + 0 + ], + "seed": -1, + "finetune_norm": false, + "path": { + "base_dir": "experiments", + "code": "code", + "tb_logger": "tb_logger", + "results": "results", + "checkpoint": "checkpoint", + "resume_state": "experiments/train_nafnet_concat_no_condskip_nodrop_noparams_splitca_double_encoder_decoder_noCondFFN_middle_fusion_230531_024841/checkpoint/3000" + }, + "datasets": { + "train": { + "which_dataset": { + "name": [ + "data.dataset", + "Sen2_MTC_New_Multi" + ], + "args": { + "data_root": "../pmaa/data", + "mode": "train" + } + }, + "dataloader": { + "validation_split": 2, + "args": { + "batch_size": 8, + "num_workers": 8, + "shuffle": true, + "pin_memory": true, + "drop_last": true + }, + "val_args": { + "batch_size": 1, + "num_workers": 1, + "shuffle": false, + "pin_memory": true, + "drop_last": false + } + } + }, + "val": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "../pmaa/data", + "mode": "val" + } + } + }, + "test": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "../pmaa/data", + "mode": "test" + } + }, + "dataloader": { + "args": { + "batch_size": 1, + "num_workers": 1, + "pin_memory": true + } + } + } + }, + "model": { + "which_model": { + "name": [ + "models.model", + "Palette" + ], + "args": { + "sample_num": 8, + "task": "decloud", + "ema_scheduler": { + "ema_start": 1, + "ema_iter": 1, + "ema_decay": 0.9999 + }, + "optimizers": [ + { + "lr": 5e-05, + "weight_decay": 0 + } + ] + } + }, + "which_networks": [ + { + "name": [ + "models.network_x0_dpm_solver", + "Network" + ], + "args": { + "init_type": "kaiming", + "module_name": "nafnet_concat_no_condskip_nodrop_noparams_splitca_double_encoder_decoder_noCondFFN_middle_fusion", + "unet": { + "img_channel": 3, + "width": 64, + "middle_blk_num": 1, + "enc_blk_nums": [1, 1, 1, 1], + "dec_blk_nums": [1, 1, 1, 1] + }, + "beta_schedule": { + "train": { + "schedule": "linear", + "n_timestep": 2000, + "linear_start": 1e-06, + "linear_end": 0.01 + }, + "test": { + "schedule": "linear", + "n_timestep": 1000, + "linear_start": 0.0001, + "linear_end": 0.09 + } + } + } + } + ], + "which_losses": [ + "mse_loss" + ], + "which_metrics": [ + "mae" + ] + }, + "train": { + "n_epoch": 3000, + "n_iter": 100000000, + "val_epoch": 1000, + "save_checkpoint_epoch": 1000, + "log_iter": 10000, + "tensorboard": true + }, + "debug": { + "val_epoch": 1, + "save_checkpoint_epoch": 1, + "log_iter": 10, + "debug_split": 50 + } +} \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/config/nafnet_double_encoder_splitcaCond.json b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/config/nafnet_double_encoder_splitcaCond.json new file mode 100644 index 0000000000000000000000000000000000000000..baba7aaad9eb63811acd4898e46be46bfb731375 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/config/nafnet_double_encoder_splitcaCond.json @@ -0,0 +1,148 @@ +{ + "name": "nafnet_double_encoder_splitcaCond", + "gpu_ids": [ + 1 + ], + "seed": -1, + "finetune_norm": false, + "path": { + "base_dir": "experiments", + "code": "code", + "tb_logger": "tb_logger", + "results": "results", + "checkpoint": "checkpoint", + "resume_state": "experiments/train_nafnet_double_encoder_splitcaCond_230604_154843/checkpoint/3000" + }, + "datasets": { + "train": { + "which_dataset": { + "name": [ + "data.dataset", + "Sen2_MTC_New_Multi" + ], + "args": { + "data_root": "../pmaa/data", + "mode": "train" + } + }, + "dataloader": { + "validation_split": 2, + "args": { + "batch_size": 8, + "num_workers": 8, + "shuffle": true, + "pin_memory": true, + "drop_last": true + }, + "val_args": { + "batch_size": 1, + "num_workers": 1, + "shuffle": false, + "pin_memory": true, + "drop_last": false + } + } + }, + "val": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "../pmaa/data", + "mode": "val" + } + } + }, + "test": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "../pmaa/data", + "mode": "test" + } + }, + "dataloader": { + "args": { + "batch_size": 1, + "num_workers": 1, + "pin_memory": true + } + } + } + }, + "model": { + "which_model": { + "name": [ + "models.model", + "Palette" + ], + "args": { + "sample_num": 8, + "task": "decloud", + "ema_scheduler": { + "ema_start": 1, + "ema_iter": 1, + "ema_decay": 0.9999 + }, + "optimizers": [ + { + "lr": 5e-05, + "weight_decay": 0 + } + ] + } + }, + "which_networks": [ + { + "name": [ + "models.network_x0_dpm_solver", + "Network" + ], + "args": { + "init_type": "kaiming", + "module_name": "nafnet_double_encoder_splitcaCond", + "unet": { + "img_channel": 3, + "width": 64, + "middle_blk_num": 1, + "enc_blk_nums": [1, 1, 1, 1], + "dec_blk_nums": [1, 1, 1, 1] + }, + "beta_schedule": { + "train": { + "schedule": "linear", + "n_timestep": 2000, + "linear_start": 1e-06, + "linear_end": 0.01 + }, + "test": { + "schedule": "linear", + "n_timestep": 1000, + "linear_start": 0.0001, + "linear_end": 0.09 + } + } + } + } + ], + "which_losses": [ + "mse_loss" + ], + "which_metrics": [ + "mae" + ] + }, + "train": { + "n_epoch": 3000, + "n_iter": 100000000, + "val_epoch": 1000, + "save_checkpoint_epoch": 1000, + "log_iter": 10000, + "tensorboard": true + }, + "debug": { + "val_epoch": 1, + "save_checkpoint_epoch": 1, + "log_iter": 10, + "debug_split": 50 + } +} \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/config/nafnet_double_encoder_splitcaCond_splitcaUnet.json b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/config/nafnet_double_encoder_splitcaCond_splitcaUnet.json new file mode 100644 index 0000000000000000000000000000000000000000..e4b42ff6a23348907ca579bfc6053916290887da --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/config/nafnet_double_encoder_splitcaCond_splitcaUnet.json @@ -0,0 +1,148 @@ +{ + "name": "nafnet_double_encoder_splitcaCond_splitcaUnet", + "gpu_ids": [ + 0 + ], + "seed": -1, + "finetune_norm": false, + "path": { + "base_dir": "experiments", + "code": "code", + "tb_logger": "tb_logger", + "results": "results", + "checkpoint": "checkpoint", + "resume_state": "experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_230604_151849/checkpoint/3000" + }, + "datasets": { + "train": { + "which_dataset": { + "name": [ + "data.dataset", + "Sen2_MTC_New_Multi" + ], + "args": { + "data_root": "../pmaa/data", + "mode": "train" + } + }, + "dataloader": { + "validation_split": 2, + "args": { + "batch_size": 8, + "num_workers": 8, + "shuffle": true, + "pin_memory": true, + "drop_last": true + }, + "val_args": { + "batch_size": 1, + "num_workers": 1, + "shuffle": false, + "pin_memory": true, + "drop_last": false + } + } + }, + "val": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "../pmaa/data", + "mode": "val" + } + } + }, + "test": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "../pmaa/data", + "mode": "test" + } + }, + "dataloader": { + "args": { + "batch_size": 1, + "num_workers": 1, + "pin_memory": true + } + } + } + }, + "model": { + "which_model": { + "name": [ + "models.model", + "Palette" + ], + "args": { + "sample_num": 8, + "task": "decloud", + "ema_scheduler": { + "ema_start": 1, + "ema_iter": 1, + "ema_decay": 0.9999 + }, + "optimizers": [ + { + "lr": 5e-05, + "weight_decay": 0 + } + ] + } + }, + "which_networks": [ + { + "name": [ + "models.network_x0_dpm_solver", + "Network" + ], + "args": { + "init_type": "kaiming", + "module_name": "nafnet_double_encoder_splitcaCond_splitcaUnet", + "unet": { + "img_channel": 3, + "width": 64, + "middle_blk_num": 1, + "enc_blk_nums": [1, 1, 1, 1], + "dec_blk_nums": [1, 1, 1, 1] + }, + "beta_schedule": { + "train": { + "schedule": "linear", + "n_timestep": 2000, + "linear_start": 1e-06, + "linear_end": 0.01 + }, + "test": { + "schedule": "linear", + "n_timestep": 1000, + "linear_start": 0.0001, + "linear_end": 0.09 + } + } + } + } + ], + "which_losses": [ + "mse_loss" + ], + "which_metrics": [ + "mae" + ] + }, + "train": { + "n_epoch": 3000, + "n_iter": 100000000, + "val_epoch": 1000, + "save_checkpoint_epoch": 1000, + "log_iter": 10000, + "tensorboard": true + }, + "debug": { + "val_epoch": 1, + "save_checkpoint_epoch": 1, + "log_iter": 10, + "debug_split": 50 + } +} \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/config/nafnet_double_encoder_splitcaCond_splitcaUnet_cosine.json b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/config/nafnet_double_encoder_splitcaCond_splitcaUnet_cosine.json new file mode 100644 index 0000000000000000000000000000000000000000..0e92a94c9abe69ac9e1df0cbc490c3cf275edecf --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/config/nafnet_double_encoder_splitcaCond_splitcaUnet_cosine.json @@ -0,0 +1,148 @@ +{ + "name": "nafnet_double_encoder_splitcaCond_splitcaUnet_cosine", + "gpu_ids": [ + 0 + ], + "seed": -1, + "finetune_norm": false, + "path": { + "base_dir": "experiments", + "code": "code", + "tb_logger": "tb_logger", + "results": "results", + "checkpoint": "checkpoint", + "resume_state": null + }, + "datasets": { + "train": { + "which_dataset": { + "name": [ + "data.dataset", + "Sen2_MTC_New_Multi" + ], + "args": { + "data_root": "../pmaa/data", + "mode": "train" + } + }, + "dataloader": { + "validation_split": 2, + "args": { + "batch_size": 8, + "num_workers": 8, + "shuffle": true, + "pin_memory": true, + "drop_last": true + }, + "val_args": { + "batch_size": 1, + "num_workers": 1, + "shuffle": false, + "pin_memory": true, + "drop_last": false + } + } + }, + "val": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "../pmaa/data", + "mode": "val" + } + } + }, + "test": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "../pmaa/data", + "mode": "test" + } + }, + "dataloader": { + "args": { + "batch_size": 1, + "num_workers": 1, + "pin_memory": true + } + } + } + }, + "model": { + "which_model": { + "name": [ + "models.model", + "Palette" + ], + "args": { + "sample_num": 8, + "task": "decloud", + "ema_scheduler": { + "ema_start": 1, + "ema_iter": 1, + "ema_decay": 0.9999 + }, + "optimizers": [ + { + "lr": 5e-05, + "weight_decay": 0 + } + ] + } + }, + "which_networks": [ + { + "name": [ + "models.network_x0_dpm_solver", + "Network" + ], + "args": { + "init_type": "kaiming", + "module_name": "nafnet_double_encoder_splitcaCond_splitcaUnet", + "unet": { + "img_channel": 3, + "width": 64, + "middle_blk_num": 1, + "enc_blk_nums": [1, 1, 1, 1], + "dec_blk_nums": [1, 1, 1, 1] + }, + "beta_schedule": { + "train": { + "schedule": "cosine", + "n_timestep": 2000, + "linear_start": 1e-06, + "linear_end": 0.01 + }, + "test": { + "schedule": "cosine", + "n_timestep": 1000, + "linear_start": 0.0001, + "linear_end": 0.09 + } + } + } + } + ], + "which_losses": [ + "mse_loss" + ], + "which_metrics": [ + "mae" + ] + }, + "train": { + "n_epoch": 3000, + "n_iter": 100000000, + "val_epoch": 1000, + "save_checkpoint_epoch": 1000, + "log_iter": 10000, + "tensorboard": true + }, + "debug": { + "val_epoch": 1, + "save_checkpoint_epoch": 1, + "log_iter": 10, + "debug_split": 50 + } +} \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/config/nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid.json b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/config/nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid.json new file mode 100644 index 0000000000000000000000000000000000000000..59f19b990724426c72fdf8e2a1eeb34109341689 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/config/nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid.json @@ -0,0 +1,148 @@ +{ + "name": "nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid", + "gpu_ids": [ + 1 + ], + "seed": -1, + "finetune_norm": false, + "path": { + "base_dir": "experiments", + "code": "code", + "tb_logger": "tb_logger", + "results": "results", + "checkpoint": "checkpoint", + "resume_state": null + }, + "datasets": { + "train": { + "which_dataset": { + "name": [ + "data.dataset", + "Sen2_MTC_New_Multi" + ], + "args": { + "data_root": "../pmaa/data", + "mode": "train" + } + }, + "dataloader": { + "validation_split": 2, + "args": { + "batch_size": 8, + "num_workers": 8, + "shuffle": true, + "pin_memory": true, + "drop_last": true + }, + "val_args": { + "batch_size": 1, + "num_workers": 1, + "shuffle": false, + "pin_memory": true, + "drop_last": false + } + } + }, + "val": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "../pmaa/data", + "mode": "val" + } + } + }, + "test": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "../pmaa/data", + "mode": "test" + } + }, + "dataloader": { + "args": { + "batch_size": 1, + "num_workers": 1, + "pin_memory": true + } + } + } + }, + "model": { + "which_model": { + "name": [ + "models.model", + "Palette" + ], + "args": { + "sample_num": 8, + "task": "decloud", + "ema_scheduler": { + "ema_start": 1, + "ema_iter": 1, + "ema_decay": 0.9999 + }, + "optimizers": [ + { + "lr": 5e-05, + "weight_decay": 0 + } + ] + } + }, + "which_networks": [ + { + "name": [ + "models.network_x0_dpm_solver", + "Network" + ], + "args": { + "init_type": "kaiming", + "module_name": "nafnet_double_encoder_splitcaCond_splitcaUnet", + "unet": { + "img_channel": 3, + "width": 64, + "middle_blk_num": 1, + "enc_blk_nums": [1, 1, 1, 1], + "dec_blk_nums": [1, 1, 1, 1] + }, + "beta_schedule": { + "train": { + "schedule": "sigmoid", + "n_timestep": 2000, + "linear_start": 1e-06, + "linear_end": 0.01 + }, + "test": { + "schedule": "sigmoid", + "n_timestep": 1000, + "linear_start": 0.0001, + "linear_end": 0.09 + } + } + } + } + ], + "which_losses": [ + "mse_loss" + ], + "which_metrics": [ + "mae" + ] + }, + "train": { + "n_epoch": 3000, + "n_iter": 100000000, + "val_epoch": 1000, + "save_checkpoint_epoch": 1000, + "log_iter": 10000, + "tensorboard": true + }, + "debug": { + "val_epoch": 1, + "save_checkpoint_epoch": 1, + "log_iter": 10, + "debug_split": 50 + } +} \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/config/nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_datan1.json b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/config/nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_datan1.json new file mode 100644 index 0000000000000000000000000000000000000000..18a338041aee2df3b1c4088e7373f196d49264b7 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/config/nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_datan1.json @@ -0,0 +1,148 @@ +{ + "name": "nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_datan1", + "gpu_ids": [ + 2 + ], + "seed": -1, + "finetune_norm": false, + "path": { + "base_dir": "experiments", + "code": "code", + "tb_logger": "tb_logger", + "results": "results", + "checkpoint": "checkpoint", + "resume_state": null + }, + "datasets": { + "train": { + "which_dataset": { + "name": [ + "data.dataset", + "Sen2_MTC_New1" + ], + "args": { + "data_root": "../pmaa/data", + "mode": "train" + } + }, + "dataloader": { + "validation_split": 2, + "args": { + "batch_size": 8, + "num_workers": 8, + "shuffle": true, + "pin_memory": true, + "drop_last": true + }, + "val_args": { + "batch_size": 1, + "num_workers": 1, + "shuffle": false, + "pin_memory": true, + "drop_last": false + } + } + }, + "val": { + "which_dataset": { + "name": "Sen2_MTC_New1", + "args": { + "data_root": "../pmaa/data", + "mode": "val" + } + } + }, + "test": { + "which_dataset": { + "name": "Sen2_MTC_New1", + "args": { + "data_root": "../pmaa/data", + "mode": "test" + } + }, + "dataloader": { + "args": { + "batch_size": 1, + "num_workers": 1, + "pin_memory": true + } + } + } + }, + "model": { + "which_model": { + "name": [ + "models.model", + "Palette" + ], + "args": { + "sample_num": 8, + "task": "decloud", + "ema_scheduler": { + "ema_start": 1, + "ema_iter": 1, + "ema_decay": 0.9999 + }, + "optimizers": [ + { + "lr": 5e-05, + "weight_decay": 0 + } + ] + } + }, + "which_networks": [ + { + "name": [ + "models.network_x0_dpm_solver", + "Network" + ], + "args": { + "init_type": "kaiming", + "module_name": "nafnet_double_encoder_splitcaCond_splitcaUnet", + "unet": { + "img_channel": 3, + "width": 64, + "middle_blk_num": 1, + "enc_blk_nums": [1, 1, 1, 1], + "dec_blk_nums": [1, 1, 1, 1] + }, + "beta_schedule": { + "train": { + "schedule": "sigmoid", + "n_timestep": 2000, + "linear_start": 1e-06, + "linear_end": 0.01 + }, + "test": { + "schedule": "sigmoid", + "n_timestep": 1000, + "linear_start": 0.0001, + "linear_end": 0.09 + } + } + } + } + ], + "which_losses": [ + "mse_loss" + ], + "which_metrics": [ + "mae" + ] + }, + "train": { + "n_epoch": 3000, + "n_iter": 100000000, + "val_epoch": 1000, + "save_checkpoint_epoch": 1000, + "log_iter": 10000, + "tensorboard": true + }, + "debug": { + "val_epoch": 1, + "save_checkpoint_epoch": 1, + "log_iter": 10, + "debug_split": 50 + } +} \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/config/nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_datan2.json b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/config/nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_datan2.json new file mode 100644 index 0000000000000000000000000000000000000000..292f0a6c663ec97e936b560855785d79ec2c32d6 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/config/nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_datan2.json @@ -0,0 +1,148 @@ +{ + "name": "nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_datan2", + "gpu_ids": [ + 3 + ], + "seed": -1, + "finetune_norm": false, + "path": { + "base_dir": "experiments", + "code": "code", + "tb_logger": "tb_logger", + "results": "results", + "checkpoint": "checkpoint", + "resume_state": null + }, + "datasets": { + "train": { + "which_dataset": { + "name": [ + "data.dataset", + "Sen2_MTC_New2" + ], + "args": { + "data_root": "../pmaa/data", + "mode": "train" + } + }, + "dataloader": { + "validation_split": 2, + "args": { + "batch_size": 8, + "num_workers": 8, + "shuffle": true, + "pin_memory": true, + "drop_last": true + }, + "val_args": { + "batch_size": 1, + "num_workers": 1, + "shuffle": false, + "pin_memory": true, + "drop_last": false + } + } + }, + "val": { + "which_dataset": { + "name": "Sen2_MTC_New2", + "args": { + "data_root": "../pmaa/data", + "mode": "val" + } + } + }, + "test": { + "which_dataset": { + "name": "Sen2_MTC_New2", + "args": { + "data_root": "../pmaa/data", + "mode": "test" + } + }, + "dataloader": { + "args": { + "batch_size": 1, + "num_workers": 1, + "pin_memory": true + } + } + } + }, + "model": { + "which_model": { + "name": [ + "models.model", + "Palette" + ], + "args": { + "sample_num": 8, + "task": "decloud", + "ema_scheduler": { + "ema_start": 1, + "ema_iter": 1, + "ema_decay": 0.9999 + }, + "optimizers": [ + { + "lr": 5e-05, + "weight_decay": 0 + } + ] + } + }, + "which_networks": [ + { + "name": [ + "models.network_x0_dpm_solver", + "Network" + ], + "args": { + "init_type": "kaiming", + "module_name": "nafnet_double_encoder_splitcaCond_splitcaUnet", + "unet": { + "img_channel": 3, + "width": 64, + "middle_blk_num": 1, + "enc_blk_nums": [1, 1, 1, 1], + "dec_blk_nums": [1, 1, 1, 1] + }, + "beta_schedule": { + "train": { + "schedule": "sigmoid", + "n_timestep": 2000, + "linear_start": 1e-06, + "linear_end": 0.01 + }, + "test": { + "schedule": "sigmoid", + "n_timestep": 1000, + "linear_start": 0.0001, + "linear_end": 0.09 + } + } + } + } + ], + "which_losses": [ + "mse_loss" + ], + "which_metrics": [ + "mae" + ] + }, + "train": { + "n_epoch": 3000, + "n_iter": 100000000, + "val_epoch": 1000, + "save_checkpoint_epoch": 1000, + "log_iter": 10000, + "tensorboard": true + }, + "debug": { + "val_epoch": 1, + "save_checkpoint_epoch": 1, + "log_iter": 10, + "debug_split": 50 + } +} \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/config/nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen1.json b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/config/nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen1.json new file mode 100644 index 0000000000000000000000000000000000000000..7e0870073edc14851e8a9c4166e0a2087fb74bee --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/config/nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen1.json @@ -0,0 +1,148 @@ +{ + "name": "nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen1", + "gpu_ids": [ + 1 + ], + "seed": -1, + "finetune_norm": false, + "path": { + "base_dir": "experiments", + "code": "code", + "tb_logger": "tb_logger", + "results": "results", + "checkpoint": "checkpoint", + "resume_state": null + }, + "datasets": { + "train": { + "which_dataset": { + "name": [ + "data.dataset", + "Sen2_MTC_New1" + ], + "args": { + "data_root": "../pmaa/data", + "mode": "train" + } + }, + "dataloader": { + "validation_split": 2, + "args": { + "batch_size": 8, + "num_workers": 8, + "shuffle": true, + "pin_memory": true, + "drop_last": true + }, + "val_args": { + "batch_size": 1, + "num_workers": 1, + "shuffle": false, + "pin_memory": true, + "drop_last": false + } + } + }, + "val": { + "which_dataset": { + "name": "Sen2_MTC_New1", + "args": { + "data_root": "../pmaa/data", + "mode": "val" + } + } + }, + "test": { + "which_dataset": { + "name": "Sen2_MTC_New1", + "args": { + "data_root": "../pmaa/data", + "mode": "test" + } + }, + "dataloader": { + "args": { + "batch_size": 1, + "num_workers": 1, + "pin_memory": true + } + } + } + }, + "model": { + "which_model": { + "name": [ + "models.model", + "Palette" + ], + "args": { + "sample_num": 8, + "task": "decloud", + "ema_scheduler": { + "ema_start": 1, + "ema_iter": 1, + "ema_decay": 0.9999 + }, + "optimizers": [ + { + "lr": 5e-05, + "weight_decay": 0 + } + ] + } + }, + "which_networks": [ + { + "name": [ + "models.network_noise_dpm_solver", + "Network" + ], + "args": { + "init_type": "kaiming", + "module_name": "nafnet_double_encoder_splitcaCond_splitcaUnet", + "unet": { + "img_channel": 3, + "width": 64, + "middle_blk_num": 1, + "enc_blk_nums": [1, 1, 1, 1], + "dec_blk_nums": [1, 1, 1, 1] + }, + "beta_schedule": { + "train": { + "schedule": "sigmoid", + "n_timestep": 2000, + "linear_start": 1e-06, + "linear_end": 0.01 + }, + "test": { + "schedule": "sigmoid", + "n_timestep": 1000, + "linear_start": 0.0001, + "linear_end": 0.09 + } + } + } + } + ], + "which_losses": [ + "mse_loss" + ], + "which_metrics": [ + "mae" + ] + }, + "train": { + "n_epoch": 3000, + "n_iter": 100000000, + "val_epoch": 1000, + "save_checkpoint_epoch": 1000, + "log_iter": 10000, + "tensorboard": true + }, + "debug": { + "val_epoch": 1, + "save_checkpoint_epoch": 1, + "log_iter": 10, + "debug_split": 50 + } +} \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/config/nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen2.json b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/config/nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen2.json new file mode 100644 index 0000000000000000000000000000000000000000..85e0359a6b8ab181d2523eb8c4a3a0ef916fbe4f --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/config/nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen2.json @@ -0,0 +1,148 @@ +{ + "name": "nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen2", + "gpu_ids": [ + 0 + ], + "seed": -1, + "finetune_norm": false, + "path": { + "base_dir": "experiments", + "code": "code", + "tb_logger": "tb_logger", + "results": "results", + "checkpoint": "checkpoint", + "resume_state": null + }, + "datasets": { + "train": { + "which_dataset": { + "name": [ + "data.dataset", + "Sen2_MTC_New2" + ], + "args": { + "data_root": "../pmaa/data", + "mode": "train" + } + }, + "dataloader": { + "validation_split": 2, + "args": { + "batch_size": 8, + "num_workers": 8, + "shuffle": true, + "pin_memory": true, + "drop_last": true + }, + "val_args": { + "batch_size": 1, + "num_workers": 1, + "shuffle": false, + "pin_memory": true, + "drop_last": false + } + } + }, + "val": { + "which_dataset": { + "name": "Sen2_MTC_New2", + "args": { + "data_root": "../pmaa/data", + "mode": "val" + } + } + }, + "test": { + "which_dataset": { + "name": "Sen2_MTC_New2", + "args": { + "data_root": "../pmaa/data", + "mode": "test" + } + }, + "dataloader": { + "args": { + "batch_size": 1, + "num_workers": 1, + "pin_memory": true + } + } + } + }, + "model": { + "which_model": { + "name": [ + "models.model", + "Palette" + ], + "args": { + "sample_num": 8, + "task": "decloud", + "ema_scheduler": { + "ema_start": 1, + "ema_iter": 1, + "ema_decay": 0.9999 + }, + "optimizers": [ + { + "lr": 5e-05, + "weight_decay": 0 + } + ] + } + }, + "which_networks": [ + { + "name": [ + "models.network_noise_dpm_solver", + "Network" + ], + "args": { + "init_type": "kaiming", + "module_name": "nafnet_double_encoder_splitcaCond_splitcaUnet", + "unet": { + "img_channel": 3, + "width": 64, + "middle_blk_num": 1, + "enc_blk_nums": [1, 1, 1, 1], + "dec_blk_nums": [1, 1, 1, 1] + }, + "beta_schedule": { + "train": { + "schedule": "sigmoid", + "n_timestep": 2000, + "linear_start": 1e-06, + "linear_end": 0.01 + }, + "test": { + "schedule": "sigmoid", + "n_timestep": 1000, + "linear_start": 0.0001, + "linear_end": 0.09 + } + } + } + } + ], + "which_losses": [ + "mse_loss" + ], + "which_metrics": [ + "mae" + ] + }, + "train": { + "n_epoch": 3000, + "n_iter": 100000000, + "val_epoch": 1000, + "save_checkpoint_epoch": 1000, + "log_iter": 10000, + "tensorboard": true + }, + "debug": { + "val_epoch": 1, + "save_checkpoint_epoch": 1, + "log_iter": 10, + "debug_split": 50 + } +} \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/config/nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3.json b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/config/nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3.json new file mode 100644 index 0000000000000000000000000000000000000000..8b458ec31f19bc36e4d7cf6f785eec468637b97f --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/config/nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3.json @@ -0,0 +1,148 @@ +{ + "name": "nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3", + "gpu_ids": [ + 2 + ], + "seed": -1, + "finetune_norm": false, + "path": { + "base_dir": "experiments", + "code": "code", + "tb_logger": "tb_logger", + "results": "results", + "checkpoint": "checkpoint", + "resume_state": null + }, + "datasets": { + "train": { + "which_dataset": { + "name": [ + "data.dataset", + "Sen2_MTC_New_Multi" + ], + "args": { + "data_root": "../pmaa/data", + "mode": "train" + } + }, + "dataloader": { + "validation_split": 2, + "args": { + "batch_size": 8, + "num_workers": 8, + "shuffle": true, + "pin_memory": true, + "drop_last": true + }, + "val_args": { + "batch_size": 1, + "num_workers": 1, + "shuffle": false, + "pin_memory": true, + "drop_last": false + } + } + }, + "val": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "../pmaa/data", + "mode": "val" + } + } + }, + "test": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "../pmaa/data", + "mode": "test" + } + }, + "dataloader": { + "args": { + "batch_size": 1, + "num_workers": 1, + "pin_memory": true + } + } + } + }, + "model": { + "which_model": { + "name": [ + "models.model", + "Palette" + ], + "args": { + "sample_num": 8, + "task": "decloud", + "ema_scheduler": { + "ema_start": 1, + "ema_iter": 1, + "ema_decay": 0.9999 + }, + "optimizers": [ + { + "lr": 5e-05, + "weight_decay": 0 + } + ] + } + }, + "which_networks": [ + { + "name": [ + "models.network_noise_dpm_solver", + "Network" + ], + "args": { + "init_type": "kaiming", + "module_name": "nafnet_double_encoder_splitcaCond_splitcaUnet", + "unet": { + "img_channel": 3, + "width": 64, + "middle_blk_num": 1, + "enc_blk_nums": [1, 1, 1, 1], + "dec_blk_nums": [1, 1, 1, 1] + }, + "beta_schedule": { + "train": { + "schedule": "sigmoid", + "n_timestep": 2000, + "linear_start": 1e-06, + "linear_end": 0.01 + }, + "test": { + "schedule": "sigmoid", + "n_timestep": 1000, + "linear_start": 0.0001, + "linear_end": 0.09 + } + } + } + } + ], + "which_losses": [ + "mse_loss" + ], + "which_metrics": [ + "mae" + ] + }, + "train": { + "n_epoch": 3000, + "n_iter": 100000000, + "val_epoch": 1000, + "save_checkpoint_epoch": 1000, + "log_iter": 10000, + "tensorboard": true + }, + "debug": { + "val_epoch": 1, + "save_checkpoint_epoch": 1, + "log_iter": 10, + "debug_split": 50 + } +} \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/config/nafnet_double_encoder_splitcaUnet.json b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/config/nafnet_double_encoder_splitcaUnet.json new file mode 100644 index 0000000000000000000000000000000000000000..95f19e7e5c209caec6c4f89215c8537ea42fb0e6 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/config/nafnet_double_encoder_splitcaUnet.json @@ -0,0 +1,148 @@ +{ + "name": "nafnet_double_encoder_splitcaUnet", + "gpu_ids": [ + 3 + ], + "seed": -1, + "finetune_norm": false, + "path": { + "base_dir": "experiments", + "code": "code", + "tb_logger": "tb_logger", + "results": "results", + "checkpoint": "checkpoint", + "resume_state": "experiments/train_nafnet_double_encoder_splitcaUnet_230604_154955/checkpoint/3000" + }, + "datasets": { + "train": { + "which_dataset": { + "name": [ + "data.dataset", + "Sen2_MTC_New_Multi" + ], + "args": { + "data_root": "../pmaa/data", + "mode": "train" + } + }, + "dataloader": { + "validation_split": 2, + "args": { + "batch_size": 8, + "num_workers": 8, + "shuffle": true, + "pin_memory": true, + "drop_last": true + }, + "val_args": { + "batch_size": 1, + "num_workers": 1, + "shuffle": false, + "pin_memory": true, + "drop_last": false + } + } + }, + "val": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "../pmaa/data", + "mode": "val" + } + } + }, + "test": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "../pmaa/data", + "mode": "test" + } + }, + "dataloader": { + "args": { + "batch_size": 1, + "num_workers": 1, + "pin_memory": true + } + } + } + }, + "model": { + "which_model": { + "name": [ + "models.model", + "Palette" + ], + "args": { + "sample_num": 8, + "task": "decloud", + "ema_scheduler": { + "ema_start": 1, + "ema_iter": 1, + "ema_decay": 0.9999 + }, + "optimizers": [ + { + "lr": 5e-05, + "weight_decay": 0 + } + ] + } + }, + "which_networks": [ + { + "name": [ + "models.network_x0_dpm_solver", + "Network" + ], + "args": { + "init_type": "kaiming", + "module_name": "nafnet_double_encoder_splitcaUnet", + "unet": { + "img_channel": 3, + "width": 64, + "middle_blk_num": 1, + "enc_blk_nums": [1, 1, 1, 1], + "dec_blk_nums": [1, 1, 1, 1] + }, + "beta_schedule": { + "train": { + "schedule": "linear", + "n_timestep": 2000, + "linear_start": 1e-06, + "linear_end": 0.01 + }, + "test": { + "schedule": "linear", + "n_timestep": 1000, + "linear_start": 0.0001, + "linear_end": 0.09 + } + } + } + } + ], + "which_losses": [ + "mse_loss" + ], + "which_metrics": [ + "mae" + ] + }, + "train": { + "n_epoch": 3000, + "n_iter": 100000000, + "val_epoch": 1000, + "save_checkpoint_epoch": 1000, + "log_iter": 10000, + "tensorboard": true + }, + "debug": { + "val_epoch": 1, + "save_checkpoint_epoch": 1, + "log_iter": 10, + "debug_split": 50 + } +} \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/config/nafnet_sum_no_condskip_nodrop_noparams_splitca_double_encoder_decoder_noCondFFN_middle_fusion.json b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/config/nafnet_sum_no_condskip_nodrop_noparams_splitca_double_encoder_decoder_noCondFFN_middle_fusion.json new file mode 100644 index 0000000000000000000000000000000000000000..2928dfaf9d23b5f7e304ebfa0ce609ed2767de40 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/config/nafnet_sum_no_condskip_nodrop_noparams_splitca_double_encoder_decoder_noCondFFN_middle_fusion.json @@ -0,0 +1,148 @@ +{ + "name": "nafnet_sum_no_condskip_nodrop_noparams_splitca_double_encoder_decoder_noCondFFN_middle_fusion", + "gpu_ids": [ + 1 + ], + "seed": -1, + "finetune_norm": false, + "path": { + "base_dir": "experiments", + "code": "code", + "tb_logger": "tb_logger", + "results": "results", + "checkpoint": "checkpoint", + "resume_state": "experiments/train_nafnet_sum_no_condskip_nodrop_noparams_splitca_double_encoder_decoder_noCondFFN_middle_fusion_230531_025339/checkpoint/3000" + }, + "datasets": { + "train": { + "which_dataset": { + "name": [ + "data.dataset", + "Sen2_MTC_New_Multi" + ], + "args": { + "data_root": "../pmaa/data", + "mode": "train" + } + }, + "dataloader": { + "validation_split": 2, + "args": { + "batch_size": 8, + "num_workers": 8, + "shuffle": true, + "pin_memory": true, + "drop_last": true + }, + "val_args": { + "batch_size": 1, + "num_workers": 1, + "shuffle": false, + "pin_memory": true, + "drop_last": false + } + } + }, + "val": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "../pmaa/data", + "mode": "val" + } + } + }, + "test": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "../pmaa/data", + "mode": "test" + } + }, + "dataloader": { + "args": { + "batch_size": 1, + "num_workers": 1, + "pin_memory": true + } + } + } + }, + "model": { + "which_model": { + "name": [ + "models.model", + "Palette" + ], + "args": { + "sample_num": 8, + "task": "decloud", + "ema_scheduler": { + "ema_start": 1, + "ema_iter": 1, + "ema_decay": 0.9999 + }, + "optimizers": [ + { + "lr": 5e-05, + "weight_decay": 0 + } + ] + } + }, + "which_networks": [ + { + "name": [ + "models.network_x0_dpm_solver", + "Network" + ], + "args": { + "init_type": "kaiming", + "module_name": "nafnet_sum_no_condskip_nodrop_noparams_splitca_double_encoder_decoder_noCondFFN_middle_fusion", + "unet": { + "img_channel": 3, + "width": 64, + "middle_blk_num": 1, + "enc_blk_nums": [1, 1, 1, 1], + "dec_blk_nums": [1, 1, 1, 1] + }, + "beta_schedule": { + "train": { + "schedule": "linear", + "n_timestep": 2000, + "linear_start": 1e-06, + "linear_end": 0.01 + }, + "test": { + "schedule": "linear", + "n_timestep": 1000, + "linear_start": 0.0001, + "linear_end": 0.09 + } + } + } + } + ], + "which_losses": [ + "mse_loss" + ], + "which_metrics": [ + "mae" + ] + }, + "train": { + "n_epoch": 3000, + "n_iter": 100000000, + "val_epoch": 1000, + "save_checkpoint_epoch": 1000, + "log_iter": 10000, + "tensorboard": true + }, + "debug": { + "val_epoch": 1, + "save_checkpoint_epoch": 1, + "log_iter": 10, + "debug_split": 50 + } +} \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/config/ours_4bs1_multi_x0.json b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/config/ours_4bs1_multi_x0.json new file mode 100644 index 0000000000000000000000000000000000000000..6c99194078332f6f95bb118d12a701a84401d6a0 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/config/ours_4bs1_multi_x0.json @@ -0,0 +1,145 @@ +{ + "name": "ours_multi_4bs1_x0", // experiments name + "gpu_ids": [0, 1, 2, 3], // gpu ids list, default is single 0 + "seed" : -1, // random seed, seed <0 represents randomization not used + "finetune_norm": false, // find the parameters to optimize + + "path": { //set every part file path + "base_dir": "experiments", // base path for all log except resume_state + "code": "code", // code backup + "tb_logger": "tb_logger", // path of tensorboard logger + "results": "results", + "checkpoint": "checkpoint", + // "resume_state": "experiments/inpainting_places2_220413_143231/checkpoint/25" + "resume_state": null // ex: 100, loading .state and .pth from given epoch and iteration + }, + + "datasets": { // train or test + "train": { + "which_dataset": { // import designated dataset using arguments + "name": ["data.dataset", "Sen2_MTC_New_Multi"], // import Dataset() class / function(not recommend) from data.dataset.py (default is [data.dataset.py]) + "args":{ // arguments to initialize dataset + "data_root": "../pmaa/data", + "mode": "train" + } + }, + "dataloader":{ + "validation_split": 2, // percent or number ## 這裡沒有生效(因為我們自己的數據集有專門劃分的驗證集) + "args":{ // arguments to initialize train_dataloader + "batch_size": 1, // batch size in each gpu + "num_workers": 1, + "shuffle": true, + "pin_memory": true, + "drop_last": true + }, + "val_args":{ // arguments to initialize valid_dataloader, will overwrite the parameters in train_dataloader + "batch_size": 1, // batch size in each gpu + "num_workers": 4, + "shuffle": false, + "pin_memory": true, + "drop_last": false + } + } + }, + "val": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", // import Dataset() class / function(not recommend) from default file + "args":{ + "data_root": "../pmaa/data", + "mode": "val" + } + } + }, + "test": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", // import Dataset() class / function(not recommend) from default file + "args":{ + "data_root": "../pmaa/data", + "mode": "test" + } + }, + "dataloader":{ + "args":{ + "batch_size": 8, + "num_workers": 8, + "pin_memory": true + } + } + } + }, + + "model": { // networks/metrics/losses/optimizers/lr_schedulers is a list and model is a dict + "which_model": { // import designated model(trainer) using arguments + "name": ["models.model", "Palette"], // import Model() class / function(not recommend) from models.model.py (default is [models.model.py]) + "args": { + "sample_num": 8, // process of each image + "task": "decloud", + "ema_scheduler": { + "ema_start": 1, + "ema_iter": 1, + "ema_decay": 0.9999 + }, + "optimizers": [ + { "lr": 5e-5, "weight_decay": 0} + ] + } + }, + "which_networks": [ // import designated list of networks using arguments + { + "name": ["models.network_x0", "Network"], // import Network() class / function(not recommend) from default file (default is [models/network.py]) + "args": { // arguments to initialize network + "init_type": "kaiming", // method can be [normal | xavier| xavier_uniform | kaiming | orthogonal], default is kaiming + "module_name": "ours", // sr3 | guided_diffusion | ours + "unet": { + "inp_channels": 12, + "out_channels": 3, + "encoder_dims": [64, 128, 256, 512], + "decoder_dims": [512, 256, 128, 64], + "encoder_blocks": [1, 1, 1, 1], + "decoder_blocks": [1, 1, 1, 1], + "drop_path_rate": 0.1, + "norm_type": "ln", + "act_type": "silu" + }, + "beta_schedule": { + "train": { + "schedule": "linear", + "n_timestep": 2000, + // "n_timestep": 5, // debug + "linear_start": 1e-6, + "linear_end": 0.01 + }, + "test": { + "schedule": "linear", + "n_timestep": 1000, + "linear_start": 1e-4, + "linear_end": 0.09 + } + } + } + } + ], + "which_losses": [ // import designated list of losses without arguments + "mse_loss" // import mse_loss() function/class from default file (default is [models/losses.py]), equivalent to { "name": "mse_loss", "args":{}} + ], + "which_metrics": [ // import designated list of metrics without arguments + "mae" // import mae() function/class from default file (default is [models/metrics.py]), equivalent to { "name": "mae", "args":{}} + ] + }, + + "train": { // arguments for basic training + "n_epoch": 1e8, // max epochs, not limited now + "n_iter": 1e8, // max interations + "val_epoch": 5, // valdation every specified number of epochs + "save_checkpoint_epoch": 100, + "log_iter": 1e4, // log every specified number of iterations + "tensorboard" : true // tensorboardX enable + }, + + "debug": { // arguments in debug mode, which will replace arguments in train + "val_epoch": 1, + "save_checkpoint_epoch": 1, + "log_iter": 10, + "debug_split": 50 // percent or number, change the size of dataloder to debug_split. + } +} diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/config/ours_down4_ca_4bs2_multi_x0.json b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/config/ours_down4_ca_4bs2_multi_x0.json new file mode 100644 index 0000000000000000000000000000000000000000..f6293c6e9ac1cbc8a97c8ac8b13f904340330d53 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/config/ours_down4_ca_4bs2_multi_x0.json @@ -0,0 +1,145 @@ +{ + "name": "ours_down4_ca_4bs2_multi_x0", // experiments name + "gpu_ids": [0, 1, 2, 3], // gpu ids list, default is single 0 + "seed" : -1, // random seed, seed <0 represents randomization not used + "finetune_norm": false, // find the parameters to optimize + + "path": { //set every part file path + "base_dir": "experiments", // base path for all log except resume_state + "code": "code", // code backup + "tb_logger": "tb_logger", // path of tensorboard logger + "results": "results", + "checkpoint": "checkpoint", + // "resume_state": "experiments/inpainting_places2_220413_143231/checkpoint/25" + "resume_state": null // ex: 100, loading .state and .pth from given epoch and iteration + }, + + "datasets": { // train or test + "train": { + "which_dataset": { // import designated dataset using arguments + "name": ["data.dataset", "Sen2_MTC_New_Multi"], // import Dataset() class / function(not recommend) from data.dataset.py (default is [data.dataset.py]) + "args":{ // arguments to initialize dataset + "data_root": "../pmaa/data", + "mode": "train" + } + }, + "dataloader":{ + "validation_split": 2, // percent or number ## 這裡沒有生效(因為我們自己的數據集有專門劃分的驗證集) + "args":{ // arguments to initialize train_dataloader + "batch_size": 2, // batch size in each gpu + "num_workers": 4, + "shuffle": true, + "pin_memory": true, + "drop_last": true + }, + "val_args":{ // arguments to initialize valid_dataloader, will overwrite the parameters in train_dataloader + "batch_size": 1, // batch size in each gpu + "num_workers": 4, + "shuffle": false, + "pin_memory": true, + "drop_last": false + } + } + }, + "val": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", // import Dataset() class / function(not recommend) from default file + "args":{ + "data_root": "../pmaa/data", + "mode": "val" + } + } + }, + "test": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", // import Dataset() class / function(not recommend) from default file + "args":{ + "data_root": "../pmaa/data", + "mode": "test" + } + }, + "dataloader":{ + "args":{ + "batch_size": 8, + "num_workers": 8, + "pin_memory": true + } + } + } + }, + + "model": { // networks/metrics/losses/optimizers/lr_schedulers is a list and model is a dict + "which_model": { // import designated model(trainer) using arguments + "name": ["models.model", "Palette"], // import Model() class / function(not recommend) from models.model.py (default is [models.model.py]) + "args": { + "sample_num": 8, // process of each image + "task": "decloud", + "ema_scheduler": { + "ema_start": 1, + "ema_iter": 1, + "ema_decay": 0.9999 + }, + "optimizers": [ + { "lr": 5e-5, "weight_decay": 0} + ] + } + }, + "which_networks": [ // import designated list of networks using arguments + { + "name": ["models.network_x0_dpm_solver", "Network"], // import Network() class / function(not recommend) from default file (default is [models/network.py]) + "args": { // arguments to initialize network + "init_type": "kaiming", // method can be [normal | xavier| xavier_uniform | kaiming | orthogonal], default is kaiming + "module_name": "ours_down4_ca", // sr3 | guided_diffusion | ours | ours_down4_ca + "unet": { + "inp_channels": 12, + "out_channels": 3, + "encoder_dims": [64, 128, 256, 512, 1024], + "decoder_dims": [1024, 512, 256, 128, 64], + "encoder_blocks": [1, 1, 1, 1, 1], + "decoder_blocks": [1, 1, 1, 1, 1], + "drop_path_rate": 0.1, + "norm_type": "ln", + "act_type": "silu" + }, + "beta_schedule": { + "train": { + "schedule": "linear", + "n_timestep": 2000, + // "n_timestep": 5, // debug + "linear_start": 1e-6, + "linear_end": 0.01 + }, + "test": { + "schedule": "linear", + "n_timestep": 1000, + "linear_start": 1e-4, + "linear_end": 0.09 + } + } + } + } + ], + "which_losses": [ // import designated list of losses without arguments + "mse_loss" // import mse_loss() function/class from default file (default is [models/losses.py]), equivalent to { "name": "mse_loss", "args":{}} + ], + "which_metrics": [ // import designated list of metrics without arguments + "mae" // import mae() function/class from default file (default is [models/metrics.py]), equivalent to { "name": "mae", "args":{}} + ] + }, + + "train": { // arguments for basic training + "n_epoch": 5000, // max epochs, not limited now + "n_iter": 1e8, // max interations + "val_epoch": 100, // valdation every specified number of epochs + "save_checkpoint_epoch": 500, + "log_iter": 1e4, // log every specified number of iterations + "tensorboard" : false // tensorboardX enable + }, + + "debug": { // arguments in debug mode, which will replace arguments in train + "val_epoch": 50, + "save_checkpoint_epoch": 500, + "log_iter": 10, + "debug_split": 50 // percent or number, change the size of dataloder to debug_split. + } +} diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/config/ours_multi_x0.json b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/config/ours_multi_x0.json new file mode 100644 index 0000000000000000000000000000000000000000..88605080c08445b9d0ad593c3df0ac0a0793a769 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/config/ours_multi_x0.json @@ -0,0 +1,182 @@ +{ + "name": "palette_multi_bs_4_tanh_x0", // experiments name +<<<<<<< HEAD + "gpu_ids": [0, 1, 2, 3], // gpu ids list, default is single 0 +======= + "gpu_ids": [2], // gpu ids list, default is single 0 +>>>>>>> a13ebef0541ec6fe26f52d5598a109d848a51b9c + "seed" : -1, // random seed, seed <0 represents randomization not used + "finetune_norm": false, // find the parameters to optimize + + "path": { //set every part file path + "base_dir": "experiments", // base path for all log except resume_state + "code": "code", // code backup + "tb_logger": "tb_logger", // path of tensorboard logger + "results": "results", + "checkpoint": "checkpoint", + // "resume_state": "experiments/inpainting_places2_220413_143231/checkpoint/25" +<<<<<<< HEAD + "resume_state": "experiments/train_palette_multi_bs_4_tanh_x0_230402_080308/checkpoint/1520" // ex: 100, loading .state and .pth from given epoch and iteration +======= + "resume_state": null // ex: 100, loading .state and .pth from given epoch and iteration +>>>>>>> a13ebef0541ec6fe26f52d5598a109d848a51b9c + }, + + "datasets": { // train or test + "train": { + "which_dataset": { // import designated dataset using arguments + "name": ["data.dataset", "Sen2_MTC_New_Multi"], // import Dataset() class / function(not recommend) from data.dataset.py (default is [data.dataset.py]) + "args":{ // arguments to initialize dataset +<<<<<<< HEAD + "data_root": "../pmaa/data", +======= + "data_root": "datasets", +>>>>>>> a13ebef0541ec6fe26f52d5598a109d848a51b9c + "mode": "train" + } + }, + "dataloader":{ + "validation_split": 2, // percent or number ## 這裡沒有生效(因為我們自己的數據集有專門劃分的驗證集) + "args":{ // arguments to initialize train_dataloader +<<<<<<< HEAD + "batch_size": 8, // batch size in each gpu + "num_workers": 8, +======= + "batch_size": 4, // batch size in each gpu + "num_workers": 4, +>>>>>>> a13ebef0541ec6fe26f52d5598a109d848a51b9c + "shuffle": true, + "pin_memory": true, + "drop_last": true + }, + "val_args":{ // arguments to initialize valid_dataloader, will overwrite the parameters in train_dataloader + "batch_size": 1, // batch size in each gpu + "num_workers": 4, + "shuffle": false, + "pin_memory": true, + "drop_last": false + } + } + }, + "val": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", // import Dataset() class / function(not recommend) from default file + "args":{ +<<<<<<< HEAD + "data_root": "../pmaa/data", +======= + "data_root": "datasets", +>>>>>>> a13ebef0541ec6fe26f52d5598a109d848a51b9c + "mode": "val" + } + } + }, + "test": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", // import Dataset() class / function(not recommend) from default file + "args":{ +<<<<<<< HEAD + "data_root": "../pmaa/data", +======= + "data_root": "datasets", +>>>>>>> a13ebef0541ec6fe26f52d5598a109d848a51b9c + "mode": "test" + } + }, + "dataloader":{ + "args":{ + "batch_size": 8, +<<<<<<< HEAD + "num_workers": 8, +======= + "num_workers": 4, +>>>>>>> a13ebef0541ec6fe26f52d5598a109d848a51b9c + "pin_memory": true + } + } + } + }, + + "model": { // networks/metrics/losses/optimizers/lr_schedulers is a list and model is a dict + "which_model": { // import designated model(trainer) using arguments + "name": ["models.model", "Palette"], // import Model() class / function(not recommend) from models.model.py (default is [models.model.py]) + "args": { + "sample_num": 8, // process of each image + "task": "decloud", + "ema_scheduler": { + "ema_start": 1, + "ema_iter": 1, + "ema_decay": 0.9999 + }, + "optimizers": [ +<<<<<<< HEAD + { "lr": 0.0002, "weight_decay": 0} +======= + { "lr": 5e-5, "weight_decay": 0} +>>>>>>> a13ebef0541ec6fe26f52d5598a109d848a51b9c + ] + } + }, + "which_networks": [ // import designated list of networks using arguments + { + "name": ["models.network_x0", "Network"], // import Network() class / function(not recommend) from default file (default is [models/network.py]) + "args": { // arguments to initialize network + "init_type": "kaiming", // method can be [normal | xavier| xavier_uniform | kaiming | orthogonal], default is kaiming + "module_name": "ours", // sr3 | guided_diffusion | ours + "unet": { + "inp_channels": 12, + "out_channels": 3, + "encoder_dims": [64, 128, 256, 512], + "decoder_dims": [512, 256, 128, 64], + "encoder_blocks": [1, 1, 1, 1], + "decoder_blocks": [1, 1, 1, 1], + "drop_path_rate": 0.1, + "norm_type": "ln", + "act_type": "silu" + }, + "beta_schedule": { + "train": { + "schedule": "linear", + "n_timestep": 2000, + // "n_timestep": 5, // debug + "linear_start": 1e-6, + "linear_end": 0.01 + }, + "test": { + "schedule": "linear", + "n_timestep": 1000, + "linear_start": 1e-4, + "linear_end": 0.09 + } + } + } + } + ], + "which_losses": [ // import designated list of losses without arguments + "mse_loss" // import mse_loss() function/class from default file (default is [models/losses.py]), equivalent to { "name": "mse_loss", "args":{}} + ], + "which_metrics": [ // import designated list of metrics without arguments + "mae" // import mae() function/class from default file (default is [models/metrics.py]), equivalent to { "name": "mae", "args":{}} + ] + }, + + "train": { // arguments for basic training + "n_epoch": 1e8, // max epochs, not limited now + "n_iter": 1e8, // max interations + "val_epoch": 5, // valdation every specified number of epochs +<<<<<<< HEAD + "save_checkpoint_epoch": 100, +======= + "save_checkpoint_epoch": 10, +>>>>>>> a13ebef0541ec6fe26f52d5598a109d848a51b9c + "log_iter": 1e4, // log every specified number of iterations + "tensorboard" : true // tensorboardX enable + }, + + "debug": { // arguments in debug mode, which will replace arguments in train + "val_epoch": 1, + "save_checkpoint_epoch": 1, + "log_iter": 10, + "debug_split": 50 // percent or number, change the size of dataloder to debug_split. + } +} diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/config/palette_1xb8_e5000_dpms_s20_no_noise.json b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/config/palette_1xb8_e5000_dpms_s20_no_noise.json new file mode 100644 index 0000000000000000000000000000000000000000..3dc2cda283dbf41ed158f12428c85cbafd56e863 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/config/palette_1xb8_e5000_dpms_s20_no_noise.json @@ -0,0 +1,159 @@ +{ + "name": "palette_1xb8_e5000_dpms_s20_no_noise", + "gpu_ids": [ + 0 + ], + "seed": -1, + "finetune_norm": false, + "path": { + "base_dir": "experiments", + "code": "code", + "tb_logger": "tb_logger", + "results": "results", + "checkpoint": "checkpoint", + "resume_state": null + }, + "datasets": { + "train": { + "which_dataset": { + "name": [ + "data.dataset", + "Sen2_MTC_New_Multi" + ], + "args": { + "data_root": "datasets", + "mode": "train" + } + }, + "dataloader": { + "validation_split": 2, + "args": { + "batch_size": 8, + "num_workers": 8, + "shuffle": true, + "pin_memory": true, + "drop_last": true + }, + "val_args": { + "batch_size": 1, + "num_workers": 8, + "shuffle": false, + "pin_memory": true, + "drop_last": false + } + } + }, + "val": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "datasets", + "mode": "val" + } + } + }, + "test": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "datasets", + "mode": "test" + } + }, + "dataloader": { + "args": { + "batch_size": 8, + "num_workers": 8, + "pin_memory": true + } + } + } + }, + "model": { + "which_model": { + "name": [ + "models.model", + "Palette" + ], + "args": { + "sample_num": 8, + "task": "decloud", + "ema_scheduler": { + "ema_start": 1, + "ema_iter": 1, + "ema_decay": 0.9999 + }, + "optimizers": [ + { + "lr": 5e-05, + "weight_decay": 0 + } + ] + } + }, + "which_networks": [ + { + "name": [ + "models.network_x0_dpm_solver_no_noise", + "Network" + ], + "args": { + "init_type": "kaiming", + "module_name": "tanh", + "unet": { + "in_channel": 9, + "out_channel": 3, + "inner_channel": 64, + "channel_mults": [ + 1, + 2, + 4, + 8 + ], + "attn_res": [ + 16 + ], + "num_head_channels": 32, + "res_blocks": 2, + "dropout": 0.2, + "image_size": 256 + }, + "beta_schedule": { + "train": { + "schedule": "linear", + "n_timestep": 2000, + "linear_start": 1e-06, + "linear_end": 0.01 + }, + "test": { + "schedule": "linear", + "n_timestep": 1000, + "linear_start": 0.0001, + "linear_end": 0.09 + } + } + } + } + ], + "which_losses": [ + "mse_loss" + ], + "which_metrics": [ + "mae" + ] + }, + "train": { + "n_epoch": 5000, + "n_iter": 100000000, + "val_epoch": 10, + "save_checkpoint_epoch": 10, + "log_iter": 10000, + "tensorboard": false + }, + "debug": { + "val_epoch": 1, + "save_checkpoint_epoch": 1, + "log_iter": 10, + "debug_split": 50 + } +} \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/config/palette_1xb8_e5000_dpms_s20_y_t-1.json b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/config/palette_1xb8_e5000_dpms_s20_y_t-1.json new file mode 100644 index 0000000000000000000000000000000000000000..359ad1c5099c51ff4d56624d6df8d3532eff2169 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/config/palette_1xb8_e5000_dpms_s20_y_t-1.json @@ -0,0 +1,159 @@ +{ + "name": "palette_1xb8_e5000_dpms_s20_y_t-1", + "gpu_ids": [ + 0 + ], + "seed": -1, + "finetune_norm": false, + "path": { + "base_dir": "experiments", + "code": "code", + "tb_logger": "tb_logger", + "results": "results", + "checkpoint": "checkpoint", + "resume_state": null + }, + "datasets": { + "train": { + "which_dataset": { + "name": [ + "data.dataset", + "Sen2_MTC_New_Multi" + ], + "args": { + "data_root": "datasets", + "mode": "train" + } + }, + "dataloader": { + "validation_split": 2, + "args": { + "batch_size": 8, + "num_workers": 8, + "shuffle": true, + "pin_memory": true, + "drop_last": true + }, + "val_args": { + "batch_size": 1, + "num_workers": 8, + "shuffle": false, + "pin_memory": true, + "drop_last": false + } + } + }, + "val": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "datasets", + "mode": "val" + } + } + }, + "test": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "datasets", + "mode": "test" + } + }, + "dataloader": { + "args": { + "batch_size": 8, + "num_workers": 8, + "pin_memory": true + } + } + } + }, + "model": { + "which_model": { + "name": [ + "models.model", + "Palette" + ], + "args": { + "sample_num": 8, + "task": "decloud", + "ema_scheduler": { + "ema_start": 1, + "ema_iter": 1, + "ema_decay": 0.9999 + }, + "optimizers": [ + { + "lr": 5e-05, + "weight_decay": 0 + } + ] + } + }, + "which_networks": [ + { + "name": [ + "models.network_x0_dpm_solver_y_t-1", + "Network" + ], + "args": { + "init_type": "kaiming", + "module_name": "tanh", + "unet": { + "in_channel": 12, + "out_channel": 3, + "inner_channel": 64, + "channel_mults": [ + 1, + 2, + 4, + 8 + ], + "attn_res": [ + 16 + ], + "num_head_channels": 32, + "res_blocks": 2, + "dropout": 0.2, + "image_size": 256 + }, + "beta_schedule": { + "train": { + "schedule": "linear", + "n_timestep": 2000, + "linear_start": 1e-06, + "linear_end": 0.01 + }, + "test": { + "schedule": "linear", + "n_timestep": 1000, + "linear_start": 0.0001, + "linear_end": 0.09 + } + } + } + } + ], + "which_losses": [ + "mse_loss" + ], + "which_metrics": [ + "mae" + ] + }, + "train": { + "n_epoch": 5000, + "n_iter": 100000000, + "val_epoch": 10, + "save_checkpoint_epoch": 10, + "log_iter": 10000, + "tensorboard": true + }, + "debug": { + "val_epoch": 1, + "save_checkpoint_epoch": 1, + "log_iter": 10, + "debug_split": 50 + } +} \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/config/palette_4bs2_multi_old_x0.json b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/config/palette_4bs2_multi_old_x0.json new file mode 100644 index 0000000000000000000000000000000000000000..73db532bb843a83045a45cf4780d7da12db1ce9b --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/config/palette_4bs2_multi_old_x0.json @@ -0,0 +1,145 @@ +{ + "name": "palette_4bs2_multi_old_x0", // experiments name + "gpu_ids": [0, 1, 2, 3], // gpu ids list, default is single 0 + "seed" : -1, // random seed, seed <0 represents randomization not used + "finetune_norm": false, // find the parameters to optimize + + "path": { //set every part file path + "base_dir": "experiments", // base path for all log except resume_state + "code": "code", // code backup + "tb_logger": "tb_logger", // path of tensorboard logger + "results": "results", + "checkpoint": "checkpoint", + // "resume_state": "experiments/inpainting_places2_220413_143231/checkpoint/25" + "resume_state": null // ex: 100, loading .state and .pth from given epoch and iteration + }, + + "datasets": { // train or test + "train": { + "which_dataset": { // import designated dataset using arguments + "name": ["data.dataset", "Sen2_MTC_Old_Multi"], // import Dataset() class / function(not recommend) from data.dataset.py (default is [data.dataset.py]) + "args":{ // arguments to initialize dataset + "data_root": "../pmaa/data", + "mode": "train" + } + }, + "dataloader":{ + "validation_split": 2, // percent or number ## 這裡沒有生效(因為我們自己的數據集有專門劃分的驗證集) + "args":{ // arguments to initialize train_dataloader + "batch_size": 2, // batch size in each gpu + "num_workers": 4, + "shuffle": true, + "pin_memory": true, + "drop_last": true + }, + "val_args":{ // arguments to initialize valid_dataloader, will overwrite the parameters in train_dataloader + "batch_size": 1, // batch size in each gpu + "num_workers": 4, + "shuffle": false, + "pin_memory": true, + "drop_last": false + } + } + }, + "val": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", // import Dataset() class / function(not recommend) from default file + "args":{ + "data_root": "../pmaa/data", + "mode": "val" + } + } + }, + "test": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", // import Dataset() class / function(not recommend) from default file + "args":{ + "data_root": "../pmaa/data", + "mode": "test" + } + }, + "dataloader":{ + "args":{ + "batch_size": 8, + "num_workers": 8, + "pin_memory": true + } + } + } + }, + + "model": { // networks/metrics/losses/optimizers/lr_schedulers is a list and model is a dict + "which_model": { // import designated model(trainer) using arguments + "name": ["models.model", "Palette"], // import Model() class / function(not recommend) from models.model.py (default is [models.model.py]) + "args": { + "sample_num": 8, // process of each image + "task": "decloud", + "ema_scheduler": { + "ema_start": 1, + "ema_iter": 1, + "ema_decay": 0.9999 + }, + "optimizers": [ + { "lr": 5e-5, "weight_decay": 0} + ] + } + }, + "which_networks": [ // import designated list of networks using arguments + { + "name": ["models.network_x0_dpm_solver", "Network"], // import Network() class / function(not recommend) from default file (default is [models/network.py]) + "args": { // arguments to initialize network + "init_type": "kaiming", // method can be [normal | xavier| xavier_uniform | kaiming | orthogonal], default is kaiming + "module_name": "ours_down4_ca", // sr3 | guided_diffusion | ours | ours_down4_ca + "unet": { + "inp_channels": 12, + "out_channels": 3, + "encoder_dims": [64, 128, 256, 512, 1024], + "decoder_dims": [1024, 512, 256, 128, 64], + "encoder_blocks": [1, 1, 1, 1, 1], + "decoder_blocks": [1, 1, 1, 1, 1], + "drop_path_rate": 0.1, + "norm_type": "ln", + "act_type": "silu" + }, + "beta_schedule": { + "train": { + "schedule": "linear", + "n_timestep": 2000, + // "n_timestep": 5, // debug + "linear_start": 1e-6, + "linear_end": 0.01 + }, + "test": { + "schedule": "linear", + "n_timestep": 1000, + "linear_start": 1e-4, + "linear_end": 0.09 + } + } + } + } + ], + "which_losses": [ // import designated list of losses without arguments + "mse_loss" // import mse_loss() function/class from default file (default is [models/losses.py]), equivalent to { "name": "mse_loss", "args":{}} + ], + "which_metrics": [ // import designated list of metrics without arguments + "mae" // import mae() function/class from default file (default is [models/metrics.py]), equivalent to { "name": "mae", "args":{}} + ] + }, + + "train": { // arguments for basic training + "n_epoch": 5000, // max epochs, not limited now + "n_iter": 1e8, // max interations + "val_epoch": 100, // valdation every specified number of epochs + "save_checkpoint_epoch": 500, + "log_iter": 1e4, // log every specified number of iterations + "tensorboard" : false // tensorboardX enable + }, + + "debug": { // arguments in debug mode, which will replace arguments in train + "val_epoch": 50, + "save_checkpoint_epoch": 500, + "log_iter": 10, + "debug_split": 50 // percent or number, change the size of dataloder to debug_split. + } +} diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/core/base_dataset.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/core/base_dataset.py new file mode 100644 index 0000000000000000000000000000000000000000..b0e6a296c865e65e1887bea73304fc328935c617 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/core/base_dataset.py @@ -0,0 +1,48 @@ +import torch.utils.data as data +from torchvision import transforms +from PIL import Image +import os +import numpy as np + +IMG_EXTENSIONS = [ + '.jpg', '.JPG', '.jpeg', '.JPEG', + '.png', '.PNG', '.ppm', '.PPM', '.bmp', '.BMP', +] + +def is_image_file(filename): + return any(filename.endswith(extension) for extension in IMG_EXTENSIONS) + +def make_dataset(dir): + if os.path.isfile(dir): + images = [i for i in np.genfromtxt(dir, dtype=np.str, encoding='utf-8')] + else: + images = [] + assert os.path.isdir(dir), '%s is not a valid directory' % dir + for root, _, fnames in sorted(os.walk(dir)): + for fname in sorted(fnames): + if is_image_file(fname): + path = os.path.join(root, fname) + images.append(path) + + return images + +def pil_loader(path): + return Image.open(path).convert('RGB') + +class BaseDataset(data.Dataset): + def __init__(self, data_root, image_size=[256, 256], loader=pil_loader): + self.imgs = make_dataset(data_root) + self.tfs = transforms.Compose([ + transforms.Resize((image_size[0], image_size[1])), + transforms.ToTensor(), + transforms.Normalize((0.4914, 0.4822, 0.4465), (0.2023, 0.1994, 0.2010)) + ]) + self.loader = loader + + def __getitem__(self, index): + path = self.imgs[index] + img = self.tfs(self.loader(path)) + return img + + def __len__(self): + return len(self.imgs) diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/core/base_model.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/core/base_model.py new file mode 100644 index 0000000000000000000000000000000000000000..bf504e7d7d4dd587e9d8c93b7794846644cc740e --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/core/base_model.py @@ -0,0 +1,171 @@ +import os +from abc import abstractmethod +from functools import partial +import collections + +import torch +import torch.nn as nn + + +import core.util as Util +CustomResult = collections.namedtuple('CustomResult', 'name result') + +class BaseModel(): + def __init__(self, opt, phase_loader, val_loader, metrics, logger, writer): + """ init model with basic input, which are from __init__(**kwargs) function in inherited class """ + self.opt = opt + self.phase = opt['phase'] + self.set_device = partial(Util.set_device, rank=opt['global_rank']) + + ''' optimizers and schedulers ''' + self.schedulers = [] + self.optimizers = [] + + ''' process record ''' + self.batch_size = self.opt['datasets'][self.phase]['dataloader']['args']['batch_size'] + self.epoch = 0 + self.iter = 0 + + self.phase_loader = phase_loader + self.val_loader = val_loader + self.metrics = metrics + + ''' logger to log file, which only work on GPU 0. writer to tensorboard and result file ''' + self.logger = logger + self.writer = writer + self.results_dict = CustomResult([],[]) # {"name":[], "result":[]} + + def train(self): + while self.epoch <= self.opt['train']['n_epoch'] and self.iter <= self.opt['train']['n_iter']: + self.epoch += 1 + if self.opt['distributed']: + ''' sets the epoch for this sampler. When :attr:`shuffle=True`, this ensures all replicas use a different random ordering for each epoch ''' + self.phase_loader.sampler.set_epoch(self.epoch) + + train_log = self.train_step() + + ''' save logged informations into log dict ''' + train_log.update({'epoch': self.epoch, 'iters': self.iter}) + + ''' print logged informations to the screen and tensorboard ''' + for key, value in train_log.items(): + self.logger.info('{:5s}: {}\t'.format(str(key), value)) + + if self.epoch % self.opt['train']['save_checkpoint_epoch'] == 0: + self.logger.info('Saving the self at the end of epoch {:.0f}'.format(self.epoch)) + self.save_everything() + + if self.epoch % self.opt['train']['val_epoch'] == 0: + self.logger.info("\n\n\n------------------------------Validation Start------------------------------") + if self.val_loader is None: + self.logger.warning('Validation stop where dataloader is None, Skip it.') + else: + val_log = self.val_step() + for key, value in val_log.items(): + self.logger.info('{:5s}: {}\t'.format(str(key), value)) + self.logger.info("\n------------------------------Validation End------------------------------\n\n") + self.logger.info('Number of Epochs has reached the limit, End.') + + def test(self): + pass + + @abstractmethod + def train_step(self): + raise NotImplementedError('You must specify how to train your networks.') + + @abstractmethod + def val_step(self): + raise NotImplementedError('You must specify how to do validation on your networks.') + + def test_step(self): + pass + + def print_network(self, network): + """ print network structure, only work on GPU 0 """ + if self.opt['global_rank'] !=0: + return + if isinstance(network, nn.DataParallel) or isinstance(network, nn.parallel.DistributedDataParallel): + network = network.module + + s, n = str(network), sum(map(lambda x: x.numel(), network.parameters())) + net_struc_str = '{}'.format(network.__class__.__name__) + self.logger.info('Network structure: {}, with parameters: {:,d}'.format(net_struc_str, n)) + self.logger.info(s) + + def save_network(self, network, network_label): + """ save network structure, only work on GPU 0 """ + if self.opt['global_rank'] !=0: + return + save_filename = '{}_{}.pth'.format(self.epoch, network_label) + save_path = os.path.join(self.opt['path']['checkpoint'], save_filename) + if isinstance(network, nn.DataParallel) or isinstance(network, nn.parallel.DistributedDataParallel): + network = network.module + state_dict = network.state_dict() + for key, param in state_dict.items(): + state_dict[key] = param.cpu() + torch.save(state_dict, save_path) + + def load_network(self, network, network_label, strict=True): + if self.opt['path']['resume_state'] is None: + return + self.logger.info('Beign loading pretrained model [{:s}] ...'.format(network_label)) + + model_path = "{}_{}.pth".format(self.opt['path']['resume_state'], network_label) + + if not os.path.exists(model_path): + self.logger.warning('Pretrained model in [{:s}] is not existed, Skip it'.format(model_path)) + return + + self.logger.info('Loading pretrained model from [{:s}] ...'.format(model_path)) + if isinstance(network, nn.DataParallel) or isinstance(network, nn.parallel.DistributedDataParallel): + network = network.module + network.load_state_dict(torch.load(model_path, map_location = lambda storage, loc: Util.set_device(storage)), strict=strict) + + def save_training_state(self): + """ saves training state during training, only work on GPU 0 """ + if self.opt['global_rank'] !=0: + return + assert isinstance(self.optimizers, list) and isinstance(self.schedulers, list), 'optimizers and schedulers must be a list.' + state = {'epoch': self.epoch, 'iter': self.iter, 'schedulers': [], 'optimizers': []} + for s in self.schedulers: + state['schedulers'].append(s.state_dict()) + for o in self.optimizers: + state['optimizers'].append(o.state_dict()) + save_filename = '{}.state'.format(self.epoch) + save_path = os.path.join(self.opt['path']['checkpoint'], save_filename) + torch.save(state, save_path) + + def resume_training(self): + """ resume the optimizers and schedulers for training, only work when phase is test or resume training enable """ + if self.phase!='train' or self. opt['path']['resume_state'] is None: + return + self.logger.info('Beign loading training states'.format()) + assert isinstance(self.optimizers, list) and isinstance(self.schedulers, list), 'optimizers and schedulers must be a list.' + + state_path = "{}.state".format(self. opt['path']['resume_state']) + + if not os.path.exists(state_path): + self.logger.warning('Training state in [{:s}] is not existed, Skip it'.format(state_path)) + return + + self.logger.info('Loading training state for [{:s}] ...'.format(state_path)) + resume_state = torch.load(state_path, map_location = lambda storage, loc: self.set_device(storage)) + + resume_optimizers = resume_state['optimizers'] + resume_schedulers = resume_state['schedulers'] + assert len(resume_optimizers) == len(self.optimizers), 'Wrong lengths of optimizers {} != {}'.format(len(resume_optimizers), len(self.optimizers)) + assert len(resume_schedulers) == len(self.schedulers), 'Wrong lengths of schedulers {} != {}'.format(len(resume_schedulers), len(self.schedulers)) + for i, o in enumerate(resume_optimizers): + self.optimizers[i].load_state_dict(o) + for i, s in enumerate(resume_schedulers): + self.schedulers[i].load_state_dict(s) + + self.epoch = resume_state['epoch'] + self.iter = resume_state['iter'] + + def load_everything(self): + pass + + @abstractmethod + def save_everything(self): + raise NotImplementedError('You must specify how to save your networks, optimizers and schedulers.') diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/core/base_network.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/core/base_network.py new file mode 100644 index 0000000000000000000000000000000000000000..bea2f6dc0758ca7bb82340cf9cb84d6deaff24ea --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/core/base_network.py @@ -0,0 +1,48 @@ +import torch.nn as nn +class BaseNetwork(nn.Module): + def __init__(self, init_type='kaiming', gain=0.02): + super(BaseNetwork, self).__init__() + self.init_type = init_type + self.gain = gain + + def init_weights(self): + """ + initialize network's weights + init_type: normal | xavier | kaiming | orthogonal + https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix/blob/9451e70673400885567d08a9e97ade2524c700d0/models/networks.py#L39 + """ + + def init_func(m): + classname = m.__class__.__name__ + if classname.find('InstanceNorm2d') != -1: + if hasattr(m, 'weight') and m.weight is not None: + nn.init.constant_(m.weight.data, 1.0) + if hasattr(m, 'bias') and m.bias is not None: + nn.init.constant_(m.bias.data, 0.0) + elif hasattr(m, 'weight') and (classname.find('Conv') != -1 or classname.find('Linear') != -1): + if self.init_type == 'normal': + nn.init.normal_(m.weight.data, 0.0, self.gain) + elif self.init_type == 'xavier': + nn.init.xavier_normal_(m.weight.data, gain=self.gain) + elif self.init_type == 'xavier_uniform': + nn.init.xavier_uniform_(m.weight.data, gain=1.0) + elif self.init_type == 'kaiming': + nn.init.kaiming_normal_(m.weight.data, a=0, mode='fan_in') + elif self.init_type == 'orthogonal': + nn.init.orthogonal_(m.weight.data, gain=self.gain) + elif self.init_type == 'none': # uses pytorch's default init method + m.reset_parameters() + else: + raise NotImplementedError('initialization method [%s] is not implemented' % self.init_type) + if hasattr(m, 'bias') and m.bias is not None: + nn.init.constant_(m.bias.data, 0.0) + + self.apply(init_func) + # propagate to children + for m in self.children(): + if hasattr(m, 'init_weights'): + m.init_weights(self.init_type, self.gain) + + + + \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/core/dpm_solver_pytorch.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/core/dpm_solver_pytorch.py new file mode 100644 index 0000000000000000000000000000000000000000..2989698c590507b2806aa3ed09c9b2632e3f509f --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/core/dpm_solver_pytorch.py @@ -0,0 +1,1306 @@ +import torch +import torch.nn.functional as F +import math + + +class NoiseScheduleVP: + def __init__( + self, + schedule='discrete', + betas=None, + alphas_cumprod=None, + continuous_beta_0=0.1, + continuous_beta_1=20., + dtype=torch.float32, + ): + """Create a wrapper class for the forward SDE (VP type). + + *** + Update: We support discrete-time diffusion models by implementing a picewise linear interpolation for log_alpha_t. + We recommend to use schedule='discrete' for the discrete-time diffusion models, especially for high-resolution images. + *** + + The forward SDE ensures that the condition distribution q_{t|0}(x_t | x_0) = N ( alpha_t * x_0, sigma_t^2 * I ). + We further define lambda_t = log(alpha_t) - log(sigma_t), which is the half-logSNR (described in the DPM-Solver paper). + Therefore, we implement the functions for computing alpha_t, sigma_t and lambda_t. For t in [0, T], we have: + + log_alpha_t = self.marginal_log_mean_coeff(t) + sigma_t = self.marginal_std(t) + lambda_t = self.marginal_lambda(t) + + Moreover, as lambda(t) is an invertible function, we also support its inverse function: + + t = self.inverse_lambda(lambda_t) + + =============================================================== + + We support both discrete-time DPMs (trained on n = 0, 1, ..., N-1) and continuous-time DPMs (trained on t in [t_0, T]). + + 1. For discrete-time DPMs: + + For discrete-time DPMs trained on n = 0, 1, ..., N-1, we convert the discrete steps to continuous time steps by: + t_i = (i + 1) / N + e.g. for N = 1000, we have t_0 = 1e-3 and T = t_{N-1} = 1. + We solve the corresponding diffusion ODE from time T = 1 to time t_0 = 1e-3. + + Args: + betas: A `torch.Tensor`. The beta array for the discrete-time DPM. (See the original DDPM paper for details) + alphas_cumprod: A `torch.Tensor`. The cumprod alphas for the discrete-time DPM. (See the original DDPM paper for details) + + Note that we always have alphas_cumprod = cumprod(1 - betas). Therefore, we only need to set one of `betas` and `alphas_cumprod`. + + **Important**: Please pay special attention for the args for `alphas_cumprod`: + The `alphas_cumprod` is the \hat{alpha_n} arrays in the notations of DDPM. Specifically, DDPMs assume that + q_{t_n | 0}(x_{t_n} | x_0) = N ( \sqrt{\hat{alpha_n}} * x_0, (1 - \hat{alpha_n}) * I ). + Therefore, the notation \hat{alpha_n} is different from the notation alpha_t in DPM-Solver. In fact, we have + alpha_{t_n} = \sqrt{\hat{alpha_n}}, + and + log(alpha_{t_n}) = 0.5 * log(\hat{alpha_n}). + + + 2. For continuous-time DPMs: + + We support the linear VPSDE for the continuous time setting. The hyperparameters for the noise + schedule are the default settings in Yang Song's ScoreSDE: + + Args: + beta_min: A `float` number. The smallest beta for the linear schedule. + beta_max: A `float` number. The largest beta for the linear schedule. + T: A `float` number. The ending time of the forward process. + + =============================================================== + + Args: + schedule: A `str`. The noise schedule of the forward SDE. 'discrete' for discrete-time DPMs, + 'linear' for continuous-time DPMs. + Returns: + A wrapper object of the forward SDE (VP type). + + =============================================================== + + Example: + + # For discrete-time DPMs, given betas (the beta array for n = 0, 1, ..., N - 1): + >>> ns = NoiseScheduleVP('discrete', betas=betas) + + # For discrete-time DPMs, given alphas_cumprod (the \hat{alpha_n} array for n = 0, 1, ..., N - 1): + >>> ns = NoiseScheduleVP('discrete', alphas_cumprod=alphas_cumprod) + + # For continuous-time DPMs (VPSDE), linear schedule: + >>> ns = NoiseScheduleVP('linear', continuous_beta_0=0.1, continuous_beta_1=20.) + + """ + + if schedule not in ['discrete', 'linear']: + raise ValueError("Unsupported noise schedule {}. The schedule needs to be 'discrete' or 'linear'".format(schedule)) + + self.schedule = schedule + if schedule == 'discrete': + if betas is not None: + log_alphas = 0.5 * torch.log(1 - betas).cumsum(dim=0) + else: + assert alphas_cumprod is not None + log_alphas = 0.5 * torch.log(alphas_cumprod) + self.T = 1. + self.log_alpha_array = self.numerical_clip_alpha(log_alphas).reshape((1, -1,)).to(dtype=dtype) + self.total_N = self.log_alpha_array.shape[1] + self.t_array = torch.linspace(0., 1., self.total_N + 1)[1:].reshape((1, -1)).to(dtype=dtype) + else: + self.T = 1. + self.total_N = 1000 + self.beta_0 = continuous_beta_0 + self.beta_1 = continuous_beta_1 + + def numerical_clip_alpha(self, log_alphas, clipped_lambda=-5.1): + """ + For some beta schedules such as cosine schedule, the log-SNR has numerical isssues. + We clip the log-SNR near t=T within -5.1 to ensure the stability. + Such a trick is very useful for diffusion models with the cosine schedule, such as i-DDPM, guided-diffusion and GLIDE. + """ + log_sigmas = 0.5 * torch.log(1. - torch.exp(2. * log_alphas)) + lambs = log_alphas - log_sigmas + idx = torch.searchsorted(torch.flip(lambs, [0]), clipped_lambda) + if idx > 0: + log_alphas = log_alphas[:-idx] + return log_alphas + + def marginal_log_mean_coeff(self, t): + """ + Compute log(alpha_t) of a given continuous-time label t in [0, T]. + """ + if self.schedule == 'discrete': + return interpolate_fn(t.reshape((-1, 1)), self.t_array.to(t.device), self.log_alpha_array.to(t.device)).reshape((-1)) + elif self.schedule == 'linear': + return -0.25 * t ** 2 * (self.beta_1 - self.beta_0) - 0.5 * t * self.beta_0 + + def marginal_alpha(self, t): + """ + Compute alpha_t of a given continuous-time label t in [0, T]. + """ + return torch.exp(self.marginal_log_mean_coeff(t)) + + def marginal_std(self, t): + """ + Compute sigma_t of a given continuous-time label t in [0, T]. + """ + return torch.sqrt(1. - torch.exp(2. * self.marginal_log_mean_coeff(t))) + + def marginal_lambda(self, t): + """ + Compute lambda_t = log(alpha_t) - log(sigma_t) of a given continuous-time label t in [0, T]. + """ + log_mean_coeff = self.marginal_log_mean_coeff(t) + log_std = 0.5 * torch.log(1. - torch.exp(2. * log_mean_coeff)) + return log_mean_coeff - log_std + + def inverse_lambda(self, lamb): + """ + Compute the continuous-time label t in [0, T] of a given half-logSNR lambda_t. + """ + if self.schedule == 'linear': + tmp = 2. * (self.beta_1 - self.beta_0) * torch.logaddexp(-2. * lamb, torch.zeros((1,)).to(lamb)) + Delta = self.beta_0**2 + tmp + return tmp / (torch.sqrt(Delta) + self.beta_0) / (self.beta_1 - self.beta_0) + elif self.schedule == 'discrete': + log_alpha = -0.5 * torch.logaddexp(torch.zeros((1,)).to(lamb.device), -2. * lamb) + t = interpolate_fn(log_alpha.reshape((-1, 1)), torch.flip(self.log_alpha_array.to(lamb.device), [1]), torch.flip(self.t_array.to(lamb.device), [1])) + return t.reshape((-1,)) + + +def model_wrapper( + model, + noise_schedule, + model_type="noise", + model_kwargs={}, + guidance_type="uncond", + condition=None, + unconditional_condition=None, + guidance_scale=1., + classifier_fn=None, + classifier_kwargs={}, +): + """Create a wrapper function for the noise prediction model. + + DPM-Solver needs to solve the continuous-time diffusion ODEs. For DPMs trained on discrete-time labels, we need to + firstly wrap the model function to a noise prediction model that accepts the continuous time as the input. + + We support four types of the diffusion model by setting `model_type`: + + 1. "noise": noise prediction model. (Trained by predicting noise). + + 2. "x_start": data prediction model. (Trained by predicting the data x_0 at time 0). + + 3. "v": velocity prediction model. (Trained by predicting the velocity). + The "v" prediction is derivation detailed in Appendix D of [1], and is used in Imagen-Video [2]. + + [1] Salimans, Tim, and Jonathan Ho. "Progressive distillation for fast sampling of diffusion models." + arXiv preprint arXiv:2202.00512 (2022). + [2] Ho, Jonathan, et al. "Imagen Video: High Definition Video Generation with Diffusion Models." + arXiv preprint arXiv:2210.02303 (2022). + + 4. "score": marginal score function. (Trained by denoising score matching). + Note that the score function and the noise prediction model follows a simple relationship: + ``` + noise(x_t, t) = -sigma_t * score(x_t, t) + ``` + + We support three types of guided sampling by DPMs by setting `guidance_type`: + 1. "uncond": unconditional sampling by DPMs. + The input `model` has the following format: + `` + model(x, t_input, **model_kwargs) -> noise | x_start | v | score + `` + + 2. "classifier": classifier guidance sampling [3] by DPMs and another classifier. + The input `model` has the following format: + `` + model(x, t_input, **model_kwargs) -> noise | x_start | v | score + `` + + The input `classifier_fn` has the following format: + `` + classifier_fn(x, t_input, cond, **classifier_kwargs) -> logits(x, t_input, cond) + `` + + [3] P. Dhariwal and A. Q. Nichol, "Diffusion models beat GANs on image synthesis," + in Advances in Neural Information Processing Systems, vol. 34, 2021, pp. 8780-8794. + + 3. "classifier-free": classifier-free guidance sampling by conditional DPMs. + The input `model` has the following format: + `` + model(x, t_input, cond, **model_kwargs) -> noise | x_start | v | score + `` + And if cond == `unconditional_condition`, the model output is the unconditional DPM output. + + [4] Ho, Jonathan, and Tim Salimans. "Classifier-free diffusion guidance." + arXiv preprint arXiv:2207.12598 (2022). + + + The `t_input` is the time label of the model, which may be discrete-time labels (i.e. 0 to 999) + or continuous-time labels (i.e. epsilon to T). + + We wrap the model function to accept only `x` and `t_continuous` as inputs, and outputs the predicted noise: + `` + def model_fn(x, t_continuous) -> noise: + t_input = get_model_input_time(t_continuous) + return noise_pred(model, x, t_input, **model_kwargs) + `` + where `t_continuous` is the continuous time labels (i.e. epsilon to T). And we use `model_fn` for DPM-Solver. + + =============================================================== + + Args: + model: A diffusion model with the corresponding format described above. + noise_schedule: A noise schedule object, such as NoiseScheduleVP. + model_type: A `str`. The parameterization type of the diffusion model. + "noise" or "x_start" or "v" or "score". + model_kwargs: A `dict`. A dict for the other inputs of the model function. + guidance_type: A `str`. The type of the guidance for sampling. + "uncond" or "classifier" or "classifier-free". + condition: A pytorch tensor. The condition for the guided sampling. + Only used for "classifier" or "classifier-free" guidance type. + unconditional_condition: A pytorch tensor. The condition for the unconditional sampling. + Only used for "classifier-free" guidance type. + guidance_scale: A `float`. The scale for the guided sampling. + classifier_fn: A classifier function. Only used for the classifier guidance. + classifier_kwargs: A `dict`. A dict for the other inputs of the classifier function. + Returns: + A noise prediction model that accepts the noised data and the continuous time as the inputs. + """ + + def get_model_input_time(t_continuous): + """ + Convert the continuous-time `t_continuous` (in [epsilon, T]) to the model input time. + For discrete-time DPMs, we convert `t_continuous` in [1 / N, 1] to `t_input` in [0, 1000 * (N - 1) / N]. + For continuous-time DPMs, we just use `t_continuous`. + """ + if noise_schedule.schedule == 'discrete': + return (t_continuous - 1. / noise_schedule.total_N) * 1000. + else: + return t_continuous + + def noise_pred_fn(x, t_continuous, cond=None): + t_input = get_model_input_time(t_continuous) + if cond is None: + output = model(x, t_input, **model_kwargs) + else: + # output = model(x, t_input, cond, **model_kwargs) zxc + output = model(torch.cat((cond, x), dim=1), t_input, **model_kwargs) + if model_type == "noise": + return output + elif model_type == "x_start": + alpha_t, sigma_t = noise_schedule.marginal_alpha(t_continuous), noise_schedule.marginal_std(t_continuous) + return (x - alpha_t * output) / sigma_t + elif model_type == "v": + alpha_t, sigma_t = noise_schedule.marginal_alpha(t_continuous), noise_schedule.marginal_std(t_continuous) + return alpha_t * output + sigma_t * x + elif model_type == "score": + sigma_t = noise_schedule.marginal_std(t_continuous) + return -sigma_t * output + + def cond_grad_fn(x, t_input): + """ + Compute the gradient of the classifier, i.e. nabla_{x} log p_t(cond | x_t). + """ + with torch.enable_grad(): + x_in = x.detach().requires_grad_(True) + log_prob = classifier_fn(x_in, t_input, condition, **classifier_kwargs) + return torch.autograd.grad(log_prob.sum(), x_in)[0] + + def model_fn(x, t_continuous): + """ + The noise predicition model function that is used for DPM-Solver. + """ + if guidance_type == "uncond": + return noise_pred_fn(x, t_continuous) + elif guidance_type == "classifier": + assert classifier_fn is not None + t_input = get_model_input_time(t_continuous) + cond_grad = cond_grad_fn(x, t_input) + sigma_t = noise_schedule.marginal_std(t_continuous) + noise = noise_pred_fn(x, t_continuous) + return noise - guidance_scale * expand_dims(sigma_t, x.dim()) * cond_grad + elif guidance_type == "classifier-free": + if guidance_scale == 1. or unconditional_condition is None: + return noise_pred_fn(x, t_continuous, cond=condition) + else: + x_in = torch.cat([x] * 2) + t_in = torch.cat([t_continuous] * 2) + c_in = torch.cat([unconditional_condition, condition]) + noise_uncond, noise = noise_pred_fn(x_in, t_in, cond=c_in).chunk(2) + return noise_uncond + guidance_scale * (noise - noise_uncond) + + assert model_type in ["noise", "x_start", "v", "score"] + assert guidance_type in ["uncond", "classifier", "classifier-free"] + return model_fn + + +class DPM_Solver: + def __init__( + self, + model_fn, + noise_schedule, + algorithm_type="dpmsolver++", + correcting_x0_fn=None, + correcting_xt_fn=None, + thresholding_max_val=1., + dynamic_thresholding_ratio=0.995, + ): + """Construct a DPM-Solver. + + We support both DPM-Solver (`algorithm_type="dpmsolver"`) and DPM-Solver++ (`algorithm_type="dpmsolver++"`). + + We also support the "dynamic thresholding" method in Imagen[1]. For pixel-space diffusion models, you + can set both `algorithm_type="dpmsolver++"` and `correcting_x0_fn="dynamic_thresholding"` to use the + dynamic thresholding. The "dynamic thresholding" can greatly improve the sample quality for pixel-space + DPMs with large guidance scales. Note that the thresholding method is **unsuitable** for latent-space + DPMs (such as stable-diffusion). + + To support advanced algorithms in image-to-image applications, we also support corrector functions for + both x0 and xt. + + Args: + model_fn: A noise prediction model function which accepts the continuous-time input (t in [epsilon, T]): + `` + def model_fn(x, t_continuous): + return noise + `` + The shape of `x` is `(batch_size, **shape)`, and the shape of `t_continuous` is `(batch_size,)`. + noise_schedule: A noise schedule object, such as NoiseScheduleVP. + algorithm_type: A `str`. Either "dpmsolver" or "dpmsolver++". + correcting_x0_fn: A `str` or a function with the following format: + ``` + def correcting_x0_fn(x0, t): + x0_new = ... + return x0_new + ``` + This function is to correct the outputs of the data prediction model at each sampling step. e.g., + ``` + x0_pred = data_pred_model(xt, t) + if correcting_x0_fn is not None: + x0_pred = correcting_x0_fn(x0_pred, t) + xt_1 = update(x0_pred, xt, t) + ``` + If `correcting_x0_fn="dynamic_thresholding"`, we use the dynamic thresholding proposed in Imagen[1]. + correcting_xt_fn: A function with the following format: + ``` + def correcting_xt_fn(xt, t, step): + x_new = ... + return x_new + ``` + This function is to correct the intermediate samples xt at each sampling step. e.g., + ``` + xt = ... + xt = correcting_xt_fn(xt, t, step) + ``` + thresholding_max_val: A `float`. The max value for thresholding. + Valid only when use `dpmsolver++` and `correcting_x0_fn="dynamic_thresholding"`. + dynamic_thresholding_ratio: A `float`. The ratio for dynamic thresholding (see Imagen[1] for details). + Valid only when use `dpmsolver++` and `correcting_x0_fn="dynamic_thresholding"`. + + [1] Chitwan Saharia, William Chan, Saurabh Saxena, Lala Li, Jay Whang, Emily Denton, Seyed Kamyar Seyed Ghasemipour, + Burcu Karagol Ayan, S Sara Mahdavi, Rapha Gontijo Lopes, et al. Photorealistic text-to-image diffusion models + with deep language understanding. arXiv preprint arXiv:2205.11487, 2022b. + """ + self.model = lambda x, t: model_fn(x, t.expand((x.shape[0]))) + self.noise_schedule = noise_schedule + assert algorithm_type in ["dpmsolver", "dpmsolver++"] + self.algorithm_type = algorithm_type + if correcting_x0_fn == "dynamic_thresholding": + self.correcting_x0_fn = self.dynamic_thresholding_fn + else: + self.correcting_x0_fn = correcting_x0_fn + self.correcting_xt_fn = correcting_xt_fn + self.dynamic_thresholding_ratio = dynamic_thresholding_ratio + self.thresholding_max_val = thresholding_max_val + + def dynamic_thresholding_fn(self, x0, t): + """ + The dynamic thresholding method. + """ + dims = x0.dim() + p = self.dynamic_thresholding_ratio + s = torch.quantile(torch.abs(x0).reshape((x0.shape[0], -1)), p, dim=1) + s = expand_dims(torch.maximum(s, self.thresholding_max_val * torch.ones_like(s).to(s.device)), dims) + x0 = torch.clamp(x0, -s, s) / s + return x0 + + def noise_prediction_fn(self, x, t): + """ + Return the noise prediction model. + """ + return self.model(x, t) + + def data_prediction_fn(self, x, t): + """ + Return the data prediction model (with corrector). + """ + noise = self.noise_prediction_fn(x, t) + alpha_t, sigma_t = self.noise_schedule.marginal_alpha(t), self.noise_schedule.marginal_std(t) + x0 = (x - sigma_t * noise) / alpha_t + if self.correcting_x0_fn is not None: + x0 = self.correcting_x0_fn(x0, t) + return x0 + + def model_fn(self, x, t): + """ + Convert the model to the noise prediction model or the data prediction model. + """ + if self.algorithm_type == "dpmsolver++": + return self.data_prediction_fn(x, t) + else: + return self.noise_prediction_fn(x, t) + + def get_time_steps(self, skip_type, t_T, t_0, N, device): + """Compute the intermediate time steps for sampling. + + Args: + skip_type: A `str`. The type for the spacing of the time steps. We support three types: + - 'logSNR': uniform logSNR for the time steps. + - 'time_uniform': uniform time for the time steps. (**Recommended for high-resolutional data**.) + - 'time_quadratic': quadratic time for the time steps. (Used in DDIM for low-resolutional data.) + t_T: A `float`. The starting time of the sampling (default is T). + t_0: A `float`. The ending time of the sampling (default is epsilon). + N: A `int`. The total number of the spacing of the time steps. + device: A torch device. + Returns: + A pytorch tensor of the time steps, with the shape (N + 1,). + """ + if skip_type == 'logSNR': + lambda_T = self.noise_schedule.marginal_lambda(torch.tensor(t_T).to(device)) + lambda_0 = self.noise_schedule.marginal_lambda(torch.tensor(t_0).to(device)) + logSNR_steps = torch.linspace(lambda_T.cpu().item(), lambda_0.cpu().item(), N + 1).to(device) + return self.noise_schedule.inverse_lambda(logSNR_steps) + elif skip_type == 'time_uniform': + return torch.linspace(t_T, t_0, N + 1).to(device) + elif skip_type == 'time_quadratic': + t_order = 2 + t = torch.linspace(t_T**(1. / t_order), t_0**(1. / t_order), N + 1).pow(t_order).to(device) + return t + else: + raise ValueError("Unsupported skip_type {}, need to be 'logSNR' or 'time_uniform' or 'time_quadratic'".format(skip_type)) + + def get_orders_and_timesteps_for_singlestep_solver(self, steps, order, skip_type, t_T, t_0, device): + """ + Get the order of each step for sampling by the singlestep DPM-Solver. + + We combine both DPM-Solver-1,2,3 to use all the function evaluations, which is named as "DPM-Solver-fast". + Given a fixed number of function evaluations by `steps`, the sampling procedure by DPM-Solver-fast is: + - If order == 1: + We take `steps` of DPM-Solver-1 (i.e. DDIM). + - If order == 2: + - Denote K = (steps // 2). We take K or (K + 1) intermediate time steps for sampling. + - If steps % 2 == 0, we use K steps of DPM-Solver-2. + - If steps % 2 == 1, we use K steps of DPM-Solver-2 and 1 step of DPM-Solver-1. + - If order == 3: + - Denote K = (steps // 3 + 1). We take K intermediate time steps for sampling. + - If steps % 3 == 0, we use (K - 2) steps of DPM-Solver-3, and 1 step of DPM-Solver-2 and 1 step of DPM-Solver-1. + - If steps % 3 == 1, we use (K - 1) steps of DPM-Solver-3 and 1 step of DPM-Solver-1. + - If steps % 3 == 2, we use (K - 1) steps of DPM-Solver-3 and 1 step of DPM-Solver-2. + + ============================================ + Args: + order: A `int`. The max order for the solver (2 or 3). + steps: A `int`. The total number of function evaluations (NFE). + skip_type: A `str`. The type for the spacing of the time steps. We support three types: + - 'logSNR': uniform logSNR for the time steps. + - 'time_uniform': uniform time for the time steps. (**Recommended for high-resolutional data**.) + - 'time_quadratic': quadratic time for the time steps. (Used in DDIM for low-resolutional data.) + t_T: A `float`. The starting time of the sampling (default is T). + t_0: A `float`. The ending time of the sampling (default is epsilon). + device: A torch device. + Returns: + orders: A list of the solver order of each step. + """ + if order == 3: + K = steps // 3 + 1 + if steps % 3 == 0: + orders = [3,] * (K - 2) + [2, 1] + elif steps % 3 == 1: + orders = [3,] * (K - 1) + [1] + else: + orders = [3,] * (K - 1) + [2] + elif order == 2: + if steps % 2 == 0: + K = steps // 2 + orders = [2,] * K + else: + K = steps // 2 + 1 + orders = [2,] * (K - 1) + [1] + elif order == 1: + K = 1 + orders = [1,] * steps + else: + raise ValueError("'order' must be '1' or '2' or '3'.") + if skip_type == 'logSNR': + # To reproduce the results in DPM-Solver paper + timesteps_outer = self.get_time_steps(skip_type, t_T, t_0, K, device) + else: + timesteps_outer = self.get_time_steps(skip_type, t_T, t_0, steps, device)[torch.cumsum(torch.tensor([0,] + orders), 0).to(device)] + return timesteps_outer, orders + + def denoise_to_zero_fn(self, x, s): + """ + Denoise at the final step, which is equivalent to solve the ODE from lambda_s to infty by first-order discretization. + """ + return self.data_prediction_fn(x, s) + + def dpm_solver_first_update(self, x, s, t, model_s=None, return_intermediate=False): + """ + DPM-Solver-1 (equivalent to DDIM) from time `s` to time `t`. + + Args: + x: A pytorch tensor. The initial value at time `s`. + s: A pytorch tensor. The starting time, with the shape (1,). + t: A pytorch tensor. The ending time, with the shape (1,). + model_s: A pytorch tensor. The model function evaluated at time `s`. + If `model_s` is None, we evaluate the model by `x` and `s`; otherwise we directly use it. + return_intermediate: A `bool`. If true, also return the model value at time `s`. + Returns: + x_t: A pytorch tensor. The approximated solution at time `t`. + """ + ns = self.noise_schedule + dims = x.dim() + lambda_s, lambda_t = ns.marginal_lambda(s), ns.marginal_lambda(t) + h = lambda_t - lambda_s + log_alpha_s, log_alpha_t = ns.marginal_log_mean_coeff(s), ns.marginal_log_mean_coeff(t) + sigma_s, sigma_t = ns.marginal_std(s), ns.marginal_std(t) + alpha_t = torch.exp(log_alpha_t) + + if self.algorithm_type == "dpmsolver++": + phi_1 = torch.expm1(-h) + if model_s is None: + model_s = self.model_fn(x, s) + x_t = ( + sigma_t / sigma_s * x + - alpha_t * phi_1 * model_s + ) + if return_intermediate: + return x_t, {'model_s': model_s} + else: + return x_t + else: + phi_1 = torch.expm1(h) + if model_s is None: + model_s = self.model_fn(x, s) + x_t = ( + torch.exp(log_alpha_t - log_alpha_s) * x + - (sigma_t * phi_1) * model_s + ) + if return_intermediate: + return x_t, {'model_s': model_s} + else: + return x_t + + def singlestep_dpm_solver_second_update(self, x, s, t, r1=0.5, model_s=None, return_intermediate=False, solver_type='dpmsolver'): + """ + Singlestep solver DPM-Solver-2 from time `s` to time `t`. + + Args: + x: A pytorch tensor. The initial value at time `s`. + s: A pytorch tensor. The starting time, with the shape (1,). + t: A pytorch tensor. The ending time, with the shape (1,). + r1: A `float`. The hyperparameter of the second-order solver. + model_s: A pytorch tensor. The model function evaluated at time `s`. + If `model_s` is None, we evaluate the model by `x` and `s`; otherwise we directly use it. + return_intermediate: A `bool`. If true, also return the model value at time `s` and `s1` (the intermediate time). + solver_type: either 'dpmsolver' or 'taylor'. The type for the high-order solvers. + The type slightly impacts the performance. We recommend to use 'dpmsolver' type. + Returns: + x_t: A pytorch tensor. The approximated solution at time `t`. + """ + if solver_type not in ['dpmsolver', 'taylor']: + raise ValueError("'solver_type' must be either 'dpmsolver' or 'taylor', got {}".format(solver_type)) + if r1 is None: + r1 = 0.5 + ns = self.noise_schedule + lambda_s, lambda_t = ns.marginal_lambda(s), ns.marginal_lambda(t) + h = lambda_t - lambda_s + lambda_s1 = lambda_s + r1 * h + s1 = ns.inverse_lambda(lambda_s1) + log_alpha_s, log_alpha_s1, log_alpha_t = ns.marginal_log_mean_coeff(s), ns.marginal_log_mean_coeff(s1), ns.marginal_log_mean_coeff(t) + sigma_s, sigma_s1, sigma_t = ns.marginal_std(s), ns.marginal_std(s1), ns.marginal_std(t) + alpha_s1, alpha_t = torch.exp(log_alpha_s1), torch.exp(log_alpha_t) + + if self.algorithm_type == "dpmsolver++": + phi_11 = torch.expm1(-r1 * h) + phi_1 = torch.expm1(-h) + + if model_s is None: + model_s = self.model_fn(x, s) + x_s1 = ( + (sigma_s1 / sigma_s) * x + - (alpha_s1 * phi_11) * model_s + ) + model_s1 = self.model_fn(x_s1, s1) + if solver_type == 'dpmsolver': + x_t = ( + (sigma_t / sigma_s) * x + - (alpha_t * phi_1) * model_s + - (0.5 / r1) * (alpha_t * phi_1) * (model_s1 - model_s) + ) + elif solver_type == 'taylor': + x_t = ( + (sigma_t / sigma_s) * x + - (alpha_t * phi_1) * model_s + + (1. / r1) * (alpha_t * (phi_1 / h + 1.)) * (model_s1 - model_s) + ) + else: + phi_11 = torch.expm1(r1 * h) + phi_1 = torch.expm1(h) + + if model_s is None: + model_s = self.model_fn(x, s) + x_s1 = ( + torch.exp(log_alpha_s1 - log_alpha_s) * x + - (sigma_s1 * phi_11) * model_s + ) + model_s1 = self.model_fn(x_s1, s1) + if solver_type == 'dpmsolver': + x_t = ( + torch.exp(log_alpha_t - log_alpha_s) * x + - (sigma_t * phi_1) * model_s + - (0.5 / r1) * (sigma_t * phi_1) * (model_s1 - model_s) + ) + elif solver_type == 'taylor': + x_t = ( + torch.exp(log_alpha_t - log_alpha_s) * x + - (sigma_t * phi_1) * model_s + - (1. / r1) * (sigma_t * (phi_1 / h - 1.)) * (model_s1 - model_s) + ) + if return_intermediate: + return x_t, {'model_s': model_s, 'model_s1': model_s1} + else: + return x_t + + def singlestep_dpm_solver_third_update(self, x, s, t, r1=1./3., r2=2./3., model_s=None, model_s1=None, return_intermediate=False, solver_type='dpmsolver'): + """ + Singlestep solver DPM-Solver-3 from time `s` to time `t`. + + Args: + x: A pytorch tensor. The initial value at time `s`. + s: A pytorch tensor. The starting time, with the shape (1,). + t: A pytorch tensor. The ending time, with the shape (1,). + r1: A `float`. The hyperparameter of the third-order solver. + r2: A `float`. The hyperparameter of the third-order solver. + model_s: A pytorch tensor. The model function evaluated at time `s`. + If `model_s` is None, we evaluate the model by `x` and `s`; otherwise we directly use it. + model_s1: A pytorch tensor. The model function evaluated at time `s1` (the intermediate time given by `r1`). + If `model_s1` is None, we evaluate the model at `s1`; otherwise we directly use it. + return_intermediate: A `bool`. If true, also return the model value at time `s`, `s1` and `s2` (the intermediate times). + solver_type: either 'dpmsolver' or 'taylor'. The type for the high-order solvers. + The type slightly impacts the performance. We recommend to use 'dpmsolver' type. + Returns: + x_t: A pytorch tensor. The approximated solution at time `t`. + """ + if solver_type not in ['dpmsolver', 'taylor']: + raise ValueError("'solver_type' must be either 'dpmsolver' or 'taylor', got {}".format(solver_type)) + if r1 is None: + r1 = 1. / 3. + if r2 is None: + r2 = 2. / 3. + ns = self.noise_schedule + lambda_s, lambda_t = ns.marginal_lambda(s), ns.marginal_lambda(t) + h = lambda_t - lambda_s + lambda_s1 = lambda_s + r1 * h + lambda_s2 = lambda_s + r2 * h + s1 = ns.inverse_lambda(lambda_s1) + s2 = ns.inverse_lambda(lambda_s2) + log_alpha_s, log_alpha_s1, log_alpha_s2, log_alpha_t = ns.marginal_log_mean_coeff(s), ns.marginal_log_mean_coeff(s1), ns.marginal_log_mean_coeff(s2), ns.marginal_log_mean_coeff(t) + sigma_s, sigma_s1, sigma_s2, sigma_t = ns.marginal_std(s), ns.marginal_std(s1), ns.marginal_std(s2), ns.marginal_std(t) + alpha_s1, alpha_s2, alpha_t = torch.exp(log_alpha_s1), torch.exp(log_alpha_s2), torch.exp(log_alpha_t) + + if self.algorithm_type == "dpmsolver++": + phi_11 = torch.expm1(-r1 * h) + phi_12 = torch.expm1(-r2 * h) + phi_1 = torch.expm1(-h) + phi_22 = torch.expm1(-r2 * h) / (r2 * h) + 1. + phi_2 = phi_1 / h + 1. + phi_3 = phi_2 / h - 0.5 + + if model_s is None: + model_s = self.model_fn(x, s) + if model_s1 is None: + x_s1 = ( + (sigma_s1 / sigma_s) * x + - (alpha_s1 * phi_11) * model_s + ) + model_s1 = self.model_fn(x_s1, s1) + x_s2 = ( + (sigma_s2 / sigma_s) * x + - (alpha_s2 * phi_12) * model_s + + r2 / r1 * (alpha_s2 * phi_22) * (model_s1 - model_s) + ) + model_s2 = self.model_fn(x_s2, s2) + if solver_type == 'dpmsolver': + x_t = ( + (sigma_t / sigma_s) * x + - (alpha_t * phi_1) * model_s + + (1. / r2) * (alpha_t * phi_2) * (model_s2 - model_s) + ) + elif solver_type == 'taylor': + D1_0 = (1. / r1) * (model_s1 - model_s) + D1_1 = (1. / r2) * (model_s2 - model_s) + D1 = (r2 * D1_0 - r1 * D1_1) / (r2 - r1) + D2 = 2. * (D1_1 - D1_0) / (r2 - r1) + x_t = ( + (sigma_t / sigma_s) * x + - (alpha_t * phi_1) * model_s + + (alpha_t * phi_2) * D1 + - (alpha_t * phi_3) * D2 + ) + else: + phi_11 = torch.expm1(r1 * h) + phi_12 = torch.expm1(r2 * h) + phi_1 = torch.expm1(h) + phi_22 = torch.expm1(r2 * h) / (r2 * h) - 1. + phi_2 = phi_1 / h - 1. + phi_3 = phi_2 / h - 0.5 + + if model_s is None: + model_s = self.model_fn(x, s) + if model_s1 is None: + x_s1 = ( + (torch.exp(log_alpha_s1 - log_alpha_s)) * x + - (sigma_s1 * phi_11) * model_s + ) + model_s1 = self.model_fn(x_s1, s1) + x_s2 = ( + (torch.exp(log_alpha_s2 - log_alpha_s)) * x + - (sigma_s2 * phi_12) * model_s + - r2 / r1 * (sigma_s2 * phi_22) * (model_s1 - model_s) + ) + model_s2 = self.model_fn(x_s2, s2) + if solver_type == 'dpmsolver': + x_t = ( + (torch.exp(log_alpha_t - log_alpha_s)) * x + - (sigma_t * phi_1) * model_s + - (1. / r2) * (sigma_t * phi_2) * (model_s2 - model_s) + ) + elif solver_type == 'taylor': + D1_0 = (1. / r1) * (model_s1 - model_s) + D1_1 = (1. / r2) * (model_s2 - model_s) + D1 = (r2 * D1_0 - r1 * D1_1) / (r2 - r1) + D2 = 2. * (D1_1 - D1_0) / (r2 - r1) + x_t = ( + (torch.exp(log_alpha_t - log_alpha_s)) * x + - (sigma_t * phi_1) * model_s + - (sigma_t * phi_2) * D1 + - (sigma_t * phi_3) * D2 + ) + + if return_intermediate: + return x_t, {'model_s': model_s, 'model_s1': model_s1, 'model_s2': model_s2} + else: + return x_t + + def multistep_dpm_solver_second_update(self, x, model_prev_list, t_prev_list, t, solver_type="dpmsolver"): + """ + Multistep solver DPM-Solver-2 from time `t_prev_list[-1]` to time `t`. + + Args: + x: A pytorch tensor. The initial value at time `s`. + model_prev_list: A list of pytorch tensor. The previous computed model values. + t_prev_list: A list of pytorch tensor. The previous times, each time has the shape (1,) + t: A pytorch tensor. The ending time, with the shape (1,). + solver_type: either 'dpmsolver' or 'taylor'. The type for the high-order solvers. + The type slightly impacts the performance. We recommend to use 'dpmsolver' type. + Returns: + x_t: A pytorch tensor. The approximated solution at time `t`. + """ + if solver_type not in ['dpmsolver', 'taylor']: + raise ValueError("'solver_type' must be either 'dpmsolver' or 'taylor', got {}".format(solver_type)) + ns = self.noise_schedule + model_prev_1, model_prev_0 = model_prev_list[-2], model_prev_list[-1] + t_prev_1, t_prev_0 = t_prev_list[-2], t_prev_list[-1] + lambda_prev_1, lambda_prev_0, lambda_t = ns.marginal_lambda(t_prev_1), ns.marginal_lambda(t_prev_0), ns.marginal_lambda(t) + log_alpha_prev_0, log_alpha_t = ns.marginal_log_mean_coeff(t_prev_0), ns.marginal_log_mean_coeff(t) + sigma_prev_0, sigma_t = ns.marginal_std(t_prev_0), ns.marginal_std(t) + alpha_t = torch.exp(log_alpha_t) + + h_0 = lambda_prev_0 - lambda_prev_1 + h = lambda_t - lambda_prev_0 + r0 = h_0 / h + D1_0 = (1. / r0) * (model_prev_0 - model_prev_1) + if self.algorithm_type == "dpmsolver++": + phi_1 = torch.expm1(-h) + if solver_type == 'dpmsolver': + x_t = ( + (sigma_t / sigma_prev_0) * x + - (alpha_t * phi_1) * model_prev_0 + - 0.5 * (alpha_t * phi_1) * D1_0 + ) + elif solver_type == 'taylor': + x_t = ( + (sigma_t / sigma_prev_0) * x + - (alpha_t * phi_1) * model_prev_0 + + (alpha_t * (phi_1 / h + 1.)) * D1_0 + ) + else: + phi_1 = torch.expm1(h) + if solver_type == 'dpmsolver': + x_t = ( + (torch.exp(log_alpha_t - log_alpha_prev_0)) * x + - (sigma_t * phi_1) * model_prev_0 + - 0.5 * (sigma_t * phi_1) * D1_0 + ) + elif solver_type == 'taylor': + x_t = ( + (torch.exp(log_alpha_t - log_alpha_prev_0)) * x + - (sigma_t * phi_1) * model_prev_0 + - (sigma_t * (phi_1 / h - 1.)) * D1_0 + ) + return x_t + + def multistep_dpm_solver_third_update(self, x, model_prev_list, t_prev_list, t, solver_type='dpmsolver'): + """ + Multistep solver DPM-Solver-3 from time `t_prev_list[-1]` to time `t`. + + Args: + x: A pytorch tensor. The initial value at time `s`. + model_prev_list: A list of pytorch tensor. The previous computed model values. + t_prev_list: A list of pytorch tensor. The previous times, each time has the shape (1,) + t: A pytorch tensor. The ending time, with the shape (1,). + solver_type: either 'dpmsolver' or 'taylor'. The type for the high-order solvers. + The type slightly impacts the performance. We recommend to use 'dpmsolver' type. + Returns: + x_t: A pytorch tensor. The approximated solution at time `t`. + """ + ns = self.noise_schedule + model_prev_2, model_prev_1, model_prev_0 = model_prev_list + t_prev_2, t_prev_1, t_prev_0 = t_prev_list + lambda_prev_2, lambda_prev_1, lambda_prev_0, lambda_t = ns.marginal_lambda(t_prev_2), ns.marginal_lambda(t_prev_1), ns.marginal_lambda(t_prev_0), ns.marginal_lambda(t) + log_alpha_prev_0, log_alpha_t = ns.marginal_log_mean_coeff(t_prev_0), ns.marginal_log_mean_coeff(t) + sigma_prev_0, sigma_t = ns.marginal_std(t_prev_0), ns.marginal_std(t) + alpha_t = torch.exp(log_alpha_t) + + h_1 = lambda_prev_1 - lambda_prev_2 + h_0 = lambda_prev_0 - lambda_prev_1 + h = lambda_t - lambda_prev_0 + r0, r1 = h_0 / h, h_1 / h + D1_0 = (1. / r0) * (model_prev_0 - model_prev_1) + D1_1 = (1. / r1) * (model_prev_1 - model_prev_2) + D1 = D1_0 + (r0 / (r0 + r1)) * (D1_0 - D1_1) + D2 = (1. / (r0 + r1)) * (D1_0 - D1_1) + if self.algorithm_type == "dpmsolver++": + phi_1 = torch.expm1(-h) + phi_2 = phi_1 / h + 1. + phi_3 = phi_2 / h - 0.5 + x_t = ( + (sigma_t / sigma_prev_0) * x + - (alpha_t * phi_1) * model_prev_0 + + (alpha_t * phi_2) * D1 + - (alpha_t * phi_3) * D2 + ) + else: + phi_1 = torch.expm1(h) + phi_2 = phi_1 / h - 1. + phi_3 = phi_2 / h - 0.5 + x_t = ( + (torch.exp(log_alpha_t - log_alpha_prev_0)) * x + - (sigma_t * phi_1) * model_prev_0 + - (sigma_t * phi_2) * D1 + - (sigma_t * phi_3) * D2 + ) + return x_t + + def singlestep_dpm_solver_update(self, x, s, t, order, return_intermediate=False, solver_type='dpmsolver', r1=None, r2=None): + """ + Singlestep DPM-Solver with the order `order` from time `s` to time `t`. + + Args: + x: A pytorch tensor. The initial value at time `s`. + s: A pytorch tensor. The starting time, with the shape (1,). + t: A pytorch tensor. The ending time, with the shape (1,). + order: A `int`. The order of DPM-Solver. We only support order == 1 or 2 or 3. + return_intermediate: A `bool`. If true, also return the model value at time `s`, `s1` and `s2` (the intermediate times). + solver_type: either 'dpmsolver' or 'taylor'. The type for the high-order solvers. + The type slightly impacts the performance. We recommend to use 'dpmsolver' type. + r1: A `float`. The hyperparameter of the second-order or third-order solver. + r2: A `float`. The hyperparameter of the third-order solver. + Returns: + x_t: A pytorch tensor. The approximated solution at time `t`. + """ + if order == 1: + return self.dpm_solver_first_update(x, s, t, return_intermediate=return_intermediate) + elif order == 2: + return self.singlestep_dpm_solver_second_update(x, s, t, return_intermediate=return_intermediate, solver_type=solver_type, r1=r1) + elif order == 3: + return self.singlestep_dpm_solver_third_update(x, s, t, return_intermediate=return_intermediate, solver_type=solver_type, r1=r1, r2=r2) + else: + raise ValueError("Solver order must be 1 or 2 or 3, got {}".format(order)) + + def multistep_dpm_solver_update(self, x, model_prev_list, t_prev_list, t, order, solver_type='dpmsolver'): + """ + Multistep DPM-Solver with the order `order` from time `t_prev_list[-1]` to time `t`. + + Args: + x: A pytorch tensor. The initial value at time `s`. + model_prev_list: A list of pytorch tensor. The previous computed model values. + t_prev_list: A list of pytorch tensor. The previous times, each time has the shape (1,) + t: A pytorch tensor. The ending time, with the shape (1,). + order: A `int`. The order of DPM-Solver. We only support order == 1 or 2 or 3. + solver_type: either 'dpmsolver' or 'taylor'. The type for the high-order solvers. + The type slightly impacts the performance. We recommend to use 'dpmsolver' type. + Returns: + x_t: A pytorch tensor. The approximated solution at time `t`. + """ + if order == 1: + return self.dpm_solver_first_update(x, t_prev_list[-1], t, model_s=model_prev_list[-1]) + elif order == 2: + return self.multistep_dpm_solver_second_update(x, model_prev_list, t_prev_list, t, solver_type=solver_type) + elif order == 3: + return self.multistep_dpm_solver_third_update(x, model_prev_list, t_prev_list, t, solver_type=solver_type) + else: + raise ValueError("Solver order must be 1 or 2 or 3, got {}".format(order)) + + def dpm_solver_adaptive(self, x, order, t_T, t_0, h_init=0.05, atol=0.0078, rtol=0.05, theta=0.9, t_err=1e-5, solver_type='dpmsolver'): + """ + The adaptive step size solver based on singlestep DPM-Solver. + + Args: + x: A pytorch tensor. The initial value at time `t_T`. + order: A `int`. The (higher) order of the solver. We only support order == 2 or 3. + t_T: A `float`. The starting time of the sampling (default is T). + t_0: A `float`. The ending time of the sampling (default is epsilon). + h_init: A `float`. The initial step size (for logSNR). + atol: A `float`. The absolute tolerance of the solver. For image data, the default setting is 0.0078, followed [1]. + rtol: A `float`. The relative tolerance of the solver. The default setting is 0.05. + theta: A `float`. The safety hyperparameter for adapting the step size. The default setting is 0.9, followed [1]. + t_err: A `float`. The tolerance for the time. We solve the diffusion ODE until the absolute error between the + current time and `t_0` is less than `t_err`. The default setting is 1e-5. + solver_type: either 'dpmsolver' or 'taylor'. The type for the high-order solvers. + The type slightly impacts the performance. We recommend to use 'dpmsolver' type. + Returns: + x_0: A pytorch tensor. The approximated solution at time `t_0`. + + [1] A. Jolicoeur-Martineau, K. Li, R. Piché-Taillefer, T. Kachman, and I. Mitliagkas, "Gotta go fast when generating data with score-based models," arXiv preprint arXiv:2105.14080, 2021. + """ + ns = self.noise_schedule + s = t_T * torch.ones((1,)).to(x) + lambda_s = ns.marginal_lambda(s) + lambda_0 = ns.marginal_lambda(t_0 * torch.ones_like(s).to(x)) + h = h_init * torch.ones_like(s).to(x) + x_prev = x + nfe = 0 + if order == 2: + r1 = 0.5 + lower_update = lambda x, s, t: self.dpm_solver_first_update(x, s, t, return_intermediate=True) + higher_update = lambda x, s, t, **kwargs: self.singlestep_dpm_solver_second_update(x, s, t, r1=r1, solver_type=solver_type, **kwargs) + elif order == 3: + r1, r2 = 1. / 3., 2. / 3. + lower_update = lambda x, s, t: self.singlestep_dpm_solver_second_update(x, s, t, r1=r1, return_intermediate=True, solver_type=solver_type) + higher_update = lambda x, s, t, **kwargs: self.singlestep_dpm_solver_third_update(x, s, t, r1=r1, r2=r2, solver_type=solver_type, **kwargs) + else: + raise ValueError("For adaptive step size solver, order must be 2 or 3, got {}".format(order)) + while torch.abs((s - t_0)).mean() > t_err: + t = ns.inverse_lambda(lambda_s + h) + x_lower, lower_noise_kwargs = lower_update(x, s, t) + x_higher = higher_update(x, s, t, **lower_noise_kwargs) + delta = torch.max(torch.ones_like(x).to(x) * atol, rtol * torch.max(torch.abs(x_lower), torch.abs(x_prev))) + norm_fn = lambda v: torch.sqrt(torch.square(v.reshape((v.shape[0], -1))).mean(dim=-1, keepdim=True)) + E = norm_fn((x_higher - x_lower) / delta).max() + if torch.all(E <= 1.): + x = x_higher + s = t + x_prev = x_lower + lambda_s = ns.marginal_lambda(s) + h = torch.min(theta * h * torch.float_power(E, -1. / order).float(), lambda_0 - lambda_s) + nfe += order + print('adaptive solver nfe', nfe) + return x + + def add_noise(self, x, t, noise=None): + """ + Compute the noised input xt = alpha_t * x + sigma_t * noise. + + Args: + x: A `torch.Tensor` with shape `(batch_size, *shape)`. + t: A `torch.Tensor` with shape `(t_size,)`. + Returns: + xt with shape `(t_size, batch_size, *shape)`. + """ + alpha_t, sigma_t = self.noise_schedule.marginal_alpha(t), self.noise_schedule.marginal_std(t) + if noise is None: + noise = torch.randn((t.shape[0], *x.shape), device=x.device) + x = x.reshape((-1, *x.shape)) + xt = expand_dims(alpha_t, x.dim()) * x + expand_dims(sigma_t, x.dim()) * noise + if t.shape[0] == 1: + return xt.squeeze(0) + else: + return xt + + def inverse(self, x, steps=20, t_start=None, t_end=None, order=2, skip_type='time_uniform', + method='multistep', lower_order_final=True, denoise_to_zero=False, solver_type='dpmsolver', + atol=0.0078, rtol=0.05, return_intermediate=False, + ): + """ + Inverse the sample `x` from time `t_start` to `t_end` by DPM-Solver. + For discrete-time DPMs, we use `t_start=1/N`, where `N` is the total time steps during training. + """ + t_0 = 1. / self.noise_schedule.total_N if t_start is None else t_start + t_T = self.noise_schedule.T if t_end is None else t_end + assert t_0 > 0 and t_T > 0, "Time range needs to be greater than 0. For discrete-time DPMs, it needs to be in [1 / N, 1], where N is the length of betas array" + return self.sample(x, steps=steps, t_start=t_0, t_end=t_T, order=order, skip_type=skip_type, + method=method, lower_order_final=lower_order_final, denoise_to_zero=denoise_to_zero, solver_type=solver_type, + atol=atol, rtol=rtol, return_intermediate=return_intermediate) + + def sample(self, x, steps=20, t_start=None, t_end=None, order=2, skip_type='time_uniform', + method='multistep', lower_order_final=True, denoise_to_zero=False, solver_type='dpmsolver', + atol=0.0078, rtol=0.05, return_intermediate=False, + ): + """ + Compute the sample at time `t_end` by DPM-Solver, given the initial `x` at time `t_start`. + + ===================================================== + + We support the following algorithms for both noise prediction model and data prediction model: + - 'singlestep': + Singlestep DPM-Solver (i.e. "DPM-Solver-fast" in the paper), which combines different orders of singlestep DPM-Solver. + We combine all the singlestep solvers with order <= `order` to use up all the function evaluations (steps). + The total number of function evaluations (NFE) == `steps`. + Given a fixed NFE == `steps`, the sampling procedure is: + - If `order` == 1: + - Denote K = steps. We use K steps of DPM-Solver-1 (i.e. DDIM). + - If `order` == 2: + - Denote K = (steps // 2) + (steps % 2). We take K intermediate time steps for sampling. + - If steps % 2 == 0, we use K steps of singlestep DPM-Solver-2. + - If steps % 2 == 1, we use (K - 1) steps of singlestep DPM-Solver-2 and 1 step of DPM-Solver-1. + - If `order` == 3: + - Denote K = (steps // 3 + 1). We take K intermediate time steps for sampling. + - If steps % 3 == 0, we use (K - 2) steps of singlestep DPM-Solver-3, and 1 step of singlestep DPM-Solver-2 and 1 step of DPM-Solver-1. + - If steps % 3 == 1, we use (K - 1) steps of singlestep DPM-Solver-3 and 1 step of DPM-Solver-1. + - If steps % 3 == 2, we use (K - 1) steps of singlestep DPM-Solver-3 and 1 step of singlestep DPM-Solver-2. + - 'multistep': + Multistep DPM-Solver with the order of `order`. The total number of function evaluations (NFE) == `steps`. + We initialize the first `order` values by lower order multistep solvers. + Given a fixed NFE == `steps`, the sampling procedure is: + Denote K = steps. + - If `order` == 1: + - We use K steps of DPM-Solver-1 (i.e. DDIM). + - If `order` == 2: + - We firstly use 1 step of DPM-Solver-1, then use (K - 1) step of multistep DPM-Solver-2. + - If `order` == 3: + - We firstly use 1 step of DPM-Solver-1, then 1 step of multistep DPM-Solver-2, then (K - 2) step of multistep DPM-Solver-3. + - 'singlestep_fixed': + Fixed order singlestep DPM-Solver (i.e. DPM-Solver-1 or singlestep DPM-Solver-2 or singlestep DPM-Solver-3). + We use singlestep DPM-Solver-`order` for `order`=1 or 2 or 3, with total [`steps` // `order`] * `order` NFE. + - 'adaptive': + Adaptive step size DPM-Solver (i.e. "DPM-Solver-12" and "DPM-Solver-23" in the paper). + We ignore `steps` and use adaptive step size DPM-Solver with a higher order of `order`. + You can adjust the absolute tolerance `atol` and the relative tolerance `rtol` to balance the computatation costs + (NFE) and the sample quality. + - If `order` == 2, we use DPM-Solver-12 which combines DPM-Solver-1 and singlestep DPM-Solver-2. + - If `order` == 3, we use DPM-Solver-23 which combines singlestep DPM-Solver-2 and singlestep DPM-Solver-3. + + ===================================================== + + Some advices for choosing the algorithm: + - For **unconditional sampling** or **guided sampling with small guidance scale** by DPMs: + Use singlestep DPM-Solver or DPM-Solver++ ("DPM-Solver-fast" in the paper) with `order = 3`. + e.g., DPM-Solver: + >>> dpm_solver = DPM_Solver(model_fn, noise_schedule, algorithm_type="dpmsolver") + >>> x_sample = dpm_solver.sample(x, steps=steps, t_start=t_start, t_end=t_end, order=3, + skip_type='time_uniform', method='singlestep') + e.g., DPM-Solver++: + >>> dpm_solver = DPM_Solver(model_fn, noise_schedule, algorithm_type="dpmsolver++") + >>> x_sample = dpm_solver.sample(x, steps=steps, t_start=t_start, t_end=t_end, order=3, + skip_type='time_uniform', method='singlestep') + - For **guided sampling with large guidance scale** by DPMs: + Use multistep DPM-Solver with `algorithm_type="dpmsolver++"` and `order = 2`. + e.g. + >>> dpm_solver = DPM_Solver(model_fn, noise_schedule, algorithm_type="dpmsolver++") + >>> x_sample = dpm_solver.sample(x, steps=steps, t_start=t_start, t_end=t_end, order=2, + skip_type='time_uniform', method='multistep') + + We support three types of `skip_type`: + - 'logSNR': uniform logSNR for the time steps. **Recommended for low-resolutional images** + - 'time_uniform': uniform time for the time steps. **Recommended for high-resolutional images**. + - 'time_quadratic': quadratic time for the time steps. + + ===================================================== + Args: + x: A pytorch tensor. The initial value at time `t_start` + e.g. if `t_start` == T, then `x` is a sample from the standard normal distribution. + steps: A `int`. The total number of function evaluations (NFE). + t_start: A `float`. The starting time of the sampling. + If `T` is None, we use self.noise_schedule.T (default is 1.0). + t_end: A `float`. The ending time of the sampling. + If `t_end` is None, we use 1. / self.noise_schedule.total_N. + e.g. if total_N == 1000, we have `t_end` == 1e-3. + For discrete-time DPMs: + - We recommend `t_end` == 1. / self.noise_schedule.total_N. + For continuous-time DPMs: + - We recommend `t_end` == 1e-3 when `steps` <= 15; and `t_end` == 1e-4 when `steps` > 15. + order: A `int`. The order of DPM-Solver. + skip_type: A `str`. The type for the spacing of the time steps. 'time_uniform' or 'logSNR' or 'time_quadratic'. + method: A `str`. The method for sampling. 'singlestep' or 'multistep' or 'singlestep_fixed' or 'adaptive'. + denoise_to_zero: A `bool`. Whether to denoise to time 0 at the final step. + Default is `False`. If `denoise_to_zero` is `True`, the total NFE is (`steps` + 1). + + This trick is firstly proposed by DDPM (https://arxiv.org/abs/2006.11239) and + score_sde (https://arxiv.org/abs/2011.13456). Such trick can improve the FID + for diffusion models sampling by diffusion SDEs for low-resolutional images + (such as CIFAR-10). However, we observed that such trick does not matter for + high-resolutional images. As it needs an additional NFE, we do not recommend + it for high-resolutional images. + lower_order_final: A `bool`. Whether to use lower order solvers at the final steps. + Only valid for `method=multistep` and `steps < 15`. We empirically find that + this trick is a key to stabilizing the sampling by DPM-Solver with very few steps + (especially for steps <= 10). So we recommend to set it to be `True`. + solver_type: A `str`. The taylor expansion type for the solver. `dpmsolver` or `taylor`. We recommend `dpmsolver`. + atol: A `float`. The absolute tolerance of the adaptive step size solver. Valid when `method` == 'adaptive'. + rtol: A `float`. The relative tolerance of the adaptive step size solver. Valid when `method` == 'adaptive'. + return_intermediate: A `bool`. Whether to save the xt at each step. + When set to `True`, method returns a tuple (x0, intermediates); when set to False, method returns only x0. + Returns: + x_end: A pytorch tensor. The approximated solution at time `t_end`. + + """ + t_0 = 1. / self.noise_schedule.total_N if t_end is None else t_end + t_T = self.noise_schedule.T if t_start is None else t_start + assert t_0 > 0 and t_T > 0, "Time range needs to be greater than 0. For discrete-time DPMs, it needs to be in [1 / N, 1], where N is the length of betas array" + if return_intermediate: + assert method in ['multistep', 'singlestep', 'singlestep_fixed'], "Cannot use adaptive solver when saving intermediate values" + if self.correcting_xt_fn is not None: + assert method in ['multistep', 'singlestep', 'singlestep_fixed'], "Cannot use adaptive solver when correcting_xt_fn is not None" + device = x.device + intermediates = [] + with torch.no_grad(): + if method == 'adaptive': + x = self.dpm_solver_adaptive(x, order=order, t_T=t_T, t_0=t_0, atol=atol, rtol=rtol, solver_type=solver_type) + elif method == 'multistep': + assert steps >= order + timesteps = self.get_time_steps(skip_type=skip_type, t_T=t_T, t_0=t_0, N=steps, device=device) + assert timesteps.shape[0] - 1 == steps + # Init the initial values. + step = 0 + t = timesteps[step] + t_prev_list = [t] + model_prev_list = [self.model_fn(x, t)] + if self.correcting_xt_fn is not None: + x = self.correcting_xt_fn(x, t, step) + if return_intermediate: + intermediates.append(x) + # Init the first `order` values by lower order multistep DPM-Solver. + for step in range(1, order): + t = timesteps[step] + x = self.multistep_dpm_solver_update(x, model_prev_list, t_prev_list, t, step, solver_type=solver_type) + if self.correcting_xt_fn is not None: + x = self.correcting_xt_fn(x, t, step) + if return_intermediate: + intermediates.append(x) + t_prev_list.append(t) + model_prev_list.append(self.model_fn(x, t)) + # Compute the remaining values by `order`-th order multistep DPM-Solver. + for step in range(order, steps + 1): + t = timesteps[step] + # We only use lower order for steps < 10 + if lower_order_final and steps < 10: + step_order = min(order, steps + 1 - step) + else: + step_order = order + x = self.multistep_dpm_solver_update(x, model_prev_list, t_prev_list, t, step_order, solver_type=solver_type) + if self.correcting_xt_fn is not None: + x = self.correcting_xt_fn(x, t, step) + if return_intermediate: + intermediates.append(x) + for i in range(order - 1): + t_prev_list[i] = t_prev_list[i + 1] + model_prev_list[i] = model_prev_list[i + 1] + t_prev_list[-1] = t + # We do not need to evaluate the final model value. + if step < steps: + model_prev_list[-1] = self.model_fn(x, t) + elif method in ['singlestep', 'singlestep_fixed']: + if method == 'singlestep': + timesteps_outer, orders = self.get_orders_and_timesteps_for_singlestep_solver(steps=steps, order=order, skip_type=skip_type, t_T=t_T, t_0=t_0, device=device) + elif method == 'singlestep_fixed': + K = steps // order + orders = [order,] * K + timesteps_outer = self.get_time_steps(skip_type=skip_type, t_T=t_T, t_0=t_0, N=K, device=device) + for step, order in enumerate(orders): + s, t = timesteps_outer[step], timesteps_outer[step + 1] + timesteps_inner = self.get_time_steps(skip_type=skip_type, t_T=s.item(), t_0=t.item(), N=order, device=device) + lambda_inner = self.noise_schedule.marginal_lambda(timesteps_inner) + h = lambda_inner[-1] - lambda_inner[0] + r1 = None if order <= 1 else (lambda_inner[1] - lambda_inner[0]) / h + r2 = None if order <= 2 else (lambda_inner[2] - lambda_inner[0]) / h + x = self.singlestep_dpm_solver_update(x, s, t, order, solver_type=solver_type, r1=r1, r2=r2) + if self.correcting_xt_fn is not None: + x = self.correcting_xt_fn(x, t, step) + if return_intermediate: + intermediates.append(x) + else: + raise ValueError("Got wrong method {}".format(method)) + if denoise_to_zero: + t = torch.ones((1,)).to(device) * t_0 + x = self.denoise_to_zero_fn(x, t) + if self.correcting_xt_fn is not None: + x = self.correcting_xt_fn(x, t, step + 1) + if return_intermediate: + intermediates.append(x) + if return_intermediate: + return x, intermediates + else: + return x + + + +############################################################# +# other utility functions +############################################################# + +def interpolate_fn(x, xp, yp): + """ + A piecewise linear function y = f(x), using xp and yp as keypoints. + We implement f(x) in a differentiable way (i.e. applicable for autograd). + The function f(x) is well-defined for all x-axis. (For x beyond the bounds of xp, we use the outmost points of xp to define the linear function.) + + Args: + x: PyTorch tensor with shape [N, C], where N is the batch size, C is the number of channels (we use C = 1 for DPM-Solver). + xp: PyTorch tensor with shape [C, K], where K is the number of keypoints. + yp: PyTorch tensor with shape [C, K]. + Returns: + The function values f(x), with shape [N, C]. + """ + N, K = x.shape[0], xp.shape[1] + all_x = torch.cat([x.unsqueeze(2), xp.unsqueeze(0).repeat((N, 1, 1))], dim=2) + sorted_all_x, x_indices = torch.sort(all_x, dim=2) + x_idx = torch.argmin(x_indices, dim=2) + cand_start_idx = x_idx - 1 + start_idx = torch.where( + torch.eq(x_idx, 0), + torch.tensor(1, device=x.device), + torch.where( + torch.eq(x_idx, K), torch.tensor(K - 2, device=x.device), cand_start_idx, + ), + ) + end_idx = torch.where(torch.eq(start_idx, cand_start_idx), start_idx + 2, start_idx + 1) + start_x = torch.gather(sorted_all_x, dim=2, index=start_idx.unsqueeze(2)).squeeze(2) + end_x = torch.gather(sorted_all_x, dim=2, index=end_idx.unsqueeze(2)).squeeze(2) + start_idx2 = torch.where( + torch.eq(x_idx, 0), + torch.tensor(0, device=x.device), + torch.where( + torch.eq(x_idx, K), torch.tensor(K - 2, device=x.device), cand_start_idx, + ), + ) + y_positions_expanded = yp.unsqueeze(0).expand(N, -1, -1) + start_y = torch.gather(y_positions_expanded, dim=2, index=start_idx2.unsqueeze(2)).squeeze(2) + end_y = torch.gather(y_positions_expanded, dim=2, index=(start_idx2 + 1).unsqueeze(2)).squeeze(2) + cand = start_y + (x - start_x) * (end_y - start_y) / (end_x - start_x) + return cand + + +def expand_dims(v, dims): + """ + Expand the tensor `v` to the dim `dims`. + + Args: + `v`: a PyTorch tensor with shape [N]. + `dim`: a `int`. + Returns: + a PyTorch tensor with shape [N, 1, 1, ..., 1] and the total dimension is `dims`. + """ + return v[(...,) + (None,)*(dims - 1)] \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/core/dpm_solver_pytorch_no_noise.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/core/dpm_solver_pytorch_no_noise.py new file mode 100644 index 0000000000000000000000000000000000000000..f20c5b5a8a6f216a180717fde135c3bac055f9c0 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/core/dpm_solver_pytorch_no_noise.py @@ -0,0 +1,1306 @@ +import torch +import torch.nn.functional as F +import math + + +class NoiseScheduleVP: + def __init__( + self, + schedule='discrete', + betas=None, + alphas_cumprod=None, + continuous_beta_0=0.1, + continuous_beta_1=20., + dtype=torch.float32, + ): + """Create a wrapper class for the forward SDE (VP type). + + *** + Update: We support discrete-time diffusion models by implementing a picewise linear interpolation for log_alpha_t. + We recommend to use schedule='discrete' for the discrete-time diffusion models, especially for high-resolution images. + *** + + The forward SDE ensures that the condition distribution q_{t|0}(x_t | x_0) = N ( alpha_t * x_0, sigma_t^2 * I ). + We further define lambda_t = log(alpha_t) - log(sigma_t), which is the half-logSNR (described in the DPM-Solver paper). + Therefore, we implement the functions for computing alpha_t, sigma_t and lambda_t. For t in [0, T], we have: + + log_alpha_t = self.marginal_log_mean_coeff(t) + sigma_t = self.marginal_std(t) + lambda_t = self.marginal_lambda(t) + + Moreover, as lambda(t) is an invertible function, we also support its inverse function: + + t = self.inverse_lambda(lambda_t) + + =============================================================== + + We support both discrete-time DPMs (trained on n = 0, 1, ..., N-1) and continuous-time DPMs (trained on t in [t_0, T]). + + 1. For discrete-time DPMs: + + For discrete-time DPMs trained on n = 0, 1, ..., N-1, we convert the discrete steps to continuous time steps by: + t_i = (i + 1) / N + e.g. for N = 1000, we have t_0 = 1e-3 and T = t_{N-1} = 1. + We solve the corresponding diffusion ODE from time T = 1 to time t_0 = 1e-3. + + Args: + betas: A `torch.Tensor`. The beta array for the discrete-time DPM. (See the original DDPM paper for details) + alphas_cumprod: A `torch.Tensor`. The cumprod alphas for the discrete-time DPM. (See the original DDPM paper for details) + + Note that we always have alphas_cumprod = cumprod(1 - betas). Therefore, we only need to set one of `betas` and `alphas_cumprod`. + + **Important**: Please pay special attention for the args for `alphas_cumprod`: + The `alphas_cumprod` is the \hat{alpha_n} arrays in the notations of DDPM. Specifically, DDPMs assume that + q_{t_n | 0}(x_{t_n} | x_0) = N ( \sqrt{\hat{alpha_n}} * x_0, (1 - \hat{alpha_n}) * I ). + Therefore, the notation \hat{alpha_n} is different from the notation alpha_t in DPM-Solver. In fact, we have + alpha_{t_n} = \sqrt{\hat{alpha_n}}, + and + log(alpha_{t_n}) = 0.5 * log(\hat{alpha_n}). + + + 2. For continuous-time DPMs: + + We support the linear VPSDE for the continuous time setting. The hyperparameters for the noise + schedule are the default settings in Yang Song's ScoreSDE: + + Args: + beta_min: A `float` number. The smallest beta for the linear schedule. + beta_max: A `float` number. The largest beta for the linear schedule. + T: A `float` number. The ending time of the forward process. + + =============================================================== + + Args: + schedule: A `str`. The noise schedule of the forward SDE. 'discrete' for discrete-time DPMs, + 'linear' for continuous-time DPMs. + Returns: + A wrapper object of the forward SDE (VP type). + + =============================================================== + + Example: + + # For discrete-time DPMs, given betas (the beta array for n = 0, 1, ..., N - 1): + >>> ns = NoiseScheduleVP('discrete', betas=betas) + + # For discrete-time DPMs, given alphas_cumprod (the \hat{alpha_n} array for n = 0, 1, ..., N - 1): + >>> ns = NoiseScheduleVP('discrete', alphas_cumprod=alphas_cumprod) + + # For continuous-time DPMs (VPSDE), linear schedule: + >>> ns = NoiseScheduleVP('linear', continuous_beta_0=0.1, continuous_beta_1=20.) + + """ + + if schedule not in ['discrete', 'linear']: + raise ValueError("Unsupported noise schedule {}. The schedule needs to be 'discrete' or 'linear'".format(schedule)) + + self.schedule = schedule + if schedule == 'discrete': + if betas is not None: + log_alphas = 0.5 * torch.log(1 - betas).cumsum(dim=0) + else: + assert alphas_cumprod is not None + log_alphas = 0.5 * torch.log(alphas_cumprod) + self.T = 1. + self.log_alpha_array = self.numerical_clip_alpha(log_alphas).reshape((1, -1,)).to(dtype=dtype) + self.total_N = self.log_alpha_array.shape[1] + self.t_array = torch.linspace(0., 1., self.total_N + 1)[1:].reshape((1, -1)).to(dtype=dtype) + else: + self.T = 1. + self.total_N = 1000 + self.beta_0 = continuous_beta_0 + self.beta_1 = continuous_beta_1 + + def numerical_clip_alpha(self, log_alphas, clipped_lambda=-5.1): + """ + For some beta schedules such as cosine schedule, the log-SNR has numerical isssues. + We clip the log-SNR near t=T within -5.1 to ensure the stability. + Such a trick is very useful for diffusion models with the cosine schedule, such as i-DDPM, guided-diffusion and GLIDE. + """ + log_sigmas = 0.5 * torch.log(1. - torch.exp(2. * log_alphas)) + lambs = log_alphas - log_sigmas + idx = torch.searchsorted(torch.flip(lambs, [0]), clipped_lambda) + if idx > 0: + log_alphas = log_alphas[:-idx] + return log_alphas + + def marginal_log_mean_coeff(self, t): + """ + Compute log(alpha_t) of a given continuous-time label t in [0, T]. + """ + if self.schedule == 'discrete': + return interpolate_fn(t.reshape((-1, 1)), self.t_array.to(t.device), self.log_alpha_array.to(t.device)).reshape((-1)) + elif self.schedule == 'linear': + return -0.25 * t ** 2 * (self.beta_1 - self.beta_0) - 0.5 * t * self.beta_0 + + def marginal_alpha(self, t): + """ + Compute alpha_t of a given continuous-time label t in [0, T]. + """ + return torch.exp(self.marginal_log_mean_coeff(t)) + + def marginal_std(self, t): + """ + Compute sigma_t of a given continuous-time label t in [0, T]. + """ + return torch.sqrt(1. - torch.exp(2. * self.marginal_log_mean_coeff(t))) + + def marginal_lambda(self, t): + """ + Compute lambda_t = log(alpha_t) - log(sigma_t) of a given continuous-time label t in [0, T]. + """ + log_mean_coeff = self.marginal_log_mean_coeff(t) + log_std = 0.5 * torch.log(1. - torch.exp(2. * log_mean_coeff)) + return log_mean_coeff - log_std + + def inverse_lambda(self, lamb): + """ + Compute the continuous-time label t in [0, T] of a given half-logSNR lambda_t. + """ + if self.schedule == 'linear': + tmp = 2. * (self.beta_1 - self.beta_0) * torch.logaddexp(-2. * lamb, torch.zeros((1,)).to(lamb)) + Delta = self.beta_0**2 + tmp + return tmp / (torch.sqrt(Delta) + self.beta_0) / (self.beta_1 - self.beta_0) + elif self.schedule == 'discrete': + log_alpha = -0.5 * torch.logaddexp(torch.zeros((1,)).to(lamb.device), -2. * lamb) + t = interpolate_fn(log_alpha.reshape((-1, 1)), torch.flip(self.log_alpha_array.to(lamb.device), [1]), torch.flip(self.t_array.to(lamb.device), [1])) + return t.reshape((-1,)) + + +def model_wrapper( + model, + noise_schedule, + model_type="noise", + model_kwargs={}, + guidance_type="uncond", + condition=None, + unconditional_condition=None, + guidance_scale=1., + classifier_fn=None, + classifier_kwargs={}, +): + """Create a wrapper function for the noise prediction model. + + DPM-Solver needs to solve the continuous-time diffusion ODEs. For DPMs trained on discrete-time labels, we need to + firstly wrap the model function to a noise prediction model that accepts the continuous time as the input. + + We support four types of the diffusion model by setting `model_type`: + + 1. "noise": noise prediction model. (Trained by predicting noise). + + 2. "x_start": data prediction model. (Trained by predicting the data x_0 at time 0). + + 3. "v": velocity prediction model. (Trained by predicting the velocity). + The "v" prediction is derivation detailed in Appendix D of [1], and is used in Imagen-Video [2]. + + [1] Salimans, Tim, and Jonathan Ho. "Progressive distillation for fast sampling of diffusion models." + arXiv preprint arXiv:2202.00512 (2022). + [2] Ho, Jonathan, et al. "Imagen Video: High Definition Video Generation with Diffusion Models." + arXiv preprint arXiv:2210.02303 (2022). + + 4. "score": marginal score function. (Trained by denoising score matching). + Note that the score function and the noise prediction model follows a simple relationship: + ``` + noise(x_t, t) = -sigma_t * score(x_t, t) + ``` + + We support three types of guided sampling by DPMs by setting `guidance_type`: + 1. "uncond": unconditional sampling by DPMs. + The input `model` has the following format: + `` + model(x, t_input, **model_kwargs) -> noise | x_start | v | score + `` + + 2. "classifier": classifier guidance sampling [3] by DPMs and another classifier. + The input `model` has the following format: + `` + model(x, t_input, **model_kwargs) -> noise | x_start | v | score + `` + + The input `classifier_fn` has the following format: + `` + classifier_fn(x, t_input, cond, **classifier_kwargs) -> logits(x, t_input, cond) + `` + + [3] P. Dhariwal and A. Q. Nichol, "Diffusion models beat GANs on image synthesis," + in Advances in Neural Information Processing Systems, vol. 34, 2021, pp. 8780-8794. + + 3. "classifier-free": classifier-free guidance sampling by conditional DPMs. + The input `model` has the following format: + `` + model(x, t_input, cond, **model_kwargs) -> noise | x_start | v | score + `` + And if cond == `unconditional_condition`, the model output is the unconditional DPM output. + + [4] Ho, Jonathan, and Tim Salimans. "Classifier-free diffusion guidance." + arXiv preprint arXiv:2207.12598 (2022). + + + The `t_input` is the time label of the model, which may be discrete-time labels (i.e. 0 to 999) + or continuous-time labels (i.e. epsilon to T). + + We wrap the model function to accept only `x` and `t_continuous` as inputs, and outputs the predicted noise: + `` + def model_fn(x, t_continuous) -> noise: + t_input = get_model_input_time(t_continuous) + return noise_pred(model, x, t_input, **model_kwargs) + `` + where `t_continuous` is the continuous time labels (i.e. epsilon to T). And we use `model_fn` for DPM-Solver. + + =============================================================== + + Args: + model: A diffusion model with the corresponding format described above. + noise_schedule: A noise schedule object, such as NoiseScheduleVP. + model_type: A `str`. The parameterization type of the diffusion model. + "noise" or "x_start" or "v" or "score". + model_kwargs: A `dict`. A dict for the other inputs of the model function. + guidance_type: A `str`. The type of the guidance for sampling. + "uncond" or "classifier" or "classifier-free". + condition: A pytorch tensor. The condition for the guided sampling. + Only used for "classifier" or "classifier-free" guidance type. + unconditional_condition: A pytorch tensor. The condition for the unconditional sampling. + Only used for "classifier-free" guidance type. + guidance_scale: A `float`. The scale for the guided sampling. + classifier_fn: A classifier function. Only used for the classifier guidance. + classifier_kwargs: A `dict`. A dict for the other inputs of the classifier function. + Returns: + A noise prediction model that accepts the noised data and the continuous time as the inputs. + """ + + def get_model_input_time(t_continuous): + """ + Convert the continuous-time `t_continuous` (in [epsilon, T]) to the model input time. + For discrete-time DPMs, we convert `t_continuous` in [1 / N, 1] to `t_input` in [0, 1000 * (N - 1) / N]. + For continuous-time DPMs, we just use `t_continuous`. + """ + if noise_schedule.schedule == 'discrete': + return (t_continuous - 1. / noise_schedule.total_N) * 1000. + else: + return t_continuous + + def noise_pred_fn(x, t_continuous, cond=None): + t_input = get_model_input_time(t_continuous) + if cond is None: + output = model(x, t_input, **model_kwargs) + else: + # output = model(x, t_input, cond, **model_kwargs) zxc + output = model(cond, t_input, **model_kwargs) + if model_type == "noise": + return output + elif model_type == "x_start": + alpha_t, sigma_t = noise_schedule.marginal_alpha(t_continuous), noise_schedule.marginal_std(t_continuous) + return (x - alpha_t * output) / sigma_t + elif model_type == "v": + alpha_t, sigma_t = noise_schedule.marginal_alpha(t_continuous), noise_schedule.marginal_std(t_continuous) + return alpha_t * output + sigma_t * x + elif model_type == "score": + sigma_t = noise_schedule.marginal_std(t_continuous) + return -sigma_t * output + + def cond_grad_fn(x, t_input): + """ + Compute the gradient of the classifier, i.e. nabla_{x} log p_t(cond | x_t). + """ + with torch.enable_grad(): + x_in = x.detach().requires_grad_(True) + log_prob = classifier_fn(x_in, t_input, condition, **classifier_kwargs) + return torch.autograd.grad(log_prob.sum(), x_in)[0] + + def model_fn(x, t_continuous): + """ + The noise predicition model function that is used for DPM-Solver. + """ + if guidance_type == "uncond": + return noise_pred_fn(x, t_continuous) + elif guidance_type == "classifier": + assert classifier_fn is not None + t_input = get_model_input_time(t_continuous) + cond_grad = cond_grad_fn(x, t_input) + sigma_t = noise_schedule.marginal_std(t_continuous) + noise = noise_pred_fn(x, t_continuous) + return noise - guidance_scale * expand_dims(sigma_t, x.dim()) * cond_grad + elif guidance_type == "classifier-free": + if guidance_scale == 1. or unconditional_condition is None: + return noise_pred_fn(x, t_continuous, cond=condition) + else: + x_in = torch.cat([x] * 2) + t_in = torch.cat([t_continuous] * 2) + c_in = torch.cat([unconditional_condition, condition]) + noise_uncond, noise = noise_pred_fn(x_in, t_in, cond=c_in).chunk(2) + return noise_uncond + guidance_scale * (noise - noise_uncond) + + assert model_type in ["noise", "x_start", "v", "score"] + assert guidance_type in ["uncond", "classifier", "classifier-free"] + return model_fn + + +class DPM_Solver: + def __init__( + self, + model_fn, + noise_schedule, + algorithm_type="dpmsolver++", + correcting_x0_fn=None, + correcting_xt_fn=None, + thresholding_max_val=1., + dynamic_thresholding_ratio=0.995, + ): + """Construct a DPM-Solver. + + We support both DPM-Solver (`algorithm_type="dpmsolver"`) and DPM-Solver++ (`algorithm_type="dpmsolver++"`). + + We also support the "dynamic thresholding" method in Imagen[1]. For pixel-space diffusion models, you + can set both `algorithm_type="dpmsolver++"` and `correcting_x0_fn="dynamic_thresholding"` to use the + dynamic thresholding. The "dynamic thresholding" can greatly improve the sample quality for pixel-space + DPMs with large guidance scales. Note that the thresholding method is **unsuitable** for latent-space + DPMs (such as stable-diffusion). + + To support advanced algorithms in image-to-image applications, we also support corrector functions for + both x0 and xt. + + Args: + model_fn: A noise prediction model function which accepts the continuous-time input (t in [epsilon, T]): + `` + def model_fn(x, t_continuous): + return noise + `` + The shape of `x` is `(batch_size, **shape)`, and the shape of `t_continuous` is `(batch_size,)`. + noise_schedule: A noise schedule object, such as NoiseScheduleVP. + algorithm_type: A `str`. Either "dpmsolver" or "dpmsolver++". + correcting_x0_fn: A `str` or a function with the following format: + ``` + def correcting_x0_fn(x0, t): + x0_new = ... + return x0_new + ``` + This function is to correct the outputs of the data prediction model at each sampling step. e.g., + ``` + x0_pred = data_pred_model(xt, t) + if correcting_x0_fn is not None: + x0_pred = correcting_x0_fn(x0_pred, t) + xt_1 = update(x0_pred, xt, t) + ``` + If `correcting_x0_fn="dynamic_thresholding"`, we use the dynamic thresholding proposed in Imagen[1]. + correcting_xt_fn: A function with the following format: + ``` + def correcting_xt_fn(xt, t, step): + x_new = ... + return x_new + ``` + This function is to correct the intermediate samples xt at each sampling step. e.g., + ``` + xt = ... + xt = correcting_xt_fn(xt, t, step) + ``` + thresholding_max_val: A `float`. The max value for thresholding. + Valid only when use `dpmsolver++` and `correcting_x0_fn="dynamic_thresholding"`. + dynamic_thresholding_ratio: A `float`. The ratio for dynamic thresholding (see Imagen[1] for details). + Valid only when use `dpmsolver++` and `correcting_x0_fn="dynamic_thresholding"`. + + [1] Chitwan Saharia, William Chan, Saurabh Saxena, Lala Li, Jay Whang, Emily Denton, Seyed Kamyar Seyed Ghasemipour, + Burcu Karagol Ayan, S Sara Mahdavi, Rapha Gontijo Lopes, et al. Photorealistic text-to-image diffusion models + with deep language understanding. arXiv preprint arXiv:2205.11487, 2022b. + """ + self.model = lambda x, t: model_fn(x, t.expand((x.shape[0]))) + self.noise_schedule = noise_schedule + assert algorithm_type in ["dpmsolver", "dpmsolver++"] + self.algorithm_type = algorithm_type + if correcting_x0_fn == "dynamic_thresholding": + self.correcting_x0_fn = self.dynamic_thresholding_fn + else: + self.correcting_x0_fn = correcting_x0_fn + self.correcting_xt_fn = correcting_xt_fn + self.dynamic_thresholding_ratio = dynamic_thresholding_ratio + self.thresholding_max_val = thresholding_max_val + + def dynamic_thresholding_fn(self, x0, t): + """ + The dynamic thresholding method. + """ + dims = x0.dim() + p = self.dynamic_thresholding_ratio + s = torch.quantile(torch.abs(x0).reshape((x0.shape[0], -1)), p, dim=1) + s = expand_dims(torch.maximum(s, self.thresholding_max_val * torch.ones_like(s).to(s.device)), dims) + x0 = torch.clamp(x0, -s, s) / s + return x0 + + def noise_prediction_fn(self, x, t): + """ + Return the noise prediction model. + """ + return self.model(x, t) + + def data_prediction_fn(self, x, t): + """ + Return the data prediction model (with corrector). + """ + noise = self.noise_prediction_fn(x, t) + alpha_t, sigma_t = self.noise_schedule.marginal_alpha(t), self.noise_schedule.marginal_std(t) + x0 = (x - sigma_t * noise) / alpha_t + if self.correcting_x0_fn is not None: + x0 = self.correcting_x0_fn(x0, t) + return x0 + + def model_fn(self, x, t): + """ + Convert the model to the noise prediction model or the data prediction model. + """ + if self.algorithm_type == "dpmsolver++": + return self.data_prediction_fn(x, t) + else: + return self.noise_prediction_fn(x, t) + + def get_time_steps(self, skip_type, t_T, t_0, N, device): + """Compute the intermediate time steps for sampling. + + Args: + skip_type: A `str`. The type for the spacing of the time steps. We support three types: + - 'logSNR': uniform logSNR for the time steps. + - 'time_uniform': uniform time for the time steps. (**Recommended for high-resolutional data**.) + - 'time_quadratic': quadratic time for the time steps. (Used in DDIM for low-resolutional data.) + t_T: A `float`. The starting time of the sampling (default is T). + t_0: A `float`. The ending time of the sampling (default is epsilon). + N: A `int`. The total number of the spacing of the time steps. + device: A torch device. + Returns: + A pytorch tensor of the time steps, with the shape (N + 1,). + """ + if skip_type == 'logSNR': + lambda_T = self.noise_schedule.marginal_lambda(torch.tensor(t_T).to(device)) + lambda_0 = self.noise_schedule.marginal_lambda(torch.tensor(t_0).to(device)) + logSNR_steps = torch.linspace(lambda_T.cpu().item(), lambda_0.cpu().item(), N + 1).to(device) + return self.noise_schedule.inverse_lambda(logSNR_steps) + elif skip_type == 'time_uniform': + return torch.linspace(t_T, t_0, N + 1).to(device) + elif skip_type == 'time_quadratic': + t_order = 2 + t = torch.linspace(t_T**(1. / t_order), t_0**(1. / t_order), N + 1).pow(t_order).to(device) + return t + else: + raise ValueError("Unsupported skip_type {}, need to be 'logSNR' or 'time_uniform' or 'time_quadratic'".format(skip_type)) + + def get_orders_and_timesteps_for_singlestep_solver(self, steps, order, skip_type, t_T, t_0, device): + """ + Get the order of each step for sampling by the singlestep DPM-Solver. + + We combine both DPM-Solver-1,2,3 to use all the function evaluations, which is named as "DPM-Solver-fast". + Given a fixed number of function evaluations by `steps`, the sampling procedure by DPM-Solver-fast is: + - If order == 1: + We take `steps` of DPM-Solver-1 (i.e. DDIM). + - If order == 2: + - Denote K = (steps // 2). We take K or (K + 1) intermediate time steps for sampling. + - If steps % 2 == 0, we use K steps of DPM-Solver-2. + - If steps % 2 == 1, we use K steps of DPM-Solver-2 and 1 step of DPM-Solver-1. + - If order == 3: + - Denote K = (steps // 3 + 1). We take K intermediate time steps for sampling. + - If steps % 3 == 0, we use (K - 2) steps of DPM-Solver-3, and 1 step of DPM-Solver-2 and 1 step of DPM-Solver-1. + - If steps % 3 == 1, we use (K - 1) steps of DPM-Solver-3 and 1 step of DPM-Solver-1. + - If steps % 3 == 2, we use (K - 1) steps of DPM-Solver-3 and 1 step of DPM-Solver-2. + + ============================================ + Args: + order: A `int`. The max order for the solver (2 or 3). + steps: A `int`. The total number of function evaluations (NFE). + skip_type: A `str`. The type for the spacing of the time steps. We support three types: + - 'logSNR': uniform logSNR for the time steps. + - 'time_uniform': uniform time for the time steps. (**Recommended for high-resolutional data**.) + - 'time_quadratic': quadratic time for the time steps. (Used in DDIM for low-resolutional data.) + t_T: A `float`. The starting time of the sampling (default is T). + t_0: A `float`. The ending time of the sampling (default is epsilon). + device: A torch device. + Returns: + orders: A list of the solver order of each step. + """ + if order == 3: + K = steps // 3 + 1 + if steps % 3 == 0: + orders = [3,] * (K - 2) + [2, 1] + elif steps % 3 == 1: + orders = [3,] * (K - 1) + [1] + else: + orders = [3,] * (K - 1) + [2] + elif order == 2: + if steps % 2 == 0: + K = steps // 2 + orders = [2,] * K + else: + K = steps // 2 + 1 + orders = [2,] * (K - 1) + [1] + elif order == 1: + K = 1 + orders = [1,] * steps + else: + raise ValueError("'order' must be '1' or '2' or '3'.") + if skip_type == 'logSNR': + # To reproduce the results in DPM-Solver paper + timesteps_outer = self.get_time_steps(skip_type, t_T, t_0, K, device) + else: + timesteps_outer = self.get_time_steps(skip_type, t_T, t_0, steps, device)[torch.cumsum(torch.tensor([0,] + orders), 0).to(device)] + return timesteps_outer, orders + + def denoise_to_zero_fn(self, x, s): + """ + Denoise at the final step, which is equivalent to solve the ODE from lambda_s to infty by first-order discretization. + """ + return self.data_prediction_fn(x, s) + + def dpm_solver_first_update(self, x, s, t, model_s=None, return_intermediate=False): + """ + DPM-Solver-1 (equivalent to DDIM) from time `s` to time `t`. + + Args: + x: A pytorch tensor. The initial value at time `s`. + s: A pytorch tensor. The starting time, with the shape (1,). + t: A pytorch tensor. The ending time, with the shape (1,). + model_s: A pytorch tensor. The model function evaluated at time `s`. + If `model_s` is None, we evaluate the model by `x` and `s`; otherwise we directly use it. + return_intermediate: A `bool`. If true, also return the model value at time `s`. + Returns: + x_t: A pytorch tensor. The approximated solution at time `t`. + """ + ns = self.noise_schedule + dims = x.dim() + lambda_s, lambda_t = ns.marginal_lambda(s), ns.marginal_lambda(t) + h = lambda_t - lambda_s + log_alpha_s, log_alpha_t = ns.marginal_log_mean_coeff(s), ns.marginal_log_mean_coeff(t) + sigma_s, sigma_t = ns.marginal_std(s), ns.marginal_std(t) + alpha_t = torch.exp(log_alpha_t) + + if self.algorithm_type == "dpmsolver++": + phi_1 = torch.expm1(-h) + if model_s is None: + model_s = self.model_fn(x, s) + x_t = ( + sigma_t / sigma_s * x + - alpha_t * phi_1 * model_s + ) + if return_intermediate: + return x_t, {'model_s': model_s} + else: + return x_t + else: + phi_1 = torch.expm1(h) + if model_s is None: + model_s = self.model_fn(x, s) + x_t = ( + torch.exp(log_alpha_t - log_alpha_s) * x + - (sigma_t * phi_1) * model_s + ) + if return_intermediate: + return x_t, {'model_s': model_s} + else: + return x_t + + def singlestep_dpm_solver_second_update(self, x, s, t, r1=0.5, model_s=None, return_intermediate=False, solver_type='dpmsolver'): + """ + Singlestep solver DPM-Solver-2 from time `s` to time `t`. + + Args: + x: A pytorch tensor. The initial value at time `s`. + s: A pytorch tensor. The starting time, with the shape (1,). + t: A pytorch tensor. The ending time, with the shape (1,). + r1: A `float`. The hyperparameter of the second-order solver. + model_s: A pytorch tensor. The model function evaluated at time `s`. + If `model_s` is None, we evaluate the model by `x` and `s`; otherwise we directly use it. + return_intermediate: A `bool`. If true, also return the model value at time `s` and `s1` (the intermediate time). + solver_type: either 'dpmsolver' or 'taylor'. The type for the high-order solvers. + The type slightly impacts the performance. We recommend to use 'dpmsolver' type. + Returns: + x_t: A pytorch tensor. The approximated solution at time `t`. + """ + if solver_type not in ['dpmsolver', 'taylor']: + raise ValueError("'solver_type' must be either 'dpmsolver' or 'taylor', got {}".format(solver_type)) + if r1 is None: + r1 = 0.5 + ns = self.noise_schedule + lambda_s, lambda_t = ns.marginal_lambda(s), ns.marginal_lambda(t) + h = lambda_t - lambda_s + lambda_s1 = lambda_s + r1 * h + s1 = ns.inverse_lambda(lambda_s1) + log_alpha_s, log_alpha_s1, log_alpha_t = ns.marginal_log_mean_coeff(s), ns.marginal_log_mean_coeff(s1), ns.marginal_log_mean_coeff(t) + sigma_s, sigma_s1, sigma_t = ns.marginal_std(s), ns.marginal_std(s1), ns.marginal_std(t) + alpha_s1, alpha_t = torch.exp(log_alpha_s1), torch.exp(log_alpha_t) + + if self.algorithm_type == "dpmsolver++": + phi_11 = torch.expm1(-r1 * h) + phi_1 = torch.expm1(-h) + + if model_s is None: + model_s = self.model_fn(x, s) + x_s1 = ( + (sigma_s1 / sigma_s) * x + - (alpha_s1 * phi_11) * model_s + ) + model_s1 = self.model_fn(x_s1, s1) + if solver_type == 'dpmsolver': + x_t = ( + (sigma_t / sigma_s) * x + - (alpha_t * phi_1) * model_s + - (0.5 / r1) * (alpha_t * phi_1) * (model_s1 - model_s) + ) + elif solver_type == 'taylor': + x_t = ( + (sigma_t / sigma_s) * x + - (alpha_t * phi_1) * model_s + + (1. / r1) * (alpha_t * (phi_1 / h + 1.)) * (model_s1 - model_s) + ) + else: + phi_11 = torch.expm1(r1 * h) + phi_1 = torch.expm1(h) + + if model_s is None: + model_s = self.model_fn(x, s) + x_s1 = ( + torch.exp(log_alpha_s1 - log_alpha_s) * x + - (sigma_s1 * phi_11) * model_s + ) + model_s1 = self.model_fn(x_s1, s1) + if solver_type == 'dpmsolver': + x_t = ( + torch.exp(log_alpha_t - log_alpha_s) * x + - (sigma_t * phi_1) * model_s + - (0.5 / r1) * (sigma_t * phi_1) * (model_s1 - model_s) + ) + elif solver_type == 'taylor': + x_t = ( + torch.exp(log_alpha_t - log_alpha_s) * x + - (sigma_t * phi_1) * model_s + - (1. / r1) * (sigma_t * (phi_1 / h - 1.)) * (model_s1 - model_s) + ) + if return_intermediate: + return x_t, {'model_s': model_s, 'model_s1': model_s1} + else: + return x_t + + def singlestep_dpm_solver_third_update(self, x, s, t, r1=1./3., r2=2./3., model_s=None, model_s1=None, return_intermediate=False, solver_type='dpmsolver'): + """ + Singlestep solver DPM-Solver-3 from time `s` to time `t`. + + Args: + x: A pytorch tensor. The initial value at time `s`. + s: A pytorch tensor. The starting time, with the shape (1,). + t: A pytorch tensor. The ending time, with the shape (1,). + r1: A `float`. The hyperparameter of the third-order solver. + r2: A `float`. The hyperparameter of the third-order solver. + model_s: A pytorch tensor. The model function evaluated at time `s`. + If `model_s` is None, we evaluate the model by `x` and `s`; otherwise we directly use it. + model_s1: A pytorch tensor. The model function evaluated at time `s1` (the intermediate time given by `r1`). + If `model_s1` is None, we evaluate the model at `s1`; otherwise we directly use it. + return_intermediate: A `bool`. If true, also return the model value at time `s`, `s1` and `s2` (the intermediate times). + solver_type: either 'dpmsolver' or 'taylor'. The type for the high-order solvers. + The type slightly impacts the performance. We recommend to use 'dpmsolver' type. + Returns: + x_t: A pytorch tensor. The approximated solution at time `t`. + """ + if solver_type not in ['dpmsolver', 'taylor']: + raise ValueError("'solver_type' must be either 'dpmsolver' or 'taylor', got {}".format(solver_type)) + if r1 is None: + r1 = 1. / 3. + if r2 is None: + r2 = 2. / 3. + ns = self.noise_schedule + lambda_s, lambda_t = ns.marginal_lambda(s), ns.marginal_lambda(t) + h = lambda_t - lambda_s + lambda_s1 = lambda_s + r1 * h + lambda_s2 = lambda_s + r2 * h + s1 = ns.inverse_lambda(lambda_s1) + s2 = ns.inverse_lambda(lambda_s2) + log_alpha_s, log_alpha_s1, log_alpha_s2, log_alpha_t = ns.marginal_log_mean_coeff(s), ns.marginal_log_mean_coeff(s1), ns.marginal_log_mean_coeff(s2), ns.marginal_log_mean_coeff(t) + sigma_s, sigma_s1, sigma_s2, sigma_t = ns.marginal_std(s), ns.marginal_std(s1), ns.marginal_std(s2), ns.marginal_std(t) + alpha_s1, alpha_s2, alpha_t = torch.exp(log_alpha_s1), torch.exp(log_alpha_s2), torch.exp(log_alpha_t) + + if self.algorithm_type == "dpmsolver++": + phi_11 = torch.expm1(-r1 * h) + phi_12 = torch.expm1(-r2 * h) + phi_1 = torch.expm1(-h) + phi_22 = torch.expm1(-r2 * h) / (r2 * h) + 1. + phi_2 = phi_1 / h + 1. + phi_3 = phi_2 / h - 0.5 + + if model_s is None: + model_s = self.model_fn(x, s) + if model_s1 is None: + x_s1 = ( + (sigma_s1 / sigma_s) * x + - (alpha_s1 * phi_11) * model_s + ) + model_s1 = self.model_fn(x_s1, s1) + x_s2 = ( + (sigma_s2 / sigma_s) * x + - (alpha_s2 * phi_12) * model_s + + r2 / r1 * (alpha_s2 * phi_22) * (model_s1 - model_s) + ) + model_s2 = self.model_fn(x_s2, s2) + if solver_type == 'dpmsolver': + x_t = ( + (sigma_t / sigma_s) * x + - (alpha_t * phi_1) * model_s + + (1. / r2) * (alpha_t * phi_2) * (model_s2 - model_s) + ) + elif solver_type == 'taylor': + D1_0 = (1. / r1) * (model_s1 - model_s) + D1_1 = (1. / r2) * (model_s2 - model_s) + D1 = (r2 * D1_0 - r1 * D1_1) / (r2 - r1) + D2 = 2. * (D1_1 - D1_0) / (r2 - r1) + x_t = ( + (sigma_t / sigma_s) * x + - (alpha_t * phi_1) * model_s + + (alpha_t * phi_2) * D1 + - (alpha_t * phi_3) * D2 + ) + else: + phi_11 = torch.expm1(r1 * h) + phi_12 = torch.expm1(r2 * h) + phi_1 = torch.expm1(h) + phi_22 = torch.expm1(r2 * h) / (r2 * h) - 1. + phi_2 = phi_1 / h - 1. + phi_3 = phi_2 / h - 0.5 + + if model_s is None: + model_s = self.model_fn(x, s) + if model_s1 is None: + x_s1 = ( + (torch.exp(log_alpha_s1 - log_alpha_s)) * x + - (sigma_s1 * phi_11) * model_s + ) + model_s1 = self.model_fn(x_s1, s1) + x_s2 = ( + (torch.exp(log_alpha_s2 - log_alpha_s)) * x + - (sigma_s2 * phi_12) * model_s + - r2 / r1 * (sigma_s2 * phi_22) * (model_s1 - model_s) + ) + model_s2 = self.model_fn(x_s2, s2) + if solver_type == 'dpmsolver': + x_t = ( + (torch.exp(log_alpha_t - log_alpha_s)) * x + - (sigma_t * phi_1) * model_s + - (1. / r2) * (sigma_t * phi_2) * (model_s2 - model_s) + ) + elif solver_type == 'taylor': + D1_0 = (1. / r1) * (model_s1 - model_s) + D1_1 = (1. / r2) * (model_s2 - model_s) + D1 = (r2 * D1_0 - r1 * D1_1) / (r2 - r1) + D2 = 2. * (D1_1 - D1_0) / (r2 - r1) + x_t = ( + (torch.exp(log_alpha_t - log_alpha_s)) * x + - (sigma_t * phi_1) * model_s + - (sigma_t * phi_2) * D1 + - (sigma_t * phi_3) * D2 + ) + + if return_intermediate: + return x_t, {'model_s': model_s, 'model_s1': model_s1, 'model_s2': model_s2} + else: + return x_t + + def multistep_dpm_solver_second_update(self, x, model_prev_list, t_prev_list, t, solver_type="dpmsolver"): + """ + Multistep solver DPM-Solver-2 from time `t_prev_list[-1]` to time `t`. + + Args: + x: A pytorch tensor. The initial value at time `s`. + model_prev_list: A list of pytorch tensor. The previous computed model values. + t_prev_list: A list of pytorch tensor. The previous times, each time has the shape (1,) + t: A pytorch tensor. The ending time, with the shape (1,). + solver_type: either 'dpmsolver' or 'taylor'. The type for the high-order solvers. + The type slightly impacts the performance. We recommend to use 'dpmsolver' type. + Returns: + x_t: A pytorch tensor. The approximated solution at time `t`. + """ + if solver_type not in ['dpmsolver', 'taylor']: + raise ValueError("'solver_type' must be either 'dpmsolver' or 'taylor', got {}".format(solver_type)) + ns = self.noise_schedule + model_prev_1, model_prev_0 = model_prev_list[-2], model_prev_list[-1] + t_prev_1, t_prev_0 = t_prev_list[-2], t_prev_list[-1] + lambda_prev_1, lambda_prev_0, lambda_t = ns.marginal_lambda(t_prev_1), ns.marginal_lambda(t_prev_0), ns.marginal_lambda(t) + log_alpha_prev_0, log_alpha_t = ns.marginal_log_mean_coeff(t_prev_0), ns.marginal_log_mean_coeff(t) + sigma_prev_0, sigma_t = ns.marginal_std(t_prev_0), ns.marginal_std(t) + alpha_t = torch.exp(log_alpha_t) + + h_0 = lambda_prev_0 - lambda_prev_1 + h = lambda_t - lambda_prev_0 + r0 = h_0 / h + D1_0 = (1. / r0) * (model_prev_0 - model_prev_1) + if self.algorithm_type == "dpmsolver++": + phi_1 = torch.expm1(-h) + if solver_type == 'dpmsolver': + x_t = ( + (sigma_t / sigma_prev_0) * x + - (alpha_t * phi_1) * model_prev_0 + - 0.5 * (alpha_t * phi_1) * D1_0 + ) + elif solver_type == 'taylor': + x_t = ( + (sigma_t / sigma_prev_0) * x + - (alpha_t * phi_1) * model_prev_0 + + (alpha_t * (phi_1 / h + 1.)) * D1_0 + ) + else: + phi_1 = torch.expm1(h) + if solver_type == 'dpmsolver': + x_t = ( + (torch.exp(log_alpha_t - log_alpha_prev_0)) * x + - (sigma_t * phi_1) * model_prev_0 + - 0.5 * (sigma_t * phi_1) * D1_0 + ) + elif solver_type == 'taylor': + x_t = ( + (torch.exp(log_alpha_t - log_alpha_prev_0)) * x + - (sigma_t * phi_1) * model_prev_0 + - (sigma_t * (phi_1 / h - 1.)) * D1_0 + ) + return x_t + + def multistep_dpm_solver_third_update(self, x, model_prev_list, t_prev_list, t, solver_type='dpmsolver'): + """ + Multistep solver DPM-Solver-3 from time `t_prev_list[-1]` to time `t`. + + Args: + x: A pytorch tensor. The initial value at time `s`. + model_prev_list: A list of pytorch tensor. The previous computed model values. + t_prev_list: A list of pytorch tensor. The previous times, each time has the shape (1,) + t: A pytorch tensor. The ending time, with the shape (1,). + solver_type: either 'dpmsolver' or 'taylor'. The type for the high-order solvers. + The type slightly impacts the performance. We recommend to use 'dpmsolver' type. + Returns: + x_t: A pytorch tensor. The approximated solution at time `t`. + """ + ns = self.noise_schedule + model_prev_2, model_prev_1, model_prev_0 = model_prev_list + t_prev_2, t_prev_1, t_prev_0 = t_prev_list + lambda_prev_2, lambda_prev_1, lambda_prev_0, lambda_t = ns.marginal_lambda(t_prev_2), ns.marginal_lambda(t_prev_1), ns.marginal_lambda(t_prev_0), ns.marginal_lambda(t) + log_alpha_prev_0, log_alpha_t = ns.marginal_log_mean_coeff(t_prev_0), ns.marginal_log_mean_coeff(t) + sigma_prev_0, sigma_t = ns.marginal_std(t_prev_0), ns.marginal_std(t) + alpha_t = torch.exp(log_alpha_t) + + h_1 = lambda_prev_1 - lambda_prev_2 + h_0 = lambda_prev_0 - lambda_prev_1 + h = lambda_t - lambda_prev_0 + r0, r1 = h_0 / h, h_1 / h + D1_0 = (1. / r0) * (model_prev_0 - model_prev_1) + D1_1 = (1. / r1) * (model_prev_1 - model_prev_2) + D1 = D1_0 + (r0 / (r0 + r1)) * (D1_0 - D1_1) + D2 = (1. / (r0 + r1)) * (D1_0 - D1_1) + if self.algorithm_type == "dpmsolver++": + phi_1 = torch.expm1(-h) + phi_2 = phi_1 / h + 1. + phi_3 = phi_2 / h - 0.5 + x_t = ( + (sigma_t / sigma_prev_0) * x + - (alpha_t * phi_1) * model_prev_0 + + (alpha_t * phi_2) * D1 + - (alpha_t * phi_3) * D2 + ) + else: + phi_1 = torch.expm1(h) + phi_2 = phi_1 / h - 1. + phi_3 = phi_2 / h - 0.5 + x_t = ( + (torch.exp(log_alpha_t - log_alpha_prev_0)) * x + - (sigma_t * phi_1) * model_prev_0 + - (sigma_t * phi_2) * D1 + - (sigma_t * phi_3) * D2 + ) + return x_t + + def singlestep_dpm_solver_update(self, x, s, t, order, return_intermediate=False, solver_type='dpmsolver', r1=None, r2=None): + """ + Singlestep DPM-Solver with the order `order` from time `s` to time `t`. + + Args: + x: A pytorch tensor. The initial value at time `s`. + s: A pytorch tensor. The starting time, with the shape (1,). + t: A pytorch tensor. The ending time, with the shape (1,). + order: A `int`. The order of DPM-Solver. We only support order == 1 or 2 or 3. + return_intermediate: A `bool`. If true, also return the model value at time `s`, `s1` and `s2` (the intermediate times). + solver_type: either 'dpmsolver' or 'taylor'. The type for the high-order solvers. + The type slightly impacts the performance. We recommend to use 'dpmsolver' type. + r1: A `float`. The hyperparameter of the second-order or third-order solver. + r2: A `float`. The hyperparameter of the third-order solver. + Returns: + x_t: A pytorch tensor. The approximated solution at time `t`. + """ + if order == 1: + return self.dpm_solver_first_update(x, s, t, return_intermediate=return_intermediate) + elif order == 2: + return self.singlestep_dpm_solver_second_update(x, s, t, return_intermediate=return_intermediate, solver_type=solver_type, r1=r1) + elif order == 3: + return self.singlestep_dpm_solver_third_update(x, s, t, return_intermediate=return_intermediate, solver_type=solver_type, r1=r1, r2=r2) + else: + raise ValueError("Solver order must be 1 or 2 or 3, got {}".format(order)) + + def multistep_dpm_solver_update(self, x, model_prev_list, t_prev_list, t, order, solver_type='dpmsolver'): + """ + Multistep DPM-Solver with the order `order` from time `t_prev_list[-1]` to time `t`. + + Args: + x: A pytorch tensor. The initial value at time `s`. + model_prev_list: A list of pytorch tensor. The previous computed model values. + t_prev_list: A list of pytorch tensor. The previous times, each time has the shape (1,) + t: A pytorch tensor. The ending time, with the shape (1,). + order: A `int`. The order of DPM-Solver. We only support order == 1 or 2 or 3. + solver_type: either 'dpmsolver' or 'taylor'. The type for the high-order solvers. + The type slightly impacts the performance. We recommend to use 'dpmsolver' type. + Returns: + x_t: A pytorch tensor. The approximated solution at time `t`. + """ + if order == 1: + return self.dpm_solver_first_update(x, t_prev_list[-1], t, model_s=model_prev_list[-1]) + elif order == 2: + return self.multistep_dpm_solver_second_update(x, model_prev_list, t_prev_list, t, solver_type=solver_type) + elif order == 3: + return self.multistep_dpm_solver_third_update(x, model_prev_list, t_prev_list, t, solver_type=solver_type) + else: + raise ValueError("Solver order must be 1 or 2 or 3, got {}".format(order)) + + def dpm_solver_adaptive(self, x, order, t_T, t_0, h_init=0.05, atol=0.0078, rtol=0.05, theta=0.9, t_err=1e-5, solver_type='dpmsolver'): + """ + The adaptive step size solver based on singlestep DPM-Solver. + + Args: + x: A pytorch tensor. The initial value at time `t_T`. + order: A `int`. The (higher) order of the solver. We only support order == 2 or 3. + t_T: A `float`. The starting time of the sampling (default is T). + t_0: A `float`. The ending time of the sampling (default is epsilon). + h_init: A `float`. The initial step size (for logSNR). + atol: A `float`. The absolute tolerance of the solver. For image data, the default setting is 0.0078, followed [1]. + rtol: A `float`. The relative tolerance of the solver. The default setting is 0.05. + theta: A `float`. The safety hyperparameter for adapting the step size. The default setting is 0.9, followed [1]. + t_err: A `float`. The tolerance for the time. We solve the diffusion ODE until the absolute error between the + current time and `t_0` is less than `t_err`. The default setting is 1e-5. + solver_type: either 'dpmsolver' or 'taylor'. The type for the high-order solvers. + The type slightly impacts the performance. We recommend to use 'dpmsolver' type. + Returns: + x_0: A pytorch tensor. The approximated solution at time `t_0`. + + [1] A. Jolicoeur-Martineau, K. Li, R. Piché-Taillefer, T. Kachman, and I. Mitliagkas, "Gotta go fast when generating data with score-based models," arXiv preprint arXiv:2105.14080, 2021. + """ + ns = self.noise_schedule + s = t_T * torch.ones((1,)).to(x) + lambda_s = ns.marginal_lambda(s) + lambda_0 = ns.marginal_lambda(t_0 * torch.ones_like(s).to(x)) + h = h_init * torch.ones_like(s).to(x) + x_prev = x + nfe = 0 + if order == 2: + r1 = 0.5 + lower_update = lambda x, s, t: self.dpm_solver_first_update(x, s, t, return_intermediate=True) + higher_update = lambda x, s, t, **kwargs: self.singlestep_dpm_solver_second_update(x, s, t, r1=r1, solver_type=solver_type, **kwargs) + elif order == 3: + r1, r2 = 1. / 3., 2. / 3. + lower_update = lambda x, s, t: self.singlestep_dpm_solver_second_update(x, s, t, r1=r1, return_intermediate=True, solver_type=solver_type) + higher_update = lambda x, s, t, **kwargs: self.singlestep_dpm_solver_third_update(x, s, t, r1=r1, r2=r2, solver_type=solver_type, **kwargs) + else: + raise ValueError("For adaptive step size solver, order must be 2 or 3, got {}".format(order)) + while torch.abs((s - t_0)).mean() > t_err: + t = ns.inverse_lambda(lambda_s + h) + x_lower, lower_noise_kwargs = lower_update(x, s, t) + x_higher = higher_update(x, s, t, **lower_noise_kwargs) + delta = torch.max(torch.ones_like(x).to(x) * atol, rtol * torch.max(torch.abs(x_lower), torch.abs(x_prev))) + norm_fn = lambda v: torch.sqrt(torch.square(v.reshape((v.shape[0], -1))).mean(dim=-1, keepdim=True)) + E = norm_fn((x_higher - x_lower) / delta).max() + if torch.all(E <= 1.): + x = x_higher + s = t + x_prev = x_lower + lambda_s = ns.marginal_lambda(s) + h = torch.min(theta * h * torch.float_power(E, -1. / order).float(), lambda_0 - lambda_s) + nfe += order + print('adaptive solver nfe', nfe) + return x + + def add_noise(self, x, t, noise=None): + """ + Compute the noised input xt = alpha_t * x + sigma_t * noise. + + Args: + x: A `torch.Tensor` with shape `(batch_size, *shape)`. + t: A `torch.Tensor` with shape `(t_size,)`. + Returns: + xt with shape `(t_size, batch_size, *shape)`. + """ + alpha_t, sigma_t = self.noise_schedule.marginal_alpha(t), self.noise_schedule.marginal_std(t) + if noise is None: + noise = torch.randn((t.shape[0], *x.shape), device=x.device) + x = x.reshape((-1, *x.shape)) + xt = expand_dims(alpha_t, x.dim()) * x + expand_dims(sigma_t, x.dim()) * noise + if t.shape[0] == 1: + return xt.squeeze(0) + else: + return xt + + def inverse(self, x, steps=20, t_start=None, t_end=None, order=2, skip_type='time_uniform', + method='multistep', lower_order_final=True, denoise_to_zero=False, solver_type='dpmsolver', + atol=0.0078, rtol=0.05, return_intermediate=False, + ): + """ + Inverse the sample `x` from time `t_start` to `t_end` by DPM-Solver. + For discrete-time DPMs, we use `t_start=1/N`, where `N` is the total time steps during training. + """ + t_0 = 1. / self.noise_schedule.total_N if t_start is None else t_start + t_T = self.noise_schedule.T if t_end is None else t_end + assert t_0 > 0 and t_T > 0, "Time range needs to be greater than 0. For discrete-time DPMs, it needs to be in [1 / N, 1], where N is the length of betas array" + return self.sample(x, steps=steps, t_start=t_0, t_end=t_T, order=order, skip_type=skip_type, + method=method, lower_order_final=lower_order_final, denoise_to_zero=denoise_to_zero, solver_type=solver_type, + atol=atol, rtol=rtol, return_intermediate=return_intermediate) + + def sample(self, x, steps=20, t_start=None, t_end=None, order=2, skip_type='time_uniform', + method='multistep', lower_order_final=True, denoise_to_zero=False, solver_type='dpmsolver', + atol=0.0078, rtol=0.05, return_intermediate=False, + ): + """ + Compute the sample at time `t_end` by DPM-Solver, given the initial `x` at time `t_start`. + + ===================================================== + + We support the following algorithms for both noise prediction model and data prediction model: + - 'singlestep': + Singlestep DPM-Solver (i.e. "DPM-Solver-fast" in the paper), which combines different orders of singlestep DPM-Solver. + We combine all the singlestep solvers with order <= `order` to use up all the function evaluations (steps). + The total number of function evaluations (NFE) == `steps`. + Given a fixed NFE == `steps`, the sampling procedure is: + - If `order` == 1: + - Denote K = steps. We use K steps of DPM-Solver-1 (i.e. DDIM). + - If `order` == 2: + - Denote K = (steps // 2) + (steps % 2). We take K intermediate time steps for sampling. + - If steps % 2 == 0, we use K steps of singlestep DPM-Solver-2. + - If steps % 2 == 1, we use (K - 1) steps of singlestep DPM-Solver-2 and 1 step of DPM-Solver-1. + - If `order` == 3: + - Denote K = (steps // 3 + 1). We take K intermediate time steps for sampling. + - If steps % 3 == 0, we use (K - 2) steps of singlestep DPM-Solver-3, and 1 step of singlestep DPM-Solver-2 and 1 step of DPM-Solver-1. + - If steps % 3 == 1, we use (K - 1) steps of singlestep DPM-Solver-3 and 1 step of DPM-Solver-1. + - If steps % 3 == 2, we use (K - 1) steps of singlestep DPM-Solver-3 and 1 step of singlestep DPM-Solver-2. + - 'multistep': + Multistep DPM-Solver with the order of `order`. The total number of function evaluations (NFE) == `steps`. + We initialize the first `order` values by lower order multistep solvers. + Given a fixed NFE == `steps`, the sampling procedure is: + Denote K = steps. + - If `order` == 1: + - We use K steps of DPM-Solver-1 (i.e. DDIM). + - If `order` == 2: + - We firstly use 1 step of DPM-Solver-1, then use (K - 1) step of multistep DPM-Solver-2. + - If `order` == 3: + - We firstly use 1 step of DPM-Solver-1, then 1 step of multistep DPM-Solver-2, then (K - 2) step of multistep DPM-Solver-3. + - 'singlestep_fixed': + Fixed order singlestep DPM-Solver (i.e. DPM-Solver-1 or singlestep DPM-Solver-2 or singlestep DPM-Solver-3). + We use singlestep DPM-Solver-`order` for `order`=1 or 2 or 3, with total [`steps` // `order`] * `order` NFE. + - 'adaptive': + Adaptive step size DPM-Solver (i.e. "DPM-Solver-12" and "DPM-Solver-23" in the paper). + We ignore `steps` and use adaptive step size DPM-Solver with a higher order of `order`. + You can adjust the absolute tolerance `atol` and the relative tolerance `rtol` to balance the computatation costs + (NFE) and the sample quality. + - If `order` == 2, we use DPM-Solver-12 which combines DPM-Solver-1 and singlestep DPM-Solver-2. + - If `order` == 3, we use DPM-Solver-23 which combines singlestep DPM-Solver-2 and singlestep DPM-Solver-3. + + ===================================================== + + Some advices for choosing the algorithm: + - For **unconditional sampling** or **guided sampling with small guidance scale** by DPMs: + Use singlestep DPM-Solver or DPM-Solver++ ("DPM-Solver-fast" in the paper) with `order = 3`. + e.g., DPM-Solver: + >>> dpm_solver = DPM_Solver(model_fn, noise_schedule, algorithm_type="dpmsolver") + >>> x_sample = dpm_solver.sample(x, steps=steps, t_start=t_start, t_end=t_end, order=3, + skip_type='time_uniform', method='singlestep') + e.g., DPM-Solver++: + >>> dpm_solver = DPM_Solver(model_fn, noise_schedule, algorithm_type="dpmsolver++") + >>> x_sample = dpm_solver.sample(x, steps=steps, t_start=t_start, t_end=t_end, order=3, + skip_type='time_uniform', method='singlestep') + - For **guided sampling with large guidance scale** by DPMs: + Use multistep DPM-Solver with `algorithm_type="dpmsolver++"` and `order = 2`. + e.g. + >>> dpm_solver = DPM_Solver(model_fn, noise_schedule, algorithm_type="dpmsolver++") + >>> x_sample = dpm_solver.sample(x, steps=steps, t_start=t_start, t_end=t_end, order=2, + skip_type='time_uniform', method='multistep') + + We support three types of `skip_type`: + - 'logSNR': uniform logSNR for the time steps. **Recommended for low-resolutional images** + - 'time_uniform': uniform time for the time steps. **Recommended for high-resolutional images**. + - 'time_quadratic': quadratic time for the time steps. + + ===================================================== + Args: + x: A pytorch tensor. The initial value at time `t_start` + e.g. if `t_start` == T, then `x` is a sample from the standard normal distribution. + steps: A `int`. The total number of function evaluations (NFE). + t_start: A `float`. The starting time of the sampling. + If `T` is None, we use self.noise_schedule.T (default is 1.0). + t_end: A `float`. The ending time of the sampling. + If `t_end` is None, we use 1. / self.noise_schedule.total_N. + e.g. if total_N == 1000, we have `t_end` == 1e-3. + For discrete-time DPMs: + - We recommend `t_end` == 1. / self.noise_schedule.total_N. + For continuous-time DPMs: + - We recommend `t_end` == 1e-3 when `steps` <= 15; and `t_end` == 1e-4 when `steps` > 15. + order: A `int`. The order of DPM-Solver. + skip_type: A `str`. The type for the spacing of the time steps. 'time_uniform' or 'logSNR' or 'time_quadratic'. + method: A `str`. The method for sampling. 'singlestep' or 'multistep' or 'singlestep_fixed' or 'adaptive'. + denoise_to_zero: A `bool`. Whether to denoise to time 0 at the final step. + Default is `False`. If `denoise_to_zero` is `True`, the total NFE is (`steps` + 1). + + This trick is firstly proposed by DDPM (https://arxiv.org/abs/2006.11239) and + score_sde (https://arxiv.org/abs/2011.13456). Such trick can improve the FID + for diffusion models sampling by diffusion SDEs for low-resolutional images + (such as CIFAR-10). However, we observed that such trick does not matter for + high-resolutional images. As it needs an additional NFE, we do not recommend + it for high-resolutional images. + lower_order_final: A `bool`. Whether to use lower order solvers at the final steps. + Only valid for `method=multistep` and `steps < 15`. We empirically find that + this trick is a key to stabilizing the sampling by DPM-Solver with very few steps + (especially for steps <= 10). So we recommend to set it to be `True`. + solver_type: A `str`. The taylor expansion type for the solver. `dpmsolver` or `taylor`. We recommend `dpmsolver`. + atol: A `float`. The absolute tolerance of the adaptive step size solver. Valid when `method` == 'adaptive'. + rtol: A `float`. The relative tolerance of the adaptive step size solver. Valid when `method` == 'adaptive'. + return_intermediate: A `bool`. Whether to save the xt at each step. + When set to `True`, method returns a tuple (x0, intermediates); when set to False, method returns only x0. + Returns: + x_end: A pytorch tensor. The approximated solution at time `t_end`. + + """ + t_0 = 1. / self.noise_schedule.total_N if t_end is None else t_end + t_T = self.noise_schedule.T if t_start is None else t_start + assert t_0 > 0 and t_T > 0, "Time range needs to be greater than 0. For discrete-time DPMs, it needs to be in [1 / N, 1], where N is the length of betas array" + if return_intermediate: + assert method in ['multistep', 'singlestep', 'singlestep_fixed'], "Cannot use adaptive solver when saving intermediate values" + if self.correcting_xt_fn is not None: + assert method in ['multistep', 'singlestep', 'singlestep_fixed'], "Cannot use adaptive solver when correcting_xt_fn is not None" + device = x.device + intermediates = [] + with torch.no_grad(): + if method == 'adaptive': + x = self.dpm_solver_adaptive(x, order=order, t_T=t_T, t_0=t_0, atol=atol, rtol=rtol, solver_type=solver_type) + elif method == 'multistep': + assert steps >= order + timesteps = self.get_time_steps(skip_type=skip_type, t_T=t_T, t_0=t_0, N=steps, device=device) + assert timesteps.shape[0] - 1 == steps + # Init the initial values. + step = 0 + t = timesteps[step] + t_prev_list = [t] + model_prev_list = [self.model_fn(x, t)] + if self.correcting_xt_fn is not None: + x = self.correcting_xt_fn(x, t, step) + if return_intermediate: + intermediates.append(x) + # Init the first `order` values by lower order multistep DPM-Solver. + for step in range(1, order): + t = timesteps[step] + x = self.multistep_dpm_solver_update(x, model_prev_list, t_prev_list, t, step, solver_type=solver_type) + if self.correcting_xt_fn is not None: + x = self.correcting_xt_fn(x, t, step) + if return_intermediate: + intermediates.append(x) + t_prev_list.append(t) + model_prev_list.append(self.model_fn(x, t)) + # Compute the remaining values by `order`-th order multistep DPM-Solver. + for step in range(order, steps + 1): + t = timesteps[step] + # We only use lower order for steps < 10 + if lower_order_final and steps < 10: + step_order = min(order, steps + 1 - step) + else: + step_order = order + x = self.multistep_dpm_solver_update(x, model_prev_list, t_prev_list, t, step_order, solver_type=solver_type) + if self.correcting_xt_fn is not None: + x = self.correcting_xt_fn(x, t, step) + if return_intermediate: + intermediates.append(x) + for i in range(order - 1): + t_prev_list[i] = t_prev_list[i + 1] + model_prev_list[i] = model_prev_list[i + 1] + t_prev_list[-1] = t + # We do not need to evaluate the final model value. + if step < steps: + model_prev_list[-1] = self.model_fn(x, t) + elif method in ['singlestep', 'singlestep_fixed']: + if method == 'singlestep': + timesteps_outer, orders = self.get_orders_and_timesteps_for_singlestep_solver(steps=steps, order=order, skip_type=skip_type, t_T=t_T, t_0=t_0, device=device) + elif method == 'singlestep_fixed': + K = steps // order + orders = [order,] * K + timesteps_outer = self.get_time_steps(skip_type=skip_type, t_T=t_T, t_0=t_0, N=K, device=device) + for step, order in enumerate(orders): + s, t = timesteps_outer[step], timesteps_outer[step + 1] + timesteps_inner = self.get_time_steps(skip_type=skip_type, t_T=s.item(), t_0=t.item(), N=order, device=device) + lambda_inner = self.noise_schedule.marginal_lambda(timesteps_inner) + h = lambda_inner[-1] - lambda_inner[0] + r1 = None if order <= 1 else (lambda_inner[1] - lambda_inner[0]) / h + r2 = None if order <= 2 else (lambda_inner[2] - lambda_inner[0]) / h + x = self.singlestep_dpm_solver_update(x, s, t, order, solver_type=solver_type, r1=r1, r2=r2) + if self.correcting_xt_fn is not None: + x = self.correcting_xt_fn(x, t, step) + if return_intermediate: + intermediates.append(x) + else: + raise ValueError("Got wrong method {}".format(method)) + if denoise_to_zero: + t = torch.ones((1,)).to(device) * t_0 + x = self.denoise_to_zero_fn(x, t) + if self.correcting_xt_fn is not None: + x = self.correcting_xt_fn(x, t, step + 1) + if return_intermediate: + intermediates.append(x) + if return_intermediate: + return x, intermediates + else: + return x + + + +############################################################# +# other utility functions +############################################################# + +def interpolate_fn(x, xp, yp): + """ + A piecewise linear function y = f(x), using xp and yp as keypoints. + We implement f(x) in a differentiable way (i.e. applicable for autograd). + The function f(x) is well-defined for all x-axis. (For x beyond the bounds of xp, we use the outmost points of xp to define the linear function.) + + Args: + x: PyTorch tensor with shape [N, C], where N is the batch size, C is the number of channels (we use C = 1 for DPM-Solver). + xp: PyTorch tensor with shape [C, K], where K is the number of keypoints. + yp: PyTorch tensor with shape [C, K]. + Returns: + The function values f(x), with shape [N, C]. + """ + N, K = x.shape[0], xp.shape[1] + all_x = torch.cat([x.unsqueeze(2), xp.unsqueeze(0).repeat((N, 1, 1))], dim=2) + sorted_all_x, x_indices = torch.sort(all_x, dim=2) + x_idx = torch.argmin(x_indices, dim=2) + cand_start_idx = x_idx - 1 + start_idx = torch.where( + torch.eq(x_idx, 0), + torch.tensor(1, device=x.device), + torch.where( + torch.eq(x_idx, K), torch.tensor(K - 2, device=x.device), cand_start_idx, + ), + ) + end_idx = torch.where(torch.eq(start_idx, cand_start_idx), start_idx + 2, start_idx + 1) + start_x = torch.gather(sorted_all_x, dim=2, index=start_idx.unsqueeze(2)).squeeze(2) + end_x = torch.gather(sorted_all_x, dim=2, index=end_idx.unsqueeze(2)).squeeze(2) + start_idx2 = torch.where( + torch.eq(x_idx, 0), + torch.tensor(0, device=x.device), + torch.where( + torch.eq(x_idx, K), torch.tensor(K - 2, device=x.device), cand_start_idx, + ), + ) + y_positions_expanded = yp.unsqueeze(0).expand(N, -1, -1) + start_y = torch.gather(y_positions_expanded, dim=2, index=start_idx2.unsqueeze(2)).squeeze(2) + end_y = torch.gather(y_positions_expanded, dim=2, index=(start_idx2 + 1).unsqueeze(2)).squeeze(2) + cand = start_y + (x - start_x) * (end_y - start_y) / (end_x - start_x) + return cand + + +def expand_dims(v, dims): + """ + Expand the tensor `v` to the dim `dims`. + + Args: + `v`: a PyTorch tensor with shape [N]. + `dim`: a `int`. + Returns: + a PyTorch tensor with shape [N, 1, 1, ..., 1] and the total dimension is `dims`. + """ + return v[(...,) + (None,)*(dims - 1)] \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/core/logger.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/core/logger.py new file mode 100644 index 0000000000000000000000000000000000000000..b5070b0c000bd893bc171616d4e4e42590b4f2ec --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/core/logger.py @@ -0,0 +1,171 @@ +import os +from PIL import Image +import importlib +from datetime import datetime +import logging +import pandas as pd + +import core.util as Util + +class InfoLogger(): + """ + use logging to record log, only work on GPU 0 by judging global_rank + """ + def __init__(self, opt): + self.opt = opt + self.rank = opt['global_rank'] + self.phase = opt['phase'] + + self.setup_logger(None, opt['path']['experiments_root'], opt['phase'], level=logging.INFO, screen=False) + self.logger = logging.getLogger(opt['phase']) + self.infologger_ftns = {'info', 'warning', 'debug'} + + def __getattr__(self, name): + if self.rank != 0: # info only print on GPU 0. + def wrapper(info, *args, **kwargs): + pass + return wrapper + if name in self.infologger_ftns: + print_info = getattr(self.logger, name, None) + def wrapper(info, *args, **kwargs): + print_info(info, *args, **kwargs) + return wrapper + + @staticmethod + def setup_logger(logger_name, root, phase, level=logging.INFO, screen=False): + """ set up logger """ + l = logging.getLogger(logger_name) + formatter = logging.Formatter( + '%(asctime)s.%(msecs)03d - %(levelname)s: %(message)s', datefmt='%y-%m-%d %H:%M:%S') + log_file = os.path.join(root, '{}.log'.format(phase)) + fh = logging.FileHandler(log_file, mode='a+') + fh.setFormatter(formatter) + l.setLevel(level) + l.addHandler(fh) + if screen: + sh = logging.StreamHandler() + sh.setFormatter(formatter) + l.addHandler(sh) + +class VisualWriter(): + """ + use tensorboard to record visuals, support 'add_scalar', 'add_scalars', 'add_image', 'add_images', etc. funtion. + Also integrated with save results function. + """ + def __init__(self, opt, logger): + log_dir = opt['path']['tb_logger'] + self.result_dir = opt['path']['results'] + enabled = opt['train']['tensorboard'] + self.rank = opt['global_rank'] + + self.writer = None + self.selected_module = "" + + if enabled and self.rank==0: + log_dir = str(log_dir) + + # Retrieve vizualization writer. + succeeded = False + for module in ["tensorboardX", "torch.utils.tensorboard"]: + try: + self.writer = importlib.import_module(module).SummaryWriter(log_dir) + succeeded = True + break + except ImportError: + succeeded = False + self.selected_module = module + + if not succeeded: + message = "Warning: visualization (Tensorboard) is configured to use, but currently not installed on " \ + "this machine. Please install TensorboardX with 'pip install tensorboardx', upgrade PyTorch to " \ + "version >= 1.1 to use 'torch.utils.tensorboard' or turn off the option in the 'config.json' file." + logger.warning(message) + + self.epoch = 0 + self.iter = 0 + self.phase = '' + + self.tb_writer_ftns = { + 'add_scalar', 'add_scalars', 'add_image', 'add_images', 'add_audio', + 'add_text', 'add_histogram', 'add_pr_curve', 'add_embedding' + } + self.tag_mode_exceptions = {'add_histogram', 'add_embedding'} + self.custom_ftns = {'close'} + self.timer = datetime.now() + + def set_iter(self, epoch, iter, phase='train'): + self.phase = phase + self.epoch = epoch + self.iter = iter + + def save_images(self, results): + result_path = os.path.join(self.result_dir, self.phase) + os.makedirs(result_path, exist_ok=True) + result_path = os.path.join(result_path, str(self.epoch)) + os.makedirs(result_path, exist_ok=True) + + ''' get names and corresponding images from results[OrderedDict] ''' + try: + names = results['name'] + outputs = Util.postprocess(results['result']) + for i in range(len(names)): + if os.path.exists(os.path.join(result_path, names[i])): + pass + else: + Image.fromarray(outputs[i]).save(os.path.join(result_path, names[i])) + except: + raise NotImplementedError('You must specify the context of name and result in save_current_results functions of model.') + + def close(self): + self.writer.close() + print('Close the Tensorboard SummaryWriter.') + + + def __getattr__(self, name): + """ + If visualization is configured to use: + return add_data() methods of tensorboard with additional information (step, tag) added. + Otherwise: + return a blank function handle that does nothing + """ + if name in self.tb_writer_ftns: + add_data = getattr(self.writer, name, None) + def wrapper(tag, data, *args, **kwargs): + if add_data is not None: + # add phase(train/valid) tag + if name not in self.tag_mode_exceptions: + tag = '{}/{}'.format(self.phase, tag) + add_data(tag, data, self.iter, *args, **kwargs) + return wrapper + else: + # default action for returning methods defined in this class, set_step() for instance. + try: + attr = object.__getattr__(name) + except AttributeError: + raise AttributeError("type object '{}' has no attribute '{}'".format(self.selected_module, name)) + return attr + + +class LogTracker: + """ + record training numerical indicators. + """ + def __init__(self, *keys, phase='train'): + self.phase = phase + self._data = pd.DataFrame(index=keys, columns=['total', 'counts', 'average']) + self.reset() + + def reset(self): + for col in self._data.columns: + self._data[col].values[:] = 0 + + def update(self, key, value, n=1): + self._data.total[key] += value * n + self._data.counts[key] += n + self._data.average[key] = self._data.total[key] / self._data.counts[key] + + def avg(self, key): + return self._data.average[key] + + def result(self): + return {'{}/{}'.format(self.phase, k):v for k, v in dict(self._data.average).items()} diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/core/praser.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/core/praser.py new file mode 100644 index 0000000000000000000000000000000000000000..0106d3382b9cdfd12fe9fd76f0e1116069268661 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/core/praser.py @@ -0,0 +1,155 @@ +import os +from collections import OrderedDict +import json +from pathlib import Path +from datetime import datetime +from functools import partial +import importlib +from types import FunctionType +import shutil +def init_obj(opt, logger, *args, default_file_name='default file', given_module=None, init_type='Network', **modify_kwargs): + """ + finds a function handle with the name given as 'name' in config, + and returns the instance initialized with corresponding args. + """ + if opt is None or len(opt)<1: + logger.info('Option is None when initialize {}'.format(init_type)) + return None + + ''' default format is dict with name key ''' + if isinstance(opt, str): + opt = {'name': opt} + logger.warning('Config is a str, converts to a dict {}'.format(opt)) + + name = opt['name'] + ''' name can be list, indicates the file and class name of function ''' + if isinstance(name, list): + file_name, class_name = name[0], name[1] + else: + file_name, class_name = default_file_name, name + try: + if given_module is not None: + module = given_module + else: + module = importlib.import_module(file_name) + + attr = getattr(module, class_name) + kwargs = opt.get('args', {}) + kwargs.update(modify_kwargs) + ''' import class or function with args ''' + if isinstance(attr, type): + ret = attr(*args, **kwargs) + ret.__name__ = ret.__class__.__name__ + elif isinstance(attr, FunctionType): + ret = partial(attr, *args, **kwargs) + ret.__name__ = attr.__name__ + # ret = attr + logger.info('{} [{:s}() form {:s}] is created.'.format(init_type, class_name, file_name)) + except: + raise NotImplementedError('{} [{:s}() form {:s}] not recognized.'.format(init_type, class_name, file_name)) + return ret + + +def mkdirs(paths): + if isinstance(paths, str): + os.makedirs(paths, exist_ok=True) + else: + for path in paths: + os.makedirs(path, exist_ok=True) + +def get_timestamp(): + return datetime.now().strftime('%y%m%d_%H%M%S') + + +def write_json(content, fname): + fname = Path(fname) + with fname.open('wt') as handle: + json.dump(content, handle, indent=4, sort_keys=False) + +class NoneDict(dict): + def __missing__(self, key): + return None + +def dict_to_nonedict(opt): + """ convert to NoneDict, which return None for missing key. """ + if isinstance(opt, dict): + new_opt = dict() + for key, sub_opt in opt.items(): + new_opt[key] = dict_to_nonedict(sub_opt) + return NoneDict(**new_opt) + elif isinstance(opt, list): + return [dict_to_nonedict(sub_opt) for sub_opt in opt] + else: + return opt + +def dict2str(opt, indent_l=1): + """ dict to string for logger """ + msg = '' + for k, v in opt.items(): + if isinstance(v, dict): + msg += ' ' * (indent_l * 2) + k + ':[\n' + msg += dict2str(v, indent_l + 1) + msg += ' ' * (indent_l * 2) + ']\n' + else: + msg += ' ' * (indent_l * 2) + k + ': ' + str(v) + '\n' + return msg + +def parse(args): + json_str = '' + with open(args.config, 'r') as f: + for line in f: + line = line.split('//')[0] + '\n' + json_str += line + opt = json.loads(json_str, object_pairs_hook=OrderedDict) + + ''' replace the config context using args ''' + opt['phase'] = args.phase + if args.gpu_ids is not None: + opt['gpu_ids'] = [int(id) for id in args.gpu_ids.split(',')] + if args.batch is not None: + opt['datasets'][opt['phase']]['dataloader']['args']['batch_size'] = args.batch + + ''' set cuda environment ''' + if len(opt['gpu_ids']) > 1: + opt['distributed'] = True + else: + opt['distributed'] = False + + ''' update name ''' + if args.debug: + opt['name'] = 'debug_{}'.format(opt['name']) + elif opt['finetune_norm']: + opt['name'] = 'finetune_{}'.format(opt['name']) + else: + opt['name'] = '{}_{}'.format(opt['phase'], opt['name']) + + ''' set log directory ''' + experiments_root = os.path.join(opt['path']['base_dir'], '{}_{}'.format(opt['name'], get_timestamp())) + mkdirs(experiments_root) + + ''' save json ''' + write_json(opt, '{}/config.json'.format(experiments_root)) + + ''' change folder relative hierarchy ''' + opt['path']['experiments_root'] = experiments_root + for key, path in opt['path'].items(): + if 'resume' not in key and 'base' not in key and 'root' not in key: + opt['path'][key] = os.path.join(experiments_root, path) + mkdirs(opt['path'][key]) + + ''' debug mode ''' + if 'debug' in opt['name']: + opt['train'].update(opt['debug']) + + ''' code backup ''' + for name in os.listdir('.'): + if name in ['config', 'models', 'core', 'slurm', 'data']: + shutil.copytree(name, os.path.join(opt['path']['code'], name), ignore=shutil.ignore_patterns("*.pyc", "__pycache__")) + if '.py' in name or '.sh' in name: + shutil.copy(name, opt['path']['code']) + return dict_to_nonedict(opt) + + + + + diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/core/util.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/core/util.py new file mode 100644 index 0000000000000000000000000000000000000000..fd7abd868d208ef805f047308e15971979b95d92 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/core/util.py @@ -0,0 +1,159 @@ +import random +import numpy as np +import math +import torch +from torch.nn.parallel import DistributedDataParallel as DDP +from torchvision.utils import make_grid + + +def get_rgb(image): # CHW + image = image.mul(0.5).add_(0.5) + image = image.mul(10000).add_(0.5).clamp_(0, 10000) + image = image.permute(1, 2, 0).cpu().detach().numpy() # HWC + image = image.astype(np.uint16) + + r = image[:, :, 0] + g = image[:, :, 1] + b = image[:, :, 2] + + r = np.clip(r, 0, 2000) + g = np.clip(g, 0, 2000) + b = np.clip(b, 0, 2000) + + rgb = np.dstack((r, g, b)) + rgb = rgb - np.nanmin(rgb) + + if np.nanmax(rgb) == 0: + rgb = 255 * np.ones_like(rgb) + else: + rgb = 255 * (rgb / np.nanmax(rgb)) + + rgb[np.isnan(rgb)] = np.nanmean(rgb) + rgb = rgb.astype(np.uint8) + return rgb + + +def tensor2img(tensor, out_type=np.uint8, min_max=(-1, 1)): # 可视化v2.0 + ''' + Converts a torch Tensor into an image Numpy array + Input: 4D(B,(3/1),H,W), 3D(C,H,W), or 2D(H,W), any range, RGB channel order + Output: 3D(H,W,C) or 2D(H,W), [0,255], np.uint8 (default) + ''' + # tensor = tensor.clamp_(*min_max) # clamp + n_dim = tensor.dim() + if n_dim == 4: + n_img = len(tensor) + img_np = make_grid([torch.from_numpy(get_rgb(tensor[i])).permute(2, 0, 1) for i in range(n_img)], nrow=int( + math.sqrt(n_img)), normalize=False).numpy() + img_np = np.transpose(img_np, (1, 2, 0)) # HWC, RGB + elif n_dim == 3: + img_np = get_rgb(tensor) + elif n_dim == 2: + img_np = tensor.numpy() + else: + raise TypeError( + 'Only support 4D, 3D and 2D tensor. But received with dimension: {:d}'.format(n_dim)) + return img_np + + +# def tensor2img(tensor, out_type=np.uint8, min_max=(-1, 1)): # 可视化原作者的 +# ''' +# Converts a torch Tensor into an image Numpy array +# Input: 4D(B,(3/1),H,W), 3D(C,H,W), or 2D(H,W), any range, RGB channel order +# Output: 3D(H,W,C) or 2D(H,W), [0,255], np.uint8 (default) +# ''' +# tensor = tensor.clamp_(*min_max) # clamp +# n_dim = tensor.dim() +# if n_dim == 4: +# n_img = len(tensor) +# img_np = make_grid(tensor[:, :3, :, :], nrow=int(math.sqrt(n_img)), normalize=False).numpy() +# img_np = np.transpose(img_np, (1, 2, 0)) # HWC, RGB +# elif n_dim == 3: +# img_np = tensor[:3, :, :].numpy() +# img_np = np.transpose(img_np, (1, 2, 0)) # HWC, RGB +# elif n_dim == 2: +# img_np = tensor.numpy() +# else: +# raise TypeError('Only support 4D, 3D and 2D tensor. But received with dimension: {:d}'.format(n_dim)) +# if out_type == np.uint8: +# img_np = ((img_np+1) * 127.5).round() +# # Important. Unlike matlab, numpy.unit8() WILL NOT round by default. +# return img_np.astype(out_type).squeeze() + +# def tensor2img(tensor, out_type=np.uint8, min_max=(-1, 1)): # 可视化v1.0 +# ''' +# Converts a torch Tensor into an image Numpy array +# Input: 4D(B,(3/1),H,W), 3D(C,H,W), or 2D(H,W), any range, RGB channel order +# Output: 3D(H,W,C) or 2D(H,W), [0,255], np.uint8 (default) +# ''' +# tensor = tensor.clamp_(*min_max) # clamp + # def get_rgb_tensor(rgb): + # rgb = rgb*0.5+0.5 + # rgb = rgb - torch.min(rgb) + # # treat saturated images, scale values + # if torch.max(rgb) == 0: + # rgb = 255 * torch.ones_like(rgb) + # else: + # rgb = 255 * (rgb / torch.max(rgb)) + # return rgb.type(torch.uint8) +# tensor = get_rgb_tensor(tensor) +# n_dim = tensor.dim() +# if n_dim == 4: +# n_img = len(tensor) +# img_np = make_grid(tensor, nrow=int(math.sqrt(n_img)), normalize=False).numpy() +# img_np = np.transpose(img_np, (1, 2, 0)) # HWC, RGB +# elif n_dim == 3: +# img_np = tensor.numpy() +# img_np = np.transpose(img_np, (1, 2, 0)) # HWC, RGB +# elif n_dim == 2: +# img_np = tensor.numpy() +# else: +# raise TypeError('Only support 4D, 3D and 2D tensor. But received with dimension: {:d}'.format(n_dim)) +# # if out_type == np.uint8: +# # img_np = ((img_np+1) * 127.5).round() +# # Important. Unlike matlab, numpy.unit8() WILL NOT round by default. +# return img_np.astype(out_type).squeeze() + +def postprocess(images): + return [tensor2img(image) for image in images] + + +def set_seed(seed, gl_seed=0): + """ set random seed, gl_seed used in worker_init_fn function """ + if seed >= 0 and gl_seed >= 0: + seed += gl_seed + torch.manual_seed(seed) + torch.cuda.manual_seed_all(seed) + np.random.seed(seed) + random.seed(seed) + + ''' change the deterministic and benchmark maybe cause uncertain convolution behavior. + speed-reproducibility tradeoff https://pytorch.org/docs/stable/notes/randomness.html ''' + if seed >= 0 and gl_seed >= 0: # slower, more reproducible + torch.backends.cudnn.deterministic = True + torch.backends.cudnn.benchmark = False + else: # faster, less reproducible + torch.backends.cudnn.deterministic = False + torch.backends.cudnn.benchmark = True + + +def set_gpu(args, distributed=False, rank=0): + """ set parameter to gpu or ddp """ + if args is None: + return None + if distributed and isinstance(args, torch.nn.Module): + return DDP(args.cuda(), device_ids=[rank], output_device=rank, broadcast_buffers=True, find_unused_parameters=False) + else: + return args.cuda() + + +def set_device(args, distributed=False, rank=0): + """ set parameter to gpu or cpu """ + if torch.cuda.is_available(): + if isinstance(args, list): + return (set_gpu(item, distributed, rank) for item in args) + elif isinstance(args, dict): + return {key: set_gpu(args[key], distributed, rank) for key in args} + else: + args = set_gpu(args, distributed, rank) + return args diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/data/__init__.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/data/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..5d0f29113d7dd3ec22c4cfedea0b180821aac5cc --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/data/__init__.py @@ -0,0 +1,83 @@ +from functools import partial +import numpy as np + +from torch.utils.data.distributed import DistributedSampler +from torch import Generator, randperm +from torch.utils.data import DataLoader, Subset + +import core.util as Util +from core.praser import init_obj + + +def define_dataloader(logger, opt): + """ create train/test dataloader and validation dataloader, validation dataloader is None when phase is test or not GPU 0 """ + '''create dataset and set random seed''' + dataloader_args = opt['datasets'][opt['phase']]['dataloader']['args'] + worker_init_fn = partial(Util.set_seed, gl_seed=opt['seed']) + + phase_dataset, val_dataset = define_dataset(logger, opt) + + '''create datasampler''' + data_sampler = None + if opt['distributed']: + data_sampler = DistributedSampler(phase_dataset, shuffle=dataloader_args.get('shuffle', False), num_replicas=opt['world_size'], rank=opt['global_rank']) + dataloader_args.update({'shuffle':False}) # sampler option is mutually exclusive with shuffle + + ''' create dataloader and validation dataloader ''' + dataloader = DataLoader(phase_dataset, sampler=data_sampler, worker_init_fn=worker_init_fn, **dataloader_args) + ''' val_dataloader don't use DistributedSampler to run only GPU 0! ''' + if opt['global_rank']==0 and val_dataset is not None: + dataloader_args.update(opt['datasets'][opt['phase']]['dataloader'].get('val_args',{})) + val_dataloader = DataLoader(val_dataset, worker_init_fn=worker_init_fn, **dataloader_args) + else: + val_dataloader = None + return dataloader, val_dataloader + + +def define_dataset(logger, opt): + ''' loading Dataset() class from given file's name ''' + dataset_opt = opt['datasets'][opt['phase']]['which_dataset'] + phase_dataset = init_obj(dataset_opt, logger, default_file_name='data.dataset', init_type='Dataset') + # val_dataset = None + val_dataset_opt = opt['datasets']['val']['which_dataset'] + val_dataset = init_obj(val_dataset_opt, logger, default_file_name='data.dataset', init_type='Dataset') + + valid_len = 0 + data_len = len(phase_dataset) + if 'debug' in opt['name']: + debug_split = opt['debug'].get('debug_split', 1.0) + if isinstance(debug_split, int): + data_len = debug_split + else: + data_len *= debug_split + + # dataloder_opt = opt['datasets'][opt['phase']]['dataloader'] + # valid_split = dataloder_opt.get('validation_split', 0) + + # ''' divide validation dataset, valid_split==0 when phase is test or validation_split is 0. ''' + # if valid_split > 0.0 or 'debug' in opt['name']: + # if isinstance(valid_split, int): + # assert valid_split < data_len, "Validation set size is configured to be larger than entire dataset." + # valid_len = valid_split + # else: + # valid_len = int(data_len * valid_split) + # data_len -= valid_len + # phase_dataset, val_dataset = subset_split(dataset=phase_dataset, lengths=[data_len, valid_len], generator=Generator().manual_seed(opt['seed'])) + + logger.info('Dataset for {} have {} samples.'.format(opt['phase'], data_len)) + if opt['phase'] == 'train': + logger.info('Dataset for {} have {} samples.'.format('val', valid_len)) + return phase_dataset, val_dataset + +def subset_split(dataset, lengths, generator): + """ + split a dataset into non-overlapping new datasets of given lengths. main code is from random_split function in pytorch + """ + indices = randperm(sum(lengths), generator=generator).tolist() + Subsets = [] + for offset, length in zip(np.add.accumulate(lengths), lengths): + if length == 0: + Subsets.append(None) + else: + Subsets.append(Subset(dataset, indices[offset - length : offset])) + return Subsets diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/data/dataset.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/data/dataset.py new file mode 100644 index 0000000000000000000000000000000000000000..8b368cfa079941d5ebef7b3fedadda372d9660fa --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/data/dataset.py @@ -0,0 +1,529 @@ +import torch.utils.data as data +from torchvision import transforms +from PIL import Image +import os +import torch +import random +import numpy as np +import tifffile as tiff + +# from .util.mask import (bbox2mask, brush_stroke_mask, +# get_irregular_mask, random_bbox, random_cropping_bbox) + +IMG_EXTENSIONS = [ + '.jpg', '.JPG', '.jpeg', '.JPEG', + '.png', '.PNG', '.ppm', '.PPM', '.bmp', '.BMP', +] + + +def is_image_file(filename): + return any(filename.endswith(extension) for extension in IMG_EXTENSIONS) + + +def make_dataset(dir): + if os.path.isfile(dir): + images = [i for i in np.genfromtxt( + dir, dtype=np.str, encoding='utf-8')] + else: + images = [] + assert os.path.isdir(dir), '%s is not a valid directory' % dir + for root, _, fnames in sorted(os.walk(dir)): + for fname in sorted(fnames): + if is_image_file(fname): + path = os.path.join(root, fname) + images.append(path) + + return images + + +def pil_loader(path): + return Image.open(path).convert('RGB') + +class Sen2_MTC_New_Multi(data.Dataset): + def __init__(self, data_root, mode='train'): + self.data_root = data_root + self.mode = mode + self.filepair = [] + self.image_name = [] + + if mode == 'train': + self.tile_list = np.loadtxt(os.path.join( + self.data_root, 'train.txt'), dtype=str) + elif mode == 'val': + self.data_augmentation = None + self.tile_list = np.loadtxt( + os.path.join(self.data_root, 'val.txt'), dtype=str) + elif mode == 'test': + self.data_augmentation = None + self.tile_list = np.loadtxt( + os.path.join(self.data_root, 'test.txt'), dtype=str) + + for tile in self.tile_list: + image_name_list = [image_name.split('.')[0] for image_name in os.listdir( + os.path.join(self.data_root, 'Sen2_MTC', tile, 'cloudless'))] + + + for image_name in image_name_list: + image_cloud_path0 = os.path.join( + self.data_root, 'Sen2_MTC', tile, 'cloud', image_name + '_0.tif') + image_cloud_path1 = os.path.join( + self.data_root, 'Sen2_MTC', tile, 'cloud', image_name + '_1.tif') + image_cloud_path2 = os.path.join( + self.data_root, 'Sen2_MTC', tile, 'cloud', image_name + '_2.tif') + image_cloudless_path = os.path.join( + self.data_root, 'Sen2_MTC', tile, 'cloudless', image_name + '.tif') + + self.filepair.append( + [image_cloud_path0, image_cloud_path1, image_cloud_path2, image_cloudless_path]) + self.image_name.append(image_name) + + self.augment_rotation_param = np.random.randint( + 0, 4, len(self.filepair)) + self.augment_flip_param = np.random.randint(0, 3, len(self.filepair)) + self.index = 0 + + def __getitem__(self, index): + cloud_image_path0, cloud_image_path1, cloud_image_path2 = self.filepair[ + index][0], self.filepair[index][1], self.filepair[index][2] + cloudless_image_path = self.filepair[index][3] + + image_cloud0 = self.image_read(cloud_image_path0) + image_cloud1 = self.image_read(cloud_image_path1) + image_cloud2 = self.image_read(cloud_image_path2) + image_cloudless = self.image_read(cloudless_image_path) + + # return [image_cloud0, image_cloud1, image_cloud2], image_cloudless, self.image_name[index] + ret = {} + ret['gt_image'] = image_cloudless[:3, :, :] + ret['cond_image'] = torch.cat([image_cloud0[:3, :, :], image_cloud1[:3, :, :], image_cloud2[:3, :, :]]) + ret['path'] = self.image_name[index]+".png" + return ret + + def __len__(self): + return len(self.filepair) + + def image_read(self, image_path): + img = tiff.imread(image_path) + img = (img / 1.0).transpose((2, 0, 1)) + + if self.mode == 'train': + if not self.augment_flip_param[self.index // 4] == 0: + img = np.flip(img, self.augment_flip_param[self.index//4]) + if not self.augment_rotation_param[self.index // 4] == 0: + img = np.rot90( + img, self.augment_rotation_param[self.index // 4], (1, 2)) + self.index += 1 + + if self.index // 4 >= len(self.filepair): + self.index = 0 + + image = torch.from_numpy((img.copy())).float() + image = image / 10000.0 + mean = torch.as_tensor([0.5, 0.5, 0.5, 0.5], + dtype=image.dtype, device=image.device) + std = torch.as_tensor([0.5, 0.5, 0.5, 0.5], + dtype=image.dtype, device=image.device) + if mean.ndim == 1: + mean = mean.view(-1, 1, 1) + if std.ndim == 1: + std = std.view(-1, 1, 1) + image.sub_(mean).div_(std) + + return image + + +class Sen2_MTC_New1(data.Dataset): + def __init__(self, data_root, mode='train'): + self.data_root = data_root + self.mode = mode + self.filepair = [] + self.image_name = [] + + if mode == 'train': + self.tile_list = np.loadtxt(os.path.join( + self.data_root, 'train.txt'), dtype=str) + elif mode == 'val': + self.data_augmentation = None + self.tile_list = np.loadtxt( + os.path.join(self.data_root, 'val.txt'), dtype=str) + elif mode == 'test': + self.data_augmentation = None + self.tile_list = np.loadtxt( + os.path.join(self.data_root, 'test.txt'), dtype=str) + + for tile in self.tile_list: + image_name_list = [image_name.split('.')[0] for image_name in os.listdir( + os.path.join(self.data_root, 'Sen2_MTC', tile, 'cloudless'))] + + + for image_name in image_name_list: + image_cloud_path0 = os.path.join( + self.data_root, 'Sen2_MTC', tile, 'cloud', image_name + '_0.tif') + image_cloud_path1 = os.path.join( + self.data_root, 'Sen2_MTC', tile, 'cloud', image_name + '_1.tif') + image_cloud_path2 = os.path.join( + self.data_root, 'Sen2_MTC', tile, 'cloud', image_name + '_2.tif') + image_cloudless_path = os.path.join( + self.data_root, 'Sen2_MTC', tile, 'cloudless', image_name + '.tif') + + self.filepair.append( + [image_cloud_path0, image_cloud_path1, image_cloud_path2, image_cloudless_path]) + self.image_name.append(image_name) + + self.augment_rotation_param = np.random.randint( + 0, 4, len(self.filepair)) + self.augment_flip_param = np.random.randint(0, 3, len(self.filepair)) + self.index = 0 + + def __getitem__(self, index): + cloud_image_path0, cloud_image_path1, cloud_image_path2 = self.filepair[ + index][0], self.filepair[index][1], self.filepair[index][2] + cloudless_image_path = self.filepair[index][3] + + image_cloud0 = self.image_read(cloud_image_path0) + image_cloud1 = self.image_read(cloud_image_path1) + image_cloud2 = self.image_read(cloud_image_path2) + image_cloudless = self.image_read(cloudless_image_path) + + # return [image_cloud0, image_cloud1, image_cloud2], image_cloudless, self.image_name[index] + ret = {} + ret['gt_image'] = image_cloudless[:3, :, :] + if self.mode=="train": + ret['cond_image'] = random.choice([image_cloud0, image_cloud1, image_cloud2])[:3, :, :] + else: + ret['cond_image'] = image_cloud0[:3, :, :] + ret['path'] = self.image_name[index]+".png" + return ret + + def __len__(self): + return len(self.filepair) + + def image_read(self, image_path): + img = tiff.imread(image_path) + img = (img / 1.0).transpose((2, 0, 1)) + + if self.mode == 'train': + if not self.augment_flip_param[self.index // 4] == 0: + img = np.flip(img, self.augment_flip_param[self.index//4]) + if not self.augment_rotation_param[self.index // 4] == 0: + img = np.rot90( + img, self.augment_rotation_param[self.index // 4], (1, 2)) + self.index += 1 + + if self.index // 4 >= len(self.filepair): + self.index = 0 + + image = torch.from_numpy((img.copy())).float() + image = image / 10000.0 + mean = torch.as_tensor([0.5, 0.5, 0.5, 0.5], + dtype=image.dtype, device=image.device) + std = torch.as_tensor([0.5, 0.5, 0.5, 0.5], + dtype=image.dtype, device=image.device) + if mean.ndim == 1: + mean = mean.view(-1, 1, 1) + if std.ndim == 1: + std = std.view(-1, 1, 1) + image.sub_(mean).div_(std) + + return image + +class Sen2_MTC_New2(data.Dataset): + def __init__(self, data_root, mode='train'): + self.data_root = data_root + self.mode = mode + self.filepair = [] + self.image_name = [] + + if mode == 'train': + self.tile_list = np.loadtxt(os.path.join( + self.data_root, 'train.txt'), dtype=str) + elif mode == 'val': + self.data_augmentation = None + self.tile_list = np.loadtxt( + os.path.join(self.data_root, 'val.txt'), dtype=str) + elif mode == 'test': + self.data_augmentation = None + self.tile_list = np.loadtxt( + os.path.join(self.data_root, 'test.txt'), dtype=str) + + for tile in self.tile_list: + image_name_list = [image_name.split('.')[0] for image_name in os.listdir( + os.path.join(self.data_root, 'Sen2_MTC', tile, 'cloudless'))] + + + for image_name in image_name_list: + image_cloud_path0 = os.path.join( + self.data_root, 'Sen2_MTC', tile, 'cloud', image_name + '_0.tif') + image_cloud_path1 = os.path.join( + self.data_root, 'Sen2_MTC', tile, 'cloud', image_name + '_1.tif') + image_cloud_path2 = os.path.join( + self.data_root, 'Sen2_MTC', tile, 'cloud', image_name + '_2.tif') + image_cloudless_path = os.path.join( + self.data_root, 'Sen2_MTC', tile, 'cloudless', image_name + '.tif') + + self.filepair.append( + [image_cloud_path0, image_cloud_path1, image_cloud_path2, image_cloudless_path]) + self.image_name.append(image_name) + + self.augment_rotation_param = np.random.randint( + 0, 4, len(self.filepair)) + self.augment_flip_param = np.random.randint(0, 3, len(self.filepair)) + self.index = 0 + + def __getitem__(self, index): + cloud_image_path0, cloud_image_path1, cloud_image_path2 = self.filepair[ + index][0], self.filepair[index][1], self.filepair[index][2] + cloudless_image_path = self.filepair[index][3] + + image_cloud0 = self.image_read(cloud_image_path0) + image_cloud1 = self.image_read(cloud_image_path1) + image_cloud2 = self.image_read(cloud_image_path2) + image_cloudless = self.image_read(cloudless_image_path) + + # return [image_cloud0, image_cloud1, image_cloud2], image_cloudless, self.image_name[index] + ret = {} + ret['gt_image'] = image_cloudless[:3, :, :] + if self.mode=="train": + ret['cond_image'] = torch.cat(random.sample((image_cloud0[:3, :, :], image_cloud1[:3, :, :], image_cloud2[:3, :, :]), 2)) + else: + ret['cond_image'] = torch.cat(image_cloud0[:3, :, :], image_cloud1[:3, :, :]) + ret['path'] = self.image_name[index]+".png" + return ret + + def __len__(self): + return len(self.filepair) + + def image_read(self, image_path): + img = tiff.imread(image_path) + img = (img / 1.0).transpose((2, 0, 1)) + + if self.mode == 'train': + if not self.augment_flip_param[self.index // 4] == 0: + img = np.flip(img, self.augment_flip_param[self.index//4]) + if not self.augment_rotation_param[self.index // 4] == 0: + img = np.rot90( + img, self.augment_rotation_param[self.index // 4], (1, 2)) + self.index += 1 + + if self.index // 4 >= len(self.filepair): + self.index = 0 + + image = torch.from_numpy((img.copy())).float() + image = image / 10000.0 + mean = torch.as_tensor([0.5, 0.5, 0.5, 0.5], + dtype=image.dtype, device=image.device) + std = torch.as_tensor([0.5, 0.5, 0.5, 0.5], + dtype=image.dtype, device=image.device) + if mean.ndim == 1: + mean = mean.view(-1, 1, 1) + if std.ndim == 1: + std = std.view(-1, 1, 1) + image.sub_(mean).div_(std) + + return image + +class InpaintDataset(data.Dataset): + def __init__(self, data_root, mask_config={}, data_len=-1, image_size=[256, 256], loader=pil_loader): + imgs = make_dataset(data_root) + if data_len > 0: + self.imgs = imgs[:int(data_len)] + else: + self.imgs = imgs + self.tfs = transforms.Compose([ + transforms.Resize((image_size[0], image_size[1])), + transforms.ToTensor(), + transforms.Normalize(mean=[0.5, 0.5, 0.5], std=[0.5, 0.5, 0.5]) + ]) + self.loader = loader + self.mask_config = mask_config + self.mask_mode = self.mask_config['mask_mode'] + self.image_size = image_size + + def __getitem__(self, index): + ret = {} + path = self.imgs[index] + img = self.tfs(self.loader(path)) + mask = self.get_mask() + cond_image = img*(1. - mask) + mask*torch.randn_like(img) + mask_img = img*(1. - mask) + mask + + ret['gt_image'] = img + ret['cond_image'] = cond_image + ret['mask_image'] = mask_img + ret['mask'] = mask + ret['path'] = path.rsplit("/")[-1].rsplit("\\")[-1] + return ret + + def __len__(self): + return len(self.imgs) + + def get_mask(self): + if self.mask_mode == 'bbox': + mask = bbox2mask(self.image_size, random_bbox()) + elif self.mask_mode == 'center': + h, w = self.image_size + mask = bbox2mask(self.image_size, (h//4, w//4, h//2, w//2)) + elif self.mask_mode == 'irregular': + mask = get_irregular_mask(self.image_size) + elif self.mask_mode == 'free_form': + mask = brush_stroke_mask(self.image_size) + elif self.mask_mode == 'hybrid': + regular_mask = bbox2mask(self.image_size, random_bbox()) + irregular_mask = brush_stroke_mask(self.image_size, ) + mask = regular_mask | irregular_mask + elif self.mask_mode == 'file': + pass + else: + raise NotImplementedError( + f'Mask mode {self.mask_mode} has not been implemented.') + return torch.from_numpy(mask).permute(2, 0, 1) + + +class UncroppingDataset(data.Dataset): + def __init__(self, data_root, mask_config={}, data_len=-1, image_size=[256, 256], loader=pil_loader): + imgs = make_dataset(data_root) + if data_len > 0: + self.imgs = imgs[:int(data_len)] + else: + self.imgs = imgs + self.tfs = transforms.Compose([ + transforms.Resize((image_size[0], image_size[1])), + transforms.ToTensor(), + transforms.Normalize(mean=[0.5, 0.5, 0.5], std=[0.5, 0.5, 0.5]) + ]) + self.loader = loader + self.mask_config = mask_config + self.mask_mode = self.mask_config['mask_mode'] + self.image_size = image_size + + def __getitem__(self, index): + ret = {} + path = self.imgs[index] + img = self.tfs(self.loader(path)) + mask = self.get_mask() + cond_image = img*(1. - mask) + mask*torch.randn_like(img) + mask_img = img*(1. - mask) + mask + + ret['gt_image'] = img + ret['cond_image'] = cond_image + ret['mask_image'] = mask_img + ret['mask'] = mask + ret['path'] = path.rsplit("/")[-1].rsplit("\\")[-1] + return ret + + def __len__(self): + return len(self.imgs) + + def get_mask(self): + if self.mask_mode == 'manual': + mask = bbox2mask(self.image_size, self.mask_config['shape']) + elif self.mask_mode == 'fourdirection' or self.mask_mode == 'onedirection': + mask = bbox2mask(self.image_size, random_cropping_bbox( + mask_mode=self.mask_mode)) + elif self.mask_mode == 'hybrid': + if np.random.randint(0, 2) < 1: + mask = bbox2mask(self.image_size, random_cropping_bbox( + mask_mode='onedirection')) + else: + mask = bbox2mask(self.image_size, random_cropping_bbox( + mask_mode='fourdirection')) + elif self.mask_mode == 'file': + pass + else: + raise NotImplementedError( + f'Mask mode {self.mask_mode} has not been implemented.') + return torch.from_numpy(mask).permute(2, 0, 1) + + +class ColorizationDataset(data.Dataset): + def __init__(self, data_root, data_flist, data_len=-1, image_size=[224, 224], loader=pil_loader): + self.data_root = data_root + flist = make_dataset(data_flist) + if data_len > 0: + self.flist = flist[:int(data_len)] + else: + self.flist = flist + self.tfs = transforms.Compose([ + transforms.Resize((image_size[0], image_size[1])), + transforms.ToTensor(), + transforms.Normalize(mean=[0.5, 0.5, 0.5], std=[0.5, 0.5, 0.5]) + ]) + self.loader = loader + self.image_size = image_size + + def __getitem__(self, index): + ret = {} + file_name = str(self.flist[index]).zfill(5) + '.png' + + img = self.tfs(self.loader( + '{}/{}/{}'.format(self.data_root, 'color', file_name))) + cond_image = self.tfs(self.loader( + '{}/{}/{}'.format(self.data_root, 'gray', file_name))) + + ret['gt_image'] = img + ret['cond_image'] = cond_image + ret['path'] = file_name + return ret + + def __len__(self): + return len(self.flist) + +if __name__=='__main__': + import numpy as np + def get_rgb_tensor(image): + image = image*0.5+0.5 + rgb = image[:3, :, :] + rgb = rgb - torch.min(rgb) + + # treat saturated images, scale values + if torch.max(rgb) == 0: + rgb = 255 * torch.ones_like(rgb) + else: + rgb = 255 * (rgb / torch.max(rgb)) + + rgb = rgb.type(torch.uint8) + + # return rgb.float() + return rgb.permute(1, 2, 0).contiguous() + def get_rgb(image): + image = image.mul(0.5).add_(0.5) + image = image.squeeze() + image = image.mul(10000).add_(0.5).clamp_(0, 10000) + image = image.permute(1, 2, 0).cpu().detach().numpy() + image = image.astype(np.uint16) + + r = image[:, :, 0] + g = image[:, :, 1] + b = image[:, :, 2] + + r = np.clip(r, 0, 2000) + g = np.clip(g, 0, 2000) + b = np.clip(b, 0, 2000) + + rgb = np.dstack((r, g, b)) + rgb = rgb - np.nanmin(rgb) + + if np.nanmax(rgb) == 0: + rgb = 255 * np.ones_like(rgb) + else: + rgb = 255 * (rgb / np.nanmax(rgb)) + + rgb[np.isnan(rgb)] = np.nanmean(rgb) + rgb = rgb.astype(np.uint8) + + return rgb + for ret in Sen2_MTC_New("datasets", "val"): + # if ret["path"] == "T34TDT_R036_69.png": + # img = ret['gt_image'].permute(1, 2, 0)[:, :, :3] + # img = img.clamp_(*(-1, 1)).numpy() + # # img = ((img+1) * 127.5).round() + # img = img*10000 + # img = img.astype(np.uint8) + # Image.fromarray(img).save("gt.png") + # import time + # t1 = time.time() + # img = get_rgb_tensor(ret['gt_image']) + # delta = time.time()-t1 + # print(delta) + Image.fromarray(((ret['cond_image']*0.5+0.5)*255).permute(1, 2, 0).numpy().astype(np.uint8)).save("cond.png") + break \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/data/util/auto_augment.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/data/util/auto_augment.py new file mode 100644 index 0000000000000000000000000000000000000000..f01822c06fdd24539bbc80d2e5c3443d60fbd8ca --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/data/util/auto_augment.py @@ -0,0 +1,305 @@ +import random +import numpy as np +from scipy import ndimage +from PIL import Image, ImageEnhance, ImageOps + + +class AutoAugment(object): + def __init__(self): + self.policies = [ + ['Invert', 0.1, 7, 'Contrast', 0.2, 6], + ['Rotate', 0.7, 2, 'TranslateX', 0.3, 9], + ['Sharpness', 0.8, 1, 'Sharpness', 0.9, 3], + ['ShearY', 0.5, 8, 'TranslateY', 0.7, 9], + ['AutoContrast', 0.5, 8, 'Equalize', 0.9, 2], + ['ShearY', 0.2, 7, 'Posterize', 0.3, 7], + ['Color', 0.4, 3, 'Brightness', 0.6, 7], + ['Sharpness', 0.3, 9, 'Brightness', 0.7, 9], + ['Equalize', 0.6, 5, 'Equalize', 0.5, 1], + ['Contrast', 0.6, 7, 'Sharpness', 0.6, 5], + ['Color', 0.7, 7, 'TranslateX', 0.5, 8], + ['Equalize', 0.3, 7, 'AutoContrast', 0.4, 8], + ['TranslateY', 0.4, 3, 'Sharpness', 0.2, 6], + ['Brightness', 0.9, 6, 'Color', 0.2, 8], + ['Solarize', 0.5, 2, 'Invert', 0, 0.3], + ['Equalize', 0.2, 0, 'AutoContrast', 0.6, 0], + ['Equalize', 0.2, 8, 'Equalize', 0.6, 4], + ['Color', 0.9, 9, 'Equalize', 0.6, 6], + ['AutoContrast', 0.8, 4, 'Solarize', 0.2, 8], + ['Brightness', 0.1, 3, 'Color', 0.7, 0], + ['Solarize', 0.4, 5, 'AutoContrast', 0.9, 3], + ['TranslateY', 0.9, 9, 'TranslateY', 0.7, 9], + ['AutoContrast', 0.9, 2, 'Solarize', 0.8, 3], + ['Equalize', 0.8, 8, 'Invert', 0.1, 3], + ['TranslateY', 0.7, 9, 'AutoContrast', 0.9, 1], + ] + + def __call__(self, img): + img = apply_policy(img, self.policies[random.randrange(len(self.policies))]) + return img + + +class ImageNetAutoAugment(object): + def __init__(self): + self.policies = [ + ['Posterize', 0.4, 8, 'Rotate', 0.6, 9], + ['Solarize', 0.6, 5, 'AutoContrast', 0.6, 5], + ['Equalize', 0.8, 8, 'Equalize', 0.6, 3], + ['Posterize', 0.6, 7, 'Posterize', 0.6, 6], + ['Equalize', 0.4, 7, 'Solarize', 0.2, 4], + ['Equalize', 0.4, 4, 'Rotate', 0.8, 8], + ['Solarize', 0.6, 3, 'Equalize', 0.6, 7], + ['Posterize', 0.8, 5, 'Equalize', 1.0, 2], + ['Rotate', 0.2, 3, 'Solarize', 0.6, 8], + ['Equalize', 0.6, 8, 'Posterize', 0.4, 6], + ['Rotate', 0.8, 8, 'Color', 0.4, 0], + ['Rotate', 0.4, 9, 'Equalize', 0.6, 2], + ['Equalize', 0.0, 0.7, 'Equalize', 0.8, 8], + ['Invert', 0.6, 4, 'Equalize', 1.0, 8], + ['Color', 0.6, 4, 'Contrast', 1.0, 8], + ['Rotate', 0.8, 8, 'Color', 1.0, 2], + ['Color', 0.8, 8, 'Solarize', 0.8, 7], + ['Sharpness', 0.4, 7, 'Invert', 0.6, 8], + ['ShearX', 0.6, 5, 'Equalize', 1.0, 9], + ['Color', 0.4, 0, 'Equalize', 0.6, 3], + ['Equalize', 0.4, 7, 'Solarize', 0.2, 4], + ['Solarize', 0.6, 5, 'AutoContrast', 0.6, 5], + ['Invert', 0.6, 4, 'Equalize', 1.0, 8], + ['Color', 0.6, 4, 'Contrast', 1.0, 8], + ['Equalize', 0.8, 8, 'Equalize', 0.6, 3] + ] + + def __call__(self, img): + img = apply_policy(img, self.policies[random.randrange(len(self.policies))]) + return img + + +operations = { + 'ShearX': lambda img, magnitude: shear_x(img, magnitude), + 'ShearY': lambda img, magnitude: shear_y(img, magnitude), + 'TranslateX': lambda img, magnitude: translate_x(img, magnitude), + 'TranslateY': lambda img, magnitude: translate_y(img, magnitude), + 'Rotate': lambda img, magnitude: rotate(img, magnitude), + 'AutoContrast': lambda img, magnitude: auto_contrast(img, magnitude), + 'Invert': lambda img, magnitude: invert(img, magnitude), + 'Equalize': lambda img, magnitude: equalize(img, magnitude), + 'Solarize': lambda img, magnitude: solarize(img, magnitude), + 'Posterize': lambda img, magnitude: posterize(img, magnitude), + 'Contrast': lambda img, magnitude: contrast(img, magnitude), + 'Color': lambda img, magnitude: color(img, magnitude), + 'Brightness': lambda img, magnitude: brightness(img, magnitude), + 'Sharpness': lambda img, magnitude: sharpness(img, magnitude), + 'Cutout': lambda img, magnitude: cutout(img, magnitude), +} + + +def apply_policy(img, policy): + if random.random() < policy[1]: + img = operations[policy[0]](img, policy[2]) + if random.random() < policy[4]: + img = operations[policy[3]](img, policy[5]) + + return img + + +def transform_matrix_offset_center(matrix, x, y): + o_x = float(x) / 2 + 0.5 + o_y = float(y) / 2 + 0.5 + offset_matrix = np.array([[1, 0, o_x], [0, 1, o_y], [0, 0, 1]]) + reset_matrix = np.array([[1, 0, -o_x], [0, 1, -o_y], [0, 0, 1]]) + transform_matrix = offset_matrix @ matrix @ reset_matrix + return transform_matrix + + +def shear_x(img, magnitude): + img = np.array(img) + magnitudes = np.linspace(-0.3, 0.3, 11) + + transform_matrix = np.array([[1, random.uniform(magnitudes[magnitude], magnitudes[magnitude+1]), 0], + [0, 1, 0], + [0, 0, 1]]) + transform_matrix = transform_matrix_offset_center(transform_matrix, img.shape[0], img.shape[1]) + affine_matrix = transform_matrix[:2, :2] + offset = transform_matrix[:2, 2] + img = np.stack([ndimage.interpolation.affine_transform( + img[:, :, c], + affine_matrix, + offset) for c in range(img.shape[2])], axis=2) + img = Image.fromarray(img) + return img + + +def shear_y(img, magnitude): + img = np.array(img) + magnitudes = np.linspace(-0.3, 0.3, 11) + + transform_matrix = np.array([[1, 0, 0], + [random.uniform(magnitudes[magnitude], magnitudes[magnitude+1]), 1, 0], + [0, 0, 1]]) + transform_matrix = transform_matrix_offset_center(transform_matrix, img.shape[0], img.shape[1]) + affine_matrix = transform_matrix[:2, :2] + offset = transform_matrix[:2, 2] + img = np.stack([ndimage.interpolation.affine_transform( + img[:, :, c], + affine_matrix, + offset) for c in range(img.shape[2])], axis=2) + img = Image.fromarray(img) + return img + + +def translate_x(img, magnitude): + img = np.array(img) + magnitudes = np.linspace(-150/331, 150/331, 11) + + transform_matrix = np.array([[1, 0, 0], + [0, 1, img.shape[1]*random.uniform(magnitudes[magnitude], magnitudes[magnitude+1])], + [0, 0, 1]]) + transform_matrix = transform_matrix_offset_center(transform_matrix, img.shape[0], img.shape[1]) + affine_matrix = transform_matrix[:2, :2] + offset = transform_matrix[:2, 2] + img = np.stack([ndimage.interpolation.affine_transform( + img[:, :, c], + affine_matrix, + offset) for c in range(img.shape[2])], axis=2) + img = Image.fromarray(img) + return img + + +def translate_y(img, magnitude): + img = np.array(img) + magnitudes = np.linspace(-150/331, 150/331, 11) + + transform_matrix = np.array([[1, 0, img.shape[0]*random.uniform(magnitudes[magnitude], magnitudes[magnitude+1])], + [0, 1, 0], + [0, 0, 1]]) + transform_matrix = transform_matrix_offset_center(transform_matrix, img.shape[0], img.shape[1]) + affine_matrix = transform_matrix[:2, :2] + offset = transform_matrix[:2, 2] + img = np.stack([ndimage.interpolation.affine_transform( + img[:, :, c], + affine_matrix, + offset) for c in range(img.shape[2])], axis=2) + img = Image.fromarray(img) + return img + + +def rotate(img, magnitude): + img = np.array(img) + magnitudes = np.linspace(-30, 30, 11) + theta = np.deg2rad(random.uniform(magnitudes[magnitude], magnitudes[magnitude+1])) + transform_matrix = np.array([[np.cos(theta), -np.sin(theta), 0], + [np.sin(theta), np.cos(theta), 0], + [0, 0, 1]]) + transform_matrix = transform_matrix_offset_center(transform_matrix, img.shape[0], img.shape[1]) + affine_matrix = transform_matrix[:2, :2] + offset = transform_matrix[:2, 2] + img = np.stack([ndimage.interpolation.affine_transform( + img[:, :, c], + affine_matrix, + offset) for c in range(img.shape[2])], axis=2) + img = Image.fromarray(img) + return img + + +def auto_contrast(img, magnitude): + img = ImageOps.autocontrast(img) + return img + + +def invert(img, magnitude): + img = ImageOps.invert(img) + return img + + +def equalize(img, magnitude): + img = ImageOps.equalize(img) + return img + + +def solarize(img, magnitude): + magnitudes = np.linspace(0, 256, 11) + img = ImageOps.solarize(img, random.uniform(magnitudes[magnitude], magnitudes[magnitude+1])) + return img + + +def posterize(img, magnitude): + magnitudes = np.linspace(4, 8, 11) + img = ImageOps.posterize(img, int(round(random.uniform(magnitudes[magnitude], magnitudes[magnitude+1])))) + return img + + +def contrast(img, magnitude): + magnitudes = np.linspace(0.1, 1.9, 11) + img = ImageEnhance.Contrast(img).enhance(random.uniform(magnitudes[magnitude], magnitudes[magnitude+1])) + return img + + +def color(img, magnitude): + magnitudes = np.linspace(0.1, 1.9, 11) + img = ImageEnhance.Color(img).enhance(random.uniform(magnitudes[magnitude], magnitudes[magnitude+1])) + return img + + +def brightness(img, magnitude): + magnitudes = np.linspace(0.1, 1.9, 11) + img = ImageEnhance.Brightness(img).enhance(random.uniform(magnitudes[magnitude], magnitudes[magnitude+1])) + return img + + +def sharpness(img, magnitude): + magnitudes = np.linspace(0.1, 1.9, 11) + img = ImageEnhance.Sharpness(img).enhance(random.uniform(magnitudes[magnitude], magnitudes[magnitude+1])) + return img + + +def cutout(org_img, magnitude=None): + + magnitudes = np.linspace(0, 60/331, 11) + + img = np.copy(org_img) + mask_val = img.mean() + + if magnitude is None: + mask_size = 16 + else: + mask_size = int(round(img.shape[0]*random.uniform(magnitudes[magnitude], magnitudes[magnitude+1]))) + top = np.random.randint(0 - mask_size//2, img.shape[0] - mask_size) + left = np.random.randint(0 - mask_size//2, img.shape[1] - mask_size) + bottom = top + mask_size + right = left + mask_size + + if top < 0: + top = 0 + if left < 0: + left = 0 + + img[top:bottom, left:right, :].fill(mask_val) + + img = Image.fromarray(img) + + return img + + +class Cutout(object): + + def __init__(self, length=16): + self.length = length + + def __call__(self, img): + img = np.array(img) + + mask_val = img.mean() + + top = np.random.randint(0 - self.length//2, img.shape[0] - self.length) + left = np.random.randint(0 - self.length//2, img.shape[1] - self.length) + bottom = top + self.length + right = left + self.length + + top = 0 if top < 0 else top + left = 0 if left < 0 else top + + img[top:bottom, left:right, :] = mask_val + + img = Image.fromarray(img) + + return img \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/data/util/mask.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/data/util/mask.py new file mode 100644 index 0000000000000000000000000000000000000000..04ca0080418f0168f4bacb3954ba1c14f8ea9358 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/data/util/mask.py @@ -0,0 +1,338 @@ +# Copyright (c) OpenMMLab. All rights reserved. +import math + +import cv2 +import numpy as np +from PIL import Image, ImageDraw + + +def random_cropping_bbox(img_shape=(256,256), mask_mode='onedirection'): + h, w = img_shape + if mask_mode == 'onedirection': + _type = np.random.randint(0, 4) + if _type == 0: + top, left, height, width = 0, 0, h, w//2 + elif _type == 1: + top, left, height, width = 0, 0, h//2, w + elif _type == 2: + top, left, height, width = h//2, 0, h//2, w + elif _type == 3: + top, left, height, width = 0, w//2, h, w//2 + else: + target_area = (h*w)//2 + width = np.random.randint(target_area//h, w) + height = target_area//width + if h==height: + top = 0 + else: + top = np.random.randint(0, h-height) + if w==width: + left = 0 + else: + left = np.random.randint(0, w-width) + return (top, left, height, width) + +def random_bbox(img_shape=(256,256), max_bbox_shape=(128, 128), max_bbox_delta=40, min_margin=20): + """Generate a random bbox for the mask on a given image. + + In our implementation, the max value cannot be obtained since we use + `np.random.randint`. And this may be different with other standard scripts + in the community. + + Args: + img_shape (tuple[int]): The size of a image, in the form of (h, w). + max_bbox_shape (int | tuple[int]): Maximum shape of the mask box, + in the form of (h, w). If it is an integer, the mask box will be + square. + max_bbox_delta (int | tuple[int]): Maximum delta of the mask box, + in the form of (delta_h, delta_w). If it is an integer, delta_h + and delta_w will be the same. Mask shape will be randomly sampled + from the range of `max_bbox_shape - max_bbox_delta` and + `max_bbox_shape`. Default: (40, 40). + min_margin (int | tuple[int]): The minimum margin size from the + edges of mask box to the image boarder, in the form of + (margin_h, margin_w). If it is an integer, margin_h and margin_w + will be the same. Default: (20, 20). + + Returns: + tuple[int]: The generated box, (top, left, h, w). + """ + if not isinstance(max_bbox_shape, tuple): + max_bbox_shape = (max_bbox_shape, max_bbox_shape) + if not isinstance(max_bbox_delta, tuple): + max_bbox_delta = (max_bbox_delta, max_bbox_delta) + if not isinstance(min_margin, tuple): + min_margin = (min_margin, min_margin) + + img_h, img_w = img_shape[:2] + max_mask_h, max_mask_w = max_bbox_shape + max_delta_h, max_delta_w = max_bbox_delta + margin_h, margin_w = min_margin + + if max_mask_h > img_h or max_mask_w > img_w: + raise ValueError(f'mask shape {max_bbox_shape} should be smaller than ' + f'image shape {img_shape}') + if (max_delta_h // 2 * 2 >= max_mask_h + or max_delta_w // 2 * 2 >= max_mask_w): + raise ValueError(f'mask delta {max_bbox_delta} should be smaller than' + f'mask shape {max_bbox_shape}') + if img_h - max_mask_h < 2 * margin_h or img_w - max_mask_w < 2 * margin_w: + raise ValueError(f'Margin {min_margin} cannot be satisfied for img' + f'shape {img_shape} and mask shape {max_bbox_shape}') + + # get the max value of (top, left) + max_top = img_h - margin_h - max_mask_h + max_left = img_w - margin_w - max_mask_w + # randomly select a (top, left) + top = np.random.randint(margin_h, max_top) + left = np.random.randint(margin_w, max_left) + # randomly shrink the shape of mask box according to `max_bbox_delta` + # the center of box is fixed + delta_top = np.random.randint(0, max_delta_h // 2 + 1) + delta_left = np.random.randint(0, max_delta_w // 2 + 1) + top = top + delta_top + left = left + delta_left + h = max_mask_h - delta_top + w = max_mask_w - delta_left + return (top, left, h, w) + + +def bbox2mask(img_shape, bbox, dtype='uint8'): + """Generate mask in ndarray from bbox. + + The returned mask has the shape of (h, w, 1). '1' indicates the + hole and '0' indicates the valid regions. + + We prefer to use `uint8` as the data type of masks, which may be different + from other codes in the community. + + Args: + img_shape (tuple[int]): The size of the image. + bbox (tuple[int]): Configuration tuple, (top, left, height, width) + dtype (str): Indicate the data type of returned masks. Default: 'uint8' + + Return: + numpy.ndarray: Mask in the shape of (h, w, 1). + """ + + height, width = img_shape[:2] + + mask = np.zeros((height, width, 1), dtype=dtype) + mask[bbox[0]:bbox[0] + bbox[2], bbox[1]:bbox[1] + bbox[3], :] = 1 + + return mask + + +def brush_stroke_mask(img_shape, + num_vertices=(4, 12), + mean_angle=2 * math.pi / 5, + angle_range=2 * math.pi / 15, + brush_width=(12, 40), + max_loops=4, + dtype='uint8'): + """Generate free-form mask. + + The method of generating free-form mask is in the following paper: + Free-Form Image Inpainting with Gated Convolution. + + When you set the config of this type of mask. You may note the usage of + `np.random.randint` and the range of `np.random.randint` is [left, right). + + We prefer to use `uint8` as the data type of masks, which may be different + from other codes in the community. + + TODO: Rewrite the implementation of this function. + + Args: + img_shape (tuple[int]): Size of the image. + num_vertices (int | tuple[int]): Min and max number of vertices. If + only give an integer, we will fix the number of vertices. + Default: (4, 12). + mean_angle (float): Mean value of the angle in each vertex. The angle + is measured in radians. Default: 2 * math.pi / 5. + angle_range (float): Range of the random angle. + Default: 2 * math.pi / 15. + brush_width (int | tuple[int]): (min_width, max_width). If only give + an integer, we will fix the width of brush. Default: (12, 40). + max_loops (int): The max number of for loops of drawing strokes. + dtype (str): Indicate the data type of returned masks. + Default: 'uint8'. + + Returns: + numpy.ndarray: Mask in the shape of (h, w, 1). + """ + + img_h, img_w = img_shape[:2] + if isinstance(num_vertices, int): + min_num_vertices, max_num_vertices = num_vertices, num_vertices + 1 + elif isinstance(num_vertices, tuple): + min_num_vertices, max_num_vertices = num_vertices + else: + raise TypeError('The type of num_vertices should be int' + f'or tuple[int], but got type: {num_vertices}') + + if isinstance(brush_width, tuple): + min_width, max_width = brush_width + elif isinstance(brush_width, int): + min_width, max_width = brush_width, brush_width + 1 + else: + raise TypeError('The type of brush_width should be int' + f'or tuple[int], but got type: {brush_width}') + + average_radius = math.sqrt(img_h * img_h + img_w * img_w) / 8 + mask = Image.new('L', (img_w, img_h), 0) + + loop_num = np.random.randint(1, max_loops) + num_vertex_list = np.random.randint( + min_num_vertices, max_num_vertices, size=loop_num) + angle_min_list = np.random.uniform(0, angle_range, size=loop_num) + angle_max_list = np.random.uniform(0, angle_range, size=loop_num) + + for loop_n in range(loop_num): + num_vertex = num_vertex_list[loop_n] + angle_min = mean_angle - angle_min_list[loop_n] + angle_max = mean_angle + angle_max_list[loop_n] + angles = [] + vertex = [] + + # set random angle on each vertex + angles = np.random.uniform(angle_min, angle_max, size=num_vertex) + reverse_mask = (np.arange(num_vertex, dtype=np.float32) % 2) == 0 + angles[reverse_mask] = 2 * math.pi - angles[reverse_mask] + + h, w = mask.size + + # set random vertices + vertex.append((np.random.randint(0, w), np.random.randint(0, h))) + r_list = np.random.normal( + loc=average_radius, scale=average_radius // 2, size=num_vertex) + for i in range(num_vertex): + r = np.clip(r_list[i], 0, 2 * average_radius) + new_x = np.clip(vertex[-1][0] + r * math.cos(angles[i]), 0, w) + new_y = np.clip(vertex[-1][1] + r * math.sin(angles[i]), 0, h) + vertex.append((int(new_x), int(new_y))) + # draw brush strokes according to the vertex and angle list + draw = ImageDraw.Draw(mask) + width = np.random.randint(min_width, max_width) + draw.line(vertex, fill=1, width=width) + for v in vertex: + draw.ellipse((v[0] - width // 2, v[1] - width // 2, + v[0] + width // 2, v[1] + width // 2), + fill=1) + # randomly flip the mask + if np.random.normal() > 0: + mask.transpose(Image.FLIP_LEFT_RIGHT) + if np.random.normal() > 0: + mask.transpose(Image.FLIP_TOP_BOTTOM) + mask = np.array(mask).astype(dtype=getattr(np, dtype)) + mask = mask[:, :, None] + return mask + + +def random_irregular_mask(img_shape, + num_vertices=(4, 8), + max_angle=4, + length_range=(10, 100), + brush_width=(10, 40), + dtype='uint8'): + """Generate random irregular masks. + + This is a modified version of free-form mask implemented in + 'brush_stroke_mask'. + + We prefer to use `uint8` as the data type of masks, which may be different + from other codes in the community. + + TODO: Rewrite the implementation of this function. + + Args: + img_shape (tuple[int]): Size of the image. + num_vertices (int | tuple[int]): Min and max number of vertices. If + only give an integer, we will fix the number of vertices. + Default: (4, 8). + max_angle (float): Max value of angle at each vertex. Default 4.0. + length_range (int | tuple[int]): (min_length, max_length). If only give + an integer, we will fix the length of brush. Default: (10, 100). + brush_width (int | tuple[int]): (min_width, max_width). If only give + an integer, we will fix the width of brush. Default: (10, 40). + dtype (str): Indicate the data type of returned masks. Default: 'uint8' + + Returns: + numpy.ndarray: Mask in the shape of (h, w, 1). + """ + + h, w = img_shape[:2] + + mask = np.zeros((h, w), dtype=dtype) + if isinstance(length_range, int): + min_length, max_length = length_range, length_range + 1 + elif isinstance(length_range, tuple): + min_length, max_length = length_range + else: + raise TypeError('The type of length_range should be int' + f'or tuple[int], but got type: {length_range}') + if isinstance(num_vertices, int): + min_num_vertices, max_num_vertices = num_vertices, num_vertices + 1 + elif isinstance(num_vertices, tuple): + min_num_vertices, max_num_vertices = num_vertices + else: + raise TypeError('The type of num_vertices should be int' + f'or tuple[int], but got type: {num_vertices}') + + if isinstance(brush_width, int): + min_brush_width, max_brush_width = brush_width, brush_width + 1 + elif isinstance(brush_width, tuple): + min_brush_width, max_brush_width = brush_width + else: + raise TypeError('The type of brush_width should be int' + f'or tuple[int], but got type: {brush_width}') + + num_v = np.random.randint(min_num_vertices, max_num_vertices) + + for i in range(num_v): + start_x = np.random.randint(w) + start_y = np.random.randint(h) + # from the start point, randomly setlect n \in [1, 6] directions. + direction_num = np.random.randint(1, 6) + angle_list = np.random.randint(0, max_angle, size=direction_num) + length_list = np.random.randint( + min_length, max_length, size=direction_num) + brush_width_list = np.random.randint( + min_brush_width, max_brush_width, size=direction_num) + for direct_n in range(direction_num): + angle = 0.01 + angle_list[direct_n] + if i % 2 == 0: + angle = 2 * math.pi - angle + length = length_list[direct_n] + brush_w = brush_width_list[direct_n] + # compute end point according to the random angle + end_x = (start_x + length * np.sin(angle)).astype(np.int32) + end_y = (start_y + length * np.cos(angle)).astype(np.int32) + + cv2.line(mask, (start_y, start_x), (end_y, end_x), 1, brush_w) + start_x, start_y = end_x, end_y + mask = np.expand_dims(mask, axis=2) + + return mask + + +def get_irregular_mask(img_shape, area_ratio_range=(0.15, 0.5), **kwargs): + """Get irregular mask with the constraints in mask ratio + + Args: + img_shape (tuple[int]): Size of the image. + area_ratio_range (tuple(float)): Contain the minimum and maximum area + ratio. Default: (0.15, 0.5). + + Returns: + numpy.ndarray: Mask in the shape of (h, w, 1). + """ + + mask = random_irregular_mask(img_shape, **kwargs) + min_ratio, max_ratio = area_ratio_range + + while not min_ratio < (np.sum(mask) / + (img_shape[0] * img_shape[1])) < max_ratio: + mask = random_irregular_mask(img_shape, **kwargs) + + return mask diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/del.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/del.py new file mode 100644 index 0000000000000000000000000000000000000000..26aaf753cd5ed0c4d0e481ae519f83182a0cd523 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/del.py @@ -0,0 +1,5 @@ +import glob +import os + +for i in glob.glob("experiments/**/GT*.png", recursive=True): + os.remove(i) \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/eval.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/eval.py new file mode 100644 index 0000000000000000000000000000000000000000..b9e592970fbee06a10ea0327f13a56ad1196909d --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/eval.py @@ -0,0 +1,125 @@ +import argparse +from cleanfid import fid +from core.base_dataset import BaseDataset +from models.metric import inception_score +import numpy as np +import glob +import os +from skimage.measure import compare_psnr, compare_ssim +from PIL import Image +from rich.progress import track + + +if __name__ == '__main__': + parser = argparse.ArgumentParser() + parser.add_argument('-s', '--src', type=str, + help='Ground truth images directory') + parser.add_argument('-d', '--dst', type=str, + help='Generate images directory') + + ''' parser configs ''' + args = parser.parse_args() + +<<<<<<< HEAD +======= +<<<<<<< HEAD + # psnr = [] + # ssim = [] + # for gt_path, out_path in track(zip(glob.glob(os.path.join(args.src, "*")), glob.glob(os.path.join(args.dst, "*"))), total=685): + # gt = np.array(Image.open(gt_path)) + # out = np.array(Image.open(out_path)) + # _psnr = compare_psnr(gt, out) + # _ssim = ssim = compare_ssim( + # gt, out, multichannel=True, gaussian_weights=True, use_sample_covariance=False, sigma=1.5) + # psnr += [_psnr] + # ssim += [_ssim] + # psnr = sum(psnr)/len(psnr) + # ssim = sum(ssim)/len(ssim) + # print( + # f'PSNR: {psnr}\n', + # f'SSIM: {ssim}\n', + # ) +======= +>>>>>>> a13ebef0541ec6fe26f52d5598a109d848a51b9c + psnr = [] + ssim = [] + for gt_path, out_path in track(zip(glob.glob(os.path.join(args.src, "*")), glob.glob(os.path.join(args.dst, "*"))), total=685): + gt = np.array(Image.open(gt_path)) + out = np.array(Image.open(out_path)) + _psnr = compare_psnr(gt, out) + _ssim = ssim = compare_ssim( + gt, out, multichannel=True, gaussian_weights=True, use_sample_covariance=False, sigma=1.5) + psnr += [_psnr] + ssim += [_ssim] + psnr = sum(psnr)/len(psnr) + ssim = sum(ssim)/len(ssim) + print( + f'PSNR: {psnr}\n', + f'SSIM: {ssim}\n', + ) +<<<<<<< HEAD +======= +>>>>>>> ea6fb03699555768d2adcb4bc12908f82098912d +>>>>>>> a13ebef0541ec6fe26f52d5598a109d848a51b9c + fid_score = fid.compute_fid(args.src, args.dst) + is_mean, is_std = inception_score( + BaseDataset(args.dst), + cuda=True, + batch_size=8, + resize=True, + splits=10, + ) + print( + f'FID: {fid_score}\n', + f'IS: {is_mean} {is_std}\n', + ) + +""" +1. Palette-single-v1.0[epoch=9000] +- ↓PSNR: 14.62888054092963 +- ↑SSIM: 0.3244409937711537 +- ↑FID: 103.76912140940459 +- ↑IS: 3.008023500263284 0.37180917089147886 +2. Palette-single-v2.0[epoch=9000] +- ↑PSNR: 9.25222585999201 +- ↑SSIM: 0.44265318616227906 +- ↓FID: 153.20687384326067 +- ↑IS: 2.8962933749979887 0.23164383408662623 +3. PMAA-single[训练100个epoch] +- ↑PSNR: +- ↑SSIM: +- ↓FID: +- ↑IS: +4. Palette-multiple[TODO] +- ↑PSNR: +- ↑SSIM: +- ↓FID: +- ↑IS: +5. Palette-multiple[epoch=3000+dpm-solver] +<<<<<<< HEAD +======= +<<<<<<< HEAD +- PSNR: 12.076057469841748 +- SSIM: 0.6256649852628741 +6. Palette-multiple[epoch=4000+dpm-solver] +PSNR: 12.070057176915736 +SSIM: 0.6076268317926176 +FID: 89.40558513039605 +IS: 2.6435228768332335 0.48625733502371776 +6. Palette-multiple[epoch=3000+ddim1000] +- PSNR: 11.962246446296197 +- SSIM: 0.6039557910557187 +======= +>>>>>>> a13ebef0541ec6fe26f52d5598a109d848a51b9c +- ↑PSNR: 12.076057469841748 +- ↑SSIM: 0.6256649852628741 +- ↓FID: +- ↑IS: +6. Palette-multiple[epoch=3000+ddim1000] +PSNR: 11.962246446296197 +SSIM: 0.6039557910557187 +<<<<<<< HEAD +======= +>>>>>>> ea6fb03699555768d2adcb4bc12908f82098912d +>>>>>>> a13ebef0541ec6fe26f52d5598a109d848a51b9c +""" diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/fid_lpips.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/fid_lpips.py new file mode 100644 index 0000000000000000000000000000000000000000..4b7e134cf84f936ef492392e58e5e7548b49f626 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/fid_lpips.py @@ -0,0 +1,37 @@ +import os +from glob import glob +import numpy as np +import lpips +import torch +import subprocess +import sys +from tqdm import tqdm + + +def calculate_fid(src, dst): + device = torch.device('cuda' if torch.cuda.is_available() else 'cpu') + if sys.platform == "win32": + num_workers = 0 + else: + num_workers = 8 + subprocess.run( + f"python -m pytorch_fid {src} {dst} --device {device} --batch-size 8 --num-workers {num_workers}", + ) + + +def calculate_lpips(src, dst): + device = torch.device('cuda' if torch.cuda.is_available() else 'cpu') + loss_fn_alex = lpips.LPIPS(net='alex', verbose=False).to(device) + lpips_list = [] + for i, j in tqdm(zip(glob(src + "/*"), glob(dst + "/*")), total=len(glob(src + "/*"))): + img1 = lpips.im2tensor(lpips.load_image(i)).to(device) + img2 = lpips.im2tensor(lpips.load_image(j)).to(device) + lpips_list.append(loss_fn_alex(img1, img2).item()) + print(f"LPIPS:{np.mean(lpips_list)}") + + +if __name__ == "__main__": + src = "../0/GT" + dst = "../0/Out" + calculate_fid(src, dst) + calculate_lpips(src, dst) diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/__init__.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..19043a126f0c2516e97426bf868859fbbe7b929c --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/__init__.py @@ -0,0 +1,29 @@ +from core.praser import init_obj + +def create_model(**cfg_model): + """ create_model """ + opt = cfg_model['opt'] + logger = cfg_model['logger'] + + model_opt = opt['model']['which_model'] + model_opt['args'].update(cfg_model) + model = init_obj(model_opt, logger, default_file_name='models.model', init_type='Model') + + return model + +def define_network(logger, opt, network_opt): + """ define network with weights initialization """ + net = init_obj(network_opt, logger, default_file_name='models.network', init_type='Network') + + if opt['phase'] == 'train': + logger.info('Network [{}] weights initialize using [{:s}] method.'.format(net.__class__.__name__, network_opt['args'].get('init_type', 'default'))) + net.init_weights() + return net + + +def define_loss(logger, loss_opt): + return init_obj(loss_opt, logger, default_file_name='models.loss', init_type='Loss') + +def define_metric(logger, metric_opt): + return init_obj(metric_opt, logger, default_file_name='models.metric', init_type='Metric') + diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/guided_diffusion_modules/nn.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/guided_diffusion_modules/nn.py new file mode 100644 index 0000000000000000000000000000000000000000..60b83c965aeb86443852d218e423a23b7293e28f --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/guided_diffusion_modules/nn.py @@ -0,0 +1,138 @@ +""" +Various utilities for neural networks. +""" + +import math +import numpy as np +import torch +import torch.nn as nn + + +class GroupNorm32(nn.GroupNorm): + def forward(self, x): + return super().forward(x.float()).type(x.dtype) + + +def zero_module(module): + """ + Zero out the parameters of a module and return it. + """ + for p in module.parameters(): + p.detach().zero_() + return module + + +def scale_module(module, scale): + """ + Scale the parameters of a module and return it. + """ + for p in module.parameters(): + p.detach().mul_(scale) + return module + + +def mean_flat(tensor): + """ + Take the mean over all non-batch dimensions. + """ + return tensor.mean(dim=list(range(1, len(tensor.shape)))) + + +def normalization(channels): + """ + Make a standard normalization layer. + + :param channels: number of input channels. + :return: an nn.Module for normalization. + """ + return GroupNorm32(32, channels) + + + +def checkpoint(func, inputs, params, flag): + """ + Evaluate a function without caching intermediate activations, allowing for + reduced memory at the expense of extra compute in the backward pass. + + :param func: the function to evaluate. + :param inputs: the argument sequence to pass to `func`. + :param params: a sequence of parameters `func` depends on but does not + explicitly take as arguments. + :param flag: if False, disable gradient checkpointing. + """ + if flag: + args = tuple(inputs) + tuple(params) + return CheckpointFunction.apply(func, len(inputs), *args) + else: + return func(*inputs) + + +class CheckpointFunction(torch.autograd.Function): + @staticmethod + def forward(ctx, run_function, length, *args): + ctx.run_function = run_function + ctx.input_tensors = list(args[:length]) + ctx.input_params = list(args[length:]) + with torch.no_grad(): + output_tensors = ctx.run_function(*ctx.input_tensors) + return output_tensors + + @staticmethod + def backward(ctx, *output_grads): + ctx.input_tensors = [x.detach().requires_grad_(True) for x in ctx.input_tensors] + with torch.enable_grad(): + # Fixes a bug where the first op in run_function modifies the + # Tensor storage in place, which is not allowed for detach()'d + # Tensors. + shallow_copies = [x.view_as(x) for x in ctx.input_tensors] + output_tensors = ctx.run_function(*shallow_copies) + input_grads = torch.autograd.grad( + output_tensors, + ctx.input_tensors + ctx.input_params, + output_grads, + allow_unused=True, + ) + del ctx.input_tensors + del ctx.input_params + del output_tensors + return (None, None) + input_grads + + +def count_flops_attn(model, _x, y): + """ + A counter for the `thop` package to count the operations in an + attention operation. + Meant to be used like: + macs, params = thop.profile( + model, + inputs=(inputs, timestamps), + custom_ops={QKVAttention: QKVAttention.count_flops}, + ) + """ + b, c, *spatial = y[0].shape + num_spatial = int(np.prod(spatial)) + # We perform two matmuls with the same number of ops. + # The first computes the weight matrix, the second computes + # the combination of the value vectors. + matmul_ops = 2 * b * (num_spatial ** 2) * c + model.total_ops += torch.DoubleTensor([matmul_ops]) + + +def gamma_embedding(gammas, dim, max_period=10000): + """ + Create sinusoidal timestep embeddings. + :param gammas: a 1-D Tensor of N indices, one per batch element. + These may be fractional. + :param dim: the dimension of the output. + :param max_period: controls the minimum frequency of the embeddings. + :return: an [N x dim] Tensor of positional embeddings. + """ + half = dim // 2 + freqs = torch.exp( + -math.log(max_period) * torch.arange(start=0, end=half, dtype=torch.float32) / half + ).to(device=gammas.device) + args = gammas[:, None].float() * freqs[None] + embedding = torch.cat([torch.cos(args), torch.sin(args)], dim=-1) + if dim % 2: + embedding = torch.cat([embedding, torch.zeros_like(embedding[:, :1])], dim=-1) + return embedding \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/guided_diffusion_modules/unet.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/guided_diffusion_modules/unet.py new file mode 100644 index 0000000000000000000000000000000000000000..218883a258d99d0d6ee5e0f23d749a271ce5d9b9 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/guided_diffusion_modules/unet.py @@ -0,0 +1,560 @@ +from abc import abstractmethod +import math + +import torch +import torch.nn as nn +import torch.nn.functional as F + +from .nn import ( + checkpoint, + zero_module, + normalization, + count_flops_attn, + gamma_embedding +) + +class SiLU(nn.Module): + def forward(self, x): + return x * torch.sigmoid(x) + +class EmbedBlock(nn.Module): + """ + Any module where forward() takes embeddings as a second argument. + """ + + @abstractmethod + def forward(self, x, emb): + """ + Apply the module to `x` given `emb` embeddings. + """ + +class EmbedSequential(nn.Sequential, EmbedBlock): + """ + A sequential module that passes embeddings to the children that + support it as an extra input. + """ + + def forward(self, x, emb): + for layer in self: + if isinstance(layer, EmbedBlock): + x = layer(x, emb) + else: + x = layer(x) + return x + +class Upsample(nn.Module): + """ + An upsampling layer with an optional convolution. + :param channels: channels in the inputs and outputs. + :param use_conv: a bool determining if a convolution is applied. + + """ + + def __init__(self, channels, use_conv, out_channel=None): + super().__init__() + self.channels = channels + self.out_channel = out_channel or channels + self.use_conv = use_conv + if use_conv: + self.conv = nn.Conv2d(self.channels, self.out_channel, 3, padding=1) + + def forward(self, x): + assert x.shape[1] == self.channels + x = F.interpolate(x, scale_factor=2, mode="nearest") + if self.use_conv: + x = self.conv(x) + return x + +class Downsample(nn.Module): + """ + A downsampling layer with an optional convolution. + :param channels: channels in the inputs and outputs. + :param use_conv: a bool determining if a convolution is applied. + """ + + def __init__(self, channels, use_conv, out_channel=None): + super().__init__() + self.channels = channels + self.out_channel = out_channel or channels + self.use_conv = use_conv + stride = 2 + if use_conv: + self.op = nn.Conv2d( + self.channels, self.out_channel, 3, stride=stride, padding=1 + ) + else: + assert self.channels == self.out_channel + self.op = nn.AvgPool2d(kernel_size=stride, stride=stride) + + def forward(self, x): + assert x.shape[1] == self.channels + return self.op(x) + + +class ResBlock(EmbedBlock): + """ + A residual block that can optionally change the number of channels. + :param channels: the number of input channels. + :param emb_channels: the number of embedding channels. + :param dropout: the rate of dropout. + :param out_channel: if specified, the number of out channels. + :param use_conv: if True and out_channel is specified, use a spatial + convolution instead of a smaller 1x1 convolution to change the + channels in the skip connection. + :param use_checkpoint: if True, use gradient checkpointing on this module. + :param up: if True, use this block for upsampling. + :param down: if True, use this block for downsampling. + """ + + def __init__( + self, + channels, + emb_channels, + dropout, + out_channel=None, + use_conv=False, + use_scale_shift_norm=False, + use_checkpoint=False, + up=False, + down=False, + ): + super().__init__() + self.channels = channels + self.emb_channels = emb_channels + self.dropout = dropout + self.out_channel = out_channel or channels + self.use_conv = use_conv + self.use_checkpoint = use_checkpoint + self.use_scale_shift_norm = use_scale_shift_norm + + self.in_layers = nn.Sequential( + normalization(channels), + SiLU(), + nn.Conv2d(channels, self.out_channel, 3, padding=1), + ) + + self.updown = up or down + + if up: + self.h_upd = Upsample(channels, False) + self.x_upd = Upsample(channels, False) + elif down: + self.h_upd = Downsample(channels, False) + self.x_upd = Downsample(channels, False) + else: + self.h_upd = self.x_upd = nn.Identity() + + self.emb_layers = nn.Sequential( + SiLU(), + nn.Linear( + emb_channels, + 2 * self.out_channel if use_scale_shift_norm else self.out_channel, + ), + ) + self.out_layers = nn.Sequential( + normalization(self.out_channel), + SiLU(), + nn.Dropout(p=dropout), + zero_module( + nn.Conv2d(self.out_channel, self.out_channel, 3, padding=1) + ), + ) + + if self.out_channel == channels: + self.skip_connection = nn.Identity() + elif use_conv: + self.skip_connection = nn.Conv2d( + channels, self.out_channel, 3, padding=1 + ) + else: + self.skip_connection = nn.Conv2d(channels, self.out_channel, 1) + + def forward(self, x, emb): + """ + Apply the block to a Tensor, conditioned on a embedding. + :param x: an [N x C x ...] Tensor of features. + :param emb: an [N x emb_channels] Tensor of embeddings. + :return: an [N x C x ...] Tensor of outputs. + """ + return checkpoint( + self._forward, (x, emb), self.parameters(), self.use_checkpoint + ) + + def _forward(self, x, emb): + if self.updown: + in_rest, in_conv = self.in_layers[:-1], self.in_layers[-1] + h = in_rest(x) + h = self.h_upd(h) + x = self.x_upd(x) + h = in_conv(h) + else: + h = self.in_layers(x) + emb_out = self.emb_layers(emb).type(h.dtype) + while len(emb_out.shape) < len(h.shape): + emb_out = emb_out[..., None] + if self.use_scale_shift_norm: + out_norm, out_rest = self.out_layers[0], self.out_layers[1:] + scale, shift = torch.chunk(emb_out, 2, dim=1) + h = out_norm(h) * (1 + scale) + shift + h = out_rest(h) + else: + h = h + emb_out + h = self.out_layers(h) + return self.skip_connection(x) + h + +class AttentionBlock(nn.Module): + """ + An attention block that allows spatial positions to attend to each other. + Originally ported from here, but adapted to the N-d case. + https://github.com/hojonathanho/diffusion/blob/1e0dceb3b3495bbe19116a5e1b3596cd0706c543/diffusion_tf/models/unet.py#L66. + """ + + def __init__( + self, + channels, + num_heads=1, + num_head_channels=-1, + use_checkpoint=False, + use_new_attention_order=False, + ): + super().__init__() + self.channels = channels + if num_head_channels == -1: + self.num_heads = num_heads + else: + assert ( + channels % num_head_channels == 0 + ), f"q,k,v channels {channels} is not divisible by num_head_channels {num_head_channels}" + self.num_heads = channels // num_head_channels + self.use_checkpoint = use_checkpoint + self.norm = normalization(channels) + self.qkv = nn.Conv1d(channels, channels * 3, 1) + if use_new_attention_order: + # split qkv before split heads + self.attention = QKVAttention(self.num_heads) + else: + # split heads before split qkv + self.attention = QKVAttentionLegacy(self.num_heads) + + self.proj_out = zero_module(nn.Conv1d(channels, channels, 1)) + + def forward(self, x): + return checkpoint(self._forward, (x,), self.parameters(), True) + + def _forward(self, x): + b, c, *spatial = x.shape + x = x.reshape(b, c, -1) + qkv = self.qkv(self.norm(x)) + h = self.attention(qkv) + h = self.proj_out(h) + return (x + h).reshape(b, c, *spatial) + + +class QKVAttentionLegacy(nn.Module): + """ + A module which performs QKV attention. Matches legacy QKVAttention + input/ouput heads shaping + """ + + def __init__(self, n_heads): + super().__init__() + self.n_heads = n_heads + + def forward(self, qkv): + """ + Apply QKV attention. + :param qkv: an [N x (H * 3 * C) x T] tensor of Qs, Ks, and Vs. + :return: an [N x (H * C) x T] tensor after attention. + """ + bs, width, length = qkv.shape + assert width % (3 * self.n_heads) == 0 + ch = width // (3 * self.n_heads) + q, k, v = qkv.reshape(bs * self.n_heads, ch * 3, length).split(ch, dim=1) + scale = 1 / math.sqrt(math.sqrt(ch)) + weight = torch.einsum( + "bct,bcs->bts", q * scale, k * scale + ) # More stable with f16 than dividing afterwards + weight = torch.softmax(weight.float(), dim=-1).type(weight.dtype) + a = torch.einsum("bts,bcs->bct", weight, v) + return a.reshape(bs, -1, length) + + @staticmethod + def count_flops(model, _x, y): + return count_flops_attn(model, _x, y) + + +class QKVAttention(nn.Module): + """ + A module which performs QKV attention and splits in a different order. + """ + + def __init__(self, n_heads): + super().__init__() + self.n_heads = n_heads + + def forward(self, qkv): + """ + Apply QKV attention. + :param qkv: an [N x (3 * H * C) x T] tensor of Qs, Ks, and Vs. + :return: an [N x (H * C) x T] tensor after attention. + """ + bs, width, length = qkv.shape + assert width % (3 * self.n_heads) == 0 + ch = width // (3 * self.n_heads) + q, k, v = qkv.chunk(3, dim=1) + scale = 1 / math.sqrt(math.sqrt(ch)) + weight = torch.einsum( + "bct,bcs->bts", + (q * scale).view(bs * self.n_heads, ch, length), + (k * scale).view(bs * self.n_heads, ch, length), + ) # More stable with f16 than dividing afterwards + weight = torch.softmax(weight.float(), dim=-1).type(weight.dtype) + a = torch.einsum("bts,bcs->bct", weight, v.reshape(bs * self.n_heads, ch, length)) + return a.reshape(bs, -1, length) + + @staticmethod + def count_flops(model, _x, y): + return count_flops_attn(model, _x, y) + +class UNet(nn.Module): + """ + The full UNet model with attention and embedding. + :param in_channel: channels in the input Tensor, for image colorization : Y_channels + X_channels . + :param inner_channel: base channel count for the model. + :param out_channel: channels in the output Tensor. + :param res_blocks: number of residual blocks per downsample. + :param attn_res: a collection of downsample rates at which + attention will take place. May be a set, list, or tuple. + For example, if this contains 4, then at 4x downsampling, attention + will be used. + :param dropout: the dropout probability. + :param channel_mults: channel multiplier for each level of the UNet. + :param conv_resample: if True, use learned convolutions for upsampling and + downsampling. + :param use_checkpoint: use gradient checkpointing to reduce memory usage. + :param num_heads: the number of attention heads in each attention layer. + :param num_heads_channels: if specified, ignore num_heads and instead use + a fixed channel width per attention head. + :param num_heads_upsample: works with num_heads to set a different number + of heads for upsampling. Deprecated. + :param use_scale_shift_norm: use a FiLM-like conditioning mechanism. + :param resblock_updown: use residual blocks for up/downsampling. + :param use_new_attention_order: use a different attention pattern for potentially + increased efficiency. + """ + + def __init__( + self, + image_size, + in_channel, + inner_channel, + out_channel, + res_blocks, + attn_res, + dropout=0, + channel_mults=(1, 2, 4, 8), + conv_resample=True, + use_checkpoint=False, + use_fp16=False, + num_heads=1, + num_head_channels=-1, + num_heads_upsample=-1, + use_scale_shift_norm=True, + resblock_updown=True, + use_new_attention_order=False, + ): + + super().__init__() + + if num_heads_upsample == -1: + num_heads_upsample = num_heads + + self.image_size = image_size + self.in_channel = in_channel + self.inner_channel = inner_channel + self.out_channel = out_channel + self.res_blocks = res_blocks + self.attn_res = attn_res + self.dropout = dropout + self.channel_mults = channel_mults + self.conv_resample = conv_resample + self.use_checkpoint = use_checkpoint + self.dtype = torch.float16 if use_fp16 else torch.float32 + self.num_heads = num_heads + self.num_head_channels = num_head_channels + self.num_heads_upsample = num_heads_upsample + + cond_embed_dim = inner_channel * 4 + self.cond_embed = nn.Sequential( + nn.Linear(inner_channel, cond_embed_dim), + SiLU(), + nn.Linear(cond_embed_dim, cond_embed_dim), + ) + + ch = input_ch = int(channel_mults[0] * inner_channel) + self.input_blocks = nn.ModuleList( + [EmbedSequential(nn.Conv2d(in_channel, ch, 3, padding=1))] + ) + self._feature_size = ch + input_block_chans = [ch] + ds = 1 + for level, mult in enumerate(channel_mults): + for _ in range(res_blocks): + layers = [ + ResBlock( + ch, + cond_embed_dim, + dropout, + out_channel=int(mult * inner_channel), + use_checkpoint=use_checkpoint, + use_scale_shift_norm=use_scale_shift_norm, + ) + ] + ch = int(mult * inner_channel) + if ds in attn_res: + layers.append( + AttentionBlock( + ch, + use_checkpoint=use_checkpoint, + num_heads=num_heads, + num_head_channels=num_head_channels, + use_new_attention_order=use_new_attention_order, + ) + ) + self.input_blocks.append(EmbedSequential(*layers)) + self._feature_size += ch + input_block_chans.append(ch) + if level != len(channel_mults) - 1: + out_ch = ch + self.input_blocks.append( + EmbedSequential( + ResBlock( + ch, + cond_embed_dim, + dropout, + out_channel=out_ch, + use_checkpoint=use_checkpoint, + use_scale_shift_norm=use_scale_shift_norm, + down=True, + ) + if resblock_updown + else Downsample( + ch, conv_resample, out_channel=out_ch + ) + ) + ) + ch = out_ch + input_block_chans.append(ch) + ds *= 2 + self._feature_size += ch + + self.middle_block = EmbedSequential( + ResBlock( + ch, + cond_embed_dim, + dropout, + use_checkpoint=use_checkpoint, + use_scale_shift_norm=use_scale_shift_norm, + ), + AttentionBlock( + ch, + use_checkpoint=use_checkpoint, + num_heads=num_heads, + num_head_channels=num_head_channels, + use_new_attention_order=use_new_attention_order, + ), + ResBlock( + ch, + cond_embed_dim, + dropout, + use_checkpoint=use_checkpoint, + use_scale_shift_norm=use_scale_shift_norm, + ), + ) + self._feature_size += ch + + self.output_blocks = nn.ModuleList([]) + for level, mult in list(enumerate(channel_mults))[::-1]: + for i in range(res_blocks + 1): + ich = input_block_chans.pop() + layers = [ + ResBlock( + ch + ich, + cond_embed_dim, + dropout, + out_channel=int(inner_channel * mult), + use_checkpoint=use_checkpoint, + use_scale_shift_norm=use_scale_shift_norm, + ) + ] + ch = int(inner_channel * mult) + if ds in attn_res: + layers.append( + AttentionBlock( + ch, + use_checkpoint=use_checkpoint, + num_heads=num_heads_upsample, + num_head_channels=num_head_channels, + use_new_attention_order=use_new_attention_order, + ) + ) + if level and i == res_blocks: + out_ch = ch + layers.append( + ResBlock( + ch, + cond_embed_dim, + dropout, + out_channel=out_ch, + use_checkpoint=use_checkpoint, + use_scale_shift_norm=use_scale_shift_norm, + up=True, + ) + if resblock_updown + else Upsample(ch, conv_resample, out_channel=out_ch) + ) + ds //= 2 + self.output_blocks.append(EmbedSequential(*layers)) + self._feature_size += ch + + self.out = nn.Sequential( + normalization(ch), + SiLU(), + zero_module(nn.Conv2d(input_ch, out_channel, 3, padding=1)), + ) + + def forward(self, x, gammas): + """ + Apply the model to an input batch. + :param x: an [N x 2 x ...] Tensor of inputs (B&W) + :param gammas: a 1-D batch of gammas. # 2000 190 + :return: an [N x C x ...] Tensor of outputs. + """ + hs = [] + gammas = gammas.view(-1, ) # [bs] + emb = self.cond_embed(gamma_embedding(gammas, self.inner_channel)) # [bs, 64*4] + + h = x.type(torch.float32) + for module in self.input_blocks: + h = module(h, emb) + hs.append(h) + h = self.middle_block(h, emb) + for module in self.output_blocks: + h = torch.cat([h, hs.pop()], dim=1) + h = module(h, emb) + h = h.type(x.dtype) + return self.out(h) + +if __name__ == '__main__': + b, c, h, w = 3, 6, 64, 64 + timsteps = 100 + model = UNet( + image_size=h, + in_channel=c, + inner_channel=64, + out_channel=3, + res_blocks=2, + attn_res=[8] + ) + x = torch.randn((b, c, h, w)) + emb = torch.ones((b, )) + out = model(x, emb) \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/guided_diffusion_modules/unet_tanh.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/guided_diffusion_modules/unet_tanh.py new file mode 100644 index 0000000000000000000000000000000000000000..00d72681897edbdb2d5f0fca7dbae0895d56ae12 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/guided_diffusion_modules/unet_tanh.py @@ -0,0 +1,561 @@ +from abc import abstractmethod +import math + +import torch +import torch.nn as nn +import torch.nn.functional as F + +from .nn import ( + checkpoint, + zero_module, + normalization, + count_flops_attn, + gamma_embedding +) + +class SiLU(nn.Module): + def forward(self, x): + return x * torch.sigmoid(x) + +class EmbedBlock(nn.Module): + """ + Any module where forward() takes embeddings as a second argument. + """ + + @abstractmethod + def forward(self, x, emb): + """ + Apply the module to `x` given `emb` embeddings. + """ + +class EmbedSequential(nn.Sequential, EmbedBlock): + """ + A sequential module that passes embeddings to the children that + support it as an extra input. + """ + + def forward(self, x, emb): + for layer in self: + if isinstance(layer, EmbedBlock): + x = layer(x, emb) + else: + x = layer(x) + return x + +class Upsample(nn.Module): + """ + An upsampling layer with an optional convolution. + :param channels: channels in the inputs and outputs. + :param use_conv: a bool determining if a convolution is applied. + + """ + + def __init__(self, channels, use_conv, out_channel=None): + super().__init__() + self.channels = channels + self.out_channel = out_channel or channels + self.use_conv = use_conv + if use_conv: + self.conv = nn.Conv2d(self.channels, self.out_channel, 3, padding=1) + + def forward(self, x): + assert x.shape[1] == self.channels + x = F.interpolate(x, scale_factor=2, mode="nearest") + if self.use_conv: + x = self.conv(x) + return x + +class Downsample(nn.Module): + """ + A downsampling layer with an optional convolution. + :param channels: channels in the inputs and outputs. + :param use_conv: a bool determining if a convolution is applied. + """ + + def __init__(self, channels, use_conv, out_channel=None): + super().__init__() + self.channels = channels + self.out_channel = out_channel or channels + self.use_conv = use_conv + stride = 2 + if use_conv: + self.op = nn.Conv2d( + self.channels, self.out_channel, 3, stride=stride, padding=1 + ) + else: + assert self.channels == self.out_channel + self.op = nn.AvgPool2d(kernel_size=stride, stride=stride) + + def forward(self, x): + assert x.shape[1] == self.channels + return self.op(x) + + +class ResBlock(EmbedBlock): + """ + A residual block that can optionally change the number of channels. + :param channels: the number of input channels. + :param emb_channels: the number of embedding channels. + :param dropout: the rate of dropout. + :param out_channel: if specified, the number of out channels. + :param use_conv: if True and out_channel is specified, use a spatial + convolution instead of a smaller 1x1 convolution to change the + channels in the skip connection. + :param use_checkpoint: if True, use gradient checkpointing on this module. + :param up: if True, use this block for upsampling. + :param down: if True, use this block for downsampling. + """ + + def __init__( + self, + channels, + emb_channels, + dropout, + out_channel=None, + use_conv=False, + use_scale_shift_norm=False, + use_checkpoint=False, + up=False, + down=False, + ): + super().__init__() + self.channels = channels + self.emb_channels = emb_channels + self.dropout = dropout + self.out_channel = out_channel or channels + self.use_conv = use_conv + self.use_checkpoint = use_checkpoint + self.use_scale_shift_norm = use_scale_shift_norm + + self.in_layers = nn.Sequential( + normalization(channels), + SiLU(), + nn.Conv2d(channels, self.out_channel, 3, padding=1), + ) + + self.updown = up or down + + if up: + self.h_upd = Upsample(channels, False) + self.x_upd = Upsample(channels, False) + elif down: + self.h_upd = Downsample(channels, False) + self.x_upd = Downsample(channels, False) + else: + self.h_upd = self.x_upd = nn.Identity() + + self.emb_layers = nn.Sequential( + SiLU(), + nn.Linear( + emb_channels, + 2 * self.out_channel if use_scale_shift_norm else self.out_channel, + ), + ) + self.out_layers = nn.Sequential( + normalization(self.out_channel), + SiLU(), + nn.Dropout(p=dropout), + zero_module( + nn.Conv2d(self.out_channel, self.out_channel, 3, padding=1) + ), + ) + + if self.out_channel == channels: + self.skip_connection = nn.Identity() + elif use_conv: + self.skip_connection = nn.Conv2d( + channels, self.out_channel, 3, padding=1 + ) + else: + self.skip_connection = nn.Conv2d(channels, self.out_channel, 1) + + def forward(self, x, emb): + """ + Apply the block to a Tensor, conditioned on a embedding. + :param x: an [N x C x ...] Tensor of features. + :param emb: an [N x emb_channels] Tensor of embeddings. + :return: an [N x C x ...] Tensor of outputs. + """ + return checkpoint( + self._forward, (x, emb), self.parameters(), self.use_checkpoint + ) + + def _forward(self, x, emb): + if self.updown: + in_rest, in_conv = self.in_layers[:-1], self.in_layers[-1] + h = in_rest(x) + h = self.h_upd(h) + x = self.x_upd(x) + h = in_conv(h) + else: + h = self.in_layers(x) + emb_out = self.emb_layers(emb).type(h.dtype) + while len(emb_out.shape) < len(h.shape): + emb_out = emb_out[..., None] + if self.use_scale_shift_norm: + out_norm, out_rest = self.out_layers[0], self.out_layers[1:] + scale, shift = torch.chunk(emb_out, 2, dim=1) + h = out_norm(h) * (1 + scale) + shift + h = out_rest(h) + else: + h = h + emb_out + h = self.out_layers(h) + return self.skip_connection(x) + h + +class AttentionBlock(nn.Module): + """ + An attention block that allows spatial positions to attend to each other. + Originally ported from here, but adapted to the N-d case. + https://github.com/hojonathanho/diffusion/blob/1e0dceb3b3495bbe19116a5e1b3596cd0706c543/diffusion_tf/models/unet.py#L66. + """ + + def __init__( + self, + channels, + num_heads=1, + num_head_channels=-1, + use_checkpoint=False, + use_new_attention_order=False, + ): + super().__init__() + self.channels = channels + if num_head_channels == -1: + self.num_heads = num_heads + else: + assert ( + channels % num_head_channels == 0 + ), f"q,k,v channels {channels} is not divisible by num_head_channels {num_head_channels}" + self.num_heads = channels // num_head_channels + self.use_checkpoint = use_checkpoint + self.norm = normalization(channels) + self.qkv = nn.Conv1d(channels, channels * 3, 1) + if use_new_attention_order: + # split qkv before split heads + self.attention = QKVAttention(self.num_heads) + else: + # split heads before split qkv + self.attention = QKVAttentionLegacy(self.num_heads) + + self.proj_out = zero_module(nn.Conv1d(channels, channels, 1)) + + def forward(self, x): + return checkpoint(self._forward, (x,), self.parameters(), True) + + def _forward(self, x): + b, c, *spatial = x.shape + x = x.reshape(b, c, -1) + qkv = self.qkv(self.norm(x)) + h = self.attention(qkv) + h = self.proj_out(h) + return (x + h).reshape(b, c, *spatial) + + +class QKVAttentionLegacy(nn.Module): + """ + A module which performs QKV attention. Matches legacy QKVAttention + input/ouput heads shaping + """ + + def __init__(self, n_heads): + super().__init__() + self.n_heads = n_heads + + def forward(self, qkv): + """ + Apply QKV attention. + :param qkv: an [N x (H * 3 * C) x T] tensor of Qs, Ks, and Vs. + :return: an [N x (H * C) x T] tensor after attention. + """ + bs, width, length = qkv.shape + assert width % (3 * self.n_heads) == 0 + ch = width // (3 * self.n_heads) + q, k, v = qkv.reshape(bs * self.n_heads, ch * 3, length).split(ch, dim=1) + scale = 1 / math.sqrt(math.sqrt(ch)) + weight = torch.einsum( + "bct,bcs->bts", q * scale, k * scale + ) # More stable with f16 than dividing afterwards + weight = torch.softmax(weight.float(), dim=-1).type(weight.dtype) + a = torch.einsum("bts,bcs->bct", weight, v) + return a.reshape(bs, -1, length) + + @staticmethod + def count_flops(model, _x, y): + return count_flops_attn(model, _x, y) + + +class QKVAttention(nn.Module): + """ + A module which performs QKV attention and splits in a different order. + """ + + def __init__(self, n_heads): + super().__init__() + self.n_heads = n_heads + + def forward(self, qkv): + """ + Apply QKV attention. + :param qkv: an [N x (3 * H * C) x T] tensor of Qs, Ks, and Vs. + :return: an [N x (H * C) x T] tensor after attention. + """ + bs, width, length = qkv.shape + assert width % (3 * self.n_heads) == 0 + ch = width // (3 * self.n_heads) + q, k, v = qkv.chunk(3, dim=1) + scale = 1 / math.sqrt(math.sqrt(ch)) + weight = torch.einsum( + "bct,bcs->bts", + (q * scale).view(bs * self.n_heads, ch, length), + (k * scale).view(bs * self.n_heads, ch, length), + ) # More stable with f16 than dividing afterwards + weight = torch.softmax(weight.float(), dim=-1).type(weight.dtype) + a = torch.einsum("bts,bcs->bct", weight, v.reshape(bs * self.n_heads, ch, length)) + return a.reshape(bs, -1, length) + + @staticmethod + def count_flops(model, _x, y): + return count_flops_attn(model, _x, y) + +class UNet(nn.Module): + """ + The full UNet model with attention and embedding. + :param in_channel: channels in the input Tensor, for image colorization : Y_channels + X_channels . + :param inner_channel: base channel count for the model. + :param out_channel: channels in the output Tensor. + :param res_blocks: number of residual blocks per downsample. + :param attn_res: a collection of downsample rates at which + attention will take place. May be a set, list, or tuple. + For example, if this contains 4, then at 4x downsampling, attention + will be used. + :param dropout: the dropout probability. + :param channel_mults: channel multiplier for each level of the UNet. + :param conv_resample: if True, use learned convolutions for upsampling and + downsampling. + :param use_checkpoint: use gradient checkpointing to reduce memory usage. + :param num_heads: the number of attention heads in each attention layer. + :param num_heads_channels: if specified, ignore num_heads and instead use + a fixed channel width per attention head. + :param num_heads_upsample: works with num_heads to set a different number + of heads for upsampling. Deprecated. + :param use_scale_shift_norm: use a FiLM-like conditioning mechanism. + :param resblock_updown: use residual blocks for up/downsampling. + :param use_new_attention_order: use a different attention pattern for potentially + increased efficiency. + """ + + def __init__( + self, + image_size, + in_channel, + inner_channel, + out_channel, + res_blocks, + attn_res, + dropout=0, + channel_mults=(1, 2, 4, 8), + conv_resample=True, + use_checkpoint=False, + use_fp16=False, + num_heads=1, + num_head_channels=-1, + num_heads_upsample=-1, + use_scale_shift_norm=True, + resblock_updown=True, + use_new_attention_order=False, + ): + + super().__init__() + + if num_heads_upsample == -1: + num_heads_upsample = num_heads + + self.image_size = image_size + self.in_channel = in_channel + self.inner_channel = inner_channel + self.out_channel = out_channel + self.res_blocks = res_blocks + self.attn_res = attn_res + self.dropout = dropout + self.channel_mults = channel_mults + self.conv_resample = conv_resample + self.use_checkpoint = use_checkpoint + self.dtype = torch.float16 if use_fp16 else torch.float32 + self.num_heads = num_heads + self.num_head_channels = num_head_channels + self.num_heads_upsample = num_heads_upsample + + cond_embed_dim = inner_channel * 4 + self.cond_embed = nn.Sequential( + nn.Linear(inner_channel, cond_embed_dim), + SiLU(), + nn.Linear(cond_embed_dim, cond_embed_dim), + ) + + ch = input_ch = int(channel_mults[0] * inner_channel) + self.input_blocks = nn.ModuleList( + [EmbedSequential(nn.Conv2d(in_channel, ch, 3, padding=1))] + ) + self._feature_size = ch + input_block_chans = [ch] + ds = 1 + for level, mult in enumerate(channel_mults): + for _ in range(res_blocks): + layers = [ + ResBlock( + ch, + cond_embed_dim, + dropout, + out_channel=int(mult * inner_channel), + use_checkpoint=use_checkpoint, + use_scale_shift_norm=use_scale_shift_norm, + ) + ] + ch = int(mult * inner_channel) + if ds in attn_res: + layers.append( + AttentionBlock( + ch, + use_checkpoint=use_checkpoint, + num_heads=num_heads, + num_head_channels=num_head_channels, + use_new_attention_order=use_new_attention_order, + ) + ) + self.input_blocks.append(EmbedSequential(*layers)) + self._feature_size += ch + input_block_chans.append(ch) + if level != len(channel_mults) - 1: + out_ch = ch + self.input_blocks.append( + EmbedSequential( + ResBlock( + ch, + cond_embed_dim, + dropout, + out_channel=out_ch, + use_checkpoint=use_checkpoint, + use_scale_shift_norm=use_scale_shift_norm, + down=True, + ) + if resblock_updown + else Downsample( + ch, conv_resample, out_channel=out_ch + ) + ) + ) + ch = out_ch + input_block_chans.append(ch) + ds *= 2 + self._feature_size += ch + + self.middle_block = EmbedSequential( + ResBlock( + ch, + cond_embed_dim, + dropout, + use_checkpoint=use_checkpoint, + use_scale_shift_norm=use_scale_shift_norm, + ), + AttentionBlock( + ch, + use_checkpoint=use_checkpoint, + num_heads=num_heads, + num_head_channels=num_head_channels, + use_new_attention_order=use_new_attention_order, + ), + ResBlock( + ch, + cond_embed_dim, + dropout, + use_checkpoint=use_checkpoint, + use_scale_shift_norm=use_scale_shift_norm, + ), + ) + self._feature_size += ch + + self.output_blocks = nn.ModuleList([]) + for level, mult in list(enumerate(channel_mults))[::-1]: + for i in range(res_blocks + 1): + ich = input_block_chans.pop() + layers = [ + ResBlock( + ch + ich, + cond_embed_dim, + dropout, + out_channel=int(inner_channel * mult), + use_checkpoint=use_checkpoint, + use_scale_shift_norm=use_scale_shift_norm, + ) + ] + ch = int(inner_channel * mult) + if ds in attn_res: + layers.append( + AttentionBlock( + ch, + use_checkpoint=use_checkpoint, + num_heads=num_heads_upsample, + num_head_channels=num_head_channels, + use_new_attention_order=use_new_attention_order, + ) + ) + if level and i == res_blocks: + out_ch = ch + layers.append( + ResBlock( + ch, + cond_embed_dim, + dropout, + out_channel=out_ch, + use_checkpoint=use_checkpoint, + use_scale_shift_norm=use_scale_shift_norm, + up=True, + ) + if resblock_updown + else Upsample(ch, conv_resample, out_channel=out_ch) + ) + ds //= 2 + self.output_blocks.append(EmbedSequential(*layers)) + self._feature_size += ch + + self.out = nn.Sequential( + normalization(ch), + SiLU(), + zero_module(nn.Conv2d(input_ch, out_channel, 3, padding=1)), + nn.Tanh(), + ) + + def forward(self, x, gammas): + """ + Apply the model to an input batch. + :param x: an [N x 2 x ...] Tensor of inputs (B&W) + :param gammas: a 1-D batch of gammas. + :return: an [N x C x ...] Tensor of outputs. + """ + hs = [] + gammas = gammas.view(-1, ) + emb = self.cond_embed(gamma_embedding(gammas, self.inner_channel)) + + h = x.type(torch.float32) + for module in self.input_blocks: + h = module(h, emb) + hs.append(h) + h = self.middle_block(h, emb) + for module in self.output_blocks: + h = torch.cat([h, hs.pop()], dim=1) + h = module(h, emb) + h = h.type(x.dtype) + return self.out(h) + +if __name__ == '__main__': + b, c, h, w = 3, 6, 64, 64 + timsteps = 100 + model = UNet( + image_size=h, + in_channel=c, + inner_channel=64, + out_channel=3, + res_blocks=2, + attn_res=[8] + ) + x = torch.randn((b, c, h, w)) + emb = torch.ones((b, )) + out = model(x, emb) \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/loss.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/loss.py new file mode 100644 index 0000000000000000000000000000000000000000..7b741bdfd3822ac0d6c13dc3ffa05c4d48d7d391 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/loss.py @@ -0,0 +1,53 @@ +import torch +import torch.nn as nn +import torch.nn.functional as F +from torch.autograd import Variable + +# class mse_loss(nn.Module): +# def __init__(self) -> None: +# super().__init__() +# self.loss_fn = nn.MSELoss() +# def forward(self, output, target): +# return self.loss_fn(output, target) + + +def mse_loss(output, target): + return F.mse_loss(output, target) + + + +def l1_loss(output, target): + return F.l1_loss(output, target) + + +class FocalLoss(nn.Module): + def __init__(self, gamma=2, alpha=None, size_average=True): + super(FocalLoss, self).__init__() + self.gamma = gamma + self.alpha = alpha + if isinstance(alpha,(float,int)): self.alpha = torch.Tensor([alpha,1-alpha]) + if isinstance(alpha,list): self.alpha = torch.Tensor(alpha) + self.size_average = size_average + + def forward(self, input, target): + if input.dim()>2: + input = input.view(input.size(0),input.size(1),-1) # N,C,H,W => N,C,H*W + input = input.transpose(1,2) # N,C,H*W => N,H*W,C + input = input.contiguous().view(-1,input.size(2)) # N,H*W,C => N*H*W,C + target = target.view(-1,1) + + logpt = F.log_softmax(input) + logpt = logpt.gather(1,target) + logpt = logpt.view(-1) + pt = Variable(logpt.data.exp()) + + if self.alpha is not None: + if self.alpha.type()!=input.data.type(): + self.alpha = self.alpha.type_as(input.data) + at = self.alpha.gather(0,target.data.view(-1)) + logpt = logpt * Variable(at) + + loss = -1 * (1-pt)**self.gamma * logpt + if self.size_average: return loss.mean() + else: return loss.sum() + diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/metric.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/metric.py new file mode 100644 index 0000000000000000000000000000000000000000..a048db1e0a229ff8b50996f328e58b5436af8e96 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/metric.py @@ -0,0 +1,75 @@ +import torch +from torch import nn +from torch.autograd import Variable +from torch.nn import functional as F +import torch.utils.data + +from torchvision.models.inception import inception_v3 + +import numpy as np +from scipy.stats import entropy + +def mae(input, target): + with torch.no_grad(): + loss = nn.L1Loss() + output = loss(input, target) + return output + + +def inception_score(imgs, cuda=True, batch_size=32, resize=False, splits=1): + """Computes the inception score of the generated images imgs + + imgs -- Torch dataset of (3xHxW) numpy images normalized in the range [-1, 1] + cuda -- whether or not to run on GPU + batch_size -- batch size for feeding into Inception v3 + splits -- number of splits + """ + N = len(imgs) + + assert batch_size > 0 + assert N > batch_size + + # Set up dtype + if cuda: + dtype = torch.cuda.FloatTensor + else: + if torch.cuda.is_available(): + print("WARNING: You have a CUDA device, so you should probably set cuda=True") + dtype = torch.FloatTensor + + # Set up dataloader + dataloader = torch.utils.data.DataLoader(imgs, batch_size=batch_size) + + # Load inception model + inception_model = inception_v3(pretrained=True, transform_input=False).type(dtype) + inception_model.eval() + up = nn.Upsample(size=(299, 299), mode='bilinear').type(dtype) + def get_pred(x): + if resize: + x = up(x) + x = inception_model(x) + return F.softmax(x).data.cpu().numpy() + + # Get predictions + preds = np.zeros((N, 1000)) + + for i, batch in enumerate(dataloader, 0): + batch = batch.type(dtype) + batchv = Variable(batch) + batch_size_i = batch.size()[0] + + preds[i*batch_size:i*batch_size + batch_size_i] = get_pred(batchv) + + # Now compute the mean kl-div + split_scores = [] + + for k in range(splits): + part = preds[k * (N // splits): (k+1) * (N // splits), :] + py = np.mean(part, axis=0) + scores = [] + for i in range(part.shape[0]): + pyx = part[i, :] + scores.append(entropy(pyx, py)) + split_scores.append(np.exp(np.mean(scores))) + + return np.mean(split_scores), np.std(split_scores) \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/model.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/model.py new file mode 100644 index 0000000000000000000000000000000000000000..8507ec362c2a2970196995a0ca2ec29f396ac861 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/model.py @@ -0,0 +1,234 @@ +import torch +import tqdm +from core.base_model import BaseModel +from core.logger import LogTracker +import copy +class EMA(): + def __init__(self, beta=0.9999): + super().__init__() + self.beta = beta + def update_model_average(self, ma_model, current_model): + for current_params, ma_params in zip(current_model.parameters(), ma_model.parameters()): + old_weight, up_weight = ma_params.data, current_params.data + ma_params.data = self.update_average(old_weight, up_weight) + def update_average(self, old, new): + if old is None: + return new + return old * self.beta + (1 - self.beta) * new + +class Palette(BaseModel): + def __init__(self, networks, losses, sample_num, task, optimizers, ema_scheduler=None, **kwargs): + ''' must to init BaseModel with kwargs ''' + super(Palette, self).__init__(**kwargs) + + ''' networks, dataloder, optimizers, losses, etc. ''' + self.loss_fn = losses[0] + self.netG = networks[0] + if ema_scheduler is not None: + self.ema_scheduler = ema_scheduler + self.netG_EMA = copy.deepcopy(self.netG) + self.EMA = EMA(beta=self.ema_scheduler['ema_decay']) + else: + self.ema_scheduler = None + + ''' networks can be a list, and must convert by self.set_device function if using multiple GPU. ''' + self.netG = self.set_device(self.netG, distributed=self.opt['distributed']) + if self.ema_scheduler is not None: + self.netG_EMA = self.set_device(self.netG_EMA, distributed=self.opt['distributed']) + self.load_networks() + + self.optG = torch.optim.Adam(list(filter(lambda p: p.requires_grad, self.netG.parameters())), **optimizers[0]) + self.optimizers.append(self.optG) + self.resume_training() + + if self.opt['distributed']: + self.netG.module.set_loss(self.loss_fn) + self.netG.module.set_new_noise_schedule(phase=self.phase) + else: + self.netG.set_loss(self.loss_fn) + self.netG.set_new_noise_schedule(phase=self.phase) + + ''' can rewrite in inherited class for more informations logging ''' + self.train_metrics = LogTracker(*[m.__name__ for m in losses], phase='train') + self.val_metrics = LogTracker(*[m.__name__ for m in self.metrics], phase='val') + self.test_metrics = LogTracker(*[m.__name__ for m in self.metrics], phase='test') + + self.sample_num = sample_num + self.task = task + + def set_input(self, data): + ''' must use set_device in tensor ''' + self.cond_image = self.set_device(data.get('cond_image')) + self.gt_image = self.set_device(data.get('gt_image')) + self.mask = self.set_device(data.get('mask')) + self.mask_image = data.get('mask_image') + self.path = data['path'] + self.batch_size = len(data['path']) + + def get_rgb_tensor(self, rgb): + rgb = rgb*0.5+0.5 + rgb = rgb - torch.min(rgb) + # treat saturated images, scale values + if torch.max(rgb) == 0: + rgb = 255 * torch.ones_like(rgb) + else: + rgb = 255 * (rgb / torch.max(rgb)) + return rgb.type(torch.uint8) + + def get_current_visuals(self, phase='train'): + dict = { + 'gt_image': [self.get_rgb_tensor(i) for i in self.gt_image.detach()[:].float().cpu()], + # 'cond_image': [self.get_rgb_tensor(i) for i in self.cond_image.detach()[:].float().cpu()], + } + if self.task in ['inpainting','uncropping']: + dict.update({ + 'mask': self.mask.detach()[:].float().cpu(), + 'mask_image': (self.mask_image+1)/2, + }) + if phase != 'train': + dict.update({ + 'output': [self.get_rgb_tensor(i) for i in self.output.detach()[:].float().cpu()] + }) + return dict + + def save_current_results(self): + ret_path = [] + ret_result = [] + for idx in range(self.batch_size): + ret_path.append('GT_{}'.format(self.path[idx])) + ret_result.append(self.gt_image[idx].detach().float().cpu()) + + # ret_path.append('Cond_{}'.format(self.path[idx])) + # ret_result.append(self.cond_image[idx].detach().float().cpu()) + + # ret_path.append('Process_{}'.format(self.path[idx])) + # ret_result.append(self.visuals[idx::self.batch_size].detach().float().cpu()) + + ret_path.append('Out_{}'.format(self.path[idx])) + ret_result.append(self.output[idx].detach().float().cpu()) + + if self.task in ['inpainting','uncropping']: + ret_path.extend(['Mask_{}'.format(name) for name in self.path]) + ret_result.extend(self.mask_image) + + self.results_dict = self.results_dict._replace(name=ret_path, result=ret_result) + return self.results_dict._asdict() + + def train_step(self): + self.netG.train() + self.train_metrics.reset() + for train_data in tqdm.tqdm(self.phase_loader): + self.set_input(train_data) + self.optG.zero_grad() + loss = self.netG(self.gt_image, self.cond_image, mask=self.mask) + loss.backward() + self.optG.step() + + self.iter += self.batch_size + self.writer.set_iter(self.epoch, self.iter, phase='train') + self.train_metrics.update(self.loss_fn.__name__, loss.item()) + if self.iter % self.opt['train']['log_iter'] == 0: + for key, value in self.train_metrics.result().items(): + self.logger.info('{:5s}: {}\t'.format(str(key), value)) + self.writer.add_scalar(key, value) + for key, value in self.get_current_visuals().items(): + self.writer.add_images(key, value, dataformats="CHW") + if self.ema_scheduler is not None: + if self.iter > self.ema_scheduler['ema_start'] and self.iter % self.ema_scheduler['ema_iter'] == 0: + self.EMA.update_model_average(self.netG_EMA, self.netG) + + for scheduler in self.schedulers: + scheduler.step() + return self.train_metrics.result() + + def val_step(self): + self.netG.eval() + self.val_metrics.reset() + with torch.no_grad(): + for val_data in tqdm.tqdm(self.val_loader): + self.set_input(val_data) + if self.opt['distributed']: + if self.task in ['inpainting','uncropping']: + self.output, self.visuals = self.netG.module.restoration(self.cond_image, y_t=self.cond_image, + y_0=self.gt_image, mask=self.mask, sample_num=self.sample_num) + else: + self.output, self.visuals = self.netG.module.restoration(self.cond_image, sample_num=self.sample_num,y_0=self.gt_image) + else: + if self.task in ['inpainting','uncropping']: + self.output, self.visuals = self.netG.restoration(self.cond_image, y_t=self.cond_image, + y_0=self.gt_image, mask=self.mask, sample_num=self.sample_num) + else: + self.output, self.visuals = self.netG.restoration(self.cond_image, sample_num=self.sample_num, y_0=self.gt_image) + + self.iter += self.batch_size + self.writer.set_iter(self.epoch, self.iter, phase='val') + + for met in self.metrics: + key = met.__name__ + value = met(self.gt_image, self.output) + self.val_metrics.update(key, value) + self.writer.add_scalar(key, value) + for key, value in self.get_current_visuals(phase='val').items(): + self.writer.add_images(key, value, dataformats="CHW") + self.writer.save_images(self.save_current_results()) + + return self.val_metrics.result() + + def test(self): + self.netG.eval() + self.test_metrics.reset() + with torch.no_grad(): + for phase_data in tqdm.tqdm(self.phase_loader): + self.set_input(phase_data) + if self.opt['distributed']: + if self.task in ['inpainting','uncropping']: + self.output, self.visuals = self.netG.module.restoration(self.cond_image, y_t=self.cond_image, + y_0=self.gt_image, mask=self.mask, sample_num=self.sample_num) + else: + self.output, self.visuals = self.netG.module.restoration(self.cond_image, sample_num=self.sample_num, y_0=self.gt_image) + else: + if self.task in ['inpainting','uncropping']: + self.output, self.visuals = self.netG.restoration(self.cond_image, y_t=self.cond_image, + y_0=self.gt_image, mask=self.mask, sample_num=self.sample_num) + else: + self.output, self.visuals = self.netG.restoration(self.cond_image, sample_num=self.sample_num, y_0=self.gt_image) + + self.iter += self.batch_size + self.writer.set_iter(self.epoch, self.iter, phase='test') + for met in self.metrics: + key = met.__name__ + value = met(self.gt_image, self.output) + self.test_metrics.update(key, value) + self.writer.add_scalar(key, value) + # for key, value in self.get_current_visuals(phase='test').items(): + # self.writer.add_images(key, value, dataformats="CHW") + self.writer.save_images(self.save_current_results()) + + test_log = self.test_metrics.result() + ''' save logged informations into log dict ''' + test_log.update({'epoch': self.epoch, 'iters': self.iter}) + + ''' print logged informations to the screen and tensorboard ''' + for key, value in test_log.items(): + self.logger.info('{:5s}: {}\t'.format(str(key), value)) + + def load_networks(self): + """ save pretrained model and training state, which only do on GPU 0. """ + if self.opt['distributed']: + netG_label = self.netG.module.__class__.__name__ + else: + netG_label = self.netG.__class__.__name__ + self.load_network(network=self.netG, network_label=netG_label, strict=False) + if self.ema_scheduler is not None: + self.load_network(network=self.netG_EMA, network_label=netG_label+'_ema', strict=False) + + def save_everything(self): + """ load pretrained model and training state. """ + if self.opt['distributed']: + netG_label = self.netG.module.__class__.__name__ + else: + netG_label = self.netG.__class__.__name__ + self.save_network(network=self.netG, network_label=netG_label) + if self.ema_scheduler is not None: + self.save_network(network=self.netG_EMA, network_label=netG_label+'_ema') + self.save_training_state() \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/network.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/network.py new file mode 100644 index 0000000000000000000000000000000000000000..41764af33107173bf82a1a7bcdc38987174356ac --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/network.py @@ -0,0 +1,182 @@ +import math +import torch +from inspect import isfunction +from functools import partial +import numpy as np +from tqdm import tqdm +from core.base_network import BaseNetwork +class Network(BaseNetwork): + def __init__(self, unet, beta_schedule, module_name='sr3', **kwargs): + super(Network, self).__init__(**kwargs) + if module_name == 'sr3': + from .sr3_modules.unet import UNet + elif module_name == 'guided_diffusion': + from .guided_diffusion_modules.unet import UNet + elif module_name == 'tanh': + from .guided_diffusion_modules.unet_tanh import UNet + self.denoise_fn = UNet(**unet) + self.beta_schedule = beta_schedule + + def set_loss(self, loss_fn): + self.loss_fn = loss_fn + + def set_new_noise_schedule(self, device=torch.device('cuda'), phase='train'): + to_torch = partial(torch.tensor, dtype=torch.float32, device=device) + betas = make_beta_schedule(**self.beta_schedule[phase]) + betas = betas.detach().cpu().numpy() if isinstance( + betas, torch.Tensor) else betas + alphas = 1. - betas + + timesteps, = betas.shape + self.num_timesteps = int(timesteps) + + gammas = np.cumprod(alphas, axis=0) + gammas_prev = np.append(1., gammas[:-1]) + + # calculations for diffusion q(x_t | x_{t-1}) and others + self.register_buffer('gammas', to_torch(gammas)) + self.register_buffer('sqrt_recip_gammas', to_torch(np.sqrt(1. / gammas))) + self.register_buffer('sqrt_recipm1_gammas', to_torch(np.sqrt(1. / gammas - 1))) + + # calculations for posterior q(x_{t-1} | x_t, x_0) + posterior_variance = betas * (1. - gammas_prev) / (1. - gammas) + # below: log calculation clipped because the posterior variance is 0 at the beginning of the diffusion chain + self.register_buffer('posterior_log_variance_clipped', to_torch(np.log(np.maximum(posterior_variance, 1e-20)))) + self.register_buffer('posterior_mean_coef1', to_torch(betas * np.sqrt(gammas_prev) / (1. - gammas))) + self.register_buffer('posterior_mean_coef2', to_torch((1. - gammas_prev) * np.sqrt(alphas) / (1. - gammas))) + + def predict_start_from_noise(self, y_t, t, noise): + return ( + extract(self.sqrt_recip_gammas, t, y_t.shape) * y_t - + extract(self.sqrt_recipm1_gammas, t, y_t.shape) * noise + ) + + def q_posterior(self, y_0_hat, y_t, t): + posterior_mean = ( + extract(self.posterior_mean_coef1, t, y_t.shape) * y_0_hat + + extract(self.posterior_mean_coef2, t, y_t.shape) * y_t + ) + posterior_log_variance_clipped = extract(self.posterior_log_variance_clipped, t, y_t.shape) + return posterior_mean, posterior_log_variance_clipped + + def p_mean_variance(self, y_t, t, clip_denoised: bool, y_cond=None): + noise_level = extract(self.gammas, t, x_shape=(1, 1)).to(y_t.device) + y_0_hat = self.predict_start_from_noise( + y_t, t=t, noise=self.denoise_fn(torch.cat([y_cond, y_t], dim=1), noise_level)) + + if clip_denoised: + y_0_hat.clamp_(-1., 1.) + + model_mean, posterior_log_variance = self.q_posterior( + y_0_hat=y_0_hat, y_t=y_t, t=t) + return model_mean, posterior_log_variance + + def q_sample(self, y_0, sample_gammas, noise=None): + noise = default(noise, lambda: torch.randn_like(y_0)) + return ( + sample_gammas.sqrt() * y_0 + + (1 - sample_gammas).sqrt() * noise + ) + + @torch.no_grad() + def p_sample(self, y_t, t, clip_denoised=True, y_cond=None): + model_mean, model_log_variance = self.p_mean_variance( + y_t=y_t, t=t, clip_denoised=clip_denoised, y_cond=y_cond) + noise = torch.randn_like(y_t) if any(t>0) else torch.zeros_like(y_t) + return model_mean + noise * (0.5 * model_log_variance).exp() + + @torch.no_grad() + def restoration(self, y_cond, y_t=None, y_0=None, mask=None, sample_num=8): + b, *_ = y_cond.shape + + assert self.num_timesteps > sample_num, 'num_timesteps must greater than sample_num' + sample_inter = (self.num_timesteps//sample_num) + + y_t = default(y_t, lambda: torch.randn_like(y_0)) + ret_arr = y_t + for i in tqdm(reversed(range(0, self.num_timesteps)), desc='sampling loop time step', total=self.num_timesteps): + t = torch.full((b,), i, device=y_cond.device, dtype=torch.long) + y_t = self.p_sample(y_t, t, y_cond=y_cond) + if mask is not None: + y_t = y_0*(1.-mask) + mask*y_t + if i % sample_inter == 0: + ret_arr = torch.cat([ret_arr, y_t], dim=0) + return y_t, ret_arr + + def forward(self, y_0, y_cond=None, mask=None, noise=None): + # sampling from p(gammas) + b, *_ = y_0.shape + t = torch.randint(1, self.num_timesteps, (b,), device=y_0.device).long() + gamma_t1 = extract(self.gammas, t-1, x_shape=(1, 1)) + sqrt_gamma_t2 = extract(self.gammas, t, x_shape=(1, 1)) + sample_gammas = (sqrt_gamma_t2-gamma_t1) * torch.rand((b, 1), device=y_0.device) + gamma_t1 + sample_gammas = sample_gammas.view(b, -1) + + noise = default(noise, lambda: torch.randn_like(y_0)) + y_noisy = self.q_sample( + y_0=y_0, sample_gammas=sample_gammas.view(-1, 1, 1, 1), noise=noise) + + if mask is not None: + noise_hat = self.denoise_fn(torch.cat([y_cond, y_noisy*mask+(1.-mask)*y_0], dim=1), sample_gammas) + loss = self.loss_fn(mask*noise, mask*noise_hat) + else: + noise_hat = self.denoise_fn(torch.cat([y_cond, y_noisy], dim=1), sample_gammas) + loss = self.loss_fn(noise, noise_hat) + return loss + + +# gaussian diffusion trainer class +def exists(x): + return x is not None + +def default(val, d): + if exists(val): + return val + return d() if isfunction(d) else d + +def extract(a, t, x_shape=(1,1,1,1)): + b, *_ = t.shape + out = a.gather(-1, t) + return out.reshape(b, *((1,) * (len(x_shape) - 1))) + +# beta_schedule function +def _warmup_beta(linear_start, linear_end, n_timestep, warmup_frac): + betas = linear_end * np.ones(n_timestep, dtype=np.float64) + warmup_time = int(n_timestep * warmup_frac) + betas[:warmup_time] = np.linspace( + linear_start, linear_end, warmup_time, dtype=np.float64) + return betas + +def make_beta_schedule(schedule, n_timestep, linear_start=1e-6, linear_end=1e-2, cosine_s=8e-3): + if schedule == 'quad': + betas = np.linspace(linear_start ** 0.5, linear_end ** 0.5, + n_timestep, dtype=np.float64) ** 2 + elif schedule == 'linear': + betas = np.linspace(linear_start, linear_end, + n_timestep, dtype=np.float64) + elif schedule == 'warmup10': + betas = _warmup_beta(linear_start, linear_end, + n_timestep, 0.1) + elif schedule == 'warmup50': + betas = _warmup_beta(linear_start, linear_end, + n_timestep, 0.5) + elif schedule == 'const': + betas = linear_end * np.ones(n_timestep, dtype=np.float64) + elif schedule == 'jsd': # 1/T, 1/(T-1), 1/(T-2), ..., 1 + betas = 1. / np.linspace(n_timestep, + 1, n_timestep, dtype=np.float64) + elif schedule == "cosine": + timesteps = ( + torch.arange(n_timestep + 1, dtype=torch.float64) / + n_timestep + cosine_s + ) + alphas = timesteps / (1 + cosine_s) * math.pi / 2 + alphas = torch.cos(alphas).pow(2) + alphas = alphas / alphas[0] + betas = 1 - alphas[1:] / alphas[:-1] + betas = betas.clamp(max=0.999) + else: + raise NotImplementedError(schedule) + return betas + + diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/network_noise_dpm_solver.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/network_noise_dpm_solver.py new file mode 100644 index 0000000000000000000000000000000000000000..1dca5253a7bd09544f1e76738633bc1309728c61 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/network_noise_dpm_solver.py @@ -0,0 +1,255 @@ +import math +import torch +from inspect import isfunction +from functools import partial +import numpy as np +from tqdm import tqdm +from core.base_network import BaseNetwork +from core.dpm_solver_pytorch import NoiseScheduleVP, model_wrapper, DPM_Solver +class Network(BaseNetwork): + def __init__(self, unet, beta_schedule, module_name='sr3', **kwargs): + super(Network, self).__init__(**kwargs) + # if module_name == 'sr3': + # from .sr3_modules.unet import UNet + # elif module_name == 'guided_diffusion': + # from .guided_diffusion_modules.unet import UNet + # elif module_name == 'tanh': + # from .guided_diffusion_modules.unet_tanh import UNet + # elif module_name == 'ours': + # from .ours.unet_down3 import UNet + if module_name == "nafnet": + from .ours.nafnet import UNet + elif module_name == "conv2former": + from .ours.guided_diffusion_likai import UNet + elif module_name == "double": + from .ours.nafnet_double import UNet + elif module_name == "double_encoder": + from .ours.nafnet_double_encoder import UNet + elif module_name == "nafnet_ours": + from .ours.nafnet_ours import UNet + elif module_name == "nafnet_res": + from .ours.nafnet_res_noinp import UNet + elif module_name == "nafnet_newca_noinp": + from .ours.nafnet_newca_noinp import UNet + elif module_name == "nafnet_reverseca_noinp": + from .ours.nafnet_reverseca_noinp import UNet + elif module_name == "nafnet_splitca_noinp": + from .ours.nafnet64_splitca_noinp import UNet + elif module_name == "nafnet_nosca_silu_noinp": + from .ours.nafnet_nosca_silu import UNet + elif module_name == "nafnet_concat_no_condskip_nodrop_noparams_splitca_double_encoder_decoder_noCondFFN_middle_fusion": + from .ours.nafnet_concat_no_condskip_nodrop_noparams_splitca_double_encoder_decoder_noCondFFN_middle_fusion import UNet + elif module_name == "nafnet_sum_no_condskip_nodrop_noparams_splitca_double_encoder_decoder_noCondFFN_middle_fusion": + from .ours.nafnet_sum_no_condskip_nodrop_noparams_splitca_double_encoder_decoder_noCondFFN_middle_fusion import UNet + elif module_name == "nafnet_concat_no_condskip_nodrop_noparams_splitca_double_encoder_decoder_middle_fusion": + from .ours.nafnet_concat_no_condskip_nodrop_noparams_splitca_double_encoder_decoder_middle_fusion import UNet + elif module_name == "nafnet_double_encoder_splitcaCond_splitcaUnet": + from .ours.nafnet_double_encoder_splitcaCond_splitcaUnet import UNet + elif module_name == "nafnet_double_encoder_splitcaCond": + from .ours.nafnet_double_encoder_splitcaCond import UNet + elif module_name == "nafnet_double_encoder_splitcaUnet": + from .ours.nafnet_double_encoder_splitcaUnet import UNet + self.denoise_fn = UNet(**unet) + self.beta_schedule = beta_schedule + + def set_loss(self, loss_fn): + self.loss_fn = loss_fn + + def set_new_noise_schedule(self, device=torch.device('cuda'), phase='train'): + to_torch = partial(torch.tensor, dtype=torch.float32, device=device) + betas = make_beta_schedule(**self.beta_schedule[phase]) + betas = betas.detach().cpu().numpy() if isinstance( + betas, torch.Tensor) else betas + self.betas = betas + alphas = 1. - betas + + timesteps, = betas.shape + self.num_timesteps = int(timesteps) + + gammas = np.cumprod(alphas, axis=0) + gammas_prev = np.append(1., gammas[:-1]) + + # calculations for diffusion q(x_t | x_{t-1}) and others + self.register_buffer('gammas', to_torch(gammas)) + self.register_buffer('sqrt_recip_gammas', to_torch(np.sqrt(1. / gammas))) + self.register_buffer('sqrt_recipm1_gammas', to_torch(np.sqrt(1. / gammas - 1))) + + # calculations for posterior q(x_{t-1} | x_t, x_0) + posterior_variance = betas * (1. - gammas_prev) / (1. - gammas) + # below: log calculation clipped because the posterior variance is 0 at the beginning of the diffusion chain + self.register_buffer('posterior_log_variance_clipped', to_torch(np.log(np.maximum(posterior_variance, 1e-20)))) + self.register_buffer('posterior_mean_coef1', to_torch(betas * np.sqrt(gammas_prev) / (1. - gammas))) + self.register_buffer('posterior_mean_coef2', to_torch((1. - gammas_prev) * np.sqrt(alphas) / (1. - gammas))) + + def predict_start_from_noise(self, y_t, t, noise): + return ( + extract(self.sqrt_recip_gammas, t, y_t.shape) * y_t - + extract(self.sqrt_recipm1_gammas, t, y_t.shape) * noise + ) + + def q_posterior(self, y_0_hat, y_t, t): + posterior_mean = ( + extract(self.posterior_mean_coef1, t, y_t.shape) * y_0_hat + + extract(self.posterior_mean_coef2, t, y_t.shape) * y_t + ) + posterior_log_variance_clipped = extract(self.posterior_log_variance_clipped, t, y_t.shape) + return posterior_mean, posterior_log_variance_clipped + + def p_mean_variance(self, y_t, t, clip_denoised: bool, y_cond=None): + noise_level = extract(self.gammas, t, x_shape=(1, 1)).to(y_t.device) + y_0_hat = self.predict_start_from_noise( + y_t, t=t, noise=self.denoise_fn(torch.cat([y_cond, y_t], dim=1), noise_level)) + + if clip_denoised: + y_0_hat.clamp_(-1., 1.) + + model_mean, posterior_log_variance = self.q_posterior( + y_0_hat=y_0_hat, y_t=y_t, t=t) + return model_mean, posterior_log_variance + + def q_sample(self, y_0, sample_gammas, noise=None): + noise = default(noise, lambda: torch.randn_like(y_0)) + return ( + sample_gammas.sqrt() * y_0 + + (1 - sample_gammas).sqrt() * noise + ) + + @torch.no_grad() + def p_sample(self, y_t, t, clip_denoised=True, y_cond=None): + model_mean, model_log_variance = self.p_mean_variance( + y_t=y_t, t=t, clip_denoised=clip_denoised, y_cond=y_cond) + noise = torch.randn_like(y_t) if any(t>0) else torch.zeros_like(y_t) + return model_mean + noise * (0.5 * model_log_variance).exp() + + @torch.no_grad() + def restoration(self, y_cond, y_t=None, y_0=None, mask=None, sample_num=8): + b, *_ = y_cond.shape + + assert self.num_timesteps > sample_num, 'num_timesteps must greater than sample_num' + sample_inter = (self.num_timesteps//sample_num) + + y_t = default(y_t, lambda: torch.randn_like(y_0)) + ret_arr = y_t + for i in tqdm(reversed(range(0, self.num_timesteps)), desc='sampling loop time step', total=self.num_timesteps): + t = torch.full((b,), i, device=y_cond.device, dtype=torch.long) + y_t = self.p_sample(y_t, t, y_cond=y_cond) + if mask is not None: + y_t = y_0*(1.-mask) + mask*y_t + if i % sample_inter == 0: + ret_arr = torch.cat([ret_arr, y_t], dim=0) + noise_schedule = NoiseScheduleVP(schedule='discrete', betas=torch.from_numpy(self.betas)) + model_fn = model_wrapper( + self.denoise_fn, + noise_schedule, + model_type="noise", # "noise" or "x_start" or "v" or "score" + model_kwargs={}, + guidance_type="classifier-free", + condition=y_cond, + unconditional_condition=None, + guidance_scale=1., + ) + dpm_solver = DPM_Solver( + model_fn, + noise_schedule, + algorithm_type="dpmsolver++", + correcting_x0_fn="dynamic_thresholding", + ) + y_t = dpm_solver.sample( + y_t, + steps=20, # 10, 12, 15, 20, 25, 50, 100 + order=2, + skip_type="time_uniform", + method="multistep", + denoise_to_zero=True, + ) + return y_t, ret_arr + + def forward(self, y_0, y_cond=None, mask=None, noise=None): + # sampling from p(gammas) + b, *_ = y_0.shape + t = torch.randint(1, self.num_timesteps, (b,), device=y_0.device).long() + gamma_t1 = extract(self.gammas, t-1, x_shape=(1, 1)) + sqrt_gamma_t2 = extract(self.gammas, t, x_shape=(1, 1)) + sample_gammas = (sqrt_gamma_t2-gamma_t1) * torch.rand((b, 1), device=y_0.device) + gamma_t1 + sample_gammas = sample_gammas.view(b, -1) + + noise = default(noise, lambda: torch.randn_like(y_0)) + y_noisy = self.q_sample( + y_0=y_0, sample_gammas=sample_gammas.view(-1, 1, 1, 1), noise=noise) + + if mask is not None: + noise_hat = self.denoise_fn(torch.cat([y_cond, y_noisy*mask+(1.-mask)*y_0], dim=1), sample_gammas) + loss = self.loss_fn(mask*noise, mask*noise_hat) + else: + noise_hat = self.denoise_fn(torch.cat([y_cond, y_noisy], dim=1), sample_gammas) + loss = self.loss_fn(noise, noise_hat) + return loss + + +# gaussian diffusion trainer class +def exists(x): + return x is not None + +def default(val, d): + if exists(val): + return val + return d() if isfunction(d) else d + +def extract(a, t, x_shape=(1,1,1,1)): + b, *_ = t.shape + out = a.gather(-1, t) + return out.reshape(b, *((1,) * (len(x_shape) - 1))) + +# beta_schedule function +def _warmup_beta(linear_start, linear_end, n_timestep, warmup_frac): + betas = linear_end * np.ones(n_timestep, dtype=np.float64) + warmup_time = int(n_timestep * warmup_frac) + betas[:warmup_time] = np.linspace( + linear_start, linear_end, warmup_time, dtype=np.float64) + return betas + +def make_beta_schedule(schedule, n_timestep, linear_start=1e-6, linear_end=1e-2, cosine_s=8e-3): + if schedule == 'quad': + betas = np.linspace(linear_start ** 0.5, linear_end ** 0.5, + n_timestep, dtype=np.float64) ** 2 + elif schedule == 'linear': + betas = np.linspace(linear_start, linear_end, + n_timestep, dtype=np.float64) + elif schedule == 'warmup10': + betas = _warmup_beta(linear_start, linear_end, + n_timestep, 0.1) + elif schedule == 'warmup50': + betas = _warmup_beta(linear_start, linear_end, + n_timestep, 0.5) + elif schedule == 'const': + betas = linear_end * np.ones(n_timestep, dtype=np.float64) + elif schedule == 'jsd': # 1/T, 1/(T-1), 1/(T-2), ..., 1 + betas = 1. / np.linspace(n_timestep, + 1, n_timestep, dtype=np.float64) + elif schedule == "cosine": + timesteps = ( + torch.arange(n_timestep + 1, dtype=torch.float64) / + n_timestep + cosine_s + ) + alphas = timesteps / (1 + cosine_s) * math.pi / 2 + alphas = torch.cos(alphas).pow(2) + alphas = alphas / alphas[0] + betas = 1 - alphas[1:] / alphas[:-1] + betas = betas.clamp(max=0.999) + elif schedule == "sigmoid": + start = -3 + end = 3 + tau = 1 + timesteps = n_timestep + steps = timesteps + 1 + t = torch.linspace(0, timesteps, steps, dtype = torch.float64) / timesteps + v_start = torch.tensor(start / tau).sigmoid() + v_end = torch.tensor(end / tau).sigmoid() + alphas_cumprod = (-((t * (end - start) + start) / tau).sigmoid() + v_end) / (v_end - v_start) + alphas_cumprod = alphas_cumprod / alphas_cumprod[0] + betas = 1 - (alphas_cumprod[1:] / alphas_cumprod[:-1]) + return torch.clip(betas, 0, 0.999) + else: + raise NotImplementedError(schedule) + return betas + diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/network_x0.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/network_x0.py new file mode 100644 index 0000000000000000000000000000000000000000..6d744e1e58cde9c99c45e5769e7164860453c383 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/network_x0.py @@ -0,0 +1,191 @@ +import math +import torch +from inspect import isfunction +from functools import partial +import numpy as np +from tqdm import tqdm +from core.base_network import BaseNetwork +class Network(BaseNetwork): + def __init__(self, unet, beta_schedule, module_name='sr3', **kwargs): + super(Network, self).__init__(**kwargs) + if module_name == 'sr3': + from .sr3_modules.unet import UNet + elif module_name == 'guided_diffusion': + from .guided_diffusion_modules.unet import UNet + elif module_name == 'tanh': + from .guided_diffusion_modules.unet_tanh import UNet + elif module_name == 'ours': + from .ours.unet_down3 import UNet + elif module_name == "nafnet_double_encoder_splitcaCond_splitcaUnet": + from .ours.nafnet_double_encoder_splitcaCond_splitcaUnet import UNet + elif module_name == "nafnet_double_encoder_splitcaCond": + from .ours.nafnet_double_encoder_splitcaCond import UNet + elif module_name == "nafnet_double_encoder_splitcaUnet": + from .ours.nafnet_double_encoder_splitcaUnet import UNet + self.denoise_fn = UNet(**unet) + self.beta_schedule = beta_schedule + + def set_loss(self, loss_fn): + self.loss_fn = loss_fn + + def set_new_noise_schedule(self, device=torch.device('cuda'), phase='train'): + to_torch = partial(torch.tensor, dtype=torch.float32, device=device) + betas = make_beta_schedule(**self.beta_schedule[phase]) + betas = betas.detach().cpu().numpy() if isinstance( + betas, torch.Tensor) else betas + alphas = 1. - betas + + timesteps, = betas.shape + self.num_timesteps = int(timesteps) + + gammas = np.cumprod(alphas, axis=0) + gammas_prev = np.append(1., gammas[:-1]) + + # calculations for diffusion q(x_t | x_{t-1}) and others + self.register_buffer('gammas', to_torch(gammas)) + self.register_buffer('sqrt_recip_gammas', to_torch(np.sqrt(1. / gammas))) + self.register_buffer('sqrt_recipm1_gammas', to_torch(np.sqrt(1. / gammas - 1))) + + # calculations for posterior q(x_{t-1} | x_t, x_0) + posterior_variance = betas * (1. - gammas_prev) / (1. - gammas) + # below: log calculation clipped because the posterior variance is 0 at the beginning of the diffusion chain + self.register_buffer('posterior_log_variance_clipped', to_torch(np.log(np.maximum(posterior_variance, 1e-20)))) + self.register_buffer('posterior_mean_coef1', to_torch(betas * np.sqrt(gammas_prev) / (1. - gammas))) + self.register_buffer('posterior_mean_coef2', to_torch((1. - gammas_prev) * np.sqrt(alphas) / (1. - gammas))) + + def predict_start_from_noise(self, y_t, t, noise): + return ( + extract(self.sqrt_recip_gammas, t, y_t.shape) * y_t - + extract(self.sqrt_recipm1_gammas, t, y_t.shape) * noise + ) + + def q_posterior(self, y_0_hat, y_t, t): + posterior_mean = ( + extract(self.posterior_mean_coef1, t, y_t.shape) * y_0_hat + + extract(self.posterior_mean_coef2, t, y_t.shape) * y_t + ) + posterior_log_variance_clipped = extract(self.posterior_log_variance_clipped, t, y_t.shape) + return posterior_mean, posterior_log_variance_clipped + + def p_mean_variance(self, y_t, t, clip_denoised: bool, y_cond=None): + noise_level = extract(self.gammas, t, x_shape=(1, 1)).to(y_t.device) + # y_0_hat = self.predict_start_from_noise( + # y_t, t=t, noise=self.denoise_fn(torch.cat([y_cond, y_t], dim=1), noise_level)) + y_0_hat = self.denoise_fn(torch.cat([y_cond, y_t], dim=1), noise_level) + + if clip_denoised: + y_0_hat.clamp_(-1., 1.) + + model_mean, posterior_log_variance = self.q_posterior( + y_0_hat=y_0_hat, y_t=y_t, t=t) + return model_mean, posterior_log_variance + + def q_sample(self, y_0, sample_gammas, noise=None): + noise = default(noise, lambda: torch.randn_like(y_0)) + return ( + sample_gammas.sqrt() * y_0 + + (1 - sample_gammas).sqrt() * noise + ) + + @torch.no_grad() + def p_sample(self, y_t, t, clip_denoised=True, y_cond=None): + model_mean, model_log_variance = self.p_mean_variance( + y_t=y_t, t=t, clip_denoised=clip_denoised, y_cond=y_cond) + noise = torch.randn_like(y_t) if any(t>0) else torch.zeros_like(y_t) + return model_mean + noise * (0.5 * model_log_variance).exp() + + @torch.no_grad() + def restoration(self, y_cond, y_t=None, y_0=None, mask=None, sample_num=8): + b, *_ = y_cond.shape + + assert self.num_timesteps > sample_num, 'num_timesteps must greater than sample_num' + sample_inter = (self.num_timesteps//sample_num) + + y_t = default(y_t, lambda: torch.randn_like(y_0)) + ret_arr = y_t + for i in tqdm(reversed(range(0, self.num_timesteps)), desc='sampling loop time step', total=self.num_timesteps): + t = torch.full((b,), i, device=y_cond.device, dtype=torch.long) + y_t = self.p_sample(y_t, t, y_cond=y_cond) + if mask is not None: + y_t = y_0*(1.-mask) + mask*y_t + if i % sample_inter == 0: + ret_arr = torch.cat([ret_arr, y_t], dim=0) + return y_t, ret_arr + + def forward(self, y_0, y_cond=None, mask=None, noise=None): + # sampling from p(gammas) + b, *_ = y_0.shape + t = torch.randint(1, self.num_timesteps, (b,), device=y_0.device).long() + gamma_t1 = extract(self.gammas, t-1, x_shape=(1, 1)) + sqrt_gamma_t2 = extract(self.gammas, t, x_shape=(1, 1)) + sample_gammas = (sqrt_gamma_t2-gamma_t1) * torch.rand((b, 1), device=y_0.device) + gamma_t1 + sample_gammas = sample_gammas.view(b, -1) + + noise = default(noise, lambda: torch.randn_like(y_0)) + y_noisy = self.q_sample( + y_0=y_0, sample_gammas=sample_gammas.view(-1, 1, 1, 1), noise=noise) + + if mask is not None: + noise_hat = self.denoise_fn(torch.cat([y_cond, y_noisy*mask+(1.-mask)*y_0], dim=1), sample_gammas) + loss = self.loss_fn(mask*noise, mask*noise_hat) + else: + y_0_hat = self.denoise_fn(torch.cat([y_cond, y_noisy], dim=1), sample_gammas) + loss = self.loss_fn(y_0, y_0_hat) + return loss + + +# gaussian diffusion trainer class +def exists(x): + return x is not None + +def default(val, d): + if exists(val): + return val + return d() if isfunction(d) else d + +def extract(a, t, x_shape=(1,1,1,1)): + b, *_ = t.shape + out = a.gather(-1, t) + return out.reshape(b, *((1,) * (len(x_shape) - 1))) + +# beta_schedule function +def _warmup_beta(linear_start, linear_end, n_timestep, warmup_frac): + betas = linear_end * np.ones(n_timestep, dtype=np.float64) + warmup_time = int(n_timestep * warmup_frac) + betas[:warmup_time] = np.linspace( + linear_start, linear_end, warmup_time, dtype=np.float64) + return betas + +def make_beta_schedule(schedule, n_timestep, linear_start=1e-6, linear_end=1e-2, cosine_s=8e-3): + if schedule == 'quad': + betas = np.linspace(linear_start ** 0.5, linear_end ** 0.5, + n_timestep, dtype=np.float64) ** 2 + elif schedule == 'linear': + betas = np.linspace(linear_start, linear_end, + n_timestep, dtype=np.float64) + elif schedule == 'warmup10': + betas = _warmup_beta(linear_start, linear_end, + n_timestep, 0.1) + elif schedule == 'warmup50': + betas = _warmup_beta(linear_start, linear_end, + n_timestep, 0.5) + elif schedule == 'const': + betas = linear_end * np.ones(n_timestep, dtype=np.float64) + elif schedule == 'jsd': # 1/T, 1/(T-1), 1/(T-2), ..., 1 + betas = 1. / np.linspace(n_timestep, + 1, n_timestep, dtype=np.float64) + elif schedule == "cosine": + timesteps = ( + torch.arange(n_timestep + 1, dtype=torch.float64) / + n_timestep + cosine_s + ) + alphas = timesteps / (1 + cosine_s) * math.pi / 2 + alphas = torch.cos(alphas).pow(2) + alphas = alphas / alphas[0] + betas = 1 - alphas[1:] / alphas[:-1] + betas = betas.clamp(max=0.999) + else: + raise NotImplementedError(schedule) + return betas + + diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/network_x0_dpm_solver.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/network_x0_dpm_solver.py new file mode 100644 index 0000000000000000000000000000000000000000..bb0e976efff2760d42628f53e366261519af91cc --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/network_x0_dpm_solver.py @@ -0,0 +1,259 @@ +import math +import torch +from inspect import isfunction +from functools import partial +import numpy as np +from tqdm import tqdm +from core.base_network import BaseNetwork +from core.dpm_solver_pytorch import NoiseScheduleVP, model_wrapper, DPM_Solver +class Network(BaseNetwork): + def __init__(self, unet, beta_schedule, module_name='sr3', **kwargs): + super(Network, self).__init__(**kwargs) + if module_name == 'sr3': + from .sr3_modules.unet import UNet + elif module_name == 'guided_diffusion': + from .guided_diffusion_modules.unet import UNet + elif module_name == 'tanh': + from .guided_diffusion_modules.unet_tanh import UNet + elif module_name == 'ours': + from .ours.unet_down3 import UNet + elif module_name == "nafnet": + from .ours.nafnet import UNet + elif module_name == "conv2former": + from .ours.guided_diffusion_likai import UNet + elif module_name == "double": + from .ours.nafnet_double import UNet + elif module_name == "double_encoder": + from .ours.nafnet_double_encoder import UNet + elif module_name == "nafnet_ours": + from .ours.nafnet_ours import UNet + elif module_name == "nafnet_res": + from .ours.nafnet_res_noinp import UNet + elif module_name == "nafnet_newca_noinp": + from .ours.nafnet_newca_noinp import UNet + elif module_name == "nafnet_reverseca_noinp": + from .ours.nafnet_reverseca_noinp import UNet + elif module_name == "nafnet_splitca_noinp": + from .ours.nafnet64_splitca_noinp import UNet + elif module_name == "nafnet_nosca_silu_noinp": + from .ours.nafnet_nosca_silu import UNet + elif module_name == "nafnet_concat_no_condskip_nodrop_noparams_splitca_double_encoder_decoder_noCondFFN_middle_fusion": + from .ours.nafnet_concat_no_condskip_nodrop_noparams_splitca_double_encoder_decoder_noCondFFN_middle_fusion import UNet + elif module_name == "nafnet_sum_no_condskip_nodrop_noparams_splitca_double_encoder_decoder_noCondFFN_middle_fusion": + from .ours.nafnet_sum_no_condskip_nodrop_noparams_splitca_double_encoder_decoder_noCondFFN_middle_fusion import UNet + elif module_name == "nafnet_concat_no_condskip_nodrop_noparams_splitca_double_encoder_decoder_middle_fusion": + from .ours.nafnet_concat_no_condskip_nodrop_noparams_splitca_double_encoder_decoder_middle_fusion import UNet + elif module_name == "nafnet_double_encoder_splitcaCond_splitcaUnet": + from .ours.nafnet_double_encoder_splitcaCond_splitcaUnet import UNet + elif module_name == "nafnet_double_encoder_splitcaCond": + from .ours.nafnet_double_encoder_splitcaCond import UNet + elif module_name == "nafnet_double_encoder_splitcaUnet": + from .ours.nafnet_double_encoder_splitcaUnet import UNet + self.denoise_fn = UNet(**unet) + self.beta_schedule = beta_schedule + + def set_loss(self, loss_fn): + self.loss_fn = loss_fn + + def set_new_noise_schedule(self, device=torch.device('cuda'), phase='train'): + to_torch = partial(torch.tensor, dtype=torch.float32, device=device) + betas = make_beta_schedule(**self.beta_schedule[phase]) + betas = betas.detach().cpu().numpy() if isinstance( + betas, torch.Tensor) else betas + self.betas = betas + alphas = 1. - betas + + timesteps, = betas.shape + self.num_timesteps = int(timesteps) + + gammas = np.cumprod(alphas, axis=0) + gammas_prev = np.append(1., gammas[:-1]) + + # calculations for diffusion q(x_t | x_{t-1}) and others + self.register_buffer('gammas', to_torch(gammas)) + self.register_buffer('sqrt_recip_gammas', to_torch(np.sqrt(1. / gammas))) + self.register_buffer('sqrt_recipm1_gammas', to_torch(np.sqrt(1. / gammas - 1))) + + # calculations for posterior q(x_{t-1} | x_t, x_0) + posterior_variance = betas * (1. - gammas_prev) / (1. - gammas) + # below: log calculation clipped because the posterior variance is 0 at the beginning of the diffusion chain + self.register_buffer('posterior_log_variance_clipped', to_torch(np.log(np.maximum(posterior_variance, 1e-20)))) + self.register_buffer('posterior_mean_coef1', to_torch(betas * np.sqrt(gammas_prev) / (1. - gammas))) + self.register_buffer('posterior_mean_coef2', to_torch((1. - gammas_prev) * np.sqrt(alphas) / (1. - gammas))) + + def predict_start_from_noise(self, y_t, t, noise): + return ( + extract(self.sqrt_recip_gammas, t, y_t.shape) * y_t - + extract(self.sqrt_recipm1_gammas, t, y_t.shape) * noise + ) + + def q_posterior(self, y_0_hat, y_t, t): + posterior_mean = ( + extract(self.posterior_mean_coef1, t, y_t.shape) * y_0_hat + + extract(self.posterior_mean_coef2, t, y_t.shape) * y_t + ) + posterior_log_variance_clipped = extract(self.posterior_log_variance_clipped, t, y_t.shape) + return posterior_mean, posterior_log_variance_clipped + + def p_mean_variance(self, y_t, t, clip_denoised: bool, y_cond=None): + noise_level = extract(self.gammas, t, x_shape=(1, 1)).to(y_t.device) + # y_0_hat = self.predict_start_from_noise( + # y_t, t=t, noise=self.denoise_fn(torch.cat([y_cond, y_t], dim=1), noise_level)) + y_0_hat = self.denoise_fn(torch.cat([y_cond, y_t], dim=1), noise_level) + + if clip_denoised: + y_0_hat.clamp_(-1., 1.) + + model_mean, posterior_log_variance = self.q_posterior( + y_0_hat=y_0_hat, y_t=y_t, t=t) + return model_mean, posterior_log_variance + + def q_sample(self, y_0, sample_gammas, noise=None): + noise = default(noise, lambda: torch.randn_like(y_0)) + return ( + sample_gammas.sqrt() * y_0 + + (1 - sample_gammas).sqrt() * noise + ) + + @torch.no_grad() + def p_sample(self, y_t, t, clip_denoised=True, y_cond=None): + model_mean, model_log_variance = self.p_mean_variance( + y_t=y_t, t=t, clip_denoised=clip_denoised, y_cond=y_cond) + noise = torch.randn_like(y_t) if any(t>0) else torch.zeros_like(y_t) + return model_mean + noise * (0.5 * model_log_variance).exp() + + @torch.no_grad() + def restoration(self, y_cond, y_t=None, y_0=None, mask=None, sample_num=8): + b, *_ = y_cond.shape + + assert self.num_timesteps > sample_num, 'num_timesteps must greater than sample_num' + sample_inter = (self.num_timesteps//sample_num) + + y_t = default(y_t, lambda: torch.randn_like(y_0)) + ret_arr = y_t + # for i in tqdm(reversed(range(0, self.num_timesteps)), desc='sampling loop time step', total=self.num_timesteps): + # t = torch.full((b,), i, device=y_cond.device, dtype=torch.long) + # y_t = self.p_sample(y_t, t, y_cond=y_cond) + # if mask is not None: + # y_t = y_0*(1.-mask) + mask*y_t + # if i % sample_inter == 0: + # ret_arr = torch.cat([ret_arr, y_t], dim=0) + noise_schedule = NoiseScheduleVP(schedule='discrete', betas=torch.from_numpy(self.betas)) + model_fn = model_wrapper( + self.denoise_fn, + noise_schedule, + model_type="x_start", # "noise" or "x_start" or "v" or "score" + model_kwargs={}, + guidance_type="classifier-free", + condition=y_cond, + unconditional_condition=None, + guidance_scale=1., + ) + dpm_solver = DPM_Solver( + model_fn, + noise_schedule, + algorithm_type="dpmsolver++", + correcting_x0_fn="dynamic_thresholding", + ) + y_t = dpm_solver.sample( + y_t, + steps=20, # 10, 12, 15, 20, 25, 50, 100 + order=2, + skip_type="time_uniform", + method="multistep", + denoise_to_zero=True, + ) + return y_t, ret_arr + + def forward(self, y_0, y_cond=None, mask=None, noise=None): + # sampling from p(gammas) + b, *_ = y_0.shape + t = torch.randint(1, self.num_timesteps, (b,), device=y_0.device).long() + gamma_t1 = extract(self.gammas, t-1, x_shape=(1, 1)) + sqrt_gamma_t2 = extract(self.gammas, t, x_shape=(1, 1)) + sample_gammas = (sqrt_gamma_t2-gamma_t1) * torch.rand((b, 1), device=y_0.device) + gamma_t1 + sample_gammas = sample_gammas.view(b, -1) + + noise = default(noise, lambda: torch.randn_like(y_0)) + y_noisy = self.q_sample( + y_0=y_0, sample_gammas=sample_gammas.view(-1, 1, 1, 1), noise=noise) + + if mask is not None: + noise_hat = self.denoise_fn(torch.cat([y_cond, y_noisy*mask+(1.-mask)*y_0], dim=1), sample_gammas) + loss = self.loss_fn(mask*noise, mask*noise_hat) + else: + y_0_hat = self.denoise_fn(torch.cat([y_cond, y_noisy], dim=1), sample_gammas) + loss = self.loss_fn(y_0, y_0_hat) + return loss + + +# gaussian diffusion trainer class +def exists(x): + return x is not None + +def default(val, d): + if exists(val): + return val + return d() if isfunction(d) else d + +def extract(a, t, x_shape=(1,1,1,1)): + b, *_ = t.shape + out = a.gather(-1, t) + return out.reshape(b, *((1,) * (len(x_shape) - 1))) + +# beta_schedule function +def _warmup_beta(linear_start, linear_end, n_timestep, warmup_frac): + betas = linear_end * np.ones(n_timestep, dtype=np.float64) + warmup_time = int(n_timestep * warmup_frac) + betas[:warmup_time] = np.linspace( + linear_start, linear_end, warmup_time, dtype=np.float64) + return betas + +def make_beta_schedule(schedule, n_timestep, linear_start=1e-6, linear_end=1e-2, cosine_s=8e-3): + if schedule == 'quad': + betas = np.linspace(linear_start ** 0.5, linear_end ** 0.5, + n_timestep, dtype=np.float64) ** 2 + elif schedule == 'linear': + betas = np.linspace(linear_start, linear_end, + n_timestep, dtype=np.float64) + elif schedule == 'warmup10': + betas = _warmup_beta(linear_start, linear_end, + n_timestep, 0.1) + elif schedule == 'warmup50': + betas = _warmup_beta(linear_start, linear_end, + n_timestep, 0.5) + elif schedule == 'const': + betas = linear_end * np.ones(n_timestep, dtype=np.float64) + elif schedule == 'jsd': # 1/T, 1/(T-1), 1/(T-2), ..., 1 + betas = 1. / np.linspace(n_timestep, + 1, n_timestep, dtype=np.float64) + elif schedule == "cosine": + timesteps = ( + torch.arange(n_timestep + 1, dtype=torch.float64) / + n_timestep + cosine_s + ) + alphas = timesteps / (1 + cosine_s) * math.pi / 2 + alphas = torch.cos(alphas).pow(2) + alphas = alphas / alphas[0] + betas = 1 - alphas[1:] / alphas[:-1] + betas = betas.clamp(max=0.999) + elif schedule == "sigmoid": + start = -3 + end = 3 + tau = 1 + timesteps = n_timestep + steps = timesteps + 1 + t = torch.linspace(0, timesteps, steps, dtype = torch.float64) / timesteps + v_start = torch.tensor(start / tau).sigmoid() + v_end = torch.tensor(end / tau).sigmoid() + alphas_cumprod = (-((t * (end - start) + start) / tau).sigmoid() + v_end) / (v_end - v_start) + alphas_cumprod = alphas_cumprod / alphas_cumprod[0] + betas = 1 - (alphas_cumprod[1:] / alphas_cumprod[:-1]) + return torch.clip(betas, 0, 0.999) + else: + raise NotImplementedError(schedule) + return betas + + + + diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/ours/guided_diffusion_likai.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/ours/guided_diffusion_likai.py new file mode 100644 index 0000000000000000000000000000000000000000..18a1e918403823d00dc246cb57e7238c49b42775 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/ours/guided_diffusion_likai.py @@ -0,0 +1,652 @@ +from abc import abstractmethod +import math +import torch +import torch.nn as nn +import torch.nn.functional as F +import numpy as np +from timm.models.layers import DropPath + +class GroupNorm32(nn.GroupNorm): + def forward(self, x): + return super().forward(x.float()).type(x.dtype) + + +def zero_module(module): + """ + Zero out the parameters of a module and return it. + """ + for p in module.parameters(): + p.detach().zero_() + return module + + +def scale_module(module, scale): + """ + Scale the parameters of a module and return it. + """ + for p in module.parameters(): + p.detach().mul_(scale) + return module + + +def mean_flat(tensor): + """ + Take the mean over all non-batch dimensions. + """ + return tensor.mean(dim=list(range(1, len(tensor.shape)))) + + +def normalization(channels): + """ + Make a standard normalization layer. + + :param channels: number of input channels. + :return: an nn.Module for normalization. + """ + return GroupNorm32(32, channels) + + + +def checkpoint(func, inputs, params, flag): + """ + Evaluate a function without caching intermediate activations, allowing for + reduced memory at the expense of extra compute in the backward pass. + + :param func: the function to evaluate. + :param inputs: the argument sequence to pass to `func`. + :param params: a sequence of parameters `func` depends on but does not + explicitly take as arguments. + :param flag: if False, disable gradient checkpointing. + """ + if flag: + args = tuple(inputs) + tuple(params) + return CheckpointFunction.apply(func, len(inputs), *args) + else: + return func(*inputs) + + +class CheckpointFunction(torch.autograd.Function): + @staticmethod + def forward(ctx, run_function, length, *args): + ctx.run_function = run_function + ctx.input_tensors = list(args[:length]) + ctx.input_params = list(args[length:]) + with torch.no_grad(): + output_tensors = ctx.run_function(*ctx.input_tensors) + return output_tensors + + @staticmethod + def backward(ctx, *output_grads): + ctx.input_tensors = [x.detach().requires_grad_(True) for x in ctx.input_tensors] + with torch.enable_grad(): + # Fixes a bug where the first op in run_function modifies the + # Tensor storage in place, which is not allowed for detach()'d + # Tensors. + shallow_copies = [x.view_as(x) for x in ctx.input_tensors] + output_tensors = ctx.run_function(*shallow_copies) + input_grads = torch.autograd.grad( + output_tensors, + ctx.input_tensors + ctx.input_params, + output_grads, + allow_unused=True, + ) + del ctx.input_tensors + del ctx.input_params + del output_tensors + return (None, None) + input_grads + + +def count_flops_attn(model, _x, y): + """ + A counter for the `thop` package to count the operations in an + attention operation. + Meant to be used like: + macs, params = thop.profile( + model, + inputs=(inputs, timestamps), + custom_ops={QKVAttention: QKVAttention.count_flops}, + ) + """ + b, c, *spatial = y[0].shape + num_spatial = int(np.prod(spatial)) + # We perform two matmuls with the same number of ops. + # The first computes the weight matrix, the second computes + # the combination of the value vectors. + matmul_ops = 2 * b * (num_spatial ** 2) * c + model.total_ops += torch.DoubleTensor([matmul_ops]) + + +def gamma_embedding(gammas, dim, max_period=10000): + """ + Create sinusoidal timestep embeddings. + :param gammas: a 1-D Tensor of N indices, one per batch element. + These may be fractional. + :param dim: the dimension of the output. + :param max_period: controls the minimum frequency of the embeddings. + :return: an [N x dim] Tensor of positional embeddings. + """ + half = dim // 2 + freqs = torch.exp( + -math.log(max_period) * torch.arange(start=0, end=half, dtype=torch.float32) / half + ).to(device=gammas.device) + args = gammas[:, None].float() * freqs[None] + embedding = torch.cat([torch.cos(args), torch.sin(args)], dim=-1) + if dim % 2: + embedding = torch.cat([embedding, torch.zeros_like(embedding[:, :1])], dim=-1) + return embedding + +class SiLU(nn.Module): + def forward(self, x): + return x * torch.sigmoid(x) + +class EmbedBlock(nn.Module): + """ + Any module where forward() takes embeddings as a second argument. + """ + + @abstractmethod + def forward(self, x, emb): + """ + Apply the module to `x` given `emb` embeddings. + """ + +class EmbedSequential(nn.Sequential, EmbedBlock): + """ + A sequential module that passes embeddings to the children that + support it as an extra input. + """ + + def forward(self, x, emb): + for layer in self: + if isinstance(layer, EmbedBlock): + x = layer(x, emb) + else: + x = layer(x) + return x + +class Upsample(nn.Module): + """ + An upsampling layer with an optional convolution. + :param channels: channels in the inputs and outputs. + :param use_conv: a bool determining if a convolution is applied. + + """ + + def __init__(self, channels, use_conv, out_channel=None): + super().__init__() + self.channels = channels + self.out_channel = out_channel or channels + self.use_conv = use_conv + if use_conv: + self.conv = nn.Conv2d(self.channels, self.out_channel, 3, padding=1) + + def forward(self, x): + assert x.shape[1] == self.channels + x = F.interpolate(x, scale_factor=2, mode="nearest") + if self.use_conv: + x = self.conv(x) + return x + +class Downsample(nn.Module): + """ + A downsampling layer with an optional convolution. + :param channels: channels in the inputs and outputs. + :param use_conv: a bool determining if a convolution is applied. + """ + + def __init__(self, channels, use_conv, out_channel=None): + super().__init__() + self.channels = channels + self.out_channel = out_channel or channels + self.use_conv = use_conv + stride = 2 + if use_conv: + self.op = nn.Conv2d( + self.channels, self.out_channel, 3, stride=stride, padding=1 + ) + else: + assert self.channels == self.out_channel + self.op = nn.AvgPool2d(kernel_size=stride, stride=stride) + + def forward(self, x): + assert x.shape[1] == self.channels + return self.op(x) + + +class ResBlock(EmbedBlock): + """ + A residual block that can optionally change the number of channels. + :param channels: the number of input channels. + :param emb_channels: the number of embedding channels. + :param dropout: the rate of dropout. + :param out_channel: if specified, the number of out channels. + :param use_conv: if True and out_channel is specified, use a spatial + convolution instead of a smaller 1x1 convolution to change the + channels in the skip connection. + :param use_checkpoint: if True, use gradient checkpointing on this module. + :param up: if True, use this block for upsampling. + :param down: if True, use this block for downsampling. + """ + + def __init__( + self, + channels, + emb_channels, + dropout, + out_channel=None, + use_conv=False, + use_scale_shift_norm=False, + use_checkpoint=False, + up=False, + down=False, + ): + super().__init__() + self.channels = channels + self.emb_channels = emb_channels + self.dropout = dropout + self.out_channel = out_channel or channels + self.use_conv = use_conv + self.use_checkpoint = use_checkpoint + self.use_scale_shift_norm = use_scale_shift_norm + + self.in_layers = nn.Sequential( + normalization(channels), + SiLU(), + nn.Conv2d(channels, self.out_channel, 3, padding=1), + ) + + self.updown = up or down + + if up: + self.h_upd = Upsample(channels, False) + self.x_upd = Upsample(channels, False) + elif down: + self.h_upd = Downsample(channels, False) + self.x_upd = Downsample(channels, False) + else: + self.h_upd = self.x_upd = nn.Identity() + + self.emb_layers = nn.Sequential( + SiLU(), + nn.Linear( + emb_channels, + 2 * self.out_channel if use_scale_shift_norm else self.out_channel, + ), + ) + self.out_layers = nn.Sequential( + normalization(self.out_channel), + SiLU(), + nn.Dropout(p=dropout), + zero_module( + nn.Conv2d(self.out_channel, self.out_channel, 3, padding=1, groups=self.out_channel) + ), + ) + + if self.out_channel == channels: + self.skip_connection = nn.Identity() + elif use_conv: + self.skip_connection = nn.Conv2d( + channels, self.out_channel, 3, padding=1 + ) + else: + self.skip_connection = nn.Conv2d(channels, self.out_channel, 1) + + def forward(self, x, emb): + """ + Apply the block to a Tensor, conditioned on a embedding. + :param x: an [N x C x ...] Tensor of features. + :param emb: an [N x emb_channels] Tensor of embeddings. + :return: an [N x C x ...] Tensor of outputs. + """ + return checkpoint( + self._forward, (x, emb), self.parameters(), self.use_checkpoint + ) + + def _forward(self, x, emb): + if self.updown: + in_rest, in_conv = self.in_layers[:-1], self.in_layers[-1] + h = in_rest(x) + h = self.h_upd(h) + x = self.x_upd(x) + h = in_conv(h) + else: + h = self.in_layers(x) + emb_out = self.emb_layers(emb).type(h.dtype) + while len(emb_out.shape) < len(h.shape): + emb_out = emb_out[..., None] + if self.use_scale_shift_norm: + out_norm, out_rest = self.out_layers[0], self.out_layers[1:] + scale, shift = torch.chunk(emb_out, 2, dim=1) + h = out_norm(h) * (1 + scale) + shift + h = out_rest(h) + else: + h = h + emb_out + h = self.out_layers(h) + return self.skip_connection(x) + h + +class LayerNorm(nn.Module): + + def __init__(self, normalized_shape, eps=1e-6, data_format="channels_last"): + super().__init__() + + self.weight = nn.Parameter(torch.ones(normalized_shape)) + self.bias = nn.Parameter(torch.zeros(normalized_shape)) + self.eps = eps + self.data_format = data_format + if self.data_format not in ["channels_last", "channels_first", "channels_first_v2"]: + raise NotImplementedError + self.normalized_shape = (normalized_shape, ) + + def forward(self, x): + if self.data_format == "channels_last": + return F.layer_norm(x, self.normalized_shape, self.weight, self.bias, self.eps) + elif self.data_format == "channels_first": + u = x.mean(1, keepdim=True) + s = (x - u).pow(2).mean(1, keepdim=True) + x = (x - u) / torch.sqrt(s + self.eps) + x = self.weight[:, None, None] * x + self.bias[:, None, None] + return x + elif self.data_format == "channels_first_v2": + return F.layer_norm(x.permute(0, 2, 3, 1), self.normalized_shape, self.weight, self.bias, self.eps).permute(0, 3, 1, 2) + + +class ConvMod(nn.Module): + def __init__(self, dim): + super().__init__() + + self.norm = LayerNorm(dim, eps=1e-6, data_format="channels_first") + self.a = nn.Sequential( + nn.Conv2d(dim, dim, 1), + nn.GELU(), + nn.Conv2d(dim, dim, 11, padding=5, groups=dim) # TODO + ) + + self.v = nn.Conv2d(dim, dim, 1) + self.proj = nn.Conv2d(dim, dim, 1) + + def forward(self, x): + B, C, H, W = x.shape + x = self.norm(x) + a = self.a(x) # A=QK^T + x = a * self.v(x) + x = self.proj(x) + + return x + +class MLP(nn.Module): + def __init__(self, dim, mlp_ratio=4): + super().__init__() + + self.norm = LayerNorm(dim, eps=1e-6, data_format="channels_first") + + self.fc1 = nn.Conv2d(dim, int(dim * mlp_ratio), 1) + self.pos = nn.Conv2d(int(dim * mlp_ratio), int(dim * mlp_ratio), + 3, padding=1, groups=int(dim * mlp_ratio)) + self.fc2 = nn.Conv2d(int(dim * mlp_ratio), dim, 1) + self.act = nn.GELU() + + def forward(self, x): + B, C, H, W = x.shape + x = self.norm(x) + x = self.fc1(x) + x = self.act(x) + x = x + self.act(self.pos(x)) + x = self.fc2(x) + + return x + +class AttentionBlock(nn.Module): + def __init__(self, dim, mlp_ratio=4., drop_path=0.): + super().__init__() + + self.attn = ConvMod(dim) + self.mlp = MLP(dim, mlp_ratio) + layer_scale_init_value = 1e-6 + self.layer_scale_1 = nn.Parameter( # a + layer_scale_init_value * torch.ones((dim)), requires_grad=True) + self.layer_scale_2 = nn.Parameter( # b + layer_scale_init_value * torch.ones((dim)), requires_grad=True) + self.drop_path = DropPath( + drop_path) if drop_path > 0. else nn.Identity() + + def forward(self, x): + return checkpoint(self._forward, (x,), self.parameters(), True) + + def _forward(self, x): + x = x + \ + self.drop_path( + self.layer_scale_1.unsqueeze(-1).unsqueeze(-1) * self.attn(x)) + x = x + \ + self.drop_path( + self.layer_scale_2.unsqueeze(-1).unsqueeze(-1) * self.mlp(x)) + return x + +class UNet(nn.Module): + """ + The full UNet model with attention and embedding. + :param in_channel: channels in the input Tensor, for image colorization : Y_channels + X_channels . + :param inner_channel: base channel count for the model. + :param out_channel: channels in the output Tensor. + :param res_blocks: number of residual blocks per downsample. + :param attn_res: a collection of downsample rates at which + attention will take place. May be a set, list, or tuple. + For example, if this contains 4, then at 4x downsampling, attention + will be used. + :param dropout: the dropout probability. + :param channel_mults: channel multiplier for each level of the UNet. + :param conv_resample: if True, use learned convolutions for upsampling and + downsampling. + :param use_checkpoint: use gradient checkpointing to reduce memory usage. + :param num_heads: the number of attention heads in each attention layer. + :param num_heads_channels: if specified, ignore num_heads and instead use + a fixed channel width per attention head. + :param num_heads_upsample: works with num_heads to set a different number + of heads for upsampling. Deprecated. + :param use_scale_shift_norm: use a FiLM-like conditioning mechanism. + :param resblock_updown: use residual blocks for up/downsampling. + :param use_new_attention_order: use a different attention pattern for potentially + increased efficiency. + """ + + def __init__( + self, + image_size, + in_channel, + inner_channel, + out_channel, + res_blocks, + attn_res, + dropout=0, + channel_mults=(1, 2, 4, 8), + conv_resample=True, + use_checkpoint=False, + use_fp16=False, + num_heads=1, + num_head_channels=-1, + num_heads_upsample=-1, + use_scale_shift_norm=True, + resblock_updown=True, + use_new_attention_order=False, + ): + + super().__init__() + + if num_heads_upsample == -1: + num_heads_upsample = num_heads + + self.image_size = image_size + self.in_channel = in_channel + self.inner_channel = inner_channel + self.out_channel = out_channel + self.res_blocks = res_blocks + self.attn_res = attn_res + self.dropout = dropout + self.channel_mults = channel_mults + self.conv_resample = conv_resample + self.use_checkpoint = use_checkpoint + self.dtype = torch.float16 if use_fp16 else torch.float32 + self.num_heads = num_heads + self.num_head_channels = num_head_channels + self.num_heads_upsample = num_heads_upsample + + cond_embed_dim = inner_channel * 4 + self.cond_embed = nn.Sequential( + nn.Linear(inner_channel, cond_embed_dim), + SiLU(), + nn.Linear(cond_embed_dim, cond_embed_dim), + ) + + ch = input_ch = int(channel_mults[0] * inner_channel) + self.input_blocks = nn.ModuleList( + [EmbedSequential(nn.Conv2d(in_channel, ch, 3, padding=1))] + ) + self._feature_size = ch + input_block_chans = [ch] + ds = 1 + for level, mult in enumerate(channel_mults): + for _ in range(res_blocks): + layers = [ + ResBlock( + ch, + cond_embed_dim, + dropout, + out_channel=int(mult * inner_channel), + use_checkpoint=use_checkpoint, + use_scale_shift_norm=use_scale_shift_norm, + ) + ] + ch = int(mult * inner_channel) + if ds in attn_res: + layers.append( + AttentionBlock(ch, drop_path=dropout) + ) + self.input_blocks.append(EmbedSequential(*layers)) + self._feature_size += ch + input_block_chans.append(ch) + if level != len(channel_mults) - 1: + out_ch = ch + self.input_blocks.append( + EmbedSequential( + ResBlock( + ch, + cond_embed_dim, + dropout, + out_channel=out_ch, + use_checkpoint=use_checkpoint, + use_scale_shift_norm=use_scale_shift_norm, + down=True, + ) + if resblock_updown + else Downsample( + ch, conv_resample, out_channel=out_ch + ) + ) + ) + ch = out_ch + input_block_chans.append(ch) + ds *= 2 + self._feature_size += ch + + self.middle_block = EmbedSequential( + ResBlock( + ch, + cond_embed_dim, + dropout, + use_checkpoint=use_checkpoint, + use_scale_shift_norm=use_scale_shift_norm, + ), + AttentionBlock(ch, drop_path=dropout), + ResBlock( + ch, + cond_embed_dim, + dropout, + use_checkpoint=use_checkpoint, + use_scale_shift_norm=use_scale_shift_norm, + ), + ) + self._feature_size += ch + + self.output_blocks = nn.ModuleList([]) + for level, mult in list(enumerate(channel_mults))[::-1]: + for i in range(res_blocks + 1): + ich = input_block_chans.pop() + layers = [ + ResBlock( + ch + ich, + cond_embed_dim, + dropout, + out_channel=int(inner_channel * mult), + use_checkpoint=use_checkpoint, + use_scale_shift_norm=use_scale_shift_norm, + ) + ] + ch = int(inner_channel * mult) + if ds in attn_res: + layers.append( + AttentionBlock(ch, drop_path=dropout) + ) + if level and i == res_blocks: + out_ch = ch + layers.append( + ResBlock( + ch, + cond_embed_dim, + dropout, + out_channel=out_ch, + use_checkpoint=use_checkpoint, + use_scale_shift_norm=use_scale_shift_norm, + up=True, + ) + if resblock_updown + else Upsample(ch, conv_resample, out_channel=out_ch) + ) + ds //= 2 + self.output_blocks.append(EmbedSequential(*layers)) + self._feature_size += ch + + self.out = nn.Sequential( + normalization(ch), + SiLU(), + zero_module(nn.Conv2d(input_ch, out_channel, 3, padding=1)), + ) + + def forward(self, x, gammas): + """ + Apply the model to an input batch. + :param x: an [N x 2 x ...] Tensor of inputs (B&W) + :param gammas: a 1-D batch of gammas. # 2000 190 + :return: an [N x C x ...] Tensor of outputs. + """ + hs = [] + gammas = gammas.view(-1, ) # [bs] + emb = self.cond_embed(gamma_embedding(gammas, self.inner_channel)) # [bs, 64*4] + + h = x.type(torch.float32) + for module in self.input_blocks: + h = module(h, emb) + hs.append(h) + h = self.middle_block(h, emb) + for module in self.output_blocks: + h = torch.cat([h, hs.pop()], dim=1) + h = module(h, emb) + h = h.type(x.dtype) + return self.out(h) + +if __name__ == '__main__': + b, c, h, w = 1, 12, 256, 256 + timsteps = 100 + model = UNet( + image_size=h, + in_channel=c, + inner_channel=64, + out_channel=3, + channel_mults=[1, 2, 4, 8], + res_blocks=2, + num_head_channels=32, + attn_res=[16], + dropout=0.2 + ) + x = torch.randn((b, c, h, w)) + emb = torch.ones((b, )) + out = model(x, emb) + print(out.shape) \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/ours/nafnet.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/ours/nafnet.py new file mode 100644 index 0000000000000000000000000000000000000000..230ca68cb84cbc87a6c1ab7ee22288f616c174c6 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/ours/nafnet.py @@ -0,0 +1,297 @@ +import torch +import torch.nn as nn +import torch.nn.functional as F +from functools import partial +import math +from abc import abstractmethod + +class EmbedBlock(nn.Module): + """ + Any module where forward() takes embeddings as a second argument. + """ + + @abstractmethod + def forward(self, x, emb): + """ + Apply the module to `x` given `emb` embeddings. + """ + + +class EmbedSequential(nn.Sequential, EmbedBlock): + """ + A sequential module that passes embeddings to the children that + support it as an extra input. + """ + + def forward(self, x, emb): + for layer in self: + if isinstance(layer, EmbedBlock): + x = layer(x, emb) + else: + x = layer(x) + return x + +def gamma_embedding(gammas, dim, max_period=10000): + """ + Create sinusoidal timestep embeddings. + :param gammas: a 1-D Tensor of N indices, one per batch element. + These may be fractional. + :param dim: the dimension of the output. + :param max_period: controls the minimum frequency of the embeddings. + :return: an [N x dim] Tensor of positional embeddings. + """ + half = dim // 2 + freqs = torch.exp( + -math.log(max_period) * torch.arange(start=0, + end=half, dtype=torch.float32) / half + ).to(device=gammas.device) + args = gammas[:, None].float() * freqs[None] + embedding = torch.cat([torch.cos(args), torch.sin(args)], dim=-1) + if dim % 2: + embedding = torch.cat( + [embedding, torch.zeros_like(embedding[:, :1])], dim=-1) + return embedding + + +class LayerNormFunction(torch.autograd.Function): + + @staticmethod + def forward(ctx, x, weight, bias, eps): + ctx.eps = eps + N, C, H, W = x.size() + mu = x.mean(1, keepdim=True) + var = (x - mu).pow(2).mean(1, keepdim=True) + y = (x - mu) / (var + eps).sqrt() + ctx.save_for_backward(y, var, weight) + y = weight.view(1, C, 1, 1) * y + bias.view(1, C, 1, 1) + return y + + @staticmethod + def backward(ctx, grad_output): + eps = ctx.eps + + N, C, H, W = grad_output.size() + y, var, weight = ctx.saved_variables + g = grad_output * weight.view(1, C, 1, 1) + mean_g = g.mean(dim=1, keepdim=True) + + mean_gy = (g * y).mean(dim=1, keepdim=True) + gx = 1. / torch.sqrt(var + eps) * (g - y * mean_gy - mean_g) + return gx, (grad_output * y).sum(dim=3).sum(dim=2).sum(dim=0), grad_output.sum(dim=3).sum(dim=2).sum( + dim=0), None + + +class LayerNorm2d(nn.Module): + + def __init__(self, channels, eps=1e-6): + super(LayerNorm2d, self).__init__() + self.register_parameter('weight', nn.Parameter(torch.ones(channels))) + self.register_parameter('bias', nn.Parameter(torch.zeros(channels))) + self.eps = eps + + def forward(self, x): + return LayerNormFunction.apply(x, self.weight, self.bias, self.eps) + + +class SimpleGate(nn.Module): + def forward(self, x): + x1, x2 = x.chunk(2, dim=1) + return x1 * x2 + + +class NAFBlock(EmbedBlock): + def __init__(self, c, DW_Expand=2, FFN_Expand=2, drop_out_rate=0.): + super().__init__() + dw_channel = c * DW_Expand + self.conv1 = nn.Conv2d(in_channels=c, out_channels=dw_channel, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + self.conv2 = nn.Conv2d(in_channels=dw_channel, out_channels=dw_channel, kernel_size=3, padding=1, stride=1, groups=dw_channel, + bias=True) + self.conv3 = nn.Conv2d(in_channels=dw_channel // 2, out_channels=c, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + # Simplified Channel Attention + self.sca = nn.Sequential( + nn.AdaptiveAvgPool2d(1), + nn.Conv2d(in_channels=dw_channel // 2, out_channels=dw_channel // 2, kernel_size=1, padding=0, stride=1, + groups=1, bias=True), + ) + + # SimpleGate + self.sg = SimpleGate() + + ffn_channel = FFN_Expand * c + self.conv4 = nn.Conv2d(in_channels=c, out_channels=ffn_channel, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + self.conv5 = nn.Conv2d(in_channels=ffn_channel // 2, out_channels=c, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + self.norm1 = LayerNorm2d(c) + self.norm2 = LayerNorm2d(c) + + self.dropout1 = nn.Dropout( + drop_out_rate) if drop_out_rate > 0. else nn.Identity() + self.dropout2 = nn.Dropout( + drop_out_rate) if drop_out_rate > 0. else nn.Identity() + + self.beta = nn.Parameter(torch.zeros((1, c, 1, 1)), requires_grad=True) + self.gamma = nn.Parameter(torch.zeros( + (1, c, 1, 1)), requires_grad=True) + self.time_emb = nn.Sequential( + nn.SiLU(), + nn.Linear(256, c), + ) + + def forward(self, inp, t): + x = inp + + x = self.norm1(x) + + x = self.conv1(x) + x = self.conv2(x) + x = self.sg(x) + x = x * self.sca(x) + x = self.conv3(x) + + x = self.dropout1(x) + + y = inp + x * self.beta + + y = y+self.time_emb(t)[..., None, None] + + x = self.conv4(self.norm2(y)) + x = self.sg(x) + x = self.conv5(x) + + x = self.dropout2(x) + + return y + x * self.gamma + + +class UNet(nn.Module): + + def __init__( + self, + img_channel=12, + width=64, + middle_blk_num=1, + enc_blk_nums=[1, 1, 1, 1], + dec_blk_nums=[1, 1, 1, 1], + ): + super().__init__() + + self.intro = nn.Conv2d(in_channels=img_channel, out_channels=width, kernel_size=3, padding=1, stride=1, groups=1, + bias=True) + self.ending = nn.Conv2d(in_channels=width, out_channels=3, kernel_size=3, padding=1, stride=1, groups=1, + bias=True) + # self.inp_ending = nn.Conv2d(in_channels=img_channel, out_channels=3, kernel_size=3, padding=1, stride=1, groups=1, + # bias=True) + + self.encoders = nn.ModuleList() + self.decoders = nn.ModuleList() + self.middle_blks = nn.ModuleList() + self.ups = nn.ModuleList() + self.downs = nn.ModuleList() + + chan = width + for num in enc_blk_nums: + self.encoders.append( + EmbedSequential( + *[NAFBlock(chan) for _ in range(num)] + ) + ) + self.downs.append( + nn.Conv2d(chan, 2*chan, 2, 2) + ) + chan = chan * 2 + + self.middle_blks = \ + EmbedSequential( + *[NAFBlock(chan) for _ in range(middle_blk_num)] + ) + + for num in dec_blk_nums: + self.ups.append( + nn.Sequential( + nn.Conv2d(chan, chan * 2, 1, bias=False), + nn.PixelShuffle(2) + ) + ) + chan = chan // 2 + self.decoders.append( + EmbedSequential( + *[NAFBlock(chan) for _ in range(num)] + ) + ) + + self.padder_size = 2 ** len(self.encoders) + self.emb = partial(gamma_embedding, dim=64) + self.map = nn.Sequential( + nn.Linear(64, 256), + nn.SiLU(), + nn.Linear(256, 256), + ) + + def forward(self, inp, gammas): + t = self.map(self.emb(gammas.view(-1, ))) + B, C, H, W = inp.shape + inp = self.check_image_size(inp) + + x = self.intro(inp) + + encs = [] + + for encoder, down in zip(self.encoders, self.downs): + x = encoder(x, t) + encs.append(x) + x = down(x) + + x = self.middle_blks(x, t) + + for decoder, up, enc_skip in zip(self.decoders, self.ups, encs[::-1]): + x = up(x) + x = x + enc_skip + x = decoder(x, t) + + x = self.ending(x) + # x = x + self.inp_ending(inp) + + return x[:, :, :H, :W] + + def check_image_size(self, x): + _, _, h, w = x.size() + mod_pad_h = (self.padder_size - h % + self.padder_size) % self.padder_size + mod_pad_w = (self.padder_size - w % + self.padder_size) % self.padder_size + x = F.pad(x, (0, mod_pad_w, 0, mod_pad_h)) + return x + + +if __name__ == '__main__': + # img_channel = 5 + # width = 32 + + # # enc_blks = [2, 2, 4, 8] + # # middle_blk_num = 12 + # # dec_blks = [2, 2, 2, 2] + + # enc_blks = [1, 1, 1, 28] + # middle_blk_num = 1 + # dec_blks = [1, 1, 1, 1] + + # net = NAFNet( + # img_channel=img_channel, + # width=width, + # middle_blk_num=middle_blk_num, + # enc_blk_nums=enc_blks, + # dec_blk_nums=dec_blks, + # ) + + # inp_shape = (2, 5, 64, 64) + + # out_shape = net(torch.Tensor(*inp_shape)).shape + + # print(out_shape) + # print(UNet()) + print(UNet()(*(torch.Tensor(2, 12, 256, 256), torch.ones(2,))).shape) \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/ours/nafnet64_splitca_noinp.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/ours/nafnet64_splitca_noinp.py new file mode 100644 index 0000000000000000000000000000000000000000..2ea484544ec4022bb188f337a703ebb4ead31466 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/ours/nafnet64_splitca_noinp.py @@ -0,0 +1,311 @@ +import torch +import torch.nn as nn +import torch.nn.functional as F +from functools import partial +import math +from abc import abstractmethod + +class EmbedBlock(nn.Module): + """ + Any module where forward() takes embeddings as a second argument. + """ + + @abstractmethod + def forward(self, x, emb): + """ + Apply the module to `x` given `emb` embeddings. + """ + + +class EmbedSequential(nn.Sequential, EmbedBlock): + """ + A sequential module that passes embeddings to the children that + support it as an extra input. + """ + + def forward(self, x, emb): + for layer in self: + if isinstance(layer, EmbedBlock): + x = layer(x, emb) + else: + x = layer(x) + return x + +def gamma_embedding(gammas, dim, max_period=10000): + """ + Create sinusoidal timestep embeddings. + :param gammas: a 1-D Tensor of N indices, one per batch element. + These may be fractional. + :param dim: the dimension of the output. + :param max_period: controls the minimum frequency of the embeddings. + :return: an [N x dim] Tensor of positional embeddings. + """ + half = dim // 2 + freqs = torch.exp( + -math.log(max_period) * torch.arange(start=0, + end=half, dtype=torch.float32) / half + ).to(device=gammas.device) + args = gammas[:, None].float() * freqs[None] + embedding = torch.cat([torch.cos(args), torch.sin(args)], dim=-1) + if dim % 2: + embedding = torch.cat( + [embedding, torch.zeros_like(embedding[:, :1])], dim=-1) + return embedding + + +class LayerNormFunction(torch.autograd.Function): + + @staticmethod + def forward(ctx, x, weight, bias, eps): + ctx.eps = eps + N, C, H, W = x.size() + mu = x.mean(1, keepdim=True) + var = (x - mu).pow(2).mean(1, keepdim=True) + y = (x - mu) / (var + eps).sqrt() + ctx.save_for_backward(y, var, weight) + y = weight.view(1, C, 1, 1) * y + bias.view(1, C, 1, 1) + return y + + @staticmethod + def backward(ctx, grad_output): + eps = ctx.eps + + N, C, H, W = grad_output.size() + y, var, weight = ctx.saved_variables + g = grad_output * weight.view(1, C, 1, 1) + mean_g = g.mean(dim=1, keepdim=True) + + mean_gy = (g * y).mean(dim=1, keepdim=True) + gx = 1. / torch.sqrt(var + eps) * (g - y * mean_gy - mean_g) + return gx, (grad_output * y).sum(dim=3).sum(dim=2).sum(dim=0), grad_output.sum(dim=3).sum(dim=2).sum( + dim=0), None + + +class LayerNorm2d(nn.Module): + + def __init__(self, channels, eps=1e-6): + super(LayerNorm2d, self).__init__() + self.register_parameter('weight', nn.Parameter(torch.ones(channels))) + self.register_parameter('bias', nn.Parameter(torch.zeros(channels))) + self.eps = eps + + def forward(self, x): + return LayerNormFunction.apply(x, self.weight, self.bias, self.eps) + + +class SimpleGate(nn.Module): + def forward(self, x): + x1, x2 = x.chunk(2, dim=1) + return x1 * x2 + + +class NAFBlock(EmbedBlock): + def __init__(self, c, DW_Expand=2, FFN_Expand=2, drop_out_rate=0.): + super().__init__() + dw_channel = c * DW_Expand + self.conv1 = nn.Conv2d(in_channels=c, out_channels=dw_channel, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + self.conv2 = nn.Conv2d(in_channels=dw_channel, out_channels=dw_channel, kernel_size=3, padding=1, stride=1, groups=dw_channel, + bias=True) + self.conv3 = nn.Conv2d(in_channels=dw_channel // 2, out_channels=c, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + # Simplified Channel Attention + self.sca_avg = nn.Sequential( + nn.AdaptiveAvgPool2d(1), + nn.Conv2d(in_channels=dw_channel // 4, out_channels=dw_channel // 4, kernel_size=1, padding=0, stride=1, + groups=1, bias=True), + ) + self.sca_max = nn.Sequential( + nn.AdaptiveMaxPool2d(1), + nn.Conv2d(in_channels=dw_channel // 4, out_channels=dw_channel // 4, kernel_size=1, padding=0, stride=1, + groups=1, bias=True), + ) + + # SimpleGate + self.sg = SimpleGate() + + ffn_channel = FFN_Expand * c + self.conv4 = nn.Conv2d(in_channels=c, out_channels=ffn_channel, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + self.conv5 = nn.Conv2d(in_channels=ffn_channel // 2, out_channels=c, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + self.norm1 = LayerNorm2d(c) + self.norm2 = LayerNorm2d(c) + + self.dropout1 = nn.Dropout( + drop_out_rate) if drop_out_rate > 0. else nn.Identity() + self.dropout2 = nn.Dropout( + drop_out_rate) if drop_out_rate > 0. else nn.Identity() + + self.beta = nn.Parameter(torch.zeros((1, c, 1, 1)), requires_grad=True) + self.gamma = nn.Parameter(torch.zeros( + (1, c, 1, 1)), requires_grad=True) + self.time_emb = nn.Sequential( + nn.SiLU(), + nn.Linear(256, c), + ) + + def forward(self, inp, t): + x = inp + + x = self.norm1(x) + + x = self.conv1(x) + x = self.conv2(x) + x = self.sg(x) + x_avg, x_max = x.chunk(2, dim=1) + x_avg = self.sca_avg(x_avg)*x_avg + x_max = self.sca_max(x_max)*x_max + x = torch.cat([x_avg, x_max], dim=1) + x = self.conv3(x) + + x = self.dropout1(x) + + y = inp + x * self.beta + + y = y+self.time_emb(t)[..., None, None] + + x = self.conv4(self.norm2(y)) + x = self.sg(x) + x = self.conv5(x) + + x = self.dropout2(x) + + return y + x * self.gamma + + +class UNet(nn.Module): + + def __init__( + self, + img_channel=12, + width=64, + middle_blk_num=1, + enc_blk_nums=[1, 1, 1, 1], + dec_blk_nums=[1, 1, 1, 1], + ): + super().__init__() + + self.intro = nn.Conv2d(in_channels=img_channel, out_channels=width, kernel_size=3, padding=1, stride=1, groups=1, + bias=True) + self.ending = nn.Conv2d(in_channels=width, out_channels=3, kernel_size=3, padding=1, stride=1, groups=1, + bias=True) + # self.inp_ending = nn.Conv2d(in_channels=img_channel, out_channels=3, kernel_size=3, padding=1, stride=1, groups=1, + # bias=True) + + self.encoders = nn.ModuleList() + self.decoders = nn.ModuleList() + self.middle_blks = nn.ModuleList() + self.ups = nn.ModuleList() + self.downs = nn.ModuleList() + + chan = width + for num in enc_blk_nums: + self.encoders.append( + EmbedSequential( + *[NAFBlock(chan) for _ in range(num)] + ) + ) + self.downs.append( + nn.Conv2d(chan, 2*chan, 2, 2) + ) + chan = chan * 2 + + self.middle_blks = \ + EmbedSequential( + *[NAFBlock(chan) for _ in range(middle_blk_num)] + ) + + for num in dec_blk_nums: + self.ups.append( + nn.Sequential( + nn.Conv2d(chan, chan * 2, 1, bias=False), + nn.PixelShuffle(2) + ) + ) + chan = chan // 2 + self.decoders.append( + EmbedSequential( + *[NAFBlock(chan) for _ in range(num)] + ) + ) + + self.padder_size = 2 ** len(self.encoders) + self.emb = partial(gamma_embedding, dim=64) + self.map = nn.Sequential( + nn.Linear(64, 256), + nn.SiLU(), + nn.Linear(256, 256), + ) + + def forward(self, inp, gammas): + t = self.map(self.emb(gammas.view(-1, ))) + B, C, H, W = inp.shape + inp = self.check_image_size(inp) + + x = self.intro(inp) + + encs = [] + + for encoder, down in zip(self.encoders, self.downs): + x = encoder(x, t) + encs.append(x) + x = down(x) + + x = self.middle_blks(x, t) + + for decoder, up, enc_skip in zip(self.decoders, self.ups, encs[::-1]): + x = up(x) + x = x + enc_skip + x = decoder(x, t) + + x = self.ending(x) + # x = x + self.inp_ending(inp) + + return x[:, :, :H, :W] + + def check_image_size(self, x): + _, _, h, w = x.size() + mod_pad_h = (self.padder_size - h % + self.padder_size) % self.padder_size + mod_pad_w = (self.padder_size - w % + self.padder_size) % self.padder_size + x = F.pad(x, (0, mod_pad_w, 0, mod_pad_h)) + return x + + +if __name__ == '__main__': + # img_channel = 5 + # width = 32 + + # # enc_blks = [2, 2, 4, 8] + # # middle_blk_num = 12 + # # dec_blks = [2, 2, 2, 2] + + # enc_blks = [1, 1, 1, 28] + # middle_blk_num = 1 + # dec_blks = [1, 1, 1, 1] + + # net = NAFNet( + # img_channel=img_channel, + # width=width, + # middle_blk_num=middle_blk_num, + # enc_blk_nums=enc_blks, + # dec_blk_nums=dec_blks, + # ) + + # inp_shape = (2, 5, 64, 64) + + # out_shape = net(torch.Tensor(*inp_shape)).shape + + # print(out_shape) + # print(UNet()) + # print(UNet()(*(torch.Tensor(1, 12, 256, 256), torch.ones(1,))).shape) + from thop import profile + from thop import clever_format + net = UNet(width=64, enc_blk_nums=[1,1,1,1], dec_blk_nums=[1,1,1,1]) + flops, params = profile(net, inputs=(torch.Tensor(1, 12, 256, 256), torch.ones(1,))) + flops, params = clever_format([flops, params], "%.3f") + print(flops, params) \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/ours/nafnet_concat_no_condskip_nodrop_noparams_splitca_double_encoder_decoder_middle_fusion.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/ours/nafnet_concat_no_condskip_nodrop_noparams_splitca_double_encoder_decoder_middle_fusion.py new file mode 100644 index 0000000000000000000000000000000000000000..57c705fbdbec9092d2adc893b7fd5e587a076cb2 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/ours/nafnet_concat_no_condskip_nodrop_noparams_splitca_double_encoder_decoder_middle_fusion.py @@ -0,0 +1,412 @@ +import torch +import torch.nn as nn +import torch.nn.functional as F +from functools import partial +import math +from abc import abstractmethod + +class EmbedBlock(nn.Module): + """ + Any module where forward() takes embeddings as a second argument. + """ + + @abstractmethod + def forward(self, x, emb, cond): + """ + Apply the module to `x` given `emb` embeddings. + """ + + +class EmbedSequential(nn.Sequential, EmbedBlock): + """ + A sequential module that passes embeddings to the children that + support it as an extra input. + """ + + def forward(self, x, emb, cond): + for layer in self: + if isinstance(layer, EmbedBlock): + x = layer(x, emb, cond) + else: + x = layer(x) + return x + +def gamma_embedding(gammas, dim, max_period=10000): + """ + Create sinusoidal timestep embeddings. + :param gammas: a 1-D Tensor of N indices, one per batch element. + These may be fractional. + :param dim: the dimension of the output. + :param max_period: controls the minimum frequency of the embeddings. + :return: an [N x dim] Tensor of positional embeddings. + """ + half = dim // 2 + freqs = torch.exp( + -math.log(max_period) * torch.arange(start=0, + end=half, dtype=torch.float32) / half + ).to(device=gammas.device) + args = gammas[:, None].float() * freqs[None] + embedding = torch.cat([torch.cos(args), torch.sin(args)], dim=-1) + if dim % 2: + embedding = torch.cat( + [embedding, torch.zeros_like(embedding[:, :1])], dim=-1) + return embedding + + +class LayerNormFunction(torch.autograd.Function): + + @staticmethod + def forward(ctx, x, weight, bias, eps): + ctx.eps = eps + N, C, H, W = x.size() + mu = x.mean(1, keepdim=True) + var = (x - mu).pow(2).mean(1, keepdim=True) + y = (x - mu) / (var + eps).sqrt() + ctx.save_for_backward(y, var, weight) + y = weight.view(1, C, 1, 1) * y + bias.view(1, C, 1, 1) + return y + + @staticmethod + def backward(ctx, grad_output): + eps = ctx.eps + + N, C, H, W = grad_output.size() + y, var, weight = ctx.saved_variables + g = grad_output * weight.view(1, C, 1, 1) + mean_g = g.mean(dim=1, keepdim=True) + + mean_gy = (g * y).mean(dim=1, keepdim=True) + gx = 1. / torch.sqrt(var + eps) * (g - y * mean_gy - mean_g) + return gx, (grad_output * y).sum(dim=3).sum(dim=2).sum(dim=0), grad_output.sum(dim=3).sum(dim=2).sum( + dim=0), None + + +class LayerNorm2d(nn.Module): + + def __init__(self, channels, eps=1e-6): + super(LayerNorm2d, self).__init__() + self.register_parameter('weight', nn.Parameter(torch.ones(channels))) + self.register_parameter('bias', nn.Parameter(torch.zeros(channels))) + self.eps = eps + + def forward(self, x): + return LayerNormFunction.apply(x, self.weight, self.bias, self.eps) + + +class SimpleGate(nn.Module): + def forward(self, x): + x1, x2 = x.chunk(2, dim=1) + return x1 * x2 + +class CondNAFBlock(nn.Module): + def __init__(self, c, DW_Expand=2, FFN_Expand=2, drop_out_rate=0.): + super().__init__() + dw_channel = c * DW_Expand + self.conv1 = nn.Conv2d(in_channels=c, out_channels=dw_channel, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + self.conv2 = nn.Conv2d(in_channels=dw_channel, out_channels=dw_channel, kernel_size=3, padding=1, stride=1, groups=dw_channel, + bias=True) + self.conv3 = nn.Conv2d(in_channels=dw_channel // 2, out_channels=c, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + # Simplified Channel Attention + self.sca_avg = nn.Sequential( + nn.AdaptiveAvgPool2d(1), + nn.Conv2d(in_channels=dw_channel // 4, out_channels=dw_channel // 4, kernel_size=1, padding=0, stride=1, + groups=1, bias=True), + ) + self.sca_max = nn.Sequential( + nn.AdaptiveMaxPool2d(1), + nn.Conv2d(in_channels=dw_channel // 4, out_channels=dw_channel // 4, kernel_size=1, padding=0, stride=1, + groups=1, bias=True), + ) + + # SimpleGate + self.sg = SimpleGate() + + ffn_channel = FFN_Expand * c + self.conv4 = nn.Conv2d(in_channels=c, out_channels=ffn_channel, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + self.conv5 = nn.Conv2d(in_channels=ffn_channel // 2, out_channels=c, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + self.norm1 = LayerNorm2d(c) + self.norm2 = LayerNorm2d(c) + + # self.dropout1 = nn.Dropout( + # drop_out_rate) if drop_out_rate > 0. else nn.Identity() + # self.dropout2 = nn.Dropout( + # drop_out_rate) if drop_out_rate > 0. else nn.Identity() + + # self.beta = nn.Parameter(torch.zeros((1, c, 1, 1)), requires_grad=True) + # self.gamma = nn.Parameter(torch.zeros( + # (1, c, 1, 1)), requires_grad=True) + + def forward(self, inp): + x = inp + + x = self.norm1(x) + + x = self.conv1(x) + x = self.conv2(x) + x = self.sg(x) + x_avg, x_max = x.chunk(2, dim=1) + x_avg = self.sca_avg(x_avg)*x_avg + x_max = self.sca_max(x_max)*x_max + x = torch.cat([x_avg, x_max], dim=1) + x = self.conv3(x) + + # x = self.dropout1(x) + + # y = inp + x * self.beta + y = inp+x + + x = self.conv4(self.norm2(y)) + x = self.sg(x) + x = self.conv5(x) + + # x = self.dropout2(x) + + # return y + x * self.gamma + return y+x + +class NAFBlock(EmbedBlock): + def __init__(self, c, DW_Expand=2, FFN_Expand=2, drop_out_rate=0.): + super().__init__() + dw_channel = c * DW_Expand + self.conv1 = nn.Conv2d(in_channels=c, out_channels=dw_channel, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + self.conv2 = nn.Conv2d(in_channels=dw_channel, out_channels=dw_channel, kernel_size=3, padding=1, stride=1, groups=dw_channel, + bias=True) + self.conv3 = nn.Conv2d(in_channels=dw_channel // 2, out_channels=c, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + # Simplified Channel Attention + self.sca_avg = nn.Sequential( + nn.AdaptiveAvgPool2d(1), + nn.Conv2d(in_channels=dw_channel // 4, out_channels=dw_channel // 4, kernel_size=1, padding=0, stride=1, + groups=1, bias=True), + ) + self.sca_max = nn.Sequential( + nn.AdaptiveMaxPool2d(1), + nn.Conv2d(in_channels=dw_channel // 4, out_channels=dw_channel // 4, kernel_size=1, padding=0, stride=1, + groups=1, bias=True), + ) + + # SimpleGate + self.sg = SimpleGate() + + ffn_channel = FFN_Expand * c + self.conv4 = nn.Conv2d(in_channels=c, out_channels=ffn_channel, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + self.conv5 = nn.Conv2d(in_channels=ffn_channel // 2, out_channels=c, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + self.norm1 = LayerNorm2d(c) + self.norm2 = LayerNorm2d(c) + + # self.dropout1 = nn.Dropout( + # drop_out_rate) if drop_out_rate > 0. else nn.Identity() + # self.dropout2 = nn.Dropout( + # drop_out_rate) if drop_out_rate > 0. else nn.Identity() + + # self.beta = nn.Parameter(torch.zeros((1, c, 1, 1)), requires_grad=True) + # self.gamma = nn.Parameter(torch.zeros( + # (1, c, 1, 1)), requires_grad=True) + self.time_emb = nn.Sequential( + nn.SiLU(), + nn.Linear(256, c), + ) + + def forward(self, inp, t, cond): + x = inp + + x = self.norm1(x) + + x = self.conv1(x) + x = self.conv2(x) + x = self.sg(x) + x_avg, x_max = x.chunk(2, dim=1) + x_avg = self.sca_avg(x_avg)*x_avg + x_max = self.sca_max(x_max)*x_max + x = torch.cat([x_avg, x_max], dim=1) + x = self.conv3(x) + + # x = self.dropout1(x) + + # y = inp + x * self.beta + y = inp + x + + b, c, h, w = cond.shape + tmp_cond = cond.view(b//3, 3, c, h, w).sum(dim=1) + y = y+self.time_emb(t)[..., None, None]+tmp_cond + + x = self.conv4(self.norm2(y)) + x = self.sg(x) + x = self.conv5(x) + + # x = self.dropout2(x) + + # return y + x * self.gamma + return y+x + + +class UNet(nn.Module): + + def __init__( + self, + img_channel=3, + width=64, + middle_blk_num=1, + enc_blk_nums=[1, 1, 1, 1], + dec_blk_nums=[1, 1, 1, 1], + ): + super().__init__() + + self.intro = nn.Conv2d(in_channels=img_channel, out_channels=width, kernel_size=3, padding=1, stride=1, groups=1, + bias=True) + self.cond_intro = nn.Conv2d(in_channels=img_channel, out_channels=width, kernel_size=3, padding=1, stride=1, groups=1, + bias=True) + self.ending = nn.Conv2d(in_channels=width, out_channels=3, kernel_size=3, padding=1, stride=1, groups=1, + bias=True) + # self.inp_ending = nn.Conv2d(in_channels=img_channel, out_channels=3, kernel_size=3, padding=1, stride=1, groups=1, + # bias=True) + + self.encoders = nn.ModuleList() + self.cond_encoders = nn.ModuleList() + + self.decoders = nn.ModuleList() + + self.middle_blks = nn.ModuleList() + + self.ups = nn.ModuleList() + + self.downs = nn.ModuleList() + self.cond_downs = nn.ModuleList() + + chan = width + for num in enc_blk_nums: + self.encoders.append( + EmbedSequential( + *[NAFBlock(chan) for _ in range(num)] + ) + ) + self.cond_encoders.append( + nn.Sequential( + *[CondNAFBlock(chan) for _ in range(num)] + ) + ) + self.downs.append( + nn.Conv2d(chan, 2*chan, 2, 2) + ) + self.cond_downs.append( + nn.Conv2d(chan, 2*chan, 2, 2) + ) + chan = chan * 2 + + self.middle_blks = \ + EmbedSequential( + *[NAFBlock(chan) for _ in range(middle_blk_num)] + ) + + for num in dec_blk_nums: + self.ups.append( + nn.Sequential( + nn.Conv2d(chan, chan * 2, 1, bias=False), + nn.PixelShuffle(2) + ) + ) + chan = chan // 2 + self.decoders.append( + EmbedSequential( + *[NAFBlock(chan) for _ in range(num)] + ) + ) + + self.padder_size = 2 ** len(self.encoders) + self.emb = partial(gamma_embedding, dim=64) + self.map = nn.Sequential( + nn.Linear(64, 256), + nn.SiLU(), + nn.Linear(256, 256), + ) + + def forward(self, inp, gammas): + t = self.map(self.emb(gammas.view(-1, ))) + inp = self.check_image_size(inp) + + x1, x2, x3, x = inp.chunk(4, dim=1) + cond = torch.stack([x1, x2, x3], dim=1) + b, n, c, h, w = cond.shape + cond = cond.view(b*n, c, h, w) + x = self.intro(x) + cond = self.cond_intro(cond) + + + encs = [] + cond_encs = [] + + for encoder, down, cond_encoder, cond_down in zip(self.encoders, self.downs, self.cond_encoders, self.cond_downs): + cond = cond_encoder(cond) + x = encoder(x, t, cond) + encs.append(x) + cond_encs.append(cond) + x = down(x) + cond = cond_down(cond) + + x = self.middle_blks(x, t, cond) + + for decoder, up, enc_skip, cond_skip in zip(self.decoders, self.ups, encs[::-1], cond_encs[::-1]): + x = up(x) + x = x + enc_skip + x = decoder(x, t, cond_skip) + + x = self.ending(x) + # x = x + self.inp_ending(inp) + + + return x + + def check_image_size(self, x): + _, _, h, w = x.size() + mod_pad_h = (self.padder_size - h % + self.padder_size) % self.padder_size + mod_pad_w = (self.padder_size - w % + self.padder_size) % self.padder_size + x = F.pad(x, (0, mod_pad_w, 0, mod_pad_h)) + return x + + +if __name__ == '__main__': + # img_channel = 5 + # width = 32 + + # # enc_blks = [2, 2, 4, 8] + # # middle_blk_num = 12 + # # dec_blks = [2, 2, 2, 2] + + # enc_blks = [1, 1, 1, 28] + # middle_blk_num = 1 + # dec_blks = [1, 1, 1, 1] + + # net = NAFNet( + # img_channel=img_channel, + # width=width, + # middle_blk_num=middle_blk_num, + # enc_blk_nums=enc_blks, + # dec_blk_nums=dec_blks, + # ) + + # inp_shape = (2, 5, 64, 64) + + # out_shape = net(torch.Tensor(*inp_shape)).shape + + # print(out_shape) + # print(UNet()) + print(UNet()(*(torch.Tensor(1, 12, 256, 256), torch.ones(1,))).shape) + from thop import profile + from thop import clever_format + net = UNet() + flops, params = profile(net, inputs=(torch.Tensor(1, 12, 256, 256), torch.ones(1,))) + flops, params = clever_format([flops, params], "%.3f") + print(params, flops) # \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/ours/nafnet_concat_no_condskip_nodrop_noparams_splitca_double_encoder_decoder_noCondFFN_middle_fusion.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/ours/nafnet_concat_no_condskip_nodrop_noparams_splitca_double_encoder_decoder_noCondFFN_middle_fusion.py new file mode 100644 index 0000000000000000000000000000000000000000..e16162a8267074b0fa080cc589a16a4b7d907a25 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/ours/nafnet_concat_no_condskip_nodrop_noparams_splitca_double_encoder_decoder_noCondFFN_middle_fusion.py @@ -0,0 +1,412 @@ +import torch +import torch.nn as nn +import torch.nn.functional as F +from functools import partial +import math +from abc import abstractmethod + +class EmbedBlock(nn.Module): + """ + Any module where forward() takes embeddings as a second argument. + """ + + @abstractmethod + def forward(self, x, emb, cond): + """ + Apply the module to `x` given `emb` embeddings. + """ + + +class EmbedSequential(nn.Sequential, EmbedBlock): + """ + A sequential module that passes embeddings to the children that + support it as an extra input. + """ + + def forward(self, x, emb, cond): + for layer in self: + if isinstance(layer, EmbedBlock): + x = layer(x, emb, cond) + else: + x = layer(x) + return x + +def gamma_embedding(gammas, dim, max_period=10000): + """ + Create sinusoidal timestep embeddings. + :param gammas: a 1-D Tensor of N indices, one per batch element. + These may be fractional. + :param dim: the dimension of the output. + :param max_period: controls the minimum frequency of the embeddings. + :return: an [N x dim] Tensor of positional embeddings. + """ + half = dim // 2 + freqs = torch.exp( + -math.log(max_period) * torch.arange(start=0, + end=half, dtype=torch.float32) / half + ).to(device=gammas.device) + args = gammas[:, None].float() * freqs[None] + embedding = torch.cat([torch.cos(args), torch.sin(args)], dim=-1) + if dim % 2: + embedding = torch.cat( + [embedding, torch.zeros_like(embedding[:, :1])], dim=-1) + return embedding + + +class LayerNormFunction(torch.autograd.Function): + + @staticmethod + def forward(ctx, x, weight, bias, eps): + ctx.eps = eps + N, C, H, W = x.size() + mu = x.mean(1, keepdim=True) + var = (x - mu).pow(2).mean(1, keepdim=True) + y = (x - mu) / (var + eps).sqrt() + ctx.save_for_backward(y, var, weight) + y = weight.view(1, C, 1, 1) * y + bias.view(1, C, 1, 1) + return y + + @staticmethod + def backward(ctx, grad_output): + eps = ctx.eps + + N, C, H, W = grad_output.size() + y, var, weight = ctx.saved_variables + g = grad_output * weight.view(1, C, 1, 1) + mean_g = g.mean(dim=1, keepdim=True) + + mean_gy = (g * y).mean(dim=1, keepdim=True) + gx = 1. / torch.sqrt(var + eps) * (g - y * mean_gy - mean_g) + return gx, (grad_output * y).sum(dim=3).sum(dim=2).sum(dim=0), grad_output.sum(dim=3).sum(dim=2).sum( + dim=0), None + + +class LayerNorm2d(nn.Module): + + def __init__(self, channels, eps=1e-6): + super(LayerNorm2d, self).__init__() + self.register_parameter('weight', nn.Parameter(torch.ones(channels))) + self.register_parameter('bias', nn.Parameter(torch.zeros(channels))) + self.eps = eps + + def forward(self, x): + return LayerNormFunction.apply(x, self.weight, self.bias, self.eps) + + +class SimpleGate(nn.Module): + def forward(self, x): + x1, x2 = x.chunk(2, dim=1) + return x1 * x2 + +class CondNAFBlock(nn.Module): + def __init__(self, c, DW_Expand=2, FFN_Expand=2, drop_out_rate=0.): + super().__init__() + dw_channel = c * DW_Expand + self.conv1 = nn.Conv2d(in_channels=c, out_channels=dw_channel, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + self.conv2 = nn.Conv2d(in_channels=dw_channel, out_channels=dw_channel, kernel_size=3, padding=1, stride=1, groups=dw_channel, + bias=True) + self.conv3 = nn.Conv2d(in_channels=dw_channel // 2, out_channels=c, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + # Simplified Channel Attention + self.sca_avg = nn.Sequential( + nn.AdaptiveAvgPool2d(1), + nn.Conv2d(in_channels=dw_channel // 4, out_channels=dw_channel // 4, kernel_size=1, padding=0, stride=1, + groups=1, bias=True), + ) + self.sca_max = nn.Sequential( + nn.AdaptiveMaxPool2d(1), + nn.Conv2d(in_channels=dw_channel // 4, out_channels=dw_channel // 4, kernel_size=1, padding=0, stride=1, + groups=1, bias=True), + ) + + # SimpleGate + self.sg = SimpleGate() + + # ffn_channel = FFN_Expand * c + # self.conv4 = nn.Conv2d(in_channels=c, out_channels=ffn_channel, + # kernel_size=1, padding=0, stride=1, groups=1, bias=True) + # self.conv5 = nn.Conv2d(in_channels=ffn_channel // 2, out_channels=c, + # kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + self.norm1 = LayerNorm2d(c) + # self.norm2 = LayerNorm2d(c) + + # self.dropout1 = nn.Dropout( + # drop_out_rate) if drop_out_rate > 0. else nn.Identity() + # self.dropout2 = nn.Dropout( + # drop_out_rate) if drop_out_rate > 0. else nn.Identity() + + # self.beta = nn.Parameter(torch.zeros((1, c, 1, 1)), requires_grad=True) + # self.gamma = nn.Parameter(torch.zeros( + # (1, c, 1, 1)), requires_grad=True) + + def forward(self, inp): + x = inp + + x = self.norm1(x) + + x = self.conv1(x) + x = self.conv2(x) + x = self.sg(x) + x_avg, x_max = x.chunk(2, dim=1) + x_avg = self.sca_avg(x_avg)*x_avg + x_max = self.sca_max(x_max)*x_max + x = torch.cat([x_avg, x_max], dim=1) + x = self.conv3(x) + + # x = self.dropout1(x) + + # y = inp + x * self.beta + y = inp+x + + # x = self.conv4(self.norm2(y)) + # x = self.sg(x) + # x = self.conv5(x) + + # x = self.dropout2(x) + + # return y + x * self.gamma + return y + +class NAFBlock(EmbedBlock): + def __init__(self, c, DW_Expand=2, FFN_Expand=2, drop_out_rate=0.): + super().__init__() + dw_channel = c * DW_Expand + self.conv1 = nn.Conv2d(in_channels=c, out_channels=dw_channel, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + self.conv2 = nn.Conv2d(in_channels=dw_channel, out_channels=dw_channel, kernel_size=3, padding=1, stride=1, groups=dw_channel, + bias=True) + self.conv3 = nn.Conv2d(in_channels=dw_channel // 2, out_channels=c, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + # Simplified Channel Attention + self.sca_avg = nn.Sequential( + nn.AdaptiveAvgPool2d(1), + nn.Conv2d(in_channels=dw_channel // 4, out_channels=dw_channel // 4, kernel_size=1, padding=0, stride=1, + groups=1, bias=True), + ) + self.sca_max = nn.Sequential( + nn.AdaptiveMaxPool2d(1), + nn.Conv2d(in_channels=dw_channel // 4, out_channels=dw_channel // 4, kernel_size=1, padding=0, stride=1, + groups=1, bias=True), + ) + + # SimpleGate + self.sg = SimpleGate() + + ffn_channel = FFN_Expand * c + self.conv4 = nn.Conv2d(in_channels=c, out_channels=ffn_channel, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + self.conv5 = nn.Conv2d(in_channels=ffn_channel // 2, out_channels=c, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + self.norm1 = LayerNorm2d(c) + self.norm2 = LayerNorm2d(c) + + # self.dropout1 = nn.Dropout( + # drop_out_rate) if drop_out_rate > 0. else nn.Identity() + # self.dropout2 = nn.Dropout( + # drop_out_rate) if drop_out_rate > 0. else nn.Identity() + + # self.beta = nn.Parameter(torch.zeros((1, c, 1, 1)), requires_grad=True) + # self.gamma = nn.Parameter(torch.zeros( + # (1, c, 1, 1)), requires_grad=True) + self.time_emb = nn.Sequential( + nn.SiLU(), + nn.Linear(256, c), + ) + + def forward(self, inp, t, cond): + x = inp + + x = self.norm1(x) + + x = self.conv1(x) + x = self.conv2(x) + x = self.sg(x) + x_avg, x_max = x.chunk(2, dim=1) + x_avg = self.sca_avg(x_avg)*x_avg + x_max = self.sca_max(x_max)*x_max + x = torch.cat([x_avg, x_max], dim=1) + x = self.conv3(x) + + # x = self.dropout1(x) + + # y = inp + x * self.beta + y = inp + x + + b, c, h, w = cond.shape + tmp_cond = cond.view(b//3, 3, c, h, w).sum(dim=1) + y = y+self.time_emb(t)[..., None, None]+tmp_cond + + x = self.conv4(self.norm2(y)) + x = self.sg(x) + x = self.conv5(x) + + # x = self.dropout2(x) + + # return y + x * self.gamma + return y+x + + +class UNet(nn.Module): + + def __init__( + self, + img_channel=3, + width=64, + middle_blk_num=1, + enc_blk_nums=[1, 1, 1, 1], + dec_blk_nums=[1, 1, 1, 1], + ): + super().__init__() + + self.intro = nn.Conv2d(in_channels=img_channel, out_channels=width, kernel_size=3, padding=1, stride=1, groups=1, + bias=True) + self.cond_intro = nn.Conv2d(in_channels=img_channel, out_channels=width, kernel_size=3, padding=1, stride=1, groups=1, + bias=True) + self.ending = nn.Conv2d(in_channels=width, out_channels=3, kernel_size=3, padding=1, stride=1, groups=1, + bias=True) + # self.inp_ending = nn.Conv2d(in_channels=img_channel, out_channels=3, kernel_size=3, padding=1, stride=1, groups=1, + # bias=True) + + self.encoders = nn.ModuleList() + self.cond_encoders = nn.ModuleList() + + self.decoders = nn.ModuleList() + + self.middle_blks = nn.ModuleList() + + self.ups = nn.ModuleList() + + self.downs = nn.ModuleList() + self.cond_downs = nn.ModuleList() + + chan = width + for num in enc_blk_nums: + self.encoders.append( + EmbedSequential( + *[NAFBlock(chan) for _ in range(num)] + ) + ) + self.cond_encoders.append( + nn.Sequential( + *[CondNAFBlock(chan) for _ in range(num)] + ) + ) + self.downs.append( + nn.Conv2d(chan, 2*chan, 2, 2) + ) + self.cond_downs.append( + nn.Conv2d(chan, 2*chan, 2, 2) + ) + chan = chan * 2 + + self.middle_blks = \ + EmbedSequential( + *[NAFBlock(chan) for _ in range(middle_blk_num)] + ) + + for num in dec_blk_nums: + self.ups.append( + nn.Sequential( + nn.Conv2d(chan, chan * 2, 1, bias=False), + nn.PixelShuffle(2) + ) + ) + chan = chan // 2 + self.decoders.append( + EmbedSequential( + *[NAFBlock(chan) for _ in range(num)] + ) + ) + + self.padder_size = 2 ** len(self.encoders) + self.emb = partial(gamma_embedding, dim=64) + self.map = nn.Sequential( + nn.Linear(64, 256), + nn.SiLU(), + nn.Linear(256, 256), + ) + + def forward(self, inp, gammas): + t = self.map(self.emb(gammas.view(-1, ))) + inp = self.check_image_size(inp) + + x1, x2, x3, x = inp.chunk(4, dim=1) + cond = torch.stack([x1, x2, x3], dim=1) + b, n, c, h, w = cond.shape + cond = cond.view(b*n, c, h, w) + x = self.intro(x) + cond = self.cond_intro(cond) + + + encs = [] + cond_encs = [] + + for encoder, down, cond_encoder, cond_down in zip(self.encoders, self.downs, self.cond_encoders, self.cond_downs): + cond = cond_encoder(cond) + x = encoder(x, t, cond) + encs.append(x) + cond_encs.append(cond) + x = down(x) + cond = cond_down(cond) + + x = self.middle_blks(x, t, cond) + + for decoder, up, enc_skip, cond_skip in zip(self.decoders, self.ups, encs[::-1], cond_encs[::-1]): + x = up(x) + x = x + enc_skip + x = decoder(x, t, cond_skip) + + x = self.ending(x) + # x = x + self.inp_ending(inp) + + + return x + + def check_image_size(self, x): + _, _, h, w = x.size() + mod_pad_h = (self.padder_size - h % + self.padder_size) % self.padder_size + mod_pad_w = (self.padder_size - w % + self.padder_size) % self.padder_size + x = F.pad(x, (0, mod_pad_w, 0, mod_pad_h)) + return x + + +if __name__ == '__main__': + # img_channel = 5 + # width = 32 + + # # enc_blks = [2, 2, 4, 8] + # # middle_blk_num = 12 + # # dec_blks = [2, 2, 2, 2] + + # enc_blks = [1, 1, 1, 28] + # middle_blk_num = 1 + # dec_blks = [1, 1, 1, 1] + + # net = NAFNet( + # img_channel=img_channel, + # width=width, + # middle_blk_num=middle_blk_num, + # enc_blk_nums=enc_blks, + # dec_blk_nums=dec_blks, + # ) + + # inp_shape = (2, 5, 64, 64) + + # out_shape = net(torch.Tensor(*inp_shape)).shape + + # print(out_shape) + # print(UNet()) + print(UNet()(*(torch.Tensor(1, 12, 256, 256), torch.ones(1,))).shape) + from thop import profile + from thop import clever_format + net = UNet() + flops, params = profile(net, inputs=(torch.Tensor(1, 12, 256, 256), torch.ones(1,))) + flops, params = clever_format([flops, params], "%.3f") + print(params, flops) # \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/ours/nafnet_double.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/ours/nafnet_double.py new file mode 100644 index 0000000000000000000000000000000000000000..3910f1e9fac0205e5defac4963791430b23a3ba4 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/ours/nafnet_double.py @@ -0,0 +1,422 @@ +import torch +import torch.nn as nn +import torch.nn.functional as F +from functools import partial +import math +from abc import abstractmethod + +class EmbedBlock(nn.Module): + """ + Any module where forward() takes embeddings as a second argument. + """ + + @abstractmethod + def forward(self, x, emb): + """ + Apply the module to `x` given `emb` embeddings. + """ + + +class EmbedSequential(nn.Sequential, EmbedBlock): + """ + A sequential module that passes embeddings to the children that + support it as an extra input. + """ + + def forward(self, x, emb): + for layer in self: + if isinstance(layer, EmbedBlock): + x = layer(x, emb) + else: + x = layer(x) + return x + +def gamma_embedding(gammas, dim, max_period=10000): + """ + Create sinusoidal timestep embeddings. + :param gammas: a 1-D Tensor of N indices, one per batch element. + These may be fractional. + :param dim: the dimension of the output. + :param max_period: controls the minimum frequency of the embeddings. + :return: an [N x dim] Tensor of positional embeddings. + """ + half = dim // 2 + freqs = torch.exp( + -math.log(max_period) * torch.arange(start=0, + end=half, dtype=torch.float32) / half + ).to(device=gammas.device) + args = gammas[:, None].float() * freqs[None] + embedding = torch.cat([torch.cos(args), torch.sin(args)], dim=-1) + if dim % 2: + embedding = torch.cat( + [embedding, torch.zeros_like(embedding[:, :1])], dim=-1) + return embedding + + +class LayerNormFunction(torch.autograd.Function): + + @staticmethod + def forward(ctx, x, weight, bias, eps): + ctx.eps = eps + N, C, H, W = x.size() + mu = x.mean(1, keepdim=True) + var = (x - mu).pow(2).mean(1, keepdim=True) + y = (x - mu) / (var + eps).sqrt() + ctx.save_for_backward(y, var, weight) + y = weight.view(1, C, 1, 1) * y + bias.view(1, C, 1, 1) + return y + + @staticmethod + def backward(ctx, grad_output): + eps = ctx.eps + + N, C, H, W = grad_output.size() + y, var, weight = ctx.saved_variables + g = grad_output * weight.view(1, C, 1, 1) + mean_g = g.mean(dim=1, keepdim=True) + + mean_gy = (g * y).mean(dim=1, keepdim=True) + gx = 1. / torch.sqrt(var + eps) * (g - y * mean_gy - mean_g) + return gx, (grad_output * y).sum(dim=3).sum(dim=2).sum(dim=0), grad_output.sum(dim=3).sum(dim=2).sum( + dim=0), None + + +class LayerNorm2d(nn.Module): + + def __init__(self, channels, eps=1e-6): + super(LayerNorm2d, self).__init__() + self.register_parameter('weight', nn.Parameter(torch.ones(channels))) + self.register_parameter('bias', nn.Parameter(torch.zeros(channels))) + self.eps = eps + + def forward(self, x): + return LayerNormFunction.apply(x, self.weight, self.bias, self.eps) + + +class SimpleGate(nn.Module): + def forward(self, x): + x1, x2 = x.chunk(2, dim=1) + return x1 * x2 + +class CondNAFBlock(nn.Module): + def __init__(self, c, DW_Expand=2, FFN_Expand=2, drop_out_rate=0.): + super().__init__() + dw_channel = c * DW_Expand + self.conv1 = nn.Conv2d(in_channels=c, out_channels=dw_channel, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + self.conv2 = nn.Conv2d(in_channels=dw_channel, out_channels=dw_channel, kernel_size=3, padding=1, stride=1, groups=dw_channel, + bias=True) + self.conv3 = nn.Conv2d(in_channels=dw_channel // 2, out_channels=c, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + # Simplified Channel Attention + self.sca = nn.Sequential( + nn.AdaptiveAvgPool2d(1), + nn.Conv2d(in_channels=dw_channel // 2, out_channels=dw_channel // 2, kernel_size=1, padding=0, stride=1, + groups=1, bias=True), + ) + + # SimpleGate + self.sg = SimpleGate() + + ffn_channel = FFN_Expand * c + self.conv4 = nn.Conv2d(in_channels=c, out_channels=ffn_channel, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + self.conv5 = nn.Conv2d(in_channels=ffn_channel // 2, out_channels=c, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + self.norm1 = LayerNorm2d(c) + self.norm2 = LayerNorm2d(c) + + self.dropout1 = nn.Dropout( + drop_out_rate) if drop_out_rate > 0. else nn.Identity() + self.dropout2 = nn.Dropout( + drop_out_rate) if drop_out_rate > 0. else nn.Identity() + + self.beta = nn.Parameter(torch.zeros((1, c, 1, 1)), requires_grad=True) + self.gamma = nn.Parameter(torch.zeros( + (1, c, 1, 1)), requires_grad=True) + + def forward(self, inp): + x = inp + + x = self.norm1(x) + + x = self.conv1(x) + x = self.conv2(x) + x = self.sg(x) + x = x * self.sca(x) + x = self.conv3(x) + + x = self.dropout1(x) + + y = inp + x * self.beta + + x = self.conv4(self.norm2(y)) + x = self.sg(x) + x = self.conv5(x) + + x = self.dropout2(x) + + return y + x * self.gamma + +class NAFBlock(EmbedBlock): + def __init__(self, c, DW_Expand=2, FFN_Expand=2, drop_out_rate=0.): + super().__init__() + dw_channel = c * DW_Expand + self.conv1 = nn.Conv2d(in_channels=c, out_channels=dw_channel, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + self.conv2 = nn.Conv2d(in_channels=dw_channel, out_channels=dw_channel, kernel_size=3, padding=1, stride=1, groups=dw_channel, + bias=True) + self.conv3 = nn.Conv2d(in_channels=dw_channel // 2, out_channels=c, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + # Simplified Channel Attention + self.sca = nn.Sequential( + nn.AdaptiveAvgPool2d(1), + nn.Conv2d(in_channels=dw_channel // 2, out_channels=dw_channel // 2, kernel_size=1, padding=0, stride=1, + groups=1, bias=True), + ) + + # SimpleGate + self.sg = SimpleGate() + + ffn_channel = FFN_Expand * c + self.conv4 = nn.Conv2d(in_channels=c, out_channels=ffn_channel, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + self.conv5 = nn.Conv2d(in_channels=ffn_channel // 2, out_channels=c, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + self.norm1 = LayerNorm2d(c) + self.norm2 = LayerNorm2d(c) + + self.dropout1 = nn.Dropout( + drop_out_rate) if drop_out_rate > 0. else nn.Identity() + self.dropout2 = nn.Dropout( + drop_out_rate) if drop_out_rate > 0. else nn.Identity() + + self.beta = nn.Parameter(torch.zeros((1, c, 1, 1)), requires_grad=True) + self.gamma = nn.Parameter(torch.zeros( + (1, c, 1, 1)), requires_grad=True) + self.time_emb = nn.Sequential( + nn.SiLU(), + nn.Linear(256, c), + ) + + def forward(self, inp, t): + x = inp + + x = self.norm1(x) + + x = self.conv1(x) + x = self.conv2(x) + x = self.sg(x) + x = x * self.sca(x) + x = self.conv3(x) + + x = self.dropout1(x) + + y = inp + x * self.beta + + y = y+self.time_emb(t)[..., None, None] + + x = self.conv4(self.norm2(y)) + x = self.sg(x) + x = self.conv5(x) + + x = self.dropout2(x) + + return y + x * self.gamma + + +class UNet(nn.Module): + + def __init__( + self, + img_channel=3, + width=64, + middle_blk_num=1, + enc_blk_nums=[1, 1, 1, 1], + dec_blk_nums=[1, 1, 1, 1], + ): + super().__init__() + + self.intro = nn.Conv2d(in_channels=img_channel, out_channels=width, kernel_size=3, padding=1, stride=1, groups=1, + bias=True) + self.cond_intro = nn.Conv2d(in_channels=img_channel, out_channels=width, kernel_size=3, padding=1, stride=1, groups=1, + bias=True) + self.ending = nn.Conv2d(in_channels=width, out_channels=3, kernel_size=3, padding=1, stride=1, groups=1, + bias=True) + self.cond_ending = nn.Conv2d(in_channels=width, out_channels=3, kernel_size=3, padding=1, stride=1, groups=1, + bias=True) + # self.inp_ending = nn.Conv2d(in_channels=img_channel, out_channels=3, kernel_size=3, padding=1, stride=1, groups=1, + # bias=True) + + self.encoders = nn.ModuleList() + self.cond_encoders = nn.ModuleList() + + self.decoders = nn.ModuleList() + self.cond_decoders = nn.ModuleList() + + self.middle_blks = nn.ModuleList() + self.cond_middle_blks = nn.ModuleList() + + self.ups = nn.ModuleList() + self.cond_ups = nn.ModuleList() + + self.downs = nn.ModuleList() + self.cond_downs = nn.ModuleList() + + chan = width + for num in enc_blk_nums: + self.encoders.append( + EmbedSequential( + *[NAFBlock(chan) for _ in range(num)] + ) + ) + self.cond_encoders.append( + nn.Sequential( + *[CondNAFBlock(chan) for _ in range(num)] + ) + ) + self.downs.append( + nn.Conv2d(chan, 2*chan, 2, 2) + ) + self.cond_downs.append( + nn.Conv2d(chan, 2*chan, 2, 2) + ) + chan = chan * 2 + + self.middle_blks = \ + EmbedSequential( + *[NAFBlock(chan) for _ in range(middle_blk_num)] + ) + self.cond_middle_blks = \ + nn.Sequential( + *[CondNAFBlock(chan) for _ in range(middle_blk_num)] + ) + + for num in dec_blk_nums: + self.ups.append( + nn.Sequential( + nn.Conv2d(chan, chan * 2, 1, bias=False), + nn.PixelShuffle(2) + ) + ) + self.cond_ups.append( + nn.Sequential( + nn.Conv2d(chan, chan * 2, 1, bias=False), + nn.PixelShuffle(2) + ) + ) + chan = chan // 2 + self.decoders.append( + EmbedSequential( + *[NAFBlock(chan) for _ in range(num)] + ) + ) + self.cond_decoders.append( + nn.Sequential( + *[CondNAFBlock(chan) for _ in range(num)] + ) + ) + + self.padder_size = 2 ** len(self.encoders) + self.emb = partial(gamma_embedding, dim=64) + self.map = nn.Sequential( + nn.Linear(64, 256), + nn.SiLU(), + nn.Linear(256, 256), + ) + + def forward(self, inp, gammas): + t = self.map(self.emb(gammas.view(-1, ))) + inp = self.check_image_size(inp) + + x1, x2, x3, x = inp.chunk(4, dim=1) + cond = torch.stack([x1, x2, x3], dim=1) + b, n, c, h, w = cond.shape + cond = cond.view(b*n, c, h, w) + x = self.intro(x) + cond = self.cond_intro(cond) + + + encs = [] + cond_encs = [] + + for encoder, down, cond_encoder, cond_down in zip(self.encoders, self.downs, self.cond_encoders, self.cond_downs): + x = encoder(x, t) + cond = cond_encoder(cond) + b, c, h, w = cond.shape + tmp_cond = cond.view(b//3, 3, c, h, w).sum(dim=1) + x = x + tmp_cond + encs.append(x) + cond_encs.append(cond) + x = down(x) + cond = cond_down(cond) + + x = self.middle_blks(x, t) + cond = self.cond_middle_blks(cond) + + for decoder, up, enc_skip, cond_encoder, cond_up, cond_enc_skip in zip(self.decoders, self.ups, encs[::-1], self.cond_decoders, self.cond_ups, cond_encs[::-1]): + x = up(x) + cond = cond_up(cond) + x = x + enc_skip + cond = cond + cond_enc_skip + x = decoder(x, t) + cond = cond_encoder(cond) + b, c, h, w = cond.shape + tmp_cond = cond.view(b//3, 3, c, h, w).sum(dim=1) + x = x + tmp_cond + + x = self.ending(x) + cond = self.cond_ending(cond) + # x = x + self.inp_ending(inp) + b, c, h, w = cond.shape + tmp_cond = cond.view(b//3, 3, c, h, w).sum(dim=1) + + return x+tmp_cond + + def check_image_size(self, x): + _, _, h, w = x.size() + mod_pad_h = (self.padder_size - h % + self.padder_size) % self.padder_size + mod_pad_w = (self.padder_size - w % + self.padder_size) % self.padder_size + x = F.pad(x, (0, mod_pad_w, 0, mod_pad_h)) + return x + + +if __name__ == '__main__': + # img_channel = 5 + # width = 32 + + # # enc_blks = [2, 2, 4, 8] + # # middle_blk_num = 12 + # # dec_blks = [2, 2, 2, 2] + + # enc_blks = [1, 1, 1, 28] + # middle_blk_num = 1 + # dec_blks = [1, 1, 1, 1] + + # net = NAFNet( + # img_channel=img_channel, + # width=width, + # middle_blk_num=middle_blk_num, + # enc_blk_nums=enc_blks, + # dec_blk_nums=dec_blks, + # ) + + # inp_shape = (2, 5, 64, 64) + + # out_shape = net(torch.Tensor(*inp_shape)).shape + + # print(out_shape) + # print(UNet()) + print(UNet()(*(torch.Tensor(2, 12, 256, 256), torch.ones(2,))).shape) + from thop import profile + from thop import clever_format + net = UNet() + flops, params = profile(net, inputs=(torch.Tensor(2, 12, 256, 256), torch.ones(2,))) + flops, params = clever_format([flops, params], "%.3f") + print(flops, params) # 154.582G 36.579M \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/ours/nafnet_double_encoder.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/ours/nafnet_double_encoder.py new file mode 100644 index 0000000000000000000000000000000000000000..4f55bf00fad702a70456241998e936bf67ca2225 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/ours/nafnet_double_encoder.py @@ -0,0 +1,391 @@ +import torch +import torch.nn as nn +import torch.nn.functional as F +from functools import partial +import math +from abc import abstractmethod + +class EmbedBlock(nn.Module): + """ + Any module where forward() takes embeddings as a second argument. + """ + + @abstractmethod + def forward(self, x, emb): + """ + Apply the module to `x` given `emb` embeddings. + """ + + +class EmbedSequential(nn.Sequential, EmbedBlock): + """ + A sequential module that passes embeddings to the children that + support it as an extra input. + """ + + def forward(self, x, emb): + for layer in self: + if isinstance(layer, EmbedBlock): + x = layer(x, emb) + else: + x = layer(x) + return x + +def gamma_embedding(gammas, dim, max_period=10000): + """ + Create sinusoidal timestep embeddings. + :param gammas: a 1-D Tensor of N indices, one per batch element. + These may be fractional. + :param dim: the dimension of the output. + :param max_period: controls the minimum frequency of the embeddings. + :return: an [N x dim] Tensor of positional embeddings. + """ + half = dim // 2 + freqs = torch.exp( + -math.log(max_period) * torch.arange(start=0, + end=half, dtype=torch.float32) / half + ).to(device=gammas.device) + args = gammas[:, None].float() * freqs[None] + embedding = torch.cat([torch.cos(args), torch.sin(args)], dim=-1) + if dim % 2: + embedding = torch.cat( + [embedding, torch.zeros_like(embedding[:, :1])], dim=-1) + return embedding + + +class LayerNormFunction(torch.autograd.Function): + + @staticmethod + def forward(ctx, x, weight, bias, eps): + ctx.eps = eps + N, C, H, W = x.size() + mu = x.mean(1, keepdim=True) + var = (x - mu).pow(2).mean(1, keepdim=True) + y = (x - mu) / (var + eps).sqrt() + ctx.save_for_backward(y, var, weight) + y = weight.view(1, C, 1, 1) * y + bias.view(1, C, 1, 1) + return y + + @staticmethod + def backward(ctx, grad_output): + eps = ctx.eps + + N, C, H, W = grad_output.size() + y, var, weight = ctx.saved_variables + g = grad_output * weight.view(1, C, 1, 1) + mean_g = g.mean(dim=1, keepdim=True) + + mean_gy = (g * y).mean(dim=1, keepdim=True) + gx = 1. / torch.sqrt(var + eps) * (g - y * mean_gy - mean_g) + return gx, (grad_output * y).sum(dim=3).sum(dim=2).sum(dim=0), grad_output.sum(dim=3).sum(dim=2).sum( + dim=0), None + + +class LayerNorm2d(nn.Module): + + def __init__(self, channels, eps=1e-6): + super(LayerNorm2d, self).__init__() + self.register_parameter('weight', nn.Parameter(torch.ones(channels))) + self.register_parameter('bias', nn.Parameter(torch.zeros(channels))) + self.eps = eps + + def forward(self, x): + return LayerNormFunction.apply(x, self.weight, self.bias, self.eps) + + +class SimpleGate(nn.Module): + def forward(self, x): + x1, x2 = x.chunk(2, dim=1) + return x1 * x2 + +class CondNAFBlock(nn.Module): + def __init__(self, c, DW_Expand=2, FFN_Expand=2, drop_out_rate=0.): + super().__init__() + dw_channel = c * DW_Expand + self.conv1 = nn.Conv2d(in_channels=c, out_channels=dw_channel, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + self.conv2 = nn.Conv2d(in_channels=dw_channel, out_channels=dw_channel, kernel_size=3, padding=1, stride=1, groups=dw_channel, + bias=True) + self.conv3 = nn.Conv2d(in_channels=dw_channel // 2, out_channels=c, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + # Simplified Channel Attention + self.sca = nn.Sequential( + nn.AdaptiveAvgPool2d(1), + nn.Conv2d(in_channels=dw_channel // 2, out_channels=dw_channel // 2, kernel_size=1, padding=0, stride=1, + groups=1, bias=True), + ) + + # SimpleGate + self.sg = SimpleGate() + + ffn_channel = FFN_Expand * c + self.conv4 = nn.Conv2d(in_channels=c, out_channels=ffn_channel, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + self.conv5 = nn.Conv2d(in_channels=ffn_channel // 2, out_channels=c, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + self.norm1 = LayerNorm2d(c) + self.norm2 = LayerNorm2d(c) + + self.dropout1 = nn.Dropout( + drop_out_rate) if drop_out_rate > 0. else nn.Identity() + self.dropout2 = nn.Dropout( + drop_out_rate) if drop_out_rate > 0. else nn.Identity() + + self.beta = nn.Parameter(torch.zeros((1, c, 1, 1)), requires_grad=True) + self.gamma = nn.Parameter(torch.zeros( + (1, c, 1, 1)), requires_grad=True) + + def forward(self, inp): + x = inp + + x = self.norm1(x) + + x = self.conv1(x) + x = self.conv2(x) + x = self.sg(x) + x = x * self.sca(x) + x = self.conv3(x) + + x = self.dropout1(x) + + y = inp + x * self.beta + + x = self.conv4(self.norm2(y)) + x = self.sg(x) + x = self.conv5(x) + + x = self.dropout2(x) + + return y + x * self.gamma + +class NAFBlock(EmbedBlock): + def __init__(self, c, DW_Expand=2, FFN_Expand=2, drop_out_rate=0.): + super().__init__() + dw_channel = c * DW_Expand + self.conv1 = nn.Conv2d(in_channels=c, out_channels=dw_channel, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + self.conv2 = nn.Conv2d(in_channels=dw_channel, out_channels=dw_channel, kernel_size=3, padding=1, stride=1, groups=dw_channel, + bias=True) + self.conv3 = nn.Conv2d(in_channels=dw_channel // 2, out_channels=c, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + # Simplified Channel Attention + self.sca = nn.Sequential( + nn.AdaptiveAvgPool2d(1), + nn.Conv2d(in_channels=dw_channel // 2, out_channels=dw_channel // 2, kernel_size=1, padding=0, stride=1, + groups=1, bias=True), + ) + + # SimpleGate + self.sg = SimpleGate() + + ffn_channel = FFN_Expand * c + self.conv4 = nn.Conv2d(in_channels=c, out_channels=ffn_channel, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + self.conv5 = nn.Conv2d(in_channels=ffn_channel // 2, out_channels=c, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + self.norm1 = LayerNorm2d(c) + self.norm2 = LayerNorm2d(c) + + self.dropout1 = nn.Dropout( + drop_out_rate) if drop_out_rate > 0. else nn.Identity() + self.dropout2 = nn.Dropout( + drop_out_rate) if drop_out_rate > 0. else nn.Identity() + + self.beta = nn.Parameter(torch.zeros((1, c, 1, 1)), requires_grad=True) + self.gamma = nn.Parameter(torch.zeros( + (1, c, 1, 1)), requires_grad=True) + self.time_emb = nn.Sequential( + nn.SiLU(), + nn.Linear(256, c), + ) + + def forward(self, inp, t): + x = inp + + x = self.norm1(x) + + x = self.conv1(x) + x = self.conv2(x) + x = self.sg(x) + x = x * self.sca(x) + x = self.conv3(x) + + x = self.dropout1(x) + + y = inp + x * self.beta + + y = y+self.time_emb(t)[..., None, None] + + x = self.conv4(self.norm2(y)) + x = self.sg(x) + x = self.conv5(x) + + x = self.dropout2(x) + + return y + x * self.gamma + + +class UNet(nn.Module): + + def __init__( + self, + img_channel=3, + width=64, + middle_blk_num=1, + enc_blk_nums=[1, 1, 1, 1], + dec_blk_nums=[1, 1, 1, 1], + ): + super().__init__() + + self.intro = nn.Conv2d(in_channels=img_channel, out_channels=width, kernel_size=3, padding=1, stride=1, groups=1, + bias=True) + self.cond_intro = nn.Conv2d(in_channels=img_channel, out_channels=width, kernel_size=3, padding=1, stride=1, groups=1, + bias=True) + self.ending = nn.Conv2d(in_channels=width, out_channels=3, kernel_size=3, padding=1, stride=1, groups=1, + bias=True) + # self.inp_ending = nn.Conv2d(in_channels=img_channel, out_channels=3, kernel_size=3, padding=1, stride=1, groups=1, + # bias=True) + + self.encoders = nn.ModuleList() + self.cond_encoders = nn.ModuleList() + + self.decoders = nn.ModuleList() + + self.middle_blks = nn.ModuleList() + + self.ups = nn.ModuleList() + + self.downs = nn.ModuleList() + self.cond_downs = nn.ModuleList() + + chan = width + for num in enc_blk_nums: + self.encoders.append( + EmbedSequential( + *[NAFBlock(chan) for _ in range(num)] + ) + ) + self.cond_encoders.append( + nn.Sequential( + *[CondNAFBlock(chan) for _ in range(num)] + ) + ) + self.downs.append( + nn.Conv2d(chan, 2*chan, 2, 2) + ) + self.cond_downs.append( + nn.Conv2d(chan, 2*chan, 2, 2) + ) + chan = chan * 2 + + self.middle_blks = \ + EmbedSequential( + *[NAFBlock(chan) for _ in range(middle_blk_num)] + ) + + for num in dec_blk_nums: + self.ups.append( + nn.Sequential( + nn.Conv2d(chan, chan * 2, 1, bias=False), + nn.PixelShuffle(2) + ) + ) + chan = chan // 2 + self.decoders.append( + EmbedSequential( + *[NAFBlock(chan) for _ in range(num)] + ) + ) + + self.padder_size = 2 ** len(self.encoders) + self.emb = partial(gamma_embedding, dim=64) + self.map = nn.Sequential( + nn.Linear(64, 256), + nn.SiLU(), + nn.Linear(256, 256), + ) + + def forward(self, inp, gammas): + t = self.map(self.emb(gammas.view(-1, ))) + inp = self.check_image_size(inp) + + x1, x2, x3, x = inp.chunk(4, dim=1) + cond = torch.stack([x1, x2, x3], dim=1) + b, n, c, h, w = cond.shape + cond = cond.view(b*n, c, h, w) + x = self.intro(x) + cond = self.cond_intro(cond) + + + encs = [] + + for encoder, down, cond_encoder, cond_down in zip(self.encoders, self.downs, self.cond_encoders, self.cond_downs): + x = encoder(x, t) + cond = cond_encoder(cond) + b, c, h, w = cond.shape + tmp_cond = cond.view(b//3, 3, c, h, w).sum(dim=1) + x = x + tmp_cond + encs.append(x) + x = down(x) + cond = cond_down(cond) + + x = self.middle_blks(x, t) + + for decoder, up, enc_skip in zip(self.decoders, self.ups, encs[::-1]): + x = up(x) + x = x + enc_skip + x = decoder(x, t) + + x = self.ending(x) + # x = x + self.inp_ending(inp) + + + return x + + def check_image_size(self, x): + _, _, h, w = x.size() + mod_pad_h = (self.padder_size - h % + self.padder_size) % self.padder_size + mod_pad_w = (self.padder_size - w % + self.padder_size) % self.padder_size + x = F.pad(x, (0, mod_pad_w, 0, mod_pad_h)) + return x + + +if __name__ == '__main__': + # img_channel = 5 + # width = 32 + + # # enc_blks = [2, 2, 4, 8] + # # middle_blk_num = 12 + # # dec_blks = [2, 2, 2, 2] + + # enc_blks = [1, 1, 1, 28] + # middle_blk_num = 1 + # dec_blks = [1, 1, 1, 1] + + # net = NAFNet( + # img_channel=img_channel, + # width=width, + # middle_blk_num=middle_blk_num, + # enc_blk_nums=enc_blks, + # dec_blk_nums=dec_blks, + # ) + + # inp_shape = (2, 5, 64, 64) + + # out_shape = net(torch.Tensor(*inp_shape)).shape + + # print(out_shape) + # print(UNet()) + print(UNet()(*(torch.Tensor(2, 12, 256, 256), torch.ones(2,))).shape) + from thop import profile + from thop import clever_format + net = UNet() + flops, params = profile(net, inputs=(torch.Tensor(2, 12, 256, 256), torch.ones(2,))) + flops, params = clever_format([flops, params], "%.3f") + print(flops, params) # 154.582G 36.579M \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/ours/nafnet_double_encoder_splitcaCond.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/ours/nafnet_double_encoder_splitcaCond.py new file mode 100644 index 0000000000000000000000000000000000000000..45e6ca9039d60aabc43468d51a15b4babde5276d --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/ours/nafnet_double_encoder_splitcaCond.py @@ -0,0 +1,418 @@ +import torch +import torch.nn as nn +import torch.nn.functional as F +from functools import partial +import math +from abc import abstractmethod + +class EmbedBlock(nn.Module): + """ + Any module where forward() takes embeddings as a second argument. + """ + + @abstractmethod + def forward(self, x, emb): + """ + Apply the module to `x` given `emb` embeddings. + """ + + +class EmbedSequential(nn.Sequential, EmbedBlock): + """ + A sequential module that passes embeddings to the children that + support it as an extra input. + """ + + def forward(self, x, emb): + for layer in self: + if isinstance(layer, EmbedBlock): + x = layer(x, emb) + else: + x = layer(x) + return x + +def gamma_embedding(gammas, dim, max_period=10000): + """ + Create sinusoidal timestep embeddings. + :param gammas: a 1-D Tensor of N indices, one per batch element. + These may be fractional. + :param dim: the dimension of the output. + :param max_period: controls the minimum frequency of the embeddings. + :return: an [N x dim] Tensor of positional embeddings. + """ + half = dim // 2 + freqs = torch.exp( + -math.log(max_period) * torch.arange(start=0, + end=half, dtype=torch.float32) / half + ).to(device=gammas.device) + args = gammas[:, None].float() * freqs[None] + embedding = torch.cat([torch.cos(args), torch.sin(args)], dim=-1) + if dim % 2: + embedding = torch.cat( + [embedding, torch.zeros_like(embedding[:, :1])], dim=-1) + return embedding + + +class LayerNormFunction(torch.autograd.Function): + + @staticmethod + def forward(ctx, x, weight, bias, eps): + ctx.eps = eps + N, C, H, W = x.size() + mu = x.mean(1, keepdim=True) + var = (x - mu).pow(2).mean(1, keepdim=True) + y = (x - mu) / (var + eps).sqrt() + ctx.save_for_backward(y, var, weight) + y = weight.view(1, C, 1, 1) * y + bias.view(1, C, 1, 1) + return y + + @staticmethod + def backward(ctx, grad_output): + eps = ctx.eps + + N, C, H, W = grad_output.size() + y, var, weight = ctx.saved_variables + g = grad_output * weight.view(1, C, 1, 1) + mean_g = g.mean(dim=1, keepdim=True) + + mean_gy = (g * y).mean(dim=1, keepdim=True) + gx = 1. / torch.sqrt(var + eps) * (g - y * mean_gy - mean_g) + return gx, (grad_output * y).sum(dim=3).sum(dim=2).sum(dim=0), grad_output.sum(dim=3).sum(dim=2).sum( + dim=0), None + + +class LayerNorm2d(nn.Module): + + def __init__(self, channels, eps=1e-6): + super(LayerNorm2d, self).__init__() + self.register_parameter('weight', nn.Parameter(torch.ones(channels))) + self.register_parameter('bias', nn.Parameter(torch.zeros(channels))) + self.eps = eps + + def forward(self, x): + return LayerNormFunction.apply(x, self.weight, self.bias, self.eps) + + +class SimpleGate(nn.Module): + def forward(self, x): + x1, x2 = x.chunk(2, dim=1) + return x1 * x2 + +class CondNAFBlock(nn.Module): + def __init__(self, c, DW_Expand=2, FFN_Expand=2, drop_out_rate=0.): + super().__init__() + dw_channel = c * DW_Expand + self.conv1 = nn.Conv2d(in_channels=c, out_channels=dw_channel, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + self.conv2 = nn.Conv2d(in_channels=dw_channel, out_channels=dw_channel, kernel_size=3, padding=1, stride=1, groups=dw_channel, + bias=True) + self.conv3 = nn.Conv2d(in_channels=dw_channel // 2, out_channels=c, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + # Simplified Channel Attention + # self.sca = nn.Sequential( + # nn.AdaptiveAvgPool2d(1), + # nn.Conv2d(in_channels=dw_channel // 2, out_channels=dw_channel // 2, kernel_size=1, padding=0, stride=1, + # groups=1, bias=True), + # ) + self.sca_avg = nn.Sequential( + nn.AdaptiveAvgPool2d(1), + nn.Conv2d(in_channels=dw_channel // 4, out_channels=dw_channel // 4, kernel_size=1, padding=0, stride=1, + groups=1, bias=True), + ) + self.sca_max = nn.Sequential( + nn.AdaptiveMaxPool2d(1), + nn.Conv2d(in_channels=dw_channel // 4, out_channels=dw_channel // 4, kernel_size=1, padding=0, stride=1, + groups=1, bias=True), + ) + + # SimpleGate + self.sg = SimpleGate() + + ffn_channel = FFN_Expand * c + self.conv4 = nn.Conv2d(in_channels=c, out_channels=ffn_channel, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + self.conv5 = nn.Conv2d(in_channels=ffn_channel // 2, out_channels=c, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + self.norm1 = LayerNorm2d(c) + self.norm2 = LayerNorm2d(c) + + self.dropout1 = nn.Dropout( + drop_out_rate) if drop_out_rate > 0. else nn.Identity() + self.dropout2 = nn.Dropout( + drop_out_rate) if drop_out_rate > 0. else nn.Identity() + + self.beta = nn.Parameter(torch.zeros((1, c, 1, 1)), requires_grad=True) + self.gamma = nn.Parameter(torch.zeros( + (1, c, 1, 1)), requires_grad=True) + + def forward(self, inp): + x = inp + + x = self.norm1(x) + + x = self.conv1(x) + x = self.conv2(x) + x = self.sg(x) + x_avg, x_max = x.chunk(2, dim=1) + x_avg = self.sca_avg(x_avg)*x_avg + x_max = self.sca_max(x_max)*x_max + x = torch.cat([x_avg, x_max], dim=1) + x = self.conv3(x) + + x = self.dropout1(x) + + y = inp + x * self.beta + + x = self.conv4(self.norm2(y)) + x = self.sg(x) + x = self.conv5(x) + + x = self.dropout2(x) + + return y + x * self.gamma + +class NAFBlock(EmbedBlock): + def __init__(self, c, DW_Expand=2, FFN_Expand=2, drop_out_rate=0.): + super().__init__() + dw_channel = c * DW_Expand + self.conv1 = nn.Conv2d(in_channels=c, out_channels=dw_channel, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + self.conv2 = nn.Conv2d(in_channels=dw_channel, out_channels=dw_channel, kernel_size=3, padding=1, stride=1, groups=dw_channel, + bias=True) + self.conv3 = nn.Conv2d(in_channels=dw_channel // 2, out_channels=c, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + # Simplified Channel Attention + self.sca = nn.Sequential( + nn.AdaptiveAvgPool2d(1), + nn.Conv2d(in_channels=dw_channel // 2, out_channels=dw_channel // 2, kernel_size=1, padding=0, stride=1, + groups=1, bias=True), + ) + # self.sca_avg = nn.Sequential( + # nn.AdaptiveAvgPool2d(1), + # nn.Conv2d(in_channels=dw_channel // 4, out_channels=dw_channel // 4, kernel_size=1, padding=0, stride=1, + # groups=1, bias=True), + # ) + # self.sca_max = nn.Sequential( + # nn.AdaptiveMaxPool2d(1), + # nn.Conv2d(in_channels=dw_channel // 4, out_channels=dw_channel // 4, kernel_size=1, padding=0, stride=1, + # groups=1, bias=True), + # ) + + # SimpleGate + self.sg = SimpleGate() + + ffn_channel = FFN_Expand * c + self.conv4 = nn.Conv2d(in_channels=c, out_channels=ffn_channel, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + self.conv5 = nn.Conv2d(in_channels=ffn_channel // 2, out_channels=c, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + self.norm1 = LayerNorm2d(c) + self.norm2 = LayerNorm2d(c) + + self.dropout1 = nn.Dropout( + drop_out_rate) if drop_out_rate > 0. else nn.Identity() + self.dropout2 = nn.Dropout( + drop_out_rate) if drop_out_rate > 0. else nn.Identity() + + self.beta = nn.Parameter(torch.zeros((1, c, 1, 1)), requires_grad=True) + self.gamma = nn.Parameter(torch.zeros( + (1, c, 1, 1)), requires_grad=True) + self.time_emb = nn.Sequential( + nn.SiLU(), + nn.Linear(256, c), + ) + + def forward(self, inp, t): + x = inp + + x = self.norm1(x) + + x = self.conv1(x) + x = self.conv2(x) + x = self.sg(x) + # x_avg, x_max = x.chunk(2, dim=1) + # x_avg = self.sca_avg(x_avg)*x_avg + # x_max = self.sca_max(x_max)*x_max + # x = torch.cat([x_avg, x_max], dim=1) + x = self.sca(x) + x = self.conv3(x) + + x = self.dropout1(x) + + y = inp + x * self.beta + + y = y+self.time_emb(t)[..., None, None] + + x = self.conv4(self.norm2(y)) + x = self.sg(x) + x = self.conv5(x) + + x = self.dropout2(x) + + return y + x * self.gamma + + +class UNet(nn.Module): + + def __init__( + self, + img_channel=3, + width=64, + middle_blk_num=1, + enc_blk_nums=[1, 1, 1, 1], + dec_blk_nums=[1, 1, 1, 1], + ): + super().__init__() + + self.intro = nn.Conv2d(in_channels=img_channel, out_channels=width, kernel_size=3, padding=1, stride=1, groups=1, + bias=True) + self.cond_intro = nn.Conv2d(in_channels=img_channel, out_channels=width, kernel_size=3, padding=1, stride=1, groups=1, + bias=True) + self.ending = nn.Conv2d(in_channels=width, out_channels=3, kernel_size=3, padding=1, stride=1, groups=1, + bias=True) + # self.inp_ending = nn.Conv2d(in_channels=img_channel, out_channels=3, kernel_size=3, padding=1, stride=1, groups=1, + # bias=True) + + self.encoders = nn.ModuleList() + self.cond_encoders = nn.ModuleList() + + self.decoders = nn.ModuleList() + + self.middle_blks = nn.ModuleList() + + self.ups = nn.ModuleList() + + self.downs = nn.ModuleList() + self.cond_downs = nn.ModuleList() + + chan = width + for num in enc_blk_nums: + self.encoders.append( + EmbedSequential( + *[NAFBlock(chan) for _ in range(num)] + ) + ) + self.cond_encoders.append( + nn.Sequential( + *[CondNAFBlock(chan) for _ in range(num)] + ) + ) + self.downs.append( + nn.Conv2d(chan, 2*chan, 2, 2) + ) + self.cond_downs.append( + nn.Conv2d(chan, 2*chan, 2, 2) + ) + chan = chan * 2 + + self.middle_blks = \ + EmbedSequential( + *[NAFBlock(chan) for _ in range(middle_blk_num)] + ) + + for num in dec_blk_nums: + self.ups.append( + nn.Sequential( + nn.Conv2d(chan, chan * 2, 1, bias=False), + nn.PixelShuffle(2) + ) + ) + chan = chan // 2 + self.decoders.append( + EmbedSequential( + *[NAFBlock(chan) for _ in range(num)] + ) + ) + + self.padder_size = 2 ** len(self.encoders) + self.emb = partial(gamma_embedding, dim=64) + self.map = nn.Sequential( + nn.Linear(64, 256), + nn.SiLU(), + nn.Linear(256, 256), + ) + + def forward(self, inp, gammas): + t = self.map(self.emb(gammas.view(-1, ))) + inp = self.check_image_size(inp) + + x1, x2, x3, x = inp.chunk(4, dim=1) + cond = torch.stack([x1, x2, x3], dim=1) + b, n, c, h, w = cond.shape + cond = cond.view(b*n, c, h, w) + x = self.intro(x) + cond = self.cond_intro(cond) + + + encs = [] + + for encoder, down, cond_encoder, cond_down in zip(self.encoders, self.downs, self.cond_encoders, self.cond_downs): + x = encoder(x, t) + cond = cond_encoder(cond) + b, c, h, w = cond.shape + tmp_cond = cond.view(b//3, 3, c, h, w).sum(dim=1) + x = x + tmp_cond + encs.append(x) + x = down(x) + cond = cond_down(cond) + + x = self.middle_blks(x, t) + + for decoder, up, enc_skip in zip(self.decoders, self.ups, encs[::-1]): + x = up(x) + x = x + enc_skip + x = decoder(x, t) + + x = self.ending(x) + # x = x + self.inp_ending(inp) + + + return x + + def check_image_size(self, x): + _, _, h, w = x.size() + mod_pad_h = (self.padder_size - h % + self.padder_size) % self.padder_size + mod_pad_w = (self.padder_size - w % + self.padder_size) % self.padder_size + x = F.pad(x, (0, mod_pad_w, 0, mod_pad_h)) + return x + + +if __name__ == '__main__': + # img_channel = 5 + # width = 32 + + # # enc_blks = [2, 2, 4, 8] + # # middle_blk_num = 12 + # # dec_blks = [2, 2, 2, 2] + + # enc_blks = [1, 1, 1, 28] + # middle_blk_num = 1 + # dec_blks = [1, 1, 1, 1] + + # net = NAFNet( + # img_channel=img_channel, + # width=width, + # middle_blk_num=middle_blk_num, + # enc_blk_nums=enc_blks, + # dec_blk_nums=dec_blks, + # ) + + # inp_shape = (2, 5, 64, 64) + + # out_shape = net(torch.Tensor(*inp_shape)).shape + + # print(out_shape) + # print(UNet()) + print(UNet()(*(torch.Tensor(1, 12, 256, 256), torch.ones(1,))).shape) + from thop import profile + from thop import clever_format + net = UNet() + flops, params = profile(net, inputs=(torch.Tensor(1, 12, 256, 256), torch.ones(1,))) + flops, params = clever_format([flops, params], "%.3f") + print(flops, params) # 154.582G 36.579M \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/ours/nafnet_double_encoder_splitcaCond_splitcaUnet.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/ours/nafnet_double_encoder_splitcaCond_splitcaUnet.py new file mode 100644 index 0000000000000000000000000000000000000000..30a4a7a602f5f436d851e73bae25f201457a13d9 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/ours/nafnet_double_encoder_splitcaCond_splitcaUnet.py @@ -0,0 +1,417 @@ +import torch +import torch.nn as nn +import torch.nn.functional as F +from functools import partial +import math +from abc import abstractmethod + +class EmbedBlock(nn.Module): + """ + Any module where forward() takes embeddings as a second argument. + """ + + @abstractmethod + def forward(self, x, emb): + """ + Apply the module to `x` given `emb` embeddings. + """ + + +class EmbedSequential(nn.Sequential, EmbedBlock): + """ + A sequential module that passes embeddings to the children that + support it as an extra input. + """ + + def forward(self, x, emb): + for layer in self: + if isinstance(layer, EmbedBlock): + x = layer(x, emb) + else: + x = layer(x) + return x + +def gamma_embedding(gammas, dim, max_period=10000): + """ + Create sinusoidal timestep embeddings. + :param gammas: a 1-D Tensor of N indices, one per batch element. + These may be fractional. + :param dim: the dimension of the output. + :param max_period: controls the minimum frequency of the embeddings. + :return: an [N x dim] Tensor of positional embeddings. + """ + half = dim // 2 + freqs = torch.exp( + -math.log(max_period) * torch.arange(start=0, + end=half, dtype=torch.float32) / half + ).to(device=gammas.device) + args = gammas[:, None].float() * freqs[None] + embedding = torch.cat([torch.cos(args), torch.sin(args)], dim=-1) + if dim % 2: + embedding = torch.cat( + [embedding, torch.zeros_like(embedding[:, :1])], dim=-1) + return embedding + + +class LayerNormFunction(torch.autograd.Function): + + @staticmethod + def forward(ctx, x, weight, bias, eps): + ctx.eps = eps + N, C, H, W = x.size() + mu = x.mean(1, keepdim=True) + var = (x - mu).pow(2).mean(1, keepdim=True) + y = (x - mu) / (var + eps).sqrt() + ctx.save_for_backward(y, var, weight) + y = weight.view(1, C, 1, 1) * y + bias.view(1, C, 1, 1) + return y + + @staticmethod + def backward(ctx, grad_output): + eps = ctx.eps + + N, C, H, W = grad_output.size() + y, var, weight = ctx.saved_variables + g = grad_output * weight.view(1, C, 1, 1) + mean_g = g.mean(dim=1, keepdim=True) + + mean_gy = (g * y).mean(dim=1, keepdim=True) + gx = 1. / torch.sqrt(var + eps) * (g - y * mean_gy - mean_g) + return gx, (grad_output * y).sum(dim=3).sum(dim=2).sum(dim=0), grad_output.sum(dim=3).sum(dim=2).sum( + dim=0), None + + +class LayerNorm2d(nn.Module): + + def __init__(self, channels, eps=1e-6): + super(LayerNorm2d, self).__init__() + self.register_parameter('weight', nn.Parameter(torch.ones(channels))) + self.register_parameter('bias', nn.Parameter(torch.zeros(channels))) + self.eps = eps + + def forward(self, x): + return LayerNormFunction.apply(x, self.weight, self.bias, self.eps) + + +class SimpleGate(nn.Module): + def forward(self, x): + x1, x2 = x.chunk(2, dim=1) + return x1 * x2 + +class CondNAFBlock(nn.Module): + def __init__(self, c, DW_Expand=2, FFN_Expand=2, drop_out_rate=0.): + super().__init__() + dw_channel = c * DW_Expand + self.conv1 = nn.Conv2d(in_channels=c, out_channels=dw_channel, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + self.conv2 = nn.Conv2d(in_channels=dw_channel, out_channels=dw_channel, kernel_size=3, padding=1, stride=1, groups=dw_channel, + bias=True) + self.conv3 = nn.Conv2d(in_channels=dw_channel // 2, out_channels=c, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + # Simplified Channel Attention + # self.sca = nn.Sequential( + # nn.AdaptiveAvgPool2d(1), + # nn.Conv2d(in_channels=dw_channel // 2, out_channels=dw_channel // 2, kernel_size=1, padding=0, stride=1, + # groups=1, bias=True), + # ) + self.sca_avg = nn.Sequential( + nn.AdaptiveAvgPool2d(1), + nn.Conv2d(in_channels=dw_channel // 4, out_channels=dw_channel // 4, kernel_size=1, padding=0, stride=1, + groups=1, bias=True), + ) + self.sca_max = nn.Sequential( + nn.AdaptiveMaxPool2d(1), + nn.Conv2d(in_channels=dw_channel // 4, out_channels=dw_channel // 4, kernel_size=1, padding=0, stride=1, + groups=1, bias=True), + ) + + # SimpleGate + self.sg = SimpleGate() + + ffn_channel = FFN_Expand * c + self.conv4 = nn.Conv2d(in_channels=c, out_channels=ffn_channel, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + self.conv5 = nn.Conv2d(in_channels=ffn_channel // 2, out_channels=c, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + self.norm1 = LayerNorm2d(c) + self.norm2 = LayerNorm2d(c) + + self.dropout1 = nn.Dropout( + drop_out_rate) if drop_out_rate > 0. else nn.Identity() + self.dropout2 = nn.Dropout( + drop_out_rate) if drop_out_rate > 0. else nn.Identity() + + self.beta = nn.Parameter(torch.zeros((1, c, 1, 1)), requires_grad=True) + self.gamma = nn.Parameter(torch.zeros( + (1, c, 1, 1)), requires_grad=True) + + def forward(self, inp): + x = inp + + x = self.norm1(x) + + x = self.conv1(x) + x = self.conv2(x) + x = self.sg(x) + x_avg, x_max = x.chunk(2, dim=1) + x_avg = self.sca_avg(x_avg)*x_avg + x_max = self.sca_max(x_max)*x_max + x = torch.cat([x_avg, x_max], dim=1) + x = self.conv3(x) + + x = self.dropout1(x) + + y = inp + x * self.beta + + x = self.conv4(self.norm2(y)) + x = self.sg(x) + x = self.conv5(x) + + x = self.dropout2(x) + + return y + x * self.gamma + +class NAFBlock(EmbedBlock): + def __init__(self, c, DW_Expand=2, FFN_Expand=2, drop_out_rate=0.): + super().__init__() + dw_channel = c * DW_Expand + self.conv1 = nn.Conv2d(in_channels=c, out_channels=dw_channel, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + self.conv2 = nn.Conv2d(in_channels=dw_channel, out_channels=dw_channel, kernel_size=3, padding=1, stride=1, groups=dw_channel, + bias=True) + self.conv3 = nn.Conv2d(in_channels=dw_channel // 2, out_channels=c, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + # Simplified Channel Attention + # self.sca = nn.Sequential( + # nn.AdaptiveAvgPool2d(1), + # nn.Conv2d(in_channels=dw_channel // 2, out_channels=dw_channel // 2, kernel_size=1, padding=0, stride=1, + # groups=1, bias=True), + # ) + self.sca_avg = nn.Sequential( + nn.AdaptiveAvgPool2d(1), + nn.Conv2d(in_channels=dw_channel // 4, out_channels=dw_channel // 4, kernel_size=1, padding=0, stride=1, + groups=1, bias=True), + ) + self.sca_max = nn.Sequential( + nn.AdaptiveMaxPool2d(1), + nn.Conv2d(in_channels=dw_channel // 4, out_channels=dw_channel // 4, kernel_size=1, padding=0, stride=1, + groups=1, bias=True), + ) + + # SimpleGate + self.sg = SimpleGate() + + ffn_channel = FFN_Expand * c + self.conv4 = nn.Conv2d(in_channels=c, out_channels=ffn_channel, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + self.conv5 = nn.Conv2d(in_channels=ffn_channel // 2, out_channels=c, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + self.norm1 = LayerNorm2d(c) + self.norm2 = LayerNorm2d(c) + + self.dropout1 = nn.Dropout( + drop_out_rate) if drop_out_rate > 0. else nn.Identity() + self.dropout2 = nn.Dropout( + drop_out_rate) if drop_out_rate > 0. else nn.Identity() + + self.beta = nn.Parameter(torch.zeros((1, c, 1, 1)), requires_grad=True) + self.gamma = nn.Parameter(torch.zeros( + (1, c, 1, 1)), requires_grad=True) + self.time_emb = nn.Sequential( + nn.SiLU(), + nn.Linear(256, c), + ) + + def forward(self, inp, t): + x = inp + + x = self.norm1(x) + + x = self.conv1(x) + x = self.conv2(x) + x = self.sg(x) + x_avg, x_max = x.chunk(2, dim=1) + x_avg = self.sca_avg(x_avg)*x_avg + x_max = self.sca_max(x_max)*x_max + x = torch.cat([x_avg, x_max], dim=1) + x = self.conv3(x) + + x = self.dropout1(x) + + y = inp + x * self.beta + + y = y+self.time_emb(t)[..., None, None] + + x = self.conv4(self.norm2(y)) + x = self.sg(x) + x = self.conv5(x) + + x = self.dropout2(x) + + return y + x * self.gamma + + +class UNet(nn.Module): + + def __init__( + self, + img_channel=3, + width=64, + middle_blk_num=1, + enc_blk_nums=[1, 1, 1, 1], + dec_blk_nums=[1, 1, 1, 1], + ): + super().__init__() + + self.intro = nn.Conv2d(in_channels=img_channel, out_channels=width, kernel_size=3, padding=1, stride=1, groups=1, + bias=True) + self.cond_intro = nn.Conv2d(in_channels=img_channel, out_channels=width, kernel_size=3, padding=1, stride=1, groups=1, + bias=True) + self.ending = nn.Conv2d(in_channels=width, out_channels=3, kernel_size=3, padding=1, stride=1, groups=1, + bias=True) + # self.inp_ending = nn.Conv2d(in_channels=img_channel, out_channels=3, kernel_size=3, padding=1, stride=1, groups=1, + # bias=True) + + self.encoders = nn.ModuleList() + self.cond_encoders = nn.ModuleList() + + self.decoders = nn.ModuleList() + + self.middle_blks = nn.ModuleList() + + self.ups = nn.ModuleList() + + self.downs = nn.ModuleList() + self.cond_downs = nn.ModuleList() + + chan = width + for num in enc_blk_nums: + self.encoders.append( + EmbedSequential( + *[NAFBlock(chan) for _ in range(num)] + ) + ) + self.cond_encoders.append( + nn.Sequential( + *[CondNAFBlock(chan) for _ in range(num)] + ) + ) + self.downs.append( + nn.Conv2d(chan, 2*chan, 2, 2) + ) + self.cond_downs.append( + nn.Conv2d(chan, 2*chan, 2, 2) + ) + chan = chan * 2 + + self.middle_blks = \ + EmbedSequential( + *[NAFBlock(chan) for _ in range(middle_blk_num)] + ) + + for num in dec_blk_nums: + self.ups.append( + nn.Sequential( + nn.Conv2d(chan, chan * 2, 1, bias=False), + nn.PixelShuffle(2) + ) + ) + chan = chan // 2 + self.decoders.append( + EmbedSequential( + *[NAFBlock(chan) for _ in range(num)] + ) + ) + + self.padder_size = 2 ** len(self.encoders) + self.emb = partial(gamma_embedding, dim=64) + self.map = nn.Sequential( + nn.Linear(64, 256), + nn.SiLU(), + nn.Linear(256, 256), + ) + + def forward(self, inp, gammas): + t = self.map(self.emb(gammas.view(-1, ))) + inp = self.check_image_size(inp) + + x1, x2, x3, x = inp.chunk(4, dim=1) + cond = torch.stack([x1, x2, x3], dim=1) + b, n, c, h, w = cond.shape + cond = cond.view(b*n, c, h, w) + x = self.intro(x) + cond = self.cond_intro(cond) + + + encs = [] + + for encoder, down, cond_encoder, cond_down in zip(self.encoders, self.downs, self.cond_encoders, self.cond_downs): + x = encoder(x, t) + cond = cond_encoder(cond) + b, c, h, w = cond.shape + tmp_cond = cond.view(b//3, 3, c, h, w).sum(dim=1) + x = x + tmp_cond + encs.append(x) + x = down(x) + cond = cond_down(cond) + + x = self.middle_blks(x, t) + + for decoder, up, enc_skip in zip(self.decoders, self.ups, encs[::-1]): + x = up(x) + x = x + enc_skip + x = decoder(x, t) + + x = self.ending(x) + # x = x + self.inp_ending(inp) + + + return x + + def check_image_size(self, x): + _, _, h, w = x.size() + mod_pad_h = (self.padder_size - h % + self.padder_size) % self.padder_size + mod_pad_w = (self.padder_size - w % + self.padder_size) % self.padder_size + x = F.pad(x, (0, mod_pad_w, 0, mod_pad_h)) + return x + + +if __name__ == '__main__': + # img_channel = 5 + # width = 32 + + # # enc_blks = [2, 2, 4, 8] + # # middle_blk_num = 12 + # # dec_blks = [2, 2, 2, 2] + + # enc_blks = [1, 1, 1, 28] + # middle_blk_num = 1 + # dec_blks = [1, 1, 1, 1] + + # net = NAFNet( + # img_channel=img_channel, + # width=width, + # middle_blk_num=middle_blk_num, + # enc_blk_nums=enc_blks, + # dec_blk_nums=dec_blks, + # ) + + # inp_shape = (2, 5, 64, 64) + + # out_shape = net(torch.Tensor(*inp_shape)).shape + + # print(out_shape) + # print(UNet()) + print(UNet()(*(torch.Tensor(1, 12, 256, 256), torch.ones(1,))).shape) + from thop import profile + from thop import clever_format + net = UNet() + flops, params = profile(net, inputs=(torch.Tensor(1, 12, 256, 256), torch.ones(1,))) + flops, params = clever_format([flops, params], "%.3f") + print(flops, params) # 154.582G 36.579M \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/ours/nafnet_double_encoder_splitcaUnet.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/ours/nafnet_double_encoder_splitcaUnet.py new file mode 100644 index 0000000000000000000000000000000000000000..f95e7a672922761e3b3c1452ba973d8f32213e3d --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/ours/nafnet_double_encoder_splitcaUnet.py @@ -0,0 +1,418 @@ +import torch +import torch.nn as nn +import torch.nn.functional as F +from functools import partial +import math +from abc import abstractmethod + +class EmbedBlock(nn.Module): + """ + Any module where forward() takes embeddings as a second argument. + """ + + @abstractmethod + def forward(self, x, emb): + """ + Apply the module to `x` given `emb` embeddings. + """ + + +class EmbedSequential(nn.Sequential, EmbedBlock): + """ + A sequential module that passes embeddings to the children that + support it as an extra input. + """ + + def forward(self, x, emb): + for layer in self: + if isinstance(layer, EmbedBlock): + x = layer(x, emb) + else: + x = layer(x) + return x + +def gamma_embedding(gammas, dim, max_period=10000): + """ + Create sinusoidal timestep embeddings. + :param gammas: a 1-D Tensor of N indices, one per batch element. + These may be fractional. + :param dim: the dimension of the output. + :param max_period: controls the minimum frequency of the embeddings. + :return: an [N x dim] Tensor of positional embeddings. + """ + half = dim // 2 + freqs = torch.exp( + -math.log(max_period) * torch.arange(start=0, + end=half, dtype=torch.float32) / half + ).to(device=gammas.device) + args = gammas[:, None].float() * freqs[None] + embedding = torch.cat([torch.cos(args), torch.sin(args)], dim=-1) + if dim % 2: + embedding = torch.cat( + [embedding, torch.zeros_like(embedding[:, :1])], dim=-1) + return embedding + + +class LayerNormFunction(torch.autograd.Function): + + @staticmethod + def forward(ctx, x, weight, bias, eps): + ctx.eps = eps + N, C, H, W = x.size() + mu = x.mean(1, keepdim=True) + var = (x - mu).pow(2).mean(1, keepdim=True) + y = (x - mu) / (var + eps).sqrt() + ctx.save_for_backward(y, var, weight) + y = weight.view(1, C, 1, 1) * y + bias.view(1, C, 1, 1) + return y + + @staticmethod + def backward(ctx, grad_output): + eps = ctx.eps + + N, C, H, W = grad_output.size() + y, var, weight = ctx.saved_variables + g = grad_output * weight.view(1, C, 1, 1) + mean_g = g.mean(dim=1, keepdim=True) + + mean_gy = (g * y).mean(dim=1, keepdim=True) + gx = 1. / torch.sqrt(var + eps) * (g - y * mean_gy - mean_g) + return gx, (grad_output * y).sum(dim=3).sum(dim=2).sum(dim=0), grad_output.sum(dim=3).sum(dim=2).sum( + dim=0), None + + +class LayerNorm2d(nn.Module): + + def __init__(self, channels, eps=1e-6): + super(LayerNorm2d, self).__init__() + self.register_parameter('weight', nn.Parameter(torch.ones(channels))) + self.register_parameter('bias', nn.Parameter(torch.zeros(channels))) + self.eps = eps + + def forward(self, x): + return LayerNormFunction.apply(x, self.weight, self.bias, self.eps) + + +class SimpleGate(nn.Module): + def forward(self, x): + x1, x2 = x.chunk(2, dim=1) + return x1 * x2 + +class CondNAFBlock(nn.Module): + def __init__(self, c, DW_Expand=2, FFN_Expand=2, drop_out_rate=0.): + super().__init__() + dw_channel = c * DW_Expand + self.conv1 = nn.Conv2d(in_channels=c, out_channels=dw_channel, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + self.conv2 = nn.Conv2d(in_channels=dw_channel, out_channels=dw_channel, kernel_size=3, padding=1, stride=1, groups=dw_channel, + bias=True) + self.conv3 = nn.Conv2d(in_channels=dw_channel // 2, out_channels=c, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + # Simplified Channel Attention + self.sca = nn.Sequential( + nn.AdaptiveAvgPool2d(1), + nn.Conv2d(in_channels=dw_channel // 2, out_channels=dw_channel // 2, kernel_size=1, padding=0, stride=1, + groups=1, bias=True), + ) + # self.sca_avg = nn.Sequential( + # nn.AdaptiveAvgPool2d(1), + # nn.Conv2d(in_channels=dw_channel // 4, out_channels=dw_channel // 4, kernel_size=1, padding=0, stride=1, + # groups=1, bias=True), + # ) + # self.sca_max = nn.Sequential( + # nn.AdaptiveMaxPool2d(1), + # nn.Conv2d(in_channels=dw_channel // 4, out_channels=dw_channel // 4, kernel_size=1, padding=0, stride=1, + # groups=1, bias=True), + # ) + + # SimpleGate + self.sg = SimpleGate() + + ffn_channel = FFN_Expand * c + self.conv4 = nn.Conv2d(in_channels=c, out_channels=ffn_channel, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + self.conv5 = nn.Conv2d(in_channels=ffn_channel // 2, out_channels=c, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + self.norm1 = LayerNorm2d(c) + self.norm2 = LayerNorm2d(c) + + self.dropout1 = nn.Dropout( + drop_out_rate) if drop_out_rate > 0. else nn.Identity() + self.dropout2 = nn.Dropout( + drop_out_rate) if drop_out_rate > 0. else nn.Identity() + + self.beta = nn.Parameter(torch.zeros((1, c, 1, 1)), requires_grad=True) + self.gamma = nn.Parameter(torch.zeros( + (1, c, 1, 1)), requires_grad=True) + + def forward(self, inp): + x = inp + + x = self.norm1(x) + + x = self.conv1(x) + x = self.conv2(x) + x = self.sg(x) + # x_avg, x_max = x.chunk(2, dim=1) + # x_avg = self.sca_avg(x_avg)*x_avg + # x_max = self.sca_max(x_max)*x_max + # x = torch.cat([x_avg, x_max], dim=1) + x = self.sca(x) + x = self.conv3(x) + + x = self.dropout1(x) + + y = inp + x * self.beta + + x = self.conv4(self.norm2(y)) + x = self.sg(x) + x = self.conv5(x) + + x = self.dropout2(x) + + return y + x * self.gamma + +class NAFBlock(EmbedBlock): + def __init__(self, c, DW_Expand=2, FFN_Expand=2, drop_out_rate=0.): + super().__init__() + dw_channel = c * DW_Expand + self.conv1 = nn.Conv2d(in_channels=c, out_channels=dw_channel, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + self.conv2 = nn.Conv2d(in_channels=dw_channel, out_channels=dw_channel, kernel_size=3, padding=1, stride=1, groups=dw_channel, + bias=True) + self.conv3 = nn.Conv2d(in_channels=dw_channel // 2, out_channels=c, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + # Simplified Channel Attention + # self.sca = nn.Sequential( + # nn.AdaptiveAvgPool2d(1), + # nn.Conv2d(in_channels=dw_channel // 2, out_channels=dw_channel // 2, kernel_size=1, padding=0, stride=1, + # groups=1, bias=True), + # ) + self.sca_avg = nn.Sequential( + nn.AdaptiveAvgPool2d(1), + nn.Conv2d(in_channels=dw_channel // 4, out_channels=dw_channel // 4, kernel_size=1, padding=0, stride=1, + groups=1, bias=True), + ) + self.sca_max = nn.Sequential( + nn.AdaptiveMaxPool2d(1), + nn.Conv2d(in_channels=dw_channel // 4, out_channels=dw_channel // 4, kernel_size=1, padding=0, stride=1, + groups=1, bias=True), + ) + + # SimpleGate + self.sg = SimpleGate() + + ffn_channel = FFN_Expand * c + self.conv4 = nn.Conv2d(in_channels=c, out_channels=ffn_channel, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + self.conv5 = nn.Conv2d(in_channels=ffn_channel // 2, out_channels=c, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + self.norm1 = LayerNorm2d(c) + self.norm2 = LayerNorm2d(c) + + self.dropout1 = nn.Dropout( + drop_out_rate) if drop_out_rate > 0. else nn.Identity() + self.dropout2 = nn.Dropout( + drop_out_rate) if drop_out_rate > 0. else nn.Identity() + + self.beta = nn.Parameter(torch.zeros((1, c, 1, 1)), requires_grad=True) + self.gamma = nn.Parameter(torch.zeros( + (1, c, 1, 1)), requires_grad=True) + self.time_emb = nn.Sequential( + nn.SiLU(), + nn.Linear(256, c), + ) + + def forward(self, inp, t): + x = inp + + x = self.norm1(x) + + x = self.conv1(x) + x = self.conv2(x) + x = self.sg(x) + x_avg, x_max = x.chunk(2, dim=1) + x_avg = self.sca_avg(x_avg)*x_avg + x_max = self.sca_max(x_max)*x_max + x = torch.cat([x_avg, x_max], dim=1) + x = self.conv3(x) + + x = self.dropout1(x) + + y = inp + x * self.beta + + y = y+self.time_emb(t)[..., None, None] + + x = self.conv4(self.norm2(y)) + x = self.sg(x) + x = self.conv5(x) + + x = self.dropout2(x) + + return y + x * self.gamma + + +class UNet(nn.Module): + + def __init__( + self, + img_channel=3, + width=64, + middle_blk_num=1, + enc_blk_nums=[1, 1, 1, 1], + dec_blk_nums=[1, 1, 1, 1], + ): + super().__init__() + + self.intro = nn.Conv2d(in_channels=img_channel, out_channels=width, kernel_size=3, padding=1, stride=1, groups=1, + bias=True) + self.cond_intro = nn.Conv2d(in_channels=img_channel, out_channels=width, kernel_size=3, padding=1, stride=1, groups=1, + bias=True) + self.ending = nn.Conv2d(in_channels=width, out_channels=3, kernel_size=3, padding=1, stride=1, groups=1, + bias=True) + # self.inp_ending = nn.Conv2d(in_channels=img_channel, out_channels=3, kernel_size=3, padding=1, stride=1, groups=1, + # bias=True) + + self.encoders = nn.ModuleList() + self.cond_encoders = nn.ModuleList() + + self.decoders = nn.ModuleList() + + self.middle_blks = nn.ModuleList() + + self.ups = nn.ModuleList() + + self.downs = nn.ModuleList() + self.cond_downs = nn.ModuleList() + + chan = width + for num in enc_blk_nums: + self.encoders.append( + EmbedSequential( + *[NAFBlock(chan) for _ in range(num)] + ) + ) + self.cond_encoders.append( + nn.Sequential( + *[CondNAFBlock(chan) for _ in range(num)] + ) + ) + self.downs.append( + nn.Conv2d(chan, 2*chan, 2, 2) + ) + self.cond_downs.append( + nn.Conv2d(chan, 2*chan, 2, 2) + ) + chan = chan * 2 + + self.middle_blks = \ + EmbedSequential( + *[NAFBlock(chan) for _ in range(middle_blk_num)] + ) + + for num in dec_blk_nums: + self.ups.append( + nn.Sequential( + nn.Conv2d(chan, chan * 2, 1, bias=False), + nn.PixelShuffle(2) + ) + ) + chan = chan // 2 + self.decoders.append( + EmbedSequential( + *[NAFBlock(chan) for _ in range(num)] + ) + ) + + self.padder_size = 2 ** len(self.encoders) + self.emb = partial(gamma_embedding, dim=64) + self.map = nn.Sequential( + nn.Linear(64, 256), + nn.SiLU(), + nn.Linear(256, 256), + ) + + def forward(self, inp, gammas): + t = self.map(self.emb(gammas.view(-1, ))) + inp = self.check_image_size(inp) + + x1, x2, x3, x = inp.chunk(4, dim=1) + cond = torch.stack([x1, x2, x3], dim=1) + b, n, c, h, w = cond.shape + cond = cond.view(b*n, c, h, w) + x = self.intro(x) + cond = self.cond_intro(cond) + + + encs = [] + + for encoder, down, cond_encoder, cond_down in zip(self.encoders, self.downs, self.cond_encoders, self.cond_downs): + x = encoder(x, t) + cond = cond_encoder(cond) + b, c, h, w = cond.shape + tmp_cond = cond.view(b//3, 3, c, h, w).sum(dim=1) + x = x + tmp_cond + encs.append(x) + x = down(x) + cond = cond_down(cond) + + x = self.middle_blks(x, t) + + for decoder, up, enc_skip in zip(self.decoders, self.ups, encs[::-1]): + x = up(x) + x = x + enc_skip + x = decoder(x, t) + + x = self.ending(x) + # x = x + self.inp_ending(inp) + + + return x + + def check_image_size(self, x): + _, _, h, w = x.size() + mod_pad_h = (self.padder_size - h % + self.padder_size) % self.padder_size + mod_pad_w = (self.padder_size - w % + self.padder_size) % self.padder_size + x = F.pad(x, (0, mod_pad_w, 0, mod_pad_h)) + return x + + +if __name__ == '__main__': + # img_channel = 5 + # width = 32 + + # # enc_blks = [2, 2, 4, 8] + # # middle_blk_num = 12 + # # dec_blks = [2, 2, 2, 2] + + # enc_blks = [1, 1, 1, 28] + # middle_blk_num = 1 + # dec_blks = [1, 1, 1, 1] + + # net = NAFNet( + # img_channel=img_channel, + # width=width, + # middle_blk_num=middle_blk_num, + # enc_blk_nums=enc_blks, + # dec_blk_nums=dec_blks, + # ) + + # inp_shape = (2, 5, 64, 64) + + # out_shape = net(torch.Tensor(*inp_shape)).shape + + # print(out_shape) + # print(UNet()) + print(UNet()(*(torch.Tensor(1, 12, 256, 256), torch.ones(1,))).shape) + from thop import profile + from thop import clever_format + net = UNet() + flops, params = profile(net, inputs=(torch.Tensor(1, 12, 256, 256), torch.ones(1,))) + flops, params = clever_format([flops, params], "%.3f") + print(flops, params) # 154.582G 36.579M \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/ours/nafnet_newca_noinp.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/ours/nafnet_newca_noinp.py new file mode 100644 index 0000000000000000000000000000000000000000..c402d877df3f2eae2b1b9cf02d2c1c7fb51c0128 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/ours/nafnet_newca_noinp.py @@ -0,0 +1,308 @@ +import torch +import torch.nn as nn +import torch.nn.functional as F +from functools import partial +import math +from abc import abstractmethod + +class EmbedBlock(nn.Module): + """ + Any module where forward() takes embeddings as a second argument. + """ + + @abstractmethod + def forward(self, x, emb): + """ + Apply the module to `x` given `emb` embeddings. + """ + + +class EmbedSequential(nn.Sequential, EmbedBlock): + """ + A sequential module that passes embeddings to the children that + support it as an extra input. + """ + + def forward(self, x, emb): + for layer in self: + if isinstance(layer, EmbedBlock): + x = layer(x, emb) + else: + x = layer(x) + return x + +def gamma_embedding(gammas, dim, max_period=10000): + """ + Create sinusoidal timestep embeddings. + :param gammas: a 1-D Tensor of N indices, one per batch element. + These may be fractional. + :param dim: the dimension of the output. + :param max_period: controls the minimum frequency of the embeddings. + :return: an [N x dim] Tensor of positional embeddings. + """ + half = dim // 2 + freqs = torch.exp( + -math.log(max_period) * torch.arange(start=0, + end=half, dtype=torch.float32) / half + ).to(device=gammas.device) + args = gammas[:, None].float() * freqs[None] + embedding = torch.cat([torch.cos(args), torch.sin(args)], dim=-1) + if dim % 2: + embedding = torch.cat( + [embedding, torch.zeros_like(embedding[:, :1])], dim=-1) + return embedding + + +class LayerNormFunction(torch.autograd.Function): + + @staticmethod + def forward(ctx, x, weight, bias, eps): + ctx.eps = eps + N, C, H, W = x.size() + mu = x.mean(1, keepdim=True) + var = (x - mu).pow(2).mean(1, keepdim=True) + y = (x - mu) / (var + eps).sqrt() + ctx.save_for_backward(y, var, weight) + y = weight.view(1, C, 1, 1) * y + bias.view(1, C, 1, 1) + return y + + @staticmethod + def backward(ctx, grad_output): + eps = ctx.eps + + N, C, H, W = grad_output.size() + y, var, weight = ctx.saved_variables + g = grad_output * weight.view(1, C, 1, 1) + mean_g = g.mean(dim=1, keepdim=True) + + mean_gy = (g * y).mean(dim=1, keepdim=True) + gx = 1. / torch.sqrt(var + eps) * (g - y * mean_gy - mean_g) + return gx, (grad_output * y).sum(dim=3).sum(dim=2).sum(dim=0), grad_output.sum(dim=3).sum(dim=2).sum( + dim=0), None + + +class LayerNorm2d(nn.Module): + + def __init__(self, channels, eps=1e-6): + super(LayerNorm2d, self).__init__() + self.register_parameter('weight', nn.Parameter(torch.ones(channels))) + self.register_parameter('bias', nn.Parameter(torch.zeros(channels))) + self.eps = eps + + def forward(self, x): + return LayerNormFunction.apply(x, self.weight, self.bias, self.eps) + + +class SimpleGate(nn.Module): + def forward(self, x): + x1, x2 = x.chunk(2, dim=1) + return x1 * x2 + + +class NAFBlock(EmbedBlock): + def __init__(self, c, DW_Expand=2, FFN_Expand=2, drop_out_rate=0.): + super().__init__() + dw_channel = c * DW_Expand + self.conv1 = nn.Conv2d(in_channels=c, out_channels=dw_channel, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + self.conv2 = nn.Conv2d(in_channels=dw_channel, out_channels=dw_channel, kernel_size=3, padding=1, stride=1, groups=dw_channel, + bias=True) + self.conv3 = nn.Conv2d(in_channels=dw_channel // 2, out_channels=c, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + # Simplified Channel Attention + self.sca_avg = nn.Sequential( + nn.AdaptiveAvgPool2d(1), + nn.Conv2d(in_channels=dw_channel // 2, out_channels=dw_channel // 2, kernel_size=1, padding=0, stride=1, + groups=1, bias=True), + ) + self.sca_max = nn.Sequential( + nn.AdaptiveMaxPool2d(1), + nn.Conv2d(in_channels=dw_channel // 2, out_channels=dw_channel // 2, kernel_size=1, padding=0, stride=1, + groups=1, bias=True), + ) + + # SimpleGate + self.sg = SimpleGate() + + ffn_channel = FFN_Expand * c + self.conv4 = nn.Conv2d(in_channels=c, out_channels=ffn_channel, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + self.conv5 = nn.Conv2d(in_channels=ffn_channel // 2, out_channels=c, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + self.norm1 = LayerNorm2d(c) + self.norm2 = LayerNorm2d(c) + + self.dropout1 = nn.Dropout( + drop_out_rate) if drop_out_rate > 0. else nn.Identity() + self.dropout2 = nn.Dropout( + drop_out_rate) if drop_out_rate > 0. else nn.Identity() + + self.beta = nn.Parameter(torch.zeros((1, c, 1, 1)), requires_grad=True) + self.gamma = nn.Parameter(torch.zeros( + (1, c, 1, 1)), requires_grad=True) + self.time_emb = nn.Sequential( + nn.SiLU(), + nn.Linear(256, c), + ) + + def forward(self, inp, t): + x = inp + + x = self.norm1(x) + + x = self.conv1(x) + x = self.conv2(x) + x = self.sg(x) + x = x * (self.sca_avg(x)+self.sca_max(x)) + x = self.conv3(x) + + x = self.dropout1(x) + + y = inp + x * self.beta + + y = y+self.time_emb(t)[..., None, None] + + x = self.conv4(self.norm2(y)) + x = self.sg(x) + x = self.conv5(x) + + x = self.dropout2(x) + + return y + x * self.gamma + + +class UNet(nn.Module): + + def __init__( + self, + img_channel=12, + width=64, + middle_blk_num=1, + enc_blk_nums=[1, 1, 1, 1], + dec_blk_nums=[1, 1, 1, 1], + ): + super().__init__() + + self.intro = nn.Conv2d(in_channels=img_channel, out_channels=width, kernel_size=3, padding=1, stride=1, groups=1, + bias=True) + self.ending = nn.Conv2d(in_channels=width, out_channels=3, kernel_size=3, padding=1, stride=1, groups=1, + bias=True) + # self.inp_ending = nn.Conv2d(in_channels=img_channel, out_channels=3, kernel_size=3, padding=1, stride=1, groups=1, + # bias=True) + + self.encoders = nn.ModuleList() + self.decoders = nn.ModuleList() + self.middle_blks = nn.ModuleList() + self.ups = nn.ModuleList() + self.downs = nn.ModuleList() + + chan = width + for num in enc_blk_nums: + self.encoders.append( + EmbedSequential( + *[NAFBlock(chan) for _ in range(num)] + ) + ) + self.downs.append( + nn.Conv2d(chan, 2*chan, 2, 2) + ) + chan = chan * 2 + + self.middle_blks = \ + EmbedSequential( + *[NAFBlock(chan) for _ in range(middle_blk_num)] + ) + + for num in dec_blk_nums: + self.ups.append( + nn.Sequential( + nn.Conv2d(chan, chan * 2, 1, bias=False), + nn.PixelShuffle(2) + ) + ) + chan = chan // 2 + self.decoders.append( + EmbedSequential( + *[NAFBlock(chan) for _ in range(num)] + ) + ) + + self.padder_size = 2 ** len(self.encoders) + self.emb = partial(gamma_embedding, dim=64) + self.map = nn.Sequential( + nn.Linear(64, 256), + nn.SiLU(), + nn.Linear(256, 256), + ) + + def forward(self, inp, gammas): + t = self.map(self.emb(gammas.view(-1, ))) + B, C, H, W = inp.shape + inp = self.check_image_size(inp) + + x = self.intro(inp) + + encs = [] + + for encoder, down in zip(self.encoders, self.downs): + x = encoder(x, t) + encs.append(x) + x = down(x) + + x = self.middle_blks(x, t) + + for decoder, up, enc_skip in zip(self.decoders, self.ups, encs[::-1]): + x = up(x) + x = x + enc_skip + x = decoder(x, t) + + x = self.ending(x) + # x = x + self.inp_ending(inp) + + return x[:, :, :H, :W] + + def check_image_size(self, x): + _, _, h, w = x.size() + mod_pad_h = (self.padder_size - h % + self.padder_size) % self.padder_size + mod_pad_w = (self.padder_size - w % + self.padder_size) % self.padder_size + x = F.pad(x, (0, mod_pad_w, 0, mod_pad_h)) + return x + + +if __name__ == '__main__': + # img_channel = 5 + # width = 32 + + # # enc_blks = [2, 2, 4, 8] + # # middle_blk_num = 12 + # # dec_blks = [2, 2, 2, 2] + + # enc_blks = [1, 1, 1, 28] + # middle_blk_num = 1 + # dec_blks = [1, 1, 1, 1] + + # net = NAFNet( + # img_channel=img_channel, + # width=width, + # middle_blk_num=middle_blk_num, + # enc_blk_nums=enc_blks, + # dec_blk_nums=dec_blks, + # ) + + # inp_shape = (2, 5, 64, 64) + + # out_shape = net(torch.Tensor(*inp_shape)).shape + + # print(out_shape) + # print(UNet()) + # print(UNet()(*(torch.Tensor(1, 12, 256, 256), torch.ones(1,))).shape) + from thop import profile + from thop import clever_format + net = UNet(width=64, enc_blk_nums=[1,1,1,1], dec_blk_nums=[1,1,1,1]) + flops, params = profile(net, inputs=(torch.Tensor(1, 12, 256, 256), torch.ones(1,))) + flops, params = clever_format([flops, params], "%.3f") + print(params, flops) \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/ours/nafnet_nosca_silu.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/ours/nafnet_nosca_silu.py new file mode 100644 index 0000000000000000000000000000000000000000..4d8039ddd372a54e307304b13e10c1313c7684e4 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/ours/nafnet_nosca_silu.py @@ -0,0 +1,302 @@ +import torch +import torch.nn as nn +import torch.nn.functional as F +from functools import partial +import math +from abc import abstractmethod + +class EmbedBlock(nn.Module): + """ + Any module where forward() takes embeddings as a second argument. + """ + + @abstractmethod + def forward(self, x, emb): + """ + Apply the module to `x` given `emb` embeddings. + """ + + +class EmbedSequential(nn.Sequential, EmbedBlock): + """ + A sequential module that passes embeddings to the children that + support it as an extra input. + """ + + def forward(self, x, emb): + for layer in self: + if isinstance(layer, EmbedBlock): + x = layer(x, emb) + else: + x = layer(x) + return x + +def gamma_embedding(gammas, dim, max_period=10000): + """ + Create sinusoidal timestep embeddings. + :param gammas: a 1-D Tensor of N indices, one per batch element. + These may be fractional. + :param dim: the dimension of the output. + :param max_period: controls the minimum frequency of the embeddings. + :return: an [N x dim] Tensor of positional embeddings. + """ + half = dim // 2 + freqs = torch.exp( + -math.log(max_period) * torch.arange(start=0, + end=half, dtype=torch.float32) / half + ).to(device=gammas.device) + args = gammas[:, None].float() * freqs[None] + embedding = torch.cat([torch.cos(args), torch.sin(args)], dim=-1) + if dim % 2: + embedding = torch.cat( + [embedding, torch.zeros_like(embedding[:, :1])], dim=-1) + return embedding + + +class LayerNormFunction(torch.autograd.Function): + + @staticmethod + def forward(ctx, x, weight, bias, eps): + ctx.eps = eps + N, C, H, W = x.size() + mu = x.mean(1, keepdim=True) + var = (x - mu).pow(2).mean(1, keepdim=True) + y = (x - mu) / (var + eps).sqrt() + ctx.save_for_backward(y, var, weight) + y = weight.view(1, C, 1, 1) * y + bias.view(1, C, 1, 1) + return y + + @staticmethod + def backward(ctx, grad_output): + eps = ctx.eps + + N, C, H, W = grad_output.size() + y, var, weight = ctx.saved_variables + g = grad_output * weight.view(1, C, 1, 1) + mean_g = g.mean(dim=1, keepdim=True) + + mean_gy = (g * y).mean(dim=1, keepdim=True) + gx = 1. / torch.sqrt(var + eps) * (g - y * mean_gy - mean_g) + return gx, (grad_output * y).sum(dim=3).sum(dim=2).sum(dim=0), grad_output.sum(dim=3).sum(dim=2).sum( + dim=0), None + + +class LayerNorm2d(nn.Module): + + def __init__(self, channels, eps=1e-6): + super(LayerNorm2d, self).__init__() + self.register_parameter('weight', nn.Parameter(torch.ones(channels))) + self.register_parameter('bias', nn.Parameter(torch.zeros(channels))) + self.eps = eps + + def forward(self, x): + return LayerNormFunction.apply(x, self.weight, self.bias, self.eps) + + +class SimpleGate(nn.Module): + def forward(self, x): + x1, x2 = x.chunk(2, dim=1) + return x1 * x2 + + +class NAFBlock(EmbedBlock): + def __init__(self, c, DW_Expand=2, FFN_Expand=2, drop_out_rate=0.): + super().__init__() + dw_channel = c * DW_Expand + self.conv1 = nn.Conv2d(in_channels=c, out_channels=dw_channel, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + self.conv2 = nn.Conv2d(in_channels=dw_channel, out_channels=dw_channel, kernel_size=3, padding=1, stride=1, groups=dw_channel, + bias=True) + self.conv3 = nn.Conv2d(in_channels=dw_channel, out_channels=c, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + # Simplified Channel Attention + # self.sca = nn.Sequential( + # nn.AdaptiveAvgPool2d(1), + # nn.Conv2d(in_channels=dw_channel // 2, out_channels=dw_channel // 2, kernel_size=1, padding=0, stride=1, + # groups=1, bias=True), + # ) + + # SimpleGate + self.sg = nn.SiLU() + + ffn_channel = FFN_Expand * c + self.conv4 = nn.Conv2d(in_channels=c, out_channels=ffn_channel, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + self.conv5 = nn.Conv2d(in_channels=ffn_channel, out_channels=c, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + self.norm1 = LayerNorm2d(c) + self.norm2 = LayerNorm2d(c) + + self.dropout1 = nn.Dropout( + drop_out_rate) if drop_out_rate > 0. else nn.Identity() + self.dropout2 = nn.Dropout( + drop_out_rate) if drop_out_rate > 0. else nn.Identity() + + self.beta = nn.Parameter(torch.zeros((1, c, 1, 1)), requires_grad=True) + self.gamma = nn.Parameter(torch.zeros( + (1, c, 1, 1)), requires_grad=True) + self.time_emb = nn.Sequential( + nn.SiLU(), + nn.Linear(256, c), + ) + + def forward(self, inp, t): + x = inp + + x = self.norm1(x) + + x = self.conv1(x) + x = self.conv2(x) + # x = x * self.sca(x) + x = self.conv3(x) + + x = self.dropout1(x) + + y = inp + x * self.beta + + y = y+self.time_emb(t)[..., None, None] + + x = self.conv4(self.norm2(y)) + x = self.sg(x) + x = self.conv5(x) + + x = self.dropout2(x) + + return y + x * self.gamma + + +class UNet(nn.Module): + + def __init__( + self, + img_channel=12, + width=64, + middle_blk_num=1, + enc_blk_nums=[1, 1, 1, 1], + dec_blk_nums=[1, 1, 1, 1], + ): + super().__init__() + + self.intro = nn.Conv2d(in_channels=img_channel, out_channels=width, kernel_size=3, padding=1, stride=1, groups=1, + bias=True) + self.ending = nn.Conv2d(in_channels=width, out_channels=3, kernel_size=3, padding=1, stride=1, groups=1, + bias=True) + # self.inp_ending = nn.Conv2d(in_channels=img_channel, out_channels=3, kernel_size=3, padding=1, stride=1, groups=1, + # bias=True) + + self.encoders = nn.ModuleList() + self.decoders = nn.ModuleList() + self.middle_blks = nn.ModuleList() + self.ups = nn.ModuleList() + self.downs = nn.ModuleList() + + chan = width + for num in enc_blk_nums: + self.encoders.append( + EmbedSequential( + *[NAFBlock(chan) for _ in range(num)] + ) + ) + self.downs.append( + nn.Conv2d(chan, 2*chan, 2, 2) + ) + chan = chan * 2 + + self.middle_blks = \ + EmbedSequential( + *[NAFBlock(chan) for _ in range(middle_blk_num)] + ) + + for num in dec_blk_nums: + self.ups.append( + nn.Sequential( + nn.Conv2d(chan, chan * 2, 1, bias=False), + nn.PixelShuffle(2) + ) + ) + chan = chan // 2 + self.decoders.append( + EmbedSequential( + *[NAFBlock(chan) for _ in range(num)] + ) + ) + + self.padder_size = 2 ** len(self.encoders) + self.emb = partial(gamma_embedding, dim=64) + self.map = nn.Sequential( + nn.Linear(64, 256), + nn.SiLU(), + nn.Linear(256, 256), + ) + + def forward(self, inp, gammas): + t = self.map(self.emb(gammas.view(-1, ))) + B, C, H, W = inp.shape + inp = self.check_image_size(inp) + + x = self.intro(inp) + + encs = [] + + for encoder, down in zip(self.encoders, self.downs): + x = encoder(x, t) + encs.append(x) + x = down(x) + + x = self.middle_blks(x, t) + + for decoder, up, enc_skip in zip(self.decoders, self.ups, encs[::-1]): + x = up(x) + x = x + enc_skip + x = decoder(x, t) + + x = self.ending(x) + # x = x + self.inp_ending(inp) + + return x[:, :, :H, :W] + + def check_image_size(self, x): + _, _, h, w = x.size() + mod_pad_h = (self.padder_size - h % + self.padder_size) % self.padder_size + mod_pad_w = (self.padder_size - w % + self.padder_size) % self.padder_size + x = F.pad(x, (0, mod_pad_w, 0, mod_pad_h)) + return x + + +if __name__ == '__main__': + # img_channel = 5 + # width = 32 + + # # enc_blks = [2, 2, 4, 8] + # # middle_blk_num = 12 + # # dec_blks = [2, 2, 2, 2] + + # enc_blks = [1, 1, 1, 28] + # middle_blk_num = 1 + # dec_blks = [1, 1, 1, 1] + + # net = NAFNet( + # img_channel=img_channel, + # width=width, + # middle_blk_num=middle_blk_num, + # enc_blk_nums=enc_blks, + # dec_blk_nums=dec_blks, + # ) + + # inp_shape = (2, 5, 64, 64) + + # out_shape = net(torch.Tensor(*inp_shape)).shape + + # print(out_shape) + # print(UNet()) + # print(UNet()(*(torch.Tensor(1, 12, 256, 256), torch.ones(1,))).shape) + from thop import profile + from thop import clever_format + net = UNet(width=64, enc_blk_nums=[1,1,1,1], dec_blk_nums=[1,1,1,1]) + flops, params = profile(net, inputs=(torch.Tensor(1, 12, 256, 256), torch.ones(1,))) + flops, params = clever_format([flops, params], "%.3f") + print(flops, params) \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/ours/nafnet_ours.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/ours/nafnet_ours.py new file mode 100644 index 0000000000000000000000000000000000000000..745b8309d51e2b859dfcea27b36c357e956730f2 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/ours/nafnet_ours.py @@ -0,0 +1,308 @@ +import torch +import torch.nn as nn +import torch.nn.functional as F +from functools import partial +import math +from abc import abstractmethod + + +class EmbedBlock(nn.Module): + """ + Any module where forward() takes embeddings as a second argument. + """ + + @abstractmethod + def forward(self, x, emb): + """ + Apply the module to `x` given `emb` embeddings. + """ + + +class EmbedSequential(nn.Sequential, EmbedBlock): + """ + A sequential module that passes embeddings to the children that + support it as an extra input. + """ + + def forward(self, x, emb): + for layer in self: + if isinstance(layer, EmbedBlock): + x = layer(x, emb) + else: + x = layer(x) + return x + + +def gamma_embedding(gammas, dim, max_period=10000): + """ + Create sinusoidal timestep embeddings. + :param gammas: a 1-D Tensor of N indices, one per batch element. + These may be fractional. + :param dim: the dimension of the output. + :param max_period: controls the minimum frequency of the embeddings. + :return: an [N x dim] Tensor of positional embeddings. + """ + half = dim // 2 + freqs = torch.exp( + -math.log(max_period) * torch.arange(start=0, + end=half, dtype=torch.float32) / half + ).to(device=gammas.device) + args = gammas[:, None].float() * freqs[None] + embedding = torch.cat([torch.cos(args), torch.sin(args)], dim=-1) + if dim % 2: + embedding = torch.cat( + [embedding, torch.zeros_like(embedding[:, :1])], dim=-1) + return embedding + + +class LayerNormFunction(torch.autograd.Function): + + @staticmethod + def forward(ctx, x, weight, bias, eps): + ctx.eps = eps + N, C, H, W = x.size() + mu = x.mean(1, keepdim=True) + var = (x - mu).pow(2).mean(1, keepdim=True) + y = (x - mu) / (var + eps).sqrt() + ctx.save_for_backward(y, var, weight) + y = weight.view(1, C, 1, 1) * y + bias.view(1, C, 1, 1) + return y + + @staticmethod + def backward(ctx, grad_output): + eps = ctx.eps + + N, C, H, W = grad_output.size() + y, var, weight = ctx.saved_variables + g = grad_output * weight.view(1, C, 1, 1) + mean_g = g.mean(dim=1, keepdim=True) + + mean_gy = (g * y).mean(dim=1, keepdim=True) + gx = 1. / torch.sqrt(var + eps) * (g - y * mean_gy - mean_g) + return gx, (grad_output * y).sum(dim=3).sum(dim=2).sum(dim=0), grad_output.sum(dim=3).sum(dim=2).sum( + dim=0), None + + +class LayerNorm2d(nn.Module): + + def __init__(self, channels, eps=1e-6): + super(LayerNorm2d, self).__init__() + self.register_parameter('weight', nn.Parameter(torch.ones(channels))) + self.register_parameter('bias', nn.Parameter(torch.zeros(channels))) + self.eps = eps + + def forward(self, x): + return LayerNormFunction.apply(x, self.weight, self.bias, self.eps) + + +class SimpleGate(nn.Module): + def forward(self, x): + x1, x2 = x.chunk(2, dim=1) + return x1 * x2 + + +class NAFBlock(EmbedBlock): + def __init__(self, c, DW_Expand=2, FFN_Expand=4, drop_out_rate=0.): + super().__init__() + dw_channel = c * DW_Expand + # self.conv1 = nn.Conv2d(in_channels=c, out_channels=dw_channel, + # kernel_size=1, padding=0, stride=1, groups=1, bias=True) + # self.conv2 = nn.Conv2d(in_channels=dw_channel, out_channels=dw_channel, kernel_size=3, padding=1, stride=1, groups=dw_channel, + # bias=True) + # self.conv3 = nn.Conv2d(in_channels=dw_channel // 2, out_channels=c, + # kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + # # Simplified Channel Attention + # self.sca = nn.Sequential( + # nn.AdaptiveAvgPool2d(1), + # nn.Conv2d(in_channels=dw_channel // 2, out_channels=dw_channel // 2, kernel_size=1, padding=0, stride=1, + # groups=1, bias=True), + # ) + + # # SimpleGate + self.sg = nn.SiLU() + self.dwconv = nn.Conv2d(in_channels=c, out_channels=c, kernel_size=3, padding=1, stride=1, groups=c) + + ffn_channel = FFN_Expand * c + self.conv4 = nn.Conv2d(in_channels=c, out_channels=ffn_channel, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + self.conv5 = nn.Conv2d(in_channels=ffn_channel, out_channels=c, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + self.norm1 = LayerNorm2d(c) + self.norm2 = LayerNorm2d(c) + + self.dropout1 = nn.Dropout( + drop_out_rate) if drop_out_rate > 0. else nn.Identity() + self.dropout2 = nn.Dropout( + drop_out_rate) if drop_out_rate > 0. else nn.Identity() + + self.beta = nn.Parameter(torch.zeros((1, c, 1, 1)), requires_grad=True) + self.gamma = nn.Parameter(torch.zeros( + (1, c, 1, 1)), requires_grad=True) + self.time_emb = nn.Sequential( + nn.SiLU(), + nn.Linear(256, c), + ) + + def forward(self, inp, t): + x = inp + + x = self.norm1(x) + + # x = self.conv1(x) + # x = self.conv2(x) + # x = self.sg(x) + # x = x * self.sca(x) + # x = self.conv3(x) + x = self.dwconv(x) # replace 1 + + x = self.dropout1(x) + + y = inp + x * self.beta + + y = y+self.time_emb(t)[..., None, None] + + x = self.conv4(self.norm2(y)) + x = self.sg(x) # replace 2 + x = self.conv5(x) + + x = self.dropout2(x) + + return y + x * self.gamma + + +class UNet(nn.Module): + + def __init__( + self, + img_channel=12, + width=64, + middle_blk_num=1, + enc_blk_nums=[1, 1, 1, 1], + dec_blk_nums=[1, 1, 1, 1], + ): + super().__init__() + + self.intro = nn.Conv2d(in_channels=img_channel, out_channels=width, kernel_size=3, padding=1, stride=1, groups=1, + bias=True) + self.ending = nn.Conv2d(in_channels=width, out_channels=3, kernel_size=3, padding=1, stride=1, groups=1, + bias=True) + # self.inp_ending = nn.Conv2d(in_channels=img_channel, out_channels=3, kernel_size=3, padding=1, stride=1, groups=1, + # bias=True) + + self.encoders = nn.ModuleList() + self.decoders = nn.ModuleList() + self.middle_blks = nn.ModuleList() + self.ups = nn.ModuleList() + self.downs = nn.ModuleList() + + chan = width + for num in enc_blk_nums: + self.encoders.append( + EmbedSequential( + *[NAFBlock(chan) for _ in range(num)] + ) + ) + self.downs.append( + nn.Conv2d(chan, 2*chan, 2, 2) + ) + chan = chan * 2 + + self.middle_blks = \ + EmbedSequential( + *[NAFBlock(chan) for _ in range(middle_blk_num)] + ) + + for num in dec_blk_nums: + self.ups.append( + nn.Sequential( + nn.Conv2d(chan, chan * 2, 1, bias=False), + nn.PixelShuffle(2) + ) + ) + chan = chan // 2 + self.decoders.append( + EmbedSequential( + *[NAFBlock(chan) for _ in range(num)] + ) + ) + + self.padder_size = 2 ** len(self.encoders) + self.emb = partial(gamma_embedding, dim=64) + self.map = nn.Sequential( + nn.Linear(64, 256), + nn.SiLU(), + nn.Linear(256, 256), + ) + + def forward(self, inp, gammas): + t = self.map(self.emb(gammas.view(-1, ))) + B, C, H, W = inp.shape + inp = self.check_image_size(inp) + + x = self.intro(inp) + + encs = [] + + for encoder, down in zip(self.encoders, self.downs): + x = encoder(x, t) + encs.append(x) + x = down(x) + + x = self.middle_blks(x, t) + + for decoder, up, enc_skip in zip(self.decoders, self.ups, encs[::-1]): + x = up(x) + x = x + enc_skip + x = decoder(x, t) + + x = self.ending(x) + # x = x + self.inp_ending(inp) + + return x[:, :, :H, :W] + + def check_image_size(self, x): + _, _, h, w = x.size() + mod_pad_h = (self.padder_size - h % + self.padder_size) % self.padder_size + mod_pad_w = (self.padder_size - w % + self.padder_size) % self.padder_size + x = F.pad(x, (0, mod_pad_w, 0, mod_pad_h)) + return x + + +if __name__ == '__main__': + # img_channel = 5 + # width = 32 + + # # enc_blks = [2, 2, 4, 8] + # # middle_blk_num = 12 + # # dec_blks = [2, 2, 2, 2] + + # enc_blks = [1, 1, 1, 28] + # middle_blk_num = 1 + # dec_blks = [1, 1, 1, 1] + + # net = NAFNet( + # img_channel=img_channel, + # width=width, + # middle_blk_num=middle_blk_num, + # enc_blk_nums=enc_blks, + # dec_blk_nums=dec_blks, + # ) + + # inp_shape = (2, 5, 64, 64) + + # out_shape = net(torch.Tensor(*inp_shape)).shape + + # print(out_shape) + # print(UNet()) + print(UNet()(*(torch.Tensor(1, 12, 256, 256), torch.ones(1,))).shape) + from thop import profile + from thop import clever_format + net = UNet() + flops, params = profile(net, inputs=( + torch.Tensor(1, 12, 256, 256), torch.ones(1,))) + flops, params = clever_format([flops, params], "%.3f") + print(flops, params) diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/ours/nafnet_res_noinp.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/ours/nafnet_res_noinp.py new file mode 100644 index 0000000000000000000000000000000000000000..99e4269e6bda07068972d228afdc431a17627412 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/ours/nafnet_res_noinp.py @@ -0,0 +1,348 @@ +import torch +import torch.nn as nn +import torch.nn.functional as F +from functools import partial +import math +from abc import abstractmethod + +class GroupNorm32(nn.GroupNorm): + def forward(self, x): + return super().forward(x.float()).type(x.dtype) + + +def zero_module(module): + """ + Zero out the parameters of a module and return it. + """ + for p in module.parameters(): + p.detach().zero_() + return module + + +def scale_module(module, scale): + """ + Scale the parameters of a module and return it. + """ + for p in module.parameters(): + p.detach().mul_(scale) + return module + + +def mean_flat(tensor): + """ + Take the mean over all non-batch dimensions. + """ + return tensor.mean(dim=list(range(1, len(tensor.shape)))) + + +def normalization(channels): + """ + Make a standard normalization layer. + + :param channels: number of input channels. + :return: an nn.Module for normalization. + """ + return GroupNorm32(32, channels) + +class EmbedBlock(nn.Module): + """ + Any module where forward() takes embeddings as a second argument. + """ + + @abstractmethod + def forward(self, x, emb): + """ + Apply the module to `x` given `emb` embeddings. + """ + + +class EmbedSequential(nn.Sequential, EmbedBlock): + """ + A sequential module that passes embeddings to the children that + support it as an extra input. + """ + + def forward(self, x, emb): + for layer in self: + if isinstance(layer, EmbedBlock): + x = layer(x, emb) + else: + x = layer(x) + return x + + +def gamma_embedding(gammas, dim, max_period=10000): + """ + Create sinusoidal timestep embeddings. + :param gammas: a 1-D Tensor of N indices, one per batch element. + These may be fractional. + :param dim: the dimension of the output. + :param max_period: controls the minimum frequency of the embeddings. + :return: an [N x dim] Tensor of positional embeddings. + """ + half = dim // 2 + freqs = torch.exp( + -math.log(max_period) * torch.arange(start=0, + end=half, dtype=torch.float32) / half + ).to(device=gammas.device) + args = gammas[:, None].float() * freqs[None] + embedding = torch.cat([torch.cos(args), torch.sin(args)], dim=-1) + if dim % 2: + embedding = torch.cat( + [embedding, torch.zeros_like(embedding[:, :1])], dim=-1) + return embedding + + +class LayerNormFunction(torch.autograd.Function): + + @staticmethod + def forward(ctx, x, weight, bias, eps): + ctx.eps = eps + N, C, H, W = x.size() + mu = x.mean(1, keepdim=True) + var = (x - mu).pow(2).mean(1, keepdim=True) + y = (x - mu) / (var + eps).sqrt() + ctx.save_for_backward(y, var, weight) + y = weight.view(1, C, 1, 1) * y + bias.view(1, C, 1, 1) + return y + + @staticmethod + def backward(ctx, grad_output): + eps = ctx.eps + + N, C, H, W = grad_output.size() + y, var, weight = ctx.saved_variables + g = grad_output * weight.view(1, C, 1, 1) + mean_g = g.mean(dim=1, keepdim=True) + + mean_gy = (g * y).mean(dim=1, keepdim=True) + gx = 1. / torch.sqrt(var + eps) * (g - y * mean_gy - mean_g) + return gx, (grad_output * y).sum(dim=3).sum(dim=2).sum(dim=0), grad_output.sum(dim=3).sum(dim=2).sum( + dim=0), None + + +class LayerNorm2d(nn.Module): + + def __init__(self, channels, eps=1e-6): + super(LayerNorm2d, self).__init__() + self.register_parameter('weight', nn.Parameter(torch.ones(channels))) + self.register_parameter('bias', nn.Parameter(torch.zeros(channels))) + self.eps = eps + + def forward(self, x): + return LayerNormFunction.apply(x, self.weight, self.bias, self.eps) + + +class SimpleGate(nn.Module): + def forward(self, x): + x1, x2 = x.chunk(2, dim=1) + return x1 * x2 + + +class NAFBlock(EmbedBlock): + def __init__(self, c, DW_Expand=2, FFN_Expand=4, drop_out_rate=0.): + super().__init__() + dw_channel = c * DW_Expand + # self.conv1 = nn.Conv2d(in_channels=c, out_channels=dw_channel, + # kernel_size=1, padding=0, stride=1, groups=1, bias=True) + # self.conv2 = nn.Conv2d(in_channels=dw_channel, out_channels=dw_channel, kernel_size=3, padding=1, stride=1, groups=dw_channel, + # bias=True) + # self.conv3 = nn.Conv2d(in_channels=dw_channel // 2, out_channels=c, + # kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + # # Simplified Channel Attention + # self.sca = nn.Sequential( + # nn.AdaptiveAvgPool2d(1), + # nn.Conv2d(in_channels=dw_channel // 2, out_channels=dw_channel // 2, kernel_size=1, padding=0, stride=1, + # groups=1, bias=True), + # ) + + # # SimpleGate + self.sg1 = nn.SiLU() + self.sg2 = nn.SiLU() + # self.dwconv = nn.Conv2d(in_channels=c, out_channels=c, kernel_size=3, padding=1, stride=1, groups=c) + + # ffn_channel = FFN_Expand * c + # self.conv4 = nn.Conv2d(in_channels=c, out_channels=ffn_channel, + # kernel_size=1, padding=0, stride=1, groups=1, bias=True) + # self.conv5 = nn.Conv2d(in_channels=ffn_channel, out_channels=c, + # kernel_size=1, padding=0, stride=1, groups=1, bias=True) + self.conv1 = nn.Conv2d(in_channels=c, out_channels=c, kernel_size=3, padding=1, stride=1) + self.conv2 = nn.Conv2d(in_channels=c, out_channels=c, kernel_size=3, padding=1, stride=1) + # self.conv3 = nn.Conv2d(in_channels=c, out_channels=c, kernel_size=1) + + self.norm1 = normalization(c) + self.norm2 = normalization(c) + + # self.dropout1 = nn.Dropout( + # drop_out_rate) if drop_out_rate > 0. else nn.Identity() + # self.dropout2 = nn.Dropout( + # drop_out_rate) if drop_out_rate > 0. else nn.Identity() + + # self.beta = nn.Parameter(torch.zeros((1, c, 1, 1)), requires_grad=True) + # self.gamma = nn.Parameter(torch.zeros( + # (1, c, 1, 1)), requires_grad=True) + self.time_emb = nn.Sequential( + nn.SiLU(), + nn.Linear(256, c), + ) + + def forward(self, inp, t): + x = inp + + x = self.norm1(x) + x = self.sg1(x) + # x = self.conv1(x) + # x = self.conv2(x) + # x = self.sg(x) + # x = x * self.sca(x) + # x = self.conv3(x) + x = self.conv1(x) # replace 1 + + # x = self.dropout1(x) + + # y = inp + x * self.beta + + y = x+self.time_emb(t)[..., None, None] + + x = self.norm2(y) + x = self.sg2(x) # replace 2 + x = self.conv2(x) + + return x+inp + + +class UNet(nn.Module): + + def __init__( + self, + img_channel=12, + width=64, + middle_blk_num=1, + enc_blk_nums=[1, 1, 1, 1], + dec_blk_nums=[1, 1, 1, 1], + ): + super().__init__() + + self.intro = nn.Conv2d(in_channels=img_channel, out_channels=width, kernel_size=3, padding=1, stride=1, groups=1, + bias=True) + self.ending = nn.Conv2d(in_channels=width, out_channels=3, kernel_size=3, padding=1, stride=1, groups=1, + bias=True) + # self.inp_ending = nn.Conv2d(in_channels=img_channel, out_channels=3, kernel_size=3, padding=1, stride=1, groups=1, + # bias=True) + + self.encoders = nn.ModuleList() + self.decoders = nn.ModuleList() + self.middle_blks = nn.ModuleList() + self.ups = nn.ModuleList() + self.downs = nn.ModuleList() + + chan = width + for num in enc_blk_nums: + self.encoders.append( + EmbedSequential( + *[NAFBlock(chan) for _ in range(num)] + ) + ) + self.downs.append( + nn.Conv2d(chan, 2*chan, 2, 2) + ) + chan = chan * 2 + + self.middle_blks = \ + EmbedSequential( + *[NAFBlock(chan) for _ in range(middle_blk_num)] + ) + + for num in dec_blk_nums: + self.ups.append( + nn.Sequential( + nn.Conv2d(chan, chan * 2, 1, bias=False), + nn.PixelShuffle(2) + ) + ) + chan = chan // 2 + self.decoders.append( + EmbedSequential( + *[NAFBlock(chan) for _ in range(num)] + ) + ) + + self.padder_size = 2 ** len(self.encoders) + self.emb = partial(gamma_embedding, dim=64) + self.map = nn.Sequential( + nn.Linear(64, 256), + nn.SiLU(), + nn.Linear(256, 256), + ) + + def forward(self, inp, gammas): + t = self.map(self.emb(gammas.view(-1, ))) + B, C, H, W = inp.shape + inp = self.check_image_size(inp) + + x = self.intro(inp) + + encs = [] + + for encoder, down in zip(self.encoders, self.downs): + x = encoder(x, t) + encs.append(x) + x = down(x) + + x = self.middle_blks(x, t) + + for decoder, up, enc_skip in zip(self.decoders, self.ups, encs[::-1]): + x = up(x) + x = x + enc_skip + x = decoder(x, t) + + x = self.ending(x) + # x = x + self.inp_ending(inp) + + return x[:, :, :H, :W] + + def check_image_size(self, x): + _, _, h, w = x.size() + mod_pad_h = (self.padder_size - h % + self.padder_size) % self.padder_size + mod_pad_w = (self.padder_size - w % + self.padder_size) % self.padder_size + x = F.pad(x, (0, mod_pad_w, 0, mod_pad_h)) + return x + + +if __name__ == '__main__': + # img_channel = 5 + # width = 32 + + # # enc_blks = [2, 2, 4, 8] + # # middle_blk_num = 12 + # # dec_blks = [2, 2, 2, 2] + + # enc_blks = [1, 1, 1, 28] + # middle_blk_num = 1 + # dec_blks = [1, 1, 1, 1] + + # net = NAFNet( + # img_channel=img_channel, + # width=width, + # middle_blk_num=middle_blk_num, + # enc_blk_nums=enc_blks, + # dec_blk_nums=dec_blks, + # ) + + # inp_shape = (2, 5, 64, 64) + + # out_shape = net(torch.Tensor(*inp_shape)).shape + + # print(out_shape) + # print(UNet()) + print(UNet()(*(torch.Tensor(1, 12, 256, 256), torch.ones(1,))).shape) + from thop import profile + from thop import clever_format + net = UNet() + flops, params = profile(net, inputs=( + torch.Tensor(1, 12, 256, 256), torch.ones(1,))) + flops, params = clever_format([flops, params], "%.3f") + print(flops, params) diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/ours/nafnet_reverseca_noinp.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/ours/nafnet_reverseca_noinp.py new file mode 100644 index 0000000000000000000000000000000000000000..cc77ab1ba90cf5ab91daaaff7f9c9377941d8e76 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/ours/nafnet_reverseca_noinp.py @@ -0,0 +1,305 @@ +import torch +import torch.nn as nn +import torch.nn.functional as F +from functools import partial +import math +from abc import abstractmethod + +class EmbedBlock(nn.Module): + """ + Any module where forward() takes embeddings as a second argument. + """ + + @abstractmethod + def forward(self, x, emb): + """ + Apply the module to `x` given `emb` embeddings. + """ + + +class EmbedSequential(nn.Sequential, EmbedBlock): + """ + A sequential module that passes embeddings to the children that + support it as an extra input. + """ + + def forward(self, x, emb): + for layer in self: + if isinstance(layer, EmbedBlock): + x = layer(x, emb) + else: + x = layer(x) + return x + +def gamma_embedding(gammas, dim, max_period=10000): + """ + Create sinusoidal timestep embeddings. + :param gammas: a 1-D Tensor of N indices, one per batch element. + These may be fractional. + :param dim: the dimension of the output. + :param max_period: controls the minimum frequency of the embeddings. + :return: an [N x dim] Tensor of positional embeddings. + """ + half = dim // 2 + freqs = torch.exp( + -math.log(max_period) * torch.arange(start=0, + end=half, dtype=torch.float32) / half + ).to(device=gammas.device) + args = gammas[:, None].float() * freqs[None] + embedding = torch.cat([torch.cos(args), torch.sin(args)], dim=-1) + if dim % 2: + embedding = torch.cat( + [embedding, torch.zeros_like(embedding[:, :1])], dim=-1) + return embedding + + +class LayerNormFunction(torch.autograd.Function): + + @staticmethod + def forward(ctx, x, weight, bias, eps): + ctx.eps = eps + N, C, H, W = x.size() + mu = x.mean(1, keepdim=True) + var = (x - mu).pow(2).mean(1, keepdim=True) + y = (x - mu) / (var + eps).sqrt() + ctx.save_for_backward(y, var, weight) + y = weight.view(1, C, 1, 1) * y + bias.view(1, C, 1, 1) + return y + + @staticmethod + def backward(ctx, grad_output): + eps = ctx.eps + + N, C, H, W = grad_output.size() + y, var, weight = ctx.saved_variables + g = grad_output * weight.view(1, C, 1, 1) + mean_g = g.mean(dim=1, keepdim=True) + + mean_gy = (g * y).mean(dim=1, keepdim=True) + gx = 1. / torch.sqrt(var + eps) * (g - y * mean_gy - mean_g) + return gx, (grad_output * y).sum(dim=3).sum(dim=2).sum(dim=0), grad_output.sum(dim=3).sum(dim=2).sum( + dim=0), None + + +class LayerNorm2d(nn.Module): + + def __init__(self, channels, eps=1e-6): + super(LayerNorm2d, self).__init__() + self.register_parameter('weight', nn.Parameter(torch.ones(channels))) + self.register_parameter('bias', nn.Parameter(torch.zeros(channels))) + self.eps = eps + + def forward(self, x): + return LayerNormFunction.apply(x, self.weight, self.bias, self.eps) + + +class SimpleGate(nn.Module): + def forward(self, x): + x1, x2 = x.chunk(2, dim=1) + return x1 * x2 + + +class NAFBlock(EmbedBlock): + def __init__(self, c, DW_Expand=2, FFN_Expand=2, drop_out_rate=0.): + super().__init__() + dw_channel = c * DW_Expand + self.conv1 = nn.Conv2d(in_channels=c, out_channels=dw_channel, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + self.conv2 = nn.Conv2d(in_channels=dw_channel, out_channels=dw_channel, kernel_size=3, padding=1, stride=1, groups=dw_channel, + bias=True) + self.conv3 = nn.Conv2d(in_channels=dw_channel // 2, out_channels=c, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + # Simplified Channel Attention + self.sca_avg = nn.Sequential( + nn.Conv2d(in_channels=dw_channel // 2, out_channels=dw_channel, kernel_size=1, padding=0, stride=1, + groups=1, bias=True), + nn.AdaptiveAvgPool2d(1), + nn.Conv2d(in_channels=dw_channel, out_channels=dw_channel // 2, kernel_size=1, padding=0, stride=1, + groups=1, bias=True), + ) + + # SimpleGate + self.sg = SimpleGate() + + ffn_channel = FFN_Expand * c + self.conv4 = nn.Conv2d(in_channels=c, out_channels=ffn_channel, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + self.conv5 = nn.Conv2d(in_channels=ffn_channel // 2, out_channels=c, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + self.norm1 = LayerNorm2d(c) + self.norm2 = LayerNorm2d(c) + + self.dropout1 = nn.Dropout( + drop_out_rate) if drop_out_rate > 0. else nn.Identity() + self.dropout2 = nn.Dropout( + drop_out_rate) if drop_out_rate > 0. else nn.Identity() + + self.beta = nn.Parameter(torch.zeros((1, c, 1, 1)), requires_grad=True) + self.gamma = nn.Parameter(torch.zeros( + (1, c, 1, 1)), requires_grad=True) + self.time_emb = nn.Sequential( + nn.SiLU(), + nn.Linear(256, c), + ) + + def forward(self, inp, t): + x = inp + + x = self.norm1(x) + + x = self.conv1(x) + x = self.conv2(x) + x = self.sg(x) + x = x * self.sca_avg(x) + x = self.conv3(x) + + x = self.dropout1(x) + + y = inp + x * self.beta + + y = y+self.time_emb(t)[..., None, None] + + x = self.conv4(self.norm2(y)) + x = self.sg(x) + x = self.conv5(x) + + x = self.dropout2(x) + + return y + x * self.gamma + + +class UNet(nn.Module): + + def __init__( + self, + img_channel=12, + width=64, + middle_blk_num=1, + enc_blk_nums=[1, 1, 1, 1], + dec_blk_nums=[1, 1, 1, 1], + ): + super().__init__() + + self.intro = nn.Conv2d(in_channels=img_channel, out_channels=width, kernel_size=3, padding=1, stride=1, groups=1, + bias=True) + self.ending = nn.Conv2d(in_channels=width, out_channels=3, kernel_size=3, padding=1, stride=1, groups=1, + bias=True) + # self.inp_ending = nn.Conv2d(in_channels=img_channel, out_channels=3, kernel_size=3, padding=1, stride=1, groups=1, + # bias=True) + + self.encoders = nn.ModuleList() + self.decoders = nn.ModuleList() + self.middle_blks = nn.ModuleList() + self.ups = nn.ModuleList() + self.downs = nn.ModuleList() + + chan = width + for num in enc_blk_nums: + self.encoders.append( + EmbedSequential( + *[NAFBlock(chan) for _ in range(num)] + ) + ) + self.downs.append( + nn.Conv2d(chan, 2*chan, 2, 2) + ) + chan = chan * 2 + + self.middle_blks = \ + EmbedSequential( + *[NAFBlock(chan) for _ in range(middle_blk_num)] + ) + + for num in dec_blk_nums: + self.ups.append( + nn.Sequential( + nn.Conv2d(chan, chan * 2, 1, bias=False), + nn.PixelShuffle(2) + ) + ) + chan = chan // 2 + self.decoders.append( + EmbedSequential( + *[NAFBlock(chan) for _ in range(num)] + ) + ) + + self.padder_size = 2 ** len(self.encoders) + self.emb = partial(gamma_embedding, dim=64) + self.map = nn.Sequential( + nn.Linear(64, 256), + nn.SiLU(), + nn.Linear(256, 256), + ) + + def forward(self, inp, gammas): + t = self.map(self.emb(gammas.view(-1, ))) + B, C, H, W = inp.shape + inp = self.check_image_size(inp) + + x = self.intro(inp) + + encs = [] + + for encoder, down in zip(self.encoders, self.downs): + x = encoder(x, t) + encs.append(x) + x = down(x) + + x = self.middle_blks(x, t) + + for decoder, up, enc_skip in zip(self.decoders, self.ups, encs[::-1]): + x = up(x) + x = x + enc_skip + x = decoder(x, t) + + x = self.ending(x) + # x = x + self.inp_ending(inp) + + return x[:, :, :H, :W] + + def check_image_size(self, x): + _, _, h, w = x.size() + mod_pad_h = (self.padder_size - h % + self.padder_size) % self.padder_size + mod_pad_w = (self.padder_size - w % + self.padder_size) % self.padder_size + x = F.pad(x, (0, mod_pad_w, 0, mod_pad_h)) + return x + + +if __name__ == '__main__': + # img_channel = 5 + # width = 32 + + # # enc_blks = [2, 2, 4, 8] + # # middle_blk_num = 12 + # # dec_blks = [2, 2, 2, 2] + + # enc_blks = [1, 1, 1, 28] + # middle_blk_num = 1 + # dec_blks = [1, 1, 1, 1] + + # net = NAFNet( + # img_channel=img_channel, + # width=width, + # middle_blk_num=middle_blk_num, + # enc_blk_nums=enc_blks, + # dec_blk_nums=dec_blks, + # ) + + # inp_shape = (2, 5, 64, 64) + + # out_shape = net(torch.Tensor(*inp_shape)).shape + + # print(out_shape) + # print(UNet()) + # print(UNet()(*(torch.Tensor(1, 12, 256, 256), torch.ones(1,))).shape) + from thop import profile + from thop import clever_format + net = UNet(width=64, enc_blk_nums=[1,1,1,1], dec_blk_nums=[1,1,1,1]) + flops, params = profile(net, inputs=(torch.Tensor(1, 12, 256, 256), torch.ones(1,))) + flops, params = clever_format([flops, params], "%.3f") + print(params, flops) \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/ours/nafnet_sum_no_condskip_nodrop_noparams_splitca_double_encoder_decoder_noCondFFN_middle_fusion.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/ours/nafnet_sum_no_condskip_nodrop_noparams_splitca_double_encoder_decoder_noCondFFN_middle_fusion.py new file mode 100644 index 0000000000000000000000000000000000000000..aa457654a4ae1ccc566f58f223c8a26b9c9e9745 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/ours/nafnet_sum_no_condskip_nodrop_noparams_splitca_double_encoder_decoder_noCondFFN_middle_fusion.py @@ -0,0 +1,414 @@ +import torch +import torch.nn as nn +import torch.nn.functional as F +from functools import partial +import math +from abc import abstractmethod + +class EmbedBlock(nn.Module): + """ + Any module where forward() takes embeddings as a second argument. + """ + + @abstractmethod + def forward(self, x, emb, cond): + """ + Apply the module to `x` given `emb` embeddings. + """ + + +class EmbedSequential(nn.Sequential, EmbedBlock): + """ + A sequential module that passes embeddings to the children that + support it as an extra input. + """ + + def forward(self, x, emb, cond): + for layer in self: + if isinstance(layer, EmbedBlock): + x = layer(x, emb, cond) + else: + x = layer(x) + return x + +def gamma_embedding(gammas, dim, max_period=10000): + """ + Create sinusoidal timestep embeddings. + :param gammas: a 1-D Tensor of N indices, one per batch element. + These may be fractional. + :param dim: the dimension of the output. + :param max_period: controls the minimum frequency of the embeddings. + :return: an [N x dim] Tensor of positional embeddings. + """ + half = dim // 2 + freqs = torch.exp( + -math.log(max_period) * torch.arange(start=0, + end=half, dtype=torch.float32) / half + ).to(device=gammas.device) + args = gammas[:, None].float() * freqs[None] + embedding = torch.cat([torch.cos(args), torch.sin(args)], dim=-1) + if dim % 2: + embedding = torch.cat( + [embedding, torch.zeros_like(embedding[:, :1])], dim=-1) + return embedding + + +class LayerNormFunction(torch.autograd.Function): + + @staticmethod + def forward(ctx, x, weight, bias, eps): + ctx.eps = eps + N, C, H, W = x.size() + mu = x.mean(1, keepdim=True) + var = (x - mu).pow(2).mean(1, keepdim=True) + y = (x - mu) / (var + eps).sqrt() + ctx.save_for_backward(y, var, weight) + y = weight.view(1, C, 1, 1) * y + bias.view(1, C, 1, 1) + return y + + @staticmethod + def backward(ctx, grad_output): + eps = ctx.eps + + N, C, H, W = grad_output.size() + y, var, weight = ctx.saved_variables + g = grad_output * weight.view(1, C, 1, 1) + mean_g = g.mean(dim=1, keepdim=True) + + mean_gy = (g * y).mean(dim=1, keepdim=True) + gx = 1. / torch.sqrt(var + eps) * (g - y * mean_gy - mean_g) + return gx, (grad_output * y).sum(dim=3).sum(dim=2).sum(dim=0), grad_output.sum(dim=3).sum(dim=2).sum( + dim=0), None + + +class LayerNorm2d(nn.Module): + + def __init__(self, channels, eps=1e-6): + super(LayerNorm2d, self).__init__() + self.register_parameter('weight', nn.Parameter(torch.ones(channels))) + self.register_parameter('bias', nn.Parameter(torch.zeros(channels))) + self.eps = eps + + def forward(self, x): + return LayerNormFunction.apply(x, self.weight, self.bias, self.eps) + + +class SimpleGate(nn.Module): + def forward(self, x): + x1, x2 = x.chunk(2, dim=1) + return x1 * x2 + +class CondNAFBlock(nn.Module): + def __init__(self, c, DW_Expand=2, FFN_Expand=2, drop_out_rate=0.): + super().__init__() + dw_channel = c * DW_Expand + self.conv1 = nn.Conv2d(in_channels=c, out_channels=dw_channel, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + self.conv2 = nn.Conv2d(in_channels=dw_channel, out_channels=dw_channel, kernel_size=3, padding=1, stride=1, groups=dw_channel, + bias=True) + self.conv3 = nn.Conv2d(in_channels=dw_channel // 4, out_channels=c, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + # Simplified Channel Attention + self.sca_avg = nn.Sequential( + nn.AdaptiveAvgPool2d(1), + nn.Conv2d(in_channels=dw_channel // 4, out_channels=dw_channel // 4, kernel_size=1, padding=0, stride=1, + groups=1, bias=True), + ) + self.sca_max = nn.Sequential( + nn.AdaptiveMaxPool2d(1), + nn.Conv2d(in_channels=dw_channel // 4, out_channels=dw_channel // 4, kernel_size=1, padding=0, stride=1, + groups=1, bias=True), + ) + + # SimpleGate + self.sg = SimpleGate() + + # ffn_channel = FFN_Expand * c + # self.conv4 = nn.Conv2d(in_channels=c, out_channels=ffn_channel, + # kernel_size=1, padding=0, stride=1, groups=1, bias=True) + # self.conv5 = nn.Conv2d(in_channels=ffn_channel // 2, out_channels=c, + # kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + self.norm1 = LayerNorm2d(c) + # self.norm2 = LayerNorm2d(c) + + # self.dropout1 = nn.Dropout( + # drop_out_rate) if drop_out_rate > 0. else nn.Identity() + # self.dropout2 = nn.Dropout( + # drop_out_rate) if drop_out_rate > 0. else nn.Identity() + + # self.beta = nn.Parameter(torch.zeros((1, c, 1, 1)), requires_grad=True) + # self.gamma = nn.Parameter(torch.zeros( + # (1, c, 1, 1)), requires_grad=True) + + def forward(self, inp): + x = inp + + x = self.norm1(x) + + x = self.conv1(x) + x = self.conv2(x) + x = self.sg(x) + x_avg, x_max = x.chunk(2, dim=1) + x_avg = self.sca_avg(x_avg)*x_avg + x_max = self.sca_max(x_max)*x_max + # x = torch.cat([x_avg, x_max], dim=1) + x = x_avg+x_max + x = self.conv3(x) + + # x = self.dropout1(x) + + # y = inp + x * self.beta + y = inp+x + + # x = self.conv4(self.norm2(y)) + # x = self.sg(x) + # x = self.conv5(x) + + # x = self.dropout2(x) + + # return y + x * self.gamma + return y + +class NAFBlock(EmbedBlock): + def __init__(self, c, DW_Expand=2, FFN_Expand=2, drop_out_rate=0.): + super().__init__() + dw_channel = c * DW_Expand + self.conv1 = nn.Conv2d(in_channels=c, out_channels=dw_channel, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + self.conv2 = nn.Conv2d(in_channels=dw_channel, out_channels=dw_channel, kernel_size=3, padding=1, stride=1, groups=dw_channel, + bias=True) + self.conv3 = nn.Conv2d(in_channels=dw_channel // 4, out_channels=c, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + # Simplified Channel Attention + self.sca_avg = nn.Sequential( + nn.AdaptiveAvgPool2d(1), + nn.Conv2d(in_channels=dw_channel // 4, out_channels=dw_channel // 4, kernel_size=1, padding=0, stride=1, + groups=1, bias=True), + ) + self.sca_max = nn.Sequential( + nn.AdaptiveMaxPool2d(1), + nn.Conv2d(in_channels=dw_channel // 4, out_channels=dw_channel // 4, kernel_size=1, padding=0, stride=1, + groups=1, bias=True), + ) + + # SimpleGate + self.sg = SimpleGate() + + ffn_channel = FFN_Expand * c + self.conv4 = nn.Conv2d(in_channels=c, out_channels=ffn_channel, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + self.conv5 = nn.Conv2d(in_channels=ffn_channel // 2, out_channels=c, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + self.norm1 = LayerNorm2d(c) + self.norm2 = LayerNorm2d(c) + + # self.dropout1 = nn.Dropout( + # drop_out_rate) if drop_out_rate > 0. else nn.Identity() + # self.dropout2 = nn.Dropout( + # drop_out_rate) if drop_out_rate > 0. else nn.Identity() + + # self.beta = nn.Parameter(torch.zeros((1, c, 1, 1)), requires_grad=True) + # self.gamma = nn.Parameter(torch.zeros( + # (1, c, 1, 1)), requires_grad=True) + self.time_emb = nn.Sequential( + nn.SiLU(), + nn.Linear(256, c), + ) + + def forward(self, inp, t, cond): + x = inp + + x = self.norm1(x) + + x = self.conv1(x) + x = self.conv2(x) + x = self.sg(x) + x_avg, x_max = x.chunk(2, dim=1) + x_avg = self.sca_avg(x_avg)*x_avg + x_max = self.sca_max(x_max)*x_max + # x = torch.cat([x_avg, x_max], dim=1) + x = x_avg+x_max + x = self.conv3(x) + + # x = self.dropout1(x) + + # y = inp + x * self.beta + y = inp + x + + b, c, h, w = cond.shape + tmp_cond = cond.view(b//3, 3, c, h, w).sum(dim=1) + y = y+self.time_emb(t)[..., None, None]+tmp_cond + + x = self.conv4(self.norm2(y)) + x = self.sg(x) + x = self.conv5(x) + + # x = self.dropout2(x) + + # return y + x * self.gamma + return y+x + + +class UNet(nn.Module): + + def __init__( + self, + img_channel=3, + width=64, + middle_blk_num=1, + enc_blk_nums=[1, 1, 1, 1], + dec_blk_nums=[1, 1, 1, 1], + ): + super().__init__() + + self.intro = nn.Conv2d(in_channels=img_channel, out_channels=width, kernel_size=3, padding=1, stride=1, groups=1, + bias=True) + self.cond_intro = nn.Conv2d(in_channels=img_channel, out_channels=width, kernel_size=3, padding=1, stride=1, groups=1, + bias=True) + self.ending = nn.Conv2d(in_channels=width, out_channels=3, kernel_size=3, padding=1, stride=1, groups=1, + bias=True) + # self.inp_ending = nn.Conv2d(in_channels=img_channel, out_channels=3, kernel_size=3, padding=1, stride=1, groups=1, + # bias=True) + + self.encoders = nn.ModuleList() + self.cond_encoders = nn.ModuleList() + + self.decoders = nn.ModuleList() + + self.middle_blks = nn.ModuleList() + + self.ups = nn.ModuleList() + + self.downs = nn.ModuleList() + self.cond_downs = nn.ModuleList() + + chan = width + for num in enc_blk_nums: + self.encoders.append( + EmbedSequential( + *[NAFBlock(chan) for _ in range(num)] + ) + ) + self.cond_encoders.append( + nn.Sequential( + *[CondNAFBlock(chan) for _ in range(num)] + ) + ) + self.downs.append( + nn.Conv2d(chan, 2*chan, 2, 2) + ) + self.cond_downs.append( + nn.Conv2d(chan, 2*chan, 2, 2) + ) + chan = chan * 2 + + self.middle_blks = \ + EmbedSequential( + *[NAFBlock(chan) for _ in range(middle_blk_num)] + ) + + for num in dec_blk_nums: + self.ups.append( + nn.Sequential( + nn.Conv2d(chan, chan * 2, 1, bias=False), + nn.PixelShuffle(2) + ) + ) + chan = chan // 2 + self.decoders.append( + EmbedSequential( + *[NAFBlock(chan) for _ in range(num)] + ) + ) + + self.padder_size = 2 ** len(self.encoders) + self.emb = partial(gamma_embedding, dim=64) + self.map = nn.Sequential( + nn.Linear(64, 256), + nn.SiLU(), + nn.Linear(256, 256), + ) + + def forward(self, inp, gammas): + t = self.map(self.emb(gammas.view(-1, ))) + inp = self.check_image_size(inp) + + x1, x2, x3, x = inp.chunk(4, dim=1) + cond = torch.stack([x1, x2, x3], dim=1) + b, n, c, h, w = cond.shape + cond = cond.view(b*n, c, h, w) + x = self.intro(x) + cond = self.cond_intro(cond) + + + encs = [] + cond_encs = [] + + for encoder, down, cond_encoder, cond_down in zip(self.encoders, self.downs, self.cond_encoders, self.cond_downs): + cond = cond_encoder(cond) + x = encoder(x, t, cond) + encs.append(x) + cond_encs.append(cond) + x = down(x) + cond = cond_down(cond) + + x = self.middle_blks(x, t, cond) + + for decoder, up, enc_skip, cond_skip in zip(self.decoders, self.ups, encs[::-1], cond_encs[::-1]): + x = up(x) + x = x + enc_skip + x = decoder(x, t, cond_skip) + + x = self.ending(x) + # x = x + self.inp_ending(inp) + + + return x + + def check_image_size(self, x): + _, _, h, w = x.size() + mod_pad_h = (self.padder_size - h % + self.padder_size) % self.padder_size + mod_pad_w = (self.padder_size - w % + self.padder_size) % self.padder_size + x = F.pad(x, (0, mod_pad_w, 0, mod_pad_h)) + return x + + +if __name__ == '__main__': + # img_channel = 5 + # width = 32 + + # # enc_blks = [2, 2, 4, 8] + # # middle_blk_num = 12 + # # dec_blks = [2, 2, 2, 2] + + # enc_blks = [1, 1, 1, 28] + # middle_blk_num = 1 + # dec_blks = [1, 1, 1, 1] + + # net = NAFNet( + # img_channel=img_channel, + # width=width, + # middle_blk_num=middle_blk_num, + # enc_blk_nums=enc_blks, + # dec_blk_nums=dec_blks, + # ) + + # inp_shape = (2, 5, 64, 64) + + # out_shape = net(torch.Tensor(*inp_shape)).shape + + # print(out_shape) + # print(UNet()) + print(UNet()(*(torch.Tensor(1, 12, 256, 256), torch.ones(1,))).shape) + from thop import profile + from thop import clever_format + net = UNet() + flops, params = profile(net, inputs=(torch.Tensor(1, 12, 256, 256), torch.ones(1,))) + flops, params = clever_format([flops, params], "%.3f") + print(params, flops) # \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/ours/pmaa_nafnet.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/ours/pmaa_nafnet.py new file mode 100644 index 0000000000000000000000000000000000000000..bfc7fcee7a4871dee8352189fa4fcd658d042548 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/ours/pmaa_nafnet.py @@ -0,0 +1,314 @@ +import torch +import torch.nn as nn +import torch.nn.functional as F +from functools import partial +import math +from abc import abstractmethod + +class EmbedBlock(nn.Module): + """ + Any module where forward() takes embeddings as a second argument. + """ + + @abstractmethod + def forward(self, x, emb): + """ + Apply the module to `x` given `emb` embeddings. + """ + + +class EmbedSequential(nn.Sequential, EmbedBlock): + """ + A sequential module that passes embeddings to the children that + support it as an extra input. + """ + + def forward(self, x, emb): + for layer in self: + if isinstance(layer, EmbedBlock): + x = layer(x, emb) + else: + x = layer(x) + return x + +def gamma_embedding(gammas, dim, max_period=10000): + """ + Create sinusoidal timestep embeddings. + :param gammas: a 1-D Tensor of N indices, one per batch element. + These may be fractional. + :param dim: the dimension of the output. + :param max_period: controls the minimum frequency of the embeddings. + :return: an [N x dim] Tensor of positional embeddings. + """ + half = dim // 2 + freqs = torch.exp( + -math.log(max_period) * torch.arange(start=0, + end=half, dtype=torch.float32) / half + ).to(device=gammas.device) + args = gammas[:, None].float() * freqs[None] + embedding = torch.cat([torch.cos(args), torch.sin(args)], dim=-1) + if dim % 2: + embedding = torch.cat( + [embedding, torch.zeros_like(embedding[:, :1])], dim=-1) + return embedding + + +class LayerNormFunction(torch.autograd.Function): + + @staticmethod + def forward(ctx, x, weight, bias, eps): + ctx.eps = eps + N, C, H, W = x.size() + mu = x.mean(1, keepdim=True) + var = (x - mu).pow(2).mean(1, keepdim=True) + y = (x - mu) / (var + eps).sqrt() + ctx.save_for_backward(y, var, weight) + y = weight.view(1, C, 1, 1) * y + bias.view(1, C, 1, 1) + return y + + @staticmethod + def backward(ctx, grad_output): + eps = ctx.eps + + N, C, H, W = grad_output.size() + y, var, weight = ctx.saved_variables + g = grad_output * weight.view(1, C, 1, 1) + mean_g = g.mean(dim=1, keepdim=True) + + mean_gy = (g * y).mean(dim=1, keepdim=True) + gx = 1. / torch.sqrt(var + eps) * (g - y * mean_gy - mean_g) + return gx, (grad_output * y).sum(dim=3).sum(dim=2).sum(dim=0), grad_output.sum(dim=3).sum(dim=2).sum( + dim=0), None + + +class LayerNorm2d(nn.Module): + + def __init__(self, channels, eps=1e-6): + super(LayerNorm2d, self).__init__() + self.register_parameter('weight', nn.Parameter(torch.ones(channels))) + self.register_parameter('bias', nn.Parameter(torch.zeros(channels))) + self.eps = eps + + def forward(self, x): + return LayerNormFunction.apply(x, self.weight, self.bias, self.eps) + + +class SimpleGate(nn.Module): + def forward(self, x): + x1, x2 = x.chunk(2, dim=1) + return x1 * x2 + + +class NAFBlock(EmbedBlock): + def __init__(self, c, DW_Expand=2, FFN_Expand=2, drop_out_rate=0.): + super().__init__() + dw_channel = c * DW_Expand + self.conv1 = nn.Conv2d(in_channels=c, out_channels=dw_channel, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + self.conv2 = nn.Conv2d(in_channels=dw_channel, out_channels=dw_channel, kernel_size=3, padding=1, stride=1, groups=dw_channel, + bias=True) + self.conv3 = nn.Conv2d(in_channels=dw_channel // 2, out_channels=c, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + # Simplified Channel Attention + self.sca = nn.Sequential( + nn.AdaptiveAvgPool2d(1), + nn.Conv2d(in_channels=dw_channel // 2, out_channels=dw_channel // 2, kernel_size=1, padding=0, stride=1, + groups=1, bias=True), + ) + + # SimpleGate + self.sg = SimpleGate() + + ffn_channel = FFN_Expand * c + self.conv4 = nn.Conv2d(in_channels=c, out_channels=ffn_channel, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + self.conv5 = nn.Conv2d(in_channels=ffn_channel // 2, out_channels=c, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + self.norm1 = LayerNorm2d(c) + self.norm2 = LayerNorm2d(c) + + self.dropout1 = nn.Dropout( + drop_out_rate) if drop_out_rate > 0. else nn.Identity() + self.dropout2 = nn.Dropout( + drop_out_rate) if drop_out_rate > 0. else nn.Identity() + + self.beta = nn.Parameter(torch.zeros((1, c, 1, 1)), requires_grad=True) + self.gamma = nn.Parameter(torch.zeros( + (1, c, 1, 1)), requires_grad=True) + self.time_emb = nn.Sequential( + nn.SiLU(), + nn.Linear(256, c), + ) + + def forward(self, inp, t): + x = inp + + x = self.norm1(x) + + x = self.conv1(x) + x = self.conv2(x) + x = self.sg(x) + x = x * self.sca(x) + x = self.conv3(x) + + x = self.dropout1(x) + + y = inp + x * self.beta + + y = y+self.time_emb(t)[..., None, None] + + x = self.conv4(self.norm2(y)) + x = self.sg(x) + x = self.conv5(x) + + x = self.dropout2(x) + + return y + x * self.gamma + + +class UNet(nn.Module): + + def __init__( + self, + img_channel=12, + width=64, + middle_blk_num=1, + enc_blk_nums=[1, 1, 1, 1], + dec_blk_nums=[1, 1, 1, 1], + ): + super().__init__() + + self.intro = nn.Conv2d(in_channels=img_channel, out_channels=width, kernel_size=3, padding=1, stride=1, groups=1, + bias=True) + self.ending = nn.Conv2d(in_channels=width, out_channels=3, kernel_size=3, padding=1, stride=1, groups=1, + bias=True) + self.inp_ending = nn.Conv2d(in_channels=img_channel, out_channels=3, kernel_size=3, padding=1, stride=1, groups=1, + bias=True) + + self.encoders = nn.ModuleList() + self.decoders = nn.ModuleList() + self.middle_blks = nn.ModuleList() + self.ups = nn.ModuleList() + self.downs = nn.ModuleList() + + chan = width + for num in enc_blk_nums: + self.encoders.append( + EmbedSequential( + *[NAFBlock(chan) for _ in range(num)] + ) + ) + self.downs.append( + nn.Conv2d(chan, chan, 2, 2, groups=chan) + ) + + self.middle_blks = \ + EmbedSequential( + *[NAFBlock(chan) for _ in range(middle_blk_num)] + ) + + for num in dec_blk_nums: + self.ups.append( + nn.Sequential( + nn.Conv2d(chan, chan*4, 1, groups=chan, bias=False), + nn.PixelShuffle(2) + ) + ) + self.decoders.append( + EmbedSequential( + *[NAFBlock(chan) for _ in range(num)] + ) + ) + + self.padder_size = 2 ** len(self.encoders) + self.emb = partial(gamma_embedding, dim=64) + self.map = nn.Sequential( + nn.Linear(64, 256), + nn.SiLU(), + nn.Linear(256, 256), + ) + + def forward(self, inp, gammas): + t = self.map(self.emb(gammas.view(-1, ))) + B, C, H, W = inp.shape + inp = self.check_image_size(inp) + + x = self.intro(inp) + + encs = [] + multi_fea = [] + # import pdb; pdb.set_trace() + out_shape = torch.div(torch.tensor([x.shape[-2], x.shape[-1]]), 2**(len(self.encoders)), rounding_mode='trunc') + for encoder, down in zip(self.encoders, self.downs): + x = encoder(x, t) + encs.append(x) + multi_fea.append(F.interpolate(x, [out_shape[0], out_shape[1]])) + x = down(x) + + multi_fea = torch.sum(torch.stack(multi_fea), dim=0) + global_f = self.middle_blks(multi_fea, t) + + for idx in range(len(encs)): + encs[idx] = encs[idx] * torch.sigmoid(F.interpolate(global_f, encs[idx].shape[-2:])) + + for decoder, up, enc_skip in zip(self.decoders, self.ups, encs[::-1]): + x = up(x) + x = x + enc_skip + x = decoder(x, t) + + x = self.ending(x) + x = x + self.inp_ending(inp) + + return x[:, :, :H, :W] + + def check_image_size(self, x): + _, _, h, w = x.size() + mod_pad_h = (self.padder_size - h % + self.padder_size) % self.padder_size + mod_pad_w = (self.padder_size - w % + self.padder_size) % self.padder_size + x = F.pad(x, (0, mod_pad_w, 0, mod_pad_h)) + return x + + +if __name__ == '__main__': + # img_channel = 5 + # width = 32 + + # # enc_blks = [2, 2, 4, 8] + # # middle_blk_num = 12 + # # dec_blks = [2, 2, 2, 2] + + # enc_blks = [1, 1, 1, 28] + # middle_blk_num = 1 + # dec_blks = [1, 1, 1, 1] + + # net = NAFNet( + # img_channel=img_channel, + # width=width, + # middle_blk_num=middle_blk_num, + # enc_blk_nums=enc_blks, + # dec_blk_nums=dec_blks, + # ) + + # inp_shape = (2, 5, 64, 64) + + # out_shape = net(torch.Tensor(*inp_shape)).shape + + # print(out_shape) + # print(UNet()) + # print(UNet()(*(torch.Tensor(2, 12, 256, 256), torch.ones(2,))).shape) + net = UNet() + # 测试模型参数量和计算量 + from thop import profile + from thop import clever_format + flops, params = profile(net, inputs=(torch.Tensor(1, 12, 256, 256), torch.ones(1,)), verbose=False) + flops, params = clever_format([flops, params], "%.3f") + print(flops, params) # 5.095G 515.402K + # 使用ptflops计算模型参数量和计算量 + from ptflops import get_model_complexity_info + macs, params = get_model_complexity_info(net, input_constructor=(torch.Tensor(1, 12, 256, 256), torch.ones(1,)), as_strings=True, + print_per_layer_stat=True, verbose=True) + print(macs, params) # 5.095G 515.402K \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/ours/pmaa_nafnet_no_inp.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/ours/pmaa_nafnet_no_inp.py new file mode 100644 index 0000000000000000000000000000000000000000..4c54baabf7510a6e3cc6d31e1dc301ba53e4878a --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/ours/pmaa_nafnet_no_inp.py @@ -0,0 +1,313 @@ +import torch +import torch.nn as nn +import torch.nn.functional as F +from functools import partial +import math +from abc import abstractmethod + +class EmbedBlock(nn.Module): + """ + Any module where forward() takes embeddings as a second argument. + """ + + @abstractmethod + def forward(self, x, emb): + """ + Apply the module to `x` given `emb` embeddings. + """ + + +class EmbedSequential(nn.Sequential, EmbedBlock): + """ + A sequential module that passes embeddings to the children that + support it as an extra input. + """ + + def forward(self, x, emb): + for layer in self: + if isinstance(layer, EmbedBlock): + x = layer(x, emb) + else: + x = layer(x) + return x + +def gamma_embedding(gammas, dim, max_period=10000): + """ + Create sinusoidal timestep embeddings. + :param gammas: a 1-D Tensor of N indices, one per batch element. + These may be fractional. + :param dim: the dimension of the output. + :param max_period: controls the minimum frequency of the embeddings. + :return: an [N x dim] Tensor of positional embeddings. + """ + half = dim // 2 + freqs = torch.exp( + -math.log(max_period) * torch.arange(start=0, + end=half, dtype=torch.float32) / half + ).to(device=gammas.device) + args = gammas[:, None].float() * freqs[None] + embedding = torch.cat([torch.cos(args), torch.sin(args)], dim=-1) + if dim % 2: + embedding = torch.cat( + [embedding, torch.zeros_like(embedding[:, :1])], dim=-1) + return embedding + + +class LayerNormFunction(torch.autograd.Function): + + @staticmethod + def forward(ctx, x, weight, bias, eps): + ctx.eps = eps + N, C, H, W = x.size() + mu = x.mean(1, keepdim=True) + var = (x - mu).pow(2).mean(1, keepdim=True) + y = (x - mu) / (var + eps).sqrt() + ctx.save_for_backward(y, var, weight) + y = weight.view(1, C, 1, 1) * y + bias.view(1, C, 1, 1) + return y + + @staticmethod + def backward(ctx, grad_output): + eps = ctx.eps + + N, C, H, W = grad_output.size() + y, var, weight = ctx.saved_variables + g = grad_output * weight.view(1, C, 1, 1) + mean_g = g.mean(dim=1, keepdim=True) + + mean_gy = (g * y).mean(dim=1, keepdim=True) + gx = 1. / torch.sqrt(var + eps) * (g - y * mean_gy - mean_g) + return gx, (grad_output * y).sum(dim=3).sum(dim=2).sum(dim=0), grad_output.sum(dim=3).sum(dim=2).sum( + dim=0), None + + +class LayerNorm2d(nn.Module): + + def __init__(self, channels, eps=1e-6): + super(LayerNorm2d, self).__init__() + self.register_parameter('weight', nn.Parameter(torch.ones(channels))) + self.register_parameter('bias', nn.Parameter(torch.zeros(channels))) + self.eps = eps + + def forward(self, x): + return LayerNormFunction.apply(x, self.weight, self.bias, self.eps) + + +class SimpleGate(nn.Module): + def forward(self, x): + x1, x2 = x.chunk(2, dim=1) + return x1 * x2 + + +class NAFBlock(EmbedBlock): + def __init__(self, c, DW_Expand=2, FFN_Expand=2, drop_out_rate=0.): + super().__init__() + dw_channel = c * DW_Expand + self.conv1 = nn.Conv2d(in_channels=c, out_channels=dw_channel, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + self.conv2 = nn.Conv2d(in_channels=dw_channel, out_channels=dw_channel, kernel_size=3, padding=1, stride=1, groups=dw_channel, + bias=True) + self.conv3 = nn.Conv2d(in_channels=dw_channel // 2, out_channels=c, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + # Simplified Channel Attention + self.sca = nn.Sequential( + nn.AdaptiveAvgPool2d(1), + nn.Conv2d(in_channels=dw_channel // 2, out_channels=dw_channel // 2, kernel_size=1, padding=0, stride=1, + groups=1, bias=True), + ) + + # SimpleGate + self.sg = SimpleGate() + + ffn_channel = FFN_Expand * c + self.conv4 = nn.Conv2d(in_channels=c, out_channels=ffn_channel, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + self.conv5 = nn.Conv2d(in_channels=ffn_channel // 2, out_channels=c, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + self.norm1 = LayerNorm2d(c) + self.norm2 = LayerNorm2d(c) + + self.dropout1 = nn.Dropout( + drop_out_rate) if drop_out_rate > 0. else nn.Identity() + self.dropout2 = nn.Dropout( + drop_out_rate) if drop_out_rate > 0. else nn.Identity() + + self.beta = nn.Parameter(torch.zeros((1, c, 1, 1)), requires_grad=True) + self.gamma = nn.Parameter(torch.zeros( + (1, c, 1, 1)), requires_grad=True) + self.time_emb = nn.Sequential( + nn.SiLU(), + nn.Linear(256, c), + ) + + def forward(self, inp, t): + x = inp + + x = self.norm1(x) + + x = self.conv1(x) + x = self.conv2(x) + x = self.sg(x) + x = x * self.sca(x) + x = self.conv3(x) + + x = self.dropout1(x) + + y = inp + x * self.beta + + y = y+self.time_emb(t)[..., None, None] + + x = self.conv4(self.norm2(y)) + x = self.sg(x) + x = self.conv5(x) + + x = self.dropout2(x) + + return y + x * self.gamma + + +class UNet(nn.Module): + + def __init__( + self, + img_channel=12, + width=64, + middle_blk_num=1, + enc_blk_nums=[1, 1, 1, 1], + dec_blk_nums=[1, 1, 1, 1], + ): + super().__init__() + + self.intro = nn.Conv2d(in_channels=img_channel, out_channels=width, kernel_size=3, padding=1, stride=1, groups=1, + bias=True) + self.ending = nn.Conv2d(in_channels=width, out_channels=3, kernel_size=3, padding=1, stride=1, groups=1, + bias=True) + # self.inp_ending = nn.Conv2d(in_channels=img_channel, out_channels=3, kernel_size=3, padding=1, stride=1, groups=1, + # bias=True) + + self.encoders = nn.ModuleList() + self.decoders = nn.ModuleList() + self.middle_blks = nn.ModuleList() + self.ups = nn.ModuleList() + self.downs = nn.ModuleList() + + chan = width + for num in enc_blk_nums: + self.encoders.append( + EmbedSequential( + *[NAFBlock(chan) for _ in range(num)] + ) + ) + self.downs.append( + nn.Conv2d(chan, chan, 2, 2, groups=chan) + ) + + self.middle_blks = \ + EmbedSequential( + *[NAFBlock(chan) for _ in range(middle_blk_num)] + ) + + for num in dec_blk_nums: + self.ups.append( + nn.Sequential( + nn.Conv2d(chan, chan*4, 1, groups=chan, bias=False), + nn.PixelShuffle(2) + ) + ) + self.decoders.append( + EmbedSequential( + *[NAFBlock(chan) for _ in range(num)] + ) + ) + + self.padder_size = 2 ** len(self.encoders) + self.emb = partial(gamma_embedding, dim=64) + self.map = nn.Sequential( + nn.Linear(64, 256), + nn.SiLU(), + nn.Linear(256, 256), + ) + + def forward(self, inp, gammas): + t = self.map(self.emb(gammas.view(-1, ))) + B, C, H, W = inp.shape + inp = self.check_image_size(inp) + + x = self.intro(inp) + + encs = [] + multi_fea = [] + # import pdb; pdb.set_trace() + out_shape = torch.div(torch.tensor([x.shape[-2], x.shape[-1]]), 2**(len(self.encoders)), rounding_mode='trunc') + for encoder, down in zip(self.encoders, self.downs): + x = encoder(x, t) + encs.append(x) + multi_fea.append(F.interpolate(x, [out_shape[0], out_shape[1]])) + x = down(x) + + multi_fea = torch.sum(torch.stack(multi_fea), dim=0) + global_f = self.middle_blks(multi_fea, t) + + for idx in range(len(encs)): + encs[idx] = encs[idx] * torch.sigmoid(F.interpolate(global_f, encs[idx].shape[-2:])) + + for decoder, up, enc_skip in zip(self.decoders, self.ups, encs[::-1]): + x = up(x) + x = x + enc_skip + x = decoder(x, t) + + x = self.ending(x) + + return x[:, :, :H, :W] + + def check_image_size(self, x): + _, _, h, w = x.size() + mod_pad_h = (self.padder_size - h % + self.padder_size) % self.padder_size + mod_pad_w = (self.padder_size - w % + self.padder_size) % self.padder_size + x = F.pad(x, (0, mod_pad_w, 0, mod_pad_h)) + return x + + +if __name__ == '__main__': + # img_channel = 5 + # width = 32 + + # # enc_blks = [2, 2, 4, 8] + # # middle_blk_num = 12 + # # dec_blks = [2, 2, 2, 2] + + # enc_blks = [1, 1, 1, 28] + # middle_blk_num = 1 + # dec_blks = [1, 1, 1, 1] + + # net = NAFNet( + # img_channel=img_channel, + # width=width, + # middle_blk_num=middle_blk_num, + # enc_blk_nums=enc_blks, + # dec_blk_nums=dec_blks, + # ) + + # inp_shape = (2, 5, 64, 64) + + # out_shape = net(torch.Tensor(*inp_shape)).shape + + # print(out_shape) + # print(UNet()) + # print(UNet()(*(torch.Tensor(2, 12, 256, 256), torch.ones(2,))).shape) + net = UNet() + # 测试模型参数量和计算量 + from thop import profile + from thop import clever_format + flops, params = profile(net, inputs=(torch.Tensor(1, 12, 256, 256), torch.ones(1,)), verbose=False) + flops, params = clever_format([flops, params], "%.3f") + print(flops, params) # 5.095G 515.402K + # 使用ptflops计算模型参数量和计算量 + from ptflops import get_model_complexity_info + macs, params = get_model_complexity_info(net, input_constructor=(torch.Tensor(1, 12, 256, 256), torch.ones(1,)), as_strings=True, + print_per_layer_stat=True, verbose=True) + print(macs, params) # 5.095G 515.402K \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/ours/pmaa_nafnet_tanh.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/ours/pmaa_nafnet_tanh.py new file mode 100644 index 0000000000000000000000000000000000000000..cf14269d369434ad84eb3d51fd00a006188cd4d9 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/ours/pmaa_nafnet_tanh.py @@ -0,0 +1,316 @@ +import torch +import torch.nn as nn +import torch.nn.functional as F +from functools import partial +import math +from abc import abstractmethod + +class EmbedBlock(nn.Module): + """ + Any module where forward() takes embeddings as a second argument. + """ + + @abstractmethod + def forward(self, x, emb): + """ + Apply the module to `x` given `emb` embeddings. + """ + + +class EmbedSequential(nn.Sequential, EmbedBlock): + """ + A sequential module that passes embeddings to the children that + support it as an extra input. + """ + + def forward(self, x, emb): + for layer in self: + if isinstance(layer, EmbedBlock): + x = layer(x, emb) + else: + x = layer(x) + return x + +def gamma_embedding(gammas, dim, max_period=10000): + """ + Create sinusoidal timestep embeddings. + :param gammas: a 1-D Tensor of N indices, one per batch element. + These may be fractional. + :param dim: the dimension of the output. + :param max_period: controls the minimum frequency of the embeddings. + :return: an [N x dim] Tensor of positional embeddings. + """ + half = dim // 2 + freqs = torch.exp( + -math.log(max_period) * torch.arange(start=0, + end=half, dtype=torch.float32) / half + ).to(device=gammas.device) + args = gammas[:, None].float() * freqs[None] + embedding = torch.cat([torch.cos(args), torch.sin(args)], dim=-1) + if dim % 2: + embedding = torch.cat( + [embedding, torch.zeros_like(embedding[:, :1])], dim=-1) + return embedding + + +class LayerNormFunction(torch.autograd.Function): + + @staticmethod + def forward(ctx, x, weight, bias, eps): + ctx.eps = eps + N, C, H, W = x.size() + mu = x.mean(1, keepdim=True) + var = (x - mu).pow(2).mean(1, keepdim=True) + y = (x - mu) / (var + eps).sqrt() + ctx.save_for_backward(y, var, weight) + y = weight.view(1, C, 1, 1) * y + bias.view(1, C, 1, 1) + return y + + @staticmethod + def backward(ctx, grad_output): + eps = ctx.eps + + N, C, H, W = grad_output.size() + y, var, weight = ctx.saved_variables + g = grad_output * weight.view(1, C, 1, 1) + mean_g = g.mean(dim=1, keepdim=True) + + mean_gy = (g * y).mean(dim=1, keepdim=True) + gx = 1. / torch.sqrt(var + eps) * (g - y * mean_gy - mean_g) + return gx, (grad_output * y).sum(dim=3).sum(dim=2).sum(dim=0), grad_output.sum(dim=3).sum(dim=2).sum( + dim=0), None + + +class LayerNorm2d(nn.Module): + + def __init__(self, channels, eps=1e-6): + super(LayerNorm2d, self).__init__() + self.register_parameter('weight', nn.Parameter(torch.ones(channels))) + self.register_parameter('bias', nn.Parameter(torch.zeros(channels))) + self.eps = eps + + def forward(self, x): + return LayerNormFunction.apply(x, self.weight, self.bias, self.eps) + + +class SimpleGate(nn.Module): + def forward(self, x): + x1, x2 = x.chunk(2, dim=1) + return x1 * x2 + + +class NAFBlock(EmbedBlock): + def __init__(self, c, DW_Expand=2, FFN_Expand=2, drop_out_rate=0.): + super().__init__() + dw_channel = c * DW_Expand + self.conv1 = nn.Conv2d(in_channels=c, out_channels=dw_channel, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + self.conv2 = nn.Conv2d(in_channels=dw_channel, out_channels=dw_channel, kernel_size=3, padding=1, stride=1, groups=dw_channel, + bias=True) + self.conv3 = nn.Conv2d(in_channels=dw_channel // 2, out_channels=c, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + # Simplified Channel Attention + self.sca = nn.Sequential( + nn.AdaptiveAvgPool2d(1), + nn.Conv2d(in_channels=dw_channel // 2, out_channels=dw_channel // 2, kernel_size=1, padding=0, stride=1, + groups=1, bias=True), + ) + + # SimpleGate + self.sg = SimpleGate() + + ffn_channel = FFN_Expand * c + self.conv4 = nn.Conv2d(in_channels=c, out_channels=ffn_channel, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + self.conv5 = nn.Conv2d(in_channels=ffn_channel // 2, out_channels=c, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + self.norm1 = LayerNorm2d(c) + self.norm2 = LayerNorm2d(c) + + self.dropout1 = nn.Dropout( + drop_out_rate) if drop_out_rate > 0. else nn.Identity() + self.dropout2 = nn.Dropout( + drop_out_rate) if drop_out_rate > 0. else nn.Identity() + + self.beta = nn.Parameter(torch.zeros((1, c, 1, 1)), requires_grad=True) + self.gamma = nn.Parameter(torch.zeros( + (1, c, 1, 1)), requires_grad=True) + self.time_emb = nn.Sequential( + nn.SiLU(), + nn.Linear(256, c), + ) + + def forward(self, inp, t): + x = inp + + x = self.norm1(x) + + x = self.conv1(x) + x = self.conv2(x) + x = self.sg(x) + x = x * self.sca(x) + x = self.conv3(x) + + x = self.dropout1(x) + + y = inp + x * self.beta + + y = y+self.time_emb(t)[..., None, None] + + x = self.conv4(self.norm2(y)) + x = self.sg(x) + x = self.conv5(x) + + x = self.dropout2(x) + + return y + x * self.gamma + + +class UNet(nn.Module): + + def __init__( + self, + img_channel=12, + width=64, + middle_blk_num=1, + enc_blk_nums=[1, 1, 1, 1], + dec_blk_nums=[1, 1, 1, 1], + ): + super().__init__() + + self.intro = nn.Conv2d(in_channels=img_channel, out_channels=width, kernel_size=3, padding=1, stride=1, groups=1, + bias=True) + self.ending = nn.Conv2d(in_channels=width, out_channels=3, kernel_size=3, padding=1, stride=1, groups=1, + bias=True) + self.inp_ending = nn.Conv2d(in_channels=img_channel, out_channels=3, kernel_size=3, padding=1, stride=1, groups=1, + bias=True) + + self.encoders = nn.ModuleList() + self.decoders = nn.ModuleList() + self.middle_blks = nn.ModuleList() + self.ups = nn.ModuleList() + self.downs = nn.ModuleList() + + chan = width + for num in enc_blk_nums: + self.encoders.append( + EmbedSequential( + *[NAFBlock(chan) for _ in range(num)] + ) + ) + self.downs.append( + nn.Conv2d(chan, chan, 2, 2, groups=chan) + ) + + self.middle_blks = \ + EmbedSequential( + *[NAFBlock(chan) for _ in range(middle_blk_num)] + ) + + for num in dec_blk_nums: + self.ups.append( + nn.Sequential( + nn.Conv2d(chan, chan*4, 1, groups=chan, bias=False), + nn.PixelShuffle(2) + ) + ) + self.decoders.append( + EmbedSequential( + *[NAFBlock(chan) for _ in range(num)] + ) + ) + + self.padder_size = 2 ** len(self.encoders) + self.emb = partial(gamma_embedding, dim=64) + self.map = nn.Sequential( + nn.Linear(64, 256), + nn.SiLU(), + nn.Linear(256, 256), + ) + self.tanh = nn.Tanh() + + def forward(self, inp, gammas): + t = self.map(self.emb(gammas.view(-1, ))) + B, C, H, W = inp.shape + inp = self.check_image_size(inp) + + x = self.intro(inp) + + encs = [] + multi_fea = [] + # import pdb; pdb.set_trace() + out_shape = torch.div(torch.tensor([x.shape[-2], x.shape[-1]]), 2**(len(self.encoders)), rounding_mode='trunc') + for encoder, down in zip(self.encoders, self.downs): + x = encoder(x, t) + encs.append(x) + multi_fea.append(F.interpolate(x, [out_shape[0], out_shape[1]])) + x = down(x) + + multi_fea = torch.sum(torch.stack(multi_fea), dim=0) + global_f = self.middle_blks(multi_fea, t) + + for idx in range(len(encs)): + encs[idx] = encs[idx] * torch.sigmoid(F.interpolate(global_f, encs[idx].shape[-2:])) + + for decoder, up, enc_skip in zip(self.decoders, self.ups, encs[::-1]): + x = up(x) + x = x + enc_skip + x = decoder(x, t) + + x = self.ending(x) + x = x + self.inp_ending(inp) + x = self.tanh(x) + + return x[:, :, :H, :W] + + def check_image_size(self, x): + _, _, h, w = x.size() + mod_pad_h = (self.padder_size - h % + self.padder_size) % self.padder_size + mod_pad_w = (self.padder_size - w % + self.padder_size) % self.padder_size + x = F.pad(x, (0, mod_pad_w, 0, mod_pad_h)) + return x + + +if __name__ == '__main__': + # img_channel = 5 + # width = 32 + + # # enc_blks = [2, 2, 4, 8] + # # middle_blk_num = 12 + # # dec_blks = [2, 2, 2, 2] + + # enc_blks = [1, 1, 1, 28] + # middle_blk_num = 1 + # dec_blks = [1, 1, 1, 1] + + # net = NAFNet( + # img_channel=img_channel, + # width=width, + # middle_blk_num=middle_blk_num, + # enc_blk_nums=enc_blks, + # dec_blk_nums=dec_blks, + # ) + + # inp_shape = (2, 5, 64, 64) + + # out_shape = net(torch.Tensor(*inp_shape)).shape + + # print(out_shape) + # print(UNet()) + # print(UNet()(*(torch.Tensor(2, 12, 256, 256), torch.ones(2,))).shape) + net = UNet() + # 测试模型参数量和计算量 + from thop import profile + from thop import clever_format + flops, params = profile(net, inputs=(torch.Tensor(1, 12, 256, 256), torch.ones(1,)), verbose=False) + flops, params = clever_format([flops, params], "%.3f") + print(flops, params) # 5.095G 515.402K + # 使用ptflops计算模型参数量和计算量 + from ptflops import get_model_complexity_info + macs, params = get_model_complexity_info(net, input_constructor=(torch.Tensor(1, 12, 256, 256), torch.ones(1,)), as_strings=True, + print_per_layer_stat=True, verbose=True) + print(macs, params) # 5.095G 515.402K \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/ours/unet_down3.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/ours/unet_down3.py new file mode 100644 index 0000000000000000000000000000000000000000..0ab140aa55878f96051aa1e4b00c8ef6ea4ce8da --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/ours/unet_down3.py @@ -0,0 +1,655 @@ +import numpy as np +import math +import torch +import torch.nn as nn +import torch.nn.functional as F +from abc import abstractmethod +from timm.models.layers import DropPath +from functools import partial +from mmcv.cnn import build_norm_layer +from mmcv.cnn import build_conv_layer +from mmcv.cnn.bricks.registry import NORM_LAYERS + + +act_module = nn.GELU +BaseBlock = None +ls_init_value = 1e-6 + + +class EmbedBlock(nn.Module): + """ + Any module where forward() takes embeddings as a second argument. + """ + + @abstractmethod + def forward(self, x, emb): + """ + Apply the module to `x` given `emb` embeddings. + """ + + +class EmbedSequential(nn.Sequential, EmbedBlock): + """ + A sequential module that passes embeddings to the children that + support it as an extra input. + """ + + def forward(self, x, emb): + for layer in self: + if isinstance(layer, EmbedBlock): + x = layer(x, emb) + else: + x = layer(x) + return x + + +class LayerNorm(nn.Module): + + def __init__(self, normalized_shape, eps=1e-6, data_format="channels_last"): + super().__init__() + + self.weight = nn.Parameter(torch.ones(normalized_shape)) + self.bias = nn.Parameter(torch.zeros(normalized_shape)) + self.eps = eps + self.data_format = data_format + if self.data_format not in ["channels_last", "channels_first", "channels_first_v2"]: + raise NotImplementedError + self.normalized_shape = (normalized_shape, ) + + def forward(self, x): + if self.data_format == "channels_last": + return F.layer_norm(x, self.normalized_shape, self.weight, self.bias, self.eps) + elif self.data_format == "channels_first": + u = x.mean(1, keepdim=True) + s = (x - u).pow(2).mean(1, keepdim=True) + x = (x - u) / torch.sqrt(s + self.eps) + x = self.weight[:, None, None] * x + self.bias[:, None, None] + return x + elif self.data_format == "channels_first_v2": + return F.layer_norm(x.permute(0, 2, 3, 1), self.normalized_shape, self.weight, self.bias, self.eps).permute(0, 3, 1, 2) + + +class Block(EmbedBlock): + + def __init__(self, dim, time_emb_dim, drop_path=0., norm_cfg=None, **kwargs): + super().__init__() + + self.dwconv = nn.Conv2d(dim, dim, kernel_size=7, + padding=3, groups=dim) # depthwise conv + self.norm = build_norm_layer(norm_cfg, dim)[1] + # pointwise/1x1 convs, implemented with linear layers + self.pwconv1 = nn.Linear(dim, 4 * dim) + self.act = act_module() + self.pwconv2 = nn.Linear(4 * dim, dim) + self.gamma = nn.Parameter( + ls_init_value * torch.ones((dim)), requires_grad=True) if ls_init_value > 0 else None + self.drop_path = DropPath( + drop_path) if drop_path > 0. else nn.Identity() + self.time_emb = nn.Sequential( + act_module(), + nn.Linear(time_emb_dim, dim), + ) + + def forward(self, x, t): + input = x + x = self.dwconv(x) + self.time_emb(t)[..., None, None] + x = self.norm(x) # input (N, C, *) + + x = x.permute(0, 2, 3, 1) # (N, C, H, W) -> (N, H, W, C) + x = self.pwconv1(x) + x = self.act(x) + x = self.pwconv2(x) + if self.gamma is not None: + x = self.gamma * x + x = x.permute(0, 3, 1, 2) # (N, H, W, C) -> (N, C, H, W) + + x = input + self.drop_path(x) + return x + + +class DBlock(nn.Module): + + def __init__(self, dim, drop_path=0., dilation=3, norm_cfg=None, **kwargs): + super().__init__() + + self.dwconv1 = nn.Sequential( + nn.Conv2d(dim, dim, kernel_size=7, + padding=3, dilation=1, groups=dim), + build_norm_layer(norm_cfg, dim)[1], + act_module()) + + self.dwconv2 = nn.Sequential( + nn.Conv2d(dim, dim, kernel_size=7, padding=3 * + dilation, dilation=dilation, groups=dim), + build_norm_layer(norm_cfg, dim)[1], + act_module()) + + self.pwconv1 = nn.Linear(dim, 4 * dim) + self.act = act_module() + self.pwconv2 = nn.Linear(4 * dim, dim) + self.gamma = nn.Parameter( + ls_init_value * torch.ones((dim)), requires_grad=True) if ls_init_value > 0 else None + self.drop_path = DropPath( + drop_path) if drop_path > 0. else nn.Identity() + + def forward(self, x): + + input = x + x = self.dwconv1(x) + x + x = self.dwconv2(x) + x + + x = x.permute(0, 2, 3, 1) # (N, C, H, W) -> (N, H, W, C) + x = self.pwconv1(x) + x = self.act(x) + x = self.pwconv2(x) + if self.gamma is not None: + x = self.gamma * x + x = x.permute(0, 3, 1, 2) # (N, H, W, C) -> (N, C, H, W) + + x = input + self.drop_path(x) + return x + + +class Bottleneck(nn.Module): + + def __init__(self, dim, drop_path=0., norm_cfg=None, **kwargs): + super(Bottleneck, self).__init__() + + self.conv1 = nn.Sequential( + build_conv_layer(None, dim, dim, kernel_size=3, + stride=1, padding=1, bias=False), + build_norm_layer(norm_cfg, dim)[1], + act_module(), + ) + + self.conv2 = nn.Sequential( + build_conv_layer(None, dim, dim * 4, kernel_size=1, + stride=1, bias=False), + build_norm_layer(norm_cfg, dim * 4)[1], + act_module(), + ) + + self.conv3 = nn.Sequential( + build_conv_layer(None, dim * 4, dim, kernel_size=1, bias=False), + build_norm_layer(norm_cfg, dim)[1], + ) + + self.act = act_module() + self.drop_path = DropPath( + drop_path) if drop_path > 0. else nn.Identity() + + def forward(self, x): + input = x + x = self.conv1(x) + x = self.conv2(x) + x = self.conv3(x) + x = self.act(self.drop_path(x) + input) + return x + + +class DBottleneck(nn.Module): + + def __init__(self, dim, drop_path=0., dilation=3, norm_cfg=None, **kwargs): + super(DBottleneck, self).__init__() + + self.conv1 = nn.Sequential( + build_conv_layer(None, dim, dim, kernel_size=3, + stride=1, padding=1, bias=False), + build_norm_layer(norm_cfg, dim)[1], + act_module(), + ) + + self.dwconv1 = nn.Sequential( + nn.Conv2d(dim, dim, kernel_size=7, padding=3 * + dilation, dilation=dilation, groups=dim), + build_norm_layer(norm_cfg, dim)[1], + act_module()) + + self.conv2 = nn.Sequential( + build_conv_layer(None, dim, dim * 4, kernel_size=1, + stride=1, bias=False), + build_norm_layer(norm_cfg, dim * 4)[1], + act_module(), + ) + + self.conv3 = nn.Sequential( + build_conv_layer(None, dim * 4, dim, kernel_size=1, bias=False), + build_norm_layer(norm_cfg, dim)[1], + ) + + self.act = act_module() + self.drop_path = DropPath( + drop_path) if drop_path > 0. else nn.Identity() + + def forward(self, x): + input = x + x = self.conv1(x) + x + x = self.dwconv1(x) + x + x = self.conv2(x) + x = self.conv3(x) + x = self.act(self.drop_path(x) + input) + return x + + +class MLP(nn.Module): + def __init__(self, dim, mlp_ratio=4): + super().__init__() + + self.norm = LayerNorm(dim, eps=1e-6, data_format="channels_first") + + self.fc1 = nn.Conv2d(dim, int(dim * mlp_ratio), 1) + self.pos = nn.Conv2d(int(dim * mlp_ratio), int(dim * mlp_ratio), + 3, padding=1, groups=int(dim * mlp_ratio)) + self.fc2 = nn.Conv2d(int(dim * mlp_ratio), dim, 1) + self.act = act_module() + + def forward(self, x): + B, C, H, W = x.shape + x = self.norm(x) + x = self.fc1(x) + x = self.act(x) + x = x + self.act(self.pos(x)) + x = self.fc2(x) + + return x + + +class ConvMod(nn.Module): + def __init__(self, dim): + super().__init__() + + self.norm = LayerNorm(dim, eps=1e-6, data_format="channels_first") + self.a = nn.Sequential( + nn.Conv2d(dim, dim, 1), + act_module(), + nn.Conv2d(dim, dim, 11, padding=5, groups=dim) # TODO + ) + + self.v = nn.Conv2d(dim, dim, 1) + self.proj = nn.Conv2d(dim, dim, 1) + + def forward(self, x): + B, C, H, W = x.shape + x = self.norm(x) + a = self.a(x) # A=QK^T + x = a * self.v(x) + x = self.proj(x) + + return x + + +class Conv2Former(nn.Module): + def __init__(self, dim, mlp_ratio=4., drop_path=0.): + super().__init__() + + self.attn = ConvMod(dim) + self.mlp = MLP(dim, mlp_ratio) + layer_scale_init_value = 1e-6 + self.layer_scale_1 = nn.Parameter( # a + layer_scale_init_value * torch.ones((dim)), requires_grad=True) + self.layer_scale_2 = nn.Parameter( # b + layer_scale_init_value * torch.ones((dim)), requires_grad=True) + self.drop_path = DropPath( + drop_path) if drop_path > 0. else nn.Identity() + + def forward(self, x): + x = x + \ + self.drop_path( + self.layer_scale_1.unsqueeze(-1).unsqueeze(-1) * self.attn(x)) + x = x + \ + self.drop_path( + self.layer_scale_2.unsqueeze(-1).unsqueeze(-1) * self.mlp(x)) + return x + + +class Encoder(nn.Module): + + def __init__(self, dims=[96, 192, 384, 768], blocks=[1, 1, 1, 1], time_emb_dim=512, dp_rates=0., norm_cfg=None): + super().__init__() + + assert isinstance(dp_rates, list) + cum_sum = np.array([0] + blocks[:-1]).cumsum() + + self.encoder = nn.ModuleList([ + EmbedSequential(*[BaseBlock(dims[0], time_emb_dim, dp_rates[_], + norm_cfg=norm_cfg, widx=_) for _ in range(blocks[0])]), + + EmbedSequential(*[BaseBlock(dims[1], time_emb_dim, dp_rates[cum_sum[1]+_], + norm_cfg=norm_cfg, widx=_) for _ in range(blocks[1])]), + EmbedSequential(*[BaseBlock(dims[2], time_emb_dim, dp_rates[cum_sum[2]+_], + norm_cfg=norm_cfg, widx=_) for _ in range(blocks[2])]), + EmbedSequential(*[BaseBlock(dims[3], time_emb_dim, dp_rates[cum_sum[3]+_], + norm_cfg=norm_cfg, widx=_) for _ in range(blocks[3])]), + ]) + + self.encoder_downsample = nn.ModuleList([ + nn.Sequential(nn.Conv2d(dims[0], dims[1], kernel_size=2, stride=2), build_norm_layer( + norm_cfg, dims[1])[1]), + nn.Sequential(nn.Conv2d(dims[1], dims[2], kernel_size=2, stride=2), build_norm_layer( + norm_cfg, dims[2])[1]), + nn.Sequential(nn.Conv2d(dims[2], dims[3], kernel_size=2, stride=2), build_norm_layer( + norm_cfg, dims[3])[1]), + ]) + + self.attention = Conv2Former(dims[3], drop_path=dp_rates[-1]) + + self.pooling_conv = nn.ModuleList([ + nn.Sequential(nn.Conv2d(dims[0], dims[3], kernel_size=1, stride=1), build_norm_layer( + norm_cfg, dims[3])[1]), + nn.Sequential(nn.Conv2d(dims[1], dims[3], kernel_size=1, stride=1), build_norm_layer( + norm_cfg, dims[3])[1]), + nn.Sequential(nn.Conv2d(dims[2], dims[3], kernel_size=1, stride=1), build_norm_layer( + norm_cfg, dims[3])[1]), + ]) + + def forward(self, x, t): + if isinstance(x, tuple): + x = x[0] + c3 = self.encoder[0](x, t) + c4 = self.encoder[1](self.encoder_downsample[0](c3), t) + c5 = self.encoder[2](self.encoder_downsample[1](c4), t) + c6 = self.encoder[3](self.encoder_downsample[2](c5), t) + # import pdb; pdb.set_trace() + global_f = F.adaptive_avg_pool2d(self.pooling_conv[0](c3), output_size=(c6.shape[-2], c6.shape[-1])) \ + + F.adaptive_avg_pool2d(self.pooling_conv[1]( + c4), output_size=(c6.shape[-2], c6.shape[-1])) + F.adaptive_avg_pool2d(self.pooling_conv[2](c5), output_size=(c6.shape[-2], c6.shape[-1]))+c6 + global_f = self.attention(global_f) + return c3, c4, c5, c6, global_f + + +class LAlayerUpsample(nn.Module): + def __init__(self, inp: int, oup: int, kernel: int = 1, norm_cfg=None) -> None: + super().__init__() + norm = build_norm_layer(norm_cfg, oup)[1] + groups = 1 + if inp == oup: + groups = inp + self.local_embedding = nn.Sequential( + nn.Conv2d(oup, oup, kernel, groups=oup, + padding=int((kernel - 1) / 2), bias=False), + norm + ) + self.global_embedding = nn.Sequential( + nn.Conv2d(inp, oup, kernel, padding=int( + (kernel - 1) / 2), bias=False), + norm + ) + self.global_act = nn.Sequential( + nn.Conv2d(inp, oup, kernel, padding=int( + (kernel - 1) / 2), bias=False), + norm + ) + self.act = nn.Sigmoid() + + def forward(self, x_l, x_g): + """ + x_g: global features + x_l: local features + """ + B, N, H, W = x_l.shape + local_feat = self.local_embedding(x_l) + + global_act = self.global_act(x_g) + sig_act = F.interpolate(self.act(global_act), size=(H, W)) + + global_feat = self.global_embedding(x_g) + global_feat = F.interpolate(global_feat, size=(H, W)) + + out = local_feat * sig_act + global_feat + return out + + +class LALayerG(nn.Module): + def __init__(self, inp: int, oup: int, kernel: int = 1, norm_cfg=None) -> None: + super().__init__() + norm = build_norm_layer(norm_cfg, inp)[1] + groups = 1 + if inp == oup: + groups = inp + self.local_embedding = nn.Sequential( + nn.Conv2d(inp, inp, kernel, groups=inp, + padding=int((kernel - 1) / 2), bias=False), + norm + ) + self.global_embedding = nn.Sequential( + nn.Conv2d(oup, inp, kernel, groups=groups, + padding=int((kernel - 1) / 2), bias=False), + norm + ) + self.global_act = nn.Sequential( + nn.Conv2d(oup, inp, kernel, groups=groups, + padding=int((kernel - 1) / 2), bias=False), + norm + ) + self.act = nn.Sigmoid() + + def forward(self, x_l, x_g): + """ + x_g: global features + x_l: local features + """ + B, N, H, W = x_l.shape + # import pdb; pdb.set_trace() + local_feat = self.local_embedding(x_l) + global_act = self.global_act(x_g) + sig_act = F.interpolate(self.act(global_act), size=(H, W)) + + global_feat = self.global_embedding(x_g) + global_feat = F.interpolate(global_feat, size=(H, W)) + + out = local_feat * sig_act + global_feat + return out + + +class Decoder(nn.Module): + + def __init__(self, dims=[96, 192, 384, 768], blocks=[1, 1, 1, 1], dp_rates=0., norm_cfg=None): + super().__init__() + + self.decoder_conv = nn.ModuleList([ + LALayerG(dims[0], dims[0], norm_cfg=norm_cfg), + LALayerG(dims[1], dims[0], norm_cfg=norm_cfg), + LALayerG(dims[2], dims[0], norm_cfg=norm_cfg), + LALayerG(dims[3], dims[0], norm_cfg=norm_cfg), + ]) + + self.decoder_up = nn.ModuleList([ + LAlayerUpsample(dims[0], dims[1], norm_cfg=norm_cfg), + LAlayerUpsample(dims[1], dims[2], norm_cfg=norm_cfg), + LAlayerUpsample(dims[2], dims[3], norm_cfg=norm_cfg), + ]) + + def forward(self, x): + c3, c4, c5, c6, global_f = x + c6 = self.decoder_conv[0](c6, global_f) + c5 = self.decoder_conv[1](c5, global_f) + c4 = self.decoder_conv[2](c4, global_f) + c3 = self.decoder_conv[3](c3, global_f) + + c5 = self.decoder_up[0](c5, c6) + c4 = self.decoder_up[1](c4, c5) + c3 = self.decoder_up[2](c3, c4) + return c3, c4, c5, c6 + + +class Ours(nn.Module): + def __init__( + self, + inp_channels=3, + out_channels=3, + encoder_dims=[64, 128, 256, 512], + decoder_dims=[512, 256, 128, 64], + encoder_blocks=[1, 1, 1, 1], + decoder_blocks=[1, 1, 1, 1], + drop_path_rate=0.1, + norm_cfg=dict(type='LN', eps=1e-6, data_format="channels_first"), + act_type='silu', + ) -> None: + + NORM_LAYERS.register_module('LN', force=True, module=LayerNorm) + global act_module, BaseBlock, ls_init_value + act_module = {'gelu': nn.GELU, 'relu': nn.ReLU, + 'silu': nn.SiLU}.get(act_type, None) + BaseBlock = globals().get("Block", None) + ls_init_value = 1e-6 + dp_rates = [i.item() for i in torch.linspace( + 0, drop_path_rate, sum(encoder_blocks))] + + super().__init__() + + self.inp = nn.Sequential( + nn.Conv2d(inp_channels, encoder_dims[0]//2, 3, 1, 1), + build_norm_layer(norm_cfg, encoder_dims[0]//2)[1], + act_module(), + nn.Conv2d(encoder_dims[0]//2, encoder_dims[0], 3, 1, 1), + build_norm_layer(norm_cfg, encoder_dims[0])[1], + act_module(), + ) + + self.encoder = Encoder( + dims=encoder_dims, + blocks=encoder_blocks, + dp_rates=dp_rates, + norm_cfg=norm_cfg, + ) + + self.decoder = Decoder( + dims=decoder_dims, + blocks=decoder_blocks, + dp_rates=dp_rates, + norm_cfg=norm_cfg, + ) + + self.out = nn.Sequential( + build_norm_layer(norm_cfg, decoder_dims[-1])[1], + act_module(), + nn.Conv2d(decoder_dims[-1], out_channels, 3, 1, 1), + ) + + def forward(self, x): + x = self.inp(x) + x = self.encoder(x) + # print(x[0].shape) # torch.Size([2, 64, 256, 256]) + # print(x[1].shape) # torch.Size([2, 128, 128, 128]) + # print(x[2].shape) # torch.Size([2, 256, 64, 64]) + # print(x[3].shape) # torch.Size([2, 512, 32, 32]) + # print(x[4].shape) # torch.Size([2, 512, 32, 32]) + x = self.decoder(x) + # print(x[0].shape) # torch.Size([2, 64, 256, 256]) + # print(x[1].shape) # torch.Size([2, 128, 128, 128]) + # print(x[2].shape) # torch.Size([2, 256, 64, 64]) + # print(x[3].shape) # torch.Size([2, 512, 32, 32]) + return self.out(x[0]) + + +def gamma_embedding(gammas, dim, max_period=10000): + """ + Create sinusoidal timestep embeddings. + :param gammas: a 1-D Tensor of N indices, one per batch element. + These may be fractional. + :param dim: the dimension of the output. + :param max_period: controls the minimum frequency of the embeddings. + :return: an [N x dim] Tensor of positional embeddings. + """ + half = dim // 2 + freqs = torch.exp( + -math.log(max_period) * torch.arange(start=0, + end=half, dtype=torch.float32) / half + ).to(device=gammas.device) + args = gammas[:, None].float() * freqs[None] + embedding = torch.cat([torch.cos(args), torch.sin(args)], dim=-1) + if dim % 2: + embedding = torch.cat( + [embedding, torch.zeros_like(embedding[:, :1])], dim=-1) + return embedding + + +class UNet(nn.Module): + def __init__( + self, + inp_channels=12, + out_channels=3, + encoder_dims=[64, 128, 256, 512], + decoder_dims=[512, 256, 128, 64], + encoder_blocks=[1, 1, 1, 1], + decoder_blocks=[1, 1, 1, 1], + drop_path_rate=0.1, + norm_type="ln", + act_type='silu', + ) -> None: + + NORM_LAYERS.register_module('ln', force=True, module=LayerNorm) + global act_module, BaseBlock, ls_init_value + act_module = {'gelu': nn.GELU, 'relu': nn.ReLU, + 'silu': nn.SiLU}.get(act_type, None) + BaseBlock = globals().get("Block", None) + ls_init_value = 1e-6 + dp_rates = [i.item() for i in torch.linspace( + 0, drop_path_rate, sum(encoder_blocks))] + norm_cfg = { + "ln": dict(type='ln', eps=1e-6, data_format="channels_first"), + "bn": dict(type='bn'), + }.get(norm_type, None) + + super().__init__() + + self.inp = nn.Sequential( + nn.Conv2d(inp_channels, encoder_dims[0]//2, 3, 1, 1), + build_norm_layer(norm_cfg, encoder_dims[0]//2)[1], + act_module(), + nn.Conv2d(encoder_dims[0]//2, encoder_dims[0], 3, 1, 1), + build_norm_layer(norm_cfg, encoder_dims[0])[1], + act_module(), + ) + + self.emb = partial(gamma_embedding, dim=encoder_dims[0]) + self.map = nn.Sequential( + nn.Linear(encoder_dims[0], encoder_dims[-1]), + act_module(), + nn.Linear(encoder_dims[-1], encoder_dims[-1]), + ) + + self.encoder = Encoder( + dims=encoder_dims, + blocks=encoder_blocks, + time_emb_dim=encoder_dims[-1], + dp_rates=dp_rates, + norm_cfg=norm_cfg, + ) + + self.decoder = Decoder( + dims=decoder_dims, + blocks=decoder_blocks, + dp_rates=dp_rates, + norm_cfg=norm_cfg, + ) + + self.out = nn.Sequential( + build_norm_layer(norm_cfg, decoder_dims[-1])[1], + act_module(), + nn.Conv2d(decoder_dims[-1], out_channels, 3, 1, 1), + ) + + def forward(self, x, gammas): + x = self.inp(x) + t = self.map(self.emb(gammas.view(-1, ))) + x = self.encoder(x, t) + x = self.decoder(x) + return self.out(x[0]) + + +if __name__ == '__main__': + inp = (torch.Tensor(2, 12, 256, 256), torch.ones(2,)) + net = UNet( + inp_channels=12, + out_channels=3, + encoder_dims=[64, 128, 256, 512], + decoder_dims=[512, 256, 128, 64], + encoder_blocks=[1, 1, 1, 1], + decoder_blocks=[1, 1, 1, 1], + drop_path_rate=0.1, + norm_type="ln", + act_type='silu', + ) + out = net(*inp) + print(out.shape) diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/ours/unet_down4_ca.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/ours/unet_down4_ca.py new file mode 100644 index 0000000000000000000000000000000000000000..0234589c14ca91ca47a2a10265968eb1b14bd245 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/ours/unet_down4_ca.py @@ -0,0 +1,695 @@ +import numpy as np +import math +import torch +import torch.nn as nn +import torch.nn.functional as F +from abc import abstractmethod +from timm.models.layers import DropPath +from functools import partial +from mmcv.cnn import build_norm_layer +from mmcv.cnn import build_conv_layer +from mmcv.cnn.bricks.registry import NORM_LAYERS + + +act_module = nn.GELU +BaseBlock = None +ls_init_value = 1e-6 + + +class EmbedBlock(nn.Module): + """ + Any module where forward() takes embeddings as a second argument. + """ + + @abstractmethod + def forward(self, x, emb): + """ + Apply the module to `x` given `emb` embeddings. + """ + + +class EmbedSequential(nn.Sequential, EmbedBlock): + """ + A sequential module that passes embeddings to the children that + support it as an extra input. + """ + + def forward(self, x, emb): + for layer in self: + if isinstance(layer, EmbedBlock): + x = layer(x, emb) + else: + x = layer(x) + return x + + +class LayerNorm(nn.Module): + + def __init__(self, normalized_shape, eps=1e-6, data_format="channels_last"): + super().__init__() + + self.weight = nn.Parameter(torch.ones(normalized_shape)) + self.bias = nn.Parameter(torch.zeros(normalized_shape)) + self.eps = eps + self.data_format = data_format + if self.data_format not in ["channels_last", "channels_first", "channels_first_v2"]: + raise NotImplementedError + self.normalized_shape = (normalized_shape, ) + + def forward(self, x): + if self.data_format == "channels_last": + return F.layer_norm(x, self.normalized_shape, self.weight, self.bias, self.eps) + elif self.data_format == "channels_first": + u = x.mean(1, keepdim=True) + s = (x - u).pow(2).mean(1, keepdim=True) + x = (x - u) / torch.sqrt(s + self.eps) + x = self.weight[:, None, None] * x + self.bias[:, None, None] + return x + elif self.data_format == "channels_first_v2": + return F.layer_norm(x.permute(0, 2, 3, 1), self.normalized_shape, self.weight, self.bias, self.eps).permute(0, 3, 1, 2) + +# 通道注意力模块 + + +class ChannelAttention(nn.Module): + def __init__(self, in_channels) -> None: + super(ChannelAttention, self).__init__() + self.avg_pool = nn.AdaptiveAvgPool2d(1) + self.max_pool = nn.AdaptiveMaxPool2d(1) + + self.fc = nn.Sequential( + nn.Linear(in_channels, in_channels*4, bias=False), + act_module(), + nn.Linear(in_channels*4, in_channels, bias=False), + ) + + self.alpha = nn.Parameter(torch.ones( + (in_channels)), requires_grad=True) + self.betas = nn.Parameter(torch.ones( + (in_channels)), requires_grad=True) + + def forward(self, x): + b, c, _, _ = x.size() + avg_out = self.alpha*self.avg_pool(x).view(b, c) + max_out = self.betas*self.max_pool(x).view(b, c) + out = self.fc(avg_out+max_out).view(b, c, 1, 1) + return x*out.expand_as(x) + + +class Block(EmbedBlock): + + def __init__(self, dim, time_emb_dim, drop_path=0., norm_cfg=None, **kwargs): + super().__init__() + + self.dwconv = nn.Conv2d(dim, dim, kernel_size=7, + padding=3, groups=dim) # depthwise conv + self.norm = build_norm_layer(norm_cfg, dim)[1] + # pointwise/1x1 convs, implemented with linear layers + # self.pwconv1 = nn.Linear(dim, 4 * dim) + # self.act = act_module() + # self.pwconv2 = nn.Linear(4 * dim, dim) + self.ca = ChannelAttention(dim) + self.gamma = nn.Parameter( + ls_init_value * torch.ones((1, dim, 1, 1)), requires_grad=True) if ls_init_value > 0 else None + self.drop_path = DropPath( + drop_path) if drop_path > 0. else nn.Identity() + self.time_emb = nn.Sequential( + act_module(), + nn.Linear(time_emb_dim, dim), + ) + + def forward(self, x, t): + input = x + x = self.dwconv(x) + self.time_emb(t)[..., None, None] + x = self.norm(x) # input (N, C, *) + + # x = x.permute(0, 2, 3, 1) # (N, C, H, W) -> (N, H, W, C) + x = self.ca(x) + # x = self.pwconv1(x) + # x = self.act(x) + # x = self.pwconv2(x) + if self.gamma is not None: + x = self.gamma * x + # x = x.permute(0, 3, 1, 2) # (N, H, W, C) -> (N, C, H, W) + + x = input + self.drop_path(x) + return x + + +class DBlock(nn.Module): + + def __init__(self, dim, drop_path=0., dilation=3, norm_cfg=None, **kwargs): + super().__init__() + + self.dwconv1 = nn.Sequential( + nn.Conv2d(dim, dim, kernel_size=7, + padding=3, dilation=1, groups=dim), + build_norm_layer(norm_cfg, dim)[1], + act_module()) + + self.dwconv2 = nn.Sequential( + nn.Conv2d(dim, dim, kernel_size=7, padding=3 * + dilation, dilation=dilation, groups=dim), + build_norm_layer(norm_cfg, dim)[1], + act_module()) + + self.pwconv1 = nn.Linear(dim, 4 * dim) + self.act = act_module() + self.pwconv2 = nn.Linear(4 * dim, dim) + self.gamma = nn.Parameter( + ls_init_value * torch.ones((dim)), requires_grad=True) if ls_init_value > 0 else None + self.drop_path = DropPath( + drop_path) if drop_path > 0. else nn.Identity() + + def forward(self, x): + + input = x + x = self.dwconv1(x) + x + x = self.dwconv2(x) + x + + x = x.permute(0, 2, 3, 1) # (N, C, H, W) -> (N, H, W, C) + x = self.pwconv1(x) + x = self.act(x) + x = self.pwconv2(x) + if self.gamma is not None: + x = self.gamma * x + x = x.permute(0, 3, 1, 2) # (N, H, W, C) -> (N, C, H, W) + + x = input + self.drop_path(x) + return x + + +class Bottleneck(nn.Module): + + def __init__(self, dim, drop_path=0., norm_cfg=None, **kwargs): + super(Bottleneck, self).__init__() + + self.conv1 = nn.Sequential( + build_conv_layer(None, dim, dim, kernel_size=3, + stride=1, padding=1, bias=False), + build_norm_layer(norm_cfg, dim)[1], + act_module(), + ) + + self.conv2 = nn.Sequential( + build_conv_layer(None, dim, dim * 4, kernel_size=1, + stride=1, bias=False), + build_norm_layer(norm_cfg, dim * 4)[1], + act_module(), + ) + + self.conv3 = nn.Sequential( + build_conv_layer(None, dim * 4, dim, kernel_size=1, bias=False), + build_norm_layer(norm_cfg, dim)[1], + ) + + self.act = act_module() + self.drop_path = DropPath( + drop_path) if drop_path > 0. else nn.Identity() + + def forward(self, x): + input = x + x = self.conv1(x) + x = self.conv2(x) + x = self.conv3(x) + x = self.act(self.drop_path(x) + input) + return x + + +class DBottleneck(nn.Module): + + def __init__(self, dim, drop_path=0., dilation=3, norm_cfg=None, **kwargs): + super(DBottleneck, self).__init__() + + self.conv1 = nn.Sequential( + build_conv_layer(None, dim, dim, kernel_size=3, + stride=1, padding=1, bias=False), + build_norm_layer(norm_cfg, dim)[1], + act_module(), + ) + + self.dwconv1 = nn.Sequential( + nn.Conv2d(dim, dim, kernel_size=7, padding=3 * + dilation, dilation=dilation, groups=dim), + build_norm_layer(norm_cfg, dim)[1], + act_module()) + + self.conv2 = nn.Sequential( + build_conv_layer(None, dim, dim * 4, kernel_size=1, + stride=1, bias=False), + build_norm_layer(norm_cfg, dim * 4)[1], + act_module(), + ) + + self.conv3 = nn.Sequential( + build_conv_layer(None, dim * 4, dim, kernel_size=1, bias=False), + build_norm_layer(norm_cfg, dim)[1], + ) + + self.act = act_module() + self.drop_path = DropPath( + drop_path) if drop_path > 0. else nn.Identity() + + def forward(self, x): + input = x + x = self.conv1(x) + x + x = self.dwconv1(x) + x + x = self.conv2(x) + x = self.conv3(x) + x = self.act(self.drop_path(x) + input) + return x + + +class MLP(nn.Module): + def __init__(self, dim, mlp_ratio=4): + super().__init__() + + self.norm = LayerNorm(dim, eps=1e-6, data_format="channels_first") + + self.fc1 = nn.Conv2d(dim, int(dim * mlp_ratio), 1) + self.pos = nn.Conv2d(int(dim * mlp_ratio), int(dim * mlp_ratio), + 3, padding=1, groups=int(dim * mlp_ratio)) + self.fc2 = nn.Conv2d(int(dim * mlp_ratio), dim, 1) + self.act = act_module() + + def forward(self, x): + B, C, H, W = x.shape + x = self.norm(x) + x = self.fc1(x) + x = self.act(x) + x = x + self.act(self.pos(x)) + x = self.fc2(x) + + return x + + +class ConvMod(nn.Module): + def __init__(self, dim): + super().__init__() + + self.norm = LayerNorm(dim, eps=1e-6, data_format="channels_first") + self.a = nn.Sequential( + nn.Conv2d(dim, dim, 1), + act_module(), + nn.Conv2d(dim, dim, 11, padding=5, groups=dim) # TODO + ) + + self.v = nn.Conv2d(dim, dim, 1) + self.proj = nn.Conv2d(dim, dim, 1) + + def forward(self, x): + B, C, H, W = x.shape + x = self.norm(x) + a = self.a(x) # A=QK^T + x = a * self.v(x) + x = self.proj(x) + + return x + + +class Conv2Former(nn.Module): + def __init__(self, dim, mlp_ratio=4., drop_path=0.): + super().__init__() + + self.attn = ConvMod(dim) + self.mlp = MLP(dim, mlp_ratio) + layer_scale_init_value = 1e-6 + self.layer_scale_1 = nn.Parameter( # a + layer_scale_init_value * torch.ones((dim)), requires_grad=True) + self.layer_scale_2 = nn.Parameter( # b + layer_scale_init_value * torch.ones((dim)), requires_grad=True) + self.drop_path = DropPath( + drop_path) if drop_path > 0. else nn.Identity() + + def forward(self, x): + x = x + \ + self.drop_path( + self.layer_scale_1.unsqueeze(-1).unsqueeze(-1) * self.attn(x)) + x = x + \ + self.drop_path( + self.layer_scale_2.unsqueeze(-1).unsqueeze(-1) * self.mlp(x)) + return x + + +class Encoder(nn.Module): + + def __init__(self, dims=[96, 192, 384, 768], blocks=[1, 1, 1, 1], time_emb_dim=512, dp_rates=0., norm_cfg=None): + super().__init__() + + assert isinstance(dp_rates, list) + cum_sum = np.array([0] + blocks[:-1]).cumsum() + + self.encoder = nn.ModuleList([ + EmbedSequential(*[BaseBlock(dims[0], time_emb_dim, dp_rates[_], + norm_cfg=norm_cfg, widx=_) for _ in range(blocks[0])]), + + EmbedSequential(*[BaseBlock(dims[1], time_emb_dim, dp_rates[cum_sum[1]+_], + norm_cfg=norm_cfg, widx=_) for _ in range(blocks[1])]), + EmbedSequential(*[BaseBlock(dims[2], time_emb_dim, dp_rates[cum_sum[2]+_], + norm_cfg=norm_cfg, widx=_) for _ in range(blocks[2])]), + EmbedSequential(*[BaseBlock(dims[3], time_emb_dim, dp_rates[cum_sum[3]+_], + norm_cfg=norm_cfg, widx=_) for _ in range(blocks[3])]), + EmbedSequential(*[BaseBlock(dims[4], time_emb_dim, dp_rates[cum_sum[4]+_], + norm_cfg=norm_cfg, widx=_) for _ in range(blocks[4])]), + ]) + + self.encoder_downsample = nn.ModuleList([ + nn.Sequential(nn.Conv2d(dims[0], dims[1], kernel_size=2, stride=2), build_norm_layer( + norm_cfg, dims[1])[1]), + nn.Sequential(nn.Conv2d(dims[1], dims[2], kernel_size=2, stride=2), build_norm_layer( + norm_cfg, dims[2])[1]), + nn.Sequential(nn.Conv2d(dims[2], dims[3], kernel_size=2, stride=2), build_norm_layer( + norm_cfg, dims[3])[1]), + nn.Sequential(nn.Conv2d(dims[3], dims[4], kernel_size=2, stride=2), build_norm_layer( + norm_cfg, dims[4])[1]), + ]) + + self.attention = Conv2Former(dims[4], drop_path=dp_rates[-1]) + + self.pooling_conv = nn.ModuleList([ + nn.Sequential(nn.Conv2d(dims[0], dims[4], kernel_size=1, stride=1), build_norm_layer( + norm_cfg, dims[4])[1]), + nn.Sequential(nn.Conv2d(dims[1], dims[4], kernel_size=1, stride=1), build_norm_layer( + norm_cfg, dims[4])[1]), + nn.Sequential(nn.Conv2d(dims[2], dims[4], kernel_size=1, stride=1), build_norm_layer( + norm_cfg, dims[4])[1]), + nn.Sequential(nn.Conv2d(dims[3], dims[4], kernel_size=1, stride=1), build_norm_layer( + norm_cfg, dims[4])[1]), + ]) + + def forward(self, x, t): + if isinstance(x, tuple): + x = x[0] + c3 = self.encoder[0](x, t) + c4 = self.encoder[1](self.encoder_downsample[0](c3), t) + c5 = self.encoder[2](self.encoder_downsample[1](c4), t) + c6 = self.encoder[3](self.encoder_downsample[2](c5), t) + c7 = self.encoder[4](self.encoder_downsample[3](c6), t) + # import pdb; pdb.set_trace() + global_f = F.adaptive_avg_pool2d(self.pooling_conv[0](c3), output_size=(c7.shape[-2], c7.shape[-1])) \ + + F.adaptive_avg_pool2d(self.pooling_conv[1]( + c4), output_size=(c7.shape[-2], c7.shape[-1])) + F.adaptive_avg_pool2d(self.pooling_conv[2](c5), output_size=(c7.shape[-2], c7.shape[-1])) + F.adaptive_avg_pool2d(self.pooling_conv[3](c6), output_size=(c7.shape[-2], c7.shape[-1]))+c7 + global_f = self.attention(global_f) + return c3, c4, c5, c6, c7, global_f + + +class LAlayerUpsample(nn.Module): + def __init__(self, inp: int, oup: int, kernel: int = 1, norm_cfg=None) -> None: + super().__init__() + norm = build_norm_layer(norm_cfg, oup)[1] + groups = 1 + if inp == oup: + groups = inp + self.local_embedding = nn.Sequential( + nn.Conv2d(oup, oup, kernel, groups=oup, + padding=int((kernel - 1) / 2), bias=False), + norm + ) + self.global_embedding = nn.Sequential( + nn.Conv2d(inp, oup, kernel, padding=int( + (kernel - 1) / 2), bias=False), + norm + ) + self.global_act = nn.Sequential( + nn.Conv2d(inp, oup, kernel, padding=int( + (kernel - 1) / 2), bias=False), + norm + ) + self.act = nn.Sigmoid() + + def forward(self, x_l, x_g): + """ + x_g: global features + x_l: local features + """ + B, N, H, W = x_l.shape + local_feat = self.local_embedding(x_l) + + global_act = self.global_act(x_g) + sig_act = F.interpolate(self.act(global_act), size=(H, W)) + + global_feat = self.global_embedding(x_g) + global_feat = F.interpolate(global_feat, size=(H, W)) + + out = local_feat * sig_act + global_feat + return out + + +class LALayerG(nn.Module): + def __init__(self, inp: int, oup: int, kernel: int = 1, norm_cfg=None) -> None: + super().__init__() + norm = build_norm_layer(norm_cfg, inp)[1] + groups = 1 + if inp == oup: + groups = inp + self.local_embedding = nn.Sequential( + nn.Conv2d(inp, inp, kernel, groups=inp, + padding=int((kernel - 1) / 2), bias=False), + norm + ) + self.global_embedding = nn.Sequential( + nn.Conv2d(oup, inp, kernel, groups=groups, + padding=int((kernel - 1) / 2), bias=False), + norm + ) + self.global_act = nn.Sequential( + nn.Conv2d(oup, inp, kernel, groups=groups, + padding=int((kernel - 1) / 2), bias=False), + norm + ) + self.act = nn.Sigmoid() + + def forward(self, x_l, x_g): + """ + x_g: global features + x_l: local features + """ + B, N, H, W = x_l.shape + # import pdb; pdb.set_trace() + local_feat = self.local_embedding(x_l) + global_act = self.global_act(x_g) + sig_act = F.interpolate(self.act(global_act), size=(H, W)) + + global_feat = self.global_embedding(x_g) + global_feat = F.interpolate(global_feat, size=(H, W)) + + out = local_feat * sig_act + global_feat + return out + + +class Decoder(nn.Module): + + def __init__(self, dims=[96, 192, 384, 768], blocks=[1, 1, 1, 1], dp_rates=0., norm_cfg=None): + super().__init__() + + self.decoder_conv = nn.ModuleList([ + LALayerG(dims[0], dims[0], norm_cfg=norm_cfg), + LALayerG(dims[1], dims[0], norm_cfg=norm_cfg), + LALayerG(dims[2], dims[0], norm_cfg=norm_cfg), + LALayerG(dims[3], dims[0], norm_cfg=norm_cfg), + LALayerG(dims[4], dims[0], norm_cfg=norm_cfg), + ]) + + self.decoder_up = nn.ModuleList([ + LAlayerUpsample(dims[0], dims[1], norm_cfg=norm_cfg), + LAlayerUpsample(dims[1], dims[2], norm_cfg=norm_cfg), + LAlayerUpsample(dims[2], dims[3], norm_cfg=norm_cfg), + LAlayerUpsample(dims[3], dims[4], norm_cfg=norm_cfg), + ]) + + def forward(self, x): + c3, c4, c5, c6, c7, global_f = x + c7 = self.decoder_conv[0](c7, global_f) + c6 = self.decoder_conv[1](c6, global_f) + c5 = self.decoder_conv[2](c5, global_f) + c4 = self.decoder_conv[3](c4, global_f) + c3 = self.decoder_conv[4](c3, global_f) + + c6 = self.decoder_up[0](c6, c7) + c5 = self.decoder_up[1](c5, c6) + c4 = self.decoder_up[2](c4, c5) + c3 = self.decoder_up[3](c3, c4) + return c3, c4, c5, c6, c7 + + +class Ours(nn.Module): + def __init__( + self, + inp_channels=3, + out_channels=3, + encoder_dims=[64, 128, 256, 512, 1024], + decoder_dims=[1024, 512, 256, 128, 64], + encoder_blocks=[1, 1, 1, 1, 1], + decoder_blocks=[1, 1, 1, 1, 1], + drop_path_rate=0.1, + norm_cfg=dict(type='LN', eps=1e-6, data_format="channels_first"), + act_type='silu', + ) -> None: + + NORM_LAYERS.register_module('LN', force=True, module=LayerNorm) + global act_module, BaseBlock, ls_init_value + act_module = {'gelu': nn.GELU, 'relu': nn.ReLU, + 'silu': nn.SiLU}.get(act_type, None) + BaseBlock = globals().get("Block", None) + ls_init_value = 1e-6 + dp_rates = [i.item() for i in torch.linspace( + 0, drop_path_rate, sum(encoder_blocks))] + + super().__init__() + + self.inp = nn.Sequential( + nn.Conv2d(inp_channels, encoder_dims[0]//2, 3, 1, 1), + build_norm_layer(norm_cfg, encoder_dims[0]//2)[1], + act_module(), + nn.Conv2d(encoder_dims[0]//2, encoder_dims[0], 3, 1, 1), + build_norm_layer(norm_cfg, encoder_dims[0])[1], + act_module(), + ) + + self.encoder = Encoder( + dims=encoder_dims, + blocks=encoder_blocks, + dp_rates=dp_rates, + norm_cfg=norm_cfg, + ) + + self.decoder = Decoder( + dims=decoder_dims, + blocks=decoder_blocks, + dp_rates=dp_rates, + norm_cfg=norm_cfg, + ) + + self.out = nn.Sequential( + build_norm_layer(norm_cfg, decoder_dims[-1])[1], + act_module(), + nn.Conv2d(decoder_dims[-1], out_channels, 3, 1, 1), + ) + + def forward(self, x): + x = self.inp(x) + x = self.encoder(x) + # print(x[0].shape) # torch.Size([2, 64, 256, 256]) + # print(x[1].shape) # torch.Size([2, 128, 128, 128]) + # print(x[2].shape) # torch.Size([2, 256, 64, 64]) + # print(x[3].shape) # torch.Size([2, 512, 32, 32]) + # print(x[4].shape) # torch.Size([2, 512, 32, 32]) + x = self.decoder(x) + # print(x[0].shape) # torch.Size([2, 64, 256, 256]) + # print(x[1].shape) # torch.Size([2, 128, 128, 128]) + # print(x[2].shape) # torch.Size([2, 256, 64, 64]) + # print(x[3].shape) # torch.Size([2, 512, 32, 32]) + return self.out(x[0]) + + +def gamma_embedding(gammas, dim, max_period=10000): + """ + Create sinusoidal timestep embeddings. + :param gammas: a 1-D Tensor of N indices, one per batch element. + These may be fractional. + :param dim: the dimension of the output. + :param max_period: controls the minimum frequency of the embeddings. + :return: an [N x dim] Tensor of positional embeddings. + """ + half = dim // 2 + freqs = torch.exp( + -math.log(max_period) * torch.arange(start=0, + end=half, dtype=torch.float32) / half + ).to(device=gammas.device) + args = gammas[:, None].float() * freqs[None] + embedding = torch.cat([torch.cos(args), torch.sin(args)], dim=-1) + if dim % 2: + embedding = torch.cat( + [embedding, torch.zeros_like(embedding[:, :1])], dim=-1) + return embedding + + +class UNet(nn.Module): + def __init__( + self, + inp_channels=12, + out_channels=3, + encoder_dims=[64, 128, 256, 512], + decoder_dims=[512, 256, 128, 64], + encoder_blocks=[1, 1, 1, 1], + decoder_blocks=[1, 1, 1, 1], + drop_path_rate=0.1, + norm_type="ln", + act_type='silu', + ) -> None: + + NORM_LAYERS.register_module('ln', force=True, module=LayerNorm) + global act_module, BaseBlock, ls_init_value + act_module = {'gelu': nn.GELU, 'relu': nn.ReLU, + 'silu': nn.SiLU}.get(act_type, None) + BaseBlock = globals().get("Block", None) + ls_init_value = 1e-6 + dp_rates = [i.item() for i in torch.linspace( + 0, drop_path_rate, sum(encoder_blocks))] + norm_cfg = { + "ln": dict(type='ln', eps=1e-6, data_format="channels_first"), + "bn": dict(type='bn'), + }.get(norm_type, None) + + super().__init__() + + self.inp = nn.Sequential( + nn.Conv2d(inp_channels, encoder_dims[0]//2, 3, 1, 1), + build_norm_layer(norm_cfg, encoder_dims[0]//2)[1], + act_module(), + nn.Conv2d(encoder_dims[0]//2, encoder_dims[0], 3, 1, 1), + build_norm_layer(norm_cfg, encoder_dims[0])[1], + act_module(), + ) + + self.emb = partial(gamma_embedding, dim=encoder_dims[0]) + self.map = nn.Sequential( + nn.Linear(encoder_dims[0], encoder_dims[-1]), + act_module(), + nn.Linear(encoder_dims[-1], encoder_dims[-1]), + ) + + self.encoder = Encoder( + dims=encoder_dims, + blocks=encoder_blocks, + time_emb_dim=encoder_dims[-1], + dp_rates=dp_rates, + norm_cfg=norm_cfg, + ) + + self.decoder = Decoder( + dims=decoder_dims, + blocks=decoder_blocks, + dp_rates=dp_rates, + norm_cfg=norm_cfg, + ) + + self.out = nn.Sequential( + build_norm_layer(norm_cfg, decoder_dims[-1])[1], + act_module(), + nn.Conv2d(decoder_dims[-1], out_channels, 3, 1, 1), + ) + + def forward(self, x, gammas): + x = self.inp(x) + t = self.map(self.emb(gammas.view(-1, ))) + x = self.encoder(x, t) + x = self.decoder(x) + return self.out(x[0]) + + +if __name__ == '__main__': + inp = (torch.Tensor(2, 12, 256, 256), torch.ones(2,)) + net = UNet( + inp_channels=12, + out_channels=3, + encoder_dims=[64, 128, 256, 512, 1024], + decoder_dims=[1024, 512, 256, 128, 64], + encoder_blocks=[1, 1, 1, 1, 1], + decoder_blocks=[1, 1, 1, 1, 1], + drop_path_rate=0.1, + norm_type="ln", + act_type='silu', + ) + out = net(*inp) + print(out.shape) diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/palette_convnext_ca/nn.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/palette_convnext_ca/nn.py new file mode 100644 index 0000000000000000000000000000000000000000..60b83c965aeb86443852d218e423a23b7293e28f --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/palette_convnext_ca/nn.py @@ -0,0 +1,138 @@ +""" +Various utilities for neural networks. +""" + +import math +import numpy as np +import torch +import torch.nn as nn + + +class GroupNorm32(nn.GroupNorm): + def forward(self, x): + return super().forward(x.float()).type(x.dtype) + + +def zero_module(module): + """ + Zero out the parameters of a module and return it. + """ + for p in module.parameters(): + p.detach().zero_() + return module + + +def scale_module(module, scale): + """ + Scale the parameters of a module and return it. + """ + for p in module.parameters(): + p.detach().mul_(scale) + return module + + +def mean_flat(tensor): + """ + Take the mean over all non-batch dimensions. + """ + return tensor.mean(dim=list(range(1, len(tensor.shape)))) + + +def normalization(channels): + """ + Make a standard normalization layer. + + :param channels: number of input channels. + :return: an nn.Module for normalization. + """ + return GroupNorm32(32, channels) + + + +def checkpoint(func, inputs, params, flag): + """ + Evaluate a function without caching intermediate activations, allowing for + reduced memory at the expense of extra compute in the backward pass. + + :param func: the function to evaluate. + :param inputs: the argument sequence to pass to `func`. + :param params: a sequence of parameters `func` depends on but does not + explicitly take as arguments. + :param flag: if False, disable gradient checkpointing. + """ + if flag: + args = tuple(inputs) + tuple(params) + return CheckpointFunction.apply(func, len(inputs), *args) + else: + return func(*inputs) + + +class CheckpointFunction(torch.autograd.Function): + @staticmethod + def forward(ctx, run_function, length, *args): + ctx.run_function = run_function + ctx.input_tensors = list(args[:length]) + ctx.input_params = list(args[length:]) + with torch.no_grad(): + output_tensors = ctx.run_function(*ctx.input_tensors) + return output_tensors + + @staticmethod + def backward(ctx, *output_grads): + ctx.input_tensors = [x.detach().requires_grad_(True) for x in ctx.input_tensors] + with torch.enable_grad(): + # Fixes a bug where the first op in run_function modifies the + # Tensor storage in place, which is not allowed for detach()'d + # Tensors. + shallow_copies = [x.view_as(x) for x in ctx.input_tensors] + output_tensors = ctx.run_function(*shallow_copies) + input_grads = torch.autograd.grad( + output_tensors, + ctx.input_tensors + ctx.input_params, + output_grads, + allow_unused=True, + ) + del ctx.input_tensors + del ctx.input_params + del output_tensors + return (None, None) + input_grads + + +def count_flops_attn(model, _x, y): + """ + A counter for the `thop` package to count the operations in an + attention operation. + Meant to be used like: + macs, params = thop.profile( + model, + inputs=(inputs, timestamps), + custom_ops={QKVAttention: QKVAttention.count_flops}, + ) + """ + b, c, *spatial = y[0].shape + num_spatial = int(np.prod(spatial)) + # We perform two matmuls with the same number of ops. + # The first computes the weight matrix, the second computes + # the combination of the value vectors. + matmul_ops = 2 * b * (num_spatial ** 2) * c + model.total_ops += torch.DoubleTensor([matmul_ops]) + + +def gamma_embedding(gammas, dim, max_period=10000): + """ + Create sinusoidal timestep embeddings. + :param gammas: a 1-D Tensor of N indices, one per batch element. + These may be fractional. + :param dim: the dimension of the output. + :param max_period: controls the minimum frequency of the embeddings. + :return: an [N x dim] Tensor of positional embeddings. + """ + half = dim // 2 + freqs = torch.exp( + -math.log(max_period) * torch.arange(start=0, end=half, dtype=torch.float32) / half + ).to(device=gammas.device) + args = gammas[:, None].float() * freqs[None] + embedding = torch.cat([torch.cos(args), torch.sin(args)], dim=-1) + if dim % 2: + embedding = torch.cat([embedding, torch.zeros_like(embedding[:, :1])], dim=-1) + return embedding \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/palette_convnext_ca/unet.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/palette_convnext_ca/unet.py new file mode 100644 index 0000000000000000000000000000000000000000..218883a258d99d0d6ee5e0f23d749a271ce5d9b9 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/palette_convnext_ca/unet.py @@ -0,0 +1,560 @@ +from abc import abstractmethod +import math + +import torch +import torch.nn as nn +import torch.nn.functional as F + +from .nn import ( + checkpoint, + zero_module, + normalization, + count_flops_attn, + gamma_embedding +) + +class SiLU(nn.Module): + def forward(self, x): + return x * torch.sigmoid(x) + +class EmbedBlock(nn.Module): + """ + Any module where forward() takes embeddings as a second argument. + """ + + @abstractmethod + def forward(self, x, emb): + """ + Apply the module to `x` given `emb` embeddings. + """ + +class EmbedSequential(nn.Sequential, EmbedBlock): + """ + A sequential module that passes embeddings to the children that + support it as an extra input. + """ + + def forward(self, x, emb): + for layer in self: + if isinstance(layer, EmbedBlock): + x = layer(x, emb) + else: + x = layer(x) + return x + +class Upsample(nn.Module): + """ + An upsampling layer with an optional convolution. + :param channels: channels in the inputs and outputs. + :param use_conv: a bool determining if a convolution is applied. + + """ + + def __init__(self, channels, use_conv, out_channel=None): + super().__init__() + self.channels = channels + self.out_channel = out_channel or channels + self.use_conv = use_conv + if use_conv: + self.conv = nn.Conv2d(self.channels, self.out_channel, 3, padding=1) + + def forward(self, x): + assert x.shape[1] == self.channels + x = F.interpolate(x, scale_factor=2, mode="nearest") + if self.use_conv: + x = self.conv(x) + return x + +class Downsample(nn.Module): + """ + A downsampling layer with an optional convolution. + :param channels: channels in the inputs and outputs. + :param use_conv: a bool determining if a convolution is applied. + """ + + def __init__(self, channels, use_conv, out_channel=None): + super().__init__() + self.channels = channels + self.out_channel = out_channel or channels + self.use_conv = use_conv + stride = 2 + if use_conv: + self.op = nn.Conv2d( + self.channels, self.out_channel, 3, stride=stride, padding=1 + ) + else: + assert self.channels == self.out_channel + self.op = nn.AvgPool2d(kernel_size=stride, stride=stride) + + def forward(self, x): + assert x.shape[1] == self.channels + return self.op(x) + + +class ResBlock(EmbedBlock): + """ + A residual block that can optionally change the number of channels. + :param channels: the number of input channels. + :param emb_channels: the number of embedding channels. + :param dropout: the rate of dropout. + :param out_channel: if specified, the number of out channels. + :param use_conv: if True and out_channel is specified, use a spatial + convolution instead of a smaller 1x1 convolution to change the + channels in the skip connection. + :param use_checkpoint: if True, use gradient checkpointing on this module. + :param up: if True, use this block for upsampling. + :param down: if True, use this block for downsampling. + """ + + def __init__( + self, + channels, + emb_channels, + dropout, + out_channel=None, + use_conv=False, + use_scale_shift_norm=False, + use_checkpoint=False, + up=False, + down=False, + ): + super().__init__() + self.channels = channels + self.emb_channels = emb_channels + self.dropout = dropout + self.out_channel = out_channel or channels + self.use_conv = use_conv + self.use_checkpoint = use_checkpoint + self.use_scale_shift_norm = use_scale_shift_norm + + self.in_layers = nn.Sequential( + normalization(channels), + SiLU(), + nn.Conv2d(channels, self.out_channel, 3, padding=1), + ) + + self.updown = up or down + + if up: + self.h_upd = Upsample(channels, False) + self.x_upd = Upsample(channels, False) + elif down: + self.h_upd = Downsample(channels, False) + self.x_upd = Downsample(channels, False) + else: + self.h_upd = self.x_upd = nn.Identity() + + self.emb_layers = nn.Sequential( + SiLU(), + nn.Linear( + emb_channels, + 2 * self.out_channel if use_scale_shift_norm else self.out_channel, + ), + ) + self.out_layers = nn.Sequential( + normalization(self.out_channel), + SiLU(), + nn.Dropout(p=dropout), + zero_module( + nn.Conv2d(self.out_channel, self.out_channel, 3, padding=1) + ), + ) + + if self.out_channel == channels: + self.skip_connection = nn.Identity() + elif use_conv: + self.skip_connection = nn.Conv2d( + channels, self.out_channel, 3, padding=1 + ) + else: + self.skip_connection = nn.Conv2d(channels, self.out_channel, 1) + + def forward(self, x, emb): + """ + Apply the block to a Tensor, conditioned on a embedding. + :param x: an [N x C x ...] Tensor of features. + :param emb: an [N x emb_channels] Tensor of embeddings. + :return: an [N x C x ...] Tensor of outputs. + """ + return checkpoint( + self._forward, (x, emb), self.parameters(), self.use_checkpoint + ) + + def _forward(self, x, emb): + if self.updown: + in_rest, in_conv = self.in_layers[:-1], self.in_layers[-1] + h = in_rest(x) + h = self.h_upd(h) + x = self.x_upd(x) + h = in_conv(h) + else: + h = self.in_layers(x) + emb_out = self.emb_layers(emb).type(h.dtype) + while len(emb_out.shape) < len(h.shape): + emb_out = emb_out[..., None] + if self.use_scale_shift_norm: + out_norm, out_rest = self.out_layers[0], self.out_layers[1:] + scale, shift = torch.chunk(emb_out, 2, dim=1) + h = out_norm(h) * (1 + scale) + shift + h = out_rest(h) + else: + h = h + emb_out + h = self.out_layers(h) + return self.skip_connection(x) + h + +class AttentionBlock(nn.Module): + """ + An attention block that allows spatial positions to attend to each other. + Originally ported from here, but adapted to the N-d case. + https://github.com/hojonathanho/diffusion/blob/1e0dceb3b3495bbe19116a5e1b3596cd0706c543/diffusion_tf/models/unet.py#L66. + """ + + def __init__( + self, + channels, + num_heads=1, + num_head_channels=-1, + use_checkpoint=False, + use_new_attention_order=False, + ): + super().__init__() + self.channels = channels + if num_head_channels == -1: + self.num_heads = num_heads + else: + assert ( + channels % num_head_channels == 0 + ), f"q,k,v channels {channels} is not divisible by num_head_channels {num_head_channels}" + self.num_heads = channels // num_head_channels + self.use_checkpoint = use_checkpoint + self.norm = normalization(channels) + self.qkv = nn.Conv1d(channels, channels * 3, 1) + if use_new_attention_order: + # split qkv before split heads + self.attention = QKVAttention(self.num_heads) + else: + # split heads before split qkv + self.attention = QKVAttentionLegacy(self.num_heads) + + self.proj_out = zero_module(nn.Conv1d(channels, channels, 1)) + + def forward(self, x): + return checkpoint(self._forward, (x,), self.parameters(), True) + + def _forward(self, x): + b, c, *spatial = x.shape + x = x.reshape(b, c, -1) + qkv = self.qkv(self.norm(x)) + h = self.attention(qkv) + h = self.proj_out(h) + return (x + h).reshape(b, c, *spatial) + + +class QKVAttentionLegacy(nn.Module): + """ + A module which performs QKV attention. Matches legacy QKVAttention + input/ouput heads shaping + """ + + def __init__(self, n_heads): + super().__init__() + self.n_heads = n_heads + + def forward(self, qkv): + """ + Apply QKV attention. + :param qkv: an [N x (H * 3 * C) x T] tensor of Qs, Ks, and Vs. + :return: an [N x (H * C) x T] tensor after attention. + """ + bs, width, length = qkv.shape + assert width % (3 * self.n_heads) == 0 + ch = width // (3 * self.n_heads) + q, k, v = qkv.reshape(bs * self.n_heads, ch * 3, length).split(ch, dim=1) + scale = 1 / math.sqrt(math.sqrt(ch)) + weight = torch.einsum( + "bct,bcs->bts", q * scale, k * scale + ) # More stable with f16 than dividing afterwards + weight = torch.softmax(weight.float(), dim=-1).type(weight.dtype) + a = torch.einsum("bts,bcs->bct", weight, v) + return a.reshape(bs, -1, length) + + @staticmethod + def count_flops(model, _x, y): + return count_flops_attn(model, _x, y) + + +class QKVAttention(nn.Module): + """ + A module which performs QKV attention and splits in a different order. + """ + + def __init__(self, n_heads): + super().__init__() + self.n_heads = n_heads + + def forward(self, qkv): + """ + Apply QKV attention. + :param qkv: an [N x (3 * H * C) x T] tensor of Qs, Ks, and Vs. + :return: an [N x (H * C) x T] tensor after attention. + """ + bs, width, length = qkv.shape + assert width % (3 * self.n_heads) == 0 + ch = width // (3 * self.n_heads) + q, k, v = qkv.chunk(3, dim=1) + scale = 1 / math.sqrt(math.sqrt(ch)) + weight = torch.einsum( + "bct,bcs->bts", + (q * scale).view(bs * self.n_heads, ch, length), + (k * scale).view(bs * self.n_heads, ch, length), + ) # More stable with f16 than dividing afterwards + weight = torch.softmax(weight.float(), dim=-1).type(weight.dtype) + a = torch.einsum("bts,bcs->bct", weight, v.reshape(bs * self.n_heads, ch, length)) + return a.reshape(bs, -1, length) + + @staticmethod + def count_flops(model, _x, y): + return count_flops_attn(model, _x, y) + +class UNet(nn.Module): + """ + The full UNet model with attention and embedding. + :param in_channel: channels in the input Tensor, for image colorization : Y_channels + X_channels . + :param inner_channel: base channel count for the model. + :param out_channel: channels in the output Tensor. + :param res_blocks: number of residual blocks per downsample. + :param attn_res: a collection of downsample rates at which + attention will take place. May be a set, list, or tuple. + For example, if this contains 4, then at 4x downsampling, attention + will be used. + :param dropout: the dropout probability. + :param channel_mults: channel multiplier for each level of the UNet. + :param conv_resample: if True, use learned convolutions for upsampling and + downsampling. + :param use_checkpoint: use gradient checkpointing to reduce memory usage. + :param num_heads: the number of attention heads in each attention layer. + :param num_heads_channels: if specified, ignore num_heads and instead use + a fixed channel width per attention head. + :param num_heads_upsample: works with num_heads to set a different number + of heads for upsampling. Deprecated. + :param use_scale_shift_norm: use a FiLM-like conditioning mechanism. + :param resblock_updown: use residual blocks for up/downsampling. + :param use_new_attention_order: use a different attention pattern for potentially + increased efficiency. + """ + + def __init__( + self, + image_size, + in_channel, + inner_channel, + out_channel, + res_blocks, + attn_res, + dropout=0, + channel_mults=(1, 2, 4, 8), + conv_resample=True, + use_checkpoint=False, + use_fp16=False, + num_heads=1, + num_head_channels=-1, + num_heads_upsample=-1, + use_scale_shift_norm=True, + resblock_updown=True, + use_new_attention_order=False, + ): + + super().__init__() + + if num_heads_upsample == -1: + num_heads_upsample = num_heads + + self.image_size = image_size + self.in_channel = in_channel + self.inner_channel = inner_channel + self.out_channel = out_channel + self.res_blocks = res_blocks + self.attn_res = attn_res + self.dropout = dropout + self.channel_mults = channel_mults + self.conv_resample = conv_resample + self.use_checkpoint = use_checkpoint + self.dtype = torch.float16 if use_fp16 else torch.float32 + self.num_heads = num_heads + self.num_head_channels = num_head_channels + self.num_heads_upsample = num_heads_upsample + + cond_embed_dim = inner_channel * 4 + self.cond_embed = nn.Sequential( + nn.Linear(inner_channel, cond_embed_dim), + SiLU(), + nn.Linear(cond_embed_dim, cond_embed_dim), + ) + + ch = input_ch = int(channel_mults[0] * inner_channel) + self.input_blocks = nn.ModuleList( + [EmbedSequential(nn.Conv2d(in_channel, ch, 3, padding=1))] + ) + self._feature_size = ch + input_block_chans = [ch] + ds = 1 + for level, mult in enumerate(channel_mults): + for _ in range(res_blocks): + layers = [ + ResBlock( + ch, + cond_embed_dim, + dropout, + out_channel=int(mult * inner_channel), + use_checkpoint=use_checkpoint, + use_scale_shift_norm=use_scale_shift_norm, + ) + ] + ch = int(mult * inner_channel) + if ds in attn_res: + layers.append( + AttentionBlock( + ch, + use_checkpoint=use_checkpoint, + num_heads=num_heads, + num_head_channels=num_head_channels, + use_new_attention_order=use_new_attention_order, + ) + ) + self.input_blocks.append(EmbedSequential(*layers)) + self._feature_size += ch + input_block_chans.append(ch) + if level != len(channel_mults) - 1: + out_ch = ch + self.input_blocks.append( + EmbedSequential( + ResBlock( + ch, + cond_embed_dim, + dropout, + out_channel=out_ch, + use_checkpoint=use_checkpoint, + use_scale_shift_norm=use_scale_shift_norm, + down=True, + ) + if resblock_updown + else Downsample( + ch, conv_resample, out_channel=out_ch + ) + ) + ) + ch = out_ch + input_block_chans.append(ch) + ds *= 2 + self._feature_size += ch + + self.middle_block = EmbedSequential( + ResBlock( + ch, + cond_embed_dim, + dropout, + use_checkpoint=use_checkpoint, + use_scale_shift_norm=use_scale_shift_norm, + ), + AttentionBlock( + ch, + use_checkpoint=use_checkpoint, + num_heads=num_heads, + num_head_channels=num_head_channels, + use_new_attention_order=use_new_attention_order, + ), + ResBlock( + ch, + cond_embed_dim, + dropout, + use_checkpoint=use_checkpoint, + use_scale_shift_norm=use_scale_shift_norm, + ), + ) + self._feature_size += ch + + self.output_blocks = nn.ModuleList([]) + for level, mult in list(enumerate(channel_mults))[::-1]: + for i in range(res_blocks + 1): + ich = input_block_chans.pop() + layers = [ + ResBlock( + ch + ich, + cond_embed_dim, + dropout, + out_channel=int(inner_channel * mult), + use_checkpoint=use_checkpoint, + use_scale_shift_norm=use_scale_shift_norm, + ) + ] + ch = int(inner_channel * mult) + if ds in attn_res: + layers.append( + AttentionBlock( + ch, + use_checkpoint=use_checkpoint, + num_heads=num_heads_upsample, + num_head_channels=num_head_channels, + use_new_attention_order=use_new_attention_order, + ) + ) + if level and i == res_blocks: + out_ch = ch + layers.append( + ResBlock( + ch, + cond_embed_dim, + dropout, + out_channel=out_ch, + use_checkpoint=use_checkpoint, + use_scale_shift_norm=use_scale_shift_norm, + up=True, + ) + if resblock_updown + else Upsample(ch, conv_resample, out_channel=out_ch) + ) + ds //= 2 + self.output_blocks.append(EmbedSequential(*layers)) + self._feature_size += ch + + self.out = nn.Sequential( + normalization(ch), + SiLU(), + zero_module(nn.Conv2d(input_ch, out_channel, 3, padding=1)), + ) + + def forward(self, x, gammas): + """ + Apply the model to an input batch. + :param x: an [N x 2 x ...] Tensor of inputs (B&W) + :param gammas: a 1-D batch of gammas. # 2000 190 + :return: an [N x C x ...] Tensor of outputs. + """ + hs = [] + gammas = gammas.view(-1, ) # [bs] + emb = self.cond_embed(gamma_embedding(gammas, self.inner_channel)) # [bs, 64*4] + + h = x.type(torch.float32) + for module in self.input_blocks: + h = module(h, emb) + hs.append(h) + h = self.middle_block(h, emb) + for module in self.output_blocks: + h = torch.cat([h, hs.pop()], dim=1) + h = module(h, emb) + h = h.type(x.dtype) + return self.out(h) + +if __name__ == '__main__': + b, c, h, w = 3, 6, 64, 64 + timsteps = 100 + model = UNet( + image_size=h, + in_channel=c, + inner_channel=64, + out_channel=3, + res_blocks=2, + attn_res=[8] + ) + x = torch.randn((b, c, h, w)) + emb = torch.ones((b, )) + out = model(x, emb) \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/sr3_modules/unet.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/sr3_modules/unet.py new file mode 100644 index 0000000000000000000000000000000000000000..28844a0755644d0b946bbd66227053a1dd079d3a --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/models/sr3_modules/unet.py @@ -0,0 +1,251 @@ +import math +import torch +from torch import nn +from inspect import isfunction + +class UNet(nn.Module): + def __init__( + self, + in_channel=6, + out_channel=3, + inner_channel=32, + norm_groups=32, + channel_mults=(1, 2, 4, 8, 8), + attn_res=(8), + res_blocks=3, + dropout=0, + with_noise_level_emb=True, + image_size=128 + ): + super().__init__() + + if with_noise_level_emb: + noise_level_channel = inner_channel + self.noise_level_mlp = nn.Sequential( + PositionalEncoding(inner_channel), + nn.Linear(inner_channel, inner_channel * 4), + Swish(), + nn.Linear(inner_channel * 4, inner_channel) + ) + else: + noise_level_channel = None + self.noise_level_mlp = None + + num_mults = len(channel_mults) + pre_channel = inner_channel + feat_channels = [pre_channel] + now_res = image_size + downs = [nn.Conv2d(in_channel, inner_channel, + kernel_size=3, padding=1)] + for ind in range(num_mults): + is_last = (ind == num_mults - 1) + use_attn = (now_res in attn_res) + channel_mult = inner_channel * channel_mults[ind] + for _ in range(0, res_blocks): + downs.append(ResnetBlocWithAttn( + pre_channel, channel_mult, noise_level_emb_dim=noise_level_channel, norm_groups=norm_groups, dropout=dropout, with_attn=use_attn)) + feat_channels.append(channel_mult) + pre_channel = channel_mult + if not is_last: + downs.append(Downsample(pre_channel)) + feat_channels.append(pre_channel) + now_res = now_res//2 + self.downs = nn.ModuleList(downs) + + self.mid = nn.ModuleList([ + ResnetBlocWithAttn(pre_channel, pre_channel, noise_level_emb_dim=noise_level_channel, norm_groups=norm_groups, + dropout=dropout, with_attn=True), + ResnetBlocWithAttn(pre_channel, pre_channel, noise_level_emb_dim=noise_level_channel, norm_groups=norm_groups, + dropout=dropout, with_attn=False) + ]) + + ups = [] + for ind in reversed(range(num_mults)): + is_last = (ind < 1) + use_attn = (now_res in attn_res) + channel_mult = inner_channel * channel_mults[ind] + for _ in range(0, res_blocks+1): + ups.append(ResnetBlocWithAttn( + pre_channel+feat_channels.pop(), channel_mult, noise_level_emb_dim=noise_level_channel, norm_groups=norm_groups, + dropout=dropout, with_attn=use_attn)) + pre_channel = channel_mult + if not is_last: + ups.append(Upsample(pre_channel)) + now_res = now_res*2 + + self.ups = nn.ModuleList(ups) + + self.final_conv = Block(pre_channel, default(out_channel, in_channel), groups=norm_groups) + + def forward(self, x, time): + t = self.noise_level_mlp(time) if exists( + self.noise_level_mlp) else None + + feats = [] + for layer in self.downs: + if isinstance(layer, ResnetBlocWithAttn): + x = layer(x, t) + else: + x = layer(x) + feats.append(x) + + for layer in self.mid: + if isinstance(layer, ResnetBlocWithAttn): + x = layer(x, t) + else: + x = layer(x) + + for layer in self.ups: + if isinstance(layer, ResnetBlocWithAttn): + x = layer(torch.cat((x, feats.pop()), dim=1), t) + else: + x = layer(x) + + return self.final_conv(x) + + +# PositionalEncoding Source: https://github.com/lmnt-com/wavegrad/blob/master/src/wavegrad/model.py +class PositionalEncoding(nn.Module): + def __init__(self, dim): + super().__init__() + self.dim = dim + + def forward(self, noise_level): + count = self.dim // 2 + step = torch.arange(count, dtype=noise_level.dtype, device=noise_level.device) / count + encoding = noise_level.unsqueeze(1) * torch.exp(-math.log(1e4) * step.unsqueeze(0)) + encoding = torch.cat([torch.sin(encoding), torch.cos(encoding)], dim=-1) + return encoding + + +class FeatureWiseAffine(nn.Module): + def __init__(self, in_channels, out_channels, use_affine_level=False): + super(FeatureWiseAffine, self).__init__() + self.use_affine_level = use_affine_level + self.noise_func = nn.Sequential( + nn.Linear(in_channels, out_channels*(1+self.use_affine_level)) + ) + + def forward(self, x, noise_embed): + batch = x.shape[0] + if self.use_affine_level: + gamma, beta = self.noise_func(noise_embed).view(batch, -1, 1, 1).chunk(2, dim=1) + x = (1 + gamma) * x + beta + else: + x = x + self.noise_func(noise_embed).view(batch, -1, 1, 1) + return x + + +class Swish(nn.Module): + def forward(self, x): + return x * torch.sigmoid(x) + + +class Upsample(nn.Module): + def __init__(self, dim): + super().__init__() + self.up = nn.Upsample(scale_factor=2, mode="nearest") + self.conv = nn.Conv2d(dim, dim, 3, padding=1) + + def forward(self, x): + return self.conv(self.up(x)) + + +class Downsample(nn.Module): + def __init__(self, dim): + super().__init__() + self.conv = nn.Conv2d(dim, dim, 3, 2, 1) + + def forward(self, x): + return self.conv(x) + + +# building block modules + + +class Block(nn.Module): + def __init__(self, dim, dim_out, groups=32, dropout=0): + super().__init__() + self.block = nn.Sequential( + nn.GroupNorm(groups, dim), + Swish(), + nn.Dropout(dropout) if dropout != 0 else nn.Identity(), + nn.Conv2d(dim, dim_out, 3, padding=1) + ) + + def forward(self, x): + return self.block(x) + + +class ResnetBlock(nn.Module): + def __init__(self, dim, dim_out, noise_level_emb_dim=None, dropout=0, use_affine_level=False, norm_groups=32): + super().__init__() + self.noise_func = FeatureWiseAffine(noise_level_emb_dim, dim_out, use_affine_level) + + self.block1 = Block(dim, dim_out, groups=norm_groups) + self.block2 = Block(dim_out, dim_out, groups=norm_groups, dropout=dropout) + self.res_conv = nn.Conv2d( + dim, dim_out, 1) if dim != dim_out else nn.Identity() + + def forward(self, x, time_emb): + b, c, h, w = x.shape + h = self.block1(x) + h = self.noise_func(h, time_emb) + h = self.block2(h) + return h + self.res_conv(x) + + +class SelfAttention(nn.Module): + def __init__(self, in_channel, n_head=1, norm_groups=32): + super().__init__() + + self.n_head = n_head + + self.norm = nn.GroupNorm(norm_groups, in_channel) + self.qkv = nn.Conv2d(in_channel, in_channel * 3, 1, bias=False) + self.out = nn.Conv2d(in_channel, in_channel, 1) + + def forward(self, input): + batch, channel, height, width = input.shape + n_head = self.n_head + head_dim = channel // n_head + + norm = self.norm(input) + qkv = self.qkv(norm).view(batch, n_head, head_dim * 3, height, width) + query, key, value = qkv.chunk(3, dim=2) # bhdyx + + attn = torch.einsum("bnchw, bncyx -> bnhwyx", query, key).contiguous() / math.sqrt(channel) + attn = attn.view(batch, n_head, height, width, -1) + attn = torch.softmax(attn, -1) + attn = attn.view(batch, n_head, height, width, height, width) + + out = torch.einsum("bnhwyx, bncyx -> bnchw", attn, value).contiguous() + out = self.out(out.view(batch, channel, height, width)) + + return out + input + + +class ResnetBlocWithAttn(nn.Module): + def __init__(self, dim, dim_out, *, noise_level_emb_dim=None, norm_groups=32, dropout=0, with_attn=False): + super().__init__() + self.with_attn = with_attn + self.res_block = ResnetBlock( + dim, dim_out, noise_level_emb_dim, norm_groups=norm_groups, dropout=dropout) + if with_attn: + self.attn = SelfAttention(dim_out, norm_groups=norm_groups) + + def forward(self, x, time_emb): + x = self.res_block(x, time_emb) + if(self.with_attn): + x = self.attn(x) + return x + + +def exists(x): + return x is not None + + +def default(val, d): + if exists(val): + return val + return d() if isfunction(d) else d diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/new_eval.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/new_eval.py new file mode 100644 index 0000000000000000000000000000000000000000..e980d3809cd0db264e18b0c663ae4706755f7f17 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/new_eval.py @@ -0,0 +1,34 @@ +import shutil +from glob import glob +import os +import cv2 +import numpy as np +from psnr_ssim import calculate_psnr +from skimage.measure import compare_ssim as calculate_ssim +from tqdm import tqdm +from fid_lpips import calculate_fid, calculate_lpips +from tqdm import tqdm +import warnings +warnings.filterwarnings("ignore") +src=glob("experiments/test_nafnet16_1xb8_e3000_dpms_s20_noinp_230520_022926/results/**/*GT*.png", recursive=True) +dst=glob("experiments/test_nafnet16_1xb8_e3000_dpms_s20_noinp_230520_022926/results/**/*Out*.png", recursive=True) +psnr_list = [] +ssim_list = [] +for i, j in tqdm(zip(src, dst), total=len(src)): + img1 = cv2.imread(i) + img2 = cv2.imread(j) + psnr = calculate_psnr(img1, img2, 0) + ssim = calculate_ssim(img1, img2, multichannel = True, gaussian_weights = True, use_sample_covariance = False, sigma = 1.5) + psnr_list.append(psnr) + ssim_list.append(ssim) +print("PSNR: ", np.mean(psnr_list)) +print("SSIM: ", np.mean(ssim_list)) +new_src = "experiments/test_nafnet16_1xb8_e3000_dpms_s20_noinp_230520_022926/results/GT" +new_dst = "experiments/test_nafnet16_1xb8_e3000_dpms_s20_noinp_230520_022926/results/Out" +os.makedirs(new_src, exist_ok=True) +os.makedirs(new_dst, exist_ok=True) +for i, j in tqdm(zip(src, dst), total=len(src)): + shutil.copy(i, os.path.join(new_src, os.path.basename(i))) + shutil.copy(j, os.path.join(new_dst, os.path.basename(j))) +calculate_fid(new_src, new_dst) +calculate_lpips(new_src, new_dst) diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/plot.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/plot.py new file mode 100644 index 0000000000000000000000000000000000000000..6ceb2d86bad2275bd2d9d75939ecd582a0729a22 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/plot.py @@ -0,0 +1,17 @@ +import os +import imageio +from matplotlib import animation +from matplotlib import pyplot as plt +import glob + + +root = "experiments/train_palette_multi_tanh_x0_230329_101828/results/val" +imgs_path = glob.glob(os.path.join(root, "*", "Out*18.png")) +ims = [] +fig, ax = plt.subplots(tight_layout=True) +plt.axis("off") +for index, img_path in enumerate(imgs_path): + ttl = plt.text(0.5, 1.01, f"Epoch {5*(index+1)}", horizontalalignment='center', verticalalignment='bottom', transform=ax.transAxes, fontsize="large") + ims.append([plt.imshow(plt.imread(img_path), animated=True),ttl]) +ani = animation.ArtistAnimation(fig, ims, interval=1000, repeat_delay=1000, blit=True) +ani.save("pred_x0_18.gif") diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/psnr_ssim.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/psnr_ssim.py new file mode 100644 index 0000000000000000000000000000000000000000..0dbfaab251af0410e73073b563b5cb827252a156 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/psnr_ssim.py @@ -0,0 +1,406 @@ +import cv2 +import numpy as np +import torch +from tqdm import tqdm +from glob import glob + + +def _convert_input_type_range(img): + """Convert the type and range of the input image. + It converts the input image to np.float32 type and range of [0, 1]. + It is mainly used for pre-processing the input image in colorspace + convertion functions such as rgb2ycbcr and ycbcr2rgb. + Args: + img (ndarray): The input image. It accepts: + 1. np.uint8 type with range [0, 255]; + 2. np.float32 type with range [0, 1]. + Returns: + (ndarray): The converted image with type of np.float32 and range of + [0, 1]. + """ + img_type = img.dtype + img = img.astype(np.float32) + if img_type == np.float32: + pass + elif img_type == np.uint8: + img /= 255. + else: + raise TypeError('The img type should be np.float32 or np.uint8, ' + f'but got {img_type}') + return img + + +def _convert_output_type_range(img, dst_type): + """Convert the type and range of the image according to dst_type. + It converts the image to desired type and range. If `dst_type` is np.uint8, + images will be converted to np.uint8 type with range [0, 255]. If + `dst_type` is np.float32, it converts the image to np.float32 type with + range [0, 1]. + It is mainly used for post-processing images in colorspace convertion + functions such as rgb2ycbcr and ycbcr2rgb. + Args: + img (ndarray): The image to be converted with np.float32 type and + range [0, 255]. + dst_type (np.uint8 | np.float32): If dst_type is np.uint8, it + converts the image to np.uint8 type with range [0, 255]. If + dst_type is np.float32, it converts the image to np.float32 type + with range [0, 1]. + Returns: + (ndarray): The converted image with desired type and range. + """ + if dst_type not in (np.uint8, np.float32): + raise TypeError('The dst_type should be np.float32 or np.uint8, ' + f'but got {dst_type}') + if dst_type == np.uint8: + img = img.round() + else: + img /= 255. + return img.astype(dst_type) + + +def bgr2ycbcr(img, y_only=False): + """Convert a BGR image to YCbCr image. + The bgr version of rgb2ycbcr. + It implements the ITU-R BT.601 conversion for standard-definition + television. See more details in + https://en.wikipedia.org/wiki/YCbCr#ITU-R_BT.601_conversion. + It differs from a similar function in cv2.cvtColor: `BGR <-> YCrCb`. + In OpenCV, it implements a JPEG conversion. See more details in + https://en.wikipedia.org/wiki/YCbCr#JPEG_conversion. + Args: + img (ndarray): The input image. It accepts: + 1. np.uint8 type with range [0, 255]; + 2. np.float32 type with range [0, 1]. + y_only (bool): Whether to only return Y channel. Default: False. + Returns: + ndarray: The converted YCbCr image. The output image has the same type + and range as input image. + """ + img_type = img.dtype + img = _convert_input_type_range(img) + if y_only: + out_img = np.dot(img, [24.966, 128.553, 65.481]) + 16.0 + else: + out_img = np.matmul( + img, [[24.966, 112.0, -18.214], [128.553, -74.203, -93.786], + [65.481, -37.797, 112.0]]) + [16, 128, 128] + out_img = _convert_output_type_range(out_img, img_type) + return out_img + + +def reorder_image(img, input_order='HWC'): + """Reorder images to 'HWC' order. + + If the input_order is (h, w), return (h, w, 1); + If the input_order is (c, h, w), return (h, w, c); + If the input_order is (h, w, c), return as it is. + + Args: + img (ndarray): Input image. + input_order (str): Whether the input order is 'HWC' or 'CHW'. + If the input image shape is (h, w), input_order will not have + effects. Default: 'HWC'. + + Returns: + ndarray: reordered image. + """ + + if input_order not in ['HWC', 'CHW']: + raise ValueError( + f'Wrong input_order {input_order}. Supported input_orders are ' + "'HWC' and 'CHW'") + if len(img.shape) == 2: + img = img[..., None] + if input_order == 'CHW': + img = img.transpose(1, 2, 0) + return img + + +def to_y_channel(img): + """Change to Y channel of YCbCr. + + Args: + img (ndarray): Images with range [0, 255]. + + Returns: + (ndarray): Images with range [0, 255] (float type) without round. + """ + img = img.astype(np.float32) / 255. + if img.ndim == 3 and img.shape[2] == 3: + img = bgr2ycbcr(img, y_only=True) + img = img[..., None] + return img * 255. + + +def calculate_psnr(img1, + img2, + crop_border, + input_order='HWC', + test_y_channel=False): + """Calculate PSNR (Peak Signal-to-Noise Ratio). + + Ref: https://en.wikipedia.org/wiki/Peak_signal-to-noise_ratio + + Args: + img1 (ndarray/tensor): Images with range [0, 255]/[0, 1]. + img2 (ndarray/tensor): Images with range [0, 255]/[0, 1]. + crop_border (int): Cropped pixels in each edge of an image. These + pixels are not involved in the PSNR calculation. + input_order (str): Whether the input order is 'HWC' or 'CHW'. + Default: 'HWC'. + test_y_channel (bool): Test on Y channel of YCbCr. Default: False. + + Returns: + float: psnr result. + """ + + assert img1.shape == img2.shape, ( + f'Image shapes are differnet: {img1.shape}, {img2.shape}.') + if input_order not in ['HWC', 'CHW']: + raise ValueError( + f'Wrong input_order {input_order}. Supported input_orders are ' + '"HWC" and "CHW"') + if type(img1) == torch.Tensor: + if len(img1.shape) == 4: + img1 = img1.squeeze(0) + img1 = img1.detach().cpu().numpy().transpose(1, 2, 0) + if type(img2) == torch.Tensor: + if len(img2.shape) == 4: + img2 = img2.squeeze(0) + img2 = img2.detach().cpu().numpy().transpose(1, 2, 0) + + img1 = reorder_image(img1, input_order=input_order) + img2 = reorder_image(img2, input_order=input_order) + img1 = img1.astype(np.float64) + img2 = img2.astype(np.float64) + + if crop_border != 0: + img1 = img1[crop_border:-crop_border, crop_border:-crop_border, ...] + img2 = img2[crop_border:-crop_border, crop_border:-crop_border, ...] + + if test_y_channel: + img1 = to_y_channel(img1) + img2 = to_y_channel(img2) + + mse = np.mean((img1 - img2)**2) + if mse == 0: + return float('inf') + max_value = 1. if img1.max() <= 1 else 255. + return 20. * np.log10(max_value / np.sqrt(mse)) + + +def prepare_for_ssim(img, k): + import torch + with torch.no_grad(): + img = torch.from_numpy(img).unsqueeze(0).unsqueeze(0).float() + conv = torch.nn.Conv2d( + 1, 1, k, stride=1, padding=k//2, padding_mode='reflect') + conv.weight.requires_grad = False + conv.weight[:, :, :, :] = 1. / (k * k) + + img = conv(img) + + img = img.squeeze(0).squeeze(0) + img = img[0::k, 0::k] + return img.detach().cpu().numpy() + + +def prepare_for_ssim_rgb(img, k): + import torch + with torch.no_grad(): + img = torch.from_numpy(img).float() # HxWx3 + + conv = torch.nn.Conv2d( + 1, 1, k, stride=1, padding=k // 2, padding_mode='reflect') + conv.weight.requires_grad = False + conv.weight[:, :, :, :] = 1. / (k * k) + + new_img = [] + + for i in range(3): + new_img.append(conv(img[:, :, i].unsqueeze( + 0).unsqueeze(0)).squeeze(0).squeeze(0)[0::k, 0::k]) + + return torch.stack(new_img, dim=2).detach().cpu().numpy() + + +def _3d_gaussian_calculator(img, conv3d): + out = conv3d(img.unsqueeze(0).unsqueeze(0)).squeeze(0).squeeze(0) + return out + + +def _generate_3d_gaussian_kernel(): + kernel = cv2.getGaussianKernel(11, 1.5) + window = np.outer(kernel, kernel.transpose()) + kernel_3 = cv2.getGaussianKernel(11, 1.5) + kernel = torch.tensor(np.stack([window * k for k in kernel_3], axis=0)) + conv3d = torch.nn.Conv3d(1, 1, (11, 11, 11), stride=1, padding=( + 5, 5, 5), bias=False, padding_mode='replicate') + conv3d.weight.requires_grad = False + conv3d.weight[0, 0, :, :, :] = kernel + return conv3d + + +def _ssim_3d(img1, img2, max_value): + assert len(img1.shape) == 3 and len(img2.shape) == 3 + """Calculate SSIM (structural similarity) for one channel images. + + It is called by func:`calculate_ssim`. + + Args: + img1 (ndarray): Images with range [0, 255]/[0, 1] with order 'HWC'. + img2 (ndarray): Images with range [0, 255]/[0, 1] with order 'HWC'. + + Returns: + float: ssim result. + """ + C1 = (0.01 * max_value) ** 2 + C2 = (0.03 * max_value) ** 2 + img1 = img1.astype(np.float64) + img2 = img2.astype(np.float64) + + kernel = _generate_3d_gaussian_kernel().cuda() + + img1 = torch.tensor(img1).float().cuda() + img2 = torch.tensor(img2).float().cuda() + + mu1 = _3d_gaussian_calculator(img1, kernel) + mu2 = _3d_gaussian_calculator(img2, kernel) + + mu1_sq = mu1 ** 2 + mu2_sq = mu2 ** 2 + mu1_mu2 = mu1 * mu2 + sigma1_sq = _3d_gaussian_calculator(img1 ** 2, kernel) - mu1_sq + sigma2_sq = _3d_gaussian_calculator(img2 ** 2, kernel) - mu2_sq + sigma12 = _3d_gaussian_calculator(img1*img2, kernel) - mu1_mu2 + + ssim_map = ((2 * mu1_mu2 + C1) * + (2 * sigma12 + C2)) / ((mu1_sq + mu2_sq + C1) * + (sigma1_sq + sigma2_sq + C2)) + return float(ssim_map.mean()) + + +def _ssim_cly(img1, img2): + assert len(img1.shape) == 2 and len(img2.shape) == 2 + """Calculate SSIM (structural similarity) for one channel images. + + It is called by func:`calculate_ssim`. + + Args: + img1 (ndarray): Images with range [0, 255] with order 'HWC'. + img2 (ndarray): Images with range [0, 255] with order 'HWC'. + + Returns: + float: ssim result. + """ + + C1 = (0.01 * 255)**2 + C2 = (0.03 * 255)**2 + img1 = img1.astype(np.float64) + img2 = img2.astype(np.float64) + + kernel = cv2.getGaussianKernel(11, 1.5) + # print(kernel) + window = np.outer(kernel, kernel.transpose()) + + bt = cv2.BORDER_REPLICATE + + mu1 = cv2.filter2D(img1, -1, window, borderType=bt) + mu2 = cv2.filter2D(img2, -1, window, borderType=bt) + + mu1_sq = mu1**2 + mu2_sq = mu2**2 + mu1_mu2 = mu1 * mu2 + sigma1_sq = cv2.filter2D(img1**2, -1, window, borderType=bt) - mu1_sq + sigma2_sq = cv2.filter2D(img2**2, -1, window, borderType=bt) - mu2_sq + sigma12 = cv2.filter2D(img1 * img2, -1, window, borderType=bt) - mu1_mu2 + + ssim_map = ((2 * mu1_mu2 + C1) * + (2 * sigma12 + C2)) / ((mu1_sq + mu2_sq + C1) * + (sigma1_sq + sigma2_sq + C2)) + return ssim_map.mean() + + +def calculate_ssim(img1, + img2, + crop_border, + input_order='HWC', + test_y_channel=False): + """Calculate SSIM (structural similarity). + + Ref: + Image quality assessment: From error visibility to structural similarity + + The results are the same as that of the official released MATLAB code in + https://ece.uwaterloo.ca/~z70wang/research/ssim/. + + For three-channel images, SSIM is calculated for each channel and then + averaged. + + Args: + img1 (ndarray): Images with range [0, 255]. + img2 (ndarray): Images with range [0, 255]. + crop_border (int): Cropped pixels in each edge of an image. These + pixels are not involved in the SSIM calculation. + input_order (str): Whether the input order is 'HWC' or 'CHW'. + Default: 'HWC'. + test_y_channel (bool): Test on Y channel of YCbCr. Default: False. + + Returns: + float: ssim result. + """ + + assert img1.shape == img2.shape, ( + f'Image shapes are differnet: {img1.shape}, {img2.shape}.') + if input_order not in ['HWC', 'CHW']: + raise ValueError( + f'Wrong input_order {input_order}. Supported input_orders are ' + '"HWC" and "CHW"') + + if type(img1) == torch.Tensor: + if len(img1.shape) == 4: + img1 = img1.squeeze(0) + img1 = img1.detach().cpu().numpy().transpose(1, 2, 0) + if type(img2) == torch.Tensor: + if len(img2.shape) == 4: + img2 = img2.squeeze(0) + img2 = img2.detach().cpu().numpy().transpose(1, 2, 0) + + img1 = reorder_image(img1, input_order=input_order) + img2 = reorder_image(img2, input_order=input_order) + + img1 = img1.astype(np.float64) + img2 = img2.astype(np.float64) + + if crop_border != 0: + img1 = img1[crop_border:-crop_border, crop_border:-crop_border, ...] + img2 = img2[crop_border:-crop_border, crop_border:-crop_border, ...] + + if test_y_channel: + img1 = to_y_channel(img1) + img2 = to_y_channel(img2) + return _ssim_cly(img1[..., 0], img2[..., 0]) + + ssims = [] + max_value = 1 if img1.max() <= 1 else 255 + with torch.no_grad(): + final_ssim = _ssim_3d(img1, img2, max_value) + ssims.append(final_ssim) + + return np.array(ssims).mean() + + +if __name__=='__main__': + src = "../0/GT" + dst = "../0/Out" + psnr_list = [] + ssim_list = [] + for i, j in tqdm(zip(glob(src + "/*"), glob(dst + "/*")), total=len(glob(src + "/*"))): + img1 = cv2.imread(i) + img2 = cv2.imread(j) + psnr = calculate_psnr(img1, img2, 0) + ssim = calculate_ssim(img1, img2, 0) + psnr_list.append(psnr) + ssim_list.append(ssim) + print("PSNR: ", np.mean(psnr_list)) + print("SSIM: ", np.mean(ssim_list)) diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/run.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/run.py new file mode 100644 index 0000000000000000000000000000000000000000..b36f94cbc30c0585a0a11318fb63023982f98168 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/run.py @@ -0,0 +1,92 @@ +import argparse +import os +import warnings +import torch +import torch.multiprocessing as mp + +from core.logger import VisualWriter, InfoLogger +import core.praser as Praser +import core.util as Util +from data import define_dataloader +from models import create_model, define_network, define_loss, define_metric + +def main_worker(gpu, ngpus_per_node, opt): + """ threads running on each GPU """ + if 'local_rank' not in opt: + opt['local_rank'] = opt['global_rank'] = gpu + if opt['distributed']: + torch.cuda.set_device(int(opt['local_rank'])) + print('using GPU {} for training'.format(int(opt['local_rank']))) + torch.distributed.init_process_group(backend = 'nccl', + init_method = opt['init_method'], + world_size = opt['world_size'], + rank = opt['global_rank'], + group_name='mtorch' + ) + '''set seed and and cuDNN environment ''' + torch.backends.cudnn.enabled = True + # warnings.warn('You have chosen to use cudnn for accleration. torch.backends.cudnn.enabled=True') + Util.set_seed(opt['seed']) + + ''' set logger ''' + phase_logger = InfoLogger(opt) + phase_writer = VisualWriter(opt, phase_logger) + phase_logger.info('Create the log file in directory {}.\n'.format(opt['path']['experiments_root'])) + + '''set networks and dataset''' + phase_loader, val_loader = define_dataloader(phase_logger, opt) # val_loader is None if phase is test. + networks = [define_network(phase_logger, opt, item_opt) for item_opt in opt['model']['which_networks']] + + ''' set metrics, loss, optimizer and schedulers ''' + metrics = [define_metric(phase_logger, item_opt) for item_opt in opt['model']['which_metrics']] + losses = [define_loss(phase_logger, item_opt) for item_opt in opt['model']['which_losses']] + + model = create_model( + opt = opt, + networks = networks, + phase_loader = phase_loader, + val_loader = val_loader, + losses = losses, + metrics = metrics, + logger = phase_logger, + writer = phase_writer + ) + + phase_logger.info('Begin model {}.'.format(opt['phase'])) + try: + if opt['phase'] == 'train': + model.train() + else: + model.test() + finally: + phase_writer.close() + + +if __name__ == '__main__': + parser = argparse.ArgumentParser() + parser.add_argument('-c', '--config', type=str, default='config/colorization_mirflickr25k.json', help='JSON file for configuration') + parser.add_argument('-p', '--phase', type=str, choices=['train','test'], help='Run train or test', default='train') + parser.add_argument('-b', '--batch', type=int, default=None, help='Batch size in every gpu') + parser.add_argument('-gpu', '--gpu_ids', type=str, default=None) + parser.add_argument('-d', '--debug', action='store_true') + parser.add_argument('-P', '--port', default='21012', type=str) + + ''' parser configs ''' + args = parser.parse_args() + opt = Praser.parse(args) + + ''' cuda devices ''' + gpu_str = ','.join(str(x) for x in opt['gpu_ids']) + os.environ['CUDA_VISIBLE_DEVICES'] = gpu_str + print('export CUDA_VISIBLE_DEVICES={}'.format(gpu_str)) + + ''' use DistributedDataParallel(DDP) and multiprocessing for multi-gpu training''' + # [Todo]: multi GPU on multi machine + if opt['distributed']: + ngpus_per_node = len(opt['gpu_ids']) # or torch.cuda.device_count() + opt['world_size'] = ngpus_per_node + opt['init_method'] = 'tcp://127.0.0.1:'+ args.port + mp.spawn(main_worker, nprocs=ngpus_per_node, args=(ngpus_per_node, opt)) + else: + opt['world_size'] = 1 + main_worker(0, 1, opt) \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/slurm/inpainting_places2.slurm b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/slurm/inpainting_places2.slurm new file mode 100644 index 0000000000000000000000000000000000000000..38aabf02f73f3642e6a23274d393be52847a74c0 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/code/slurm/inpainting_places2.slurm @@ -0,0 +1,7 @@ +#!/bin/bash +#SBATCH -o experiments/slurm.log +#SBATCH -J base +#SBATCH -p dell +#SBATCH --gres=gpu:4 +#SBATCH -c 16 +python run.py -c config/inpainting_places2.json -gpu 0,1,2,3 -b 8 diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/config.json b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/config.json new file mode 100644 index 0000000000000000000000000000000000000000..02352f96c42b0d1238d189470bb50dce40d23079 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/config.json @@ -0,0 +1,160 @@ +{ + "name": "train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3", + "gpu_ids": [ + 2 + ], + "seed": -1, + "finetune_norm": false, + "path": { + "base_dir": "experiments", + "code": "code", + "tb_logger": "tb_logger", + "results": "results", + "checkpoint": "checkpoint", + "resume_state": null + }, + "datasets": { + "train": { + "which_dataset": { + "name": [ + "data.dataset", + "Sen2_MTC_New_Multi" + ], + "args": { + "data_root": "../pmaa/data", + "mode": "train" + } + }, + "dataloader": { + "validation_split": 2, + "args": { + "batch_size": 8, + "num_workers": 8, + "shuffle": true, + "pin_memory": true, + "drop_last": true + }, + "val_args": { + "batch_size": 1, + "num_workers": 1, + "shuffle": false, + "pin_memory": true, + "drop_last": false + } + } + }, + "val": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "../pmaa/data", + "mode": "val" + } + } + }, + "test": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "../pmaa/data", + "mode": "test" + } + }, + "dataloader": { + "args": { + "batch_size": 1, + "num_workers": 1, + "pin_memory": true + } + } + } + }, + "model": { + "which_model": { + "name": [ + "models.model", + "Palette" + ], + "args": { + "sample_num": 8, + "task": "decloud", + "ema_scheduler": { + "ema_start": 1, + "ema_iter": 1, + "ema_decay": 0.9999 + }, + "optimizers": [ + { + "lr": 5e-05, + "weight_decay": 0 + } + ] + } + }, + "which_networks": [ + { + "name": [ + "models.network_noise_dpm_solver", + "Network" + ], + "args": { + "init_type": "kaiming", + "module_name": "nafnet_double_encoder_splitcaCond_splitcaUnet", + "unet": { + "img_channel": 3, + "width": 64, + "middle_blk_num": 1, + "enc_blk_nums": [ + 1, + 1, + 1, + 1 + ], + "dec_blk_nums": [ + 1, + 1, + 1, + 1 + ] + }, + "beta_schedule": { + "train": { + "schedule": "sigmoid", + "n_timestep": 2000, + "linear_start": 1e-06, + "linear_end": 0.01 + }, + "test": { + "schedule": "sigmoid", + "n_timestep": 1000, + "linear_start": 0.0001, + "linear_end": 0.09 + } + } + } + } + ], + "which_losses": [ + "mse_loss" + ], + "which_metrics": [ + "mae" + ] + }, + "train": { + "n_epoch": 3000, + "n_iter": 100000000, + "val_epoch": 1000, + "save_checkpoint_epoch": 1000, + "log_iter": 10000, + "tensorboard": true + }, + "debug": { + "val_epoch": 1, + "save_checkpoint_epoch": 1, + "log_iter": 10, + "debug_split": 50 + }, + "phase": "train", + "distributed": false +} \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/results/val/1000/GT_T33VXG_R022_18.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/results/val/1000/GT_T33VXG_R022_18.png new file mode 100644 index 0000000000000000000000000000000000000000..f105bf6b6a12ae4bdf447c71d5dc3e52a69f0c01 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/results/val/1000/GT_T33VXG_R022_18.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/results/val/1000/GT_T33VXG_R022_67.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/results/val/1000/GT_T33VXG_R022_67.png new file mode 100644 index 0000000000000000000000000000000000000000..4632c2236d9e0f83055167a996f4329d3bf5fc6d Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/results/val/1000/GT_T33VXG_R022_67.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/results/val/1000/Out_T33VXG_R022_18.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/results/val/1000/Out_T33VXG_R022_18.png new file mode 100644 index 0000000000000000000000000000000000000000..4a475b68b79146252b8ca90616cb49be77fcbce7 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/results/val/1000/Out_T33VXG_R022_18.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/results/val/1000/Out_T33VXG_R022_67.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/results/val/1000/Out_T33VXG_R022_67.png new file mode 100644 index 0000000000000000000000000000000000000000..9d22ee32f5bce3fff9672cb54713323c60468b5c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/results/val/1000/Out_T33VXG_R022_67.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/results/val/2000/GT_T33VXG_R022_18.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/results/val/2000/GT_T33VXG_R022_18.png new file mode 100644 index 0000000000000000000000000000000000000000..f105bf6b6a12ae4bdf447c71d5dc3e52a69f0c01 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/results/val/2000/GT_T33VXG_R022_18.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/results/val/2000/GT_T33VXG_R022_67.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/results/val/2000/GT_T33VXG_R022_67.png new file mode 100644 index 0000000000000000000000000000000000000000..4632c2236d9e0f83055167a996f4329d3bf5fc6d Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/results/val/2000/GT_T33VXG_R022_67.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/results/val/2000/Out_T33VXG_R022_18.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/results/val/2000/Out_T33VXG_R022_18.png new file mode 100644 index 0000000000000000000000000000000000000000..105f96ceb848d912bf8b01ba2130b54212399f59 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/results/val/2000/Out_T33VXG_R022_18.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/results/val/2000/Out_T33VXG_R022_67.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/results/val/2000/Out_T33VXG_R022_67.png new file mode 100644 index 0000000000000000000000000000000000000000..edf5d55045b1910590e08463f25961e32cccfd52 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/results/val/2000/Out_T33VXG_R022_67.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/results/val/3000/GT_T33VXG_R022_18.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/results/val/3000/GT_T33VXG_R022_18.png new file mode 100644 index 0000000000000000000000000000000000000000..f105bf6b6a12ae4bdf447c71d5dc3e52a69f0c01 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/results/val/3000/GT_T33VXG_R022_18.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/results/val/3000/GT_T33VXG_R022_67.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/results/val/3000/GT_T33VXG_R022_67.png new file mode 100644 index 0000000000000000000000000000000000000000..4632c2236d9e0f83055167a996f4329d3bf5fc6d Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/results/val/3000/GT_T33VXG_R022_67.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/results/val/3000/Out_T33VXG_R022_18.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/results/val/3000/Out_T33VXG_R022_18.png new file mode 100644 index 0000000000000000000000000000000000000000..9b5c702d1526d1e838d8a4cc09df1acc69cfa0c9 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/results/val/3000/Out_T33VXG_R022_18.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/results/val/3000/Out_T33VXG_R022_67.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/results/val/3000/Out_T33VXG_R022_67.png new file mode 100644 index 0000000000000000000000000000000000000000..5ca431ec1429ae695bc7be98fae95f3287a6e449 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/results/val/3000/Out_T33VXG_R022_67.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/tb_logger/events.out.tfevents.1686455989.gt-ubuntu22-04-cmd-v1-0-128gb-100m b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/tb_logger/events.out.tfevents.1686455989.gt-ubuntu22-04-cmd-v1-0-128gb-100m new file mode 100644 index 0000000000000000000000000000000000000000..682a2d55fff2dd9d9c2ef1f947bdc51c3b4cfee6 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/tb_logger/events.out.tfevents.1686455989.gt-ubuntu22-04-cmd-v1-0-128gb-100m @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dd4b42072f49a3f03759cda9a10144251023c092f785c55d9aa08b10d10c0852 +size 218285511 diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/train.log b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/train.log new file mode 100644 index 0000000000000000000000000000000000000000..2d59f9a56af9fc1bee4ef860d6c9bc19b305c9a7 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/train.log @@ -0,0 +1,9285 @@ +23-06-11 03:59:49.678 - INFO: Create the log file in directory experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949. + +23-06-11 03:59:49.714 - INFO: Dataset [Sen2_MTC_New_Multi() form data.dataset] is created. +23-06-11 03:59:49.714 - INFO: Dataset [Sen2_MTC_New_Multi() form data.dataset] is created. +23-06-11 03:59:49.714 - INFO: Dataset for train have 2380 samples. +23-06-11 03:59:49.714 - INFO: Dataset for val have 0 samples. +23-06-11 03:59:49.866 - INFO: Network [Network() form models.network_noise_dpm_solver] is created. +23-06-11 03:59:49.866 - INFO: Network [Network] weights initialize using [kaiming] method. +23-06-11 03:59:49.987 - WARNING: Config is a str, converts to a dict {'name': 'mae'} +23-06-11 03:59:50.217 - INFO: Metric [mae() form models.metric] is created. +23-06-11 03:59:50.217 - WARNING: Config is a str, converts to a dict {'name': 'mse_loss'} +23-06-11 03:59:50.217 - INFO: Loss [mse_loss() form models.loss] is created. +23-06-11 03:59:56.540 - INFO: Model [Palette() form models.model] is created. +23-06-11 03:59:56.541 - INFO: Begin model train. +23-06-11 04:02:41.088 - INFO: train/mse_loss: 983.8560224333997 +23-06-11 04:02:41.089 - INFO: epoch: 1 +23-06-11 04:02:41.089 - INFO: iters: 2376 +23-06-11 04:05:22.405 - INFO: train/mse_loss: 165.13279471092352 +23-06-11 04:05:22.406 - INFO: epoch: 2 +23-06-11 04:05:22.406 - INFO: iters: 4752 +23-06-11 04:08:04.025 - INFO: train/mse_loss: 47.310150506119136 +23-06-11 04:08:04.026 - INFO: epoch: 3 +23-06-11 04:08:04.026 - INFO: iters: 7128 +23-06-11 04:10:45.373 - INFO: train/mse_loss: 18.80946665099173 +23-06-11 04:10:45.374 - INFO: epoch: 4 +23-06-11 04:10:45.374 - INFO: iters: 9504 +23-06-11 04:11:19.395 - INFO: train/mse_loss: 12.319556367012762 +23-06-11 04:13:28.595 - INFO: train/mse_loss: 9.93401514881789 +23-06-11 04:13:28.596 - INFO: epoch: 5 +23-06-11 04:13:28.596 - INFO: iters: 11880 +23-06-11 04:16:10.325 - INFO: train/mse_loss: 6.176902624894473 +23-06-11 04:16:10.326 - INFO: epoch: 6 +23-06-11 04:16:10.326 - INFO: iters: 14256 +23-06-11 04:18:51.673 - INFO: train/mse_loss: 4.320682785727761 +23-06-11 04:18:51.674 - INFO: epoch: 7 +23-06-11 04:18:51.674 - INFO: iters: 16632 +23-06-11 04:21:32.923 - INFO: train/mse_loss: 3.1463140722878453 +23-06-11 04:21:32.924 - INFO: epoch: 8 +23-06-11 04:21:32.924 - INFO: iters: 19008 +23-06-11 04:22:40.476 - INFO: train/mse_loss: 2.5984252489382222 +23-06-11 04:24:16.204 - INFO: train/mse_loss: 2.4137792390605015 +23-06-11 04:24:16.204 - INFO: epoch: 9 +23-06-11 04:24:16.205 - INFO: iters: 21384 +23-06-11 04:26:57.685 - INFO: train/mse_loss: 1.9139739371309377 +23-06-11 04:26:57.685 - INFO: epoch: 10 +23-06-11 04:26:57.686 - INFO: iters: 23760 +23-06-11 04:29:39.583 - INFO: train/mse_loss: 1.5577537106343793 +23-06-11 04:29:39.584 - INFO: epoch: 11 +23-06-11 04:29:39.584 - INFO: iters: 26136 +23-06-11 04:32:20.944 - INFO: train/mse_loss: 1.2793773139767375 +23-06-11 04:32:20.945 - INFO: epoch: 12 +23-06-11 04:32:20.945 - INFO: iters: 28512 +23-06-11 04:34:01.958 - INFO: train/mse_loss: 1.1502268429725402 +23-06-11 04:35:03.962 - INFO: train/mse_loss: 1.109887127523069 +23-06-11 04:35:03.963 - INFO: epoch: 13 +23-06-11 04:35:03.963 - INFO: iters: 30888 +23-06-11 04:37:45.312 - INFO: train/mse_loss: 0.9294164648361077 +23-06-11 04:37:45.313 - INFO: epoch: 14 +23-06-11 04:37:45.313 - INFO: iters: 33264 +23-06-11 04:40:26.986 - INFO: train/mse_loss: 0.8177662887155809 +23-06-11 04:40:26.986 - INFO: epoch: 15 +23-06-11 04:40:26.986 - INFO: iters: 35640 +23-06-11 04:43:08.543 - INFO: train/mse_loss: 0.7221381804758451 +23-06-11 04:43:08.544 - INFO: epoch: 16 +23-06-11 04:43:08.544 - INFO: iters: 38016 +23-06-11 04:45:23.602 - INFO: train/mse_loss: 0.643877700331711 +23-06-11 04:45:52.100 - INFO: train/mse_loss: 0.6395672880840623 +23-06-11 04:45:52.101 - INFO: epoch: 17 +23-06-11 04:45:52.101 - INFO: iters: 40392 +23-06-11 04:48:33.935 - INFO: train/mse_loss: 0.5707786297958708 +23-06-11 04:48:33.935 - INFO: epoch: 18 +23-06-11 04:48:33.935 - INFO: iters: 42768 +23-06-11 04:51:15.292 - INFO: train/mse_loss: 0.5041853657073846 +23-06-11 04:51:15.293 - INFO: epoch: 19 +23-06-11 04:51:15.293 - INFO: iters: 45144 +23-06-11 04:53:57.298 - INFO: train/mse_loss: 0.4570328179834668 +23-06-11 04:53:57.299 - INFO: epoch: 20 +23-06-11 04:53:57.299 - INFO: iters: 47520 +23-06-11 04:56:38.638 - INFO: train/mse_loss: 0.42283487530669783 +23-06-11 04:56:38.639 - INFO: epoch: 21 +23-06-11 04:56:38.639 - INFO: iters: 49896 +23-06-11 04:56:46.145 - INFO: train/mse_loss: 0.42320568744952863 +23-06-11 04:59:21.859 - INFO: train/mse_loss: 0.3801962366007795 +23-06-11 04:59:21.860 - INFO: epoch: 22 +23-06-11 04:59:21.861 - INFO: iters: 52272 +23-06-11 05:02:03.800 - INFO: train/mse_loss: 0.35020053933565864 +23-06-11 05:02:03.801 - INFO: epoch: 23 +23-06-11 05:02:03.801 - INFO: iters: 54648 +23-06-11 05:04:45.351 - INFO: train/mse_loss: 0.3177626979872835 +23-06-11 05:04:45.351 - INFO: epoch: 24 +23-06-11 05:04:45.351 - INFO: iters: 57024 +23-06-11 05:07:26.476 - INFO: train/mse_loss: 0.2981964856486529 +23-06-11 05:07:26.477 - INFO: epoch: 25 +23-06-11 05:07:26.477 - INFO: iters: 59400 +23-06-11 05:08:07.521 - INFO: train/mse_loss: 0.27884467303752897 +23-06-11 05:10:09.451 - INFO: train/mse_loss: 0.2785293793036079 +23-06-11 05:10:09.451 - INFO: epoch: 26 +23-06-11 05:10:09.451 - INFO: iters: 61776 +23-06-11 05:12:50.945 - INFO: train/mse_loss: 0.2546382032159202 +23-06-11 05:12:50.946 - INFO: epoch: 27 +23-06-11 05:12:50.946 - INFO: iters: 64152 +23-06-11 05:15:31.915 - INFO: train/mse_loss: 0.23213875675040865 +23-06-11 05:15:31.916 - INFO: epoch: 28 +23-06-11 05:15:31.916 - INFO: iters: 66528 +23-06-11 05:18:13.665 - INFO: train/mse_loss: 0.22269570195313657 +23-06-11 05:18:13.665 - INFO: epoch: 29 +23-06-11 05:18:13.665 - INFO: iters: 68904 +23-06-11 05:19:28.221 - INFO: train/mse_loss: 0.20839807978511726 +23-06-11 05:20:56.666 - INFO: train/mse_loss: 0.20758354646288585 +23-06-11 05:20:56.667 - INFO: epoch: 30 +23-06-11 05:20:56.667 - INFO: iters: 71280 +23-06-11 05:23:38.289 - INFO: train/mse_loss: 0.19365116411989386 +23-06-11 05:23:38.290 - INFO: epoch: 31 +23-06-11 05:23:38.290 - INFO: iters: 73656 +23-06-11 05:26:19.767 - INFO: train/mse_loss: 0.1793952060468269 +23-06-11 05:26:19.768 - INFO: epoch: 32 +23-06-11 05:26:19.768 - INFO: iters: 76032 +23-06-11 05:29:01.137 - INFO: train/mse_loss: 0.16902360543357803 +23-06-11 05:29:01.137 - INFO: epoch: 33 +23-06-11 05:29:01.137 - INFO: iters: 78408 +23-06-11 05:30:49.321 - INFO: train/mse_loss: 0.16514642330719598 +23-06-11 05:31:44.263 - INFO: train/mse_loss: 0.16329354449153347 +23-06-11 05:31:44.263 - INFO: epoch: 34 +23-06-11 05:31:44.263 - INFO: iters: 80784 +23-06-11 05:34:25.702 - INFO: train/mse_loss: 0.15311562944742968 +23-06-11 05:34:25.703 - INFO: epoch: 35 +23-06-11 05:34:25.703 - INFO: iters: 83160 +23-06-11 05:37:07.376 - INFO: train/mse_loss: 0.1466738730167299 +23-06-11 05:37:07.376 - INFO: epoch: 36 +23-06-11 05:37:07.377 - INFO: iters: 85536 +23-06-11 05:39:48.911 - INFO: train/mse_loss: 0.14145346106302858 +23-06-11 05:39:48.912 - INFO: epoch: 37 +23-06-11 05:39:48.912 - INFO: iters: 87912 +23-06-11 05:42:10.807 - INFO: train/mse_loss: 0.1327132759080536 +23-06-11 05:42:32.444 - INFO: train/mse_loss: 0.13347784394668008 +23-06-11 05:42:32.444 - INFO: epoch: 38 +23-06-11 05:42:32.444 - INFO: iters: 90288 +23-06-11 05:45:13.825 - INFO: train/mse_loss: 0.1224422722502991 +23-06-11 05:45:13.826 - INFO: epoch: 39 +23-06-11 05:45:13.826 - INFO: iters: 92664 +23-06-11 05:47:55.228 - INFO: train/mse_loss: 0.11861179510652016 +23-06-11 05:47:55.229 - INFO: epoch: 40 +23-06-11 05:47:55.229 - INFO: iters: 95040 +23-06-11 05:50:36.601 - INFO: train/mse_loss: 0.11480755228486526 +23-06-11 05:50:36.601 - INFO: epoch: 41 +23-06-11 05:50:36.601 - INFO: iters: 97416 +23-06-11 05:53:18.180 - INFO: train/mse_loss: 0.10822506818406108 +23-06-11 05:53:18.181 - INFO: epoch: 42 +23-06-11 05:53:18.181 - INFO: iters: 99792 +23-06-11 05:53:32.803 - INFO: train/mse_loss: 0.10595907471500911 +23-06-11 05:56:01.968 - INFO: train/mse_loss: 0.10519841280750153 +23-06-11 05:56:01.968 - INFO: epoch: 43 +23-06-11 05:56:01.968 - INFO: iters: 102168 +23-06-11 05:58:43.354 - INFO: train/mse_loss: 0.09263668806364239 +23-06-11 05:58:43.354 - INFO: epoch: 44 +23-06-11 05:58:43.354 - INFO: iters: 104544 +23-06-11 06:01:24.828 - INFO: train/mse_loss: 0.09428256431512962 +23-06-11 06:01:24.828 - INFO: epoch: 45 +23-06-11 06:01:24.828 - INFO: iters: 106920 +23-06-11 06:04:06.231 - INFO: train/mse_loss: 0.08653679658166487 +23-06-11 06:04:06.232 - INFO: epoch: 46 +23-06-11 06:04:06.232 - INFO: iters: 109296 +23-06-11 06:04:54.343 - INFO: train/mse_loss: 0.0816895357248458 +23-06-11 06:06:49.356 - INFO: train/mse_loss: 0.08464141942635932 +23-06-11 06:06:49.356 - INFO: epoch: 47 +23-06-11 06:06:49.356 - INFO: iters: 111672 +23-06-11 06:09:30.740 - INFO: train/mse_loss: 0.08024391407767932 +23-06-11 06:09:30.741 - INFO: epoch: 48 +23-06-11 06:09:30.741 - INFO: iters: 114048 +23-06-11 06:12:12.090 - INFO: train/mse_loss: 0.07783144883033803 +23-06-11 06:12:12.090 - INFO: epoch: 49 +23-06-11 06:12:12.090 - INFO: iters: 116424 +23-06-11 06:14:53.841 - INFO: train/mse_loss: 0.07755391115341524 +23-06-11 06:14:53.841 - INFO: epoch: 50 +23-06-11 06:14:53.841 - INFO: iters: 118800 +23-06-11 06:16:15.368 - INFO: train/mse_loss: 0.07711792014539241 +23-06-11 06:17:36.910 - INFO: train/mse_loss: 0.07502849805184486 +23-06-11 06:17:36.911 - INFO: epoch: 51 +23-06-11 06:17:36.911 - INFO: iters: 121176 +23-06-11 06:20:18.551 - INFO: train/mse_loss: 0.06827677053835256 +23-06-11 06:20:18.552 - INFO: epoch: 52 +23-06-11 06:20:18.552 - INFO: iters: 123552 +23-06-11 06:23:00.003 - INFO: train/mse_loss: 0.06553229191638404 +23-06-11 06:23:00.004 - INFO: epoch: 53 +23-06-11 06:23:00.004 - INFO: iters: 125928 +23-06-11 06:25:41.958 - INFO: train/mse_loss: 0.06252031165617283 +23-06-11 06:25:41.959 - INFO: epoch: 54 +23-06-11 06:25:41.959 - INFO: iters: 128304 +23-06-11 06:27:37.471 - INFO: train/mse_loss: 0.06137819507352586 +23-06-11 06:28:25.547 - INFO: train/mse_loss: 0.06120704143286153 +23-06-11 06:28:25.548 - INFO: epoch: 55 +23-06-11 06:28:25.548 - INFO: iters: 130680 +23-06-11 06:31:06.943 - INFO: train/mse_loss: 0.05877373459112363 +23-06-11 06:31:06.944 - INFO: epoch: 56 +23-06-11 06:31:06.944 - INFO: iters: 133056 +23-06-11 06:33:47.906 - INFO: train/mse_loss: 0.056603144929565564 +23-06-11 06:33:47.907 - INFO: epoch: 57 +23-06-11 06:33:47.907 - INFO: iters: 135432 +23-06-11 06:36:28.888 - INFO: train/mse_loss: 0.054205695662634945 +23-06-11 06:36:28.888 - INFO: epoch: 58 +23-06-11 06:36:28.888 - INFO: iters: 137808 +23-06-11 06:38:57.450 - INFO: train/mse_loss: 0.05632329256321392 +23-06-11 06:39:11.866 - INFO: train/mse_loss: 0.055774928167813556 +23-06-11 06:39:11.868 - INFO: epoch: 59 +23-06-11 06:39:11.868 - INFO: iters: 140184 +23-06-11 06:41:52.938 - INFO: train/mse_loss: 0.05165544088917348 +23-06-11 06:41:52.938 - INFO: epoch: 60 +23-06-11 06:41:52.938 - INFO: iters: 142560 +23-06-11 06:44:34.011 - INFO: train/mse_loss: 0.05281857323365581 +23-06-11 06:44:34.012 - INFO: epoch: 61 +23-06-11 06:44:34.012 - INFO: iters: 144936 +23-06-11 06:47:14.895 - INFO: train/mse_loss: 0.05012514784631103 +23-06-11 06:47:14.895 - INFO: epoch: 62 +23-06-11 06:47:14.895 - INFO: iters: 147312 +23-06-11 06:49:55.596 - INFO: train/mse_loss: 0.047259906670611716 +23-06-11 06:49:55.597 - INFO: epoch: 63 +23-06-11 06:49:55.597 - INFO: iters: 149688 +23-06-11 06:50:17.219 - INFO: train/mse_loss: 0.04591768841521862 +23-06-11 06:52:38.279 - INFO: train/mse_loss: 0.04598596480107468 +23-06-11 06:52:38.279 - INFO: epoch: 64 +23-06-11 06:52:38.279 - INFO: iters: 152064 +23-06-11 06:55:19.033 - INFO: train/mse_loss: 0.046901653875104504 +23-06-11 06:55:19.034 - INFO: epoch: 65 +23-06-11 06:55:19.034 - INFO: iters: 154440 +23-06-11 06:58:00.045 - INFO: train/mse_loss: 0.04537579478062564 +23-06-11 06:58:00.046 - INFO: epoch: 66 +23-06-11 06:58:00.046 - INFO: iters: 156816 +23-06-11 07:00:40.824 - INFO: train/mse_loss: 0.04368949056875826 +23-06-11 07:00:40.825 - INFO: epoch: 67 +23-06-11 07:00:40.825 - INFO: iters: 159192 +23-06-11 07:01:35.761 - INFO: train/mse_loss: 0.043170058989141245 +23-06-11 07:03:23.353 - INFO: train/mse_loss: 0.04312521150893836 +23-06-11 07:03:23.353 - INFO: epoch: 68 +23-06-11 07:03:23.353 - INFO: iters: 161568 +23-06-11 07:06:04.409 - INFO: train/mse_loss: 0.04049836029533786 +23-06-11 07:06:04.410 - INFO: epoch: 69 +23-06-11 07:06:04.410 - INFO: iters: 163944 +23-06-11 07:08:45.386 - INFO: train/mse_loss: 0.04119327786043035 +23-06-11 07:08:45.387 - INFO: epoch: 70 +23-06-11 07:08:45.387 - INFO: iters: 166320 +23-06-11 07:11:26.164 - INFO: train/mse_loss: 0.03960315591533377 +23-06-11 07:11:26.166 - INFO: epoch: 71 +23-06-11 07:11:26.166 - INFO: iters: 168696 +23-06-11 07:12:54.647 - INFO: train/mse_loss: 0.038188724064388155 +23-06-11 07:14:08.754 - INFO: train/mse_loss: 0.03778960098597137 +23-06-11 07:14:08.754 - INFO: epoch: 72 +23-06-11 07:14:08.754 - INFO: iters: 171072 +23-06-11 07:16:49.273 - INFO: train/mse_loss: 0.04065745624929967 +23-06-11 07:16:49.273 - INFO: epoch: 73 +23-06-11 07:16:49.273 - INFO: iters: 173448 +23-06-11 07:19:29.952 - INFO: train/mse_loss: 0.03652948321718158 +23-06-11 07:19:29.953 - INFO: epoch: 74 +23-06-11 07:19:29.953 - INFO: iters: 175824 +23-06-11 07:22:10.986 - INFO: train/mse_loss: 0.037160692165797 +23-06-11 07:22:10.986 - INFO: epoch: 75 +23-06-11 07:22:10.987 - INFO: iters: 178200 +23-06-11 07:24:13.057 - INFO: train/mse_loss: 0.03693366541630692 +23-06-11 07:24:53.858 - INFO: train/mse_loss: 0.03654578452936126 +23-06-11 07:24:53.858 - INFO: epoch: 76 +23-06-11 07:24:53.859 - INFO: iters: 180576 +23-06-11 07:27:34.975 - INFO: train/mse_loss: 0.03688140986142335 +23-06-11 07:27:34.976 - INFO: epoch: 77 +23-06-11 07:27:34.977 - INFO: iters: 182952 +23-06-11 07:30:16.540 - INFO: train/mse_loss: 0.03475658577374537 +23-06-11 07:30:16.541 - INFO: epoch: 78 +23-06-11 07:30:16.541 - INFO: iters: 185328 +23-06-11 07:32:57.936 - INFO: train/mse_loss: 0.03482717767934807 +23-06-11 07:32:57.937 - INFO: epoch: 79 +23-06-11 07:32:57.937 - INFO: iters: 187704 +23-06-11 07:35:34.113 - INFO: train/mse_loss: 0.03501686826348305 +23-06-11 07:35:41.454 - INFO: train/mse_loss: 0.03494024915175406 +23-06-11 07:35:41.455 - INFO: epoch: 80 +23-06-11 07:35:41.455 - INFO: iters: 190080 +23-06-11 07:38:22.463 - INFO: train/mse_loss: 0.03450638015663584 +23-06-11 07:38:22.464 - INFO: epoch: 81 +23-06-11 07:38:22.464 - INFO: iters: 192456 +23-06-11 07:41:03.228 - INFO: train/mse_loss: 0.032433699458988025 +23-06-11 07:41:03.229 - INFO: epoch: 82 +23-06-11 07:41:03.229 - INFO: iters: 194832 +23-06-11 07:43:44.402 - INFO: train/mse_loss: 0.030498163724437307 +23-06-11 07:43:44.403 - INFO: epoch: 83 +23-06-11 07:43:44.403 - INFO: iters: 197208 +23-06-11 07:46:25.360 - INFO: train/mse_loss: 0.03184793640856289 +23-06-11 07:46:25.360 - INFO: epoch: 84 +23-06-11 07:46:25.361 - INFO: iters: 199584 +23-06-11 07:46:53.900 - INFO: train/mse_loss: 0.02714558432881649 +23-06-11 07:49:07.833 - INFO: train/mse_loss: 0.031361949068779496 +23-06-11 07:49:07.833 - INFO: epoch: 85 +23-06-11 07:49:07.833 - INFO: iters: 201960 +23-06-11 07:51:48.729 - INFO: train/mse_loss: 0.03045042036007149 +23-06-11 07:51:48.731 - INFO: epoch: 86 +23-06-11 07:51:48.731 - INFO: iters: 204336 +23-06-11 07:54:29.859 - INFO: train/mse_loss: 0.03296830982082721 +23-06-11 07:54:29.859 - INFO: epoch: 87 +23-06-11 07:54:29.859 - INFO: iters: 206712 +23-06-11 07:57:10.984 - INFO: train/mse_loss: 0.03061021558049853 +23-06-11 07:57:10.984 - INFO: epoch: 88 +23-06-11 07:57:10.984 - INFO: iters: 209088 +23-06-11 07:58:13.009 - INFO: train/mse_loss: 0.025132396364617244 +23-06-11 07:59:53.963 - INFO: train/mse_loss: 0.026559119250763347 +23-06-11 07:59:53.965 - INFO: epoch: 89 +23-06-11 07:59:53.966 - INFO: iters: 211464 +23-06-11 08:02:34.742 - INFO: train/mse_loss: 0.029589995014346407 +23-06-11 08:02:34.743 - INFO: epoch: 90 +23-06-11 08:02:34.743 - INFO: iters: 213840 +23-06-11 08:05:15.598 - INFO: train/mse_loss: 0.029575200836089523 +23-06-11 08:05:15.599 - INFO: epoch: 91 +23-06-11 08:05:15.599 - INFO: iters: 216216 +23-06-11 08:07:56.463 - INFO: train/mse_loss: 0.02820965507215121 +23-06-11 08:07:56.464 - INFO: epoch: 92 +23-06-11 08:07:56.464 - INFO: iters: 218592 +23-06-11 08:09:31.953 - INFO: train/mse_loss: 0.026393291921439497 +23-06-11 08:10:39.699 - INFO: train/mse_loss: 0.02698427066206932 +23-06-11 08:10:39.700 - INFO: epoch: 93 +23-06-11 08:10:39.700 - INFO: iters: 220968 +23-06-11 08:13:20.622 - INFO: train/mse_loss: 0.0260548823535041 +23-06-11 08:13:20.623 - INFO: epoch: 94 +23-06-11 08:13:20.623 - INFO: iters: 223344 +23-06-11 08:16:01.375 - INFO: train/mse_loss: 0.025731742175088987 +23-06-11 08:16:01.375 - INFO: epoch: 95 +23-06-11 08:16:01.376 - INFO: iters: 225720 +23-06-11 08:18:42.519 - INFO: train/mse_loss: 0.02487270862666846 +23-06-11 08:18:42.520 - INFO: epoch: 96 +23-06-11 08:18:42.520 - INFO: iters: 228096 +23-06-11 08:20:51.777 - INFO: train/mse_loss: 0.028083173992472284 +23-06-11 08:21:25.574 - INFO: train/mse_loss: 0.027535718282440093 +23-06-11 08:21:25.574 - INFO: epoch: 97 +23-06-11 08:21:25.574 - INFO: iters: 230472 +23-06-11 08:24:06.583 - INFO: train/mse_loss: 0.026551979270948704 +23-06-11 08:24:06.584 - INFO: epoch: 98 +23-06-11 08:24:06.584 - INFO: iters: 232848 +23-06-11 08:26:47.501 - INFO: train/mse_loss: 0.026767722955004937 +23-06-11 08:26:47.502 - INFO: epoch: 99 +23-06-11 08:26:47.502 - INFO: iters: 235224 +23-06-11 08:29:28.090 - INFO: train/mse_loss: 0.02558260416354896 +23-06-11 08:29:28.090 - INFO: epoch: 100 +23-06-11 08:29:28.091 - INFO: iters: 237600 +23-06-11 08:32:09.069 - INFO: train/mse_loss: 0.024861452643217062 +23-06-11 08:32:09.069 - INFO: epoch: 101 +23-06-11 08:32:09.070 - INFO: iters: 239976 +23-06-11 08:32:11.184 - INFO: train/mse_loss: 0.024351350342233975 +23-06-11 08:34:52.412 - INFO: train/mse_loss: 0.02609538508623036 +23-06-11 08:34:52.412 - INFO: epoch: 102 +23-06-11 08:34:52.413 - INFO: iters: 242352 +23-06-11 08:37:33.296 - INFO: train/mse_loss: 0.025023087987720162 +23-06-11 08:37:33.297 - INFO: epoch: 103 +23-06-11 08:37:33.297 - INFO: iters: 244728 +23-06-11 08:40:13.984 - INFO: train/mse_loss: 0.025120508145252463 +23-06-11 08:40:13.985 - INFO: epoch: 104 +23-06-11 08:40:13.985 - INFO: iters: 247104 +23-06-11 08:42:55.082 - INFO: train/mse_loss: 0.02500113220854038 +23-06-11 08:42:55.083 - INFO: epoch: 105 +23-06-11 08:42:55.083 - INFO: iters: 249480 +23-06-11 08:43:30.549 - INFO: train/mse_loss: 0.022056874747459706 +23-06-11 08:45:37.739 - INFO: train/mse_loss: 0.023072030787240176 +23-06-11 08:45:37.740 - INFO: epoch: 106 +23-06-11 08:45:37.740 - INFO: iters: 251856 +23-06-11 08:48:18.509 - INFO: train/mse_loss: 0.02434007824721561 +23-06-11 08:48:18.510 - INFO: epoch: 107 +23-06-11 08:48:18.510 - INFO: iters: 254232 +23-06-11 08:50:59.549 - INFO: train/mse_loss: 0.022931817555267 +23-06-11 08:50:59.549 - INFO: epoch: 108 +23-06-11 08:50:59.549 - INFO: iters: 256608 +23-06-11 08:53:40.457 - INFO: train/mse_loss: 0.0240675964508745 +23-06-11 08:53:40.458 - INFO: epoch: 109 +23-06-11 08:53:40.459 - INFO: iters: 258984 +23-06-11 08:54:49.336 - INFO: train/mse_loss: 0.023887499954228796 +23-06-11 08:56:23.130 - INFO: train/mse_loss: 0.02324327179277786 +23-06-11 08:56:23.130 - INFO: epoch: 110 +23-06-11 08:56:23.130 - INFO: iters: 261360 +23-06-11 08:59:03.890 - INFO: train/mse_loss: 0.022106199440631 +23-06-11 08:59:03.890 - INFO: epoch: 111 +23-06-11 08:59:03.890 - INFO: iters: 263736 +23-06-11 09:01:45.226 - INFO: train/mse_loss: 0.022153908910499478 +23-06-11 09:01:45.226 - INFO: epoch: 112 +23-06-11 09:01:45.226 - INFO: iters: 266112 +23-06-11 09:04:26.878 - INFO: train/mse_loss: 0.023093031415157648 +23-06-11 09:04:26.879 - INFO: epoch: 113 +23-06-11 09:04:26.879 - INFO: iters: 268488 +23-06-11 09:06:09.251 - INFO: train/mse_loss: 0.02188391592747793 +23-06-11 09:07:09.713 - INFO: train/mse_loss: 0.02086054743502778 +23-06-11 09:07:09.713 - INFO: epoch: 114 +23-06-11 09:07:09.713 - INFO: iters: 270864 +23-06-11 09:09:50.490 - INFO: train/mse_loss: 0.022300717085349038 +23-06-11 09:09:50.491 - INFO: epoch: 115 +23-06-11 09:09:50.492 - INFO: iters: 273240 +23-06-11 09:12:31.325 - INFO: train/mse_loss: 0.023099979994072255 +23-06-11 09:12:31.326 - INFO: epoch: 116 +23-06-11 09:12:31.326 - INFO: iters: 275616 +23-06-11 09:15:12.279 - INFO: train/mse_loss: 0.020174117840400047 +23-06-11 09:15:12.280 - INFO: epoch: 117 +23-06-11 09:15:12.280 - INFO: iters: 277992 +23-06-11 09:17:28.409 - INFO: train/mse_loss: 0.020330979744810983 +23-06-11 09:17:55.947 - INFO: train/mse_loss: 0.020564187694378573 +23-06-11 09:17:55.948 - INFO: epoch: 118 +23-06-11 09:17:55.948 - INFO: iters: 280368 +23-06-11 09:20:36.512 - INFO: train/mse_loss: 0.020854181785650728 +23-06-11 09:20:36.513 - INFO: epoch: 119 +23-06-11 09:20:36.513 - INFO: iters: 282744 +23-06-11 09:23:17.314 - INFO: train/mse_loss: 0.02090240952242103 +23-06-11 09:23:17.314 - INFO: epoch: 120 +23-06-11 09:23:17.315 - INFO: iters: 285120 +23-06-11 09:25:58.085 - INFO: train/mse_loss: 0.021928980400917505 +23-06-11 09:25:58.086 - INFO: epoch: 121 +23-06-11 09:25:58.086 - INFO: iters: 287496 +23-06-11 09:28:38.793 - INFO: train/mse_loss: 0.022421214149430744 +23-06-11 09:28:38.794 - INFO: epoch: 122 +23-06-11 09:28:38.794 - INFO: iters: 289872 +23-06-11 09:28:47.928 - INFO: train/mse_loss: 0.01990248990477994 +23-06-11 09:31:21.761 - INFO: train/mse_loss: 0.021764277339433178 +23-06-11 09:31:21.761 - INFO: epoch: 123 +23-06-11 09:31:21.761 - INFO: iters: 292248 +23-06-11 09:34:02.542 - INFO: train/mse_loss: 0.02014523954052315 +23-06-11 09:34:02.542 - INFO: epoch: 124 +23-06-11 09:34:02.542 - INFO: iters: 294624 +23-06-11 09:36:43.131 - INFO: train/mse_loss: 0.019128486926444754 +23-06-11 09:36:43.132 - INFO: epoch: 125 +23-06-11 09:36:43.132 - INFO: iters: 297000 +23-06-11 09:39:24.023 - INFO: train/mse_loss: 0.01982593695360302 +23-06-11 09:39:24.024 - INFO: epoch: 126 +23-06-11 09:39:24.025 - INFO: iters: 299376 +23-06-11 09:40:06.580 - INFO: train/mse_loss: 0.018639007069839116 +23-06-11 09:42:06.929 - INFO: train/mse_loss: 0.01964608913833144 +23-06-11 09:42:06.930 - INFO: epoch: 127 +23-06-11 09:42:06.930 - INFO: iters: 301752 +23-06-11 09:44:47.830 - INFO: train/mse_loss: 0.019753258672201072 +23-06-11 09:44:47.831 - INFO: epoch: 128 +23-06-11 09:44:47.832 - INFO: iters: 304128 +23-06-11 09:47:28.475 - INFO: train/mse_loss: 0.019245781305462423 +23-06-11 09:47:28.476 - INFO: epoch: 129 +23-06-11 09:47:28.476 - INFO: iters: 306504 +23-06-11 09:50:09.492 - INFO: train/mse_loss: 0.019311605233021757 +23-06-11 09:50:09.493 - INFO: epoch: 130 +23-06-11 09:50:09.493 - INFO: iters: 308880 +23-06-11 09:51:25.425 - INFO: train/mse_loss: 0.019804726873657533 +23-06-11 09:52:52.749 - INFO: train/mse_loss: 0.01989400077623751 +23-06-11 09:52:52.750 - INFO: epoch: 131 +23-06-11 09:52:52.750 - INFO: iters: 311256 +23-06-11 09:55:33.830 - INFO: train/mse_loss: 0.019730498547029213 +23-06-11 09:55:33.831 - INFO: epoch: 132 +23-06-11 09:55:33.831 - INFO: iters: 313632 +23-06-11 09:58:14.936 - INFO: train/mse_loss: 0.01891604756077231 +23-06-11 09:58:14.937 - INFO: epoch: 133 +23-06-11 09:58:14.937 - INFO: iters: 316008 +23-06-11 10:00:55.518 - INFO: train/mse_loss: 0.020144007820949612 +23-06-11 10:00:55.519 - INFO: epoch: 134 +23-06-11 10:00:55.519 - INFO: iters: 318384 +23-06-11 10:02:46.460 - INFO: train/mse_loss: 0.01886493167701629 +23-06-11 10:03:39.697 - INFO: train/mse_loss: 0.018514454872770744 +23-06-11 10:03:39.698 - INFO: epoch: 135 +23-06-11 10:03:39.698 - INFO: iters: 320760 +23-06-11 10:06:20.975 - INFO: train/mse_loss: 0.016326423742265915 +23-06-11 10:06:20.975 - INFO: epoch: 136 +23-06-11 10:06:20.976 - INFO: iters: 323136 +23-06-11 10:09:01.906 - INFO: train/mse_loss: 0.01869619573758106 +23-06-11 10:09:01.907 - INFO: epoch: 137 +23-06-11 10:09:01.907 - INFO: iters: 325512 +23-06-11 10:11:43.149 - INFO: train/mse_loss: 0.019224633766896395 +23-06-11 10:11:43.149 - INFO: epoch: 138 +23-06-11 10:11:43.150 - INFO: iters: 327888 +23-06-11 10:14:05.937 - INFO: train/mse_loss: 0.01793342029012627 +23-06-11 10:14:26.270 - INFO: train/mse_loss: 0.018214335705871734 +23-06-11 10:14:26.270 - INFO: epoch: 139 +23-06-11 10:14:26.270 - INFO: iters: 330264 +23-06-11 10:17:07.221 - INFO: train/mse_loss: 0.018477585720155475 +23-06-11 10:17:07.222 - INFO: epoch: 140 +23-06-11 10:17:07.222 - INFO: iters: 332640 +23-06-11 10:19:48.199 - INFO: train/mse_loss: 0.017866954596255362 +23-06-11 10:19:48.199 - INFO: epoch: 141 +23-06-11 10:19:48.199 - INFO: iters: 335016 +23-06-11 10:22:29.015 - INFO: train/mse_loss: 0.018561003986833875 +23-06-11 10:22:29.016 - INFO: epoch: 142 +23-06-11 10:22:29.016 - INFO: iters: 337392 +23-06-11 10:25:10.358 - INFO: train/mse_loss: 0.01716449379337707 +23-06-11 10:25:10.358 - INFO: epoch: 143 +23-06-11 10:25:10.358 - INFO: iters: 339768 +23-06-11 10:25:26.731 - INFO: train/mse_loss: 0.022756568316755623 +23-06-11 10:27:53.796 - INFO: train/mse_loss: 0.01720996063064646 +23-06-11 10:27:53.797 - INFO: epoch: 144 +23-06-11 10:27:53.797 - INFO: iters: 342144 +23-06-11 10:30:34.489 - INFO: train/mse_loss: 0.017429707559321064 +23-06-11 10:30:34.490 - INFO: epoch: 145 +23-06-11 10:30:34.490 - INFO: iters: 344520 +23-06-11 10:33:15.363 - INFO: train/mse_loss: 0.016899707073326966 +23-06-11 10:33:15.364 - INFO: epoch: 146 +23-06-11 10:33:15.364 - INFO: iters: 346896 +23-06-11 10:35:56.136 - INFO: train/mse_loss: 0.016902436583807773 +23-06-11 10:35:56.137 - INFO: epoch: 147 +23-06-11 10:35:56.137 - INFO: iters: 349272 +23-06-11 10:36:46.585 - INFO: train/mse_loss: 0.016817786858754825 +23-06-11 10:38:40.127 - INFO: train/mse_loss: 0.015882649418179837 +23-06-11 10:38:40.128 - INFO: epoch: 148 +23-06-11 10:38:40.128 - INFO: iters: 351648 +23-06-11 10:41:20.974 - INFO: train/mse_loss: 0.01638371746686071 +23-06-11 10:41:20.976 - INFO: epoch: 149 +23-06-11 10:41:20.976 - INFO: iters: 354024 +23-06-11 10:44:01.739 - INFO: train/mse_loss: 0.01673242787168885 +23-06-11 10:44:01.739 - INFO: epoch: 150 +23-06-11 10:44:01.739 - INFO: iters: 356400 +23-06-11 10:46:42.602 - INFO: train/mse_loss: 0.015886393947972092 +23-06-11 10:46:42.603 - INFO: epoch: 151 +23-06-11 10:46:42.603 - INFO: iters: 358776 +23-06-11 10:48:05.679 - INFO: train/mse_loss: 0.016984293276894522 +23-06-11 10:49:25.365 - INFO: train/mse_loss: 0.016525133806108323 +23-06-11 10:49:25.365 - INFO: epoch: 152 +23-06-11 10:49:25.365 - INFO: iters: 361152 +23-06-11 10:52:06.175 - INFO: train/mse_loss: 0.015267721396127735 +23-06-11 10:52:06.175 - INFO: epoch: 153 +23-06-11 10:52:06.176 - INFO: iters: 363528 +23-06-11 10:54:48.039 - INFO: train/mse_loss: 0.015902937250368624 +23-06-11 10:54:48.039 - INFO: epoch: 154 +23-06-11 10:54:48.040 - INFO: iters: 365904 +23-06-11 10:57:30.105 - INFO: train/mse_loss: 0.01564327979723763 +23-06-11 10:57:30.105 - INFO: epoch: 155 +23-06-11 10:57:30.105 - INFO: iters: 368280 +23-06-11 10:59:26.632 - INFO: train/mse_loss: 0.01583355553015027 +23-06-11 11:00:13.508 - INFO: train/mse_loss: 0.015954831166675797 +23-06-11 11:00:13.508 - INFO: epoch: 156 +23-06-11 11:00:13.508 - INFO: iters: 370656 +23-06-11 11:02:54.456 - INFO: train/mse_loss: 0.014750226739455353 +23-06-11 11:02:54.457 - INFO: epoch: 157 +23-06-11 11:02:54.457 - INFO: iters: 373032 +23-06-11 11:05:36.246 - INFO: train/mse_loss: 0.016226983557044456 +23-06-11 11:05:36.247 - INFO: epoch: 158 +23-06-11 11:05:36.247 - INFO: iters: 375408 +23-06-11 11:08:17.626 - INFO: train/mse_loss: 0.014194272458553314 +23-06-11 11:08:17.627 - INFO: epoch: 159 +23-06-11 11:08:17.627 - INFO: iters: 377784 +23-06-11 11:10:47.637 - INFO: train/mse_loss: 0.013999247901639245 +23-06-11 11:11:00.946 - INFO: train/mse_loss: 0.013901074583131055 +23-06-11 11:11:00.946 - INFO: epoch: 160 +23-06-11 11:11:00.946 - INFO: iters: 380160 +23-06-11 11:13:42.710 - INFO: train/mse_loss: 0.015746275253079655 +23-06-11 11:13:42.711 - INFO: epoch: 161 +23-06-11 11:13:42.711 - INFO: iters: 382536 +23-06-11 11:16:23.819 - INFO: train/mse_loss: 0.016746054950675077 +23-06-11 11:16:23.819 - INFO: epoch: 162 +23-06-11 11:16:23.819 - INFO: iters: 384912 +23-06-11 11:19:04.974 - INFO: train/mse_loss: 0.01510287693667191 +23-06-11 11:19:04.975 - INFO: epoch: 163 +23-06-11 11:19:04.975 - INFO: iters: 387288 +23-06-11 11:21:46.535 - INFO: train/mse_loss: 0.014088859427281301 +23-06-11 11:21:46.536 - INFO: epoch: 164 +23-06-11 11:21:46.536 - INFO: iters: 389664 +23-06-11 11:22:09.610 - INFO: train/mse_loss: 0.01484616055330705 +23-06-11 11:24:29.327 - INFO: train/mse_loss: 0.01483447397416238 +23-06-11 11:24:29.328 - INFO: epoch: 165 +23-06-11 11:24:29.328 - INFO: iters: 392040 +23-06-11 11:27:10.454 - INFO: train/mse_loss: 0.017790677051000323 +23-06-11 11:27:10.454 - INFO: epoch: 166 +23-06-11 11:27:10.454 - INFO: iters: 394416 +23-06-11 11:29:52.014 - INFO: train/mse_loss: 0.014309051454456065 +23-06-11 11:29:52.014 - INFO: epoch: 167 +23-06-11 11:29:52.014 - INFO: iters: 396792 +23-06-11 11:32:33.366 - INFO: train/mse_loss: 0.01769617018023324 +23-06-11 11:32:33.367 - INFO: epoch: 168 +23-06-11 11:32:33.367 - INFO: iters: 399168 +23-06-11 11:33:29.983 - INFO: train/mse_loss: 0.015957662580498997 +23-06-11 11:35:16.458 - INFO: train/mse_loss: 0.014755272648300385 +23-06-11 11:35:16.459 - INFO: epoch: 169 +23-06-11 11:35:16.459 - INFO: iters: 401544 +23-06-11 11:37:57.473 - INFO: train/mse_loss: 0.015315196039437345 +23-06-11 11:37:57.474 - INFO: epoch: 170 +23-06-11 11:37:57.474 - INFO: iters: 403920 +23-06-11 11:40:38.499 - INFO: train/mse_loss: 0.013358403752974991 +23-06-11 11:40:38.499 - INFO: epoch: 171 +23-06-11 11:40:38.499 - INFO: iters: 406296 +23-06-11 11:43:19.393 - INFO: train/mse_loss: 0.015319866573544665 +23-06-11 11:43:19.394 - INFO: epoch: 172 +23-06-11 11:43:19.394 - INFO: iters: 408672 +23-06-11 11:44:49.770 - INFO: train/mse_loss: 0.01398398439085717 +23-06-11 11:46:02.676 - INFO: train/mse_loss: 0.013380945442238138 +23-06-11 11:46:02.676 - INFO: epoch: 173 +23-06-11 11:46:02.676 - INFO: iters: 411048 +23-06-11 11:48:44.149 - INFO: train/mse_loss: 0.01526334310445922 +23-06-11 11:48:44.149 - INFO: epoch: 174 +23-06-11 11:48:44.150 - INFO: iters: 413424 +23-06-11 11:51:25.419 - INFO: train/mse_loss: 0.014534183426662928 +23-06-11 11:51:25.419 - INFO: epoch: 175 +23-06-11 11:51:25.419 - INFO: iters: 415800 +23-06-11 11:54:07.045 - INFO: train/mse_loss: 0.013638150740276885 +23-06-11 11:54:07.045 - INFO: epoch: 176 +23-06-11 11:54:07.046 - INFO: iters: 418176 +23-06-11 11:56:10.645 - INFO: train/mse_loss: 0.01255526558675787 +23-06-11 11:56:50.165 - INFO: train/mse_loss: 0.012400410247822402 +23-06-11 11:56:50.166 - INFO: epoch: 177 +23-06-11 11:56:50.166 - INFO: iters: 420552 +23-06-11 11:59:31.019 - INFO: train/mse_loss: 0.013921541986541715 +23-06-11 11:59:31.019 - INFO: epoch: 178 +23-06-11 11:59:31.020 - INFO: iters: 422928 +23-06-11 12:02:12.212 - INFO: train/mse_loss: 0.013973194268541505 +23-06-11 12:02:12.212 - INFO: epoch: 179 +23-06-11 12:02:12.213 - INFO: iters: 425304 +23-06-11 12:04:53.437 - INFO: train/mse_loss: 0.013407790399962403 +23-06-11 12:04:53.438 - INFO: epoch: 180 +23-06-11 12:04:53.438 - INFO: iters: 427680 +23-06-11 12:07:30.985 - INFO: train/mse_loss: 0.013579872735486977 +23-06-11 12:07:37.329 - INFO: train/mse_loss: 0.013531505056540874 +23-06-11 12:07:37.330 - INFO: epoch: 181 +23-06-11 12:07:37.330 - INFO: iters: 430056 +23-06-11 12:10:18.185 - INFO: train/mse_loss: 0.014524136398690015 +23-06-11 12:10:18.185 - INFO: epoch: 182 +23-06-11 12:10:18.185 - INFO: iters: 432432 +23-06-11 12:12:59.140 - INFO: train/mse_loss: 0.013172190583088382 +23-06-11 12:12:59.140 - INFO: epoch: 183 +23-06-11 12:12:59.141 - INFO: iters: 434808 +23-06-11 12:15:39.905 - INFO: train/mse_loss: 0.013358027716590599 +23-06-11 12:15:39.906 - INFO: epoch: 184 +23-06-11 12:15:39.906 - INFO: iters: 437184 +23-06-11 12:18:20.948 - INFO: train/mse_loss: 0.01312161681339496 +23-06-11 12:18:20.949 - INFO: epoch: 185 +23-06-11 12:18:20.949 - INFO: iters: 439560 +23-06-11 12:18:51.161 - INFO: train/mse_loss: 0.013398957514966076 +23-06-11 12:21:03.784 - INFO: train/mse_loss: 0.01371321870917172 +23-06-11 12:21:03.785 - INFO: epoch: 186 +23-06-11 12:21:03.785 - INFO: iters: 441936 +23-06-11 12:23:44.677 - INFO: train/mse_loss: 0.014124541919716078 +23-06-11 12:23:44.677 - INFO: epoch: 187 +23-06-11 12:23:44.677 - INFO: iters: 444312 +23-06-11 12:26:25.719 - INFO: train/mse_loss: 0.013772808982730414 +23-06-11 12:26:25.720 - INFO: epoch: 188 +23-06-11 12:26:25.721 - INFO: iters: 446688 +23-06-11 12:29:07.253 - INFO: train/mse_loss: 0.015126393891569941 +23-06-11 12:29:07.254 - INFO: epoch: 189 +23-06-11 12:29:07.254 - INFO: iters: 449064 +23-06-11 12:30:10.788 - INFO: train/mse_loss: 0.011954152773524452 +23-06-11 12:31:49.964 - INFO: train/mse_loss: 0.012011015450625809 +23-06-11 12:31:49.965 - INFO: epoch: 190 +23-06-11 12:31:49.965 - INFO: iters: 451440 +23-06-11 12:34:31.606 - INFO: train/mse_loss: 0.01331789334232508 +23-06-11 12:34:31.607 - INFO: epoch: 191 +23-06-11 12:34:31.607 - INFO: iters: 453816 +23-06-11 12:37:12.975 - INFO: train/mse_loss: 0.012200236456901437 +23-06-11 12:37:12.976 - INFO: epoch: 192 +23-06-11 12:37:12.976 - INFO: iters: 456192 +23-06-11 12:39:54.990 - INFO: train/mse_loss: 0.013951753622065188 +23-06-11 12:39:54.990 - INFO: epoch: 193 +23-06-11 12:39:54.990 - INFO: iters: 458568 +23-06-11 12:41:32.295 - INFO: train/mse_loss: 0.013387981881569633 +23-06-11 12:42:38.480 - INFO: train/mse_loss: 0.013134869481107652 +23-06-11 12:42:38.481 - INFO: epoch: 194 +23-06-11 12:42:38.481 - INFO: iters: 460944 +23-06-11 12:45:20.644 - INFO: train/mse_loss: 0.013548835550720242 +23-06-11 12:45:20.645 - INFO: epoch: 195 +23-06-11 12:45:20.645 - INFO: iters: 463320 +23-06-11 12:48:01.558 - INFO: train/mse_loss: 0.012504334128791034 +23-06-11 12:48:01.558 - INFO: epoch: 196 +23-06-11 12:48:01.558 - INFO: iters: 465696 +23-06-11 12:50:42.671 - INFO: train/mse_loss: 0.013749022557328044 +23-06-11 12:50:42.671 - INFO: epoch: 197 +23-06-11 12:50:42.671 - INFO: iters: 468072 +23-06-11 12:52:53.759 - INFO: train/mse_loss: 0.012803737802577835 +23-06-11 12:53:25.849 - INFO: train/mse_loss: 0.012436053402853585 +23-06-11 12:53:25.849 - INFO: epoch: 198 +23-06-11 12:53:25.849 - INFO: iters: 470448 +23-06-11 12:56:08.566 - INFO: train/mse_loss: 0.011137426068836992 +23-06-11 12:56:08.567 - INFO: epoch: 199 +23-06-11 12:56:08.567 - INFO: iters: 472824 +23-06-11 12:58:49.703 - INFO: train/mse_loss: 0.013477801959898937 +23-06-11 12:58:49.704 - INFO: epoch: 200 +23-06-11 12:58:49.704 - INFO: iters: 475200 +23-06-11 13:01:31.065 - INFO: train/mse_loss: 0.01426513344112169 +23-06-11 13:01:31.065 - INFO: epoch: 201 +23-06-11 13:01:31.066 - INFO: iters: 477576 +23-06-11 13:04:12.983 - INFO: train/mse_loss: 0.012719394482346096 +23-06-11 13:04:12.983 - INFO: epoch: 202 +23-06-11 13:04:12.983 - INFO: iters: 479952 +23-06-11 13:04:16.707 - INFO: train/mse_loss: 0.010570024916281303 +23-06-11 13:06:57.359 - INFO: train/mse_loss: 0.012945486417648568 +23-06-11 13:06:57.359 - INFO: epoch: 203 +23-06-11 13:06:57.359 - INFO: iters: 482328 +23-06-11 13:09:38.875 - INFO: train/mse_loss: 0.012230718477005107 +23-06-11 13:09:38.876 - INFO: epoch: 204 +23-06-11 13:09:38.876 - INFO: iters: 484704 +23-06-11 13:12:20.001 - INFO: train/mse_loss: 0.01249346665266638 +23-06-11 13:12:20.002 - INFO: epoch: 205 +23-06-11 13:12:20.002 - INFO: iters: 487080 +23-06-11 13:15:02.003 - INFO: train/mse_loss: 0.011282672541943513 +23-06-11 13:15:02.003 - INFO: epoch: 206 +23-06-11 13:15:02.004 - INFO: iters: 489456 +23-06-11 13:15:39.097 - INFO: train/mse_loss: 0.012780364534324583 +23-06-11 13:17:45.231 - INFO: train/mse_loss: 0.011610520425839004 +23-06-11 13:17:45.231 - INFO: epoch: 207 +23-06-11 13:17:45.231 - INFO: iters: 491832 +23-06-11 13:20:25.843 - INFO: train/mse_loss: 0.011727806631481959 +23-06-11 13:20:25.844 - INFO: epoch: 208 +23-06-11 13:20:25.844 - INFO: iters: 494208 +23-06-11 13:23:07.056 - INFO: train/mse_loss: 0.012687914902877427 +23-06-11 13:23:07.057 - INFO: epoch: 209 +23-06-11 13:23:07.057 - INFO: iters: 496584 +23-06-11 13:25:48.336 - INFO: train/mse_loss: 0.011012795285607127 +23-06-11 13:25:48.337 - INFO: epoch: 210 +23-06-11 13:25:48.337 - INFO: iters: 498960 +23-06-11 13:26:58.807 - INFO: train/mse_loss: 0.0116788670546017 +23-06-11 13:28:31.914 - INFO: train/mse_loss: 0.012541366944102074 +23-06-11 13:28:31.914 - INFO: epoch: 211 +23-06-11 13:28:31.915 - INFO: iters: 501336 +23-06-11 13:31:13.617 - INFO: train/mse_loss: 0.01271115412609495 +23-06-11 13:31:13.618 - INFO: epoch: 212 +23-06-11 13:31:13.618 - INFO: iters: 503712 +23-06-11 13:33:54.882 - INFO: train/mse_loss: 0.012677563583283914 +23-06-11 13:33:54.883 - INFO: epoch: 213 +23-06-11 13:33:54.883 - INFO: iters: 506088 +23-06-11 13:36:35.841 - INFO: train/mse_loss: 0.012447514251401328 +23-06-11 13:36:35.842 - INFO: epoch: 214 +23-06-11 13:36:35.842 - INFO: iters: 508464 +23-06-11 13:38:19.947 - INFO: train/mse_loss: 0.012490103096448971 +23-06-11 13:39:18.766 - INFO: train/mse_loss: 0.012326596311045816 +23-06-11 13:39:18.767 - INFO: epoch: 215 +23-06-11 13:39:18.767 - INFO: iters: 510840 +23-06-11 13:42:01.304 - INFO: train/mse_loss: 0.010845870457696243 +23-06-11 13:42:01.305 - INFO: epoch: 216 +23-06-11 13:42:01.305 - INFO: iters: 513216 +23-06-11 13:44:42.237 - INFO: train/mse_loss: 0.011080501382380273 +23-06-11 13:44:42.237 - INFO: epoch: 217 +23-06-11 13:44:42.238 - INFO: iters: 515592 +23-06-11 13:47:23.753 - INFO: train/mse_loss: 0.01016473723653867 +23-06-11 13:47:23.753 - INFO: epoch: 218 +23-06-11 13:47:23.754 - INFO: iters: 517968 +23-06-11 13:49:41.575 - INFO: train/mse_loss: 0.01108119393310209 +23-06-11 13:50:06.673 - INFO: train/mse_loss: 0.011595807350256327 +23-06-11 13:50:06.674 - INFO: epoch: 219 +23-06-11 13:50:06.674 - INFO: iters: 520344 +23-06-11 13:52:47.789 - INFO: train/mse_loss: 0.012117900393326275 +23-06-11 13:52:47.790 - INFO: epoch: 220 +23-06-11 13:52:47.790 - INFO: iters: 522720 +23-06-11 13:55:29.323 - INFO: train/mse_loss: 0.013595148910037696 +23-06-11 13:55:29.324 - INFO: epoch: 221 +23-06-11 13:55:29.324 - INFO: iters: 525096 +23-06-11 13:58:11.499 - INFO: train/mse_loss: 0.011619295884920942 +23-06-11 13:58:11.499 - INFO: epoch: 222 +23-06-11 13:58:11.500 - INFO: iters: 527472 +23-06-11 14:00:53.626 - INFO: train/mse_loss: 0.009783047236508443 +23-06-11 14:00:53.627 - INFO: epoch: 223 +23-06-11 14:00:53.627 - INFO: iters: 529848 +23-06-11 14:01:04.312 - INFO: train/mse_loss: 0.008823705616554147 +23-06-11 14:03:37.312 - INFO: train/mse_loss: 0.0114212879724487 +23-06-11 14:03:37.312 - INFO: epoch: 224 +23-06-11 14:03:37.313 - INFO: iters: 532224 +23-06-11 14:06:18.741 - INFO: train/mse_loss: 0.01005123326278947 +23-06-11 14:06:18.741 - INFO: epoch: 225 +23-06-11 14:06:18.741 - INFO: iters: 534600 +23-06-11 14:09:01.599 - INFO: train/mse_loss: 0.0104152406056283 +23-06-11 14:09:01.600 - INFO: epoch: 226 +23-06-11 14:09:01.600 - INFO: iters: 536976 +23-06-11 14:11:43.022 - INFO: train/mse_loss: 0.010689849237776565 +23-06-11 14:11:43.023 - INFO: epoch: 227 +23-06-11 14:11:43.023 - INFO: iters: 539352 +23-06-11 14:12:27.193 - INFO: train/mse_loss: 0.00976492803727771 +23-06-11 14:14:26.331 - INFO: train/mse_loss: 0.011070471168385963 +23-06-11 14:14:26.332 - INFO: epoch: 228 +23-06-11 14:14:26.332 - INFO: iters: 541728 +23-06-11 14:17:07.929 - INFO: train/mse_loss: 0.011144181210171394 +23-06-11 14:17:07.929 - INFO: epoch: 229 +23-06-11 14:17:07.929 - INFO: iters: 544104 +23-06-11 14:19:49.806 - INFO: train/mse_loss: 0.0102631906643259 +23-06-11 14:19:49.807 - INFO: epoch: 230 +23-06-11 14:19:49.807 - INFO: iters: 546480 +23-06-11 14:22:30.907 - INFO: train/mse_loss: 0.010899571607811282 +23-06-11 14:22:30.907 - INFO: epoch: 231 +23-06-11 14:22:30.908 - INFO: iters: 548856 +23-06-11 14:23:48.399 - INFO: train/mse_loss: 0.012992305668083938 +23-06-11 14:25:13.670 - INFO: train/mse_loss: 0.011245760354856249 +23-06-11 14:25:13.670 - INFO: epoch: 232 +23-06-11 14:25:13.670 - INFO: iters: 551232 +23-06-11 14:27:55.338 - INFO: train/mse_loss: 0.010241596763545916 +23-06-11 14:27:55.338 - INFO: epoch: 233 +23-06-11 14:27:55.338 - INFO: iters: 553608 +23-06-11 14:30:36.446 - INFO: train/mse_loss: 0.011410136824718328 +23-06-11 14:30:36.446 - INFO: epoch: 234 +23-06-11 14:30:36.446 - INFO: iters: 555984 +23-06-11 14:33:18.707 - INFO: train/mse_loss: 0.009915212971261807 +23-06-11 14:33:18.708 - INFO: epoch: 235 +23-06-11 14:33:18.708 - INFO: iters: 558360 +23-06-11 14:35:10.774 - INFO: train/mse_loss: 0.010720385564491152 +23-06-11 14:36:03.050 - INFO: train/mse_loss: 0.010307184603184411 +23-06-11 14:36:03.050 - INFO: epoch: 236 +23-06-11 14:36:03.050 - INFO: iters: 560736 +23-06-11 14:38:44.370 - INFO: train/mse_loss: 0.011066139500073914 +23-06-11 14:38:44.371 - INFO: epoch: 237 +23-06-11 14:38:44.371 - INFO: iters: 563112 +23-06-11 14:41:25.919 - INFO: train/mse_loss: 0.009352258945931289 +23-06-11 14:41:25.919 - INFO: epoch: 238 +23-06-11 14:41:25.919 - INFO: iters: 565488 +23-06-11 14:44:07.437 - INFO: train/mse_loss: 0.010669103737368627 +23-06-11 14:44:07.438 - INFO: epoch: 239 +23-06-11 14:44:07.438 - INFO: iters: 567864 +23-06-11 14:46:32.060 - INFO: train/mse_loss: 0.009205913968202886 +23-06-11 14:46:50.937 - INFO: train/mse_loss: 0.009181384513035467 +23-06-11 14:46:50.937 - INFO: epoch: 240 +23-06-11 14:46:50.937 - INFO: iters: 570240 +23-06-11 14:49:32.519 - INFO: train/mse_loss: 0.00946349189036623 +23-06-11 14:49:32.520 - INFO: epoch: 241 +23-06-11 14:49:32.520 - INFO: iters: 572616 +23-06-11 14:52:16.607 - INFO: train/mse_loss: 0.01220615112116115 +23-06-11 14:52:16.607 - INFO: epoch: 242 +23-06-11 14:52:16.608 - INFO: iters: 574992 +23-06-11 14:54:58.110 - INFO: train/mse_loss: 0.008839089952578599 +23-06-11 14:54:58.110 - INFO: epoch: 243 +23-06-11 14:54:58.110 - INFO: iters: 577368 +23-06-11 14:57:39.348 - INFO: train/mse_loss: 0.010364099290466519 +23-06-11 14:57:39.349 - INFO: epoch: 244 +23-06-11 14:57:39.349 - INFO: iters: 579744 +23-06-11 14:57:57.286 - INFO: train/mse_loss: 0.01128766391047975 +23-06-11 15:00:22.794 - INFO: train/mse_loss: 0.010229292571049197 +23-06-11 15:00:22.794 - INFO: epoch: 245 +23-06-11 15:00:22.794 - INFO: iters: 582120 +23-06-11 15:03:05.253 - INFO: train/mse_loss: 0.01076833152930293 +23-06-11 15:03:05.253 - INFO: epoch: 246 +23-06-11 15:03:05.253 - INFO: iters: 584496 +23-06-11 15:05:45.982 - INFO: train/mse_loss: 0.009837997882855862 +23-06-11 15:05:45.982 - INFO: epoch: 247 +23-06-11 15:05:45.982 - INFO: iters: 586872 +23-06-11 15:08:27.708 - INFO: train/mse_loss: 0.010631921600788732 +23-06-11 15:08:27.709 - INFO: epoch: 248 +23-06-11 15:08:27.709 - INFO: iters: 589248 +23-06-11 15:09:19.311 - INFO: train/mse_loss: 0.007899436899064544 +23-06-11 15:11:11.435 - INFO: train/mse_loss: 0.010138227834808404 +23-06-11 15:11:11.435 - INFO: epoch: 249 +23-06-11 15:11:11.436 - INFO: iters: 591624 +23-06-11 15:13:52.872 - INFO: train/mse_loss: 0.009987880997140248 +23-06-11 15:13:52.873 - INFO: epoch: 250 +23-06-11 15:13:52.873 - INFO: iters: 594000 +23-06-11 15:16:34.665 - INFO: train/mse_loss: 0.011130723326156536 +23-06-11 15:16:34.666 - INFO: epoch: 251 +23-06-11 15:16:34.666 - INFO: iters: 596376 +23-06-11 15:19:16.012 - INFO: train/mse_loss: 0.00983176143175173 +23-06-11 15:19:16.014 - INFO: epoch: 252 +23-06-11 15:19:16.014 - INFO: iters: 598752 +23-06-11 15:20:40.621 - INFO: train/mse_loss: 0.00911158547611334 +23-06-11 15:21:59.388 - INFO: train/mse_loss: 0.009239735791258991 +23-06-11 15:21:59.389 - INFO: epoch: 253 +23-06-11 15:21:59.389 - INFO: iters: 601128 +23-06-11 15:24:40.999 - INFO: train/mse_loss: 0.010204468192125008 +23-06-11 15:24:41.000 - INFO: epoch: 254 +23-06-11 15:24:41.000 - INFO: iters: 603504 +23-06-11 15:27:21.991 - INFO: train/mse_loss: 0.00934802192209997 +23-06-11 15:27:21.992 - INFO: epoch: 255 +23-06-11 15:27:21.992 - INFO: iters: 605880 +23-06-11 15:30:03.404 - INFO: train/mse_loss: 0.011241316564870303 +23-06-11 15:30:03.405 - INFO: epoch: 256 +23-06-11 15:30:03.405 - INFO: iters: 608256 +23-06-11 15:32:01.415 - INFO: train/mse_loss: 0.009699863049526348 +23-06-11 15:32:46.242 - INFO: train/mse_loss: 0.00907573451817989 +23-06-11 15:32:46.242 - INFO: epoch: 257 +23-06-11 15:32:46.242 - INFO: iters: 610632 +23-06-11 15:35:27.299 - INFO: train/mse_loss: 0.0084538022377638 +23-06-11 15:35:27.300 - INFO: epoch: 258 +23-06-11 15:35:27.300 - INFO: iters: 613008 +23-06-11 15:38:08.191 - INFO: train/mse_loss: 0.009742125392944775 +23-06-11 15:38:08.191 - INFO: epoch: 259 +23-06-11 15:38:08.191 - INFO: iters: 615384 +23-06-11 15:40:49.314 - INFO: train/mse_loss: 0.0115944911123752 +23-06-11 15:40:49.315 - INFO: epoch: 260 +23-06-11 15:40:49.315 - INFO: iters: 617760 +23-06-11 15:43:21.102 - INFO: train/mse_loss: 0.010716411298406975 +23-06-11 15:43:32.340 - INFO: train/mse_loss: 0.010920184037274985 +23-06-11 15:43:32.340 - INFO: epoch: 261 +23-06-11 15:43:32.340 - INFO: iters: 620136 +23-06-11 15:46:14.113 - INFO: train/mse_loss: 0.007955469648896244 +23-06-11 15:46:14.113 - INFO: epoch: 262 +23-06-11 15:46:14.114 - INFO: iters: 622512 +23-06-11 15:48:55.632 - INFO: train/mse_loss: 0.00940987670022731 +23-06-11 15:48:55.632 - INFO: epoch: 263 +23-06-11 15:48:55.632 - INFO: iters: 624888 +23-06-11 15:51:36.665 - INFO: train/mse_loss: 0.009414908333496513 +23-06-11 15:51:36.666 - INFO: epoch: 264 +23-06-11 15:51:36.666 - INFO: iters: 627264 +23-06-11 15:54:18.719 - INFO: train/mse_loss: 0.009411838773468678 +23-06-11 15:54:18.720 - INFO: epoch: 265 +23-06-11 15:54:18.720 - INFO: iters: 629640 +23-06-11 15:54:43.489 - INFO: train/mse_loss: 0.011066622080074416 +23-06-11 15:57:01.850 - INFO: train/mse_loss: 0.011062636735507284 +23-06-11 15:57:01.850 - INFO: epoch: 266 +23-06-11 15:57:01.850 - INFO: iters: 632016 +23-06-11 15:59:42.607 - INFO: train/mse_loss: 0.01039581028870009 +23-06-11 15:59:42.608 - INFO: epoch: 267 +23-06-11 15:59:42.608 - INFO: iters: 634392 +23-06-11 16:02:23.721 - INFO: train/mse_loss: 0.008668828004601127 +23-06-11 16:02:23.722 - INFO: epoch: 268 +23-06-11 16:02:23.722 - INFO: iters: 636768 +23-06-11 16:05:04.625 - INFO: train/mse_loss: 0.008612013818627154 +23-06-11 16:05:04.626 - INFO: epoch: 269 +23-06-11 16:05:04.626 - INFO: iters: 639144 +23-06-11 16:06:03.095 - INFO: train/mse_loss: 0.008226818640098393 +23-06-11 16:07:49.750 - INFO: train/mse_loss: 0.008520321356076183 +23-06-11 16:07:49.750 - INFO: epoch: 270 +23-06-11 16:07:49.750 - INFO: iters: 641520 +23-06-11 16:10:30.775 - INFO: train/mse_loss: 0.009403923640861756 +23-06-11 16:10:30.775 - INFO: epoch: 271 +23-06-11 16:10:30.776 - INFO: iters: 643896 +23-06-11 16:13:11.615 - INFO: train/mse_loss: 0.009749529319611512 +23-06-11 16:13:11.615 - INFO: epoch: 272 +23-06-11 16:13:11.615 - INFO: iters: 646272 +23-06-11 16:15:52.596 - INFO: train/mse_loss: 0.008758411914430032 +23-06-11 16:15:52.597 - INFO: epoch: 273 +23-06-11 16:15:52.597 - INFO: iters: 648648 +23-06-11 16:17:24.448 - INFO: train/mse_loss: 0.008904744215177361 +23-06-11 16:18:35.174 - INFO: train/mse_loss: 0.008204646966724283 +23-06-11 16:18:35.175 - INFO: epoch: 274 +23-06-11 16:18:35.175 - INFO: iters: 651024 +23-06-11 16:21:15.962 - INFO: train/mse_loss: 0.010505299814522065 +23-06-11 16:21:15.962 - INFO: epoch: 275 +23-06-11 16:21:15.962 - INFO: iters: 653400 +23-06-11 16:23:58.093 - INFO: train/mse_loss: 0.008861659023352595 +23-06-11 16:23:58.093 - INFO: epoch: 276 +23-06-11 16:23:58.093 - INFO: iters: 655776 +23-06-11 16:26:39.446 - INFO: train/mse_loss: 0.008450448311558025 +23-06-11 16:26:39.446 - INFO: epoch: 277 +23-06-11 16:26:39.447 - INFO: iters: 658152 +23-06-11 16:28:45.227 - INFO: train/mse_loss: 0.009489859108615554 +23-06-11 16:29:22.706 - INFO: train/mse_loss: 0.00929430020214231 +23-06-11 16:29:22.706 - INFO: epoch: 278 +23-06-11 16:29:22.706 - INFO: iters: 660528 +23-06-11 16:32:04.361 - INFO: train/mse_loss: 0.007796917610052309 +23-06-11 16:32:04.362 - INFO: epoch: 279 +23-06-11 16:32:04.362 - INFO: iters: 662904 +23-06-11 16:34:45.409 - INFO: train/mse_loss: 0.009078930995994645 +23-06-11 16:34:45.410 - INFO: epoch: 280 +23-06-11 16:34:45.410 - INFO: iters: 665280 +23-06-11 16:37:26.741 - INFO: train/mse_loss: 0.009054528437209901 +23-06-11 16:37:26.742 - INFO: epoch: 281 +23-06-11 16:37:26.742 - INFO: iters: 667656 +23-06-11 16:40:05.323 - INFO: train/mse_loss: 0.00856071005499073 +23-06-11 16:40:09.510 - INFO: train/mse_loss: 0.008541682009939544 +23-06-11 16:40:09.510 - INFO: epoch: 282 +23-06-11 16:40:09.510 - INFO: iters: 670032 +23-06-11 16:42:53.167 - INFO: train/mse_loss: 0.009323388802966334 +23-06-11 16:42:53.169 - INFO: epoch: 283 +23-06-11 16:42:53.169 - INFO: iters: 672408 +23-06-11 16:45:34.867 - INFO: train/mse_loss: 0.009745246080073343 +23-06-11 16:45:34.867 - INFO: epoch: 284 +23-06-11 16:45:34.868 - INFO: iters: 674784 +23-06-11 16:48:15.846 - INFO: train/mse_loss: 0.010696373825033606 +23-06-11 16:48:15.846 - INFO: epoch: 285 +23-06-11 16:48:15.846 - INFO: iters: 677160 +23-06-11 16:50:57.075 - INFO: train/mse_loss: 0.008958060248137173 +23-06-11 16:50:57.075 - INFO: epoch: 286 +23-06-11 16:50:57.075 - INFO: iters: 679536 +23-06-11 16:51:28.817 - INFO: train/mse_loss: 0.01112134252466133 +23-06-11 16:53:40.475 - INFO: train/mse_loss: 0.009827845061969275 +23-06-11 16:53:40.475 - INFO: epoch: 287 +23-06-11 16:53:40.475 - INFO: iters: 681912 +23-06-11 16:56:21.350 - INFO: train/mse_loss: 0.00891803746795288 +23-06-11 16:56:21.351 - INFO: epoch: 288 +23-06-11 16:56:21.351 - INFO: iters: 684288 +23-06-11 16:59:02.512 - INFO: train/mse_loss: 0.00912787079237251 +23-06-11 16:59:02.513 - INFO: epoch: 289 +23-06-11 16:59:02.513 - INFO: iters: 686664 +23-06-11 17:01:43.170 - INFO: train/mse_loss: 0.00800410399498788 +23-06-11 17:01:43.170 - INFO: epoch: 290 +23-06-11 17:01:43.171 - INFO: iters: 689040 +23-06-11 17:02:48.352 - INFO: train/mse_loss: 0.009660732546277966 +23-06-11 17:04:25.903 - INFO: train/mse_loss: 0.00956853474992067 +23-06-11 17:04:25.903 - INFO: epoch: 291 +23-06-11 17:04:25.903 - INFO: iters: 691416 +23-06-11 17:07:07.379 - INFO: train/mse_loss: 0.007992748806083744 +23-06-11 17:07:07.379 - INFO: epoch: 292 +23-06-11 17:07:07.379 - INFO: iters: 693792 +23-06-11 17:09:48.277 - INFO: train/mse_loss: 0.010016830514188266 +23-06-11 17:09:48.277 - INFO: epoch: 293 +23-06-11 17:09:48.277 - INFO: iters: 696168 +23-06-11 17:12:29.432 - INFO: train/mse_loss: 0.00802881586497104 +23-06-11 17:12:29.433 - INFO: epoch: 294 +23-06-11 17:12:29.433 - INFO: iters: 698544 +23-06-11 17:14:08.202 - INFO: train/mse_loss: 0.010133316197974996 +23-06-11 17:15:12.562 - INFO: train/mse_loss: 0.008833633683251864 +23-06-11 17:15:12.563 - INFO: epoch: 295 +23-06-11 17:15:12.563 - INFO: iters: 700920 +23-06-11 17:17:53.464 - INFO: train/mse_loss: 0.007693829146599529 +23-06-11 17:17:53.465 - INFO: epoch: 296 +23-06-11 17:17:53.465 - INFO: iters: 703296 +23-06-11 17:20:34.765 - INFO: train/mse_loss: 0.010652875172613997 +23-06-11 17:20:34.766 - INFO: epoch: 297 +23-06-11 17:20:34.766 - INFO: iters: 705672 +23-06-11 17:23:16.267 - INFO: train/mse_loss: 0.006758433184194494 +23-06-11 17:23:16.268 - INFO: epoch: 298 +23-06-11 17:23:16.268 - INFO: iters: 708048 +23-06-11 17:25:28.461 - INFO: train/mse_loss: 0.007637062227376355 +23-06-11 17:25:59.321 - INFO: train/mse_loss: 0.008212400820601718 +23-06-11 17:25:59.321 - INFO: epoch: 299 +23-06-11 17:25:59.321 - INFO: iters: 710424 +23-06-11 17:28:41.256 - INFO: train/mse_loss: 0.008266330701346048 +23-06-11 17:28:41.257 - INFO: epoch: 300 +23-06-11 17:28:41.257 - INFO: iters: 712800 +23-06-11 17:31:22.527 - INFO: train/mse_loss: 0.009326893678687588 +23-06-11 17:31:22.528 - INFO: epoch: 301 +23-06-11 17:31:22.528 - INFO: iters: 715176 +23-06-11 17:34:04.108 - INFO: train/mse_loss: 0.009819964168010035 +23-06-11 17:34:04.109 - INFO: epoch: 302 +23-06-11 17:34:04.109 - INFO: iters: 717552 +23-06-11 17:36:45.146 - INFO: train/mse_loss: 0.007543926389875386 +23-06-11 17:36:45.146 - INFO: epoch: 303 +23-06-11 17:36:45.146 - INFO: iters: 719928 +23-06-11 17:36:50.486 - INFO: train/mse_loss: 0.008320378398315774 +23-06-11 17:39:28.553 - INFO: train/mse_loss: 0.007641467910968645 +23-06-11 17:39:28.554 - INFO: epoch: 304 +23-06-11 17:39:28.554 - INFO: iters: 722304 +23-06-11 17:42:09.603 - INFO: train/mse_loss: 0.008220299746000807 +23-06-11 17:42:09.604 - INFO: epoch: 305 +23-06-11 17:42:09.604 - INFO: iters: 724680 +23-06-11 17:44:50.612 - INFO: train/mse_loss: 0.008261304956261909 +23-06-11 17:44:50.612 - INFO: epoch: 306 +23-06-11 17:44:50.612 - INFO: iters: 727056 +23-06-11 17:47:32.382 - INFO: train/mse_loss: 0.008058774660526452 +23-06-11 17:47:32.383 - INFO: epoch: 307 +23-06-11 17:47:32.383 - INFO: iters: 729432 +23-06-11 17:48:11.172 - INFO: train/mse_loss: 0.00792364530186628 +23-06-11 17:50:16.049 - INFO: train/mse_loss: 0.008906332584668691 +23-06-11 17:50:16.050 - INFO: epoch: 308 +23-06-11 17:50:16.050 - INFO: iters: 731808 +23-06-11 17:52:56.781 - INFO: train/mse_loss: 0.008276187281691867 +23-06-11 17:52:56.782 - INFO: epoch: 309 +23-06-11 17:52:56.782 - INFO: iters: 734184 +23-06-11 17:55:38.098 - INFO: train/mse_loss: 0.009260250228027553 +23-06-11 17:55:38.098 - INFO: epoch: 310 +23-06-11 17:55:38.098 - INFO: iters: 736560 +23-06-11 17:58:19.260 - INFO: train/mse_loss: 0.007394307761010949 +23-06-11 17:58:19.261 - INFO: epoch: 311 +23-06-11 17:58:19.261 - INFO: iters: 738936 +23-06-11 17:59:32.095 - INFO: train/mse_loss: 0.007080013981032977 +23-06-11 18:01:03.033 - INFO: train/mse_loss: 0.006839843946650173 +23-06-11 18:01:03.034 - INFO: epoch: 312 +23-06-11 18:01:03.034 - INFO: iters: 741312 +23-06-11 18:03:44.705 - INFO: train/mse_loss: 0.00806659018630256 +23-06-11 18:03:44.706 - INFO: epoch: 313 +23-06-11 18:03:44.706 - INFO: iters: 743688 +23-06-11 18:06:25.789 - INFO: train/mse_loss: 0.007319001887802675 +23-06-11 18:06:25.790 - INFO: epoch: 314 +23-06-11 18:06:25.790 - INFO: iters: 746064 +23-06-11 18:09:07.390 - INFO: train/mse_loss: 0.007267097175052321 +23-06-11 18:09:07.390 - INFO: epoch: 315 +23-06-11 18:09:07.390 - INFO: iters: 748440 +23-06-11 18:10:53.406 - INFO: train/mse_loss: 0.008036882820754097 +23-06-11 18:11:50.419 - INFO: train/mse_loss: 0.008626539638792776 +23-06-11 18:11:50.419 - INFO: epoch: 316 +23-06-11 18:11:50.419 - INFO: iters: 750816 +23-06-11 18:14:32.869 - INFO: train/mse_loss: 0.006701843495565382 +23-06-11 18:14:32.870 - INFO: epoch: 317 +23-06-11 18:14:32.870 - INFO: iters: 753192 +23-06-11 18:17:15.647 - INFO: train/mse_loss: 0.008199516491751227 +23-06-11 18:17:15.647 - INFO: epoch: 318 +23-06-11 18:17:15.647 - INFO: iters: 755568 +23-06-11 18:19:56.957 - INFO: train/mse_loss: 0.008560891561084725 +23-06-11 18:19:56.957 - INFO: epoch: 319 +23-06-11 18:19:56.957 - INFO: iters: 757944 +23-06-11 18:22:16.495 - INFO: train/mse_loss: 0.0069913869408405015 +23-06-11 18:22:40.019 - INFO: train/mse_loss: 0.006990905561851281 +23-06-11 18:22:40.019 - INFO: epoch: 320 +23-06-11 18:22:40.019 - INFO: iters: 760320 +23-06-11 18:25:21.567 - INFO: train/mse_loss: 0.007149153218921337 +23-06-11 18:25:21.567 - INFO: epoch: 321 +23-06-11 18:25:21.568 - INFO: iters: 762696 +23-06-11 18:28:02.405 - INFO: train/mse_loss: 0.011185734709944288 +23-06-11 18:28:02.405 - INFO: epoch: 322 +23-06-11 18:28:02.405 - INFO: iters: 765072 +23-06-11 18:30:44.263 - INFO: train/mse_loss: 0.007334541206825086 +23-06-11 18:30:44.264 - INFO: epoch: 323 +23-06-11 18:30:44.264 - INFO: iters: 767448 +23-06-11 18:33:25.505 - INFO: train/mse_loss: 0.006804044841340295 +23-06-11 18:33:25.505 - INFO: epoch: 324 +23-06-11 18:33:25.506 - INFO: iters: 769824 +23-06-11 18:33:37.827 - INFO: train/mse_loss: 0.006375056934881617 +23-06-11 18:36:09.162 - INFO: train/mse_loss: 0.006717196757425413 +23-06-11 18:36:09.163 - INFO: epoch: 325 +23-06-11 18:36:09.163 - INFO: iters: 772200 +23-06-11 18:38:50.390 - INFO: train/mse_loss: 0.008893088690046009 +23-06-11 18:38:50.390 - INFO: epoch: 326 +23-06-11 18:38:50.390 - INFO: iters: 774576 +23-06-11 18:41:31.140 - INFO: train/mse_loss: 0.006764223748153258 +23-06-11 18:41:31.141 - INFO: epoch: 327 +23-06-11 18:41:31.141 - INFO: iters: 776952 +23-06-11 18:44:12.615 - INFO: train/mse_loss: 0.007818824426202034 +23-06-11 18:44:12.615 - INFO: epoch: 328 +23-06-11 18:44:12.616 - INFO: iters: 779328 +23-06-11 18:44:58.423 - INFO: train/mse_loss: 0.007633872621227056 +23-06-11 18:46:56.005 - INFO: train/mse_loss: 0.006883424999167271 +23-06-11 18:46:56.005 - INFO: epoch: 329 +23-06-11 18:46:56.005 - INFO: iters: 781704 +23-06-11 18:49:37.161 - INFO: train/mse_loss: 0.008259720701304098 +23-06-11 18:49:37.161 - INFO: epoch: 330 +23-06-11 18:49:37.161 - INFO: iters: 784080 +23-06-11 18:52:18.371 - INFO: train/mse_loss: 0.007047874746398894 +23-06-11 18:52:18.372 - INFO: epoch: 331 +23-06-11 18:52:18.372 - INFO: iters: 786456 +23-06-11 18:55:00.606 - INFO: train/mse_loss: 0.009132213443705831 +23-06-11 18:55:00.607 - INFO: epoch: 332 +23-06-11 18:55:00.607 - INFO: iters: 788832 +23-06-11 18:56:20.629 - INFO: train/mse_loss: 0.008291739421858364 +23-06-11 18:57:44.356 - INFO: train/mse_loss: 0.0073834032820606675 +23-06-11 18:57:44.356 - INFO: epoch: 333 +23-06-11 18:57:44.356 - INFO: iters: 791208 +23-06-11 19:00:25.535 - INFO: train/mse_loss: 0.007251399320311945 +23-06-11 19:00:25.535 - INFO: epoch: 334 +23-06-11 19:00:25.535 - INFO: iters: 793584 +23-06-11 19:03:06.227 - INFO: train/mse_loss: 0.00673056566799279 +23-06-11 19:03:06.228 - INFO: epoch: 335 +23-06-11 19:03:06.228 - INFO: iters: 795960 +23-06-11 19:05:47.400 - INFO: train/mse_loss: 0.008422477463235207 +23-06-11 19:05:47.401 - INFO: epoch: 336 +23-06-11 19:05:47.401 - INFO: iters: 798336 +23-06-11 19:07:40.281 - INFO: train/mse_loss: 0.007257534153513216 +23-06-11 19:08:30.633 - INFO: train/mse_loss: 0.007391748501078824 +23-06-11 19:08:30.633 - INFO: epoch: 337 +23-06-11 19:08:30.634 - INFO: iters: 800712 +23-06-11 19:11:12.383 - INFO: train/mse_loss: 0.00668035860029159 +23-06-11 19:11:12.384 - INFO: epoch: 338 +23-06-11 19:11:12.384 - INFO: iters: 803088 +23-06-11 19:13:53.515 - INFO: train/mse_loss: 0.007272692813509793 +23-06-11 19:13:53.515 - INFO: epoch: 339 +23-06-11 19:13:53.516 - INFO: iters: 805464 +23-06-11 19:16:34.845 - INFO: train/mse_loss: 0.007848606314760968 +23-06-11 19:16:34.846 - INFO: epoch: 340 +23-06-11 19:16:34.846 - INFO: iters: 807840 +23-06-11 19:19:01.866 - INFO: train/mse_loss: 0.007390914308079691 +23-06-11 19:19:18.697 - INFO: train/mse_loss: 0.007833593507745751 +23-06-11 19:19:18.698 - INFO: epoch: 341 +23-06-11 19:19:18.698 - INFO: iters: 810216 +23-06-11 19:21:59.518 - INFO: train/mse_loss: 0.006946745519102974 +23-06-11 19:21:59.518 - INFO: epoch: 342 +23-06-11 19:21:59.518 - INFO: iters: 812592 +23-06-11 19:24:40.309 - INFO: train/mse_loss: 0.007389209785119251 +23-06-11 19:24:40.310 - INFO: epoch: 343 +23-06-11 19:24:40.310 - INFO: iters: 814968 +23-06-11 19:27:21.150 - INFO: train/mse_loss: 0.006919859816408042 +23-06-11 19:27:21.151 - INFO: epoch: 344 +23-06-11 19:27:21.151 - INFO: iters: 817344 +23-06-11 19:30:02.423 - INFO: train/mse_loss: 0.00747666001376329 +23-06-11 19:30:02.423 - INFO: epoch: 345 +23-06-11 19:30:02.423 - INFO: iters: 819720 +23-06-11 19:30:21.923 - INFO: train/mse_loss: 0.005425783705764583 +23-06-11 19:32:45.081 - INFO: train/mse_loss: 0.006200571330452357 +23-06-11 19:32:45.081 - INFO: epoch: 346 +23-06-11 19:32:45.081 - INFO: iters: 822096 +23-06-11 19:35:26.184 - INFO: train/mse_loss: 0.0067368632485080345 +23-06-11 19:35:26.185 - INFO: epoch: 347 +23-06-11 19:35:26.185 - INFO: iters: 824472 +23-06-11 19:38:06.875 - INFO: train/mse_loss: 0.0077207772326201 +23-06-11 19:38:06.876 - INFO: epoch: 348 +23-06-11 19:38:06.876 - INFO: iters: 826848 +23-06-11 19:40:48.483 - INFO: train/mse_loss: 0.007232701292211309 +23-06-11 19:40:48.484 - INFO: epoch: 349 +23-06-11 19:40:48.484 - INFO: iters: 829224 +23-06-11 19:41:41.379 - INFO: train/mse_loss: 0.006766227028361454 +23-06-11 19:43:31.587 - INFO: train/mse_loss: 0.006813094924166423 +23-06-11 19:43:31.587 - INFO: epoch: 350 +23-06-11 19:43:31.587 - INFO: iters: 831600 +23-06-11 19:46:12.739 - INFO: train/mse_loss: 0.006472254858700314 +23-06-11 19:46:12.739 - INFO: epoch: 351 +23-06-11 19:46:12.740 - INFO: iters: 833976 +23-06-11 19:48:53.916 - INFO: train/mse_loss: 0.006649538867962657 +23-06-11 19:48:53.916 - INFO: epoch: 352 +23-06-11 19:48:53.917 - INFO: iters: 836352 +23-06-11 19:51:35.307 - INFO: train/mse_loss: 0.0073593371964815486 +23-06-11 19:51:35.308 - INFO: epoch: 353 +23-06-11 19:51:35.308 - INFO: iters: 838728 +23-06-11 19:53:01.698 - INFO: train/mse_loss: 0.006209232087346649 +23-06-11 19:54:18.109 - INFO: train/mse_loss: 0.00720037733712657 +23-06-11 19:54:18.110 - INFO: epoch: 354 +23-06-11 19:54:18.110 - INFO: iters: 841104 +23-06-11 19:56:58.970 - INFO: train/mse_loss: 0.006084711092166753 +23-06-11 19:56:58.970 - INFO: epoch: 355 +23-06-11 19:56:58.970 - INFO: iters: 843480 +23-06-11 19:59:40.214 - INFO: train/mse_loss: 0.006543325019611503 +23-06-11 19:59:40.215 - INFO: epoch: 356 +23-06-11 19:59:40.215 - INFO: iters: 845856 +23-06-11 20:02:21.825 - INFO: train/mse_loss: 0.00781853340396827 +23-06-11 20:02:21.825 - INFO: epoch: 357 +23-06-11 20:02:21.825 - INFO: iters: 848232 +23-06-11 20:04:22.057 - INFO: train/mse_loss: 0.0062685490420459015 +23-06-11 20:05:05.168 - INFO: train/mse_loss: 0.0061226305602783155 +23-06-11 20:05:05.169 - INFO: epoch: 358 +23-06-11 20:05:05.169 - INFO: iters: 850608 +23-06-11 20:07:45.901 - INFO: train/mse_loss: 0.006627885566362703 +23-06-11 20:07:45.902 - INFO: epoch: 359 +23-06-11 20:07:45.902 - INFO: iters: 852984 +23-06-11 20:10:26.964 - INFO: train/mse_loss: 0.006754712884859982 +23-06-11 20:10:26.964 - INFO: epoch: 360 +23-06-11 20:10:26.965 - INFO: iters: 855360 +23-06-11 20:13:08.347 - INFO: train/mse_loss: 0.007619323391586492 +23-06-11 20:13:08.348 - INFO: epoch: 361 +23-06-11 20:13:08.348 - INFO: iters: 857736 +23-06-11 20:15:41.844 - INFO: train/mse_loss: 0.0057337310435842765 +23-06-11 20:15:51.362 - INFO: train/mse_loss: 0.005755731610578143 +23-06-11 20:15:51.362 - INFO: epoch: 362 +23-06-11 20:15:51.363 - INFO: iters: 860112 +23-06-11 20:18:32.651 - INFO: train/mse_loss: 0.0074790899284334494 +23-06-11 20:18:32.652 - INFO: epoch: 363 +23-06-11 20:18:32.653 - INFO: iters: 862488 +23-06-11 20:21:16.064 - INFO: train/mse_loss: 0.006891590492135096 +23-06-11 20:21:16.065 - INFO: epoch: 364 +23-06-11 20:21:16.065 - INFO: iters: 864864 +23-06-11 20:23:56.987 - INFO: train/mse_loss: 0.006282762167677408 +23-06-11 20:23:56.987 - INFO: epoch: 365 +23-06-11 20:23:56.987 - INFO: iters: 867240 +23-06-11 20:26:38.933 - INFO: train/mse_loss: 0.006379868077139311 +23-06-11 20:26:38.934 - INFO: epoch: 366 +23-06-11 20:26:38.934 - INFO: iters: 869616 +23-06-11 20:27:05.311 - INFO: train/mse_loss: 0.005396446276184482 +23-06-11 20:29:21.841 - INFO: train/mse_loss: 0.006278934651007405 +23-06-11 20:29:21.841 - INFO: epoch: 367 +23-06-11 20:29:21.841 - INFO: iters: 871992 +23-06-11 20:32:05.594 - INFO: train/mse_loss: 0.006660653426004605 +23-06-11 20:32:05.595 - INFO: epoch: 368 +23-06-11 20:32:05.595 - INFO: iters: 874368 +23-06-11 20:34:47.275 - INFO: train/mse_loss: 0.006024032319278177 +23-06-11 20:34:47.275 - INFO: epoch: 369 +23-06-11 20:34:47.275 - INFO: iters: 876744 +23-06-11 20:37:29.725 - INFO: train/mse_loss: 0.006843037742992819 +23-06-11 20:37:29.725 - INFO: epoch: 370 +23-06-11 20:37:29.726 - INFO: iters: 879120 +23-06-11 20:38:30.243 - INFO: train/mse_loss: 0.006247882614843547 +23-06-11 20:40:13.643 - INFO: train/mse_loss: 0.006539841161363504 +23-06-11 20:40:13.644 - INFO: epoch: 371 +23-06-11 20:40:13.644 - INFO: iters: 881496 +23-06-11 20:42:54.618 - INFO: train/mse_loss: 0.006160517241209996 +23-06-11 20:42:54.618 - INFO: epoch: 372 +23-06-11 20:42:54.618 - INFO: iters: 883872 +23-06-11 20:45:35.942 - INFO: train/mse_loss: 0.006562317569853004 +23-06-11 20:45:35.943 - INFO: epoch: 373 +23-06-11 20:45:35.943 - INFO: iters: 886248 +23-06-11 20:48:17.174 - INFO: train/mse_loss: 0.005845932740332427 +23-06-11 20:48:17.174 - INFO: epoch: 374 +23-06-11 20:48:17.174 - INFO: iters: 888624 +23-06-11 20:49:50.979 - INFO: train/mse_loss: 0.008197286987926291 +23-06-11 20:51:00.340 - INFO: train/mse_loss: 0.008682739285137566 +23-06-11 20:51:00.340 - INFO: epoch: 375 +23-06-11 20:51:00.340 - INFO: iters: 891000 +23-06-11 20:53:41.548 - INFO: train/mse_loss: 0.006711557070467534 +23-06-11 20:53:41.548 - INFO: epoch: 376 +23-06-11 20:53:41.548 - INFO: iters: 893376 +23-06-11 20:56:22.883 - INFO: train/mse_loss: 0.007053843137309558 +23-06-11 20:56:22.883 - INFO: epoch: 377 +23-06-11 20:56:22.883 - INFO: iters: 895752 +23-06-11 20:59:03.455 - INFO: train/mse_loss: 0.005644037725751975 +23-06-11 20:59:03.456 - INFO: epoch: 378 +23-06-11 20:59:03.456 - INFO: iters: 898128 +23-06-11 21:01:10.241 - INFO: train/mse_loss: 0.006478591588262118 +23-06-11 21:01:46.387 - INFO: train/mse_loss: 0.006800361538951846 +23-06-11 21:01:46.388 - INFO: epoch: 379 +23-06-11 21:01:46.388 - INFO: iters: 900504 +23-06-11 21:04:27.711 - INFO: train/mse_loss: 0.0065559780951087625 +23-06-11 21:04:27.712 - INFO: epoch: 380 +23-06-11 21:04:27.712 - INFO: iters: 902880 +23-06-11 21:07:09.279 - INFO: train/mse_loss: 0.006633259226671523 +23-06-11 21:07:09.279 - INFO: epoch: 381 +23-06-11 21:07:09.279 - INFO: iters: 905256 +23-06-11 21:09:52.694 - INFO: train/mse_loss: 0.007211585973643444 +23-06-11 21:09:52.695 - INFO: epoch: 382 +23-06-11 21:09:52.695 - INFO: iters: 907632 +23-06-11 21:12:33.936 - INFO: train/mse_loss: 0.006205580531968735 +23-06-11 21:12:36.595 - INFO: train/mse_loss: 0.006197149836715398 +23-06-11 21:12:36.596 - INFO: epoch: 383 +23-06-11 21:12:36.596 - INFO: iters: 910008 +23-06-11 21:15:17.396 - INFO: train/mse_loss: 0.006441734331387161 +23-06-11 21:15:17.397 - INFO: epoch: 384 +23-06-11 21:15:17.397 - INFO: iters: 912384 +23-06-11 21:17:58.155 - INFO: train/mse_loss: 0.0057673436199136155 +23-06-11 21:17:58.156 - INFO: epoch: 385 +23-06-11 21:17:58.156 - INFO: iters: 914760 +23-06-11 21:20:38.846 - INFO: train/mse_loss: 0.006415730358339746 +23-06-11 21:20:38.847 - INFO: epoch: 386 +23-06-11 21:20:38.847 - INFO: iters: 917136 +23-06-11 21:23:19.782 - INFO: train/mse_loss: 0.0060314967403633625 +23-06-11 21:23:19.783 - INFO: epoch: 387 +23-06-11 21:23:19.783 - INFO: iters: 919512 +23-06-11 21:23:53.135 - INFO: train/mse_loss: 0.006648888305730385 +23-06-11 21:26:03.650 - INFO: train/mse_loss: 0.007045065897112393 +23-06-11 21:26:03.651 - INFO: epoch: 388 +23-06-11 21:26:03.651 - INFO: iters: 921888 +23-06-11 21:28:45.063 - INFO: train/mse_loss: 0.006586232767456058 +23-06-11 21:28:45.063 - INFO: epoch: 389 +23-06-11 21:28:45.064 - INFO: iters: 924264 +23-06-11 21:31:26.033 - INFO: train/mse_loss: 0.006077759118001244 +23-06-11 21:31:26.033 - INFO: epoch: 390 +23-06-11 21:31:26.034 - INFO: iters: 926640 +23-06-11 21:34:07.562 - INFO: train/mse_loss: 0.0055394676045172845 +23-06-11 21:34:07.563 - INFO: epoch: 391 +23-06-11 21:34:07.563 - INFO: iters: 929016 +23-06-11 21:35:14.368 - INFO: train/mse_loss: 0.0051113474343683785 +23-06-11 21:36:50.752 - INFO: train/mse_loss: 0.005925119590321525 +23-06-11 21:36:50.752 - INFO: epoch: 392 +23-06-11 21:36:50.752 - INFO: iters: 931392 +23-06-11 21:39:32.264 - INFO: train/mse_loss: 0.0073135084145693014 +23-06-11 21:39:32.265 - INFO: epoch: 393 +23-06-11 21:39:32.266 - INFO: iters: 933768 +23-06-11 21:42:13.302 - INFO: train/mse_loss: 0.006576378003894806 +23-06-11 21:42:13.303 - INFO: epoch: 394 +23-06-11 21:42:13.303 - INFO: iters: 936144 +23-06-11 21:44:54.581 - INFO: train/mse_loss: 0.005894106454513842 +23-06-11 21:44:54.582 - INFO: epoch: 395 +23-06-11 21:44:54.582 - INFO: iters: 938520 +23-06-11 21:46:35.492 - INFO: train/mse_loss: 0.007034892675064101 +23-06-11 21:47:38.203 - INFO: train/mse_loss: 0.006464460566765331 +23-06-11 21:47:38.203 - INFO: epoch: 396 +23-06-11 21:47:38.203 - INFO: iters: 940896 +23-06-11 21:50:20.198 - INFO: train/mse_loss: 0.005669071047052565 +23-06-11 21:50:20.199 - INFO: epoch: 397 +23-06-11 21:50:20.199 - INFO: iters: 943272 +23-06-11 21:53:01.414 - INFO: train/mse_loss: 0.005908953968626808 +23-06-11 21:53:01.415 - INFO: epoch: 398 +23-06-11 21:53:01.415 - INFO: iters: 945648 +23-06-11 21:55:42.881 - INFO: train/mse_loss: 0.011792144857296839 +23-06-11 21:55:42.881 - INFO: epoch: 399 +23-06-11 21:55:42.881 - INFO: iters: 948024 +23-06-11 21:57:56.695 - INFO: train/mse_loss: 0.006255194074417717 +23-06-11 21:58:25.562 - INFO: train/mse_loss: 0.006359585303725417 +23-06-11 21:58:25.562 - INFO: epoch: 400 +23-06-11 21:58:25.562 - INFO: iters: 950400 +23-06-11 22:01:06.374 - INFO: train/mse_loss: 0.0061322201595262246 +23-06-11 22:01:06.374 - INFO: epoch: 401 +23-06-11 22:01:06.374 - INFO: iters: 952776 +23-06-11 22:03:47.810 - INFO: train/mse_loss: 0.005855968964022744 +23-06-11 22:03:47.810 - INFO: epoch: 402 +23-06-11 22:03:47.811 - INFO: iters: 955152 +23-06-11 22:06:28.362 - INFO: train/mse_loss: 0.006034806756826387 +23-06-11 22:06:28.362 - INFO: epoch: 403 +23-06-11 22:06:28.363 - INFO: iters: 957528 +23-06-11 22:09:10.610 - INFO: train/mse_loss: 0.0054464985162602985 +23-06-11 22:09:10.611 - INFO: epoch: 404 +23-06-11 22:09:10.611 - INFO: iters: 959904 +23-06-11 22:09:17.707 - INFO: train/mse_loss: 0.008855837804730982 +23-06-11 22:11:53.998 - INFO: train/mse_loss: 0.0055733478819380705 +23-06-11 22:11:53.998 - INFO: epoch: 405 +23-06-11 22:11:53.998 - INFO: iters: 962280 +23-06-11 22:14:34.901 - INFO: train/mse_loss: 0.005914057557148113 +23-06-11 22:14:34.902 - INFO: epoch: 406 +23-06-11 22:14:34.902 - INFO: iters: 964656 +23-06-11 22:17:16.109 - INFO: train/mse_loss: 0.006579046687957915 +23-06-11 22:17:16.110 - INFO: epoch: 407 +23-06-11 22:17:16.110 - INFO: iters: 967032 +23-06-11 22:19:57.095 - INFO: train/mse_loss: 0.0065192188095514626 +23-06-11 22:19:57.095 - INFO: epoch: 408 +23-06-11 22:19:57.095 - INFO: iters: 969408 +23-06-11 22:20:37.673 - INFO: train/mse_loss: 0.005506606291148912 +23-06-11 22:22:41.047 - INFO: train/mse_loss: 0.006809690215010259 +23-06-11 22:22:41.048 - INFO: epoch: 409 +23-06-11 22:22:41.048 - INFO: iters: 971784 +23-06-11 22:25:22.132 - INFO: train/mse_loss: 0.006109746281208113 +23-06-11 22:25:22.133 - INFO: epoch: 410 +23-06-11 22:25:22.133 - INFO: iters: 974160 +23-06-11 22:28:03.247 - INFO: train/mse_loss: 0.006508754927316925 +23-06-11 22:28:03.248 - INFO: epoch: 411 +23-06-11 22:28:03.249 - INFO: iters: 976536 +23-06-11 22:30:44.468 - INFO: train/mse_loss: 0.005425449849579872 +23-06-11 22:30:44.468 - INFO: epoch: 412 +23-06-11 22:30:44.469 - INFO: iters: 978912 +23-06-11 22:31:58.630 - INFO: train/mse_loss: 0.005809100948253591 +23-06-11 22:33:27.456 - INFO: train/mse_loss: 0.006187904078155906 +23-06-11 22:33:27.456 - INFO: epoch: 413 +23-06-11 22:33:27.457 - INFO: iters: 981288 +23-06-11 22:36:08.690 - INFO: train/mse_loss: 0.006308703970239319 +23-06-11 22:36:08.691 - INFO: epoch: 414 +23-06-11 22:36:08.691 - INFO: iters: 983664 +23-06-11 22:38:49.372 - INFO: train/mse_loss: 0.005636158547448841 +23-06-11 22:38:49.372 - INFO: epoch: 415 +23-06-11 22:38:49.372 - INFO: iters: 986040 +23-06-11 22:41:30.967 - INFO: train/mse_loss: 0.005812314923410539 +23-06-11 22:41:30.968 - INFO: epoch: 416 +23-06-11 22:41:30.968 - INFO: iters: 988416 +23-06-11 22:43:18.412 - INFO: train/mse_loss: 0.005305612072315669 +23-06-11 22:44:13.672 - INFO: train/mse_loss: 0.00546008949630552 +23-06-11 22:44:13.673 - INFO: epoch: 417 +23-06-11 22:44:13.673 - INFO: iters: 990792 +23-06-11 22:46:55.172 - INFO: train/mse_loss: 0.006313721874339964 +23-06-11 22:46:55.173 - INFO: epoch: 418 +23-06-11 22:46:55.173 - INFO: iters: 993168 +23-06-11 22:49:36.503 - INFO: train/mse_loss: 0.00558010688418466 +23-06-11 22:49:36.504 - INFO: epoch: 419 +23-06-11 22:49:36.505 - INFO: iters: 995544 +23-06-11 22:52:17.610 - INFO: train/mse_loss: 0.007583377326239741 +23-06-11 22:52:17.610 - INFO: epoch: 420 +23-06-11 22:52:17.611 - INFO: iters: 997920 +23-06-11 22:54:39.269 - INFO: train/mse_loss: 0.0053315189581973335 +23-06-11 22:55:01.241 - INFO: train/mse_loss: 0.005301319433122196 +23-06-11 22:55:01.241 - INFO: epoch: 421 +23-06-11 22:55:01.241 - INFO: iters: 1000296 +23-06-11 22:57:42.332 - INFO: train/mse_loss: 0.005411505377741674 +23-06-11 22:57:42.333 - INFO: epoch: 422 +23-06-11 22:57:42.333 - INFO: iters: 1002672 +23-06-11 23:00:23.948 - INFO: train/mse_loss: 0.005587469926339132 +23-06-11 23:00:23.949 - INFO: epoch: 423 +23-06-11 23:00:23.949 - INFO: iters: 1005048 +23-06-11 23:03:04.781 - INFO: train/mse_loss: 0.006223501679518884 +23-06-11 23:03:04.782 - INFO: epoch: 424 +23-06-11 23:03:04.782 - INFO: iters: 1007424 +23-06-11 23:05:46.500 - INFO: train/mse_loss: 0.005763953335282177 +23-06-11 23:05:46.501 - INFO: epoch: 425 +23-06-11 23:05:46.501 - INFO: iters: 1009800 +23-06-11 23:06:00.445 - INFO: train/mse_loss: 0.00623942852485925 +23-06-11 23:08:29.484 - INFO: train/mse_loss: 0.005877851247897228 +23-06-11 23:08:29.484 - INFO: epoch: 426 +23-06-11 23:08:29.484 - INFO: iters: 1012176 +23-06-11 23:11:10.265 - INFO: train/mse_loss: 0.004954464185233495 +23-06-11 23:11:10.266 - INFO: epoch: 427 +23-06-11 23:11:10.266 - INFO: iters: 1014552 +23-06-11 23:13:51.961 - INFO: train/mse_loss: 0.006976036759021281 +23-06-11 23:13:51.962 - INFO: epoch: 428 +23-06-11 23:13:51.962 - INFO: iters: 1016928 +23-06-11 23:16:33.871 - INFO: train/mse_loss: 0.005560176665753577 +23-06-11 23:16:33.871 - INFO: epoch: 429 +23-06-11 23:16:33.871 - INFO: iters: 1019304 +23-06-11 23:17:21.500 - INFO: train/mse_loss: 0.0056433424730945765 +23-06-11 23:19:17.600 - INFO: train/mse_loss: 0.005809777117999088 +23-06-11 23:19:17.600 - INFO: epoch: 430 +23-06-11 23:19:17.601 - INFO: iters: 1021680 +23-06-11 23:21:59.941 - INFO: train/mse_loss: 0.005578468559601466 +23-06-11 23:21:59.941 - INFO: epoch: 431 +23-06-11 23:21:59.941 - INFO: iters: 1024056 +23-06-11 23:24:41.227 - INFO: train/mse_loss: 0.005929202606481334 +23-06-11 23:24:41.228 - INFO: epoch: 432 +23-06-11 23:24:41.228 - INFO: iters: 1026432 +23-06-11 23:27:22.309 - INFO: train/mse_loss: 0.005468616469038857 +23-06-11 23:27:22.310 - INFO: epoch: 433 +23-06-11 23:27:22.310 - INFO: iters: 1028808 +23-06-11 23:28:43.775 - INFO: train/mse_loss: 0.006056532948965444 +23-06-11 23:30:05.860 - INFO: train/mse_loss: 0.005657268494449129 +23-06-11 23:30:05.861 - INFO: epoch: 434 +23-06-11 23:30:05.861 - INFO: iters: 1031184 +23-06-11 23:32:47.383 - INFO: train/mse_loss: 0.006362771303769239 +23-06-11 23:32:47.385 - INFO: epoch: 435 +23-06-11 23:32:47.385 - INFO: iters: 1033560 +23-06-11 23:35:28.665 - INFO: train/mse_loss: 0.006186458002697513 +23-06-11 23:35:28.665 - INFO: epoch: 436 +23-06-11 23:35:28.666 - INFO: iters: 1035936 +23-06-11 23:38:09.964 - INFO: train/mse_loss: 0.00614216937707041 +23-06-11 23:38:09.965 - INFO: epoch: 437 +23-06-11 23:38:09.965 - INFO: iters: 1038312 +23-06-11 23:40:04.356 - INFO: train/mse_loss: 0.004928809026216479 +23-06-11 23:40:52.802 - INFO: train/mse_loss: 0.005338363801380024 +23-06-11 23:40:52.802 - INFO: epoch: 438 +23-06-11 23:40:52.802 - INFO: iters: 1040688 +23-06-11 23:43:34.430 - INFO: train/mse_loss: 0.00588963841211979 +23-06-11 23:43:34.431 - INFO: epoch: 439 +23-06-11 23:43:34.431 - INFO: iters: 1043064 +23-06-11 23:46:15.216 - INFO: train/mse_loss: 0.006326221484261305 +23-06-11 23:46:15.217 - INFO: epoch: 440 +23-06-11 23:46:15.217 - INFO: iters: 1045440 +23-06-11 23:48:56.194 - INFO: train/mse_loss: 0.005881313954617966 +23-06-11 23:48:56.195 - INFO: epoch: 441 +23-06-11 23:48:56.195 - INFO: iters: 1047816 +23-06-11 23:51:23.924 - INFO: train/mse_loss: 0.005910699240839443 +23-06-11 23:51:39.287 - INFO: train/mse_loss: 0.005801662513029821 +23-06-11 23:51:39.287 - INFO: epoch: 442 +23-06-11 23:51:39.287 - INFO: iters: 1050192 +23-06-11 23:54:20.776 - INFO: train/mse_loss: 0.006018286940535085 +23-06-11 23:54:20.777 - INFO: epoch: 443 +23-06-11 23:54:20.777 - INFO: iters: 1052568 +23-06-11 23:57:01.683 - INFO: train/mse_loss: 0.00483218299127764 +23-06-11 23:57:01.683 - INFO: epoch: 444 +23-06-11 23:57:01.683 - INFO: iters: 1054944 +23-06-11 23:59:42.971 - INFO: train/mse_loss: 0.006823458559873831 +23-06-11 23:59:42.971 - INFO: epoch: 445 +23-06-11 23:59:42.971 - INFO: iters: 1057320 +23-06-12 00:02:25.231 - INFO: train/mse_loss: 0.00619366894647015 +23-06-12 00:02:25.231 - INFO: epoch: 446 +23-06-12 00:02:25.232 - INFO: iters: 1059696 +23-06-12 00:02:46.307 - INFO: train/mse_loss: 0.007352036472998168 +23-06-12 00:05:08.190 - INFO: train/mse_loss: 0.00525439242277332 +23-06-12 00:05:08.190 - INFO: epoch: 447 +23-06-12 00:05:08.190 - INFO: iters: 1062072 +23-06-12 00:07:50.256 - INFO: train/mse_loss: 0.0059847150210397765 +23-06-12 00:07:50.256 - INFO: epoch: 448 +23-06-12 00:07:50.256 - INFO: iters: 1064448 +23-06-12 00:10:31.712 - INFO: train/mse_loss: 0.004574029657030196 +23-06-12 00:10:31.713 - INFO: epoch: 449 +23-06-12 00:10:31.713 - INFO: iters: 1066824 +23-06-12 00:13:12.826 - INFO: train/mse_loss: 0.005074110231362283 +23-06-12 00:13:12.827 - INFO: epoch: 450 +23-06-12 00:13:12.827 - INFO: iters: 1069200 +23-06-12 00:14:07.444 - INFO: train/mse_loss: 0.006297492679441348 +23-06-12 00:15:56.738 - INFO: train/mse_loss: 0.005817859024765842 +23-06-12 00:15:56.739 - INFO: epoch: 451 +23-06-12 00:15:56.739 - INFO: iters: 1071576 +23-06-12 00:18:38.216 - INFO: train/mse_loss: 0.005924562237661344 +23-06-12 00:18:38.216 - INFO: epoch: 452 +23-06-12 00:18:38.216 - INFO: iters: 1073952 +23-06-12 00:21:19.264 - INFO: train/mse_loss: 0.005042512660065309 +23-06-12 00:21:19.265 - INFO: epoch: 453 +23-06-12 00:21:19.265 - INFO: iters: 1076328 +23-06-12 00:24:00.962 - INFO: train/mse_loss: 0.006832773159869542 +23-06-12 00:24:00.962 - INFO: epoch: 454 +23-06-12 00:24:00.962 - INFO: iters: 1078704 +23-06-12 00:25:28.644 - INFO: train/mse_loss: 0.0051744064865173935 +23-06-12 00:26:43.500 - INFO: train/mse_loss: 0.005408448196935031 +23-06-12 00:26:43.501 - INFO: epoch: 455 +23-06-12 00:26:43.501 - INFO: iters: 1081080 +23-06-12 00:29:24.676 - INFO: train/mse_loss: 0.005795814845591833 +23-06-12 00:29:24.677 - INFO: epoch: 456 +23-06-12 00:29:24.677 - INFO: iters: 1083456 +23-06-12 00:32:05.222 - INFO: train/mse_loss: 0.005750461632420344 +23-06-12 00:32:05.223 - INFO: epoch: 457 +23-06-12 00:32:05.223 - INFO: iters: 1085832 +23-06-12 00:34:46.591 - INFO: train/mse_loss: 0.00546945178621019 +23-06-12 00:34:46.593 - INFO: epoch: 458 +23-06-12 00:34:46.593 - INFO: iters: 1088208 +23-06-12 00:36:48.041 - INFO: train/mse_loss: 0.00488963706551918 +23-06-12 00:37:29.492 - INFO: train/mse_loss: 0.005104931134899909 +23-06-12 00:37:29.492 - INFO: epoch: 459 +23-06-12 00:37:29.492 - INFO: iters: 1090584 +23-06-12 00:40:10.507 - INFO: train/mse_loss: 0.005186287964919977 +23-06-12 00:40:10.507 - INFO: epoch: 460 +23-06-12 00:40:10.508 - INFO: iters: 1092960 +23-06-12 00:42:51.360 - INFO: train/mse_loss: 0.005353690576598499 +23-06-12 00:42:51.360 - INFO: epoch: 461 +23-06-12 00:42:51.360 - INFO: iters: 1095336 +23-06-12 00:45:33.512 - INFO: train/mse_loss: 0.006170559597675146 +23-06-12 00:45:33.513 - INFO: epoch: 462 +23-06-12 00:45:33.513 - INFO: iters: 1097712 +23-06-12 00:48:08.180 - INFO: train/mse_loss: 0.005081714858330292 +23-06-12 00:48:16.047 - INFO: train/mse_loss: 0.00499315941408402 +23-06-12 00:48:16.047 - INFO: epoch: 463 +23-06-12 00:48:16.047 - INFO: iters: 1100088 +23-06-12 00:50:57.719 - INFO: train/mse_loss: 0.00442744692103931 +23-06-12 00:50:57.719 - INFO: epoch: 464 +23-06-12 00:50:57.720 - INFO: iters: 1102464 +23-06-12 00:53:38.551 - INFO: train/mse_loss: 0.006320477097988229 +23-06-12 00:53:38.552 - INFO: epoch: 465 +23-06-12 00:53:38.552 - INFO: iters: 1104840 +23-06-12 00:56:19.460 - INFO: train/mse_loss: 0.006089188060911391 +23-06-12 00:56:19.461 - INFO: epoch: 466 +23-06-12 00:56:19.461 - INFO: iters: 1107216 +23-06-12 00:59:00.287 - INFO: train/mse_loss: 0.005216368731983031 +23-06-12 00:59:00.287 - INFO: epoch: 467 +23-06-12 00:59:00.287 - INFO: iters: 1109592 +23-06-12 00:59:28.494 - INFO: train/mse_loss: 0.004696640612867971 +23-06-12 01:01:43.606 - INFO: train/mse_loss: 0.005701458406154857 +23-06-12 01:01:43.606 - INFO: epoch: 468 +23-06-12 01:01:43.606 - INFO: iters: 1111968 +23-06-12 01:04:24.793 - INFO: train/mse_loss: 0.005023724237623113 +23-06-12 01:04:24.794 - INFO: epoch: 469 +23-06-12 01:04:24.794 - INFO: iters: 1114344 +23-06-12 01:07:06.291 - INFO: train/mse_loss: 0.005069465032286365 +23-06-12 01:07:06.292 - INFO: epoch: 470 +23-06-12 01:07:06.292 - INFO: iters: 1116720 +23-06-12 01:09:47.313 - INFO: train/mse_loss: 0.005506748473114939 +23-06-12 01:09:47.314 - INFO: epoch: 471 +23-06-12 01:09:47.314 - INFO: iters: 1119096 +23-06-12 01:10:49.181 - INFO: train/mse_loss: 0.0046317423322955065 +23-06-12 01:12:30.882 - INFO: train/mse_loss: 0.005845308597027151 +23-06-12 01:12:30.883 - INFO: epoch: 472 +23-06-12 01:12:30.883 - INFO: iters: 1121472 +23-06-12 01:15:11.643 - INFO: train/mse_loss: 0.005115373881286017 +23-06-12 01:15:11.643 - INFO: epoch: 473 +23-06-12 01:15:11.644 - INFO: iters: 1123848 +23-06-12 01:17:52.178 - INFO: train/mse_loss: 0.005147430241838574 +23-06-12 01:17:52.179 - INFO: epoch: 474 +23-06-12 01:17:52.179 - INFO: iters: 1126224 +23-06-12 01:20:33.597 - INFO: train/mse_loss: 0.004582294085382888 +23-06-12 01:20:33.597 - INFO: epoch: 475 +23-06-12 01:20:33.597 - INFO: iters: 1128600 +23-06-12 01:22:08.536 - INFO: train/mse_loss: 0.006553105478441077 +23-06-12 01:23:16.584 - INFO: train/mse_loss: 0.006027480097791738 +23-06-12 01:23:16.585 - INFO: epoch: 476 +23-06-12 01:23:16.585 - INFO: iters: 1130976 +23-06-12 01:25:57.863 - INFO: train/mse_loss: 0.004961244872479577 +23-06-12 01:25:57.864 - INFO: epoch: 477 +23-06-12 01:25:57.864 - INFO: iters: 1133352 +23-06-12 01:28:38.540 - INFO: train/mse_loss: 0.005655854623310067 +23-06-12 01:28:38.540 - INFO: epoch: 478 +23-06-12 01:28:38.540 - INFO: iters: 1135728 +23-06-12 01:31:19.585 - INFO: train/mse_loss: 0.006142942127473777 +23-06-12 01:31:19.586 - INFO: epoch: 479 +23-06-12 01:31:19.586 - INFO: iters: 1138104 +23-06-12 01:33:27.978 - INFO: train/mse_loss: 0.005652575335123494 +23-06-12 01:34:02.402 - INFO: train/mse_loss: 0.005389213837959149 +23-06-12 01:34:02.403 - INFO: epoch: 480 +23-06-12 01:34:02.403 - INFO: iters: 1140480 +23-06-12 01:36:43.564 - INFO: train/mse_loss: 0.004646878217202721 +23-06-12 01:36:43.564 - INFO: epoch: 481 +23-06-12 01:36:43.564 - INFO: iters: 1142856 +23-06-12 01:39:24.776 - INFO: train/mse_loss: 0.004962654627533473 +23-06-12 01:39:24.776 - INFO: epoch: 482 +23-06-12 01:39:24.776 - INFO: iters: 1145232 +23-06-12 01:42:05.819 - INFO: train/mse_loss: 0.005008361631571644 +23-06-12 01:42:05.820 - INFO: epoch: 483 +23-06-12 01:42:05.820 - INFO: iters: 1147608 +23-06-12 01:44:47.363 - INFO: train/mse_loss: 0.005207750593509638 +23-06-12 01:44:47.364 - INFO: epoch: 484 +23-06-12 01:44:47.364 - INFO: iters: 1149984 +23-06-12 01:44:48.857 - INFO: train/mse_loss: 0.002877888036891818 +23-06-12 01:47:30.451 - INFO: train/mse_loss: 0.005042934751840503 +23-06-12 01:47:30.451 - INFO: epoch: 485 +23-06-12 01:47:30.451 - INFO: iters: 1152360 +23-06-12 01:50:12.282 - INFO: train/mse_loss: 0.00532291052739139 +23-06-12 01:50:12.283 - INFO: epoch: 486 +23-06-12 01:50:12.283 - INFO: iters: 1154736 +23-06-12 01:52:53.323 - INFO: train/mse_loss: 0.004797834939063097 +23-06-12 01:52:53.324 - INFO: epoch: 487 +23-06-12 01:52:53.324 - INFO: iters: 1157112 +23-06-12 01:55:34.496 - INFO: train/mse_loss: 0.005503816309820873 +23-06-12 01:55:34.497 - INFO: epoch: 488 +23-06-12 01:55:34.497 - INFO: iters: 1159488 +23-06-12 01:56:09.853 - INFO: train/mse_loss: 0.00490836740937084 +23-06-12 01:58:17.498 - INFO: train/mse_loss: 0.004645454152079569 +23-06-12 01:58:17.499 - INFO: epoch: 489 +23-06-12 01:58:17.499 - INFO: iters: 1161864 +23-06-12 02:00:59.294 - INFO: train/mse_loss: 0.006275519923862032 +23-06-12 02:00:59.295 - INFO: epoch: 490 +23-06-12 02:00:59.295 - INFO: iters: 1164240 +23-06-12 02:03:41.114 - INFO: train/mse_loss: 0.006424319614446173 +23-06-12 02:03:41.115 - INFO: epoch: 491 +23-06-12 02:03:41.115 - INFO: iters: 1166616 +23-06-12 02:06:22.221 - INFO: train/mse_loss: 0.005173761611224249 +23-06-12 02:06:22.222 - INFO: epoch: 492 +23-06-12 02:06:22.222 - INFO: iters: 1168992 +23-06-12 02:07:32.328 - INFO: train/mse_loss: 0.00549115893146437 +23-06-12 02:09:06.663 - INFO: train/mse_loss: 0.005434012395229429 +23-06-12 02:09:06.663 - INFO: epoch: 493 +23-06-12 02:09:06.663 - INFO: iters: 1171368 +23-06-12 02:11:48.147 - INFO: train/mse_loss: 0.005325690406117501 +23-06-12 02:11:48.147 - INFO: epoch: 494 +23-06-12 02:11:48.147 - INFO: iters: 1173744 +23-06-12 02:14:29.633 - INFO: train/mse_loss: 0.005084349724827867 +23-06-12 02:14:29.634 - INFO: epoch: 495 +23-06-12 02:14:29.634 - INFO: iters: 1176120 +23-06-12 02:17:10.981 - INFO: train/mse_loss: 0.005367282357048055 +23-06-12 02:17:10.982 - INFO: epoch: 496 +23-06-12 02:17:10.982 - INFO: iters: 1178496 +23-06-12 02:18:53.002 - INFO: train/mse_loss: 0.004709355470580742 +23-06-12 02:19:53.867 - INFO: train/mse_loss: 0.004904350449694853 +23-06-12 02:19:53.868 - INFO: epoch: 497 +23-06-12 02:19:53.868 - INFO: iters: 1180872 +23-06-12 02:22:34.936 - INFO: train/mse_loss: 0.00518822204870382 +23-06-12 02:22:34.937 - INFO: epoch: 498 +23-06-12 02:22:34.937 - INFO: iters: 1183248 +23-06-12 02:25:16.020 - INFO: train/mse_loss: 0.005662568474050473 +23-06-12 02:25:16.021 - INFO: epoch: 499 +23-06-12 02:25:16.021 - INFO: iters: 1185624 +23-06-12 02:27:57.513 - INFO: train/mse_loss: 0.00508279830800614 +23-06-12 02:27:57.513 - INFO: epoch: 500 +23-06-12 02:27:57.513 - INFO: iters: 1188000 +23-06-12 02:30:12.764 - INFO: train/mse_loss: 0.007755307648330927 +23-06-12 02:30:40.119 - INFO: train/mse_loss: 0.007319499618963336 +23-06-12 02:30:40.119 - INFO: epoch: 501 +23-06-12 02:30:40.119 - INFO: iters: 1190376 +23-06-12 02:33:21.398 - INFO: train/mse_loss: 0.00540115063193157 +23-06-12 02:33:21.399 - INFO: epoch: 502 +23-06-12 02:33:21.399 - INFO: iters: 1192752 +23-06-12 02:36:02.610 - INFO: train/mse_loss: 0.005310995873888509 +23-06-12 02:36:02.611 - INFO: epoch: 503 +23-06-12 02:36:02.611 - INFO: iters: 1195128 +23-06-12 02:38:44.519 - INFO: train/mse_loss: 0.004779562769184886 +23-06-12 02:38:44.519 - INFO: epoch: 504 +23-06-12 02:38:44.519 - INFO: iters: 1197504 +23-06-12 02:41:27.060 - INFO: train/mse_loss: 0.004453454791060226 +23-06-12 02:41:27.061 - INFO: epoch: 505 +23-06-12 02:41:27.061 - INFO: iters: 1199880 +23-06-12 02:41:35.636 - INFO: train/mse_loss: 0.0060382037656381725 +23-06-12 02:44:09.995 - INFO: train/mse_loss: 0.005234156608634851 +23-06-12 02:44:09.996 - INFO: epoch: 506 +23-06-12 02:44:09.996 - INFO: iters: 1202256 +23-06-12 02:46:51.089 - INFO: train/mse_loss: 0.004742919194969891 +23-06-12 02:46:51.090 - INFO: epoch: 507 +23-06-12 02:46:51.090 - INFO: iters: 1204632 +23-06-12 02:49:32.424 - INFO: train/mse_loss: 0.005154713428961834 +23-06-12 02:49:32.425 - INFO: epoch: 508 +23-06-12 02:49:32.425 - INFO: iters: 1207008 +23-06-12 02:52:14.037 - INFO: train/mse_loss: 0.004390076591056279 +23-06-12 02:52:14.038 - INFO: epoch: 509 +23-06-12 02:52:14.038 - INFO: iters: 1209384 +23-06-12 02:52:56.267 - INFO: train/mse_loss: 0.0034659089015603257 +23-06-12 02:54:57.482 - INFO: train/mse_loss: 0.0039522142842512336 +23-06-12 02:54:57.483 - INFO: epoch: 510 +23-06-12 02:54:57.483 - INFO: iters: 1211760 +23-06-12 02:57:39.801 - INFO: train/mse_loss: 0.003925891751454836 +23-06-12 02:57:39.801 - INFO: epoch: 511 +23-06-12 02:57:39.801 - INFO: iters: 1214136 +23-06-12 03:00:21.566 - INFO: train/mse_loss: 0.005022817935327363 +23-06-12 03:00:21.567 - INFO: epoch: 512 +23-06-12 03:00:21.567 - INFO: iters: 1216512 +23-06-12 03:03:04.576 - INFO: train/mse_loss: 0.008358334090407022 +23-06-12 03:03:04.577 - INFO: epoch: 513 +23-06-12 03:03:04.577 - INFO: iters: 1218888 +23-06-12 03:04:20.355 - INFO: train/mse_loss: 0.0049413663792430606 +23-06-12 03:05:47.752 - INFO: train/mse_loss: 0.004836129503221148 +23-06-12 03:05:47.752 - INFO: epoch: 514 +23-06-12 03:05:47.753 - INFO: iters: 1221264 +23-06-12 03:08:29.363 - INFO: train/mse_loss: 0.005286947775848511 +23-06-12 03:08:29.364 - INFO: epoch: 515 +23-06-12 03:08:29.364 - INFO: iters: 1223640 +23-06-12 03:11:11.660 - INFO: train/mse_loss: 0.005340099601648898 +23-06-12 03:11:11.661 - INFO: epoch: 516 +23-06-12 03:11:11.661 - INFO: iters: 1226016 +23-06-12 03:13:52.955 - INFO: train/mse_loss: 0.004599498774580381 +23-06-12 03:13:52.955 - INFO: epoch: 517 +23-06-12 03:13:52.956 - INFO: iters: 1228392 +23-06-12 03:15:42.429 - INFO: train/mse_loss: 0.0047713692203877655 +23-06-12 03:16:36.467 - INFO: train/mse_loss: 0.004623168999460911 +23-06-12 03:16:36.467 - INFO: epoch: 518 +23-06-12 03:16:36.468 - INFO: iters: 1230768 +23-06-12 03:19:17.589 - INFO: train/mse_loss: 0.004875468806307198 +23-06-12 03:19:17.589 - INFO: epoch: 519 +23-06-12 03:19:17.589 - INFO: iters: 1233144 +23-06-12 03:21:58.505 - INFO: train/mse_loss: 0.004688038947750573 +23-06-12 03:21:58.505 - INFO: epoch: 520 +23-06-12 03:21:58.505 - INFO: iters: 1235520 +23-06-12 03:24:39.124 - INFO: train/mse_loss: 0.0050662954127014635 +23-06-12 03:24:39.124 - INFO: epoch: 521 +23-06-12 03:24:39.124 - INFO: iters: 1237896 +23-06-12 03:27:01.944 - INFO: train/mse_loss: 0.006954501887177871 +23-06-12 03:27:22.321 - INFO: train/mse_loss: 0.006605199658506321 +23-06-12 03:27:22.321 - INFO: epoch: 522 +23-06-12 03:27:22.321 - INFO: iters: 1240272 +23-06-12 03:30:03.318 - INFO: train/mse_loss: 0.004483815098748941 +23-06-12 03:30:03.319 - INFO: epoch: 523 +23-06-12 03:30:03.319 - INFO: iters: 1242648 +23-06-12 03:32:45.055 - INFO: train/mse_loss: 0.0047340862651321074 +23-06-12 03:32:45.056 - INFO: epoch: 524 +23-06-12 03:32:45.056 - INFO: iters: 1245024 +23-06-12 03:35:26.632 - INFO: train/mse_loss: 0.0057413940559382795 +23-06-12 03:35:26.633 - INFO: epoch: 525 +23-06-12 03:35:26.633 - INFO: iters: 1247400 +23-06-12 03:38:07.888 - INFO: train/mse_loss: 0.00547357729631429 +23-06-12 03:38:07.889 - INFO: epoch: 526 +23-06-12 03:38:07.889 - INFO: iters: 1249776 +23-06-12 03:38:23.793 - INFO: train/mse_loss: 0.005018804870945003 +23-06-12 03:40:51.030 - INFO: train/mse_loss: 0.005369915451732173 +23-06-12 03:40:51.030 - INFO: epoch: 527 +23-06-12 03:40:51.030 - INFO: iters: 1252152 +23-06-12 03:43:32.182 - INFO: train/mse_loss: 0.005714056050516226 +23-06-12 03:43:32.183 - INFO: epoch: 528 +23-06-12 03:43:32.183 - INFO: iters: 1254528 +23-06-12 03:46:13.299 - INFO: train/mse_loss: 0.0048287037059567516 +23-06-12 03:46:13.300 - INFO: epoch: 529 +23-06-12 03:46:13.300 - INFO: iters: 1256904 +23-06-12 03:48:54.738 - INFO: train/mse_loss: 0.004645296527693669 +23-06-12 03:48:54.739 - INFO: epoch: 530 +23-06-12 03:48:54.739 - INFO: iters: 1259280 +23-06-12 03:49:43.883 - INFO: train/mse_loss: 0.004937824591373404 +23-06-12 03:51:37.751 - INFO: train/mse_loss: 0.00489268584297625 +23-06-12 03:51:37.751 - INFO: epoch: 531 +23-06-12 03:51:37.751 - INFO: iters: 1261656 +23-06-12 03:54:18.861 - INFO: train/mse_loss: 0.004384219968653839 +23-06-12 03:54:18.862 - INFO: epoch: 532 +23-06-12 03:54:18.862 - INFO: iters: 1264032 +23-06-12 03:57:00.455 - INFO: train/mse_loss: 0.005869552478984449 +23-06-12 03:57:00.456 - INFO: epoch: 533 +23-06-12 03:57:00.456 - INFO: iters: 1266408 +23-06-12 03:59:41.615 - INFO: train/mse_loss: 0.005143983992403028 +23-06-12 03:59:41.616 - INFO: epoch: 534 +23-06-12 03:59:41.616 - INFO: iters: 1268784 +23-06-12 04:01:04.446 - INFO: train/mse_loss: 0.0054393461507156885 +23-06-12 04:02:24.997 - INFO: train/mse_loss: 0.005103596711142446 +23-06-12 04:02:24.997 - INFO: epoch: 535 +23-06-12 04:02:24.997 - INFO: iters: 1271160 +23-06-12 04:05:06.373 - INFO: train/mse_loss: 0.004486144597168623 +23-06-12 04:05:06.374 - INFO: epoch: 536 +23-06-12 04:05:06.374 - INFO: iters: 1273536 +23-06-12 04:07:47.911 - INFO: train/mse_loss: 0.004733796786087305 +23-06-12 04:07:47.912 - INFO: epoch: 537 +23-06-12 04:07:47.912 - INFO: iters: 1275912 +23-06-12 04:10:29.070 - INFO: train/mse_loss: 0.006012017011598555 +23-06-12 04:10:29.070 - INFO: epoch: 538 +23-06-12 04:10:29.070 - INFO: iters: 1278288 +23-06-12 04:12:25.539 - INFO: train/mse_loss: 0.005272525480173737 +23-06-12 04:13:12.362 - INFO: train/mse_loss: 0.005293934014139803 +23-06-12 04:13:12.362 - INFO: epoch: 539 +23-06-12 04:13:12.362 - INFO: iters: 1280664 +23-06-12 04:15:53.256 - INFO: train/mse_loss: 0.0050420708901810175 +23-06-12 04:15:53.256 - INFO: epoch: 540 +23-06-12 04:15:53.256 - INFO: iters: 1283040 +23-06-12 04:18:34.942 - INFO: train/mse_loss: 0.0046836557972122625 +23-06-12 04:18:34.943 - INFO: epoch: 541 +23-06-12 04:18:34.943 - INFO: iters: 1285416 +23-06-12 04:21:16.022 - INFO: train/mse_loss: 0.004967034569790944 +23-06-12 04:21:16.023 - INFO: epoch: 542 +23-06-12 04:21:16.023 - INFO: iters: 1287792 +23-06-12 04:23:45.681 - INFO: train/mse_loss: 0.005175967169739981 +23-06-12 04:23:59.216 - INFO: train/mse_loss: 0.005345925584871334 +23-06-12 04:23:59.217 - INFO: epoch: 543 +23-06-12 04:23:59.217 - INFO: iters: 1290168 +23-06-12 04:26:40.093 - INFO: train/mse_loss: 0.00550453064795458 +23-06-12 04:26:40.094 - INFO: epoch: 544 +23-06-12 04:26:40.094 - INFO: iters: 1292544 +23-06-12 04:29:21.675 - INFO: train/mse_loss: 0.004676233959440707 +23-06-12 04:29:21.675 - INFO: epoch: 545 +23-06-12 04:29:21.675 - INFO: iters: 1294920 +23-06-12 04:32:02.338 - INFO: train/mse_loss: 0.005565437994292163 +23-06-12 04:32:02.339 - INFO: epoch: 546 +23-06-12 04:32:02.339 - INFO: iters: 1297296 +23-06-12 04:34:43.681 - INFO: train/mse_loss: 0.004740419656489835 +23-06-12 04:34:43.682 - INFO: epoch: 547 +23-06-12 04:34:43.682 - INFO: iters: 1299672 +23-06-12 04:35:06.183 - INFO: train/mse_loss: 0.00420662004318906 +23-06-12 04:37:27.359 - INFO: train/mse_loss: 0.004072993419913932 +23-06-12 04:37:27.360 - INFO: epoch: 548 +23-06-12 04:37:27.360 - INFO: iters: 1302048 +23-06-12 04:40:08.870 - INFO: train/mse_loss: 0.005048701665066308 +23-06-12 04:40:08.871 - INFO: epoch: 549 +23-06-12 04:40:08.871 - INFO: iters: 1304424 +23-06-12 04:42:49.827 - INFO: train/mse_loss: 0.005805507465736056 +23-06-12 04:42:49.828 - INFO: epoch: 550 +23-06-12 04:42:49.828 - INFO: iters: 1306800 +23-06-12 04:45:30.742 - INFO: train/mse_loss: 0.004957156177055128 +23-06-12 04:45:30.743 - INFO: epoch: 551 +23-06-12 04:45:30.743 - INFO: iters: 1309176 +23-06-12 04:46:27.173 - INFO: train/mse_loss: 0.004360173407318161 +23-06-12 04:48:13.951 - INFO: train/mse_loss: 0.005440601550657239 +23-06-12 04:48:13.953 - INFO: epoch: 552 +23-06-12 04:48:13.953 - INFO: iters: 1311552 +23-06-12 04:50:55.442 - INFO: train/mse_loss: 0.0049356098129235285 +23-06-12 04:50:55.443 - INFO: epoch: 553 +23-06-12 04:50:55.443 - INFO: iters: 1313928 +23-06-12 04:53:37.124 - INFO: train/mse_loss: 0.004821803360026618 +23-06-12 04:53:37.124 - INFO: epoch: 554 +23-06-12 04:53:37.125 - INFO: iters: 1316304 +23-06-12 04:56:17.908 - INFO: train/mse_loss: 0.004256281030822156 +23-06-12 04:56:17.908 - INFO: epoch: 555 +23-06-12 04:56:17.908 - INFO: iters: 1318680 +23-06-12 04:57:47.469 - INFO: train/mse_loss: 0.00542616969270801 +23-06-12 04:59:01.305 - INFO: train/mse_loss: 0.0049760224872271875 +23-06-12 04:59:01.305 - INFO: epoch: 556 +23-06-12 04:59:01.305 - INFO: iters: 1321056 +23-06-12 05:01:43.057 - INFO: train/mse_loss: 0.0054708721515211445 +23-06-12 05:01:43.058 - INFO: epoch: 557 +23-06-12 05:01:43.058 - INFO: iters: 1323432 +23-06-12 05:04:24.049 - INFO: train/mse_loss: 0.004511411575583258 +23-06-12 05:04:24.049 - INFO: epoch: 558 +23-06-12 05:04:24.050 - INFO: iters: 1325808 +23-06-12 05:07:05.010 - INFO: train/mse_loss: 0.004691247961966804 +23-06-12 05:07:05.010 - INFO: epoch: 559 +23-06-12 05:07:05.010 - INFO: iters: 1328184 +23-06-12 05:09:07.888 - INFO: train/mse_loss: 0.004271888835683859 +23-06-12 05:09:47.752 - INFO: train/mse_loss: 0.004555453367606558 +23-06-12 05:09:47.752 - INFO: epoch: 560 +23-06-12 05:09:47.752 - INFO: iters: 1330560 +23-06-12 05:12:29.114 - INFO: train/mse_loss: 0.004445919649430898 +23-06-12 05:12:29.114 - INFO: epoch: 561 +23-06-12 05:12:29.114 - INFO: iters: 1332936 +23-06-12 05:15:10.173 - INFO: train/mse_loss: 0.004919615052859942 +23-06-12 05:15:10.173 - INFO: epoch: 562 +23-06-12 05:15:10.173 - INFO: iters: 1335312 +23-06-12 05:17:50.926 - INFO: train/mse_loss: 0.0045648884494249595 +23-06-12 05:17:50.927 - INFO: epoch: 563 +23-06-12 05:17:50.927 - INFO: iters: 1337688 +23-06-12 05:20:28.140 - INFO: train/mse_loss: 0.005240083009062599 +23-06-12 05:20:34.543 - INFO: train/mse_loss: 0.005183402796962646 +23-06-12 05:20:34.543 - INFO: epoch: 564 +23-06-12 05:20:34.543 - INFO: iters: 1340064 +23-06-12 05:23:15.773 - INFO: train/mse_loss: 0.00526641627659187 +23-06-12 05:23:15.773 - INFO: epoch: 565 +23-06-12 05:23:15.773 - INFO: iters: 1342440 +23-06-12 05:25:56.548 - INFO: train/mse_loss: 0.004864284632098783 +23-06-12 05:25:56.548 - INFO: epoch: 566 +23-06-12 05:25:56.548 - INFO: iters: 1344816 +23-06-12 05:28:37.656 - INFO: train/mse_loss: 0.005730174064223877 +23-06-12 05:28:37.657 - INFO: epoch: 567 +23-06-12 05:28:37.657 - INFO: iters: 1347192 +23-06-12 05:31:18.667 - INFO: train/mse_loss: 0.004359687026472518 +23-06-12 05:31:18.667 - INFO: epoch: 568 +23-06-12 05:31:18.667 - INFO: iters: 1349568 +23-06-12 05:31:48.392 - INFO: train/mse_loss: 0.004050388481657676 +23-06-12 05:34:01.737 - INFO: train/mse_loss: 0.004319680263586217 +23-06-12 05:34:01.737 - INFO: epoch: 569 +23-06-12 05:34:01.737 - INFO: iters: 1351944 +23-06-12 05:36:43.551 - INFO: train/mse_loss: 0.0050105610327334195 +23-06-12 05:36:43.552 - INFO: epoch: 570 +23-06-12 05:36:43.552 - INFO: iters: 1354320 +23-06-12 05:39:25.273 - INFO: train/mse_loss: 0.004816483575709615 +23-06-12 05:39:25.274 - INFO: epoch: 571 +23-06-12 05:39:25.274 - INFO: iters: 1356696 +23-06-12 05:42:06.335 - INFO: train/mse_loss: 0.004827164334593096 +23-06-12 05:42:06.335 - INFO: epoch: 572 +23-06-12 05:42:06.336 - INFO: iters: 1359072 +23-06-12 05:43:09.604 - INFO: train/mse_loss: 0.004060692276809654 +23-06-12 05:44:50.329 - INFO: train/mse_loss: 0.004263036113948897 +23-06-12 05:44:50.330 - INFO: epoch: 573 +23-06-12 05:44:50.330 - INFO: iters: 1361448 +23-06-12 05:47:32.153 - INFO: train/mse_loss: 0.005012902146031271 +23-06-12 05:47:32.153 - INFO: epoch: 574 +23-06-12 05:47:32.153 - INFO: iters: 1363824 +23-06-12 05:50:13.188 - INFO: train/mse_loss: 0.0048453390272177425 +23-06-12 05:50:13.189 - INFO: epoch: 575 +23-06-12 05:50:13.189 - INFO: iters: 1366200 +23-06-12 05:52:54.227 - INFO: train/mse_loss: 0.00470883007002963 +23-06-12 05:52:54.228 - INFO: epoch: 576 +23-06-12 05:52:54.228 - INFO: iters: 1368576 +23-06-12 05:54:30.759 - INFO: train/mse_loss: 0.004533990038744582 +23-06-12 05:55:36.976 - INFO: train/mse_loss: 0.004814859460655173 +23-06-12 05:55:36.977 - INFO: epoch: 577 +23-06-12 05:55:36.977 - INFO: iters: 1370952 +23-06-12 05:58:17.870 - INFO: train/mse_loss: 0.004286376180273077 +23-06-12 05:58:17.870 - INFO: epoch: 578 +23-06-12 05:58:17.870 - INFO: iters: 1373328 +23-06-12 06:00:58.537 - INFO: train/mse_loss: 0.004845519566607445 +23-06-12 06:00:58.537 - INFO: epoch: 579 +23-06-12 06:00:58.537 - INFO: iters: 1375704 +23-06-12 06:03:39.833 - INFO: train/mse_loss: 0.004520053535100913 +23-06-12 06:03:39.833 - INFO: epoch: 580 +23-06-12 06:03:39.833 - INFO: iters: 1378080 +23-06-12 06:05:50.044 - INFO: train/mse_loss: 0.0049687552770289285 +23-06-12 06:06:22.682 - INFO: train/mse_loss: 0.005139188814331285 +23-06-12 06:06:22.682 - INFO: epoch: 581 +23-06-12 06:06:22.682 - INFO: iters: 1380456 +23-06-12 06:09:03.184 - INFO: train/mse_loss: 0.004445150672530235 +23-06-12 06:09:03.185 - INFO: epoch: 582 +23-06-12 06:09:03.185 - INFO: iters: 1382832 +23-06-12 06:11:44.365 - INFO: train/mse_loss: 0.004674469693665791 +23-06-12 06:11:44.366 - INFO: epoch: 583 +23-06-12 06:11:44.366 - INFO: iters: 1385208 +23-06-12 06:14:25.104 - INFO: train/mse_loss: 0.0051502763432441185 +23-06-12 06:14:25.105 - INFO: epoch: 584 +23-06-12 06:14:25.105 - INFO: iters: 1387584 +23-06-12 06:17:05.958 - INFO: train/mse_loss: 0.004800558452194977 +23-06-12 06:17:05.959 - INFO: epoch: 585 +23-06-12 06:17:05.959 - INFO: iters: 1389960 +23-06-12 06:17:09.130 - INFO: train/mse_loss: 0.002343324478715658 +23-06-12 06:19:49.175 - INFO: train/mse_loss: 0.00485654454423516 +23-06-12 06:19:49.175 - INFO: epoch: 586 +23-06-12 06:19:49.176 - INFO: iters: 1392336 +23-06-12 06:22:30.864 - INFO: train/mse_loss: 0.004331914964171208 +23-06-12 06:22:30.865 - INFO: epoch: 587 +23-06-12 06:22:30.865 - INFO: iters: 1394712 +23-06-12 06:25:12.089 - INFO: train/mse_loss: 0.005284193166694682 +23-06-12 06:25:12.090 - INFO: epoch: 588 +23-06-12 06:25:12.090 - INFO: iters: 1397088 +23-06-12 06:27:53.377 - INFO: train/mse_loss: 0.004806363882037563 +23-06-12 06:27:53.378 - INFO: epoch: 589 +23-06-12 06:27:53.378 - INFO: iters: 1399464 +23-06-12 06:28:30.054 - INFO: train/mse_loss: 0.004365947524975262 +23-06-12 06:30:36.733 - INFO: train/mse_loss: 0.004530962947591424 +23-06-12 06:30:36.733 - INFO: epoch: 590 +23-06-12 06:30:36.734 - INFO: iters: 1401840 +23-06-12 06:33:17.910 - INFO: train/mse_loss: 0.005062290469869683 +23-06-12 06:33:17.911 - INFO: epoch: 591 +23-06-12 06:33:17.911 - INFO: iters: 1404216 +23-06-12 06:35:59.511 - INFO: train/mse_loss: 0.0044025934329930605 +23-06-12 06:35:59.512 - INFO: epoch: 592 +23-06-12 06:35:59.512 - INFO: iters: 1406592 +23-06-12 06:38:41.132 - INFO: train/mse_loss: 0.005038511149133697 +23-06-12 06:38:41.133 - INFO: epoch: 593 +23-06-12 06:38:41.133 - INFO: iters: 1408968 +23-06-12 06:39:51.059 - INFO: train/mse_loss: 0.003987258041183673 +23-06-12 06:41:24.346 - INFO: train/mse_loss: 0.004202818991506616 +23-06-12 06:41:24.346 - INFO: epoch: 594 +23-06-12 06:41:24.346 - INFO: iters: 1411344 +23-06-12 06:44:05.896 - INFO: train/mse_loss: 0.004290498966964194 +23-06-12 06:44:05.897 - INFO: epoch: 595 +23-06-12 06:44:05.897 - INFO: iters: 1413720 +23-06-12 06:46:47.413 - INFO: train/mse_loss: 0.00475702257254647 +23-06-12 06:46:47.414 - INFO: epoch: 596 +23-06-12 06:46:47.414 - INFO: iters: 1416096 +23-06-12 06:49:28.734 - INFO: train/mse_loss: 0.004673279762293153 +23-06-12 06:49:28.734 - INFO: epoch: 597 +23-06-12 06:49:28.734 - INFO: iters: 1418472 +23-06-12 06:51:12.692 - INFO: train/mse_loss: 0.004637299323727557 +23-06-12 06:52:11.851 - INFO: train/mse_loss: 0.004787335256569289 +23-06-12 06:52:11.851 - INFO: epoch: 598 +23-06-12 06:52:11.851 - INFO: iters: 1420848 +23-06-12 06:54:53.315 - INFO: train/mse_loss: 0.0052138497417570035 +23-06-12 06:54:53.316 - INFO: epoch: 599 +23-06-12 06:54:53.316 - INFO: iters: 1423224 +23-06-12 06:57:34.623 - INFO: train/mse_loss: 0.004688916950147937 +23-06-12 06:57:34.624 - INFO: epoch: 600 +23-06-12 06:57:34.624 - INFO: iters: 1425600 +23-06-12 07:00:16.529 - INFO: train/mse_loss: 0.004958361249867049 +23-06-12 07:00:16.529 - INFO: epoch: 601 +23-06-12 07:00:16.529 - INFO: iters: 1427976 +23-06-12 07:02:34.023 - INFO: train/mse_loss: 0.005443573675832524 +23-06-12 07:02:59.889 - INFO: train/mse_loss: 0.005167791684180097 +23-06-12 07:02:59.889 - INFO: epoch: 602 +23-06-12 07:02:59.889 - INFO: iters: 1430352 +23-06-12 07:05:41.212 - INFO: train/mse_loss: 0.004420716175966291 +23-06-12 07:05:41.212 - INFO: epoch: 603 +23-06-12 07:05:41.213 - INFO: iters: 1432728 +23-06-12 07:08:22.618 - INFO: train/mse_loss: 0.004481319928783234 +23-06-12 07:08:22.619 - INFO: epoch: 604 +23-06-12 07:08:22.619 - INFO: iters: 1435104 +23-06-12 07:11:03.795 - INFO: train/mse_loss: 0.004121058497237675 +23-06-12 07:11:03.796 - INFO: epoch: 605 +23-06-12 07:11:03.796 - INFO: iters: 1437480 +23-06-12 07:13:44.882 - INFO: train/mse_loss: 0.004086158359666301 +23-06-12 07:13:44.882 - INFO: epoch: 606 +23-06-12 07:13:44.882 - INFO: iters: 1439856 +23-06-12 07:13:55.082 - INFO: train/mse_loss: 0.0036462279515237445 +23-06-12 07:16:27.564 - INFO: train/mse_loss: 0.003912651980952721 +23-06-12 07:16:27.565 - INFO: epoch: 607 +23-06-12 07:16:27.565 - INFO: iters: 1442232 +23-06-12 07:19:08.524 - INFO: train/mse_loss: 0.005610227072141086 +23-06-12 07:19:08.524 - INFO: epoch: 608 +23-06-12 07:19:08.525 - INFO: iters: 1444608 +23-06-12 07:21:49.296 - INFO: train/mse_loss: 0.004844397520850278 +23-06-12 07:21:49.297 - INFO: epoch: 609 +23-06-12 07:21:49.297 - INFO: iters: 1446984 +23-06-12 07:24:30.155 - INFO: train/mse_loss: 0.00569545858095146 +23-06-12 07:24:30.155 - INFO: epoch: 610 +23-06-12 07:24:30.155 - INFO: iters: 1449360 +23-06-12 07:25:14.042 - INFO: train/mse_loss: 0.004473644872632576 +23-06-12 07:27:12.854 - INFO: train/mse_loss: 0.004351025501929336 +23-06-12 07:27:12.854 - INFO: epoch: 611 +23-06-12 07:27:12.854 - INFO: iters: 1451736 +23-06-12 07:29:53.918 - INFO: train/mse_loss: 0.004222462392962453 +23-06-12 07:29:53.919 - INFO: epoch: 612 +23-06-12 07:29:53.919 - INFO: iters: 1454112 +23-06-12 07:32:34.776 - INFO: train/mse_loss: 0.0041664832264580055 +23-06-12 07:32:34.777 - INFO: epoch: 613 +23-06-12 07:32:34.777 - INFO: iters: 1456488 +23-06-12 07:35:15.937 - INFO: train/mse_loss: 0.0038201923757283525 +23-06-12 07:35:15.938 - INFO: epoch: 614 +23-06-12 07:35:15.938 - INFO: iters: 1458864 +23-06-12 07:36:33.915 - INFO: train/mse_loss: 0.0046258518619062775 +23-06-12 07:37:59.299 - INFO: train/mse_loss: 0.004658920991058879 +23-06-12 07:37:59.299 - INFO: epoch: 615 +23-06-12 07:37:59.299 - INFO: iters: 1461240 +23-06-12 07:40:40.687 - INFO: train/mse_loss: 0.0043973846444138875 +23-06-12 07:40:40.688 - INFO: epoch: 616 +23-06-12 07:40:40.688 - INFO: iters: 1463616 +23-06-12 07:43:21.940 - INFO: train/mse_loss: 0.004903295821540045 +23-06-12 07:43:21.940 - INFO: epoch: 617 +23-06-12 07:43:21.941 - INFO: iters: 1465992 +23-06-12 07:46:03.151 - INFO: train/mse_loss: 0.004361211976447215 +23-06-12 07:46:03.151 - INFO: epoch: 618 +23-06-12 07:46:03.151 - INFO: iters: 1468368 +23-06-12 07:47:53.442 - INFO: train/mse_loss: 0.004855776845657851 +23-06-12 07:48:45.622 - INFO: train/mse_loss: 0.004916196027167003 +23-06-12 07:48:45.622 - INFO: epoch: 619 +23-06-12 07:48:45.622 - INFO: iters: 1470744 +23-06-12 07:51:26.809 - INFO: train/mse_loss: 0.004698709174967136 +23-06-12 07:51:26.810 - INFO: epoch: 620 +23-06-12 07:51:26.810 - INFO: iters: 1473120 +23-06-12 07:54:09.370 - INFO: train/mse_loss: 0.004624330826920554 +23-06-12 07:54:09.371 - INFO: epoch: 621 +23-06-12 07:54:09.371 - INFO: iters: 1475496 +23-06-12 07:56:50.133 - INFO: train/mse_loss: 0.004619865090294619 +23-06-12 07:56:50.133 - INFO: epoch: 622 +23-06-12 07:56:50.133 - INFO: iters: 1477872 +23-06-12 07:59:14.554 - INFO: train/mse_loss: 0.0039866124542388024 +23-06-12 07:59:34.179 - INFO: train/mse_loss: 0.003954779461766232 +23-06-12 07:59:34.179 - INFO: epoch: 623 +23-06-12 07:59:34.179 - INFO: iters: 1480248 +23-06-12 08:02:15.369 - INFO: train/mse_loss: 0.00390515037967513 +23-06-12 08:02:15.369 - INFO: epoch: 624 +23-06-12 08:02:15.369 - INFO: iters: 1482624 +23-06-12 08:04:58.137 - INFO: train/mse_loss: 0.004662584282359052 +23-06-12 08:04:58.137 - INFO: epoch: 625 +23-06-12 08:04:58.138 - INFO: iters: 1485000 +23-06-12 08:07:39.718 - INFO: train/mse_loss: 0.003204127230175053 +23-06-12 08:07:39.719 - INFO: epoch: 626 +23-06-12 08:07:39.719 - INFO: iters: 1487376 +23-06-12 08:10:21.855 - INFO: train/mse_loss: 0.004807666275902692 +23-06-12 08:10:21.856 - INFO: epoch: 627 +23-06-12 08:10:21.856 - INFO: iters: 1489752 +23-06-12 08:10:39.150 - INFO: train/mse_loss: 0.0033345248629038614 +23-06-12 08:13:05.689 - INFO: train/mse_loss: 0.004758141532709653 +23-06-12 08:13:05.689 - INFO: epoch: 628 +23-06-12 08:13:05.689 - INFO: iters: 1492128 +23-06-12 08:15:46.444 - INFO: train/mse_loss: 0.0047293785302539165 +23-06-12 08:15:46.445 - INFO: epoch: 629 +23-06-12 08:15:46.445 - INFO: iters: 1494504 +23-06-12 08:18:27.996 - INFO: train/mse_loss: 0.003927807775184963 +23-06-12 08:18:27.997 - INFO: epoch: 630 +23-06-12 08:18:27.997 - INFO: iters: 1496880 +23-06-12 08:21:10.013 - INFO: train/mse_loss: 0.003991842893914944 +23-06-12 08:21:10.014 - INFO: epoch: 631 +23-06-12 08:21:10.014 - INFO: iters: 1499256 +23-06-12 08:22:00.610 - INFO: train/mse_loss: 0.00453909664409816 +23-06-12 08:23:52.338 - INFO: train/mse_loss: 0.004491036282758219 +23-06-12 08:23:52.339 - INFO: epoch: 632 +23-06-12 08:23:52.339 - INFO: iters: 1501632 +23-06-12 08:26:34.306 - INFO: train/mse_loss: 0.003911501990422694 +23-06-12 08:26:34.306 - INFO: epoch: 633 +23-06-12 08:26:34.306 - INFO: iters: 1504008 +23-06-12 08:29:15.444 - INFO: train/mse_loss: 0.004288664880218078 +23-06-12 08:29:15.445 - INFO: epoch: 634 +23-06-12 08:29:15.445 - INFO: iters: 1506384 +23-06-12 08:31:57.589 - INFO: train/mse_loss: 0.004766979951118292 +23-06-12 08:31:57.590 - INFO: epoch: 635 +23-06-12 08:31:57.590 - INFO: iters: 1508760 +23-06-12 08:33:21.930 - INFO: train/mse_loss: 0.004222971312476382 +23-06-12 08:34:40.606 - INFO: train/mse_loss: 0.003872969001609995 +23-06-12 08:34:40.606 - INFO: epoch: 636 +23-06-12 08:34:40.606 - INFO: iters: 1511136 +23-06-12 08:37:22.084 - INFO: train/mse_loss: 0.004860663869824286 +23-06-12 08:37:22.085 - INFO: epoch: 637 +23-06-12 08:37:22.085 - INFO: iters: 1513512 +23-06-12 08:40:03.424 - INFO: train/mse_loss: 0.00506887555624882 +23-06-12 08:40:03.425 - INFO: epoch: 638 +23-06-12 08:40:03.425 - INFO: iters: 1515888 +23-06-12 08:42:44.359 - INFO: train/mse_loss: 0.004156951496404241 +23-06-12 08:42:44.359 - INFO: epoch: 639 +23-06-12 08:42:44.360 - INFO: iters: 1518264 +23-06-12 08:44:42.422 - INFO: train/mse_loss: 0.003556941884563386 +23-06-12 08:45:27.574 - INFO: train/mse_loss: 0.003611720494200046 +23-06-12 08:45:27.575 - INFO: epoch: 640 +23-06-12 08:45:27.575 - INFO: iters: 1520640 +23-06-12 08:48:08.221 - INFO: train/mse_loss: 0.004892233481649497 +23-06-12 08:48:08.222 - INFO: epoch: 641 +23-06-12 08:48:08.222 - INFO: iters: 1523016 +23-06-12 08:50:49.552 - INFO: train/mse_loss: 0.0037639506097713656 +23-06-12 08:50:49.552 - INFO: epoch: 642 +23-06-12 08:50:49.552 - INFO: iters: 1525392 +23-06-12 08:53:30.746 - INFO: train/mse_loss: 0.0044419762679620296 +23-06-12 08:53:30.747 - INFO: epoch: 643 +23-06-12 08:53:30.747 - INFO: iters: 1527768 +23-06-12 08:56:02.047 - INFO: train/mse_loss: 0.004257022862582998 +23-06-12 08:56:14.081 - INFO: train/mse_loss: 0.004448601794162583 +23-06-12 08:56:14.082 - INFO: epoch: 644 +23-06-12 08:56:14.082 - INFO: iters: 1530144 +23-06-12 08:58:54.737 - INFO: train/mse_loss: 0.004468751972484769 +23-06-12 08:58:54.737 - INFO: epoch: 645 +23-06-12 08:58:54.737 - INFO: iters: 1532520 +23-06-12 09:01:35.838 - INFO: train/mse_loss: 0.004298876242724683 +23-06-12 09:01:35.838 - INFO: epoch: 646 +23-06-12 09:01:35.839 - INFO: iters: 1534896 +23-06-12 09:04:16.840 - INFO: train/mse_loss: 0.0038252339521203478 +23-06-12 09:04:16.841 - INFO: epoch: 647 +23-06-12 09:04:16.841 - INFO: iters: 1537272 +23-06-12 09:06:58.259 - INFO: train/mse_loss: 0.00480768567336071 +23-06-12 09:06:58.260 - INFO: epoch: 648 +23-06-12 09:06:58.260 - INFO: iters: 1539648 +23-06-12 09:07:22.468 - INFO: train/mse_loss: 0.005480638451196931 +23-06-12 09:09:41.678 - INFO: train/mse_loss: 0.0053149267818672135 +23-06-12 09:09:41.679 - INFO: epoch: 649 +23-06-12 09:09:41.679 - INFO: iters: 1542024 +23-06-12 09:12:23.081 - INFO: train/mse_loss: 0.0037141332180577924 +23-06-12 09:12:23.082 - INFO: epoch: 650 +23-06-12 09:12:23.082 - INFO: iters: 1544400 +23-06-12 09:15:04.211 - INFO: train/mse_loss: 0.00409109974558299 +23-06-12 09:15:04.212 - INFO: epoch: 651 +23-06-12 09:15:04.212 - INFO: iters: 1546776 +23-06-12 09:17:45.232 - INFO: train/mse_loss: 0.004649067385575298 +23-06-12 09:17:45.232 - INFO: epoch: 652 +23-06-12 09:17:45.232 - INFO: iters: 1549152 +23-06-12 09:18:43.051 - INFO: train/mse_loss: 0.004089836416686973 +23-06-12 09:20:28.030 - INFO: train/mse_loss: 0.0050360163970088415 +23-06-12 09:20:28.030 - INFO: epoch: 653 +23-06-12 09:20:28.030 - INFO: iters: 1551528 +23-06-12 09:23:08.980 - INFO: train/mse_loss: 0.003585934158028903 +23-06-12 09:23:08.981 - INFO: epoch: 654 +23-06-12 09:23:08.981 - INFO: iters: 1553904 +23-06-12 09:25:52.291 - INFO: train/mse_loss: 0.003847288728224408 +23-06-12 09:25:52.292 - INFO: epoch: 655 +23-06-12 09:25:52.292 - INFO: iters: 1556280 +23-06-12 09:28:33.406 - INFO: train/mse_loss: 0.0047953124285474895 +23-06-12 09:28:33.406 - INFO: epoch: 656 +23-06-12 09:28:33.406 - INFO: iters: 1558656 +23-06-12 09:30:04.781 - INFO: train/mse_loss: 0.004584316896355068 +23-06-12 09:31:16.589 - INFO: train/mse_loss: 0.0047290146710297805 +23-06-12 09:31:16.590 - INFO: epoch: 657 +23-06-12 09:31:16.590 - INFO: iters: 1561032 +23-06-12 09:33:58.673 - INFO: train/mse_loss: 0.003976544506984264 +23-06-12 09:33:58.674 - INFO: epoch: 658 +23-06-12 09:33:58.674 - INFO: iters: 1563408 +23-06-12 09:36:40.192 - INFO: train/mse_loss: 0.003868707494107812 +23-06-12 09:36:40.192 - INFO: epoch: 659 +23-06-12 09:36:40.193 - INFO: iters: 1565784 +23-06-12 09:39:20.838 - INFO: train/mse_loss: 0.004180015515542341 +23-06-12 09:39:20.839 - INFO: epoch: 660 +23-06-12 09:39:20.839 - INFO: iters: 1568160 +23-06-12 09:41:25.262 - INFO: train/mse_loss: 0.00468166210465943 +23-06-12 09:42:03.348 - INFO: train/mse_loss: 0.004543889509921624 +23-06-12 09:42:03.348 - INFO: epoch: 661 +23-06-12 09:42:03.348 - INFO: iters: 1570536 +23-06-12 09:44:44.293 - INFO: train/mse_loss: 0.005214346141196938 +23-06-12 09:44:44.294 - INFO: epoch: 662 +23-06-12 09:44:44.294 - INFO: iters: 1572912 +23-06-12 09:47:25.071 - INFO: train/mse_loss: 0.0036448438519373636 +23-06-12 09:47:25.072 - INFO: epoch: 663 +23-06-12 09:47:25.072 - INFO: iters: 1575288 +23-06-12 09:50:06.725 - INFO: train/mse_loss: 0.004952698372741879 +23-06-12 09:50:06.725 - INFO: epoch: 664 +23-06-12 09:50:06.725 - INFO: iters: 1577664 +23-06-12 09:52:45.181 - INFO: train/mse_loss: 0.005101964792255822 +23-06-12 09:52:49.763 - INFO: train/mse_loss: 0.00509500499757521 +23-06-12 09:52:49.763 - INFO: epoch: 665 +23-06-12 09:52:49.763 - INFO: iters: 1580040 +23-06-12 09:55:30.962 - INFO: train/mse_loss: 0.004742456116770028 +23-06-12 09:55:30.963 - INFO: epoch: 666 +23-06-12 09:55:30.963 - INFO: iters: 1582416 +23-06-12 09:58:12.226 - INFO: train/mse_loss: 0.004051514140797484 +23-06-12 09:58:12.227 - INFO: epoch: 667 +23-06-12 09:58:12.227 - INFO: iters: 1584792 +23-06-12 10:00:53.638 - INFO: train/mse_loss: 0.0049580981986681845 +23-06-12 10:00:53.639 - INFO: epoch: 668 +23-06-12 10:00:53.639 - INFO: iters: 1587168 +23-06-12 10:03:35.167 - INFO: train/mse_loss: 0.004810375265929196 +23-06-12 10:03:35.168 - INFO: epoch: 669 +23-06-12 10:03:35.168 - INFO: iters: 1589544 +23-06-12 10:04:06.394 - INFO: train/mse_loss: 0.0038752976535378317 +23-06-12 10:06:17.996 - INFO: train/mse_loss: 0.0036673110216755658 +23-06-12 10:06:17.996 - INFO: epoch: 670 +23-06-12 10:06:17.996 - INFO: iters: 1591920 +23-06-12 10:08:58.741 - INFO: train/mse_loss: 0.00380423322111456 +23-06-12 10:08:58.741 - INFO: epoch: 671 +23-06-12 10:08:58.741 - INFO: iters: 1594296 +23-06-12 10:11:42.177 - INFO: train/mse_loss: 0.004446210500569418 +23-06-12 10:11:42.178 - INFO: epoch: 672 +23-06-12 10:11:42.178 - INFO: iters: 1596672 +23-06-12 10:14:23.774 - INFO: train/mse_loss: 0.0038423383555936342 +23-06-12 10:14:23.775 - INFO: epoch: 673 +23-06-12 10:14:23.775 - INFO: iters: 1599048 +23-06-12 10:15:28.507 - INFO: train/mse_loss: 0.006210950606291284 +23-06-12 10:17:06.859 - INFO: train/mse_loss: 0.004935823698639431 +23-06-12 10:17:06.859 - INFO: epoch: 674 +23-06-12 10:17:06.859 - INFO: iters: 1601424 +23-06-12 10:19:47.930 - INFO: train/mse_loss: 0.004592665356877087 +23-06-12 10:19:47.931 - INFO: epoch: 675 +23-06-12 10:19:47.931 - INFO: iters: 1603800 +23-06-12 10:22:29.227 - INFO: train/mse_loss: 0.00401904229082556 +23-06-12 10:22:29.228 - INFO: epoch: 676 +23-06-12 10:22:29.228 - INFO: iters: 1606176 +23-06-12 10:25:11.176 - INFO: train/mse_loss: 0.003983372639941509 +23-06-12 10:25:11.177 - INFO: epoch: 677 +23-06-12 10:25:11.177 - INFO: iters: 1608552 +23-06-12 10:26:49.347 - INFO: train/mse_loss: 0.004266632377370698 +23-06-12 10:27:53.961 - INFO: train/mse_loss: 0.004084181268064474 +23-06-12 10:27:53.962 - INFO: epoch: 678 +23-06-12 10:27:53.962 - INFO: iters: 1610928 +23-06-12 10:30:35.350 - INFO: train/mse_loss: 0.004734815192810238 +23-06-12 10:30:35.351 - INFO: epoch: 679 +23-06-12 10:30:35.351 - INFO: iters: 1613304 +23-06-12 10:33:16.311 - INFO: train/mse_loss: 0.004588315165789817 +23-06-12 10:33:16.312 - INFO: epoch: 680 +23-06-12 10:33:16.312 - INFO: iters: 1615680 +23-06-12 10:35:57.142 - INFO: train/mse_loss: 0.004334185125662158 +23-06-12 10:35:57.143 - INFO: epoch: 681 +23-06-12 10:35:57.143 - INFO: iters: 1618056 +23-06-12 10:38:09.483 - INFO: train/mse_loss: 0.00461343892920885 +23-06-12 10:38:40.581 - INFO: train/mse_loss: 0.004405479674166388 +23-06-12 10:38:40.582 - INFO: epoch: 682 +23-06-12 10:38:40.582 - INFO: iters: 1620432 +23-06-12 10:41:21.637 - INFO: train/mse_loss: 0.0043702435425736685 +23-06-12 10:41:21.637 - INFO: epoch: 683 +23-06-12 10:41:21.637 - INFO: iters: 1622808 +23-06-12 10:44:03.257 - INFO: train/mse_loss: 0.003929514768149277 +23-06-12 10:44:03.258 - INFO: epoch: 684 +23-06-12 10:44:03.258 - INFO: iters: 1625184 +23-06-12 10:46:44.222 - INFO: train/mse_loss: 0.004989249023227868 +23-06-12 10:46:44.223 - INFO: epoch: 685 +23-06-12 10:46:44.223 - INFO: iters: 1627560 +23-06-12 10:49:25.373 - INFO: train/mse_loss: 0.004034800940821957 +23-06-12 10:49:25.374 - INFO: epoch: 686 +23-06-12 10:49:25.374 - INFO: iters: 1629936 +23-06-12 10:49:30.340 - INFO: train/mse_loss: 0.004855919163674116 +23-06-12 10:52:08.145 - INFO: train/mse_loss: 0.004509206720344058 +23-06-12 10:52:08.145 - INFO: epoch: 687 +23-06-12 10:52:08.145 - INFO: iters: 1632312 +23-06-12 10:54:49.094 - INFO: train/mse_loss: 0.0040599779586107014 +23-06-12 10:54:49.094 - INFO: epoch: 688 +23-06-12 10:54:49.094 - INFO: iters: 1634688 +23-06-12 10:57:30.675 - INFO: train/mse_loss: 0.00402129876097313 +23-06-12 10:57:30.676 - INFO: epoch: 689 +23-06-12 10:57:30.676 - INFO: iters: 1637064 +23-06-12 11:00:11.922 - INFO: train/mse_loss: 0.00418857172243642 +23-06-12 11:00:11.922 - INFO: epoch: 690 +23-06-12 11:00:11.923 - INFO: iters: 1639440 +23-06-12 11:00:49.989 - INFO: train/mse_loss: 0.0038047854672186078 +23-06-12 11:02:54.645 - INFO: train/mse_loss: 0.00408077778126919 +23-06-12 11:02:54.645 - INFO: epoch: 691 +23-06-12 11:02:54.645 - INFO: iters: 1641816 +23-06-12 11:05:35.348 - INFO: train/mse_loss: 0.004622741007741528 +23-06-12 11:05:35.349 - INFO: epoch: 692 +23-06-12 11:05:35.349 - INFO: iters: 1644192 +23-06-12 11:08:16.114 - INFO: train/mse_loss: 0.004062790354056854 +23-06-12 11:08:16.114 - INFO: epoch: 693 +23-06-12 11:08:16.114 - INFO: iters: 1646568 +23-06-12 11:10:57.524 - INFO: train/mse_loss: 0.00427518321259217 +23-06-12 11:10:57.525 - INFO: epoch: 694 +23-06-12 11:10:57.525 - INFO: iters: 1648944 +23-06-12 11:12:09.398 - INFO: train/mse_loss: 0.004866979269674189 +23-06-12 11:13:40.262 - INFO: train/mse_loss: 0.004421998361777828 +23-06-12 11:13:40.262 - INFO: epoch: 695 +23-06-12 11:13:40.263 - INFO: iters: 1651320 +23-06-12 11:16:21.724 - INFO: train/mse_loss: 0.0043378779856701345 +23-06-12 11:16:21.725 - INFO: epoch: 696 +23-06-12 11:16:21.725 - INFO: iters: 1653696 +23-06-12 11:19:03.171 - INFO: train/mse_loss: 0.004002573065026992 +23-06-12 11:19:03.172 - INFO: epoch: 697 +23-06-12 11:19:03.172 - INFO: iters: 1656072 +23-06-12 11:21:45.866 - INFO: train/mse_loss: 0.004501957002037866 +23-06-12 11:21:45.866 - INFO: epoch: 698 +23-06-12 11:21:45.866 - INFO: iters: 1658448 +23-06-12 11:23:31.390 - INFO: train/mse_loss: 0.004529016101120769 +23-06-12 11:24:29.528 - INFO: train/mse_loss: 0.004176669183574453 +23-06-12 11:24:29.529 - INFO: epoch: 699 +23-06-12 11:24:29.529 - INFO: iters: 1660824 +23-06-12 11:27:10.666 - INFO: train/mse_loss: 0.004447419444288782 +23-06-12 11:27:10.667 - INFO: epoch: 700 +23-06-12 11:27:10.667 - INFO: iters: 1663200 +23-06-12 11:29:53.087 - INFO: train/mse_loss: 0.004174420945597217 +23-06-12 11:29:53.087 - INFO: epoch: 701 +23-06-12 11:29:53.087 - INFO: iters: 1665576 +23-06-12 11:32:34.112 - INFO: train/mse_loss: 0.003793011465531645 +23-06-12 11:32:34.113 - INFO: epoch: 702 +23-06-12 11:32:34.113 - INFO: iters: 1667952 +23-06-12 11:34:52.862 - INFO: train/mse_loss: 0.003698982452533528 +23-06-12 11:35:17.701 - INFO: train/mse_loss: 0.00401886061276074 +23-06-12 11:35:17.701 - INFO: epoch: 703 +23-06-12 11:35:17.701 - INFO: iters: 1670328 +23-06-12 11:37:59.346 - INFO: train/mse_loss: 0.005834953391631307 +23-06-12 11:37:59.347 - INFO: epoch: 704 +23-06-12 11:37:59.347 - INFO: iters: 1672704 +23-06-12 11:40:40.468 - INFO: train/mse_loss: 0.003863706510797808 +23-06-12 11:40:40.468 - INFO: epoch: 705 +23-06-12 11:40:40.468 - INFO: iters: 1675080 +23-06-12 11:43:21.881 - INFO: train/mse_loss: 0.003774871263395907 +23-06-12 11:43:21.881 - INFO: epoch: 706 +23-06-12 11:43:21.881 - INFO: iters: 1677456 +23-06-12 11:46:03.122 - INFO: train/mse_loss: 0.0035323822370695846 +23-06-12 11:46:03.122 - INFO: epoch: 707 +23-06-12 11:46:03.122 - INFO: iters: 1679832 +23-06-12 11:46:15.128 - INFO: train/mse_loss: 0.003573024628816971 +23-06-12 11:48:46.915 - INFO: train/mse_loss: 0.003688307731257131 +23-06-12 11:48:46.915 - INFO: epoch: 708 +23-06-12 11:48:46.916 - INFO: iters: 1682208 +23-06-12 11:51:27.874 - INFO: train/mse_loss: 0.004475303220418392 +23-06-12 11:51:27.875 - INFO: epoch: 709 +23-06-12 11:51:27.875 - INFO: iters: 1684584 +23-06-12 11:54:09.184 - INFO: train/mse_loss: 0.003980136763967686 +23-06-12 11:54:09.184 - INFO: epoch: 710 +23-06-12 11:54:09.184 - INFO: iters: 1686960 +23-06-12 11:56:50.029 - INFO: train/mse_loss: 0.0050858563615357255 +23-06-12 11:56:50.030 - INFO: epoch: 711 +23-06-12 11:56:50.030 - INFO: iters: 1689336 +23-06-12 11:57:35.452 - INFO: train/mse_loss: 0.003911598512611116 +23-06-12 11:59:33.646 - INFO: train/mse_loss: 0.004374128257579825 +23-06-12 11:59:33.647 - INFO: epoch: 712 +23-06-12 11:59:33.647 - INFO: iters: 1691712 +23-06-12 12:02:14.742 - INFO: train/mse_loss: 0.0041384037896859075 +23-06-12 12:02:14.742 - INFO: epoch: 713 +23-06-12 12:02:14.742 - INFO: iters: 1694088 +23-06-12 12:04:56.526 - INFO: train/mse_loss: 0.004381030330533218 +23-06-12 12:04:56.527 - INFO: epoch: 714 +23-06-12 12:04:56.527 - INFO: iters: 1696464 +23-06-12 12:07:37.754 - INFO: train/mse_loss: 0.003941637166557827 +23-06-12 12:07:37.754 - INFO: epoch: 715 +23-06-12 12:07:37.754 - INFO: iters: 1698840 +23-06-12 12:08:56.312 - INFO: train/mse_loss: 0.004594516174482375 +23-06-12 12:10:20.541 - INFO: train/mse_loss: 0.004112429400045199 +23-06-12 12:10:20.541 - INFO: epoch: 716 +23-06-12 12:10:20.541 - INFO: iters: 1701216 +23-06-12 12:13:01.539 - INFO: train/mse_loss: 0.0037778211794385957 +23-06-12 12:13:01.539 - INFO: epoch: 717 +23-06-12 12:13:01.539 - INFO: iters: 1703592 +23-06-12 12:15:43.186 - INFO: train/mse_loss: 0.004584348967701811 +23-06-12 12:15:43.187 - INFO: epoch: 718 +23-06-12 12:15:43.187 - INFO: iters: 1705968 +23-06-12 12:18:24.460 - INFO: train/mse_loss: 0.004176434225313403 +23-06-12 12:18:24.460 - INFO: epoch: 719 +23-06-12 12:18:24.460 - INFO: iters: 1708344 +23-06-12 12:20:16.787 - INFO: train/mse_loss: 0.0036388380879846713 +23-06-12 12:21:07.449 - INFO: train/mse_loss: 0.0035170674845748755 +23-06-12 12:21:07.449 - INFO: epoch: 720 +23-06-12 12:21:07.449 - INFO: iters: 1710720 +23-06-12 12:23:49.329 - INFO: train/mse_loss: 0.003940186138352637 +23-06-12 12:23:49.329 - INFO: epoch: 721 +23-06-12 12:23:49.330 - INFO: iters: 1713096 +23-06-12 12:26:30.580 - INFO: train/mse_loss: 0.004348940361230022 +23-06-12 12:26:30.581 - INFO: epoch: 722 +23-06-12 12:26:30.581 - INFO: iters: 1715472 +23-06-12 12:29:11.466 - INFO: train/mse_loss: 0.003283944037180043 +23-06-12 12:29:11.467 - INFO: epoch: 723 +23-06-12 12:29:11.467 - INFO: iters: 1717848 +23-06-12 12:31:37.653 - INFO: train/mse_loss: 0.0046197892122098756 +23-06-12 12:31:54.707 - INFO: train/mse_loss: 0.004462567919054655 +23-06-12 12:31:54.707 - INFO: epoch: 724 +23-06-12 12:31:54.707 - INFO: iters: 1720224 +23-06-12 12:34:35.883 - INFO: train/mse_loss: 0.004179303496895728 +23-06-12 12:34:35.884 - INFO: epoch: 725 +23-06-12 12:34:35.884 - INFO: iters: 1722600 +23-06-12 12:37:17.506 - INFO: train/mse_loss: 0.004244097091041205 +23-06-12 12:37:17.506 - INFO: epoch: 726 +23-06-12 12:37:17.506 - INFO: iters: 1724976 +23-06-12 12:39:58.710 - INFO: train/mse_loss: 0.0034290941517176074 +23-06-12 12:39:58.710 - INFO: epoch: 727 +23-06-12 12:39:58.710 - INFO: iters: 1727352 +23-06-12 12:42:39.894 - INFO: train/mse_loss: 0.0036407419525852007 +23-06-12 12:42:39.895 - INFO: epoch: 728 +23-06-12 12:42:39.895 - INFO: iters: 1729728 +23-06-12 12:42:58.772 - INFO: train/mse_loss: 0.006692954760236556 +23-06-12 12:45:22.588 - INFO: train/mse_loss: 0.0044669151627176416 +23-06-12 12:45:22.589 - INFO: epoch: 729 +23-06-12 12:45:22.589 - INFO: iters: 1732104 +23-06-12 12:48:03.462 - INFO: train/mse_loss: 0.0037437257382811773 +23-06-12 12:48:03.463 - INFO: epoch: 730 +23-06-12 12:48:03.463 - INFO: iters: 1734480 +23-06-12 12:50:44.811 - INFO: train/mse_loss: 0.0039043419918763493 +23-06-12 12:50:44.811 - INFO: epoch: 731 +23-06-12 12:50:44.811 - INFO: iters: 1736856 +23-06-12 12:53:26.376 - INFO: train/mse_loss: 0.0048843101280434086 +23-06-12 12:53:26.377 - INFO: epoch: 732 +23-06-12 12:53:26.377 - INFO: iters: 1739232 +23-06-12 12:54:18.748 - INFO: train/mse_loss: 0.003593013642481916 +23-06-12 12:56:09.964 - INFO: train/mse_loss: 0.004205192713637645 +23-06-12 12:56:09.965 - INFO: epoch: 733 +23-06-12 12:56:09.965 - INFO: iters: 1741608 +23-06-12 12:58:51.382 - INFO: train/mse_loss: 0.0042282044732714266 +23-06-12 12:58:51.383 - INFO: epoch: 734 +23-06-12 12:58:51.383 - INFO: iters: 1743984 +23-06-12 13:01:33.644 - INFO: train/mse_loss: 0.003743192765615592 +23-06-12 13:01:33.645 - INFO: epoch: 735 +23-06-12 13:01:33.645 - INFO: iters: 1746360 +23-06-12 13:04:15.705 - INFO: train/mse_loss: 0.0033739958678118205 +23-06-12 13:04:15.706 - INFO: epoch: 736 +23-06-12 13:04:15.706 - INFO: iters: 1748736 +23-06-12 13:05:41.515 - INFO: train/mse_loss: 0.0031349957645045523 +23-06-12 13:06:58.570 - INFO: train/mse_loss: 0.003441523605532731 +23-06-12 13:06:58.570 - INFO: epoch: 737 +23-06-12 13:06:58.570 - INFO: iters: 1751112 +23-06-12 13:09:39.989 - INFO: train/mse_loss: 0.004547049127784103 +23-06-12 13:09:39.989 - INFO: epoch: 738 +23-06-12 13:09:39.989 - INFO: iters: 1753488 +23-06-12 13:12:20.803 - INFO: train/mse_loss: 0.004132456956384233 +23-06-12 13:12:20.803 - INFO: epoch: 739 +23-06-12 13:12:20.803 - INFO: iters: 1755864 +23-06-12 13:15:01.326 - INFO: train/mse_loss: 0.004612108726628275 +23-06-12 13:15:01.327 - INFO: epoch: 740 +23-06-12 13:15:01.327 - INFO: iters: 1758240 +23-06-12 13:17:00.671 - INFO: train/mse_loss: 0.0035148400797466325 +23-06-12 13:17:44.693 - INFO: train/mse_loss: 0.003855734793093018 +23-06-12 13:17:44.693 - INFO: epoch: 741 +23-06-12 13:17:44.693 - INFO: iters: 1760616 +23-06-12 13:20:26.067 - INFO: train/mse_loss: 0.004267355954150672 +23-06-12 13:20:26.067 - INFO: epoch: 742 +23-06-12 13:20:26.067 - INFO: iters: 1762992 +23-06-12 13:23:07.303 - INFO: train/mse_loss: 0.003813906023216117 +23-06-12 13:23:07.304 - INFO: epoch: 743 +23-06-12 13:23:07.304 - INFO: iters: 1765368 +23-06-12 13:25:48.395 - INFO: train/mse_loss: 0.0039050846485270546 +23-06-12 13:25:48.395 - INFO: epoch: 744 +23-06-12 13:25:48.395 - INFO: iters: 1767744 +23-06-12 13:28:21.462 - INFO: train/mse_loss: 0.0036685131706961213 +23-06-12 13:28:31.565 - INFO: train/mse_loss: 0.0037211057938155577 +23-06-12 13:28:31.566 - INFO: epoch: 745 +23-06-12 13:28:31.566 - INFO: iters: 1770120 +23-06-12 13:31:13.187 - INFO: train/mse_loss: 0.004047546188640235 +23-06-12 13:31:13.187 - INFO: epoch: 746 +23-06-12 13:31:13.187 - INFO: iters: 1772496 +23-06-12 13:33:54.899 - INFO: train/mse_loss: 0.0033956931771472196 +23-06-12 13:33:54.900 - INFO: epoch: 747 +23-06-12 13:33:54.900 - INFO: iters: 1774872 +23-06-12 13:36:35.780 - INFO: train/mse_loss: 0.003830270327060085 +23-06-12 13:36:35.781 - INFO: epoch: 748 +23-06-12 13:36:35.781 - INFO: iters: 1777248 +23-06-12 13:39:17.246 - INFO: train/mse_loss: 0.003980565829295038 +23-06-12 13:39:17.246 - INFO: epoch: 749 +23-06-12 13:39:17.246 - INFO: iters: 1779624 +23-06-12 13:39:43.039 - INFO: train/mse_loss: 0.0036593002386074115 +23-06-12 13:41:59.962 - INFO: train/mse_loss: 0.004271583787051126 +23-06-12 13:41:59.962 - INFO: epoch: 750 +23-06-12 13:41:59.962 - INFO: iters: 1782000 +23-06-12 13:44:40.851 - INFO: train/mse_loss: 0.0039805781185589355 +23-06-12 13:44:40.852 - INFO: epoch: 751 +23-06-12 13:44:40.852 - INFO: iters: 1784376 +23-06-12 13:47:21.700 - INFO: train/mse_loss: 0.003563465478811225 +23-06-12 13:47:21.700 - INFO: epoch: 752 +23-06-12 13:47:21.700 - INFO: iters: 1786752 +23-06-12 13:50:02.858 - INFO: train/mse_loss: 0.003983815738214776 +23-06-12 13:50:02.859 - INFO: epoch: 753 +23-06-12 13:50:02.859 - INFO: iters: 1789128 +23-06-12 13:51:02.090 - INFO: train/mse_loss: 0.003545953009444195 +23-06-12 13:52:46.509 - INFO: train/mse_loss: 0.004611626983759768 +23-06-12 13:52:46.510 - INFO: epoch: 754 +23-06-12 13:52:46.510 - INFO: iters: 1791504 +23-06-12 13:55:27.893 - INFO: train/mse_loss: 0.004258699620672523 +23-06-12 13:55:27.894 - INFO: epoch: 755 +23-06-12 13:55:27.894 - INFO: iters: 1793880 +23-06-12 13:58:09.289 - INFO: train/mse_loss: 0.0042090937481512655 +23-06-12 13:58:09.289 - INFO: epoch: 756 +23-06-12 13:58:09.289 - INFO: iters: 1796256 +23-06-12 14:00:50.601 - INFO: train/mse_loss: 0.0040635778306064635 +23-06-12 14:00:50.602 - INFO: epoch: 757 +23-06-12 14:00:50.602 - INFO: iters: 1798632 +23-06-12 14:02:23.792 - INFO: train/mse_loss: 0.003708356065193616 +23-06-12 14:03:33.738 - INFO: train/mse_loss: 0.0035532914881707366 +23-06-12 14:03:33.739 - INFO: epoch: 758 +23-06-12 14:03:33.739 - INFO: iters: 1801008 +23-06-12 14:06:15.119 - INFO: train/mse_loss: 0.0043225013298180065 +23-06-12 14:06:15.120 - INFO: epoch: 759 +23-06-12 14:06:15.120 - INFO: iters: 1803384 +23-06-12 14:08:56.536 - INFO: train/mse_loss: 0.0036794388096823487 +23-06-12 14:08:56.537 - INFO: epoch: 760 +23-06-12 14:08:56.537 - INFO: iters: 1805760 +23-06-12 14:11:38.021 - INFO: train/mse_loss: 0.004837520992044698 +23-06-12 14:11:38.021 - INFO: epoch: 761 +23-06-12 14:11:38.021 - INFO: iters: 1808136 +23-06-12 14:13:45.101 - INFO: train/mse_loss: 0.004532463267513515 +23-06-12 14:14:22.509 - INFO: train/mse_loss: 0.004415641998188564 +23-06-12 14:14:22.510 - INFO: epoch: 762 +23-06-12 14:14:22.510 - INFO: iters: 1810512 +23-06-12 14:17:03.128 - INFO: train/mse_loss: 0.0036036111057739114 +23-06-12 14:17:03.128 - INFO: epoch: 763 +23-06-12 14:17:03.128 - INFO: iters: 1812888 +23-06-12 14:19:44.663 - INFO: train/mse_loss: 0.0039165744952691295 +23-06-12 14:19:44.663 - INFO: epoch: 764 +23-06-12 14:19:44.664 - INFO: iters: 1815264 +23-06-12 14:22:26.241 - INFO: train/mse_loss: 0.0039042283160383075 +23-06-12 14:22:26.242 - INFO: epoch: 765 +23-06-12 14:22:26.242 - INFO: iters: 1817640 +23-06-12 14:25:05.978 - INFO: train/mse_loss: 0.0036585161040174003 +23-06-12 14:25:09.592 - INFO: train/mse_loss: 0.003653973916009294 +23-06-12 14:25:09.592 - INFO: epoch: 766 +23-06-12 14:25:09.592 - INFO: iters: 1820016 +23-06-12 14:27:50.592 - INFO: train/mse_loss: 0.003614314860407175 +23-06-12 14:27:50.593 - INFO: epoch: 767 +23-06-12 14:27:50.593 - INFO: iters: 1822392 +23-06-12 14:30:32.151 - INFO: train/mse_loss: 0.0037120862378698057 +23-06-12 14:30:32.151 - INFO: epoch: 768 +23-06-12 14:30:32.151 - INFO: iters: 1824768 +23-06-12 14:33:13.046 - INFO: train/mse_loss: 0.0050236471126683885 +23-06-12 14:33:13.047 - INFO: epoch: 769 +23-06-12 14:33:13.047 - INFO: iters: 1827144 +23-06-12 14:35:54.217 - INFO: train/mse_loss: 0.004257535582693664 +23-06-12 14:35:54.217 - INFO: epoch: 770 +23-06-12 14:35:54.217 - INFO: iters: 1829520 +23-06-12 14:36:27.077 - INFO: train/mse_loss: 0.004973997749038972 +23-06-12 14:38:36.878 - INFO: train/mse_loss: 0.004337126192964475 +23-06-12 14:38:36.879 - INFO: epoch: 771 +23-06-12 14:38:36.880 - INFO: iters: 1831896 +23-06-12 14:41:18.099 - INFO: train/mse_loss: 0.003482859509390299 +23-06-12 14:41:18.100 - INFO: epoch: 772 +23-06-12 14:41:18.100 - INFO: iters: 1834272 +23-06-12 14:44:00.125 - INFO: train/mse_loss: 0.0039812558058567775 +23-06-12 14:44:00.126 - INFO: epoch: 773 +23-06-12 14:44:00.126 - INFO: iters: 1836648 +23-06-12 14:46:41.603 - INFO: train/mse_loss: 0.0035400228449049397 +23-06-12 14:46:41.604 - INFO: epoch: 774 +23-06-12 14:46:41.604 - INFO: iters: 1839024 +23-06-12 14:47:47.730 - INFO: train/mse_loss: 0.0034028234472689143 +23-06-12 14:49:24.123 - INFO: train/mse_loss: 0.0046851562466613495 +23-06-12 14:49:24.123 - INFO: epoch: 775 +23-06-12 14:49:24.124 - INFO: iters: 1841400 +23-06-12 14:52:05.478 - INFO: train/mse_loss: 0.004065686249470507 +23-06-12 14:52:05.479 - INFO: epoch: 776 +23-06-12 14:52:05.479 - INFO: iters: 1843776 +23-06-12 14:54:46.561 - INFO: train/mse_loss: 0.004389010252186445 +23-06-12 14:54:46.562 - INFO: epoch: 777 +23-06-12 14:54:46.562 - INFO: iters: 1846152 +23-06-12 14:57:27.464 - INFO: train/mse_loss: 0.0030696396480756577 +23-06-12 14:57:27.464 - INFO: epoch: 778 +23-06-12 14:57:27.464 - INFO: iters: 1848528 +23-06-12 14:59:07.815 - INFO: train/mse_loss: 0.003346882655814229 +23-06-12 15:00:10.796 - INFO: train/mse_loss: 0.0036219425980779357 +23-06-12 15:00:10.796 - INFO: epoch: 779 +23-06-12 15:00:10.796 - INFO: iters: 1850904 +23-06-12 15:02:51.990 - INFO: train/mse_loss: 0.00395712949886686 +23-06-12 15:02:51.991 - INFO: epoch: 780 +23-06-12 15:02:51.991 - INFO: iters: 1853280 +23-06-12 15:05:33.348 - INFO: train/mse_loss: 0.003662798652873823 +23-06-12 15:05:33.349 - INFO: epoch: 781 +23-06-12 15:05:33.349 - INFO: iters: 1855656 +23-06-12 15:08:14.554 - INFO: train/mse_loss: 0.003834653952275011 +23-06-12 15:08:14.554 - INFO: epoch: 782 +23-06-12 15:08:14.554 - INFO: iters: 1858032 +23-06-12 15:10:28.059 - INFO: train/mse_loss: 0.003647700733433258 +23-06-12 15:10:57.629 - INFO: train/mse_loss: 0.0037485743643126453 +23-06-12 15:10:57.629 - INFO: epoch: 783 +23-06-12 15:10:57.629 - INFO: iters: 1860408 +23-06-12 15:13:38.554 - INFO: train/mse_loss: 0.0045013793768449014 +23-06-12 15:13:38.555 - INFO: epoch: 784 +23-06-12 15:13:38.555 - INFO: iters: 1862784 +23-06-12 15:16:19.753 - INFO: train/mse_loss: 0.003956431869075631 +23-06-12 15:16:19.753 - INFO: epoch: 785 +23-06-12 15:16:19.753 - INFO: iters: 1865160 +23-06-12 15:19:00.551 - INFO: train/mse_loss: 0.003360007251048404 +23-06-12 15:19:00.552 - INFO: epoch: 786 +23-06-12 15:19:00.552 - INFO: iters: 1867536 +23-06-12 15:21:42.266 - INFO: train/mse_loss: 0.0035059111212812966 +23-06-12 15:21:42.266 - INFO: epoch: 787 +23-06-12 15:21:42.267 - INFO: iters: 1869912 +23-06-12 15:21:48.671 - INFO: train/mse_loss: 0.002170202946713702 +23-06-12 15:24:25.015 - INFO: train/mse_loss: 0.004010598290075081 +23-06-12 15:24:25.016 - INFO: epoch: 788 +23-06-12 15:24:25.016 - INFO: iters: 1872288 +23-06-12 15:27:06.994 - INFO: train/mse_loss: 0.004157314218717128 +23-06-12 15:27:06.995 - INFO: epoch: 789 +23-06-12 15:27:06.995 - INFO: iters: 1874664 +23-06-12 15:29:48.593 - INFO: train/mse_loss: 0.003981155939933276 +23-06-12 15:29:48.593 - INFO: epoch: 790 +23-06-12 15:29:48.593 - INFO: iters: 1877040 +23-06-12 15:32:29.814 - INFO: train/mse_loss: 0.00424252034663552 +23-06-12 15:32:29.814 - INFO: epoch: 791 +23-06-12 15:32:29.814 - INFO: iters: 1879416 +23-06-12 15:33:09.639 - INFO: train/mse_loss: 0.006342552372649924 +23-06-12 15:35:12.837 - INFO: train/mse_loss: 0.004245319485629874 +23-06-12 15:35:12.837 - INFO: epoch: 792 +23-06-12 15:35:12.838 - INFO: iters: 1881792 +23-06-12 15:37:54.256 - INFO: train/mse_loss: 0.003541428253982806 +23-06-12 15:37:54.257 - INFO: epoch: 793 +23-06-12 15:37:54.257 - INFO: iters: 1884168 +23-06-12 15:40:35.695 - INFO: train/mse_loss: 0.0037195481232960115 +23-06-12 15:40:35.695 - INFO: epoch: 794 +23-06-12 15:40:35.695 - INFO: iters: 1886544 +23-06-12 15:43:19.147 - INFO: train/mse_loss: 0.003518890347433675 +23-06-12 15:43:19.147 - INFO: epoch: 795 +23-06-12 15:43:19.147 - INFO: iters: 1888920 +23-06-12 15:44:32.660 - INFO: train/mse_loss: 0.0036471446971753957 +23-06-12 15:46:02.196 - INFO: train/mse_loss: 0.004287649689027444 +23-06-12 15:46:02.196 - INFO: epoch: 796 +23-06-12 15:46:02.196 - INFO: iters: 1891296 +23-06-12 15:48:43.134 - INFO: train/mse_loss: 0.004602674504793767 +23-06-12 15:48:43.135 - INFO: epoch: 797 +23-06-12 15:48:43.135 - INFO: iters: 1893672 +23-06-12 15:51:24.155 - INFO: train/mse_loss: 0.00349548099478644 +23-06-12 15:51:24.155 - INFO: epoch: 798 +23-06-12 15:51:24.155 - INFO: iters: 1896048 +23-06-12 15:54:06.275 - INFO: train/mse_loss: 0.0036515811450782572 +23-06-12 15:54:06.275 - INFO: epoch: 799 +23-06-12 15:54:06.276 - INFO: iters: 1898424 +23-06-12 15:55:53.929 - INFO: train/mse_loss: 0.0034709734183873244 +23-06-12 15:56:49.707 - INFO: train/mse_loss: 0.0038668054703980535 +23-06-12 15:56:49.707 - INFO: epoch: 800 +23-06-12 15:56:49.707 - INFO: iters: 1900800 +23-06-12 15:59:30.368 - INFO: train/mse_loss: 0.0039705006748293635 +23-06-12 15:59:30.369 - INFO: epoch: 801 +23-06-12 15:59:30.369 - INFO: iters: 1903176 +23-06-12 16:02:11.646 - INFO: train/mse_loss: 0.0042990379165607166 +23-06-12 16:02:11.646 - INFO: epoch: 802 +23-06-12 16:02:11.646 - INFO: iters: 1905552 +23-06-12 16:04:53.318 - INFO: train/mse_loss: 0.004765495305931076 +23-06-12 16:04:53.319 - INFO: epoch: 803 +23-06-12 16:04:53.319 - INFO: iters: 1907928 +23-06-12 16:07:13.958 - INFO: train/mse_loss: 0.004278315844070023 +23-06-12 16:07:36.421 - INFO: train/mse_loss: 0.004095372133018129 +23-06-12 16:07:36.422 - INFO: epoch: 804 +23-06-12 16:07:36.422 - INFO: iters: 1910304 +23-06-12 16:10:17.241 - INFO: train/mse_loss: 0.003693461073021583 +23-06-12 16:10:17.242 - INFO: epoch: 805 +23-06-12 16:10:17.242 - INFO: iters: 1912680 +23-06-12 16:12:59.499 - INFO: train/mse_loss: 0.004158628332312611 +23-06-12 16:12:59.499 - INFO: epoch: 806 +23-06-12 16:12:59.499 - INFO: iters: 1915056 +23-06-12 16:15:40.651 - INFO: train/mse_loss: 0.004076264666939023 +23-06-12 16:15:40.651 - INFO: epoch: 807 +23-06-12 16:15:40.651 - INFO: iters: 1917432 +23-06-12 16:18:22.735 - INFO: train/mse_loss: 0.004168358488558707 +23-06-12 16:18:22.737 - INFO: epoch: 808 +23-06-12 16:18:22.737 - INFO: iters: 1919808 +23-06-12 16:18:36.317 - INFO: train/mse_loss: 0.003323917078281132 +23-06-12 16:21:06.493 - INFO: train/mse_loss: 0.0037010541879132965 +23-06-12 16:21:06.493 - INFO: epoch: 809 +23-06-12 16:21:06.493 - INFO: iters: 1922184 +23-06-12 16:23:47.284 - INFO: train/mse_loss: 0.0034929720970240706 +23-06-12 16:23:47.285 - INFO: epoch: 810 +23-06-12 16:23:47.285 - INFO: iters: 1924560 +23-06-12 16:26:27.921 - INFO: train/mse_loss: 0.0038257844309849344 +23-06-12 16:26:27.921 - INFO: epoch: 811 +23-06-12 16:26:27.921 - INFO: iters: 1926936 +23-06-12 16:29:09.704 - INFO: train/mse_loss: 0.0037542895042738857 +23-06-12 16:29:09.705 - INFO: epoch: 812 +23-06-12 16:29:09.705 - INFO: iters: 1929312 +23-06-12 16:29:56.842 - INFO: train/mse_loss: 0.0034123592344004403 +23-06-12 16:31:52.959 - INFO: train/mse_loss: 0.0040630710280660275 +23-06-12 16:31:52.959 - INFO: epoch: 813 +23-06-12 16:31:52.959 - INFO: iters: 1931688 +23-06-12 16:34:34.873 - INFO: train/mse_loss: 0.00392071926544549 +23-06-12 16:34:34.873 - INFO: epoch: 814 +23-06-12 16:34:34.874 - INFO: iters: 1934064 +23-06-12 16:37:15.845 - INFO: train/mse_loss: 0.0037750208511069003 +23-06-12 16:37:15.845 - INFO: epoch: 815 +23-06-12 16:37:15.846 - INFO: iters: 1936440 +23-06-12 16:39:56.751 - INFO: train/mse_loss: 0.0035064747564491476 +23-06-12 16:39:56.752 - INFO: epoch: 816 +23-06-12 16:39:56.752 - INFO: iters: 1938816 +23-06-12 16:41:17.231 - INFO: train/mse_loss: 0.005020411038532149 +23-06-12 16:42:39.710 - INFO: train/mse_loss: 0.004058672339414005 +23-06-12 16:42:39.710 - INFO: epoch: 817 +23-06-12 16:42:39.711 - INFO: iters: 1941192 +23-06-12 16:45:22.497 - INFO: train/mse_loss: 0.0039004401847883207 +23-06-12 16:45:22.498 - INFO: epoch: 818 +23-06-12 16:45:22.498 - INFO: iters: 1943568 +23-06-12 16:48:04.634 - INFO: train/mse_loss: 0.0041136819705044105 +23-06-12 16:48:04.635 - INFO: epoch: 819 +23-06-12 16:48:04.635 - INFO: iters: 1945944 +23-06-12 16:50:45.404 - INFO: train/mse_loss: 0.003979054611624667 +23-06-12 16:50:45.405 - INFO: epoch: 820 +23-06-12 16:50:45.405 - INFO: iters: 1948320 +23-06-12 16:52:39.158 - INFO: train/mse_loss: 0.004026640356252236 +23-06-12 16:53:28.730 - INFO: train/mse_loss: 0.004083530314153794 +23-06-12 16:53:28.731 - INFO: epoch: 821 +23-06-12 16:53:28.731 - INFO: iters: 1950696 +23-06-12 16:56:09.650 - INFO: train/mse_loss: 0.0034978637173505318 +23-06-12 16:56:09.650 - INFO: epoch: 822 +23-06-12 16:56:09.650 - INFO: iters: 1953072 +23-06-12 16:58:51.592 - INFO: train/mse_loss: 0.003639755233760095 +23-06-12 16:58:51.592 - INFO: epoch: 823 +23-06-12 16:58:51.592 - INFO: iters: 1955448 +23-06-12 17:01:32.963 - INFO: train/mse_loss: 0.004022775161446947 +23-06-12 17:01:32.964 - INFO: epoch: 824 +23-06-12 17:01:32.964 - INFO: iters: 1957824 +23-06-12 17:04:00.502 - INFO: train/mse_loss: 0.003758196566195693 +23-06-12 17:04:16.160 - INFO: train/mse_loss: 0.0037136346539592227 +23-06-12 17:04:16.161 - INFO: epoch: 825 +23-06-12 17:04:16.161 - INFO: iters: 1960200 +23-06-12 17:06:57.983 - INFO: train/mse_loss: 0.003898355416265263 +23-06-12 17:06:57.983 - INFO: epoch: 826 +23-06-12 17:06:57.983 - INFO: iters: 1962576 +23-06-12 17:09:38.946 - INFO: train/mse_loss: 0.003604201726562121 +23-06-12 17:09:38.946 - INFO: epoch: 827 +23-06-12 17:09:38.946 - INFO: iters: 1964952 +23-06-12 17:12:19.990 - INFO: train/mse_loss: 0.0043631235746312445 +23-06-12 17:12:19.991 - INFO: epoch: 828 +23-06-12 17:12:19.991 - INFO: iters: 1967328 +23-06-12 17:15:01.280 - INFO: train/mse_loss: 0.003800751066567558 +23-06-12 17:15:01.281 - INFO: epoch: 829 +23-06-12 17:15:01.281 - INFO: iters: 1969704 +23-06-12 17:15:21.642 - INFO: train/mse_loss: 0.003637579398707965 +23-06-12 17:17:43.912 - INFO: train/mse_loss: 0.0040864851266954735 +23-06-12 17:17:43.912 - INFO: epoch: 830 +23-06-12 17:17:43.912 - INFO: iters: 1972080 +23-06-12 17:20:24.629 - INFO: train/mse_loss: 0.0033165930044407694 +23-06-12 17:20:24.630 - INFO: epoch: 831 +23-06-12 17:20:24.630 - INFO: iters: 1974456 +23-06-12 17:23:06.077 - INFO: train/mse_loss: 0.0038144605152735404 +23-06-12 17:23:06.077 - INFO: epoch: 832 +23-06-12 17:23:06.077 - INFO: iters: 1976832 +23-06-12 17:25:47.035 - INFO: train/mse_loss: 0.0037243123976074734 +23-06-12 17:25:47.036 - INFO: epoch: 833 +23-06-12 17:25:47.036 - INFO: iters: 1979208 +23-06-12 17:26:40.929 - INFO: train/mse_loss: 0.004638977091279671 +23-06-12 17:28:29.510 - INFO: train/mse_loss: 0.0038389562106274245 +23-06-12 17:28:29.510 - INFO: epoch: 834 +23-06-12 17:28:29.510 - INFO: iters: 1981584 +23-06-12 17:31:10.747 - INFO: train/mse_loss: 0.003564620620621249 +23-06-12 17:31:10.747 - INFO: epoch: 835 +23-06-12 17:31:10.749 - INFO: iters: 1983960 +23-06-12 17:33:51.355 - INFO: train/mse_loss: 0.004086265859612724 +23-06-12 17:33:51.355 - INFO: epoch: 836 +23-06-12 17:33:51.355 - INFO: iters: 1986336 +23-06-12 17:36:31.784 - INFO: train/mse_loss: 0.003617924625157482 +23-06-12 17:36:31.784 - INFO: epoch: 837 +23-06-12 17:36:31.784 - INFO: iters: 1988712 +23-06-12 17:37:59.282 - INFO: train/mse_loss: 0.0033434959813975584 +23-06-12 17:39:15.047 - INFO: train/mse_loss: 0.003387854933528612 +23-06-12 17:39:15.048 - INFO: epoch: 838 +23-06-12 17:39:15.048 - INFO: iters: 1991088 +23-06-12 17:41:56.093 - INFO: train/mse_loss: 0.0038227784243155183 +23-06-12 17:41:56.094 - INFO: epoch: 839 +23-06-12 17:41:56.094 - INFO: iters: 1993464 +23-06-12 17:44:36.593 - INFO: train/mse_loss: 0.003257020279609909 +23-06-12 17:44:36.594 - INFO: epoch: 840 +23-06-12 17:44:36.594 - INFO: iters: 1995840 +23-06-12 17:47:17.277 - INFO: train/mse_loss: 0.003955802022987468 +23-06-12 17:47:17.278 - INFO: epoch: 841 +23-06-12 17:47:17.278 - INFO: iters: 1998216 +23-06-12 17:49:18.245 - INFO: train/mse_loss: 0.0035162779947350243 +23-06-12 17:49:59.994 - INFO: train/mse_loss: 0.0036014445756737657 +23-06-12 17:49:59.994 - INFO: epoch: 842 +23-06-12 17:49:59.994 - INFO: iters: 2000592 +23-06-12 17:52:40.944 - INFO: train/mse_loss: 0.003918595689855303 +23-06-12 17:52:40.945 - INFO: epoch: 843 +23-06-12 17:52:40.945 - INFO: iters: 2002968 +23-06-12 17:55:21.523 - INFO: train/mse_loss: 0.0035825224955070775 +23-06-12 17:55:21.524 - INFO: epoch: 844 +23-06-12 17:55:21.524 - INFO: iters: 2005344 +23-06-12 17:58:03.145 - INFO: train/mse_loss: 0.0038431968219713106 +23-06-12 17:58:03.146 - INFO: epoch: 845 +23-06-12 17:58:03.146 - INFO: iters: 2007720 +23-06-12 18:00:38.036 - INFO: train/mse_loss: 0.004135953490683613 +23-06-12 18:00:46.265 - INFO: train/mse_loss: 0.004046543902009632 +23-06-12 18:00:46.265 - INFO: epoch: 846 +23-06-12 18:00:46.265 - INFO: iters: 2010096 +23-06-12 18:03:27.996 - INFO: train/mse_loss: 0.0035416978250276485 +23-06-12 18:03:27.997 - INFO: epoch: 847 +23-06-12 18:03:27.997 - INFO: iters: 2012472 +23-06-12 18:06:09.055 - INFO: train/mse_loss: 0.0035838906314954637 +23-06-12 18:06:09.055 - INFO: epoch: 848 +23-06-12 18:06:09.055 - INFO: iters: 2014848 +23-06-12 18:08:50.762 - INFO: train/mse_loss: 0.0034978633385107723 +23-06-12 18:08:50.763 - INFO: epoch: 849 +23-06-12 18:08:50.763 - INFO: iters: 2017224 +23-06-12 18:11:32.079 - INFO: train/mse_loss: 0.0037053731749906683 +23-06-12 18:11:32.080 - INFO: epoch: 850 +23-06-12 18:11:32.080 - INFO: iters: 2019600 +23-06-12 18:11:59.510 - INFO: train/mse_loss: 0.003288460625335574 +23-06-12 18:14:14.707 - INFO: train/mse_loss: 0.0033087432047396097 +23-06-12 18:14:14.707 - INFO: epoch: 851 +23-06-12 18:14:14.707 - INFO: iters: 2021976 +23-06-12 18:16:55.593 - INFO: train/mse_loss: 0.003689197496501635 +23-06-12 18:16:55.594 - INFO: epoch: 852 +23-06-12 18:16:55.594 - INFO: iters: 2024352 +23-06-12 18:19:36.594 - INFO: train/mse_loss: 0.004061372048552352 +23-06-12 18:19:36.594 - INFO: epoch: 853 +23-06-12 18:19:36.594 - INFO: iters: 2026728 +23-06-12 18:22:17.174 - INFO: train/mse_loss: 0.004018589973203549 +23-06-12 18:22:17.174 - INFO: epoch: 854 +23-06-12 18:22:17.174 - INFO: iters: 2029104 +23-06-12 18:23:17.940 - INFO: train/mse_loss: 0.0036471575242882992 +23-06-12 18:25:00.033 - INFO: train/mse_loss: 0.0035370080063498958 +23-06-12 18:25:00.033 - INFO: epoch: 855 +23-06-12 18:25:00.033 - INFO: iters: 2031480 +23-06-12 18:27:42.957 - INFO: train/mse_loss: 0.0034062197239464304 +23-06-12 18:27:42.958 - INFO: epoch: 856 +23-06-12 18:27:42.958 - INFO: iters: 2033856 +23-06-12 18:30:24.323 - INFO: train/mse_loss: 0.003705243710569586 +23-06-12 18:30:24.323 - INFO: epoch: 857 +23-06-12 18:30:24.325 - INFO: iters: 2036232 +23-06-12 18:33:05.521 - INFO: train/mse_loss: 0.004701832698788243 +23-06-12 18:33:05.521 - INFO: epoch: 858 +23-06-12 18:33:05.522 - INFO: iters: 2038608 +23-06-12 18:34:40.382 - INFO: train/mse_loss: 0.0033128496628099433 +23-06-12 18:35:48.827 - INFO: train/mse_loss: 0.0034371744361172997 +23-06-12 18:35:48.827 - INFO: epoch: 859 +23-06-12 18:35:48.827 - INFO: iters: 2040984 +23-06-12 18:38:30.697 - INFO: train/mse_loss: 0.0036599615209356503 +23-06-12 18:38:30.698 - INFO: epoch: 860 +23-06-12 18:38:30.698 - INFO: iters: 2043360 +23-06-12 18:41:12.390 - INFO: train/mse_loss: 0.0035637104535915947 +23-06-12 18:41:12.391 - INFO: epoch: 861 +23-06-12 18:41:12.391 - INFO: iters: 2045736 +23-06-12 18:43:53.061 - INFO: train/mse_loss: 0.004339795232545083 +23-06-12 18:43:53.061 - INFO: epoch: 862 +23-06-12 18:43:53.061 - INFO: iters: 2048112 +23-06-12 18:46:00.788 - INFO: train/mse_loss: 0.004025269260529382 +23-06-12 18:46:35.682 - INFO: train/mse_loss: 0.0037668677603885504 +23-06-12 18:46:35.682 - INFO: epoch: 863 +23-06-12 18:46:35.682 - INFO: iters: 2050488 +23-06-12 18:49:17.088 - INFO: train/mse_loss: 0.004041560199025467 +23-06-12 18:49:17.088 - INFO: epoch: 864 +23-06-12 18:49:17.088 - INFO: iters: 2052864 +23-06-12 18:51:58.347 - INFO: train/mse_loss: 0.004293406718906003 +23-06-12 18:51:58.348 - INFO: epoch: 865 +23-06-12 18:51:58.348 - INFO: iters: 2055240 +23-06-12 18:54:39.578 - INFO: train/mse_loss: 0.0036228844623147237 +23-06-12 18:54:39.579 - INFO: epoch: 866 +23-06-12 18:54:39.579 - INFO: iters: 2057616 +23-06-12 18:57:20.957 - INFO: train/mse_loss: 0.004663180342721769 +23-06-12 18:57:20.957 - INFO: epoch: 867 +23-06-12 18:57:20.958 - INFO: iters: 2059992 +23-06-12 18:57:22.021 - INFO: train/mse_loss: 0.002045438624918461 +23-06-12 19:00:03.171 - INFO: train/mse_loss: 0.004176085268034402 +23-06-12 19:00:03.172 - INFO: epoch: 868 +23-06-12 19:00:03.172 - INFO: iters: 2062368 +23-06-12 19:02:44.048 - INFO: train/mse_loss: 0.0038059162809309685 +23-06-12 19:02:44.048 - INFO: epoch: 869 +23-06-12 19:02:44.048 - INFO: iters: 2064744 +23-06-12 19:05:24.966 - INFO: train/mse_loss: 0.003931364810457986 +23-06-12 19:05:24.966 - INFO: epoch: 870 +23-06-12 19:05:24.967 - INFO: iters: 2067120 +23-06-12 19:08:06.186 - INFO: train/mse_loss: 0.003835392354474864 +23-06-12 19:08:06.187 - INFO: epoch: 871 +23-06-12 19:08:06.187 - INFO: iters: 2069496 +23-06-12 19:08:40.507 - INFO: train/mse_loss: 0.004077673901707703 +23-06-12 19:10:49.417 - INFO: train/mse_loss: 0.0034357263804225234 +23-06-12 19:10:49.417 - INFO: epoch: 872 +23-06-12 19:10:49.417 - INFO: iters: 2071872 +23-06-12 19:13:30.289 - INFO: train/mse_loss: 0.0037369353513261585 +23-06-12 19:13:30.290 - INFO: epoch: 873 +23-06-12 19:13:30.290 - INFO: iters: 2074248 +23-06-12 19:16:11.184 - INFO: train/mse_loss: 0.0034536788162072927 +23-06-12 19:16:11.185 - INFO: epoch: 874 +23-06-12 19:16:11.185 - INFO: iters: 2076624 +23-06-12 19:18:53.323 - INFO: train/mse_loss: 0.003731354712022575 +23-06-12 19:18:53.323 - INFO: epoch: 875 +23-06-12 19:18:53.324 - INFO: iters: 2079000 +23-06-12 19:20:01.070 - INFO: train/mse_loss: 0.0034964975593611597 +23-06-12 19:21:35.886 - INFO: train/mse_loss: 0.003248968992620606 +23-06-12 19:21:35.886 - INFO: epoch: 876 +23-06-12 19:21:35.886 - INFO: iters: 2081376 +23-06-12 19:24:17.220 - INFO: train/mse_loss: 0.0034291050502691755 +23-06-12 19:24:17.220 - INFO: epoch: 877 +23-06-12 19:24:17.220 - INFO: iters: 2083752 +23-06-12 19:26:58.628 - INFO: train/mse_loss: 0.003993794418634652 +23-06-12 19:26:58.629 - INFO: epoch: 878 +23-06-12 19:26:58.629 - INFO: iters: 2086128 +23-06-12 19:29:39.464 - INFO: train/mse_loss: 0.004043550242909767 +23-06-12 19:29:39.464 - INFO: epoch: 879 +23-06-12 19:29:39.465 - INFO: iters: 2088504 +23-06-12 19:31:20.791 - INFO: train/mse_loss: 0.003718383023191622 +23-06-12 19:32:22.019 - INFO: train/mse_loss: 0.004018662763549397 +23-06-12 19:32:22.019 - INFO: epoch: 880 +23-06-12 19:32:22.019 - INFO: iters: 2090880 +23-06-12 19:35:03.110 - INFO: train/mse_loss: 0.0036602279050620616 +23-06-12 19:35:03.111 - INFO: epoch: 881 +23-06-12 19:35:03.111 - INFO: iters: 2093256 +23-06-12 19:37:43.749 - INFO: train/mse_loss: 0.003079491679404583 +23-06-12 19:37:43.749 - INFO: epoch: 882 +23-06-12 19:37:43.749 - INFO: iters: 2095632 +23-06-12 19:40:26.582 - INFO: train/mse_loss: 0.0035460570002811952 +23-06-12 19:40:26.583 - INFO: epoch: 883 +23-06-12 19:40:26.583 - INFO: iters: 2098008 +23-06-12 19:42:41.556 - INFO: train/mse_loss: 0.0045340019995889005 +23-06-12 19:43:09.501 - INFO: train/mse_loss: 0.004429240097795058 +23-06-12 19:43:09.501 - INFO: epoch: 884 +23-06-12 19:43:09.502 - INFO: iters: 2100384 +23-06-12 19:45:50.889 - INFO: train/mse_loss: 0.003545728398632785 +23-06-12 19:45:50.889 - INFO: epoch: 885 +23-06-12 19:45:50.889 - INFO: iters: 2102760 +23-06-12 19:48:31.751 - INFO: train/mse_loss: 0.003923924270192607 +23-06-12 19:48:31.752 - INFO: epoch: 886 +23-06-12 19:48:31.752 - INFO: iters: 2105136 +23-06-12 19:51:12.576 - INFO: train/mse_loss: 0.0033611937083840144 +23-06-12 19:51:12.577 - INFO: epoch: 887 +23-06-12 19:51:12.577 - INFO: iters: 2107512 +23-06-12 19:53:54.044 - INFO: train/mse_loss: 0.003438536822874262 +23-06-12 19:53:54.045 - INFO: epoch: 888 +23-06-12 19:53:54.045 - INFO: iters: 2109888 +23-06-12 19:54:02.157 - INFO: train/mse_loss: 0.0032073256775869857 +23-06-12 19:56:37.320 - INFO: train/mse_loss: 0.003901742664887021 +23-06-12 19:56:37.320 - INFO: epoch: 889 +23-06-12 19:56:37.320 - INFO: iters: 2112264 +23-06-12 19:59:19.236 - INFO: train/mse_loss: 0.0036442887041128243 +23-06-12 19:59:19.237 - INFO: epoch: 890 +23-06-12 19:59:19.237 - INFO: iters: 2114640 +23-06-12 20:02:00.088 - INFO: train/mse_loss: 0.00429865575308507 +23-06-12 20:02:00.088 - INFO: epoch: 891 +23-06-12 20:02:00.088 - INFO: iters: 2117016 +23-06-12 20:04:40.924 - INFO: train/mse_loss: 0.0034223638625066064 +23-06-12 20:04:40.924 - INFO: epoch: 892 +23-06-12 20:04:40.924 - INFO: iters: 2119392 +23-06-12 20:05:22.272 - INFO: train/mse_loss: 0.003694499284488541 +23-06-12 20:07:23.437 - INFO: train/mse_loss: 0.0034638724978919132 +23-06-12 20:07:23.437 - INFO: epoch: 893 +23-06-12 20:07:23.438 - INFO: iters: 2121768 +23-06-12 20:10:04.267 - INFO: train/mse_loss: 0.003408555889593105 +23-06-12 20:10:04.267 - INFO: epoch: 894 +23-06-12 20:10:04.267 - INFO: iters: 2124144 +23-06-12 20:12:46.030 - INFO: train/mse_loss: 0.003869284546239496 +23-06-12 20:12:46.030 - INFO: epoch: 895 +23-06-12 20:12:46.030 - INFO: iters: 2126520 +23-06-12 20:15:27.168 - INFO: train/mse_loss: 0.003294805307035344 +23-06-12 20:15:27.169 - INFO: epoch: 896 +23-06-12 20:15:27.169 - INFO: iters: 2128896 +23-06-12 20:16:42.357 - INFO: train/mse_loss: 0.0036739628733324725 +23-06-12 20:18:10.733 - INFO: train/mse_loss: 0.0036644267272251197 +23-06-12 20:18:10.734 - INFO: epoch: 897 +23-06-12 20:18:10.734 - INFO: iters: 2131272 +23-06-12 20:20:51.492 - INFO: train/mse_loss: 0.003741477651996632 +23-06-12 20:20:51.492 - INFO: epoch: 898 +23-06-12 20:20:51.492 - INFO: iters: 2133648 +23-06-12 20:23:32.490 - INFO: train/mse_loss: 0.003614207300685208 +23-06-12 20:23:32.491 - INFO: epoch: 899 +23-06-12 20:23:32.491 - INFO: iters: 2136024 +23-06-12 20:26:14.506 - INFO: train/mse_loss: 0.00322975869339919 +23-06-12 20:26:14.507 - INFO: epoch: 900 +23-06-12 20:26:14.507 - INFO: iters: 2138400 +23-06-12 20:28:03.472 - INFO: train/mse_loss: 0.003223801970598288 +23-06-12 20:28:57.731 - INFO: train/mse_loss: 0.003620722450657751 +23-06-12 20:28:57.731 - INFO: epoch: 901 +23-06-12 20:28:57.731 - INFO: iters: 2140776 +23-06-12 20:31:39.560 - INFO: train/mse_loss: 0.0040130683864538965 +23-06-12 20:31:39.561 - INFO: epoch: 902 +23-06-12 20:31:39.561 - INFO: iters: 2143152 +23-06-12 20:34:20.702 - INFO: train/mse_loss: 0.0036108306486015316 +23-06-12 20:34:20.703 - INFO: epoch: 903 +23-06-12 20:34:20.703 - INFO: iters: 2145528 +23-06-12 20:37:01.483 - INFO: train/mse_loss: 0.0033754833418521593 +23-06-12 20:37:01.483 - INFO: epoch: 904 +23-06-12 20:37:01.483 - INFO: iters: 2147904 +23-06-12 20:39:23.326 - INFO: train/mse_loss: 0.003464077569798474 +23-06-12 20:39:43.951 - INFO: train/mse_loss: 0.003512018111492084 +23-06-12 20:39:43.951 - INFO: epoch: 905 +23-06-12 20:39:43.951 - INFO: iters: 2150280 +23-06-12 20:42:25.087 - INFO: train/mse_loss: 0.004086345093370249 +23-06-12 20:42:25.088 - INFO: epoch: 906 +23-06-12 20:42:25.088 - INFO: iters: 2152656 +23-06-12 20:45:05.746 - INFO: train/mse_loss: 0.003101978785560626 +23-06-12 20:45:05.747 - INFO: epoch: 907 +23-06-12 20:45:05.747 - INFO: iters: 2155032 +23-06-12 20:47:46.507 - INFO: train/mse_loss: 0.003789649901971196 +23-06-12 20:47:46.507 - INFO: epoch: 908 +23-06-12 20:47:46.508 - INFO: iters: 2157408 +23-06-12 20:50:27.479 - INFO: train/mse_loss: 0.0037841587789946233 +23-06-12 20:50:27.480 - INFO: epoch: 909 +23-06-12 20:50:27.480 - INFO: iters: 2159784 +23-06-12 20:50:43.122 - INFO: train/mse_loss: 0.0022179860669119217 +23-06-12 20:53:10.996 - INFO: train/mse_loss: 0.003985030887811523 +23-06-12 20:53:10.997 - INFO: epoch: 910 +23-06-12 20:53:10.997 - INFO: iters: 2162160 +23-06-12 20:55:52.046 - INFO: train/mse_loss: 0.0035801472203878166 +23-06-12 20:55:52.046 - INFO: epoch: 911 +23-06-12 20:55:52.046 - INFO: iters: 2164536 +23-06-12 20:58:33.907 - INFO: train/mse_loss: 0.003518470339669128 +23-06-12 20:58:33.908 - INFO: epoch: 912 +23-06-12 20:58:33.908 - INFO: iters: 2166912 +23-06-12 21:01:14.912 - INFO: train/mse_loss: 0.003419321126999139 +23-06-12 21:01:14.913 - INFO: epoch: 913 +23-06-12 21:01:14.913 - INFO: iters: 2169288 +23-06-12 21:02:03.461 - INFO: train/mse_loss: 0.00289928800232834 +23-06-12 21:03:57.905 - INFO: train/mse_loss: 0.003103215657394091 +23-06-12 21:03:57.905 - INFO: epoch: 914 +23-06-12 21:03:57.905 - INFO: iters: 2171664 +23-06-12 21:06:39.480 - INFO: train/mse_loss: 0.0033906931635729267 +23-06-12 21:06:39.480 - INFO: epoch: 915 +23-06-12 21:06:39.481 - INFO: iters: 2174040 +23-06-12 21:09:20.546 - INFO: train/mse_loss: 0.0032713199212679933 +23-06-12 21:09:20.547 - INFO: epoch: 916 +23-06-12 21:09:20.547 - INFO: iters: 2176416 +23-06-12 21:12:01.972 - INFO: train/mse_loss: 0.0038568728828021898 +23-06-12 21:12:01.972 - INFO: epoch: 917 +23-06-12 21:12:01.973 - INFO: iters: 2178792 +23-06-12 21:13:23.793 - INFO: train/mse_loss: 0.0030355420574971433 +23-06-12 21:14:45.032 - INFO: train/mse_loss: 0.0034471362986388658 +23-06-12 21:14:45.033 - INFO: epoch: 918 +23-06-12 21:14:45.033 - INFO: iters: 2181168 +23-06-12 21:17:26.646 - INFO: train/mse_loss: 0.0035998697404597607 +23-06-12 21:17:26.647 - INFO: epoch: 919 +23-06-12 21:17:26.647 - INFO: iters: 2183544 +23-06-12 21:20:07.477 - INFO: train/mse_loss: 0.0035884061429229397 +23-06-12 21:20:07.478 - INFO: epoch: 920 +23-06-12 21:20:07.478 - INFO: iters: 2185920 +23-06-12 21:22:48.357 - INFO: train/mse_loss: 0.003596327211731349 +23-06-12 21:22:48.357 - INFO: epoch: 921 +23-06-12 21:22:48.357 - INFO: iters: 2188296 +23-06-12 21:24:43.786 - INFO: train/mse_loss: 0.003379126354842119 +23-06-12 21:25:31.441 - INFO: train/mse_loss: 0.00347842391100571 +23-06-12 21:25:31.441 - INFO: epoch: 922 +23-06-12 21:25:31.441 - INFO: iters: 2190672 +23-06-12 21:28:12.669 - INFO: train/mse_loss: 0.0045048078431540895 +23-06-12 21:28:12.669 - INFO: epoch: 923 +23-06-12 21:28:12.669 - INFO: iters: 2193048 +23-06-12 21:30:53.839 - INFO: train/mse_loss: 0.003336694389260264 +23-06-12 21:30:53.839 - INFO: epoch: 924 +23-06-12 21:30:53.839 - INFO: iters: 2195424 +23-06-12 21:33:35.500 - INFO: train/mse_loss: 0.0033654120724463227 +23-06-12 21:33:35.501 - INFO: epoch: 925 +23-06-12 21:33:35.501 - INFO: iters: 2197800 +23-06-12 21:36:04.363 - INFO: train/mse_loss: 0.0032848235668445176 +23-06-12 21:36:18.037 - INFO: train/mse_loss: 0.003277032061868821 +23-06-12 21:36:18.038 - INFO: epoch: 926 +23-06-12 21:36:18.038 - INFO: iters: 2200176 +23-06-12 21:38:59.112 - INFO: train/mse_loss: 0.0035588338099786956 +23-06-12 21:38:59.112 - INFO: epoch: 927 +23-06-12 21:38:59.113 - INFO: iters: 2202552 +23-06-12 21:41:40.412 - INFO: train/mse_loss: 0.003217526648808208 +23-06-12 21:41:40.413 - INFO: epoch: 928 +23-06-12 21:41:40.413 - INFO: iters: 2204928 +23-06-12 21:44:21.894 - INFO: train/mse_loss: 0.00340448778988135 +23-06-12 21:44:21.894 - INFO: epoch: 929 +23-06-12 21:44:21.894 - INFO: iters: 2207304 +23-06-12 21:47:03.633 - INFO: train/mse_loss: 0.003767502826939553 +23-06-12 21:47:03.633 - INFO: epoch: 930 +23-06-12 21:47:03.633 - INFO: iters: 2209680 +23-06-12 21:47:25.652 - INFO: train/mse_loss: 0.002778088260674849 +23-06-12 21:49:47.689 - INFO: train/mse_loss: 0.003173111875224796 +23-06-12 21:49:47.689 - INFO: epoch: 931 +23-06-12 21:49:47.689 - INFO: iters: 2212056 +23-06-12 21:52:29.002 - INFO: train/mse_loss: 0.003263495605743117 +23-06-12 21:52:29.002 - INFO: epoch: 932 +23-06-12 21:52:29.003 - INFO: iters: 2214432 +23-06-12 21:55:10.244 - INFO: train/mse_loss: 0.0035446827963891404 +23-06-12 21:55:10.245 - INFO: epoch: 933 +23-06-12 21:55:10.245 - INFO: iters: 2216808 +23-06-12 21:57:51.339 - INFO: train/mse_loss: 0.003356932028904651 +23-06-12 21:57:51.340 - INFO: epoch: 934 +23-06-12 21:57:51.340 - INFO: iters: 2219184 +23-06-12 21:58:46.933 - INFO: train/mse_loss: 0.004867308243524795 +23-06-12 22:00:34.150 - INFO: train/mse_loss: 0.003930609541755446 +23-06-12 22:00:34.150 - INFO: epoch: 935 +23-06-12 22:00:34.151 - INFO: iters: 2221560 +23-06-12 22:03:15.361 - INFO: train/mse_loss: 0.0034522570229467845 +23-06-12 22:03:15.361 - INFO: epoch: 936 +23-06-12 22:03:15.361 - INFO: iters: 2223936 +23-06-12 22:05:55.744 - INFO: train/mse_loss: 0.0038263942148326346 +23-06-12 22:05:55.745 - INFO: epoch: 937 +23-06-12 22:05:55.745 - INFO: iters: 2226312 +23-06-12 22:08:37.037 - INFO: train/mse_loss: 0.0037176196940826496 +23-06-12 22:08:37.038 - INFO: epoch: 938 +23-06-12 22:08:37.038 - INFO: iters: 2228688 +23-06-12 22:10:05.934 - INFO: train/mse_loss: 0.003110730082503656 +23-06-12 22:11:19.696 - INFO: train/mse_loss: 0.0038766337308549772 +23-06-12 22:11:19.697 - INFO: epoch: 939 +23-06-12 22:11:19.697 - INFO: iters: 2231064 +23-06-12 22:14:00.518 - INFO: train/mse_loss: 0.003386046964971518 +23-06-12 22:14:00.518 - INFO: epoch: 940 +23-06-12 22:14:00.519 - INFO: iters: 2233440 +23-06-12 22:16:41.525 - INFO: train/mse_loss: 0.003223523787149896 +23-06-12 22:16:41.525 - INFO: epoch: 941 +23-06-12 22:16:41.526 - INFO: iters: 2235816 +23-06-12 22:19:22.430 - INFO: train/mse_loss: 0.0038023046717621536 +23-06-12 22:19:22.431 - INFO: epoch: 942 +23-06-12 22:19:22.431 - INFO: iters: 2238192 +23-06-12 22:21:24.893 - INFO: train/mse_loss: 0.003542195622081893 +23-06-12 22:22:05.075 - INFO: train/mse_loss: 0.003424288622873462 +23-06-12 22:22:05.075 - INFO: epoch: 943 +23-06-12 22:22:05.075 - INFO: iters: 2240568 +23-06-12 22:24:45.461 - INFO: train/mse_loss: 0.003309280912020253 +23-06-12 22:24:45.462 - INFO: epoch: 944 +23-06-12 22:24:45.462 - INFO: iters: 2242944 +23-06-12 22:27:27.385 - INFO: train/mse_loss: 0.0032948659993010426 +23-06-12 22:27:27.386 - INFO: epoch: 945 +23-06-12 22:27:27.386 - INFO: iters: 2245320 +23-06-12 22:30:08.791 - INFO: train/mse_loss: 0.003530107190054826 +23-06-12 22:30:08.792 - INFO: epoch: 946 +23-06-12 22:30:08.792 - INFO: iters: 2247696 +23-06-12 22:32:44.958 - INFO: train/mse_loss: 0.003432583274843637 +23-06-12 22:32:51.734 - INFO: train/mse_loss: 0.003464816539526387 +23-06-12 22:32:51.734 - INFO: epoch: 947 +23-06-12 22:32:51.734 - INFO: iters: 2250072 +23-06-12 22:35:33.840 - INFO: train/mse_loss: 0.0036468510708053555 +23-06-12 22:35:33.840 - INFO: epoch: 948 +23-06-12 22:35:33.841 - INFO: iters: 2252448 +23-06-12 22:38:15.355 - INFO: train/mse_loss: 0.003235990878293347 +23-06-12 22:38:15.356 - INFO: epoch: 949 +23-06-12 22:38:15.356 - INFO: iters: 2254824 +23-06-12 22:40:56.692 - INFO: train/mse_loss: 0.0032340084294308767 +23-06-12 22:40:56.692 - INFO: epoch: 950 +23-06-12 22:40:56.692 - INFO: iters: 2257200 +23-06-12 22:43:37.702 - INFO: train/mse_loss: 0.0033285645048779997 +23-06-12 22:43:37.702 - INFO: epoch: 951 +23-06-12 22:43:37.702 - INFO: iters: 2259576 +23-06-12 22:44:07.045 - INFO: train/mse_loss: 0.0026540497289355494 +23-06-12 22:46:21.149 - INFO: train/mse_loss: 0.0033196604078453698 +23-06-12 22:46:21.149 - INFO: epoch: 952 +23-06-12 22:46:21.149 - INFO: iters: 2261952 +23-06-12 22:49:01.806 - INFO: train/mse_loss: 0.00432792660660308 +23-06-12 22:49:01.807 - INFO: epoch: 953 +23-06-12 22:49:01.807 - INFO: iters: 2264328 +23-06-12 22:51:42.527 - INFO: train/mse_loss: 0.0032290072079006306 +23-06-12 22:51:42.527 - INFO: epoch: 954 +23-06-12 22:51:42.527 - INFO: iters: 2266704 +23-06-12 22:54:22.967 - INFO: train/mse_loss: 0.0035277926919649446 +23-06-12 22:54:22.967 - INFO: epoch: 955 +23-06-12 22:54:22.968 - INFO: iters: 2269080 +23-06-12 22:55:25.533 - INFO: train/mse_loss: 0.0034984653547365705 +23-06-12 22:57:06.033 - INFO: train/mse_loss: 0.0034316994985941836 +23-06-12 22:57:06.033 - INFO: epoch: 956 +23-06-12 22:57:06.035 - INFO: iters: 2271456 +23-06-12 22:59:46.891 - INFO: train/mse_loss: 0.003369009390164493 +23-06-12 22:59:46.891 - INFO: epoch: 957 +23-06-12 22:59:46.891 - INFO: iters: 2273832 +23-06-12 23:02:27.484 - INFO: train/mse_loss: 0.003546569674347938 +23-06-12 23:02:27.485 - INFO: epoch: 958 +23-06-12 23:02:27.485 - INFO: iters: 2276208 +23-06-12 23:05:08.386 - INFO: train/mse_loss: 0.0034101241895762783 +23-06-12 23:05:08.386 - INFO: epoch: 959 +23-06-12 23:05:08.386 - INFO: iters: 2278584 +23-06-12 23:06:44.681 - INFO: train/mse_loss: 0.0037952293794783687 +23-06-12 23:07:51.491 - INFO: train/mse_loss: 0.003445440857151448 +23-06-12 23:07:51.491 - INFO: epoch: 960 +23-06-12 23:07:51.491 - INFO: iters: 2280960 +23-06-12 23:10:32.566 - INFO: train/mse_loss: 0.003735616057640826 +23-06-12 23:10:32.566 - INFO: epoch: 961 +23-06-12 23:10:32.567 - INFO: iters: 2283336 +23-06-12 23:13:13.678 - INFO: train/mse_loss: 0.0037877005178039197 +23-06-12 23:13:13.679 - INFO: epoch: 962 +23-06-12 23:13:13.679 - INFO: iters: 2285712 +23-06-12 23:15:55.393 - INFO: train/mse_loss: 0.003334346928975548 +23-06-12 23:15:55.394 - INFO: epoch: 963 +23-06-12 23:15:55.394 - INFO: iters: 2288088 +23-06-12 23:18:04.938 - INFO: train/mse_loss: 0.0031085680925704256 +23-06-12 23:18:38.750 - INFO: train/mse_loss: 0.0031760790838424105 +23-06-12 23:18:38.751 - INFO: epoch: 964 +23-06-12 23:18:38.751 - INFO: iters: 2290464 +23-06-12 23:21:20.059 - INFO: train/mse_loss: 0.0030782264135997455 +23-06-12 23:21:20.061 - INFO: epoch: 965 +23-06-12 23:21:20.062 - INFO: iters: 2292840 +23-06-12 23:24:01.073 - INFO: train/mse_loss: 0.004069240968392202 +23-06-12 23:24:01.074 - INFO: epoch: 966 +23-06-12 23:24:01.074 - INFO: iters: 2295216 +23-06-12 23:26:41.737 - INFO: train/mse_loss: 0.003519248471929306 +23-06-12 23:26:41.738 - INFO: epoch: 967 +23-06-12 23:26:41.738 - INFO: iters: 2297592 +23-06-12 23:29:22.761 - INFO: train/mse_loss: 0.00340589082087249 +23-06-12 23:29:22.761 - INFO: epoch: 968 +23-06-12 23:29:22.761 - INFO: iters: 2299968 +23-06-12 23:29:25.459 - INFO: train/mse_loss: 0.0036239461915101856 +23-06-12 23:32:06.269 - INFO: train/mse_loss: 0.0031996547404805242 +23-06-12 23:32:06.270 - INFO: epoch: 969 +23-06-12 23:32:06.271 - INFO: iters: 2302344 +23-06-12 23:34:47.195 - INFO: train/mse_loss: 0.00338541680197498 +23-06-12 23:34:47.195 - INFO: epoch: 970 +23-06-12 23:34:47.196 - INFO: iters: 2304720 +23-06-12 23:37:28.197 - INFO: train/mse_loss: 0.0037174826585499553 +23-06-12 23:37:28.197 - INFO: epoch: 971 +23-06-12 23:37:28.197 - INFO: iters: 2307096 +23-06-12 23:40:08.938 - INFO: train/mse_loss: 0.0032762339470362423 +23-06-12 23:40:08.939 - INFO: epoch: 972 +23-06-12 23:40:08.940 - INFO: iters: 2309472 +23-06-12 23:40:44.939 - INFO: train/mse_loss: 0.004245377251539718 +23-06-12 23:42:51.251 - INFO: train/mse_loss: 0.0035009202335707164 +23-06-12 23:42:51.251 - INFO: epoch: 973 +23-06-12 23:42:51.251 - INFO: iters: 2311848 +23-06-12 23:45:33.041 - INFO: train/mse_loss: 0.0036938726092196426 +23-06-12 23:45:33.042 - INFO: epoch: 974 +23-06-12 23:45:33.042 - INFO: iters: 2314224 +23-06-12 23:48:13.909 - INFO: train/mse_loss: 0.003790626510693958 +23-06-12 23:48:13.909 - INFO: epoch: 975 +23-06-12 23:48:13.909 - INFO: iters: 2316600 +23-06-12 23:50:54.458 - INFO: train/mse_loss: 0.003955006336021905 +23-06-12 23:50:54.458 - INFO: epoch: 976 +23-06-12 23:50:54.459 - INFO: iters: 2318976 +23-06-12 23:52:03.876 - INFO: train/mse_loss: 0.003385157332104427 +23-06-12 23:53:37.244 - INFO: train/mse_loss: 0.003470501843553745 +23-06-12 23:53:37.245 - INFO: epoch: 977 +23-06-12 23:53:37.245 - INFO: iters: 2321352 +23-06-12 23:56:18.185 - INFO: train/mse_loss: 0.003045878634922934 +23-06-12 23:56:18.185 - INFO: epoch: 978 +23-06-12 23:56:18.185 - INFO: iters: 2323728 +23-06-12 23:58:58.871 - INFO: train/mse_loss: 0.003207089940731975 +23-06-12 23:58:58.871 - INFO: epoch: 979 +23-06-12 23:58:58.871 - INFO: iters: 2326104 +23-06-13 00:01:39.648 - INFO: train/mse_loss: 0.0031259622329200057 +23-06-13 00:01:39.649 - INFO: epoch: 980 +23-06-13 00:01:39.649 - INFO: iters: 2328480 +23-06-13 00:03:23.349 - INFO: train/mse_loss: 0.0032123534143657278 +23-06-13 00:04:23.103 - INFO: train/mse_loss: 0.0031350898561898857 +23-06-13 00:04:23.104 - INFO: epoch: 981 +23-06-13 00:04:23.104 - INFO: iters: 2330856 +23-06-13 00:07:04.379 - INFO: train/mse_loss: 0.003444380867914281 +23-06-13 00:07:04.380 - INFO: epoch: 982 +23-06-13 00:07:04.380 - INFO: iters: 2333232 +23-06-13 00:09:46.157 - INFO: train/mse_loss: 0.0036126311481554023 +23-06-13 00:09:46.158 - INFO: epoch: 983 +23-06-13 00:09:46.158 - INFO: iters: 2335608 +23-06-13 00:12:26.789 - INFO: train/mse_loss: 0.0033450184543993363 +23-06-13 00:12:26.789 - INFO: epoch: 984 +23-06-13 00:12:26.789 - INFO: iters: 2337984 +23-06-13 00:14:43.647 - INFO: train/mse_loss: 0.0032120059169958243 +23-06-13 00:15:09.658 - INFO: train/mse_loss: 0.0032908241250803097 +23-06-13 00:15:09.659 - INFO: epoch: 985 +23-06-13 00:15:09.659 - INFO: iters: 2340360 +23-06-13 00:17:50.736 - INFO: train/mse_loss: 0.0038176463587250345 +23-06-13 00:17:50.737 - INFO: epoch: 986 +23-06-13 00:17:50.738 - INFO: iters: 2342736 +23-06-13 00:20:31.557 - INFO: train/mse_loss: 0.0036443131540742036 +23-06-13 00:20:31.558 - INFO: epoch: 987 +23-06-13 00:20:31.558 - INFO: iters: 2345112 +23-06-13 00:23:12.421 - INFO: train/mse_loss: 0.0037951292687641324 +23-06-13 00:23:12.422 - INFO: epoch: 988 +23-06-13 00:23:12.422 - INFO: iters: 2347488 +23-06-13 00:25:53.349 - INFO: train/mse_loss: 0.0031454989426731687 +23-06-13 00:25:53.350 - INFO: epoch: 989 +23-06-13 00:25:53.350 - INFO: iters: 2349864 +23-06-13 00:26:02.947 - INFO: train/mse_loss: 0.0035992888973423224 +23-06-13 00:28:36.664 - INFO: train/mse_loss: 0.0032786503381265156 +23-06-13 00:28:36.664 - INFO: epoch: 990 +23-06-13 00:28:36.664 - INFO: iters: 2352240 +23-06-13 00:31:17.894 - INFO: train/mse_loss: 0.0029584489482915913 +23-06-13 00:31:17.894 - INFO: epoch: 991 +23-06-13 00:31:17.894 - INFO: iters: 2354616 +23-06-13 00:33:59.005 - INFO: train/mse_loss: 0.0031496380974761263 +23-06-13 00:33:59.005 - INFO: epoch: 992 +23-06-13 00:33:59.005 - INFO: iters: 2356992 +23-06-13 00:36:39.993 - INFO: train/mse_loss: 0.003535965586517019 +23-06-13 00:36:39.994 - INFO: epoch: 993 +23-06-13 00:36:39.994 - INFO: iters: 2359368 +23-06-13 00:37:22.913 - INFO: train/mse_loss: 0.0036643422606601555 +23-06-13 00:39:22.647 - INFO: train/mse_loss: 0.0034906482102540683 +23-06-13 00:39:22.648 - INFO: epoch: 994 +23-06-13 00:39:22.648 - INFO: iters: 2361744 +23-06-13 00:42:03.321 - INFO: train/mse_loss: 0.003184261240174066 +23-06-13 00:42:03.322 - INFO: epoch: 995 +23-06-13 00:42:03.322 - INFO: iters: 2364120 +23-06-13 00:44:44.097 - INFO: train/mse_loss: 0.00353308834852055 +23-06-13 00:44:44.097 - INFO: epoch: 996 +23-06-13 00:44:44.097 - INFO: iters: 2366496 +23-06-13 00:47:25.177 - INFO: train/mse_loss: 0.003398047761696858 +23-06-13 00:47:25.178 - INFO: epoch: 997 +23-06-13 00:47:25.178 - INFO: iters: 2368872 +23-06-13 00:48:41.768 - INFO: train/mse_loss: 0.003389559207312393 +23-06-13 00:50:07.946 - INFO: train/mse_loss: 0.003461565492519488 +23-06-13 00:50:07.946 - INFO: epoch: 998 +23-06-13 00:50:07.946 - INFO: iters: 2371248 +23-06-13 00:52:49.589 - INFO: train/mse_loss: 0.0035728419420853422 +23-06-13 00:52:49.590 - INFO: epoch: 999 +23-06-13 00:52:49.591 - INFO: iters: 2373624 +23-06-13 00:55:30.977 - INFO: train/mse_loss: 0.0030926828222076473 +23-06-13 00:55:30.977 - INFO: epoch: 1000 +23-06-13 00:55:30.977 - INFO: iters: 2376000 +23-06-13 00:55:30.977 - INFO: Saving the self at the end of epoch 1000 +23-06-13 00:55:31.573 - INFO: + + +------------------------------Validation Start------------------------------ +23-06-13 00:57:49.324 - INFO: val/mae: 0.8682603240013123 +23-06-13 00:57:49.324 - INFO: +------------------------------Validation End------------------------------ + + +23-06-13 01:00:30.370 - INFO: train/mse_loss: 0.003562359846046552 +23-06-13 01:00:30.371 - INFO: epoch: 1001 +23-06-13 01:00:30.371 - INFO: iters: 2378378 +23-06-13 01:03:11.767 - INFO: train/mse_loss: 0.00326798720009349 +23-06-13 01:03:11.767 - INFO: epoch: 1002 +23-06-13 01:03:11.767 - INFO: iters: 2380754 +23-06-13 01:05:52.676 - INFO: train/mse_loss: 0.004003261719471289 +23-06-13 01:05:52.677 - INFO: epoch: 1003 +23-06-13 01:05:52.677 - INFO: iters: 2383130 +23-06-13 01:08:33.650 - INFO: train/mse_loss: 0.003442820633513859 +23-06-13 01:08:33.650 - INFO: epoch: 1004 +23-06-13 01:08:33.650 - INFO: iters: 2385506 +23-06-13 01:11:15.594 - INFO: train/mse_loss: 0.0031069563152989754 +23-06-13 01:11:15.595 - INFO: epoch: 1005 +23-06-13 01:11:15.595 - INFO: iters: 2387882 +23-06-13 01:13:56.849 - INFO: train/mse_loss: 0.0033510275399124233 +23-06-13 01:13:56.849 - INFO: epoch: 1006 +23-06-13 01:13:56.850 - INFO: iters: 2390258 +23-06-13 01:16:38.006 - INFO: train/mse_loss: 0.0035613684963806524 +23-06-13 01:16:38.007 - INFO: epoch: 1007 +23-06-13 01:16:38.007 - INFO: iters: 2392634 +23-06-13 01:19:19.686 - INFO: train/mse_loss: 0.0031100989339766577 +23-06-13 01:19:19.686 - INFO: epoch: 1008 +23-06-13 01:19:19.686 - INFO: iters: 2395010 +23-06-13 01:22:00.665 - INFO: train/mse_loss: 0.0035774632915031314 +23-06-13 01:22:00.665 - INFO: epoch: 1009 +23-06-13 01:22:00.666 - INFO: iters: 2397386 +23-06-13 01:24:42.349 - INFO: train/mse_loss: 0.003692716250144359 +23-06-13 01:24:42.350 - INFO: epoch: 1010 +23-06-13 01:24:42.350 - INFO: iters: 2399762 +23-06-13 01:27:23.078 - INFO: train/mse_loss: 0.0033561673772055656 +23-06-13 01:27:23.078 - INFO: epoch: 1011 +23-06-13 01:27:23.078 - INFO: iters: 2402138 +23-06-13 01:30:04.594 - INFO: train/mse_loss: 0.0039430351683678675 +23-06-13 01:30:04.594 - INFO: epoch: 1012 +23-06-13 01:30:04.594 - INFO: iters: 2404514 +23-06-13 01:32:46.526 - INFO: train/mse_loss: 0.0034328230305085655 +23-06-13 01:32:46.526 - INFO: epoch: 1013 +23-06-13 01:32:46.526 - INFO: iters: 2406890 +23-06-13 01:35:27.271 - INFO: train/mse_loss: 0.0029257509347070196 +23-06-13 01:35:27.272 - INFO: epoch: 1014 +23-06-13 01:35:27.273 - INFO: iters: 2409266 +23-06-13 01:38:08.209 - INFO: train/mse_loss: 0.0030819046842592832 +23-06-13 01:38:08.210 - INFO: epoch: 1015 +23-06-13 01:38:08.210 - INFO: iters: 2411642 +23-06-13 01:40:49.315 - INFO: train/mse_loss: 0.002973217556824569 +23-06-13 01:40:49.315 - INFO: epoch: 1016 +23-06-13 01:40:49.316 - INFO: iters: 2414018 +23-06-13 01:43:30.528 - INFO: train/mse_loss: 0.0032492344746262664 +23-06-13 01:43:30.529 - INFO: epoch: 1017 +23-06-13 01:43:30.529 - INFO: iters: 2416394 +23-06-13 01:46:11.379 - INFO: train/mse_loss: 0.00313669871142987 +23-06-13 01:46:11.380 - INFO: epoch: 1018 +23-06-13 01:46:11.380 - INFO: iters: 2418770 +23-06-13 01:48:52.625 - INFO: train/mse_loss: 0.0037761240090660574 +23-06-13 01:48:52.625 - INFO: epoch: 1019 +23-06-13 01:48:52.625 - INFO: iters: 2421146 +23-06-13 01:51:34.233 - INFO: train/mse_loss: 0.0036153169952470947 +23-06-13 01:51:34.234 - INFO: epoch: 1020 +23-06-13 01:51:34.234 - INFO: iters: 2423522 +23-06-13 01:54:15.050 - INFO: train/mse_loss: 0.0031787882537835026 +23-06-13 01:54:15.051 - INFO: epoch: 1021 +23-06-13 01:54:15.051 - INFO: iters: 2425898 +23-06-13 01:56:55.803 - INFO: train/mse_loss: 0.003553605316636413 +23-06-13 01:56:55.804 - INFO: epoch: 1022 +23-06-13 01:56:55.804 - INFO: iters: 2428274 +23-06-13 01:59:36.997 - INFO: train/mse_loss: 0.0031696972403885415 +23-06-13 01:59:36.997 - INFO: epoch: 1023 +23-06-13 01:59:36.997 - INFO: iters: 2430650 +23-06-13 02:02:18.002 - INFO: train/mse_loss: 0.003554482012987137 +23-06-13 02:02:18.003 - INFO: epoch: 1024 +23-06-13 02:02:18.003 - INFO: iters: 2433026 +23-06-13 02:04:59.389 - INFO: train/mse_loss: 0.003751666829643006 +23-06-13 02:04:59.389 - INFO: epoch: 1025 +23-06-13 02:04:59.390 - INFO: iters: 2435402 +23-06-13 02:07:40.100 - INFO: train/mse_loss: 0.0031734896319689423 +23-06-13 02:07:40.100 - INFO: epoch: 1026 +23-06-13 02:07:40.101 - INFO: iters: 2437778 +23-06-13 02:10:21.052 - INFO: train/mse_loss: 0.0032890368004483157 +23-06-13 02:10:21.053 - INFO: epoch: 1027 +23-06-13 02:10:21.053 - INFO: iters: 2440154 +23-06-13 02:13:02.374 - INFO: train/mse_loss: 0.002966126715054936 +23-06-13 02:13:02.375 - INFO: epoch: 1028 +23-06-13 02:13:02.375 - INFO: iters: 2442530 +23-06-13 02:15:43.687 - INFO: train/mse_loss: 0.0032781496658131027 +23-06-13 02:15:43.687 - INFO: epoch: 1029 +23-06-13 02:15:43.687 - INFO: iters: 2444906 +23-06-13 02:18:24.292 - INFO: train/mse_loss: 0.0033949574568114473 +23-06-13 02:18:24.293 - INFO: epoch: 1030 +23-06-13 02:18:24.293 - INFO: iters: 2447282 +23-06-13 02:21:05.538 - INFO: train/mse_loss: 0.0032711300408226197 +23-06-13 02:21:05.539 - INFO: epoch: 1031 +23-06-13 02:21:05.539 - INFO: iters: 2449658 +23-06-13 02:23:46.219 - INFO: train/mse_loss: 0.0033143712755454146 +23-06-13 02:23:46.219 - INFO: epoch: 1032 +23-06-13 02:23:46.219 - INFO: iters: 2452034 +23-06-13 02:26:27.030 - INFO: train/mse_loss: 0.0033057159699126453 +23-06-13 02:26:27.031 - INFO: epoch: 1033 +23-06-13 02:26:27.031 - INFO: iters: 2454410 +23-06-13 02:29:07.761 - INFO: train/mse_loss: 0.0029980307280302347 +23-06-13 02:29:07.761 - INFO: epoch: 1034 +23-06-13 02:29:07.761 - INFO: iters: 2456786 +23-06-13 02:31:48.409 - INFO: train/mse_loss: 0.003589311576807426 +23-06-13 02:31:48.410 - INFO: epoch: 1035 +23-06-13 02:31:48.410 - INFO: iters: 2459162 +23-06-13 02:34:29.388 - INFO: train/mse_loss: 0.003214229160711257 +23-06-13 02:34:29.389 - INFO: epoch: 1036 +23-06-13 02:34:29.389 - INFO: iters: 2461538 +23-06-13 02:37:10.664 - INFO: train/mse_loss: 0.003623246324741711 +23-06-13 02:37:10.664 - INFO: epoch: 1037 +23-06-13 02:37:10.665 - INFO: iters: 2463914 +23-06-13 02:39:51.479 - INFO: train/mse_loss: 0.002978749493562682 +23-06-13 02:39:51.481 - INFO: epoch: 1038 +23-06-13 02:39:51.481 - INFO: iters: 2466290 +23-06-13 02:42:32.720 - INFO: train/mse_loss: 0.003324983084318777 +23-06-13 02:42:32.720 - INFO: epoch: 1039 +23-06-13 02:42:32.720 - INFO: iters: 2468666 +23-06-13 02:45:13.651 - INFO: train/mse_loss: 0.0032700765876002257 +23-06-13 02:45:13.652 - INFO: epoch: 1040 +23-06-13 02:45:13.652 - INFO: iters: 2471042 +23-06-13 02:47:54.492 - INFO: train/mse_loss: 0.003092071159350018 +23-06-13 02:47:54.492 - INFO: epoch: 1041 +23-06-13 02:47:54.493 - INFO: iters: 2473418 +23-06-13 02:50:35.574 - INFO: train/mse_loss: 0.0028118780980306846 +23-06-13 02:50:35.575 - INFO: epoch: 1042 +23-06-13 02:50:35.575 - INFO: iters: 2475794 +23-06-13 02:53:17.120 - INFO: train/mse_loss: 0.0036783065932633526 +23-06-13 02:53:17.120 - INFO: epoch: 1043 +23-06-13 02:53:17.120 - INFO: iters: 2478170 +23-06-13 02:55:58.275 - INFO: train/mse_loss: 0.0032843773885118943 +23-06-13 02:55:58.276 - INFO: epoch: 1044 +23-06-13 02:55:58.276 - INFO: iters: 2480546 +23-06-13 02:58:39.254 - INFO: train/mse_loss: 0.003296971852128372 +23-06-13 02:58:39.254 - INFO: epoch: 1045 +23-06-13 02:58:39.255 - INFO: iters: 2482922 +23-06-13 03:01:19.939 - INFO: train/mse_loss: 0.0028929648556752815 +23-06-13 03:01:19.940 - INFO: epoch: 1046 +23-06-13 03:01:19.940 - INFO: iters: 2485298 +23-06-13 03:04:00.952 - INFO: train/mse_loss: 0.0032380339544523596 +23-06-13 03:04:00.953 - INFO: epoch: 1047 +23-06-13 03:04:00.953 - INFO: iters: 2487674 +23-06-13 03:06:41.599 - INFO: train/mse_loss: 0.003671543134504973 +23-06-13 03:06:41.600 - INFO: epoch: 1048 +23-06-13 03:06:41.600 - INFO: iters: 2490050 +23-06-13 03:09:22.603 - INFO: train/mse_loss: 0.003575820808599919 +23-06-13 03:09:22.603 - INFO: epoch: 1049 +23-06-13 03:09:22.603 - INFO: iters: 2492426 +23-06-13 03:12:03.774 - INFO: train/mse_loss: 0.003374303444931503 +23-06-13 03:12:03.774 - INFO: epoch: 1050 +23-06-13 03:12:03.774 - INFO: iters: 2494802 +23-06-13 03:14:44.666 - INFO: train/mse_loss: 0.003332498245629535 +23-06-13 03:14:44.666 - INFO: epoch: 1051 +23-06-13 03:14:44.666 - INFO: iters: 2497178 +23-06-13 03:17:25.558 - INFO: train/mse_loss: 0.003098966249833918 +23-06-13 03:17:25.558 - INFO: epoch: 1052 +23-06-13 03:17:25.559 - INFO: iters: 2499554 +23-06-13 03:20:06.755 - INFO: train/mse_loss: 0.0032102713723563487 +23-06-13 03:20:06.756 - INFO: epoch: 1053 +23-06-13 03:20:06.756 - INFO: iters: 2501930 +23-06-13 03:22:48.450 - INFO: train/mse_loss: 0.004297175539127529 +23-06-13 03:22:48.451 - INFO: epoch: 1054 +23-06-13 03:22:48.451 - INFO: iters: 2504306 +23-06-13 03:25:29.301 - INFO: train/mse_loss: 0.003400191892822734 +23-06-13 03:25:29.302 - INFO: epoch: 1055 +23-06-13 03:25:29.302 - INFO: iters: 2506682 +23-06-13 03:28:10.287 - INFO: train/mse_loss: 0.003093871031260676 +23-06-13 03:28:10.288 - INFO: epoch: 1056 +23-06-13 03:28:10.288 - INFO: iters: 2509058 +23-06-13 03:30:51.698 - INFO: train/mse_loss: 0.003053488836800899 +23-06-13 03:30:51.698 - INFO: epoch: 1057 +23-06-13 03:30:51.699 - INFO: iters: 2511434 +23-06-13 03:33:32.609 - INFO: train/mse_loss: 0.0036381311445757244 +23-06-13 03:33:32.610 - INFO: epoch: 1058 +23-06-13 03:33:32.610 - INFO: iters: 2513810 +23-06-13 03:36:13.274 - INFO: train/mse_loss: 0.004093844326752354 +23-06-13 03:36:13.274 - INFO: epoch: 1059 +23-06-13 03:36:13.274 - INFO: iters: 2516186 +23-06-13 03:38:54.494 - INFO: train/mse_loss: 0.0037850408469129243 +23-06-13 03:38:54.494 - INFO: epoch: 1060 +23-06-13 03:38:54.494 - INFO: iters: 2518562 +23-06-13 03:41:35.459 - INFO: train/mse_loss: 0.0030916210690039754 +23-06-13 03:41:35.460 - INFO: epoch: 1061 +23-06-13 03:41:35.460 - INFO: iters: 2520938 +23-06-13 03:44:16.425 - INFO: train/mse_loss: 0.003354544670404145 +23-06-13 03:44:16.425 - INFO: epoch: 1062 +23-06-13 03:44:16.425 - INFO: iters: 2523314 +23-06-13 03:46:57.213 - INFO: train/mse_loss: 0.003163254578258397 +23-06-13 03:46:57.214 - INFO: epoch: 1063 +23-06-13 03:46:57.214 - INFO: iters: 2525690 +23-06-13 03:49:38.171 - INFO: train/mse_loss: 0.003351450452474432 +23-06-13 03:49:38.172 - INFO: epoch: 1064 +23-06-13 03:49:38.172 - INFO: iters: 2528066 +23-06-13 03:52:19.130 - INFO: train/mse_loss: 0.0036542327741007335 +23-06-13 03:52:19.131 - INFO: epoch: 1065 +23-06-13 03:52:19.131 - INFO: iters: 2530442 +23-06-13 03:55:00.270 - INFO: train/mse_loss: 0.0031092721466774668 +23-06-13 03:55:00.271 - INFO: epoch: 1066 +23-06-13 03:55:00.271 - INFO: iters: 2532818 +23-06-13 03:57:41.007 - INFO: train/mse_loss: 0.003456487793080283 +23-06-13 03:57:41.007 - INFO: epoch: 1067 +23-06-13 03:57:41.008 - INFO: iters: 2535194 +23-06-13 04:00:22.457 - INFO: train/mse_loss: 0.003103943368002948 +23-06-13 04:00:22.458 - INFO: epoch: 1068 +23-06-13 04:00:22.458 - INFO: iters: 2537570 +23-06-13 04:03:03.873 - INFO: train/mse_loss: 0.0030000954769396535 +23-06-13 04:03:03.873 - INFO: epoch: 1069 +23-06-13 04:03:03.873 - INFO: iters: 2539946 +23-06-13 04:05:44.960 - INFO: train/mse_loss: 0.0037810775517605195 +23-06-13 04:05:44.961 - INFO: epoch: 1070 +23-06-13 04:05:44.961 - INFO: iters: 2542322 +23-06-13 04:08:26.289 - INFO: train/mse_loss: 0.0032844076140647323 +23-06-13 04:08:26.290 - INFO: epoch: 1071 +23-06-13 04:08:26.290 - INFO: iters: 2544698 +23-06-13 04:11:07.491 - INFO: train/mse_loss: 0.0033000204177112366 +23-06-13 04:11:07.491 - INFO: epoch: 1072 +23-06-13 04:11:07.492 - INFO: iters: 2547074 +23-06-13 04:13:48.572 - INFO: train/mse_loss: 0.0032680686012534457 +23-06-13 04:13:48.573 - INFO: epoch: 1073 +23-06-13 04:13:48.573 - INFO: iters: 2549450 +23-06-13 04:16:29.808 - INFO: train/mse_loss: 0.0033595441562877747 +23-06-13 04:16:29.809 - INFO: epoch: 1074 +23-06-13 04:16:29.809 - INFO: iters: 2551826 +23-06-13 04:19:11.686 - INFO: train/mse_loss: 0.0035847243268876915 +23-06-13 04:19:11.687 - INFO: epoch: 1075 +23-06-13 04:19:11.687 - INFO: iters: 2554202 +23-06-13 04:21:52.427 - INFO: train/mse_loss: 0.003266286470430279 +23-06-13 04:21:52.427 - INFO: epoch: 1076 +23-06-13 04:21:52.427 - INFO: iters: 2556578 +23-06-13 04:24:34.681 - INFO: train/mse_loss: 0.002928778998160214 +23-06-13 04:24:34.682 - INFO: epoch: 1077 +23-06-13 04:24:34.682 - INFO: iters: 2558954 +23-06-13 04:27:16.244 - INFO: train/mse_loss: 0.0031161796631250746 +23-06-13 04:27:16.245 - INFO: epoch: 1078 +23-06-13 04:27:16.245 - INFO: iters: 2561330 +23-06-13 04:29:57.746 - INFO: train/mse_loss: 0.003262761053970234 +23-06-13 04:29:57.746 - INFO: epoch: 1079 +23-06-13 04:29:57.746 - INFO: iters: 2563706 +23-06-13 04:32:39.563 - INFO: train/mse_loss: 0.0028201068018724584 +23-06-13 04:32:39.563 - INFO: epoch: 1080 +23-06-13 04:32:39.563 - INFO: iters: 2566082 +23-06-13 04:35:20.610 - INFO: train/mse_loss: 0.0034005984774499076 +23-06-13 04:35:20.610 - INFO: epoch: 1081 +23-06-13 04:35:20.610 - INFO: iters: 2568458 +23-06-13 04:38:01.929 - INFO: train/mse_loss: 0.003105194665047086 +23-06-13 04:38:01.929 - INFO: epoch: 1082 +23-06-13 04:38:01.929 - INFO: iters: 2570834 +23-06-13 04:40:43.443 - INFO: train/mse_loss: 0.0032138809885497296 +23-06-13 04:40:43.443 - INFO: epoch: 1083 +23-06-13 04:40:43.443 - INFO: iters: 2573210 +23-06-13 04:43:25.344 - INFO: train/mse_loss: 0.003391562522622609 +23-06-13 04:43:25.344 - INFO: epoch: 1084 +23-06-13 04:43:25.345 - INFO: iters: 2575586 +23-06-13 04:46:06.293 - INFO: train/mse_loss: 0.0033363644554991563 +23-06-13 04:46:06.293 - INFO: epoch: 1085 +23-06-13 04:46:06.294 - INFO: iters: 2577962 +23-06-13 04:48:47.452 - INFO: train/mse_loss: 0.00369300627344059 +23-06-13 04:48:47.452 - INFO: epoch: 1086 +23-06-13 04:48:47.453 - INFO: iters: 2580338 +23-06-13 04:51:27.997 - INFO: train/mse_loss: 0.0034629380142689376 +23-06-13 04:51:27.998 - INFO: epoch: 1087 +23-06-13 04:51:27.998 - INFO: iters: 2582714 +23-06-13 04:54:08.940 - INFO: train/mse_loss: 0.003279572472514064 +23-06-13 04:54:08.941 - INFO: epoch: 1088 +23-06-13 04:54:08.941 - INFO: iters: 2585090 +23-06-13 04:56:50.346 - INFO: train/mse_loss: 0.003116877404236006 +23-06-13 04:56:50.347 - INFO: epoch: 1089 +23-06-13 04:56:50.347 - INFO: iters: 2587466 +23-06-13 04:59:31.484 - INFO: train/mse_loss: 0.003184684507469631 +23-06-13 04:59:31.485 - INFO: epoch: 1090 +23-06-13 04:59:31.485 - INFO: iters: 2589842 +23-06-13 05:02:12.800 - INFO: train/mse_loss: 0.0034641255730424414 +23-06-13 05:02:12.801 - INFO: epoch: 1091 +23-06-13 05:02:12.801 - INFO: iters: 2592218 +23-06-13 05:04:53.701 - INFO: train/mse_loss: 0.003011200306168836 +23-06-13 05:04:53.701 - INFO: epoch: 1092 +23-06-13 05:04:53.701 - INFO: iters: 2594594 +23-06-13 05:07:34.992 - INFO: train/mse_loss: 0.0027550848574073427 +23-06-13 05:07:34.993 - INFO: epoch: 1093 +23-06-13 05:07:34.993 - INFO: iters: 2596970 +23-06-13 05:10:16.289 - INFO: train/mse_loss: 0.0034049252188852316 +23-06-13 05:10:16.289 - INFO: epoch: 1094 +23-06-13 05:10:16.289 - INFO: iters: 2599346 +23-06-13 05:12:57.395 - INFO: train/mse_loss: 0.003245092994456653 +23-06-13 05:12:57.395 - INFO: epoch: 1095 +23-06-13 05:12:57.395 - INFO: iters: 2601722 +23-06-13 05:15:38.872 - INFO: train/mse_loss: 0.0030432853918100837 +23-06-13 05:15:38.873 - INFO: epoch: 1096 +23-06-13 05:15:38.873 - INFO: iters: 2604098 +23-06-13 05:18:20.022 - INFO: train/mse_loss: 0.0031363397296941416 +23-06-13 05:18:20.022 - INFO: epoch: 1097 +23-06-13 05:18:20.023 - INFO: iters: 2606474 +23-06-13 05:21:01.153 - INFO: train/mse_loss: 0.003252268425480585 +23-06-13 05:21:01.153 - INFO: epoch: 1098 +23-06-13 05:21:01.153 - INFO: iters: 2608850 +23-06-13 05:23:42.179 - INFO: train/mse_loss: 0.003185715003551363 +23-06-13 05:23:42.181 - INFO: epoch: 1099 +23-06-13 05:23:42.181 - INFO: iters: 2611226 +23-06-13 05:26:23.080 - INFO: train/mse_loss: 0.0035324634159821077 +23-06-13 05:26:23.080 - INFO: epoch: 1100 +23-06-13 05:26:23.081 - INFO: iters: 2613602 +23-06-13 05:29:04.197 - INFO: train/mse_loss: 0.0033354275150033284 +23-06-13 05:29:04.198 - INFO: epoch: 1101 +23-06-13 05:29:04.199 - INFO: iters: 2615978 +23-06-13 05:31:45.724 - INFO: train/mse_loss: 0.0029319242600928555 +23-06-13 05:31:45.725 - INFO: epoch: 1102 +23-06-13 05:31:45.726 - INFO: iters: 2618354 +23-06-13 05:34:26.921 - INFO: train/mse_loss: 0.003337998264872936 +23-06-13 05:34:26.922 - INFO: epoch: 1103 +23-06-13 05:34:26.922 - INFO: iters: 2620730 +23-06-13 05:37:07.709 - INFO: train/mse_loss: 0.00362544275006132 +23-06-13 05:37:07.709 - INFO: epoch: 1104 +23-06-13 05:37:07.709 - INFO: iters: 2623106 +23-06-13 05:39:48.670 - INFO: train/mse_loss: 0.003385776202041524 +23-06-13 05:39:48.670 - INFO: epoch: 1105 +23-06-13 05:39:48.670 - INFO: iters: 2625482 +23-06-13 05:42:30.286 - INFO: train/mse_loss: 0.0031869683649096174 +23-06-13 05:42:30.286 - INFO: epoch: 1106 +23-06-13 05:42:30.286 - INFO: iters: 2627858 +23-06-13 05:45:11.533 - INFO: train/mse_loss: 0.0037631701763487274 +23-06-13 05:45:11.534 - INFO: epoch: 1107 +23-06-13 05:45:11.534 - INFO: iters: 2630234 +23-06-13 05:47:52.482 - INFO: train/mse_loss: 0.003259919947840317 +23-06-13 05:47:52.483 - INFO: epoch: 1108 +23-06-13 05:47:52.483 - INFO: iters: 2632610 +23-06-13 05:50:33.686 - INFO: train/mse_loss: 0.002901668517665329 +23-06-13 05:50:33.687 - INFO: epoch: 1109 +23-06-13 05:50:33.687 - INFO: iters: 2634986 +23-06-13 05:53:14.802 - INFO: train/mse_loss: 0.0034572146122495923 +23-06-13 05:53:14.802 - INFO: epoch: 1110 +23-06-13 05:53:14.802 - INFO: iters: 2637362 +23-06-13 05:55:55.976 - INFO: train/mse_loss: 0.002940206487838693 +23-06-13 05:55:55.977 - INFO: epoch: 1111 +23-06-13 05:55:55.977 - INFO: iters: 2639738 +23-06-13 05:58:38.786 - INFO: train/mse_loss: 0.0033905477361418058 +23-06-13 05:58:38.787 - INFO: epoch: 1112 +23-06-13 05:58:38.787 - INFO: iters: 2642114 +23-06-13 06:01:20.380 - INFO: train/mse_loss: 0.002923346213762796 +23-06-13 06:01:20.381 - INFO: epoch: 1113 +23-06-13 06:01:20.381 - INFO: iters: 2644490 +23-06-13 06:04:01.765 - INFO: train/mse_loss: 0.003493418460119961 +23-06-13 06:04:01.766 - INFO: epoch: 1114 +23-06-13 06:04:01.766 - INFO: iters: 2646866 +23-06-13 06:06:43.399 - INFO: train/mse_loss: 0.003322449149520792 +23-06-13 06:06:43.399 - INFO: epoch: 1115 +23-06-13 06:06:43.399 - INFO: iters: 2649242 +23-06-13 06:09:24.886 - INFO: train/mse_loss: 0.003346188167723128 +23-06-13 06:09:24.886 - INFO: epoch: 1116 +23-06-13 06:09:24.886 - INFO: iters: 2651618 +23-06-13 06:12:06.349 - INFO: train/mse_loss: 0.0034227170007419382 +23-06-13 06:12:06.350 - INFO: epoch: 1117 +23-06-13 06:12:06.350 - INFO: iters: 2653994 +23-06-13 06:14:47.409 - INFO: train/mse_loss: 0.0034943627309593486 +23-06-13 06:14:47.409 - INFO: epoch: 1118 +23-06-13 06:14:47.409 - INFO: iters: 2656370 +23-06-13 06:17:28.778 - INFO: train/mse_loss: 0.0030723998161590964 +23-06-13 06:17:28.778 - INFO: epoch: 1119 +23-06-13 06:17:28.778 - INFO: iters: 2658746 +23-06-13 06:20:09.994 - INFO: train/mse_loss: 0.0031874968865510038 +23-06-13 06:20:09.994 - INFO: epoch: 1120 +23-06-13 06:20:09.994 - INFO: iters: 2661122 +23-06-13 06:22:51.515 - INFO: train/mse_loss: 0.002844493955813555 +23-06-13 06:22:51.516 - INFO: epoch: 1121 +23-06-13 06:22:51.516 - INFO: iters: 2663498 +23-06-13 06:25:32.276 - INFO: train/mse_loss: 0.003145308403030935 +23-06-13 06:25:32.277 - INFO: epoch: 1122 +23-06-13 06:25:32.277 - INFO: iters: 2665874 +23-06-13 06:28:13.271 - INFO: train/mse_loss: 0.0031864275179430217 +23-06-13 06:28:13.271 - INFO: epoch: 1123 +23-06-13 06:28:13.271 - INFO: iters: 2668250 +23-06-13 06:30:54.469 - INFO: train/mse_loss: 0.0027265039989716917 +23-06-13 06:30:54.470 - INFO: epoch: 1124 +23-06-13 06:30:54.470 - INFO: iters: 2670626 +23-06-13 06:33:35.598 - INFO: train/mse_loss: 0.0033777124440118747 +23-06-13 06:33:35.598 - INFO: epoch: 1125 +23-06-13 06:33:35.598 - INFO: iters: 2673002 +23-06-13 06:36:17.078 - INFO: train/mse_loss: 0.003318411484184308 +23-06-13 06:36:17.078 - INFO: epoch: 1126 +23-06-13 06:36:17.078 - INFO: iters: 2675378 +23-06-13 06:38:57.921 - INFO: train/mse_loss: 0.0029258607182752103 +23-06-13 06:38:57.921 - INFO: epoch: 1127 +23-06-13 06:38:57.921 - INFO: iters: 2677754 +23-06-13 06:41:39.328 - INFO: train/mse_loss: 0.0030603341067206706 +23-06-13 06:41:39.329 - INFO: epoch: 1128 +23-06-13 06:41:39.329 - INFO: iters: 2680130 +23-06-13 06:44:20.505 - INFO: train/mse_loss: 0.0035608161705497476 +23-06-13 06:44:20.506 - INFO: epoch: 1129 +23-06-13 06:44:20.506 - INFO: iters: 2682506 +23-06-13 06:47:01.686 - INFO: train/mse_loss: 0.0036022691317772813 +23-06-13 06:47:01.686 - INFO: epoch: 1130 +23-06-13 06:47:01.687 - INFO: iters: 2684882 +23-06-13 06:49:42.729 - INFO: train/mse_loss: 0.0030679276629714826 +23-06-13 06:49:42.730 - INFO: epoch: 1131 +23-06-13 06:49:42.730 - INFO: iters: 2687258 +23-06-13 06:52:24.964 - INFO: train/mse_loss: 0.0034462450619360515 +23-06-13 06:52:24.965 - INFO: epoch: 1132 +23-06-13 06:52:24.965 - INFO: iters: 2689634 +23-06-13 06:55:06.218 - INFO: train/mse_loss: 0.002945492739545382 +23-06-13 06:55:06.219 - INFO: epoch: 1133 +23-06-13 06:55:06.219 - INFO: iters: 2692010 +23-06-13 06:57:46.774 - INFO: train/mse_loss: 0.0032847796750814662 +23-06-13 06:57:46.774 - INFO: epoch: 1134 +23-06-13 06:57:46.774 - INFO: iters: 2694386 +23-06-13 07:00:27.919 - INFO: train/mse_loss: 0.003580754424871795 +23-06-13 07:00:27.919 - INFO: epoch: 1135 +23-06-13 07:00:27.920 - INFO: iters: 2696762 +23-06-13 07:03:08.958 - INFO: train/mse_loss: 0.0032547780067420026 +23-06-13 07:03:08.959 - INFO: epoch: 1136 +23-06-13 07:03:08.959 - INFO: iters: 2699138 +23-06-13 07:05:49.967 - INFO: train/mse_loss: 0.0030348259927814683 +23-06-13 07:05:49.967 - INFO: epoch: 1137 +23-06-13 07:05:49.967 - INFO: iters: 2701514 +23-06-13 07:08:31.318 - INFO: train/mse_loss: 0.0027402657377557133 +23-06-13 07:08:31.318 - INFO: epoch: 1138 +23-06-13 07:08:31.319 - INFO: iters: 2703890 +23-06-13 07:11:13.541 - INFO: train/mse_loss: 0.003116614512569249 +23-06-13 07:11:13.542 - INFO: epoch: 1139 +23-06-13 07:11:13.542 - INFO: iters: 2706266 +23-06-13 07:13:54.879 - INFO: train/mse_loss: 0.00377250024860706 +23-06-13 07:13:54.880 - INFO: epoch: 1140 +23-06-13 07:13:54.880 - INFO: iters: 2708642 +23-06-13 07:16:36.351 - INFO: train/mse_loss: 0.00286685085780166 +23-06-13 07:16:36.351 - INFO: epoch: 1141 +23-06-13 07:16:36.351 - INFO: iters: 2711018 +23-06-13 07:19:17.827 - INFO: train/mse_loss: 0.0030755699226696995 +23-06-13 07:19:17.827 - INFO: epoch: 1142 +23-06-13 07:19:17.827 - INFO: iters: 2713394 +23-06-13 07:21:59.129 - INFO: train/mse_loss: 0.003093398427484896 +23-06-13 07:21:59.129 - INFO: epoch: 1143 +23-06-13 07:21:59.129 - INFO: iters: 2715770 +23-06-13 07:24:40.995 - INFO: train/mse_loss: 0.0028311710061720238 +23-06-13 07:24:40.995 - INFO: epoch: 1144 +23-06-13 07:24:40.995 - INFO: iters: 2718146 +23-06-13 07:27:23.041 - INFO: train/mse_loss: 0.00295288154192156 +23-06-13 07:27:23.041 - INFO: epoch: 1145 +23-06-13 07:27:23.042 - INFO: iters: 2720522 +23-06-13 07:30:04.582 - INFO: train/mse_loss: 0.003470381787999279 +23-06-13 07:30:04.583 - INFO: epoch: 1146 +23-06-13 07:30:04.583 - INFO: iters: 2722898 +23-06-13 07:32:45.448 - INFO: train/mse_loss: 0.0035187833654766383 +23-06-13 07:32:45.448 - INFO: epoch: 1147 +23-06-13 07:32:45.448 - INFO: iters: 2725274 +23-06-13 07:35:27.181 - INFO: train/mse_loss: 0.0027214896246659185 +23-06-13 07:35:27.181 - INFO: epoch: 1148 +23-06-13 07:35:27.181 - INFO: iters: 2727650 +23-06-13 07:38:08.586 - INFO: train/mse_loss: 0.002929430496126338 +23-06-13 07:38:08.588 - INFO: epoch: 1149 +23-06-13 07:38:08.588 - INFO: iters: 2730026 +23-06-13 07:40:50.098 - INFO: train/mse_loss: 0.0028886074259656135 +23-06-13 07:40:50.099 - INFO: epoch: 1150 +23-06-13 07:40:50.099 - INFO: iters: 2732402 +23-06-13 07:43:30.795 - INFO: train/mse_loss: 0.0031316438642791425 +23-06-13 07:43:30.795 - INFO: epoch: 1151 +23-06-13 07:43:30.795 - INFO: iters: 2734778 +23-06-13 07:46:11.760 - INFO: train/mse_loss: 0.003240144803339258 +23-06-13 07:46:11.761 - INFO: epoch: 1152 +23-06-13 07:46:11.761 - INFO: iters: 2737154 +23-06-13 07:48:52.505 - INFO: train/mse_loss: 0.003078097743115479 +23-06-13 07:48:52.505 - INFO: epoch: 1153 +23-06-13 07:48:52.505 - INFO: iters: 2739530 +23-06-13 07:51:33.247 - INFO: train/mse_loss: 0.0037421050913842013 +23-06-13 07:51:33.248 - INFO: epoch: 1154 +23-06-13 07:51:33.248 - INFO: iters: 2741906 +23-06-13 07:54:13.979 - INFO: train/mse_loss: 0.0032355296400043273 +23-06-13 07:54:13.980 - INFO: epoch: 1155 +23-06-13 07:54:13.980 - INFO: iters: 2744282 +23-06-13 07:56:54.660 - INFO: train/mse_loss: 0.002955317990548645 +23-06-13 07:56:54.660 - INFO: epoch: 1156 +23-06-13 07:56:54.660 - INFO: iters: 2746658 +23-06-13 07:59:35.419 - INFO: train/mse_loss: 0.003066096712873546 +23-06-13 07:59:35.420 - INFO: epoch: 1157 +23-06-13 07:59:35.420 - INFO: iters: 2749034 +23-06-13 08:02:16.597 - INFO: train/mse_loss: 0.0030092385682584685 +23-06-13 08:02:16.598 - INFO: epoch: 1158 +23-06-13 08:02:16.598 - INFO: iters: 2751410 +23-06-13 08:04:57.524 - INFO: train/mse_loss: 0.002779630387730282 +23-06-13 08:04:57.525 - INFO: epoch: 1159 +23-06-13 08:04:57.525 - INFO: iters: 2753786 +23-06-13 08:07:38.313 - INFO: train/mse_loss: 0.003140247816056082 +23-06-13 08:07:38.313 - INFO: epoch: 1160 +23-06-13 08:07:38.313 - INFO: iters: 2756162 +23-06-13 08:10:18.944 - INFO: train/mse_loss: 0.0034160696282459152 +23-06-13 08:10:18.944 - INFO: epoch: 1161 +23-06-13 08:10:18.944 - INFO: iters: 2758538 +23-06-13 08:12:59.830 - INFO: train/mse_loss: 0.0027389526297612685 +23-06-13 08:12:59.831 - INFO: epoch: 1162 +23-06-13 08:12:59.831 - INFO: iters: 2760914 +23-06-13 08:15:40.443 - INFO: train/mse_loss: 0.00304301572002875 +23-06-13 08:15:40.443 - INFO: epoch: 1163 +23-06-13 08:15:40.443 - INFO: iters: 2763290 +23-06-13 08:18:21.419 - INFO: train/mse_loss: 0.0028478633647671704 +23-06-13 08:18:21.419 - INFO: epoch: 1164 +23-06-13 08:18:21.419 - INFO: iters: 2765666 +23-06-13 08:21:02.208 - INFO: train/mse_loss: 0.0029535780360754453 +23-06-13 08:21:02.208 - INFO: epoch: 1165 +23-06-13 08:21:02.209 - INFO: iters: 2768042 +23-06-13 08:23:43.322 - INFO: train/mse_loss: 0.0031990726127192025 +23-06-13 08:23:43.323 - INFO: epoch: 1166 +23-06-13 08:23:43.323 - INFO: iters: 2770418 +23-06-13 08:26:24.741 - INFO: train/mse_loss: 0.0034660427809162977 +23-06-13 08:26:24.741 - INFO: epoch: 1167 +23-06-13 08:26:24.741 - INFO: iters: 2772794 +23-06-13 08:29:05.608 - INFO: train/mse_loss: 0.002802260066006295 +23-06-13 08:29:05.609 - INFO: epoch: 1168 +23-06-13 08:29:05.609 - INFO: iters: 2775170 +23-06-13 08:31:46.700 - INFO: train/mse_loss: 0.0034510362910981657 +23-06-13 08:31:46.701 - INFO: epoch: 1169 +23-06-13 08:31:46.701 - INFO: iters: 2777546 +23-06-13 08:34:27.676 - INFO: train/mse_loss: 0.00354791999134464 +23-06-13 08:34:27.677 - INFO: epoch: 1170 +23-06-13 08:34:27.678 - INFO: iters: 2779922 +23-06-13 08:37:08.947 - INFO: train/mse_loss: 0.0036531594392384156 +23-06-13 08:37:08.947 - INFO: epoch: 1171 +23-06-13 08:37:08.947 - INFO: iters: 2782298 +23-06-13 08:39:50.439 - INFO: train/mse_loss: 0.003010071628364054 +23-06-13 08:39:50.440 - INFO: epoch: 1172 +23-06-13 08:39:50.440 - INFO: iters: 2784674 +23-06-13 08:42:32.261 - INFO: train/mse_loss: 0.002920192650085008 +23-06-13 08:42:32.262 - INFO: epoch: 1173 +23-06-13 08:42:32.262 - INFO: iters: 2787050 +23-06-13 08:45:13.198 - INFO: train/mse_loss: 0.0033194821854929443 +23-06-13 08:45:13.199 - INFO: epoch: 1174 +23-06-13 08:45:13.199 - INFO: iters: 2789426 +23-06-13 08:47:54.185 - INFO: train/mse_loss: 0.003309332076946167 +23-06-13 08:47:54.186 - INFO: epoch: 1175 +23-06-13 08:47:54.186 - INFO: iters: 2791802 +23-06-13 08:50:35.363 - INFO: train/mse_loss: 0.0032013985408730302 +23-06-13 08:50:35.364 - INFO: epoch: 1176 +23-06-13 08:50:35.364 - INFO: iters: 2794178 +23-06-13 08:53:16.674 - INFO: train/mse_loss: 0.00304927311746344 +23-06-13 08:53:16.678 - INFO: epoch: 1177 +23-06-13 08:53:16.678 - INFO: iters: 2796554 +23-06-13 08:55:57.470 - INFO: train/mse_loss: 0.0026613852792726797 +23-06-13 08:55:57.471 - INFO: epoch: 1178 +23-06-13 08:55:57.471 - INFO: iters: 2798930 +23-06-13 08:58:38.673 - INFO: train/mse_loss: 0.0035587396691804155 +23-06-13 08:58:38.673 - INFO: epoch: 1179 +23-06-13 08:58:38.674 - INFO: iters: 2801306 +23-06-13 09:01:19.970 - INFO: train/mse_loss: 0.002984618406894896 +23-06-13 09:01:19.971 - INFO: epoch: 1180 +23-06-13 09:01:19.971 - INFO: iters: 2803682 +23-06-13 09:04:00.844 - INFO: train/mse_loss: 0.0030250053038281275 +23-06-13 09:04:00.844 - INFO: epoch: 1181 +23-06-13 09:04:00.845 - INFO: iters: 2806058 +23-06-13 09:06:43.508 - INFO: train/mse_loss: 0.002850065477190834 +23-06-13 09:06:43.509 - INFO: epoch: 1182 +23-06-13 09:06:43.509 - INFO: iters: 2808434 +23-06-13 09:09:25.365 - INFO: train/mse_loss: 0.0034995024542869868 +23-06-13 09:09:25.365 - INFO: epoch: 1183 +23-06-13 09:09:25.365 - INFO: iters: 2810810 +23-06-13 09:12:06.626 - INFO: train/mse_loss: 0.003285605011892784 +23-06-13 09:12:06.627 - INFO: epoch: 1184 +23-06-13 09:12:06.627 - INFO: iters: 2813186 +23-06-13 09:14:48.014 - INFO: train/mse_loss: 0.003364964947359235 +23-06-13 09:14:48.015 - INFO: epoch: 1185 +23-06-13 09:14:48.016 - INFO: iters: 2815562 +23-06-13 09:17:31.287 - INFO: train/mse_loss: 0.004062677593862556 +23-06-13 09:17:31.289 - INFO: epoch: 1186 +23-06-13 09:17:31.289 - INFO: iters: 2817938 +23-06-13 09:20:12.873 - INFO: train/mse_loss: 0.003253623288750385 +23-06-13 09:20:12.873 - INFO: epoch: 1187 +23-06-13 09:20:12.873 - INFO: iters: 2820314 +23-06-13 09:22:54.038 - INFO: train/mse_loss: 0.0031384059451622357 +23-06-13 09:22:54.039 - INFO: epoch: 1188 +23-06-13 09:22:54.039 - INFO: iters: 2822690 +23-06-13 09:25:35.661 - INFO: train/mse_loss: 0.0028994039701758837 +23-06-13 09:25:35.662 - INFO: epoch: 1189 +23-06-13 09:25:35.662 - INFO: iters: 2825066 +23-06-13 09:28:17.211 - INFO: train/mse_loss: 0.0026802674763144532 +23-06-13 09:28:17.212 - INFO: epoch: 1190 +23-06-13 09:28:17.212 - INFO: iters: 2827442 +23-06-13 09:30:58.850 - INFO: train/mse_loss: 0.0029917875696200977 +23-06-13 09:30:58.850 - INFO: epoch: 1191 +23-06-13 09:30:58.851 - INFO: iters: 2829818 +23-06-13 09:33:40.408 - INFO: train/mse_loss: 0.0033995828180501757 +23-06-13 09:33:40.409 - INFO: epoch: 1192 +23-06-13 09:33:40.409 - INFO: iters: 2832194 +23-06-13 09:36:22.636 - INFO: train/mse_loss: 0.0027382997164866487 +23-06-13 09:36:22.637 - INFO: epoch: 1193 +23-06-13 09:36:22.637 - INFO: iters: 2834570 +23-06-13 09:39:03.877 - INFO: train/mse_loss: 0.0034336221188005773 +23-06-13 09:39:03.877 - INFO: epoch: 1194 +23-06-13 09:39:03.877 - INFO: iters: 2836946 +23-06-13 09:41:45.694 - INFO: train/mse_loss: 0.003564577891494489 +23-06-13 09:41:45.694 - INFO: epoch: 1195 +23-06-13 09:41:45.694 - INFO: iters: 2839322 +23-06-13 09:44:27.535 - INFO: train/mse_loss: 0.0027187214266690693 +23-06-13 09:44:27.536 - INFO: epoch: 1196 +23-06-13 09:44:27.536 - INFO: iters: 2841698 +23-06-13 09:47:09.625 - INFO: train/mse_loss: 0.003030722680178656 +23-06-13 09:47:09.625 - INFO: epoch: 1197 +23-06-13 09:47:09.625 - INFO: iters: 2844074 +23-06-13 09:49:50.962 - INFO: train/mse_loss: 0.003073367496669412 +23-06-13 09:49:50.963 - INFO: epoch: 1198 +23-06-13 09:49:50.963 - INFO: iters: 2846450 +23-06-13 09:52:32.588 - INFO: train/mse_loss: 0.002545429597179929 +23-06-13 09:52:32.589 - INFO: epoch: 1199 +23-06-13 09:52:32.589 - INFO: iters: 2848826 +23-06-13 09:55:14.110 - INFO: train/mse_loss: 0.003409095555845717 +23-06-13 09:55:14.110 - INFO: epoch: 1200 +23-06-13 09:55:14.111 - INFO: iters: 2851202 +23-06-13 09:57:55.214 - INFO: train/mse_loss: 0.003492928828153546 +23-06-13 09:57:55.215 - INFO: epoch: 1201 +23-06-13 09:57:55.215 - INFO: iters: 2853578 +23-06-13 10:00:36.722 - INFO: train/mse_loss: 0.003182220667434436 +23-06-13 10:00:36.722 - INFO: epoch: 1202 +23-06-13 10:00:36.722 - INFO: iters: 2855954 +23-06-13 10:03:18.130 - INFO: train/mse_loss: 0.003122212604077859 +23-06-13 10:03:18.131 - INFO: epoch: 1203 +23-06-13 10:03:18.131 - INFO: iters: 2858330 +23-06-13 10:05:59.658 - INFO: train/mse_loss: 0.003004399767464579 +23-06-13 10:05:59.659 - INFO: epoch: 1204 +23-06-13 10:05:59.659 - INFO: iters: 2860706 +23-06-13 10:08:40.860 - INFO: train/mse_loss: 0.0028807755028758424 +23-06-13 10:08:40.861 - INFO: epoch: 1205 +23-06-13 10:08:40.861 - INFO: iters: 2863082 +23-06-13 10:11:21.603 - INFO: train/mse_loss: 0.0027371938637283755 +23-06-13 10:11:21.604 - INFO: epoch: 1206 +23-06-13 10:11:21.604 - INFO: iters: 2865458 +23-06-13 10:14:03.094 - INFO: train/mse_loss: 0.0031319036128302025 +23-06-13 10:14:03.095 - INFO: epoch: 1207 +23-06-13 10:14:03.096 - INFO: iters: 2867834 +23-06-13 10:16:44.277 - INFO: train/mse_loss: 0.003530211580889017 +23-06-13 10:16:44.278 - INFO: epoch: 1208 +23-06-13 10:16:44.278 - INFO: iters: 2870210 +23-06-13 10:19:25.314 - INFO: train/mse_loss: 0.003423147241785646 +23-06-13 10:19:25.315 - INFO: epoch: 1209 +23-06-13 10:19:25.315 - INFO: iters: 2872586 +23-06-13 10:22:06.987 - INFO: train/mse_loss: 0.003247879907392398 +23-06-13 10:22:06.989 - INFO: epoch: 1210 +23-06-13 10:22:06.989 - INFO: iters: 2874962 +23-06-13 10:24:48.137 - INFO: train/mse_loss: 0.0026746524399089994 +23-06-13 10:24:48.138 - INFO: epoch: 1211 +23-06-13 10:24:48.138 - INFO: iters: 2877338 +23-06-13 10:27:29.533 - INFO: train/mse_loss: 0.0029429584608910296 +23-06-13 10:27:29.534 - INFO: epoch: 1212 +23-06-13 10:27:29.534 - INFO: iters: 2879714 +23-06-13 10:30:10.352 - INFO: train/mse_loss: 0.0030331273038161333 +23-06-13 10:30:10.352 - INFO: epoch: 1213 +23-06-13 10:30:10.353 - INFO: iters: 2882090 +23-06-13 10:32:51.294 - INFO: train/mse_loss: 0.002790050321416961 +23-06-13 10:32:51.294 - INFO: epoch: 1214 +23-06-13 10:32:51.295 - INFO: iters: 2884466 +23-06-13 10:35:32.486 - INFO: train/mse_loss: 0.0029667001061795296 +23-06-13 10:35:32.486 - INFO: epoch: 1215 +23-06-13 10:35:32.487 - INFO: iters: 2886842 +23-06-13 10:38:14.510 - INFO: train/mse_loss: 0.003207454751759159 +23-06-13 10:38:14.511 - INFO: epoch: 1216 +23-06-13 10:38:14.511 - INFO: iters: 2889218 +23-06-13 10:40:56.224 - INFO: train/mse_loss: 0.002980676563813348 +23-06-13 10:40:56.225 - INFO: epoch: 1217 +23-06-13 10:40:56.225 - INFO: iters: 2891594 +23-06-13 10:43:37.827 - INFO: train/mse_loss: 0.0036112283092299443 +23-06-13 10:43:37.828 - INFO: epoch: 1218 +23-06-13 10:43:37.828 - INFO: iters: 2893970 +23-06-13 10:46:19.040 - INFO: train/mse_loss: 0.0035213256456265193 +23-06-13 10:46:19.040 - INFO: epoch: 1219 +23-06-13 10:46:19.041 - INFO: iters: 2896346 +23-06-13 10:49:00.302 - INFO: train/mse_loss: 0.0028674244156118283 +23-06-13 10:49:00.303 - INFO: epoch: 1220 +23-06-13 10:49:00.303 - INFO: iters: 2898722 +23-06-13 10:51:41.402 - INFO: train/mse_loss: 0.003110280806948948 +23-06-13 10:51:41.403 - INFO: epoch: 1221 +23-06-13 10:51:41.403 - INFO: iters: 2901098 +23-06-13 10:54:22.601 - INFO: train/mse_loss: 0.003273725838997003 +23-06-13 10:54:22.602 - INFO: epoch: 1222 +23-06-13 10:54:22.602 - INFO: iters: 2903474 +23-06-13 10:57:03.686 - INFO: train/mse_loss: 0.0029147352288541404 +23-06-13 10:57:03.687 - INFO: epoch: 1223 +23-06-13 10:57:03.687 - INFO: iters: 2905850 +23-06-13 10:59:44.854 - INFO: train/mse_loss: 0.0033582423672335604 +23-06-13 10:59:44.855 - INFO: epoch: 1224 +23-06-13 10:59:44.855 - INFO: iters: 2908226 +23-06-13 11:02:26.127 - INFO: train/mse_loss: 0.003881316229674388 +23-06-13 11:02:26.127 - INFO: epoch: 1225 +23-06-13 11:02:26.128 - INFO: iters: 2910602 +23-06-13 11:05:07.540 - INFO: train/mse_loss: 0.0030066944779875227 +23-06-13 11:05:07.541 - INFO: epoch: 1226 +23-06-13 11:05:07.541 - INFO: iters: 2912978 +23-06-13 11:07:49.245 - INFO: train/mse_loss: 0.00319790053492967 +23-06-13 11:07:49.246 - INFO: epoch: 1227 +23-06-13 11:07:49.246 - INFO: iters: 2915354 +23-06-13 11:10:30.544 - INFO: train/mse_loss: 0.0031335361951394538 +23-06-13 11:10:30.544 - INFO: epoch: 1228 +23-06-13 11:10:30.544 - INFO: iters: 2917730 +23-06-13 11:13:11.724 - INFO: train/mse_loss: 0.003043757260052694 +23-06-13 11:13:11.725 - INFO: epoch: 1229 +23-06-13 11:13:11.725 - INFO: iters: 2920106 +23-06-13 11:15:52.796 - INFO: train/mse_loss: 0.0031048897547006093 +23-06-13 11:15:52.797 - INFO: epoch: 1230 +23-06-13 11:15:52.797 - INFO: iters: 2922482 +23-06-13 11:18:34.926 - INFO: train/mse_loss: 0.0029803557555239824 +23-06-13 11:18:34.926 - INFO: epoch: 1231 +23-06-13 11:18:34.926 - INFO: iters: 2924858 +23-06-13 11:21:16.515 - INFO: train/mse_loss: 0.0031611766254212646 +23-06-13 11:21:16.516 - INFO: epoch: 1232 +23-06-13 11:21:16.516 - INFO: iters: 2927234 +23-06-13 11:23:57.616 - INFO: train/mse_loss: 0.003463466495537334 +23-06-13 11:23:57.617 - INFO: epoch: 1233 +23-06-13 11:23:57.617 - INFO: iters: 2929610 +23-06-13 11:26:39.023 - INFO: train/mse_loss: 0.0029995835202774315 +23-06-13 11:26:39.024 - INFO: epoch: 1234 +23-06-13 11:26:39.024 - INFO: iters: 2931986 +23-06-13 11:29:21.103 - INFO: train/mse_loss: 0.0029407223172702194 +23-06-13 11:29:21.103 - INFO: epoch: 1235 +23-06-13 11:29:21.103 - INFO: iters: 2934362 +23-06-13 11:32:03.288 - INFO: train/mse_loss: 0.0028904344077513677 +23-06-13 11:32:03.288 - INFO: epoch: 1236 +23-06-13 11:32:03.289 - INFO: iters: 2936738 +23-06-13 11:34:45.093 - INFO: train/mse_loss: 0.0029962766315452505 +23-06-13 11:34:45.094 - INFO: epoch: 1237 +23-06-13 11:34:45.094 - INFO: iters: 2939114 +23-06-13 11:37:26.471 - INFO: train/mse_loss: 0.004131006441072809 +23-06-13 11:37:26.471 - INFO: epoch: 1238 +23-06-13 11:37:26.472 - INFO: iters: 2941490 +23-06-13 11:40:07.815 - INFO: train/mse_loss: 0.0031890852112434367 +23-06-13 11:40:07.815 - INFO: epoch: 1239 +23-06-13 11:40:07.815 - INFO: iters: 2943866 +23-06-13 11:42:48.777 - INFO: train/mse_loss: 0.0028713946369859178 +23-06-13 11:42:48.778 - INFO: epoch: 1240 +23-06-13 11:42:48.778 - INFO: iters: 2946242 +23-06-13 11:45:29.636 - INFO: train/mse_loss: 0.0028987080856345544 +23-06-13 11:45:29.637 - INFO: epoch: 1241 +23-06-13 11:45:29.637 - INFO: iters: 2948618 +23-06-13 11:48:10.506 - INFO: train/mse_loss: 0.0028601152832566537 +23-06-13 11:48:10.506 - INFO: epoch: 1242 +23-06-13 11:48:10.506 - INFO: iters: 2950994 +23-06-13 11:50:52.879 - INFO: train/mse_loss: 0.0027900369969582318 +23-06-13 11:50:52.880 - INFO: epoch: 1243 +23-06-13 11:50:52.880 - INFO: iters: 2953370 +23-06-13 11:53:34.262 - INFO: train/mse_loss: 0.0028886023433784946 +23-06-13 11:53:34.262 - INFO: epoch: 1244 +23-06-13 11:53:34.262 - INFO: iters: 2955746 +23-06-13 11:56:15.406 - INFO: train/mse_loss: 0.0030650983964169857 +23-06-13 11:56:15.407 - INFO: epoch: 1245 +23-06-13 11:56:15.407 - INFO: iters: 2958122 +23-06-13 11:58:56.505 - INFO: train/mse_loss: 0.0035173152024647603 +23-06-13 11:58:56.506 - INFO: epoch: 1246 +23-06-13 11:58:56.506 - INFO: iters: 2960498 +23-06-13 12:01:37.596 - INFO: train/mse_loss: 0.003217743990726468 +23-06-13 12:01:37.596 - INFO: epoch: 1247 +23-06-13 12:01:37.596 - INFO: iters: 2962874 +23-06-13 12:04:18.767 - INFO: train/mse_loss: 0.002921794118831618 +23-06-13 12:04:18.768 - INFO: epoch: 1248 +23-06-13 12:04:18.768 - INFO: iters: 2965250 +23-06-13 12:07:00.073 - INFO: train/mse_loss: 0.0030493160661918296 +23-06-13 12:07:00.073 - INFO: epoch: 1249 +23-06-13 12:07:00.073 - INFO: iters: 2967626 +23-06-13 12:09:40.886 - INFO: train/mse_loss: 0.003160292600784827 +23-06-13 12:09:40.886 - INFO: epoch: 1250 +23-06-13 12:09:40.886 - INFO: iters: 2970002 +23-06-13 12:12:21.749 - INFO: train/mse_loss: 0.0027350728522150492 +23-06-13 12:12:21.750 - INFO: epoch: 1251 +23-06-13 12:12:21.750 - INFO: iters: 2972378 +23-06-13 12:15:03.321 - INFO: train/mse_loss: 0.002565283887931036 +23-06-13 12:15:03.322 - INFO: epoch: 1252 +23-06-13 12:15:03.322 - INFO: iters: 2974754 +23-06-13 12:17:45.566 - INFO: train/mse_loss: 0.002831895336130891 +23-06-13 12:17:45.567 - INFO: epoch: 1253 +23-06-13 12:17:45.567 - INFO: iters: 2977130 +23-06-13 12:20:27.076 - INFO: train/mse_loss: 0.003197385198303407 +23-06-13 12:20:27.076 - INFO: epoch: 1254 +23-06-13 12:20:27.076 - INFO: iters: 2979506 +23-06-13 12:23:08.928 - INFO: train/mse_loss: 0.0029582198563632353 +23-06-13 12:23:08.929 - INFO: epoch: 1255 +23-06-13 12:23:08.929 - INFO: iters: 2981882 +23-06-13 12:25:49.963 - INFO: train/mse_loss: 0.00272983969922212 +23-06-13 12:25:49.963 - INFO: epoch: 1256 +23-06-13 12:25:49.963 - INFO: iters: 2984258 +23-06-13 12:28:31.046 - INFO: train/mse_loss: 0.0028946568965221996 +23-06-13 12:28:31.047 - INFO: epoch: 1257 +23-06-13 12:28:31.047 - INFO: iters: 2986634 +23-06-13 12:31:11.808 - INFO: train/mse_loss: 0.0031084541767609844 +23-06-13 12:31:11.809 - INFO: epoch: 1258 +23-06-13 12:31:11.809 - INFO: iters: 2989010 +23-06-13 12:33:53.178 - INFO: train/mse_loss: 0.0026789906181697654 +23-06-13 12:33:53.179 - INFO: epoch: 1259 +23-06-13 12:33:53.179 - INFO: iters: 2991386 +23-06-13 12:36:34.595 - INFO: train/mse_loss: 0.0030308587815469877 +23-06-13 12:36:34.596 - INFO: epoch: 1260 +23-06-13 12:36:34.596 - INFO: iters: 2993762 +23-06-13 12:39:16.024 - INFO: train/mse_loss: 0.002686541849121715 +23-06-13 12:39:16.025 - INFO: epoch: 1261 +23-06-13 12:39:16.025 - INFO: iters: 2996138 +23-06-13 12:41:56.930 - INFO: train/mse_loss: 0.0029223984324330972 +23-06-13 12:41:56.931 - INFO: epoch: 1262 +23-06-13 12:41:56.931 - INFO: iters: 2998514 +23-06-13 12:44:38.431 - INFO: train/mse_loss: 0.0029134226526660524 +23-06-13 12:44:38.432 - INFO: epoch: 1263 +23-06-13 12:44:38.432 - INFO: iters: 3000890 +23-06-13 12:47:20.306 - INFO: train/mse_loss: 0.0033264841396566983 +23-06-13 12:47:20.307 - INFO: epoch: 1264 +23-06-13 12:47:20.307 - INFO: iters: 3003266 +23-06-13 12:50:02.600 - INFO: train/mse_loss: 0.0035365908534065365 +23-06-13 12:50:02.601 - INFO: epoch: 1265 +23-06-13 12:50:02.601 - INFO: iters: 3005642 +23-06-13 12:52:46.349 - INFO: train/mse_loss: 0.003304954435949148 +23-06-13 12:52:46.350 - INFO: epoch: 1266 +23-06-13 12:52:46.350 - INFO: iters: 3008018 +23-06-13 12:55:27.450 - INFO: train/mse_loss: 0.0025835560784857057 +23-06-13 12:55:27.450 - INFO: epoch: 1267 +23-06-13 12:55:27.450 - INFO: iters: 3010394 +23-06-13 12:58:09.438 - INFO: train/mse_loss: 0.0027309512221317125 +23-06-13 12:58:09.439 - INFO: epoch: 1268 +23-06-13 12:58:09.439 - INFO: iters: 3012770 +23-06-13 13:00:51.086 - INFO: train/mse_loss: 0.0029603195955243073 +23-06-13 13:00:51.087 - INFO: epoch: 1269 +23-06-13 13:00:51.087 - INFO: iters: 3015146 +23-06-13 13:03:33.473 - INFO: train/mse_loss: 0.002861081874774148 +23-06-13 13:03:33.474 - INFO: epoch: 1270 +23-06-13 13:03:33.474 - INFO: iters: 3017522 +23-06-13 13:06:14.898 - INFO: train/mse_loss: 0.0028919934287082454 +23-06-13 13:06:14.898 - INFO: epoch: 1271 +23-06-13 13:06:14.899 - INFO: iters: 3019898 +23-06-13 13:08:55.917 - INFO: train/mse_loss: 0.0029756516118820834 +23-06-13 13:08:55.918 - INFO: epoch: 1272 +23-06-13 13:08:55.918 - INFO: iters: 3022274 +23-06-13 13:11:37.416 - INFO: train/mse_loss: 0.0028615469693697 +23-06-13 13:11:37.417 - INFO: epoch: 1273 +23-06-13 13:11:37.417 - INFO: iters: 3024650 +23-06-13 13:14:18.996 - INFO: train/mse_loss: 0.002920758722331187 +23-06-13 13:14:18.996 - INFO: epoch: 1274 +23-06-13 13:14:18.996 - INFO: iters: 3027026 +23-06-13 13:16:59.822 - INFO: train/mse_loss: 0.0033820847102075577 +23-06-13 13:16:59.822 - INFO: epoch: 1275 +23-06-13 13:16:59.822 - INFO: iters: 3029402 +23-06-13 13:19:42.085 - INFO: train/mse_loss: 0.0028509309597474896 +23-06-13 13:19:42.085 - INFO: epoch: 1276 +23-06-13 13:19:42.085 - INFO: iters: 3031778 +23-06-13 13:22:23.433 - INFO: train/mse_loss: 0.003446547481798181 +23-06-13 13:22:23.434 - INFO: epoch: 1277 +23-06-13 13:22:23.434 - INFO: iters: 3034154 +23-06-13 13:25:04.523 - INFO: train/mse_loss: 0.002809992445372547 +23-06-13 13:25:04.524 - INFO: epoch: 1278 +23-06-13 13:25:04.524 - INFO: iters: 3036530 +23-06-13 13:27:46.232 - INFO: train/mse_loss: 0.003138882596428296 +23-06-13 13:27:46.233 - INFO: epoch: 1279 +23-06-13 13:27:46.233 - INFO: iters: 3038906 +23-06-13 13:30:27.299 - INFO: train/mse_loss: 0.0030832478785589464 +23-06-13 13:30:27.300 - INFO: epoch: 1280 +23-06-13 13:30:27.300 - INFO: iters: 3041282 +23-06-13 13:33:08.427 - INFO: train/mse_loss: 0.0033897292990941455 +23-06-13 13:33:08.428 - INFO: epoch: 1281 +23-06-13 13:33:08.429 - INFO: iters: 3043658 +23-06-13 13:35:49.849 - INFO: train/mse_loss: 0.0027302227762836637 +23-06-13 13:35:49.849 - INFO: epoch: 1282 +23-06-13 13:35:49.850 - INFO: iters: 3046034 +23-06-13 13:38:31.842 - INFO: train/mse_loss: 0.0029862671708358883 +23-06-13 13:38:31.843 - INFO: epoch: 1283 +23-06-13 13:38:31.843 - INFO: iters: 3048410 +23-06-13 13:41:13.597 - INFO: train/mse_loss: 0.0030848899111857245 +23-06-13 13:41:13.598 - INFO: epoch: 1284 +23-06-13 13:41:13.598 - INFO: iters: 3050786 +23-06-13 13:43:54.715 - INFO: train/mse_loss: 0.0032020657180623475 +23-06-13 13:43:54.716 - INFO: epoch: 1285 +23-06-13 13:43:54.716 - INFO: iters: 3053162 +23-06-13 13:46:36.464 - INFO: train/mse_loss: 0.002740250895488129 +23-06-13 13:46:36.465 - INFO: epoch: 1286 +23-06-13 13:46:36.465 - INFO: iters: 3055538 +23-06-13 13:49:18.546 - INFO: train/mse_loss: 0.003400897969192314 +23-06-13 13:49:18.546 - INFO: epoch: 1287 +23-06-13 13:49:18.546 - INFO: iters: 3057914 +23-06-13 13:51:59.644 - INFO: train/mse_loss: 0.0029611662862178015 +23-06-13 13:51:59.645 - INFO: epoch: 1288 +23-06-13 13:51:59.645 - INFO: iters: 3060290 +23-06-13 13:54:40.558 - INFO: train/mse_loss: 0.0029760823801264907 +23-06-13 13:54:40.559 - INFO: epoch: 1289 +23-06-13 13:54:40.559 - INFO: iters: 3062666 +23-06-13 13:57:21.546 - INFO: train/mse_loss: 0.0033063270037551645 +23-06-13 13:57:21.547 - INFO: epoch: 1290 +23-06-13 13:57:21.547 - INFO: iters: 3065042 +23-06-13 14:00:03.420 - INFO: train/mse_loss: 0.003301484193884131 +23-06-13 14:00:03.421 - INFO: epoch: 1291 +23-06-13 14:00:03.421 - INFO: iters: 3067418 +23-06-13 14:02:44.281 - INFO: train/mse_loss: 0.0034400125227983013 +23-06-13 14:02:44.281 - INFO: epoch: 1292 +23-06-13 14:02:44.281 - INFO: iters: 3069794 +23-06-13 14:05:24.874 - INFO: train/mse_loss: 0.00293090786574791 +23-06-13 14:05:24.875 - INFO: epoch: 1293 +23-06-13 14:05:24.875 - INFO: iters: 3072170 +23-06-13 14:08:05.852 - INFO: train/mse_loss: 0.0028149120811246 +23-06-13 14:08:05.852 - INFO: epoch: 1294 +23-06-13 14:08:05.853 - INFO: iters: 3074546 +23-06-13 14:10:47.526 - INFO: train/mse_loss: 0.0028223995685143087 +23-06-13 14:10:47.526 - INFO: epoch: 1295 +23-06-13 14:10:47.526 - INFO: iters: 3076922 +23-06-13 14:13:28.870 - INFO: train/mse_loss: 0.002457562182275014 +23-06-13 14:13:28.873 - INFO: epoch: 1296 +23-06-13 14:13:28.873 - INFO: iters: 3079298 +23-06-13 14:16:10.452 - INFO: train/mse_loss: 0.003261959131925464 +23-06-13 14:16:10.453 - INFO: epoch: 1297 +23-06-13 14:16:10.453 - INFO: iters: 3081674 +23-06-13 14:18:51.793 - INFO: train/mse_loss: 0.0025929667865810446 +23-06-13 14:18:51.793 - INFO: epoch: 1298 +23-06-13 14:18:51.793 - INFO: iters: 3084050 +23-06-13 14:21:33.109 - INFO: train/mse_loss: 0.002861541330282065 +23-06-13 14:21:33.110 - INFO: epoch: 1299 +23-06-13 14:21:33.110 - INFO: iters: 3086426 +23-06-13 14:24:14.380 - INFO: train/mse_loss: 0.0030223940605350994 +23-06-13 14:24:14.381 - INFO: epoch: 1300 +23-06-13 14:24:14.381 - INFO: iters: 3088802 +23-06-13 14:26:55.735 - INFO: train/mse_loss: 0.0037024422096573004 +23-06-13 14:26:55.736 - INFO: epoch: 1301 +23-06-13 14:26:55.736 - INFO: iters: 3091178 +23-06-13 14:29:36.761 - INFO: train/mse_loss: 0.0029197672394932145 +23-06-13 14:29:36.762 - INFO: epoch: 1302 +23-06-13 14:29:36.762 - INFO: iters: 3093554 +23-06-13 14:32:18.146 - INFO: train/mse_loss: 0.0024951869561705385 +23-06-13 14:32:18.146 - INFO: epoch: 1303 +23-06-13 14:32:18.147 - INFO: iters: 3095930 +23-06-13 14:34:58.903 - INFO: train/mse_loss: 0.00292196324658 +23-06-13 14:34:58.904 - INFO: epoch: 1304 +23-06-13 14:34:58.904 - INFO: iters: 3098306 +23-06-13 14:37:39.724 - INFO: train/mse_loss: 0.0024802097490195323 +23-06-13 14:37:39.725 - INFO: epoch: 1305 +23-06-13 14:37:39.725 - INFO: iters: 3100682 +23-06-13 14:40:21.032 - INFO: train/mse_loss: 0.0030624293514467803 +23-06-13 14:40:21.033 - INFO: epoch: 1306 +23-06-13 14:40:21.033 - INFO: iters: 3103058 +23-06-13 14:43:02.160 - INFO: train/mse_loss: 0.0033329643593491163 +23-06-13 14:43:02.161 - INFO: epoch: 1307 +23-06-13 14:43:02.161 - INFO: iters: 3105434 +23-06-13 14:45:43.278 - INFO: train/mse_loss: 0.0031702079726320374 +23-06-13 14:45:43.278 - INFO: epoch: 1308 +23-06-13 14:45:43.278 - INFO: iters: 3107810 +23-06-13 14:48:24.375 - INFO: train/mse_loss: 0.002647763687093438 +23-06-13 14:48:24.376 - INFO: epoch: 1309 +23-06-13 14:48:24.376 - INFO: iters: 3110186 +23-06-13 14:51:05.335 - INFO: train/mse_loss: 0.003258413940441547 +23-06-13 14:51:05.335 - INFO: epoch: 1310 +23-06-13 14:51:05.335 - INFO: iters: 3112562 +23-06-13 14:53:46.305 - INFO: train/mse_loss: 0.003176296514248074 +23-06-13 14:53:46.306 - INFO: epoch: 1311 +23-06-13 14:53:46.306 - INFO: iters: 3114938 +23-06-13 14:56:27.302 - INFO: train/mse_loss: 0.003204293356407183 +23-06-13 14:56:27.303 - INFO: epoch: 1312 +23-06-13 14:56:27.303 - INFO: iters: 3117314 +23-06-13 14:59:08.380 - INFO: train/mse_loss: 0.003339516065006618 +23-06-13 14:59:08.380 - INFO: epoch: 1313 +23-06-13 14:59:08.380 - INFO: iters: 3119690 +23-06-13 15:01:50.013 - INFO: train/mse_loss: 0.0029331099704301505 +23-06-13 15:01:50.014 - INFO: epoch: 1314 +23-06-13 15:01:50.014 - INFO: iters: 3122066 +23-06-13 15:04:31.945 - INFO: train/mse_loss: 0.002881905157569802 +23-06-13 15:04:31.946 - INFO: epoch: 1315 +23-06-13 15:04:31.946 - INFO: iters: 3124442 +23-06-13 15:07:12.586 - INFO: train/mse_loss: 0.0025673062736184184 +23-06-13 15:07:12.586 - INFO: epoch: 1316 +23-06-13 15:07:12.586 - INFO: iters: 3126818 +23-06-13 15:09:53.743 - INFO: train/mse_loss: 0.0027716750563639733 +23-06-13 15:09:53.744 - INFO: epoch: 1317 +23-06-13 15:09:53.744 - INFO: iters: 3129194 +23-06-13 15:12:35.087 - INFO: train/mse_loss: 0.002892666622649044 +23-06-13 15:12:35.088 - INFO: epoch: 1318 +23-06-13 15:12:35.088 - INFO: iters: 3131570 +23-06-13 15:15:16.478 - INFO: train/mse_loss: 0.0025402180588277377 +23-06-13 15:15:16.478 - INFO: epoch: 1319 +23-06-13 15:15:16.479 - INFO: iters: 3133946 +23-06-13 15:17:57.743 - INFO: train/mse_loss: 0.0028998743201196758 +23-06-13 15:17:57.743 - INFO: epoch: 1320 +23-06-13 15:17:57.743 - INFO: iters: 3136322 +23-06-13 15:20:39.098 - INFO: train/mse_loss: 0.002846940565401193 +23-06-13 15:20:39.099 - INFO: epoch: 1321 +23-06-13 15:20:39.099 - INFO: iters: 3138698 +23-06-13 15:23:20.346 - INFO: train/mse_loss: 0.0027396262962228433 +23-06-13 15:23:20.347 - INFO: epoch: 1322 +23-06-13 15:23:20.347 - INFO: iters: 3141074 +23-06-13 15:26:01.656 - INFO: train/mse_loss: 0.0028289579233681463 +23-06-13 15:26:01.657 - INFO: epoch: 1323 +23-06-13 15:26:01.657 - INFO: iters: 3143450 +23-06-13 15:28:43.207 - INFO: train/mse_loss: 0.0032256274458227884 +23-06-13 15:28:43.208 - INFO: epoch: 1324 +23-06-13 15:28:43.208 - INFO: iters: 3145826 +23-06-13 15:31:24.270 - INFO: train/mse_loss: 0.0025043915236966138 +23-06-13 15:31:24.271 - INFO: epoch: 1325 +23-06-13 15:31:24.271 - INFO: iters: 3148202 +23-06-13 15:34:06.045 - INFO: train/mse_loss: 0.003034367375013102 +23-06-13 15:34:06.045 - INFO: epoch: 1326 +23-06-13 15:34:06.045 - INFO: iters: 3150578 +23-06-13 15:36:46.817 - INFO: train/mse_loss: 0.0024465023302230105 +23-06-13 15:36:46.819 - INFO: epoch: 1327 +23-06-13 15:36:46.819 - INFO: iters: 3152954 +23-06-13 15:39:28.139 - INFO: train/mse_loss: 0.0030390550153132417 +23-06-13 15:39:28.139 - INFO: epoch: 1328 +23-06-13 15:39:28.139 - INFO: iters: 3155330 +23-06-13 15:42:09.562 - INFO: train/mse_loss: 0.00287923121698254 +23-06-13 15:42:09.563 - INFO: epoch: 1329 +23-06-13 15:42:09.563 - INFO: iters: 3157706 +23-06-13 15:44:51.457 - INFO: train/mse_loss: 0.003392193579606505 +23-06-13 15:44:51.458 - INFO: epoch: 1330 +23-06-13 15:44:51.458 - INFO: iters: 3160082 +23-06-13 15:47:33.134 - INFO: train/mse_loss: 0.002691841083586605 +23-06-13 15:47:33.135 - INFO: epoch: 1331 +23-06-13 15:47:33.135 - INFO: iters: 3162458 +23-06-13 15:50:14.408 - INFO: train/mse_loss: 0.0029553144885836992 +23-06-13 15:50:14.409 - INFO: epoch: 1332 +23-06-13 15:50:14.409 - INFO: iters: 3164834 +23-06-13 15:52:55.891 - INFO: train/mse_loss: 0.0025035472449953184 +23-06-13 15:52:55.892 - INFO: epoch: 1333 +23-06-13 15:52:55.892 - INFO: iters: 3167210 +23-06-13 15:55:36.945 - INFO: train/mse_loss: 0.002565990361269024 +23-06-13 15:55:36.946 - INFO: epoch: 1334 +23-06-13 15:55:36.946 - INFO: iters: 3169586 +23-06-13 15:58:18.349 - INFO: train/mse_loss: 0.002622164410353961 +23-06-13 15:58:18.350 - INFO: epoch: 1335 +23-06-13 15:58:18.350 - INFO: iters: 3171962 +23-06-13 16:00:59.250 - INFO: train/mse_loss: 0.0027148839545291957 +23-06-13 16:00:59.251 - INFO: epoch: 1336 +23-06-13 16:00:59.251 - INFO: iters: 3174338 +23-06-13 16:03:41.213 - INFO: train/mse_loss: 0.0027565975195880327 +23-06-13 16:03:41.214 - INFO: epoch: 1337 +23-06-13 16:03:41.214 - INFO: iters: 3176714 +23-06-13 16:06:24.635 - INFO: train/mse_loss: 0.0029696499061988672 +23-06-13 16:06:24.637 - INFO: epoch: 1338 +23-06-13 16:06:24.637 - INFO: iters: 3179090 +23-06-13 16:09:06.811 - INFO: train/mse_loss: 0.0030170207187025385 +23-06-13 16:09:06.812 - INFO: epoch: 1339 +23-06-13 16:09:06.812 - INFO: iters: 3181466 +23-06-13 16:11:49.891 - INFO: train/mse_loss: 0.0025179638638653436 +23-06-13 16:11:49.891 - INFO: epoch: 1340 +23-06-13 16:11:49.891 - INFO: iters: 3183842 +23-06-13 16:14:30.900 - INFO: train/mse_loss: 0.002909757651099371 +23-06-13 16:14:30.901 - INFO: epoch: 1341 +23-06-13 16:14:30.901 - INFO: iters: 3186218 +23-06-13 16:17:12.269 - INFO: train/mse_loss: 0.0027427889316723767 +23-06-13 16:17:12.269 - INFO: epoch: 1342 +23-06-13 16:17:12.270 - INFO: iters: 3188594 +23-06-13 16:19:53.037 - INFO: train/mse_loss: 0.002857272503607489 +23-06-13 16:19:53.037 - INFO: epoch: 1343 +23-06-13 16:19:53.037 - INFO: iters: 3190970 +23-06-13 16:22:33.721 - INFO: train/mse_loss: 0.0029882540470083253 +23-06-13 16:22:33.721 - INFO: epoch: 1344 +23-06-13 16:22:33.721 - INFO: iters: 3193346 +23-06-13 16:25:14.836 - INFO: train/mse_loss: 0.002698359560313155 +23-06-13 16:25:14.837 - INFO: epoch: 1345 +23-06-13 16:25:14.838 - INFO: iters: 3195722 +23-06-13 16:27:56.207 - INFO: train/mse_loss: 0.0026979300491190407 +23-06-13 16:27:56.207 - INFO: epoch: 1346 +23-06-13 16:27:56.207 - INFO: iters: 3198098 +23-06-13 16:30:37.023 - INFO: train/mse_loss: 0.0026557211373557936 +23-06-13 16:30:37.024 - INFO: epoch: 1347 +23-06-13 16:30:37.024 - INFO: iters: 3200474 +23-06-13 16:33:19.157 - INFO: train/mse_loss: 0.0032463607873951055 +23-06-13 16:33:19.158 - INFO: epoch: 1348 +23-06-13 16:33:19.158 - INFO: iters: 3202850 +23-06-13 16:36:00.564 - INFO: train/mse_loss: 0.0029965133817987173 +23-06-13 16:36:00.565 - INFO: epoch: 1349 +23-06-13 16:36:00.565 - INFO: iters: 3205226 +23-06-13 16:38:41.529 - INFO: train/mse_loss: 0.002901686343908473 +23-06-13 16:38:41.530 - INFO: epoch: 1350 +23-06-13 16:38:41.530 - INFO: iters: 3207602 +23-06-13 16:41:23.124 - INFO: train/mse_loss: 0.003171707991305237 +23-06-13 16:41:23.125 - INFO: epoch: 1351 +23-06-13 16:41:23.125 - INFO: iters: 3209978 +23-06-13 16:44:04.423 - INFO: train/mse_loss: 0.002780330064980884 +23-06-13 16:44:04.423 - INFO: epoch: 1352 +23-06-13 16:44:04.423 - INFO: iters: 3212354 +23-06-13 16:46:46.080 - INFO: train/mse_loss: 0.002804020159350244 +23-06-13 16:46:46.081 - INFO: epoch: 1353 +23-06-13 16:46:46.081 - INFO: iters: 3214730 +23-06-13 16:49:27.420 - INFO: train/mse_loss: 0.00275489190175521 +23-06-13 16:49:27.421 - INFO: epoch: 1354 +23-06-13 16:49:27.421 - INFO: iters: 3217106 +23-06-13 16:52:08.423 - INFO: train/mse_loss: 0.002434762520676397 +23-06-13 16:52:08.423 - INFO: epoch: 1355 +23-06-13 16:52:08.423 - INFO: iters: 3219482 +23-06-13 16:54:49.193 - INFO: train/mse_loss: 0.003005190009074066 +23-06-13 16:54:49.193 - INFO: epoch: 1356 +23-06-13 16:54:49.193 - INFO: iters: 3221858 +23-06-13 16:57:30.048 - INFO: train/mse_loss: 0.002965678392497114 +23-06-13 16:57:30.049 - INFO: epoch: 1357 +23-06-13 16:57:30.049 - INFO: iters: 3224234 +23-06-13 17:00:10.923 - INFO: train/mse_loss: 0.0030038694209052305 +23-06-13 17:00:10.923 - INFO: epoch: 1358 +23-06-13 17:00:10.923 - INFO: iters: 3226610 +23-06-13 17:02:51.722 - INFO: train/mse_loss: 0.0027568246540143108 +23-06-13 17:02:51.723 - INFO: epoch: 1359 +23-06-13 17:02:51.724 - INFO: iters: 3228986 +23-06-13 17:05:34.077 - INFO: train/mse_loss: 0.0028622240177551693 +23-06-13 17:05:34.078 - INFO: epoch: 1360 +23-06-13 17:05:34.078 - INFO: iters: 3231362 +23-06-13 17:08:15.601 - INFO: train/mse_loss: 0.002852382362872732 +23-06-13 17:08:15.602 - INFO: epoch: 1361 +23-06-13 17:08:15.602 - INFO: iters: 3233738 +23-06-13 17:10:57.129 - INFO: train/mse_loss: 0.0026605969861499424 +23-06-13 17:10:57.130 - INFO: epoch: 1362 +23-06-13 17:10:57.130 - INFO: iters: 3236114 +23-06-13 17:13:38.200 - INFO: train/mse_loss: 0.003169115438550924 +23-06-13 17:13:38.201 - INFO: epoch: 1363 +23-06-13 17:13:38.202 - INFO: iters: 3238490 +23-06-13 17:16:19.567 - INFO: train/mse_loss: 0.002780716012346461 +23-06-13 17:16:19.568 - INFO: epoch: 1364 +23-06-13 17:16:19.568 - INFO: iters: 3240866 +23-06-13 17:19:00.930 - INFO: train/mse_loss: 0.0025549791571025673 +23-06-13 17:19:00.930 - INFO: epoch: 1365 +23-06-13 17:19:00.930 - INFO: iters: 3243242 +23-06-13 17:21:42.682 - INFO: train/mse_loss: 0.002595160599905364 +23-06-13 17:21:42.683 - INFO: epoch: 1366 +23-06-13 17:21:42.683 - INFO: iters: 3245618 +23-06-13 17:24:23.468 - INFO: train/mse_loss: 0.0034008436047069115 +23-06-13 17:24:23.469 - INFO: epoch: 1367 +23-06-13 17:24:23.470 - INFO: iters: 3247994 +23-06-13 17:27:04.638 - INFO: train/mse_loss: 0.0027020180691778345 +23-06-13 17:27:04.639 - INFO: epoch: 1368 +23-06-13 17:27:04.639 - INFO: iters: 3250370 +23-06-13 17:29:45.738 - INFO: train/mse_loss: 0.0026209903143068793 +23-06-13 17:29:45.739 - INFO: epoch: 1369 +23-06-13 17:29:45.739 - INFO: iters: 3252746 +23-06-13 17:32:26.920 - INFO: train/mse_loss: 0.0030926544720390092 +23-06-13 17:32:26.920 - INFO: epoch: 1370 +23-06-13 17:32:26.921 - INFO: iters: 3255122 +23-06-13 17:35:09.734 - INFO: train/mse_loss: 0.003284808662496601 +23-06-13 17:35:09.735 - INFO: epoch: 1371 +23-06-13 17:35:09.735 - INFO: iters: 3257498 +23-06-13 17:37:50.982 - INFO: train/mse_loss: 0.0025824208102802047 +23-06-13 17:37:50.983 - INFO: epoch: 1372 +23-06-13 17:37:50.983 - INFO: iters: 3259874 +23-06-13 17:40:32.799 - INFO: train/mse_loss: 0.0024235050139285513 +23-06-13 17:40:32.800 - INFO: epoch: 1373 +23-06-13 17:40:32.801 - INFO: iters: 3262250 +23-06-13 17:43:16.947 - INFO: train/mse_loss: 0.002459072900378625 +23-06-13 17:43:16.947 - INFO: epoch: 1374 +23-06-13 17:43:16.947 - INFO: iters: 3264626 +23-06-13 17:45:59.110 - INFO: train/mse_loss: 0.003274724399259389 +23-06-13 17:45:59.110 - INFO: epoch: 1375 +23-06-13 17:45:59.111 - INFO: iters: 3267002 +23-06-13 17:48:40.496 - INFO: train/mse_loss: 0.003134391214134115 +23-06-13 17:48:40.497 - INFO: epoch: 1376 +23-06-13 17:48:40.498 - INFO: iters: 3269378 +23-06-13 17:51:21.634 - INFO: train/mse_loss: 0.0033070339124746974 +23-06-13 17:51:21.634 - INFO: epoch: 1377 +23-06-13 17:51:21.634 - INFO: iters: 3271754 +23-06-13 17:54:03.494 - INFO: train/mse_loss: 0.0030032018695798036 +23-06-13 17:54:03.495 - INFO: epoch: 1378 +23-06-13 17:54:03.495 - INFO: iters: 3274130 +23-06-13 17:56:44.267 - INFO: train/mse_loss: 0.002705833911880073 +23-06-13 17:56:44.267 - INFO: epoch: 1379 +23-06-13 17:56:44.267 - INFO: iters: 3276506 +23-06-13 17:59:26.467 - INFO: train/mse_loss: 0.002674027529418914 +23-06-13 17:59:26.468 - INFO: epoch: 1380 +23-06-13 17:59:26.468 - INFO: iters: 3278882 +23-06-13 18:02:07.546 - INFO: train/mse_loss: 0.002466197814306351 +23-06-13 18:02:07.546 - INFO: epoch: 1381 +23-06-13 18:02:07.546 - INFO: iters: 3281258 +23-06-13 18:04:48.356 - INFO: train/mse_loss: 0.0030705905099037206 +23-06-13 18:04:48.356 - INFO: epoch: 1382 +23-06-13 18:04:48.357 - INFO: iters: 3283634 +23-06-13 18:07:29.446 - INFO: train/mse_loss: 0.0027204511416895685 +23-06-13 18:07:29.448 - INFO: epoch: 1383 +23-06-13 18:07:29.448 - INFO: iters: 3286010 +23-06-13 18:10:10.395 - INFO: train/mse_loss: 0.0028015088078507883 +23-06-13 18:10:10.397 - INFO: epoch: 1384 +23-06-13 18:10:10.397 - INFO: iters: 3288386 +23-06-13 18:12:51.598 - INFO: train/mse_loss: 0.0023600361800888985 +23-06-13 18:12:51.599 - INFO: epoch: 1385 +23-06-13 18:12:51.599 - INFO: iters: 3290762 +23-06-13 18:15:33.147 - INFO: train/mse_loss: 0.002756938113680467 +23-06-13 18:15:33.148 - INFO: epoch: 1386 +23-06-13 18:15:33.148 - INFO: iters: 3293138 +23-06-13 18:18:15.109 - INFO: train/mse_loss: 0.0031873341779121095 +23-06-13 18:18:15.109 - INFO: epoch: 1387 +23-06-13 18:18:15.110 - INFO: iters: 3295514 +23-06-13 18:20:56.081 - INFO: train/mse_loss: 0.0035268009180886677 +23-06-13 18:20:56.082 - INFO: epoch: 1388 +23-06-13 18:20:56.082 - INFO: iters: 3297890 +23-06-13 18:23:36.899 - INFO: train/mse_loss: 0.0030148377670845337 +23-06-13 18:23:36.899 - INFO: epoch: 1389 +23-06-13 18:23:36.899 - INFO: iters: 3300266 +23-06-13 18:26:17.982 - INFO: train/mse_loss: 0.0030467552358287727 +23-06-13 18:26:17.983 - INFO: epoch: 1390 +23-06-13 18:26:17.983 - INFO: iters: 3302642 +23-06-13 18:28:59.468 - INFO: train/mse_loss: 0.002653019051404626 +23-06-13 18:28:59.468 - INFO: epoch: 1391 +23-06-13 18:28:59.469 - INFO: iters: 3305018 +23-06-13 18:31:40.733 - INFO: train/mse_loss: 0.0028725930005319804 +23-06-13 18:31:40.733 - INFO: epoch: 1392 +23-06-13 18:31:40.734 - INFO: iters: 3307394 +23-06-13 18:34:22.036 - INFO: train/mse_loss: 0.002876690999480899 +23-06-13 18:34:22.036 - INFO: epoch: 1393 +23-06-13 18:34:22.037 - INFO: iters: 3309770 +23-06-13 18:37:03.141 - INFO: train/mse_loss: 0.002563518493476258 +23-06-13 18:37:03.142 - INFO: epoch: 1394 +23-06-13 18:37:03.142 - INFO: iters: 3312146 +23-06-13 18:39:44.573 - INFO: train/mse_loss: 0.0028026545075746723 +23-06-13 18:39:44.573 - INFO: epoch: 1395 +23-06-13 18:39:44.573 - INFO: iters: 3314522 +23-06-13 18:42:25.790 - INFO: train/mse_loss: 0.0025061297583980143 +23-06-13 18:42:25.791 - INFO: epoch: 1396 +23-06-13 18:42:25.791 - INFO: iters: 3316898 +23-06-13 18:45:07.259 - INFO: train/mse_loss: 0.002861103634248089 +23-06-13 18:45:07.260 - INFO: epoch: 1397 +23-06-13 18:45:07.261 - INFO: iters: 3319274 +23-06-13 18:47:49.289 - INFO: train/mse_loss: 0.0024150834026470504 +23-06-13 18:47:49.290 - INFO: epoch: 1398 +23-06-13 18:47:49.290 - INFO: iters: 3321650 +23-06-13 18:50:30.380 - INFO: train/mse_loss: 0.002591413776006123 +23-06-13 18:50:30.380 - INFO: epoch: 1399 +23-06-13 18:50:30.380 - INFO: iters: 3324026 +23-06-13 18:53:11.438 - INFO: train/mse_loss: 0.0026928195029203954 +23-06-13 18:53:11.439 - INFO: epoch: 1400 +23-06-13 18:53:11.439 - INFO: iters: 3326402 +23-06-13 18:55:52.862 - INFO: train/mse_loss: 0.0028395630116064903 +23-06-13 18:55:52.862 - INFO: epoch: 1401 +23-06-13 18:55:52.862 - INFO: iters: 3328778 +23-06-13 18:58:33.961 - INFO: train/mse_loss: 0.0035128324729255603 +23-06-13 18:58:33.961 - INFO: epoch: 1402 +23-06-13 18:58:33.961 - INFO: iters: 3331154 +23-06-13 19:01:15.525 - INFO: train/mse_loss: 0.0023900390372757394 +23-06-13 19:01:15.525 - INFO: epoch: 1403 +23-06-13 19:01:15.525 - INFO: iters: 3333530 +23-06-13 19:03:57.427 - INFO: train/mse_loss: 0.002502513473703736 +23-06-13 19:03:57.428 - INFO: epoch: 1404 +23-06-13 19:03:57.428 - INFO: iters: 3335906 +23-06-13 19:06:38.435 - INFO: train/mse_loss: 0.002988108155581793 +23-06-13 19:06:38.436 - INFO: epoch: 1405 +23-06-13 19:06:38.437 - INFO: iters: 3338282 +23-06-13 19:09:20.091 - INFO: train/mse_loss: 0.0026941656205381396 +23-06-13 19:09:20.093 - INFO: epoch: 1406 +23-06-13 19:09:20.094 - INFO: iters: 3340658 +23-06-13 19:12:01.349 - INFO: train/mse_loss: 0.0026676387502380682 +23-06-13 19:12:01.349 - INFO: epoch: 1407 +23-06-13 19:12:01.349 - INFO: iters: 3343034 +23-06-13 19:14:43.342 - INFO: train/mse_loss: 0.0029545444308236076 +23-06-13 19:14:43.343 - INFO: epoch: 1408 +23-06-13 19:14:43.343 - INFO: iters: 3345410 +23-06-13 19:17:24.433 - INFO: train/mse_loss: 0.002932647546527512 +23-06-13 19:17:24.434 - INFO: epoch: 1409 +23-06-13 19:17:24.434 - INFO: iters: 3347786 +23-06-13 19:20:05.796 - INFO: train/mse_loss: 0.00303374491816211 +23-06-13 19:20:05.797 - INFO: epoch: 1410 +23-06-13 19:20:05.797 - INFO: iters: 3350162 +23-06-13 19:22:46.779 - INFO: train/mse_loss: 0.0026330689759297855 +23-06-13 19:22:46.780 - INFO: epoch: 1411 +23-06-13 19:22:46.780 - INFO: iters: 3352538 +23-06-13 19:25:27.668 - INFO: train/mse_loss: 0.0031112584023601578 +23-06-13 19:25:27.669 - INFO: epoch: 1412 +23-06-13 19:25:27.669 - INFO: iters: 3354914 +23-06-13 19:28:09.000 - INFO: train/mse_loss: 0.00316636162656767 +23-06-13 19:28:09.001 - INFO: epoch: 1413 +23-06-13 19:28:09.001 - INFO: iters: 3357290 +23-06-13 19:30:50.393 - INFO: train/mse_loss: 0.002391240370588421 +23-06-13 19:30:50.393 - INFO: epoch: 1414 +23-06-13 19:30:50.394 - INFO: iters: 3359666 +23-06-13 19:33:31.985 - INFO: train/mse_loss: 0.002778684749402833 +23-06-13 19:33:31.986 - INFO: epoch: 1415 +23-06-13 19:33:31.986 - INFO: iters: 3362042 +23-06-13 19:36:13.196 - INFO: train/mse_loss: 0.002907705985096688 +23-06-13 19:36:13.197 - INFO: epoch: 1416 +23-06-13 19:36:13.197 - INFO: iters: 3364418 +23-06-13 19:38:53.966 - INFO: train/mse_loss: 0.0030204299207257815 +23-06-13 19:38:53.967 - INFO: epoch: 1417 +23-06-13 19:38:53.967 - INFO: iters: 3366794 +23-06-13 19:41:35.235 - INFO: train/mse_loss: 0.0025600080467722934 +23-06-13 19:41:35.237 - INFO: epoch: 1418 +23-06-13 19:41:35.237 - INFO: iters: 3369170 +23-06-13 19:44:16.398 - INFO: train/mse_loss: 0.00241854368061884 +23-06-13 19:44:16.399 - INFO: epoch: 1419 +23-06-13 19:44:16.399 - INFO: iters: 3371546 +23-06-13 19:46:58.272 - INFO: train/mse_loss: 0.003063631333961067 +23-06-13 19:46:58.273 - INFO: epoch: 1420 +23-06-13 19:46:58.273 - INFO: iters: 3373922 +23-06-13 19:49:39.416 - INFO: train/mse_loss: 0.002369929295051247 +23-06-13 19:49:39.417 - INFO: epoch: 1421 +23-06-13 19:49:39.417 - INFO: iters: 3376298 +23-06-13 19:52:20.213 - INFO: train/mse_loss: 0.0022699752750395723 +23-06-13 19:52:20.213 - INFO: epoch: 1422 +23-06-13 19:52:20.213 - INFO: iters: 3378674 +23-06-13 19:55:01.164 - INFO: train/mse_loss: 0.002528970605150486 +23-06-13 19:55:01.164 - INFO: epoch: 1423 +23-06-13 19:55:01.164 - INFO: iters: 3381050 +23-06-13 19:57:42.246 - INFO: train/mse_loss: 0.0036913849091390932 +23-06-13 19:57:42.247 - INFO: epoch: 1424 +23-06-13 19:57:42.247 - INFO: iters: 3383426 +23-06-13 20:00:23.473 - INFO: train/mse_loss: 0.0028084051679280473 +23-06-13 20:00:23.474 - INFO: epoch: 1425 +23-06-13 20:00:23.474 - INFO: iters: 3385802 +23-06-13 20:03:04.589 - INFO: train/mse_loss: 0.0032115735240815274 +23-06-13 20:03:04.590 - INFO: epoch: 1426 +23-06-13 20:03:04.590 - INFO: iters: 3388178 +23-06-13 20:05:45.624 - INFO: train/mse_loss: 0.003295982692109245 +23-06-13 20:05:45.625 - INFO: epoch: 1427 +23-06-13 20:05:45.625 - INFO: iters: 3390554 +23-06-13 20:08:28.219 - INFO: train/mse_loss: 0.0033216534865634383 +23-06-13 20:08:28.220 - INFO: epoch: 1428 +23-06-13 20:08:28.221 - INFO: iters: 3392930 +23-06-13 20:11:09.688 - INFO: train/mse_loss: 0.0028025397286328617 +23-06-13 20:11:09.689 - INFO: epoch: 1429 +23-06-13 20:11:09.689 - INFO: iters: 3395306 +23-06-13 20:13:50.623 - INFO: train/mse_loss: 0.0025031383796861578 +23-06-13 20:13:50.623 - INFO: epoch: 1430 +23-06-13 20:13:50.623 - INFO: iters: 3397682 +23-06-13 20:16:31.802 - INFO: train/mse_loss: 0.002715470684321459 +23-06-13 20:16:31.803 - INFO: epoch: 1431 +23-06-13 20:16:31.803 - INFO: iters: 3400058 +23-06-13 20:19:13.051 - INFO: train/mse_loss: 0.002694794978818665 +23-06-13 20:19:13.052 - INFO: epoch: 1432 +23-06-13 20:19:13.052 - INFO: iters: 3402434 +23-06-13 20:21:53.877 - INFO: train/mse_loss: 0.0033491734815690893 +23-06-13 20:21:53.878 - INFO: epoch: 1433 +23-06-13 20:21:53.878 - INFO: iters: 3404810 +23-06-13 20:24:34.905 - INFO: train/mse_loss: 0.0030933777862055985 +23-06-13 20:24:34.906 - INFO: epoch: 1434 +23-06-13 20:24:34.906 - INFO: iters: 3407186 +23-06-13 20:27:16.423 - INFO: train/mse_loss: 0.002576567181260623 +23-06-13 20:27:16.424 - INFO: epoch: 1435 +23-06-13 20:27:16.424 - INFO: iters: 3409562 +23-06-13 20:29:58.030 - INFO: train/mse_loss: 0.0036941229715403987 +23-06-13 20:29:58.031 - INFO: epoch: 1436 +23-06-13 20:29:58.031 - INFO: iters: 3411938 +23-06-13 20:32:39.646 - INFO: train/mse_loss: 0.0029135883319535002 +23-06-13 20:32:39.647 - INFO: epoch: 1437 +23-06-13 20:32:39.647 - INFO: iters: 3414314 +23-06-13 20:35:20.471 - INFO: train/mse_loss: 0.0024631756905823796 +23-06-13 20:35:20.472 - INFO: epoch: 1438 +23-06-13 20:35:20.472 - INFO: iters: 3416690 +23-06-13 20:38:01.519 - INFO: train/mse_loss: 0.002719426211298942 +23-06-13 20:38:01.520 - INFO: epoch: 1439 +23-06-13 20:38:01.520 - INFO: iters: 3419066 +23-06-13 20:40:42.427 - INFO: train/mse_loss: 0.0027191094357029593 +23-06-13 20:40:42.428 - INFO: epoch: 1440 +23-06-13 20:40:42.428 - INFO: iters: 3421442 +23-06-13 20:43:24.098 - INFO: train/mse_loss: 0.0029465067001927473 +23-06-13 20:43:24.099 - INFO: epoch: 1441 +23-06-13 20:43:24.099 - INFO: iters: 3423818 +23-06-13 20:46:05.287 - INFO: train/mse_loss: 0.002820625758152894 +23-06-13 20:46:05.288 - INFO: epoch: 1442 +23-06-13 20:46:05.289 - INFO: iters: 3426194 +23-06-13 20:48:46.056 - INFO: train/mse_loss: 0.0026891235348781074 +23-06-13 20:48:46.056 - INFO: epoch: 1443 +23-06-13 20:48:46.056 - INFO: iters: 3428570 +23-06-13 20:51:28.216 - INFO: train/mse_loss: 0.0026591673523959037 +23-06-13 20:51:28.217 - INFO: epoch: 1444 +23-06-13 20:51:28.217 - INFO: iters: 3430946 +23-06-13 20:54:09.564 - INFO: train/mse_loss: 0.0029245302768428857 +23-06-13 20:54:09.565 - INFO: epoch: 1445 +23-06-13 20:54:09.565 - INFO: iters: 3433322 +23-06-13 20:56:50.259 - INFO: train/mse_loss: 0.003277318970369244 +23-06-13 20:56:50.260 - INFO: epoch: 1446 +23-06-13 20:56:50.260 - INFO: iters: 3435698 +23-06-13 20:59:31.287 - INFO: train/mse_loss: 0.0029329666501359533 +23-06-13 20:59:31.288 - INFO: epoch: 1447 +23-06-13 20:59:31.288 - INFO: iters: 3438074 +23-06-13 21:02:12.406 - INFO: train/mse_loss: 0.002525287174881571 +23-06-13 21:02:12.406 - INFO: epoch: 1448 +23-06-13 21:02:12.406 - INFO: iters: 3440450 +23-06-13 21:04:54.363 - INFO: train/mse_loss: 0.0028363246406406567 +23-06-13 21:04:54.365 - INFO: epoch: 1449 +23-06-13 21:04:54.365 - INFO: iters: 3442826 +23-06-13 21:07:36.133 - INFO: train/mse_loss: 0.0027714043119545988 +23-06-13 21:07:36.133 - INFO: epoch: 1450 +23-06-13 21:07:36.133 - INFO: iters: 3445202 +23-06-13 21:10:17.316 - INFO: train/mse_loss: 0.0025737322976668474 +23-06-13 21:10:17.317 - INFO: epoch: 1451 +23-06-13 21:10:17.317 - INFO: iters: 3447578 +23-06-13 21:12:59.314 - INFO: train/mse_loss: 0.002536784793326305 +23-06-13 21:12:59.315 - INFO: epoch: 1452 +23-06-13 21:12:59.316 - INFO: iters: 3449954 +23-06-13 21:15:40.455 - INFO: train/mse_loss: 0.002414609097522097 +23-06-13 21:15:40.456 - INFO: epoch: 1453 +23-06-13 21:15:40.456 - INFO: iters: 3452330 +23-06-13 21:18:21.954 - INFO: train/mse_loss: 0.002685153858343403 +23-06-13 21:18:21.955 - INFO: epoch: 1454 +23-06-13 21:18:21.955 - INFO: iters: 3454706 +23-06-13 21:21:03.506 - INFO: train/mse_loss: 0.002628645718941208 +23-06-13 21:21:03.506 - INFO: epoch: 1455 +23-06-13 21:21:03.507 - INFO: iters: 3457082 +23-06-13 21:23:45.086 - INFO: train/mse_loss: 0.002719115372394409 +23-06-13 21:23:45.087 - INFO: epoch: 1456 +23-06-13 21:23:45.087 - INFO: iters: 3459458 +23-06-13 21:26:26.956 - INFO: train/mse_loss: 0.0025087472357903217 +23-06-13 21:26:26.957 - INFO: epoch: 1457 +23-06-13 21:26:26.957 - INFO: iters: 3461834 +23-06-13 21:29:09.251 - INFO: train/mse_loss: 0.002738741037172425 +23-06-13 21:29:09.252 - INFO: epoch: 1458 +23-06-13 21:29:09.253 - INFO: iters: 3464210 +23-06-13 21:31:50.793 - INFO: train/mse_loss: 0.00251528823868566 +23-06-13 21:31:50.794 - INFO: epoch: 1459 +23-06-13 21:31:50.794 - INFO: iters: 3466586 +23-06-13 21:34:31.506 - INFO: train/mse_loss: 0.0033587623991798107 +23-06-13 21:34:31.507 - INFO: epoch: 1460 +23-06-13 21:34:31.507 - INFO: iters: 3468962 +23-06-13 21:37:13.181 - INFO: train/mse_loss: 0.003430729852154418 +23-06-13 21:37:13.182 - INFO: epoch: 1461 +23-06-13 21:37:13.182 - INFO: iters: 3471338 +23-06-13 21:39:54.502 - INFO: train/mse_loss: 0.0027611984731982266 +23-06-13 21:39:54.502 - INFO: epoch: 1462 +23-06-13 21:39:54.503 - INFO: iters: 3473714 +23-06-13 21:42:36.064 - INFO: train/mse_loss: 0.002512201250950972 +23-06-13 21:42:36.065 - INFO: epoch: 1463 +23-06-13 21:42:36.065 - INFO: iters: 3476090 +23-06-13 21:45:17.318 - INFO: train/mse_loss: 0.002478689032329265 +23-06-13 21:45:17.319 - INFO: epoch: 1464 +23-06-13 21:45:17.319 - INFO: iters: 3478466 +23-06-13 21:47:58.686 - INFO: train/mse_loss: 0.002837096535567796 +23-06-13 21:47:58.687 - INFO: epoch: 1465 +23-06-13 21:47:58.687 - INFO: iters: 3480842 +23-06-13 21:50:39.399 - INFO: train/mse_loss: 0.0027409291714280905 +23-06-13 21:50:39.400 - INFO: epoch: 1466 +23-06-13 21:50:39.401 - INFO: iters: 3483218 +23-06-13 21:53:20.641 - INFO: train/mse_loss: 0.002976044967299428 +23-06-13 21:53:20.642 - INFO: epoch: 1467 +23-06-13 21:53:20.642 - INFO: iters: 3485594 +23-06-13 21:56:01.877 - INFO: train/mse_loss: 0.002785972039088268 +23-06-13 21:56:01.878 - INFO: epoch: 1468 +23-06-13 21:56:01.878 - INFO: iters: 3487970 +23-06-13 21:58:43.253 - INFO: train/mse_loss: 0.002795107892372642 +23-06-13 21:58:43.254 - INFO: epoch: 1469 +23-06-13 21:58:43.255 - INFO: iters: 3490346 +23-06-13 22:01:24.663 - INFO: train/mse_loss: 0.0028563553799784143 +23-06-13 22:01:24.664 - INFO: epoch: 1470 +23-06-13 22:01:24.664 - INFO: iters: 3492722 +23-06-13 22:04:06.224 - INFO: train/mse_loss: 0.0027910776766368285 +23-06-13 22:04:06.225 - INFO: epoch: 1471 +23-06-13 22:04:06.225 - INFO: iters: 3495098 +23-06-13 22:06:49.185 - INFO: train/mse_loss: 0.0030489656225596287 +23-06-13 22:06:49.186 - INFO: epoch: 1472 +23-06-13 22:06:49.186 - INFO: iters: 3497474 +23-06-13 22:09:30.352 - INFO: train/mse_loss: 0.0026030983940089868 +23-06-13 22:09:30.353 - INFO: epoch: 1473 +23-06-13 22:09:30.353 - INFO: iters: 3499850 +23-06-13 22:12:11.934 - INFO: train/mse_loss: 0.0023103726151523177 +23-06-13 22:12:11.935 - INFO: epoch: 1474 +23-06-13 22:12:11.935 - INFO: iters: 3502226 +23-06-13 22:14:53.408 - INFO: train/mse_loss: 0.0029224578738220423 +23-06-13 22:14:53.409 - INFO: epoch: 1475 +23-06-13 22:14:53.409 - INFO: iters: 3504602 +23-06-13 22:17:34.594 - INFO: train/mse_loss: 0.0027139222880265667 +23-06-13 22:17:34.594 - INFO: epoch: 1476 +23-06-13 22:17:34.594 - INFO: iters: 3506978 +23-06-13 22:20:15.777 - INFO: train/mse_loss: 0.0026757615958050407 +23-06-13 22:20:15.778 - INFO: epoch: 1477 +23-06-13 22:20:15.778 - INFO: iters: 3509354 +23-06-13 22:22:57.272 - INFO: train/mse_loss: 0.002537245956062957 +23-06-13 22:22:57.272 - INFO: epoch: 1478 +23-06-13 22:22:57.273 - INFO: iters: 3511730 +23-06-13 22:25:38.396 - INFO: train/mse_loss: 0.0028874070757156497 +23-06-13 22:25:38.397 - INFO: epoch: 1479 +23-06-13 22:25:38.397 - INFO: iters: 3514106 +23-06-13 22:28:19.895 - INFO: train/mse_loss: 0.0030045349475055906 +23-06-13 22:28:19.896 - INFO: epoch: 1480 +23-06-13 22:28:19.896 - INFO: iters: 3516482 +23-06-13 22:31:00.712 - INFO: train/mse_loss: 0.002921575888707569 +23-06-13 22:31:00.713 - INFO: epoch: 1481 +23-06-13 22:31:00.713 - INFO: iters: 3518858 +23-06-13 22:33:41.796 - INFO: train/mse_loss: 0.0029374733782821785 +23-06-13 22:33:41.797 - INFO: epoch: 1482 +23-06-13 22:33:41.797 - INFO: iters: 3521234 +23-06-13 22:36:23.205 - INFO: train/mse_loss: 0.0024316247398000813 +23-06-13 22:36:23.205 - INFO: epoch: 1483 +23-06-13 22:36:23.205 - INFO: iters: 3523610 +23-06-13 22:39:04.567 - INFO: train/mse_loss: 0.0027441043835540963 +23-06-13 22:39:04.569 - INFO: epoch: 1484 +23-06-13 22:39:04.569 - INFO: iters: 3525986 +23-06-13 22:41:45.537 - INFO: train/mse_loss: 0.003258416053556025 +23-06-13 22:41:45.538 - INFO: epoch: 1485 +23-06-13 22:41:45.538 - INFO: iters: 3528362 +23-06-13 22:44:26.564 - INFO: train/mse_loss: 0.00239447693505892 +23-06-13 22:44:26.565 - INFO: epoch: 1486 +23-06-13 22:44:26.565 - INFO: iters: 3530738 +23-06-13 22:47:07.470 - INFO: train/mse_loss: 0.00279908758591663 +23-06-13 22:47:07.471 - INFO: epoch: 1487 +23-06-13 22:47:07.471 - INFO: iters: 3533114 +23-06-13 22:49:48.870 - INFO: train/mse_loss: 0.0025436844313572087 +23-06-13 22:49:48.873 - INFO: epoch: 1488 +23-06-13 22:49:48.873 - INFO: iters: 3535490 +23-06-13 22:52:30.089 - INFO: train/mse_loss: 0.0027063900422773664 +23-06-13 22:52:30.090 - INFO: epoch: 1489 +23-06-13 22:52:30.090 - INFO: iters: 3537866 +23-06-13 22:55:12.363 - INFO: train/mse_loss: 0.003598211187146516 +23-06-13 22:55:12.364 - INFO: epoch: 1490 +23-06-13 22:55:12.364 - INFO: iters: 3540242 +23-06-13 22:57:54.603 - INFO: train/mse_loss: 0.0023835150846193923 +23-06-13 22:57:54.605 - INFO: epoch: 1491 +23-06-13 22:57:54.605 - INFO: iters: 3542618 +23-06-13 23:00:36.337 - INFO: train/mse_loss: 0.0025426363748865147 +23-06-13 23:00:36.338 - INFO: epoch: 1492 +23-06-13 23:00:36.338 - INFO: iters: 3544994 +23-06-13 23:03:17.603 - INFO: train/mse_loss: 0.002949172892546601 +23-06-13 23:03:17.604 - INFO: epoch: 1493 +23-06-13 23:03:17.604 - INFO: iters: 3547370 +23-06-13 23:05:58.645 - INFO: train/mse_loss: 0.0028968284573713285 +23-06-13 23:05:58.645 - INFO: epoch: 1494 +23-06-13 23:05:58.646 - INFO: iters: 3549746 +23-06-13 23:08:40.031 - INFO: train/mse_loss: 0.0026207354431462345 +23-06-13 23:08:40.032 - INFO: epoch: 1495 +23-06-13 23:08:40.032 - INFO: iters: 3552122 +23-06-13 23:11:20.898 - INFO: train/mse_loss: 0.002922738987720424 +23-06-13 23:11:20.899 - INFO: epoch: 1496 +23-06-13 23:11:20.899 - INFO: iters: 3554498 +23-06-13 23:14:02.242 - INFO: train/mse_loss: 0.002784642811393466 +23-06-13 23:14:02.243 - INFO: epoch: 1497 +23-06-13 23:14:02.243 - INFO: iters: 3556874 +23-06-13 23:16:43.713 - INFO: train/mse_loss: 0.002783883244339345 +23-06-13 23:16:43.713 - INFO: epoch: 1498 +23-06-13 23:16:43.714 - INFO: iters: 3559250 +23-06-13 23:19:24.902 - INFO: train/mse_loss: 0.0027036847533369658 +23-06-13 23:19:24.903 - INFO: epoch: 1499 +23-06-13 23:19:24.903 - INFO: iters: 3561626 +23-06-13 23:22:05.785 - INFO: train/mse_loss: 0.0025589559901417905 +23-06-13 23:22:05.786 - INFO: epoch: 1500 +23-06-13 23:22:05.786 - INFO: iters: 3564002 +23-06-13 23:24:46.748 - INFO: train/mse_loss: 0.0025342934125421337 +23-06-13 23:24:46.749 - INFO: epoch: 1501 +23-06-13 23:24:46.749 - INFO: iters: 3566378 +23-06-13 23:27:27.838 - INFO: train/mse_loss: 0.0022389730195568167 +23-06-13 23:27:27.839 - INFO: epoch: 1502 +23-06-13 23:27:27.839 - INFO: iters: 3568754 +23-06-13 23:30:09.034 - INFO: train/mse_loss: 0.0021340408266807345 +23-06-13 23:30:09.035 - INFO: epoch: 1503 +23-06-13 23:30:09.035 - INFO: iters: 3571130 +23-06-13 23:32:49.916 - INFO: train/mse_loss: 0.002577144161955632 +23-06-13 23:32:49.917 - INFO: epoch: 1504 +23-06-13 23:32:49.917 - INFO: iters: 3573506 +23-06-13 23:35:32.325 - INFO: train/mse_loss: 0.002446304650833009 +23-06-13 23:35:32.326 - INFO: epoch: 1505 +23-06-13 23:35:32.327 - INFO: iters: 3575882 +23-06-13 23:38:13.833 - INFO: train/mse_loss: 0.002550793837842936 +23-06-13 23:38:13.833 - INFO: epoch: 1506 +23-06-13 23:38:13.833 - INFO: iters: 3578258 +23-06-13 23:40:55.282 - INFO: train/mse_loss: 0.0024337439696102245 +23-06-13 23:40:55.282 - INFO: epoch: 1507 +23-06-13 23:40:55.282 - INFO: iters: 3580634 +23-06-13 23:43:36.409 - INFO: train/mse_loss: 0.002856387391154143 +23-06-13 23:43:36.410 - INFO: epoch: 1508 +23-06-13 23:43:36.410 - INFO: iters: 3583010 +23-06-13 23:46:17.604 - INFO: train/mse_loss: 0.0028830884935440943 +23-06-13 23:46:17.605 - INFO: epoch: 1509 +23-06-13 23:46:17.605 - INFO: iters: 3585386 +23-06-13 23:48:59.661 - INFO: train/mse_loss: 0.0027429605892001765 +23-06-13 23:48:59.661 - INFO: epoch: 1510 +23-06-13 23:48:59.661 - INFO: iters: 3587762 +23-06-13 23:51:40.864 - INFO: train/mse_loss: 0.0025514335604188555 +23-06-13 23:51:40.865 - INFO: epoch: 1511 +23-06-13 23:51:40.865 - INFO: iters: 3590138 +23-06-13 23:54:23.005 - INFO: train/mse_loss: 0.002772639419919551 +23-06-13 23:54:23.005 - INFO: epoch: 1512 +23-06-13 23:54:23.005 - INFO: iters: 3592514 +23-06-13 23:57:04.382 - INFO: train/mse_loss: 0.00256404807118492 +23-06-13 23:57:04.383 - INFO: epoch: 1513 +23-06-13 23:57:04.383 - INFO: iters: 3594890 +23-06-13 23:59:45.563 - INFO: train/mse_loss: 0.002795820795599315 +23-06-13 23:59:45.563 - INFO: epoch: 1514 +23-06-13 23:59:45.563 - INFO: iters: 3597266 +23-06-14 00:02:26.595 - INFO: train/mse_loss: 0.002637095216297943 +23-06-14 00:02:26.596 - INFO: epoch: 1515 +23-06-14 00:02:26.596 - INFO: iters: 3599642 +23-06-14 00:05:07.549 - INFO: train/mse_loss: 0.0028139722584676224 +23-06-14 00:05:07.550 - INFO: epoch: 1516 +23-06-14 00:05:07.550 - INFO: iters: 3602018 +23-06-14 00:07:48.508 - INFO: train/mse_loss: 0.0029882263478051606 +23-06-14 00:07:48.508 - INFO: epoch: 1517 +23-06-14 00:07:48.509 - INFO: iters: 3604394 +23-06-14 00:10:30.163 - INFO: train/mse_loss: 0.0026974507006040462 +23-06-14 00:10:30.164 - INFO: epoch: 1518 +23-06-14 00:10:30.164 - INFO: iters: 3606770 +23-06-14 00:13:11.374 - INFO: train/mse_loss: 0.0022856979471159414 +23-06-14 00:13:11.375 - INFO: epoch: 1519 +23-06-14 00:13:11.375 - INFO: iters: 3609146 +23-06-14 00:15:52.485 - INFO: train/mse_loss: 0.002544529811055431 +23-06-14 00:15:52.485 - INFO: epoch: 1520 +23-06-14 00:15:52.485 - INFO: iters: 3611522 +23-06-14 00:18:33.649 - INFO: train/mse_loss: 0.00239587237318407 +23-06-14 00:18:33.650 - INFO: epoch: 1521 +23-06-14 00:18:33.650 - INFO: iters: 3613898 +23-06-14 00:21:15.024 - INFO: train/mse_loss: 0.0024024808577689898 +23-06-14 00:21:15.025 - INFO: epoch: 1522 +23-06-14 00:21:15.025 - INFO: iters: 3616274 +23-06-14 00:23:56.175 - INFO: train/mse_loss: 0.0025320699040014424 +23-06-14 00:23:56.176 - INFO: epoch: 1523 +23-06-14 00:23:56.176 - INFO: iters: 3618650 +23-06-14 00:26:37.471 - INFO: train/mse_loss: 0.002267062077251724 +23-06-14 00:26:37.472 - INFO: epoch: 1524 +23-06-14 00:26:37.472 - INFO: iters: 3621026 +23-06-14 00:29:18.297 - INFO: train/mse_loss: 0.0030501350026102643 +23-06-14 00:29:18.298 - INFO: epoch: 1525 +23-06-14 00:29:18.298 - INFO: iters: 3623402 +23-06-14 00:31:59.943 - INFO: train/mse_loss: 0.002870223139215148 +23-06-14 00:31:59.944 - INFO: epoch: 1526 +23-06-14 00:31:59.944 - INFO: iters: 3625778 +23-06-14 00:34:41.587 - INFO: train/mse_loss: 0.002754875269945027 +23-06-14 00:34:41.587 - INFO: epoch: 1527 +23-06-14 00:34:41.587 - INFO: iters: 3628154 +23-06-14 00:37:22.484 - INFO: train/mse_loss: 0.0027096106178677555 +23-06-14 00:37:22.484 - INFO: epoch: 1528 +23-06-14 00:37:22.484 - INFO: iters: 3630530 +23-06-14 00:40:03.642 - INFO: train/mse_loss: 0.002854359019680971 +23-06-14 00:40:03.643 - INFO: epoch: 1529 +23-06-14 00:40:03.643 - INFO: iters: 3632906 +23-06-14 00:42:45.209 - INFO: train/mse_loss: 0.0023066633925200924 +23-06-14 00:42:45.210 - INFO: epoch: 1530 +23-06-14 00:42:45.210 - INFO: iters: 3635282 +23-06-14 00:45:26.391 - INFO: train/mse_loss: 0.002596706614585794 +23-06-14 00:45:26.393 - INFO: epoch: 1531 +23-06-14 00:45:26.393 - INFO: iters: 3637658 +23-06-14 00:48:07.827 - INFO: train/mse_loss: 0.0025027068113313944 +23-06-14 00:48:07.828 - INFO: epoch: 1532 +23-06-14 00:48:07.828 - INFO: iters: 3640034 +23-06-14 00:50:49.370 - INFO: train/mse_loss: 0.002311727457451681 +23-06-14 00:50:49.370 - INFO: epoch: 1533 +23-06-14 00:50:49.370 - INFO: iters: 3642410 +23-06-14 00:53:31.673 - INFO: train/mse_loss: 0.0028546083445530634 +23-06-14 00:53:31.673 - INFO: epoch: 1534 +23-06-14 00:53:31.673 - INFO: iters: 3644786 +23-06-14 00:56:12.758 - INFO: train/mse_loss: 0.0022547073604073375 +23-06-14 00:56:12.759 - INFO: epoch: 1535 +23-06-14 00:56:12.759 - INFO: iters: 3647162 +23-06-14 00:58:53.973 - INFO: train/mse_loss: 0.002597624554787998 +23-06-14 00:58:53.973 - INFO: epoch: 1536 +23-06-14 00:58:53.973 - INFO: iters: 3649538 +23-06-14 01:01:34.753 - INFO: train/mse_loss: 0.0022818831168742292 +23-06-14 01:01:34.754 - INFO: epoch: 1537 +23-06-14 01:01:34.754 - INFO: iters: 3651914 +23-06-14 01:04:16.846 - INFO: train/mse_loss: 0.0027334534624663593 +23-06-14 01:04:16.846 - INFO: epoch: 1538 +23-06-14 01:04:16.847 - INFO: iters: 3654290 +23-06-14 01:06:57.824 - INFO: train/mse_loss: 0.002607411286822655 +23-06-14 01:06:57.824 - INFO: epoch: 1539 +23-06-14 01:06:57.824 - INFO: iters: 3656666 +23-06-14 01:09:38.907 - INFO: train/mse_loss: 0.0028783547666914734 +23-06-14 01:09:38.908 - INFO: epoch: 1540 +23-06-14 01:09:38.908 - INFO: iters: 3659042 +23-06-14 01:12:20.867 - INFO: train/mse_loss: 0.0024703916848005307 +23-06-14 01:12:20.867 - INFO: epoch: 1541 +23-06-14 01:12:20.867 - INFO: iters: 3661418 +23-06-14 01:15:01.864 - INFO: train/mse_loss: 0.002400359006262281 +23-06-14 01:15:01.864 - INFO: epoch: 1542 +23-06-14 01:15:01.864 - INFO: iters: 3663794 +23-06-14 01:17:43.923 - INFO: train/mse_loss: 0.002990423001055778 +23-06-14 01:17:43.924 - INFO: epoch: 1543 +23-06-14 01:17:43.924 - INFO: iters: 3666170 +23-06-14 01:20:25.293 - INFO: train/mse_loss: 0.0026349257304441333 +23-06-14 01:20:25.293 - INFO: epoch: 1544 +23-06-14 01:20:25.293 - INFO: iters: 3668546 +23-06-14 01:23:06.257 - INFO: train/mse_loss: 0.0023997589909143884 +23-06-14 01:23:06.257 - INFO: epoch: 1545 +23-06-14 01:23:06.257 - INFO: iters: 3670922 +23-06-14 01:25:47.421 - INFO: train/mse_loss: 0.002912439300869952 +23-06-14 01:25:47.421 - INFO: epoch: 1546 +23-06-14 01:25:47.421 - INFO: iters: 3673298 +23-06-14 01:28:30.156 - INFO: train/mse_loss: 0.002805887687867445 +23-06-14 01:28:30.156 - INFO: epoch: 1547 +23-06-14 01:28:30.157 - INFO: iters: 3675674 +23-06-14 01:31:11.881 - INFO: train/mse_loss: 0.002473226691865102 +23-06-14 01:31:11.882 - INFO: epoch: 1548 +23-06-14 01:31:11.882 - INFO: iters: 3678050 +23-06-14 01:33:53.515 - INFO: train/mse_loss: 0.002540901574437108 +23-06-14 01:33:53.516 - INFO: epoch: 1549 +23-06-14 01:33:53.516 - INFO: iters: 3680426 +23-06-14 01:36:34.503 - INFO: train/mse_loss: 0.0024106980562884272 +23-06-14 01:36:34.503 - INFO: epoch: 1550 +23-06-14 01:36:34.503 - INFO: iters: 3682802 +23-06-14 01:39:16.143 - INFO: train/mse_loss: 0.0025752531289595718 +23-06-14 01:39:16.144 - INFO: epoch: 1551 +23-06-14 01:39:16.144 - INFO: iters: 3685178 +23-06-14 01:41:57.169 - INFO: train/mse_loss: 0.0022911556144064663 +23-06-14 01:41:57.169 - INFO: epoch: 1552 +23-06-14 01:41:57.169 - INFO: iters: 3687554 +23-06-14 01:44:37.971 - INFO: train/mse_loss: 0.003032253691883482 +23-06-14 01:44:37.971 - INFO: epoch: 1553 +23-06-14 01:44:37.971 - INFO: iters: 3689930 +23-06-14 01:47:20.748 - INFO: train/mse_loss: 0.0025989523849109823 +23-06-14 01:47:20.748 - INFO: epoch: 1554 +23-06-14 01:47:20.749 - INFO: iters: 3692306 +23-06-14 01:50:02.176 - INFO: train/mse_loss: 0.002644345152147917 +23-06-14 01:50:02.177 - INFO: epoch: 1555 +23-06-14 01:50:02.177 - INFO: iters: 3694682 +23-06-14 01:52:43.356 - INFO: train/mse_loss: 0.002713815790153444 +23-06-14 01:52:43.356 - INFO: epoch: 1556 +23-06-14 01:52:43.357 - INFO: iters: 3697058 +23-06-14 01:55:24.478 - INFO: train/mse_loss: 0.0026884717342125484 +23-06-14 01:55:24.478 - INFO: epoch: 1557 +23-06-14 01:55:24.478 - INFO: iters: 3699434 +23-06-14 01:58:05.460 - INFO: train/mse_loss: 0.0027927434591651715 +23-06-14 01:58:05.461 - INFO: epoch: 1558 +23-06-14 01:58:05.461 - INFO: iters: 3701810 +23-06-14 02:00:46.997 - INFO: train/mse_loss: 0.0026022914347477158 +23-06-14 02:00:46.998 - INFO: epoch: 1559 +23-06-14 02:00:46.998 - INFO: iters: 3704186 +23-06-14 02:03:28.173 - INFO: train/mse_loss: 0.0023340206270487133 +23-06-14 02:03:28.174 - INFO: epoch: 1560 +23-06-14 02:03:28.174 - INFO: iters: 3706562 +23-06-14 02:06:09.537 - INFO: train/mse_loss: 0.002615851516422254 +23-06-14 02:06:09.537 - INFO: epoch: 1561 +23-06-14 02:06:09.537 - INFO: iters: 3708938 +23-06-14 02:08:52.237 - INFO: train/mse_loss: 0.0025091773309229063 +23-06-14 02:08:52.238 - INFO: epoch: 1562 +23-06-14 02:08:52.238 - INFO: iters: 3711314 +23-06-14 02:11:33.513 - INFO: train/mse_loss: 0.002819330720697382 +23-06-14 02:11:33.514 - INFO: epoch: 1563 +23-06-14 02:11:33.514 - INFO: iters: 3713690 +23-06-14 02:14:15.028 - INFO: train/mse_loss: 0.0026493104709185322 +23-06-14 02:14:15.029 - INFO: epoch: 1564 +23-06-14 02:14:15.029 - INFO: iters: 3716066 +23-06-14 02:16:57.774 - INFO: train/mse_loss: 0.0031788561503741553 +23-06-14 02:16:57.775 - INFO: epoch: 1565 +23-06-14 02:16:57.775 - INFO: iters: 3718442 +23-06-14 02:19:38.613 - INFO: train/mse_loss: 0.0028602693449221363 +23-06-14 02:19:38.613 - INFO: epoch: 1566 +23-06-14 02:19:38.613 - INFO: iters: 3720818 +23-06-14 02:22:20.030 - INFO: train/mse_loss: 0.002817607746202411 +23-06-14 02:22:20.030 - INFO: epoch: 1567 +23-06-14 02:22:20.030 - INFO: iters: 3723194 +23-06-14 02:25:01.310 - INFO: train/mse_loss: 0.0028842345754394893 +23-06-14 02:25:01.311 - INFO: epoch: 1568 +23-06-14 02:25:01.311 - INFO: iters: 3725570 +23-06-14 02:27:43.298 - INFO: train/mse_loss: 0.002581498470695953 +23-06-14 02:27:43.299 - INFO: epoch: 1569 +23-06-14 02:27:43.300 - INFO: iters: 3727946 +23-06-14 02:30:24.640 - INFO: train/mse_loss: 0.0026061106401672808 +23-06-14 02:30:24.640 - INFO: epoch: 1570 +23-06-14 02:30:24.640 - INFO: iters: 3730322 +23-06-14 02:33:05.651 - INFO: train/mse_loss: 0.0024914009595934225 +23-06-14 02:33:05.651 - INFO: epoch: 1571 +23-06-14 02:33:05.651 - INFO: iters: 3732698 +23-06-14 02:35:46.644 - INFO: train/mse_loss: 0.0021704808312628153 +23-06-14 02:35:46.645 - INFO: epoch: 1572 +23-06-14 02:35:46.645 - INFO: iters: 3735074 +23-06-14 02:38:27.556 - INFO: train/mse_loss: 0.002228893868892488 +23-06-14 02:38:27.557 - INFO: epoch: 1573 +23-06-14 02:38:27.557 - INFO: iters: 3737450 +23-06-14 02:41:08.831 - INFO: train/mse_loss: 0.002851859108142724 +23-06-14 02:41:08.832 - INFO: epoch: 1574 +23-06-14 02:41:08.832 - INFO: iters: 3739826 +23-06-14 02:43:50.271 - INFO: train/mse_loss: 0.002886015476944295 +23-06-14 02:43:50.271 - INFO: epoch: 1575 +23-06-14 02:43:50.271 - INFO: iters: 3742202 +23-06-14 02:46:31.760 - INFO: train/mse_loss: 0.0024161346394706656 +23-06-14 02:46:31.761 - INFO: epoch: 1576 +23-06-14 02:46:31.761 - INFO: iters: 3744578 +23-06-14 02:49:12.829 - INFO: train/mse_loss: 0.0029370103595638803 +23-06-14 02:49:12.830 - INFO: epoch: 1577 +23-06-14 02:49:12.830 - INFO: iters: 3746954 +23-06-14 02:51:53.968 - INFO: train/mse_loss: 0.0020642732294560142 +23-06-14 02:51:53.968 - INFO: epoch: 1578 +23-06-14 02:51:53.968 - INFO: iters: 3749330 +23-06-14 02:54:34.775 - INFO: train/mse_loss: 0.0032276871377211816 +23-06-14 02:54:34.775 - INFO: epoch: 1579 +23-06-14 02:54:34.775 - INFO: iters: 3751706 +23-06-14 02:57:16.858 - INFO: train/mse_loss: 0.0025353510434870993 +23-06-14 02:57:16.859 - INFO: epoch: 1580 +23-06-14 02:57:16.859 - INFO: iters: 3754082 +23-06-14 02:59:58.577 - INFO: train/mse_loss: 0.002697497226947743 +23-06-14 02:59:58.578 - INFO: epoch: 1581 +23-06-14 02:59:58.578 - INFO: iters: 3756458 +23-06-14 03:02:40.713 - INFO: train/mse_loss: 0.0025005175818113754 +23-06-14 03:02:40.714 - INFO: epoch: 1582 +23-06-14 03:02:40.715 - INFO: iters: 3758834 +23-06-14 03:05:21.831 - INFO: train/mse_loss: 0.0028390259556832914 +23-06-14 03:05:21.832 - INFO: epoch: 1583 +23-06-14 03:05:21.832 - INFO: iters: 3761210 +23-06-14 03:08:03.476 - INFO: train/mse_loss: 0.002443312270635808 +23-06-14 03:08:03.477 - INFO: epoch: 1584 +23-06-14 03:08:03.477 - INFO: iters: 3763586 +23-06-14 03:10:44.746 - INFO: train/mse_loss: 0.002534650584352783 +23-06-14 03:10:44.746 - INFO: epoch: 1585 +23-06-14 03:10:44.747 - INFO: iters: 3765962 +23-06-14 03:13:25.978 - INFO: train/mse_loss: 0.0025752626270485373 +23-06-14 03:13:25.979 - INFO: epoch: 1586 +23-06-14 03:13:25.979 - INFO: iters: 3768338 +23-06-14 03:16:07.070 - INFO: train/mse_loss: 0.003297441300539369 +23-06-14 03:16:07.071 - INFO: epoch: 1587 +23-06-14 03:16:07.071 - INFO: iters: 3770714 +23-06-14 03:18:48.891 - INFO: train/mse_loss: 0.0026596424310751923 +23-06-14 03:18:48.892 - INFO: epoch: 1588 +23-06-14 03:18:48.892 - INFO: iters: 3773090 +23-06-14 03:21:30.481 - INFO: train/mse_loss: 0.0024468138618379052 +23-06-14 03:21:30.482 - INFO: epoch: 1589 +23-06-14 03:21:30.482 - INFO: iters: 3775466 +23-06-14 03:24:12.424 - INFO: train/mse_loss: 0.0028121936249057527 +23-06-14 03:24:12.424 - INFO: epoch: 1590 +23-06-14 03:24:12.425 - INFO: iters: 3777842 +23-06-14 03:26:53.479 - INFO: train/mse_loss: 0.0028548055414270345 +23-06-14 03:26:53.479 - INFO: epoch: 1591 +23-06-14 03:26:53.479 - INFO: iters: 3780218 +23-06-14 03:29:35.419 - INFO: train/mse_loss: 0.002859755383427365 +23-06-14 03:29:35.419 - INFO: epoch: 1592 +23-06-14 03:29:35.419 - INFO: iters: 3782594 +23-06-14 03:32:16.846 - INFO: train/mse_loss: 0.00270626024321123 +23-06-14 03:32:16.847 - INFO: epoch: 1593 +23-06-14 03:32:16.848 - INFO: iters: 3784970 +23-06-14 03:34:58.819 - INFO: train/mse_loss: 0.0031309256174128115 +23-06-14 03:34:58.820 - INFO: epoch: 1594 +23-06-14 03:34:58.820 - INFO: iters: 3787346 +23-06-14 03:37:40.994 - INFO: train/mse_loss: 0.0028420660445060554 +23-06-14 03:37:40.996 - INFO: epoch: 1595 +23-06-14 03:37:40.996 - INFO: iters: 3789722 +23-06-14 03:40:22.267 - INFO: train/mse_loss: 0.0025110913423730392 +23-06-14 03:40:22.269 - INFO: epoch: 1596 +23-06-14 03:40:22.269 - INFO: iters: 3792098 +23-06-14 03:43:03.669 - INFO: train/mse_loss: 0.0028173576619849234 +23-06-14 03:43:03.669 - INFO: epoch: 1597 +23-06-14 03:43:03.669 - INFO: iters: 3794474 +23-06-14 03:45:46.510 - INFO: train/mse_loss: 0.003002635030246807 +23-06-14 03:45:46.511 - INFO: epoch: 1598 +23-06-14 03:45:46.511 - INFO: iters: 3796850 +23-06-14 03:48:27.978 - INFO: train/mse_loss: 0.002330069630861483 +23-06-14 03:48:27.979 - INFO: epoch: 1599 +23-06-14 03:48:27.979 - INFO: iters: 3799226 +23-06-14 03:51:10.146 - INFO: train/mse_loss: 0.002534185677903206 +23-06-14 03:51:10.147 - INFO: epoch: 1600 +23-06-14 03:51:10.147 - INFO: iters: 3801602 +23-06-14 03:53:51.324 - INFO: train/mse_loss: 0.002931837183195997 +23-06-14 03:53:51.325 - INFO: epoch: 1601 +23-06-14 03:53:51.325 - INFO: iters: 3803978 +23-06-14 03:56:32.747 - INFO: train/mse_loss: 0.0027861311975498106 +23-06-14 03:56:32.747 - INFO: epoch: 1602 +23-06-14 03:56:32.747 - INFO: iters: 3806354 +23-06-14 03:59:14.051 - INFO: train/mse_loss: 0.0023885587793194786 +23-06-14 03:59:14.052 - INFO: epoch: 1603 +23-06-14 03:59:14.052 - INFO: iters: 3808730 +23-06-14 04:01:55.244 - INFO: train/mse_loss: 0.0028801180281392566 +23-06-14 04:01:55.245 - INFO: epoch: 1604 +23-06-14 04:01:55.245 - INFO: iters: 3811106 +23-06-14 04:04:36.374 - INFO: train/mse_loss: 0.002431442207826916 +23-06-14 04:04:36.374 - INFO: epoch: 1605 +23-06-14 04:04:36.374 - INFO: iters: 3813482 +23-06-14 04:07:17.358 - INFO: train/mse_loss: 0.0026525413975753017 +23-06-14 04:07:17.358 - INFO: epoch: 1606 +23-06-14 04:07:17.358 - INFO: iters: 3815858 +23-06-14 04:09:58.234 - INFO: train/mse_loss: 0.0024933604220154157 +23-06-14 04:09:58.235 - INFO: epoch: 1607 +23-06-14 04:09:58.235 - INFO: iters: 3818234 +23-06-14 04:12:39.703 - INFO: train/mse_loss: 0.002840945071376929 +23-06-14 04:12:39.704 - INFO: epoch: 1608 +23-06-14 04:12:39.704 - INFO: iters: 3820610 +23-06-14 04:15:21.098 - INFO: train/mse_loss: 0.0028106727560328303 +23-06-14 04:15:21.099 - INFO: epoch: 1609 +23-06-14 04:15:21.099 - INFO: iters: 3822986 +23-06-14 04:18:02.185 - INFO: train/mse_loss: 0.0029200158501945447 +23-06-14 04:18:02.186 - INFO: epoch: 1610 +23-06-14 04:18:02.186 - INFO: iters: 3825362 +23-06-14 04:20:43.321 - INFO: train/mse_loss: 0.0029542970691371698 +23-06-14 04:20:43.323 - INFO: epoch: 1611 +23-06-14 04:20:43.324 - INFO: iters: 3827738 +23-06-14 04:23:24.335 - INFO: train/mse_loss: 0.002614128654373901 +23-06-14 04:23:24.336 - INFO: epoch: 1612 +23-06-14 04:23:24.336 - INFO: iters: 3830114 +23-06-14 04:26:05.710 - INFO: train/mse_loss: 0.003003365330900589 +23-06-14 04:26:05.713 - INFO: epoch: 1613 +23-06-14 04:26:05.713 - INFO: iters: 3832490 +23-06-14 04:28:47.950 - INFO: train/mse_loss: 0.0027895647095028714 +23-06-14 04:28:47.951 - INFO: epoch: 1614 +23-06-14 04:28:47.951 - INFO: iters: 3834866 +23-06-14 04:31:29.304 - INFO: train/mse_loss: 0.00228978444025256 +23-06-14 04:31:29.305 - INFO: epoch: 1615 +23-06-14 04:31:29.305 - INFO: iters: 3837242 +23-06-14 04:34:10.589 - INFO: train/mse_loss: 0.0026990017531869264 +23-06-14 04:34:10.590 - INFO: epoch: 1616 +23-06-14 04:34:10.590 - INFO: iters: 3839618 +23-06-14 04:36:51.718 - INFO: train/mse_loss: 0.0029944165997632063 +23-06-14 04:36:51.719 - INFO: epoch: 1617 +23-06-14 04:36:51.719 - INFO: iters: 3841994 +23-06-14 04:39:32.910 - INFO: train/mse_loss: 0.0021533335770538347 +23-06-14 04:39:32.911 - INFO: epoch: 1618 +23-06-14 04:39:32.911 - INFO: iters: 3844370 +23-06-14 04:42:14.130 - INFO: train/mse_loss: 0.002429926991613616 +23-06-14 04:42:14.132 - INFO: epoch: 1619 +23-06-14 04:42:14.132 - INFO: iters: 3846746 +23-06-14 04:44:55.570 - INFO: train/mse_loss: 0.0027243084433372523 +23-06-14 04:44:55.570 - INFO: epoch: 1620 +23-06-14 04:44:55.570 - INFO: iters: 3849122 +23-06-14 04:47:36.991 - INFO: train/mse_loss: 0.002157252302286701 +23-06-14 04:47:36.991 - INFO: epoch: 1621 +23-06-14 04:47:36.991 - INFO: iters: 3851498 +23-06-14 04:50:18.603 - INFO: train/mse_loss: 0.002345036216388278 +23-06-14 04:50:18.604 - INFO: epoch: 1622 +23-06-14 04:50:18.604 - INFO: iters: 3853874 +23-06-14 04:53:00.217 - INFO: train/mse_loss: 0.0029348258062552738 +23-06-14 04:53:00.217 - INFO: epoch: 1623 +23-06-14 04:53:00.218 - INFO: iters: 3856250 +23-06-14 04:55:40.918 - INFO: train/mse_loss: 0.002209677956943472 +23-06-14 04:55:40.918 - INFO: epoch: 1624 +23-06-14 04:55:40.918 - INFO: iters: 3858626 +23-06-14 04:58:22.037 - INFO: train/mse_loss: 0.0024939861915094673 +23-06-14 04:58:22.038 - INFO: epoch: 1625 +23-06-14 04:58:22.038 - INFO: iters: 3861002 +23-06-14 05:01:03.212 - INFO: train/mse_loss: 0.0029446615480625007 +23-06-14 05:01:03.213 - INFO: epoch: 1626 +23-06-14 05:01:03.214 - INFO: iters: 3863378 +23-06-14 05:03:44.750 - INFO: train/mse_loss: 0.00290775390274067 +23-06-14 05:03:44.750 - INFO: epoch: 1627 +23-06-14 05:03:44.751 - INFO: iters: 3865754 +23-06-14 05:06:25.519 - INFO: train/mse_loss: 0.0024752443279445436 +23-06-14 05:06:25.520 - INFO: epoch: 1628 +23-06-14 05:06:25.521 - INFO: iters: 3868130 +23-06-14 05:09:06.274 - INFO: train/mse_loss: 0.002540319748493288 +23-06-14 05:09:06.274 - INFO: epoch: 1629 +23-06-14 05:09:06.274 - INFO: iters: 3870506 +23-06-14 05:11:47.895 - INFO: train/mse_loss: 0.002513778816143471 +23-06-14 05:11:47.895 - INFO: epoch: 1630 +23-06-14 05:11:47.895 - INFO: iters: 3872882 +23-06-14 05:14:29.121 - INFO: train/mse_loss: 0.0028867758429328588 +23-06-14 05:14:29.122 - INFO: epoch: 1631 +23-06-14 05:14:29.122 - INFO: iters: 3875258 +23-06-14 05:17:11.472 - INFO: train/mse_loss: 0.0023779448345013477 +23-06-14 05:17:11.473 - INFO: epoch: 1632 +23-06-14 05:17:11.473 - INFO: iters: 3877634 +23-06-14 05:19:53.467 - INFO: train/mse_loss: 0.0028440208163117106 +23-06-14 05:19:53.467 - INFO: epoch: 1633 +23-06-14 05:19:53.467 - INFO: iters: 3880010 +23-06-14 05:22:34.995 - INFO: train/mse_loss: 0.0028653628356881777 +23-06-14 05:22:34.995 - INFO: epoch: 1634 +23-06-14 05:22:34.995 - INFO: iters: 3882386 +23-06-14 05:25:16.772 - INFO: train/mse_loss: 0.002728913557717282 +23-06-14 05:25:16.773 - INFO: epoch: 1635 +23-06-14 05:25:16.773 - INFO: iters: 3884762 +23-06-14 05:27:57.909 - INFO: train/mse_loss: 0.002469903965945503 +23-06-14 05:27:57.910 - INFO: epoch: 1636 +23-06-14 05:27:57.910 - INFO: iters: 3887138 +23-06-14 05:30:39.313 - INFO: train/mse_loss: 0.002669570929337895 +23-06-14 05:30:39.314 - INFO: epoch: 1637 +23-06-14 05:30:39.314 - INFO: iters: 3889514 +23-06-14 05:33:20.384 - INFO: train/mse_loss: 0.002723269001306395 +23-06-14 05:33:20.385 - INFO: epoch: 1638 +23-06-14 05:33:20.385 - INFO: iters: 3891890 +23-06-14 05:36:01.533 - INFO: train/mse_loss: 0.002577267649116289 +23-06-14 05:36:01.533 - INFO: epoch: 1639 +23-06-14 05:36:01.533 - INFO: iters: 3894266 +23-06-14 05:38:42.233 - INFO: train/mse_loss: 0.0024651084052122853 +23-06-14 05:38:42.234 - INFO: epoch: 1640 +23-06-14 05:38:42.234 - INFO: iters: 3896642 +23-06-14 05:41:23.111 - INFO: train/mse_loss: 0.002550579696562085 +23-06-14 05:41:23.112 - INFO: epoch: 1641 +23-06-14 05:41:23.112 - INFO: iters: 3899018 +23-06-14 05:44:04.436 - INFO: train/mse_loss: 0.002471425305869311 +23-06-14 05:44:04.436 - INFO: epoch: 1642 +23-06-14 05:44:04.436 - INFO: iters: 3901394 +23-06-14 05:46:45.564 - INFO: train/mse_loss: 0.0023556494000971455 +23-06-14 05:46:45.564 - INFO: epoch: 1643 +23-06-14 05:46:45.564 - INFO: iters: 3903770 +23-06-14 05:49:26.899 - INFO: train/mse_loss: 0.0023723351869101854 +23-06-14 05:49:26.899 - INFO: epoch: 1644 +23-06-14 05:49:26.899 - INFO: iters: 3906146 +23-06-14 05:52:07.640 - INFO: train/mse_loss: 0.0021603125697652486 +23-06-14 05:52:07.641 - INFO: epoch: 1645 +23-06-14 05:52:07.641 - INFO: iters: 3908522 +23-06-14 05:54:49.144 - INFO: train/mse_loss: 0.0024854305888383464 +23-06-14 05:54:49.145 - INFO: epoch: 1646 +23-06-14 05:54:49.145 - INFO: iters: 3910898 +23-06-14 05:57:30.324 - INFO: train/mse_loss: 0.0023003285778184683 +23-06-14 05:57:30.325 - INFO: epoch: 1647 +23-06-14 05:57:30.325 - INFO: iters: 3913274 +23-06-14 06:00:11.642 - INFO: train/mse_loss: 0.002116865744702173 +23-06-14 06:00:11.643 - INFO: epoch: 1648 +23-06-14 06:00:11.643 - INFO: iters: 3915650 +23-06-14 06:02:53.893 - INFO: train/mse_loss: 0.002932524103365575 +23-06-14 06:02:53.894 - INFO: epoch: 1649 +23-06-14 06:02:53.894 - INFO: iters: 3918026 +23-06-14 06:05:36.174 - INFO: train/mse_loss: 0.002474367234037455 +23-06-14 06:05:36.174 - INFO: epoch: 1650 +23-06-14 06:05:36.174 - INFO: iters: 3920402 +23-06-14 06:08:17.249 - INFO: train/mse_loss: 0.0025977920037255266 +23-06-14 06:08:17.249 - INFO: epoch: 1651 +23-06-14 06:08:17.249 - INFO: iters: 3922778 +23-06-14 06:10:58.600 - INFO: train/mse_loss: 0.0021701719479984994 +23-06-14 06:10:58.600 - INFO: epoch: 1652 +23-06-14 06:10:58.600 - INFO: iters: 3925154 +23-06-14 06:13:40.915 - INFO: train/mse_loss: 0.0021444818377142037 +23-06-14 06:13:40.916 - INFO: epoch: 1653 +23-06-14 06:13:40.916 - INFO: iters: 3927530 +23-06-14 06:16:21.898 - INFO: train/mse_loss: 0.00212045525857608 +23-06-14 06:16:21.899 - INFO: epoch: 1654 +23-06-14 06:16:21.899 - INFO: iters: 3929906 +23-06-14 06:19:02.951 - INFO: train/mse_loss: 0.0026702095667427085 +23-06-14 06:19:02.951 - INFO: epoch: 1655 +23-06-14 06:19:02.952 - INFO: iters: 3932282 +23-06-14 06:21:44.249 - INFO: train/mse_loss: 0.0024289582422479788 +23-06-14 06:21:44.250 - INFO: epoch: 1656 +23-06-14 06:21:44.250 - INFO: iters: 3934658 +23-06-14 06:24:25.925 - INFO: train/mse_loss: 0.002381270720685365 +23-06-14 06:24:25.925 - INFO: epoch: 1657 +23-06-14 06:24:25.925 - INFO: iters: 3937034 +23-06-14 06:27:08.108 - INFO: train/mse_loss: 0.0025867220138392475 +23-06-14 06:27:08.108 - INFO: epoch: 1658 +23-06-14 06:27:08.108 - INFO: iters: 3939410 +23-06-14 06:29:50.139 - INFO: train/mse_loss: 0.0023654486073858357 +23-06-14 06:29:50.140 - INFO: epoch: 1659 +23-06-14 06:29:50.140 - INFO: iters: 3941786 +23-06-14 06:32:31.813 - INFO: train/mse_loss: 0.0022025225246607356 +23-06-14 06:32:31.814 - INFO: epoch: 1660 +23-06-14 06:32:31.814 - INFO: iters: 3944162 +23-06-14 06:35:12.881 - INFO: train/mse_loss: 0.0024899026222788864 +23-06-14 06:35:12.881 - INFO: epoch: 1661 +23-06-14 06:35:12.882 - INFO: iters: 3946538 +23-06-14 06:37:54.018 - INFO: train/mse_loss: 0.0029836921446630576 +23-06-14 06:37:54.018 - INFO: epoch: 1662 +23-06-14 06:37:54.019 - INFO: iters: 3948914 +23-06-14 06:40:35.459 - INFO: train/mse_loss: 0.002383694767650932 +23-06-14 06:40:35.460 - INFO: epoch: 1663 +23-06-14 06:40:35.460 - INFO: iters: 3951290 +23-06-14 06:43:16.958 - INFO: train/mse_loss: 0.0022813880998172457 +23-06-14 06:43:16.958 - INFO: epoch: 1664 +23-06-14 06:43:16.959 - INFO: iters: 3953666 +23-06-14 06:45:58.203 - INFO: train/mse_loss: 0.0026986019396590013 +23-06-14 06:45:58.203 - INFO: epoch: 1665 +23-06-14 06:45:58.205 - INFO: iters: 3956042 +23-06-14 06:48:39.619 - INFO: train/mse_loss: 0.002715691390818907 +23-06-14 06:48:39.620 - INFO: epoch: 1666 +23-06-14 06:48:39.620 - INFO: iters: 3958418 +23-06-14 06:51:20.497 - INFO: train/mse_loss: 0.0033524256277600497 +23-06-14 06:51:20.497 - INFO: epoch: 1667 +23-06-14 06:51:20.497 - INFO: iters: 3960794 +23-06-14 06:54:01.681 - INFO: train/mse_loss: 0.002486530462278348 +23-06-14 06:54:01.681 - INFO: epoch: 1668 +23-06-14 06:54:01.682 - INFO: iters: 3963170 +23-06-14 06:56:42.688 - INFO: train/mse_loss: 0.002391536547237951 +23-06-14 06:56:42.689 - INFO: epoch: 1669 +23-06-14 06:56:42.689 - INFO: iters: 3965546 +23-06-14 06:59:23.701 - INFO: train/mse_loss: 0.003226696264495766 +23-06-14 06:59:23.702 - INFO: epoch: 1670 +23-06-14 06:59:23.702 - INFO: iters: 3967922 +23-06-14 07:02:05.402 - INFO: train/mse_loss: 0.0029230075964770006 +23-06-14 07:02:05.402 - INFO: epoch: 1671 +23-06-14 07:02:05.402 - INFO: iters: 3970298 +23-06-14 07:04:47.220 - INFO: train/mse_loss: 0.0030083150608952685 +23-06-14 07:04:47.221 - INFO: epoch: 1672 +23-06-14 07:04:47.221 - INFO: iters: 3972674 +23-06-14 07:07:29.065 - INFO: train/mse_loss: 0.0025531584157856176 +23-06-14 07:07:29.065 - INFO: epoch: 1673 +23-06-14 07:07:29.065 - INFO: iters: 3975050 +23-06-14 07:10:10.087 - INFO: train/mse_loss: 0.0028805344721054664 +23-06-14 07:10:10.088 - INFO: epoch: 1674 +23-06-14 07:10:10.088 - INFO: iters: 3977426 +23-06-14 07:12:51.634 - INFO: train/mse_loss: 0.0026606169813634005 +23-06-14 07:12:51.635 - INFO: epoch: 1675 +23-06-14 07:12:51.635 - INFO: iters: 3979802 +23-06-14 07:15:32.626 - INFO: train/mse_loss: 0.0025975120310990692 +23-06-14 07:15:32.626 - INFO: epoch: 1676 +23-06-14 07:15:32.626 - INFO: iters: 3982178 +23-06-14 07:18:13.790 - INFO: train/mse_loss: 0.00243476268040449 +23-06-14 07:18:13.791 - INFO: epoch: 1677 +23-06-14 07:18:13.791 - INFO: iters: 3984554 +23-06-14 07:20:55.674 - INFO: train/mse_loss: 0.0028380524067824348 +23-06-14 07:20:55.675 - INFO: epoch: 1678 +23-06-14 07:20:55.675 - INFO: iters: 3986930 +23-06-14 07:23:36.977 - INFO: train/mse_loss: 0.002624435466910189 +23-06-14 07:23:36.977 - INFO: epoch: 1679 +23-06-14 07:23:36.977 - INFO: iters: 3989306 +23-06-14 07:26:18.080 - INFO: train/mse_loss: 0.002531838192140389 +23-06-14 07:26:18.081 - INFO: epoch: 1680 +23-06-14 07:26:18.081 - INFO: iters: 3991682 +23-06-14 07:28:59.323 - INFO: train/mse_loss: 0.00242097991669977 +23-06-14 07:28:59.324 - INFO: epoch: 1681 +23-06-14 07:28:59.324 - INFO: iters: 3994058 +23-06-14 07:31:40.442 - INFO: train/mse_loss: 0.0023992823893796205 +23-06-14 07:31:40.443 - INFO: epoch: 1682 +23-06-14 07:31:40.443 - INFO: iters: 3996434 +23-06-14 07:34:21.481 - INFO: train/mse_loss: 0.0023259867335668127 +23-06-14 07:34:21.481 - INFO: epoch: 1683 +23-06-14 07:34:21.482 - INFO: iters: 3998810 +23-06-14 07:37:03.974 - INFO: train/mse_loss: 0.002758284211013723 +23-06-14 07:37:03.975 - INFO: epoch: 1684 +23-06-14 07:37:03.975 - INFO: iters: 4001186 +23-06-14 07:39:45.712 - INFO: train/mse_loss: 0.002034723731553533 +23-06-14 07:39:45.713 - INFO: epoch: 1685 +23-06-14 07:39:45.713 - INFO: iters: 4003562 +23-06-14 07:42:27.130 - INFO: train/mse_loss: 0.0024123923108883213 +23-06-14 07:42:27.130 - INFO: epoch: 1686 +23-06-14 07:42:27.131 - INFO: iters: 4005938 +23-06-14 07:45:08.376 - INFO: train/mse_loss: 0.0028046475882525946 +23-06-14 07:45:08.377 - INFO: epoch: 1687 +23-06-14 07:45:08.377 - INFO: iters: 4008314 +23-06-14 07:47:49.201 - INFO: train/mse_loss: 0.002755786398576999 +23-06-14 07:47:49.203 - INFO: epoch: 1688 +23-06-14 07:47:49.203 - INFO: iters: 4010690 +23-06-14 07:50:32.382 - INFO: train/mse_loss: 0.002722280355748918 +23-06-14 07:50:32.385 - INFO: epoch: 1689 +23-06-14 07:50:32.385 - INFO: iters: 4013066 +23-06-14 07:53:14.177 - INFO: train/mse_loss: 0.002747096284958989 +23-06-14 07:53:14.177 - INFO: epoch: 1690 +23-06-14 07:53:14.178 - INFO: iters: 4015442 +23-06-14 07:55:56.297 - INFO: train/mse_loss: 0.002223526991834011 +23-06-14 07:55:56.298 - INFO: epoch: 1691 +23-06-14 07:55:56.298 - INFO: iters: 4017818 +23-06-14 07:58:37.749 - INFO: train/mse_loss: 0.002661847477890112 +23-06-14 07:58:37.750 - INFO: epoch: 1692 +23-06-14 07:58:37.750 - INFO: iters: 4020194 +23-06-14 08:01:19.558 - INFO: train/mse_loss: 0.00268436906130605 +23-06-14 08:01:19.558 - INFO: epoch: 1693 +23-06-14 08:01:19.558 - INFO: iters: 4022570 +23-06-14 08:04:00.772 - INFO: train/mse_loss: 0.002490176255708899 +23-06-14 08:04:00.773 - INFO: epoch: 1694 +23-06-14 08:04:00.773 - INFO: iters: 4024946 +23-06-14 08:06:42.996 - INFO: train/mse_loss: 0.0022783770531385364 +23-06-14 08:06:42.997 - INFO: epoch: 1695 +23-06-14 08:06:42.997 - INFO: iters: 4027322 +23-06-14 08:09:23.989 - INFO: train/mse_loss: 0.002284618006566044 +23-06-14 08:09:23.990 - INFO: epoch: 1696 +23-06-14 08:09:23.990 - INFO: iters: 4029698 +23-06-14 08:12:05.832 - INFO: train/mse_loss: 0.002525867665968898 +23-06-14 08:12:05.833 - INFO: epoch: 1697 +23-06-14 08:12:05.833 - INFO: iters: 4032074 +23-06-14 08:14:47.405 - INFO: train/mse_loss: 0.002504112370093102 +23-06-14 08:14:47.406 - INFO: epoch: 1698 +23-06-14 08:14:47.406 - INFO: iters: 4034450 +23-06-14 08:17:28.456 - INFO: train/mse_loss: 0.0027316462525687106 +23-06-14 08:17:28.456 - INFO: epoch: 1699 +23-06-14 08:17:28.456 - INFO: iters: 4036826 +23-06-14 08:20:09.674 - INFO: train/mse_loss: 0.002386126211399106 +23-06-14 08:20:09.676 - INFO: epoch: 1700 +23-06-14 08:20:09.676 - INFO: iters: 4039202 +23-06-14 08:22:51.334 - INFO: train/mse_loss: 0.002531131166809549 +23-06-14 08:22:51.334 - INFO: epoch: 1701 +23-06-14 08:22:51.334 - INFO: iters: 4041578 +23-06-14 08:25:32.327 - INFO: train/mse_loss: 0.002382983740102437 +23-06-14 08:25:32.327 - INFO: epoch: 1702 +23-06-14 08:25:32.327 - INFO: iters: 4043954 +23-06-14 08:28:15.510 - INFO: train/mse_loss: 0.0027741527710868803 +23-06-14 08:28:15.511 - INFO: epoch: 1703 +23-06-14 08:28:15.511 - INFO: iters: 4046330 +23-06-14 08:30:56.223 - INFO: train/mse_loss: 0.0022006500912171724 +23-06-14 08:30:56.224 - INFO: epoch: 1704 +23-06-14 08:30:56.224 - INFO: iters: 4048706 +23-06-14 08:33:38.380 - INFO: train/mse_loss: 0.002585947210880887 +23-06-14 08:33:38.380 - INFO: epoch: 1705 +23-06-14 08:33:38.380 - INFO: iters: 4051082 +23-06-14 08:36:20.792 - INFO: train/mse_loss: 0.0024171332933160755 +23-06-14 08:36:20.792 - INFO: epoch: 1706 +23-06-14 08:36:20.792 - INFO: iters: 4053458 +23-06-14 08:39:01.878 - INFO: train/mse_loss: 0.0027970514360772954 +23-06-14 08:39:01.879 - INFO: epoch: 1707 +23-06-14 08:39:01.879 - INFO: iters: 4055834 +23-06-14 08:41:43.888 - INFO: train/mse_loss: 0.0028393527156569892 +23-06-14 08:41:43.888 - INFO: epoch: 1708 +23-06-14 08:41:43.888 - INFO: iters: 4058210 +23-06-14 08:44:25.166 - INFO: train/mse_loss: 0.002654164710265556 +23-06-14 08:44:25.166 - INFO: epoch: 1709 +23-06-14 08:44:25.166 - INFO: iters: 4060586 +23-06-14 08:47:06.645 - INFO: train/mse_loss: 0.0022328964702868115 +23-06-14 08:47:06.646 - INFO: epoch: 1710 +23-06-14 08:47:06.646 - INFO: iters: 4062962 +23-06-14 08:49:48.056 - INFO: train/mse_loss: 0.0024127422221262096 +23-06-14 08:49:48.057 - INFO: epoch: 1711 +23-06-14 08:49:48.057 - INFO: iters: 4065338 +23-06-14 08:52:29.958 - INFO: train/mse_loss: 0.0026991437932065614 +23-06-14 08:52:29.959 - INFO: epoch: 1712 +23-06-14 08:52:29.959 - INFO: iters: 4067714 +23-06-14 08:55:11.277 - INFO: train/mse_loss: 0.0025249339239056434 +23-06-14 08:55:11.277 - INFO: epoch: 1713 +23-06-14 08:55:11.277 - INFO: iters: 4070090 +23-06-14 08:57:53.170 - INFO: train/mse_loss: 0.0026241714050146666 +23-06-14 08:57:53.171 - INFO: epoch: 1714 +23-06-14 08:57:53.171 - INFO: iters: 4072466 +23-06-14 09:00:34.663 - INFO: train/mse_loss: 0.002460203159589521 +23-06-14 09:00:34.664 - INFO: epoch: 1715 +23-06-14 09:00:34.664 - INFO: iters: 4074842 +23-06-14 09:03:15.987 - INFO: train/mse_loss: 0.0023091463681278275 +23-06-14 09:03:15.988 - INFO: epoch: 1716 +23-06-14 09:03:15.989 - INFO: iters: 4077218 +23-06-14 09:05:57.612 - INFO: train/mse_loss: 0.00264881168966815 +23-06-14 09:05:57.613 - INFO: epoch: 1717 +23-06-14 09:05:57.613 - INFO: iters: 4079594 +23-06-14 09:08:38.614 - INFO: train/mse_loss: 0.002441636375947275 +23-06-14 09:08:38.615 - INFO: epoch: 1718 +23-06-14 09:08:38.615 - INFO: iters: 4081970 +23-06-14 09:11:20.503 - INFO: train/mse_loss: 0.00248224435625786 +23-06-14 09:11:20.504 - INFO: epoch: 1719 +23-06-14 09:11:20.504 - INFO: iters: 4084346 +23-06-14 09:14:01.163 - INFO: train/mse_loss: 0.002861509074026606 +23-06-14 09:14:01.164 - INFO: epoch: 1720 +23-06-14 09:14:01.164 - INFO: iters: 4086722 +23-06-14 09:16:42.887 - INFO: train/mse_loss: 0.0024058843500028688 +23-06-14 09:16:42.888 - INFO: epoch: 1721 +23-06-14 09:16:42.888 - INFO: iters: 4089098 +23-06-14 09:19:23.710 - INFO: train/mse_loss: 0.00256226219689381 +23-06-14 09:19:23.710 - INFO: epoch: 1722 +23-06-14 09:19:23.710 - INFO: iters: 4091474 +23-06-14 09:22:05.395 - INFO: train/mse_loss: 0.002632617512020135 +23-06-14 09:22:05.395 - INFO: epoch: 1723 +23-06-14 09:22:05.395 - INFO: iters: 4093850 +23-06-14 09:24:46.987 - INFO: train/mse_loss: 0.0022239310565790294 +23-06-14 09:24:46.987 - INFO: epoch: 1724 +23-06-14 09:24:46.988 - INFO: iters: 4096226 +23-06-14 09:27:28.146 - INFO: train/mse_loss: 0.002558125984076542 +23-06-14 09:27:28.147 - INFO: epoch: 1725 +23-06-14 09:27:28.147 - INFO: iters: 4098602 +23-06-14 09:30:10.885 - INFO: train/mse_loss: 0.002570306795832673 +23-06-14 09:30:10.886 - INFO: epoch: 1726 +23-06-14 09:30:10.886 - INFO: iters: 4100978 +23-06-14 09:32:52.231 - INFO: train/mse_loss: 0.0025108314314480833 +23-06-14 09:32:52.232 - INFO: epoch: 1727 +23-06-14 09:32:52.232 - INFO: iters: 4103354 +23-06-14 09:35:33.690 - INFO: train/mse_loss: 0.002675884029005265 +23-06-14 09:35:33.691 - INFO: epoch: 1728 +23-06-14 09:35:33.691 - INFO: iters: 4105730 +23-06-14 09:38:15.348 - INFO: train/mse_loss: 0.0028205501601203447 +23-06-14 09:38:15.348 - INFO: epoch: 1729 +23-06-14 09:38:15.348 - INFO: iters: 4108106 +23-06-14 09:40:56.715 - INFO: train/mse_loss: 0.002921488292057456 +23-06-14 09:40:56.716 - INFO: epoch: 1730 +23-06-14 09:40:56.717 - INFO: iters: 4110482 +23-06-14 09:43:38.047 - INFO: train/mse_loss: 0.0028553574577464664 +23-06-14 09:43:38.048 - INFO: epoch: 1731 +23-06-14 09:43:38.048 - INFO: iters: 4112858 +23-06-14 09:46:19.122 - INFO: train/mse_loss: 0.002334250532022461 +23-06-14 09:46:19.122 - INFO: epoch: 1732 +23-06-14 09:46:19.122 - INFO: iters: 4115234 +23-06-14 09:49:00.390 - INFO: train/mse_loss: 0.0025242607075245172 +23-06-14 09:49:00.391 - INFO: epoch: 1733 +23-06-14 09:49:00.391 - INFO: iters: 4117610 +23-06-14 09:51:41.384 - INFO: train/mse_loss: 0.002964417028075448 +23-06-14 09:51:41.385 - INFO: epoch: 1734 +23-06-14 09:51:41.385 - INFO: iters: 4119986 +23-06-14 09:54:22.409 - INFO: train/mse_loss: 0.002822267724634603 +23-06-14 09:54:22.410 - INFO: epoch: 1735 +23-06-14 09:54:22.411 - INFO: iters: 4122362 +23-06-14 09:57:05.004 - INFO: train/mse_loss: 0.0027546985825501785 +23-06-14 09:57:05.005 - INFO: epoch: 1736 +23-06-14 09:57:05.005 - INFO: iters: 4124738 +23-06-14 09:59:46.448 - INFO: train/mse_loss: 0.002320629783364339 +23-06-14 09:59:46.449 - INFO: epoch: 1737 +23-06-14 09:59:46.449 - INFO: iters: 4127114 +23-06-14 10:02:27.849 - INFO: train/mse_loss: 0.002809201028830645 +23-06-14 10:02:27.849 - INFO: epoch: 1738 +23-06-14 10:02:27.850 - INFO: iters: 4129490 +23-06-14 10:05:09.081 - INFO: train/mse_loss: 0.002993535777136075 +23-06-14 10:05:09.081 - INFO: epoch: 1739 +23-06-14 10:05:09.081 - INFO: iters: 4131866 +23-06-14 10:07:49.970 - INFO: train/mse_loss: 0.0025356660621720507 +23-06-14 10:07:49.971 - INFO: epoch: 1740 +23-06-14 10:07:49.971 - INFO: iters: 4134242 +23-06-14 10:10:31.219 - INFO: train/mse_loss: 0.002234255853714657 +23-06-14 10:10:31.220 - INFO: epoch: 1741 +23-06-14 10:10:31.221 - INFO: iters: 4136618 +23-06-14 10:13:12.912 - INFO: train/mse_loss: 0.002478387195327686 +23-06-14 10:13:12.913 - INFO: epoch: 1742 +23-06-14 10:13:12.913 - INFO: iters: 4138994 +23-06-14 10:15:54.136 - INFO: train/mse_loss: 0.0024705680014400176 +23-06-14 10:15:54.137 - INFO: epoch: 1743 +23-06-14 10:15:54.137 - INFO: iters: 4141370 +23-06-14 10:18:36.194 - INFO: train/mse_loss: 0.0022503140822259914 +23-06-14 10:18:36.194 - INFO: epoch: 1744 +23-06-14 10:18:36.194 - INFO: iters: 4143746 +23-06-14 10:21:18.363 - INFO: train/mse_loss: 0.0027188066327873844 +23-06-14 10:21:18.364 - INFO: epoch: 1745 +23-06-14 10:21:18.364 - INFO: iters: 4146122 +23-06-14 10:23:59.829 - INFO: train/mse_loss: 0.0027538873404201734 +23-06-14 10:23:59.829 - INFO: epoch: 1746 +23-06-14 10:23:59.829 - INFO: iters: 4148498 +23-06-14 10:26:40.859 - INFO: train/mse_loss: 0.0024810103800595403 +23-06-14 10:26:40.861 - INFO: epoch: 1747 +23-06-14 10:26:40.861 - INFO: iters: 4150874 +23-06-14 10:29:21.744 - INFO: train/mse_loss: 0.002148881777928929 +23-06-14 10:29:21.744 - INFO: epoch: 1748 +23-06-14 10:29:21.744 - INFO: iters: 4153250 +23-06-14 10:32:02.693 - INFO: train/mse_loss: 0.0024848362643182316 +23-06-14 10:32:02.694 - INFO: epoch: 1749 +23-06-14 10:32:02.694 - INFO: iters: 4155626 +23-06-14 10:34:44.907 - INFO: train/mse_loss: 0.0022348357221074026 +23-06-14 10:34:44.908 - INFO: epoch: 1750 +23-06-14 10:34:44.908 - INFO: iters: 4158002 +23-06-14 10:37:27.924 - INFO: train/mse_loss: 0.002746049461922348 +23-06-14 10:37:27.925 - INFO: epoch: 1751 +23-06-14 10:37:27.925 - INFO: iters: 4160378 +23-06-14 10:40:08.851 - INFO: train/mse_loss: 0.002983986458275467 +23-06-14 10:40:08.852 - INFO: epoch: 1752 +23-06-14 10:40:08.852 - INFO: iters: 4162754 +23-06-14 10:42:49.794 - INFO: train/mse_loss: 0.0029553090919299924 +23-06-14 10:42:49.795 - INFO: epoch: 1753 +23-06-14 10:42:49.795 - INFO: iters: 4165130 +23-06-14 10:45:30.749 - INFO: train/mse_loss: 0.002527493372228724 +23-06-14 10:45:30.749 - INFO: epoch: 1754 +23-06-14 10:45:30.749 - INFO: iters: 4167506 +23-06-14 10:48:11.335 - INFO: train/mse_loss: 0.0023077984264250596 +23-06-14 10:48:11.338 - INFO: epoch: 1755 +23-06-14 10:48:11.338 - INFO: iters: 4169882 +23-06-14 10:50:52.117 - INFO: train/mse_loss: 0.0024897073726177603 +23-06-14 10:50:52.118 - INFO: epoch: 1756 +23-06-14 10:50:52.118 - INFO: iters: 4172258 +23-06-14 10:53:33.214 - INFO: train/mse_loss: 0.002286521365426274 +23-06-14 10:53:33.214 - INFO: epoch: 1757 +23-06-14 10:53:33.215 - INFO: iters: 4174634 +23-06-14 10:56:14.507 - INFO: train/mse_loss: 0.0022403519060298087 +23-06-14 10:56:14.507 - INFO: epoch: 1758 +23-06-14 10:56:14.507 - INFO: iters: 4177010 +23-06-14 10:58:55.497 - INFO: train/mse_loss: 0.0021250976141979636 +23-06-14 10:58:55.498 - INFO: epoch: 1759 +23-06-14 10:58:55.498 - INFO: iters: 4179386 +23-06-14 11:01:36.837 - INFO: train/mse_loss: 0.002507837730407345 +23-06-14 11:01:36.838 - INFO: epoch: 1760 +23-06-14 11:01:36.838 - INFO: iters: 4181762 +23-06-14 11:04:17.903 - INFO: train/mse_loss: 0.002602076199672401 +23-06-14 11:04:17.903 - INFO: epoch: 1761 +23-06-14 11:04:17.903 - INFO: iters: 4184138 +23-06-14 11:06:59.287 - INFO: train/mse_loss: 0.002827445205723591 +23-06-14 11:06:59.288 - INFO: epoch: 1762 +23-06-14 11:06:59.288 - INFO: iters: 4186514 +23-06-14 11:09:40.838 - INFO: train/mse_loss: 0.0026784181752224903 +23-06-14 11:09:40.839 - INFO: epoch: 1763 +23-06-14 11:09:40.839 - INFO: iters: 4188890 +23-06-14 11:12:22.478 - INFO: train/mse_loss: 0.002527257383770469 +23-06-14 11:12:22.478 - INFO: epoch: 1764 +23-06-14 11:12:22.478 - INFO: iters: 4191266 +23-06-14 11:15:03.842 - INFO: train/mse_loss: 0.002426003412165607 +23-06-14 11:15:03.842 - INFO: epoch: 1765 +23-06-14 11:15:03.843 - INFO: iters: 4193642 +23-06-14 11:17:46.447 - INFO: train/mse_loss: 0.002071415219247821 +23-06-14 11:17:46.447 - INFO: epoch: 1766 +23-06-14 11:17:46.447 - INFO: iters: 4196018 +23-06-14 11:20:27.855 - INFO: train/mse_loss: 0.002793909305991191 +23-06-14 11:20:27.856 - INFO: epoch: 1767 +23-06-14 11:20:27.856 - INFO: iters: 4198394 +23-06-14 11:23:09.468 - INFO: train/mse_loss: 0.0020497977541154406 +23-06-14 11:23:09.468 - INFO: epoch: 1768 +23-06-14 11:23:09.469 - INFO: iters: 4200770 +23-06-14 11:25:50.767 - INFO: train/mse_loss: 0.0024469580160499382 +23-06-14 11:25:50.767 - INFO: epoch: 1769 +23-06-14 11:25:50.768 - INFO: iters: 4203146 +23-06-14 11:28:32.236 - INFO: train/mse_loss: 0.002526274836592389 +23-06-14 11:28:32.237 - INFO: epoch: 1770 +23-06-14 11:28:32.237 - INFO: iters: 4205522 +23-06-14 11:31:14.453 - INFO: train/mse_loss: 0.002290732954959589 +23-06-14 11:31:14.453 - INFO: epoch: 1771 +23-06-14 11:31:14.454 - INFO: iters: 4207898 +23-06-14 11:33:55.431 - INFO: train/mse_loss: 0.002470085316420743 +23-06-14 11:33:55.432 - INFO: epoch: 1772 +23-06-14 11:33:55.432 - INFO: iters: 4210274 +23-06-14 11:36:36.643 - INFO: train/mse_loss: 0.002440183289405523 +23-06-14 11:36:36.644 - INFO: epoch: 1773 +23-06-14 11:36:36.644 - INFO: iters: 4212650 +23-06-14 11:39:17.844 - INFO: train/mse_loss: 0.002367208570791471 +23-06-14 11:39:17.845 - INFO: epoch: 1774 +23-06-14 11:39:17.845 - INFO: iters: 4215026 +23-06-14 11:41:58.959 - INFO: train/mse_loss: 0.0024194496320027493 +23-06-14 11:41:58.960 - INFO: epoch: 1775 +23-06-14 11:41:58.960 - INFO: iters: 4217402 +23-06-14 11:44:40.303 - INFO: train/mse_loss: 0.0029760627931506006 +23-06-14 11:44:40.304 - INFO: epoch: 1776 +23-06-14 11:44:40.304 - INFO: iters: 4219778 +23-06-14 11:47:21.235 - INFO: train/mse_loss: 0.002304701527121229 +23-06-14 11:47:21.236 - INFO: epoch: 1777 +23-06-14 11:47:21.236 - INFO: iters: 4222154 +23-06-14 11:50:02.761 - INFO: train/mse_loss: 0.002567537193012546 +23-06-14 11:50:02.762 - INFO: epoch: 1778 +23-06-14 11:50:02.762 - INFO: iters: 4224530 +23-06-14 11:52:43.952 - INFO: train/mse_loss: 0.002074635547455651 +23-06-14 11:52:43.953 - INFO: epoch: 1779 +23-06-14 11:52:43.953 - INFO: iters: 4226906 +23-06-14 11:55:24.843 - INFO: train/mse_loss: 0.002237919727238428 +23-06-14 11:55:24.844 - INFO: epoch: 1780 +23-06-14 11:55:24.844 - INFO: iters: 4229282 +23-06-14 11:58:06.069 - INFO: train/mse_loss: 0.002464964938223023 +23-06-14 11:58:06.070 - INFO: epoch: 1781 +23-06-14 11:58:06.070 - INFO: iters: 4231658 +23-06-14 12:00:47.945 - INFO: train/mse_loss: 0.0026423253872751664 +23-06-14 12:00:47.946 - INFO: epoch: 1782 +23-06-14 12:00:47.946 - INFO: iters: 4234034 +23-06-14 12:03:28.653 - INFO: train/mse_loss: 0.002391465224822676 +23-06-14 12:03:28.653 - INFO: epoch: 1783 +23-06-14 12:03:28.654 - INFO: iters: 4236410 +23-06-14 12:06:10.284 - INFO: train/mse_loss: 0.002836265627479789 +23-06-14 12:06:10.284 - INFO: epoch: 1784 +23-06-14 12:06:10.285 - INFO: iters: 4238786 +23-06-14 12:08:52.322 - INFO: train/mse_loss: 0.0031437494317563533 +23-06-14 12:08:52.323 - INFO: epoch: 1785 +23-06-14 12:08:52.323 - INFO: iters: 4241162 +23-06-14 12:11:33.615 - INFO: train/mse_loss: 0.00228559273221218 +23-06-14 12:11:33.616 - INFO: epoch: 1786 +23-06-14 12:11:33.616 - INFO: iters: 4243538 +23-06-14 12:14:15.182 - INFO: train/mse_loss: 0.002585683038204623 +23-06-14 12:14:15.183 - INFO: epoch: 1787 +23-06-14 12:14:15.183 - INFO: iters: 4245914 +23-06-14 12:16:56.516 - INFO: train/mse_loss: 0.0023726211958866633 +23-06-14 12:16:56.516 - INFO: epoch: 1788 +23-06-14 12:16:56.517 - INFO: iters: 4248290 +23-06-14 12:19:37.581 - INFO: train/mse_loss: 0.002442257680061198 +23-06-14 12:19:37.581 - INFO: epoch: 1789 +23-06-14 12:19:37.582 - INFO: iters: 4250666 +23-06-14 12:22:20.109 - INFO: train/mse_loss: 0.0022082568426253523 +23-06-14 12:22:20.109 - INFO: epoch: 1790 +23-06-14 12:22:20.110 - INFO: iters: 4253042 +23-06-14 12:25:01.714 - INFO: train/mse_loss: 0.0028795876934370247 +23-06-14 12:25:01.715 - INFO: epoch: 1791 +23-06-14 12:25:01.715 - INFO: iters: 4255418 +23-06-14 12:27:42.920 - INFO: train/mse_loss: 0.0028225642225041874 +23-06-14 12:27:42.921 - INFO: epoch: 1792 +23-06-14 12:27:42.921 - INFO: iters: 4257794 +23-06-14 12:30:24.196 - INFO: train/mse_loss: 0.002871839279134096 +23-06-14 12:30:24.197 - INFO: epoch: 1793 +23-06-14 12:30:24.197 - INFO: iters: 4260170 +23-06-14 12:33:05.359 - INFO: train/mse_loss: 0.0024906080325921174 +23-06-14 12:33:05.360 - INFO: epoch: 1794 +23-06-14 12:33:05.360 - INFO: iters: 4262546 +23-06-14 12:35:46.519 - INFO: train/mse_loss: 0.0024840284018582894 +23-06-14 12:35:46.520 - INFO: epoch: 1795 +23-06-14 12:35:46.520 - INFO: iters: 4264922 +23-06-14 12:38:27.594 - INFO: train/mse_loss: 0.0024038534396859544 +23-06-14 12:38:27.594 - INFO: epoch: 1796 +23-06-14 12:38:27.594 - INFO: iters: 4267298 +23-06-14 12:41:08.738 - INFO: train/mse_loss: 0.0024704353910124537 +23-06-14 12:41:08.740 - INFO: epoch: 1797 +23-06-14 12:41:08.740 - INFO: iters: 4269674 +23-06-14 12:43:50.090 - INFO: train/mse_loss: 0.002384037435954744 +23-06-14 12:43:50.091 - INFO: epoch: 1798 +23-06-14 12:43:50.091 - INFO: iters: 4272050 +23-06-14 12:46:31.689 - INFO: train/mse_loss: 0.0022642253330216497 +23-06-14 12:46:31.690 - INFO: epoch: 1799 +23-06-14 12:46:31.690 - INFO: iters: 4274426 +23-06-14 12:49:13.556 - INFO: train/mse_loss: 0.0028439467455933076 +23-06-14 12:49:13.557 - INFO: epoch: 1800 +23-06-14 12:49:13.557 - INFO: iters: 4276802 +23-06-14 12:51:54.999 - INFO: train/mse_loss: 0.002154943527950143 +23-06-14 12:51:55.000 - INFO: epoch: 1801 +23-06-14 12:51:55.000 - INFO: iters: 4279178 +23-06-14 12:54:36.039 - INFO: train/mse_loss: 0.0021507091525673977 +23-06-14 12:54:36.039 - INFO: epoch: 1802 +23-06-14 12:54:36.039 - INFO: iters: 4281554 +23-06-14 12:57:17.674 - INFO: train/mse_loss: 0.0023261321785386264 +23-06-14 12:57:17.674 - INFO: epoch: 1803 +23-06-14 12:57:17.675 - INFO: iters: 4283930 +23-06-14 12:59:59.046 - INFO: train/mse_loss: 0.0022748169899892267 +23-06-14 12:59:59.047 - INFO: epoch: 1804 +23-06-14 12:59:59.047 - INFO: iters: 4286306 +23-06-14 13:02:39.965 - INFO: train/mse_loss: 0.0023803391547948874 +23-06-14 13:02:39.966 - INFO: epoch: 1805 +23-06-14 13:02:39.966 - INFO: iters: 4288682 +23-06-14 13:05:21.966 - INFO: train/mse_loss: 0.0028209051031851356 +23-06-14 13:05:21.966 - INFO: epoch: 1806 +23-06-14 13:05:21.966 - INFO: iters: 4291058 +23-06-14 13:08:03.119 - INFO: train/mse_loss: 0.0026524046762071876 +23-06-14 13:08:03.120 - INFO: epoch: 1807 +23-06-14 13:08:03.120 - INFO: iters: 4293434 +23-06-14 13:10:44.944 - INFO: train/mse_loss: 0.002793312499120123 +23-06-14 13:10:44.945 - INFO: epoch: 1808 +23-06-14 13:10:44.945 - INFO: iters: 4295810 +23-06-14 13:13:26.492 - INFO: train/mse_loss: 0.0021379800172960104 +23-06-14 13:13:26.493 - INFO: epoch: 1809 +23-06-14 13:13:26.493 - INFO: iters: 4298186 +23-06-14 13:16:08.092 - INFO: train/mse_loss: 0.002488928261998514 +23-06-14 13:16:08.093 - INFO: epoch: 1810 +23-06-14 13:16:08.093 - INFO: iters: 4300562 +23-06-14 13:18:49.638 - INFO: train/mse_loss: 0.002141702871496071 +23-06-14 13:18:49.639 - INFO: epoch: 1811 +23-06-14 13:18:49.639 - INFO: iters: 4302938 +23-06-14 13:21:31.756 - INFO: train/mse_loss: 0.0026461989582580534 +23-06-14 13:21:31.758 - INFO: epoch: 1812 +23-06-14 13:21:31.758 - INFO: iters: 4305314 +23-06-14 13:24:13.200 - INFO: train/mse_loss: 0.0028139931493833103 +23-06-14 13:24:13.201 - INFO: epoch: 1813 +23-06-14 13:24:13.201 - INFO: iters: 4307690 +23-06-14 13:26:54.696 - INFO: train/mse_loss: 0.0025664579233206394 +23-06-14 13:26:54.697 - INFO: epoch: 1814 +23-06-14 13:26:54.697 - INFO: iters: 4310066 +23-06-14 13:29:37.134 - INFO: train/mse_loss: 0.002495864989725569 +23-06-14 13:29:37.135 - INFO: epoch: 1815 +23-06-14 13:29:37.135 - INFO: iters: 4312442 +23-06-14 13:32:18.897 - INFO: train/mse_loss: 0.002475268779669791 +23-06-14 13:32:18.898 - INFO: epoch: 1816 +23-06-14 13:32:18.898 - INFO: iters: 4314818 +23-06-14 13:35:00.333 - INFO: train/mse_loss: 0.0022552323805247448 +23-06-14 13:35:00.333 - INFO: epoch: 1817 +23-06-14 13:35:00.334 - INFO: iters: 4317194 +23-06-14 13:37:41.534 - INFO: train/mse_loss: 0.002031594553259938 +23-06-14 13:37:41.535 - INFO: epoch: 1818 +23-06-14 13:37:41.535 - INFO: iters: 4319570 +23-06-14 13:40:22.729 - INFO: train/mse_loss: 0.002379748873257389 +23-06-14 13:40:22.730 - INFO: epoch: 1819 +23-06-14 13:40:22.730 - INFO: iters: 4321946 +23-06-14 13:43:04.805 - INFO: train/mse_loss: 0.0026993142110287756 +23-06-14 13:43:04.805 - INFO: epoch: 1820 +23-06-14 13:43:04.806 - INFO: iters: 4324322 +23-06-14 13:45:46.946 - INFO: train/mse_loss: 0.002640009315912565 +23-06-14 13:45:46.946 - INFO: epoch: 1821 +23-06-14 13:45:46.946 - INFO: iters: 4326698 +23-06-14 13:48:28.591 - INFO: train/mse_loss: 0.0023322661336933133 +23-06-14 13:48:28.592 - INFO: epoch: 1822 +23-06-14 13:48:28.592 - INFO: iters: 4329074 +23-06-14 13:51:10.217 - INFO: train/mse_loss: 0.0022522439852494885 +23-06-14 13:51:10.218 - INFO: epoch: 1823 +23-06-14 13:51:10.218 - INFO: iters: 4331450 +23-06-14 13:53:51.660 - INFO: train/mse_loss: 0.0026263780618495675 +23-06-14 13:53:51.660 - INFO: epoch: 1824 +23-06-14 13:53:51.660 - INFO: iters: 4333826 +23-06-14 13:56:33.565 - INFO: train/mse_loss: 0.0026007521147322324 +23-06-14 13:56:33.566 - INFO: epoch: 1825 +23-06-14 13:56:33.566 - INFO: iters: 4336202 +23-06-14 13:59:14.335 - INFO: train/mse_loss: 0.0024120702215894487 +23-06-14 13:59:14.335 - INFO: epoch: 1826 +23-06-14 13:59:14.336 - INFO: iters: 4338578 +23-06-14 14:01:55.850 - INFO: train/mse_loss: 0.002242715287432686 +23-06-14 14:01:55.850 - INFO: epoch: 1827 +23-06-14 14:01:55.851 - INFO: iters: 4340954 +23-06-14 14:04:36.850 - INFO: train/mse_loss: 0.002574807883519366 +23-06-14 14:04:36.850 - INFO: epoch: 1828 +23-06-14 14:04:36.850 - INFO: iters: 4343330 +23-06-14 14:07:18.369 - INFO: train/mse_loss: 0.002566741373854837 +23-06-14 14:07:18.370 - INFO: epoch: 1829 +23-06-14 14:07:18.370 - INFO: iters: 4345706 +23-06-14 14:09:59.531 - INFO: train/mse_loss: 0.0023543118828572864 +23-06-14 14:09:59.532 - INFO: epoch: 1830 +23-06-14 14:09:59.532 - INFO: iters: 4348082 +23-06-14 14:12:40.826 - INFO: train/mse_loss: 0.002420114675009159 +23-06-14 14:12:40.827 - INFO: epoch: 1831 +23-06-14 14:12:40.827 - INFO: iters: 4350458 +23-06-14 14:15:22.639 - INFO: train/mse_loss: 0.0022925314203810936 +23-06-14 14:15:22.640 - INFO: epoch: 1832 +23-06-14 14:15:22.640 - INFO: iters: 4352834 +23-06-14 14:18:03.749 - INFO: train/mse_loss: 0.002488496798985898 +23-06-14 14:18:03.750 - INFO: epoch: 1833 +23-06-14 14:18:03.750 - INFO: iters: 4355210 +23-06-14 14:20:44.964 - INFO: train/mse_loss: 0.002704736749407983 +23-06-14 14:20:44.964 - INFO: epoch: 1834 +23-06-14 14:20:44.965 - INFO: iters: 4357586 +23-06-14 14:23:26.256 - INFO: train/mse_loss: 0.00240473464497456 +23-06-14 14:23:26.257 - INFO: epoch: 1835 +23-06-14 14:23:26.257 - INFO: iters: 4359962 +23-06-14 14:26:07.736 - INFO: train/mse_loss: 0.002447027031864159 +23-06-14 14:26:07.737 - INFO: epoch: 1836 +23-06-14 14:26:07.737 - INFO: iters: 4362338 +23-06-14 14:28:49.409 - INFO: train/mse_loss: 0.0021500548502463245 +23-06-14 14:28:49.410 - INFO: epoch: 1837 +23-06-14 14:28:49.410 - INFO: iters: 4364714 +23-06-14 14:31:30.289 - INFO: train/mse_loss: 0.0027632811701067124 +23-06-14 14:31:30.289 - INFO: epoch: 1838 +23-06-14 14:31:30.289 - INFO: iters: 4367090 +23-06-14 14:34:11.576 - INFO: train/mse_loss: 0.002460246863057649 +23-06-14 14:34:11.576 - INFO: epoch: 1839 +23-06-14 14:34:11.576 - INFO: iters: 4369466 +23-06-14 14:36:52.230 - INFO: train/mse_loss: 0.002851281511465633 +23-06-14 14:36:52.231 - INFO: epoch: 1840 +23-06-14 14:36:52.231 - INFO: iters: 4371842 +23-06-14 14:39:33.382 - INFO: train/mse_loss: 0.0022872043648591227 +23-06-14 14:39:33.382 - INFO: epoch: 1841 +23-06-14 14:39:33.382 - INFO: iters: 4374218 +23-06-14 14:42:15.339 - INFO: train/mse_loss: 0.002503563387331989 +23-06-14 14:42:15.340 - INFO: epoch: 1842 +23-06-14 14:42:15.340 - INFO: iters: 4376594 +23-06-14 14:44:56.297 - INFO: train/mse_loss: 0.002293615459965429 +23-06-14 14:44:56.298 - INFO: epoch: 1843 +23-06-14 14:44:56.298 - INFO: iters: 4378970 +23-06-14 14:47:37.632 - INFO: train/mse_loss: 0.002481537841664947 +23-06-14 14:47:37.632 - INFO: epoch: 1844 +23-06-14 14:47:37.633 - INFO: iters: 4381346 +23-06-14 14:50:18.873 - INFO: train/mse_loss: 0.0024856425849611083 +23-06-14 14:50:18.873 - INFO: epoch: 1845 +23-06-14 14:50:18.873 - INFO: iters: 4383722 +23-06-14 14:53:00.646 - INFO: train/mse_loss: 0.0023272363818348588 +23-06-14 14:53:00.648 - INFO: epoch: 1846 +23-06-14 14:53:00.648 - INFO: iters: 4386098 +23-06-14 14:55:41.779 - INFO: train/mse_loss: 0.0026247423784634856 +23-06-14 14:55:41.780 - INFO: epoch: 1847 +23-06-14 14:55:41.781 - INFO: iters: 4388474 +23-06-14 14:58:22.738 - INFO: train/mse_loss: 0.0021118786972763193 +23-06-14 14:58:22.738 - INFO: epoch: 1848 +23-06-14 14:58:22.739 - INFO: iters: 4390850 +23-06-14 15:01:03.887 - INFO: train/mse_loss: 0.0025600223642399987 +23-06-14 15:01:03.887 - INFO: epoch: 1849 +23-06-14 15:01:03.887 - INFO: iters: 4393226 +23-06-14 15:03:45.547 - INFO: train/mse_loss: 0.0021976808293586165 +23-06-14 15:03:45.547 - INFO: epoch: 1850 +23-06-14 15:03:45.547 - INFO: iters: 4395602 +23-06-14 15:06:26.328 - INFO: train/mse_loss: 0.0024975223038231904 +23-06-14 15:06:26.328 - INFO: epoch: 1851 +23-06-14 15:06:26.328 - INFO: iters: 4397978 +23-06-14 15:09:07.114 - INFO: train/mse_loss: 0.0027226849325057683 +23-06-14 15:09:07.114 - INFO: epoch: 1852 +23-06-14 15:09:07.114 - INFO: iters: 4400354 +23-06-14 15:11:47.786 - INFO: train/mse_loss: 0.002783622541829398 +23-06-14 15:11:47.787 - INFO: epoch: 1853 +23-06-14 15:11:47.787 - INFO: iters: 4402730 +23-06-14 15:14:28.895 - INFO: train/mse_loss: 0.0022059861225270437 +23-06-14 15:14:28.895 - INFO: epoch: 1854 +23-06-14 15:14:28.895 - INFO: iters: 4405106 +23-06-14 15:17:09.881 - INFO: train/mse_loss: 0.0025594960617901824 +23-06-14 15:17:09.881 - INFO: epoch: 1855 +23-06-14 15:17:09.882 - INFO: iters: 4407482 +23-06-14 15:19:51.209 - INFO: train/mse_loss: 0.002481861121428077 +23-06-14 15:19:51.209 - INFO: epoch: 1856 +23-06-14 15:19:51.209 - INFO: iters: 4409858 +23-06-14 15:22:32.115 - INFO: train/mse_loss: 0.002701043681949471 +23-06-14 15:22:32.115 - INFO: epoch: 1857 +23-06-14 15:22:32.116 - INFO: iters: 4412234 +23-06-14 15:25:13.214 - INFO: train/mse_loss: 0.0024305191297697135 +23-06-14 15:25:13.216 - INFO: epoch: 1858 +23-06-14 15:25:13.216 - INFO: iters: 4414610 +23-06-14 15:27:54.286 - INFO: train/mse_loss: 0.0021827164395541417 +23-06-14 15:27:54.287 - INFO: epoch: 1859 +23-06-14 15:27:54.287 - INFO: iters: 4416986 +23-06-14 15:30:35.626 - INFO: train/mse_loss: 0.0020679317622799083 +23-06-14 15:30:35.626 - INFO: epoch: 1860 +23-06-14 15:30:35.626 - INFO: iters: 4419362 +23-06-14 15:33:17.398 - INFO: train/mse_loss: 0.0026158624468214484 +23-06-14 15:33:17.399 - INFO: epoch: 1861 +23-06-14 15:33:17.399 - INFO: iters: 4421738 +23-06-14 15:35:58.855 - INFO: train/mse_loss: 0.002474770664083787 +23-06-14 15:35:58.856 - INFO: epoch: 1862 +23-06-14 15:35:58.856 - INFO: iters: 4424114 +23-06-14 15:38:40.084 - INFO: train/mse_loss: 0.0023619835776992624 +23-06-14 15:38:40.085 - INFO: epoch: 1863 +23-06-14 15:38:40.085 - INFO: iters: 4426490 +23-06-14 15:41:21.422 - INFO: train/mse_loss: 0.002521276872045351 +23-06-14 15:41:21.422 - INFO: epoch: 1864 +23-06-14 15:41:21.422 - INFO: iters: 4428866 +23-06-14 15:44:02.699 - INFO: train/mse_loss: 0.0025151571777675876 +23-06-14 15:44:02.700 - INFO: epoch: 1865 +23-06-14 15:44:02.700 - INFO: iters: 4431242 +23-06-14 15:46:43.667 - INFO: train/mse_loss: 0.0023112848976482745 +23-06-14 15:46:43.668 - INFO: epoch: 1866 +23-06-14 15:46:43.668 - INFO: iters: 4433618 +23-06-14 15:49:25.397 - INFO: train/mse_loss: 0.002514491014018724 +23-06-14 15:49:25.398 - INFO: epoch: 1867 +23-06-14 15:49:25.398 - INFO: iters: 4435994 +23-06-14 15:52:06.678 - INFO: train/mse_loss: 0.002389347227956623 +23-06-14 15:52:06.679 - INFO: epoch: 1868 +23-06-14 15:52:06.679 - INFO: iters: 4438370 +23-06-14 15:54:47.864 - INFO: train/mse_loss: 0.0025335505672554903 +23-06-14 15:54:47.865 - INFO: epoch: 1869 +23-06-14 15:54:47.865 - INFO: iters: 4440746 +23-06-14 15:57:29.265 - INFO: train/mse_loss: 0.0023173816092582795 +23-06-14 15:57:29.265 - INFO: epoch: 1870 +23-06-14 15:57:29.266 - INFO: iters: 4443122 +23-06-14 16:00:10.790 - INFO: train/mse_loss: 0.002187429352317347 +23-06-14 16:00:10.790 - INFO: epoch: 1871 +23-06-14 16:00:10.790 - INFO: iters: 4445498 +23-06-14 16:02:51.751 - INFO: train/mse_loss: 0.0024465171115391382 +23-06-14 16:02:51.752 - INFO: epoch: 1872 +23-06-14 16:02:51.752 - INFO: iters: 4447874 +23-06-14 16:05:32.790 - INFO: train/mse_loss: 0.0023261053538222733 +23-06-14 16:05:32.791 - INFO: epoch: 1873 +23-06-14 16:05:32.791 - INFO: iters: 4450250 +23-06-14 16:08:14.271 - INFO: train/mse_loss: 0.002309127469550621 +23-06-14 16:08:14.272 - INFO: epoch: 1874 +23-06-14 16:08:14.273 - INFO: iters: 4452626 +23-06-14 16:10:55.944 - INFO: train/mse_loss: 0.002264872465707183 +23-06-14 16:10:55.946 - INFO: epoch: 1875 +23-06-14 16:10:55.946 - INFO: iters: 4455002 +23-06-14 16:13:37.574 - INFO: train/mse_loss: 0.00258727905444169 +23-06-14 16:13:37.574 - INFO: epoch: 1876 +23-06-14 16:13:37.575 - INFO: iters: 4457378 +23-06-14 16:16:18.912 - INFO: train/mse_loss: 0.002170061585293481 +23-06-14 16:16:18.913 - INFO: epoch: 1877 +23-06-14 16:16:18.913 - INFO: iters: 4459754 +23-06-14 16:19:00.773 - INFO: train/mse_loss: 0.002291187499710578 +23-06-14 16:19:00.773 - INFO: epoch: 1878 +23-06-14 16:19:00.773 - INFO: iters: 4462130 +23-06-14 16:21:42.237 - INFO: train/mse_loss: 0.002725864547345574 +23-06-14 16:21:42.238 - INFO: epoch: 1879 +23-06-14 16:21:42.238 - INFO: iters: 4464506 +23-06-14 16:24:24.870 - INFO: train/mse_loss: 0.0024697781157889953 +23-06-14 16:24:24.871 - INFO: epoch: 1880 +23-06-14 16:24:24.871 - INFO: iters: 4466882 +23-06-14 16:27:06.039 - INFO: train/mse_loss: 0.0021305773996156937 +23-06-14 16:27:06.040 - INFO: epoch: 1881 +23-06-14 16:27:06.040 - INFO: iters: 4469258 +23-06-14 16:29:47.464 - INFO: train/mse_loss: 0.002478502753801387 +23-06-14 16:29:47.465 - INFO: epoch: 1882 +23-06-14 16:29:47.465 - INFO: iters: 4471634 +23-06-14 16:32:28.843 - INFO: train/mse_loss: 0.00205764198322586 +23-06-14 16:32:28.844 - INFO: epoch: 1883 +23-06-14 16:32:28.844 - INFO: iters: 4474010 +23-06-14 16:35:10.104 - INFO: train/mse_loss: 0.0023236920227008946 +23-06-14 16:35:10.104 - INFO: epoch: 1884 +23-06-14 16:35:10.104 - INFO: iters: 4476386 +23-06-14 16:37:52.239 - INFO: train/mse_loss: 0.002651270723259641 +23-06-14 16:37:52.239 - INFO: epoch: 1885 +23-06-14 16:37:52.239 - INFO: iters: 4478762 +23-06-14 16:40:34.006 - INFO: train/mse_loss: 0.002892938077309473 +23-06-14 16:40:34.007 - INFO: epoch: 1886 +23-06-14 16:40:34.007 - INFO: iters: 4481138 +23-06-14 16:43:15.052 - INFO: train/mse_loss: 0.002745022847135285 +23-06-14 16:43:15.053 - INFO: epoch: 1887 +23-06-14 16:43:15.053 - INFO: iters: 4483514 +23-06-14 16:45:57.428 - INFO: train/mse_loss: 0.002458602141364327 +23-06-14 16:45:57.429 - INFO: epoch: 1888 +23-06-14 16:45:57.429 - INFO: iters: 4485890 +23-06-14 16:48:38.685 - INFO: train/mse_loss: 0.0027278225774083425 +23-06-14 16:48:38.686 - INFO: epoch: 1889 +23-06-14 16:48:38.686 - INFO: iters: 4488266 +23-06-14 16:51:19.858 - INFO: train/mse_loss: 0.002183248352869696 +23-06-14 16:51:19.859 - INFO: epoch: 1890 +23-06-14 16:51:19.859 - INFO: iters: 4490642 +23-06-14 16:54:01.062 - INFO: train/mse_loss: 0.0021753214515360724 +23-06-14 16:54:01.062 - INFO: epoch: 1891 +23-06-14 16:54:01.062 - INFO: iters: 4493018 +23-06-14 16:56:43.065 - INFO: train/mse_loss: 0.0023988643099153288 +23-06-14 16:56:43.066 - INFO: epoch: 1892 +23-06-14 16:56:43.066 - INFO: iters: 4495394 +23-06-14 16:59:24.298 - INFO: train/mse_loss: 0.00244418117426444 +23-06-14 16:59:24.299 - INFO: epoch: 1893 +23-06-14 16:59:24.299 - INFO: iters: 4497770 +23-06-14 17:02:05.684 - INFO: train/mse_loss: 0.002892568620840583 +23-06-14 17:02:05.685 - INFO: epoch: 1894 +23-06-14 17:02:05.685 - INFO: iters: 4500146 +23-06-14 17:04:48.012 - INFO: train/mse_loss: 0.0021874133846036593 +23-06-14 17:04:48.012 - INFO: epoch: 1895 +23-06-14 17:04:48.012 - INFO: iters: 4502522 +23-06-14 17:07:29.270 - INFO: train/mse_loss: 0.0027315815511768722 +23-06-14 17:07:29.270 - INFO: epoch: 1896 +23-06-14 17:07:29.270 - INFO: iters: 4504898 +23-06-14 17:10:10.152 - INFO: train/mse_loss: 0.0025456535827089416 +23-06-14 17:10:10.153 - INFO: epoch: 1897 +23-06-14 17:10:10.153 - INFO: iters: 4507274 +23-06-14 17:12:52.436 - INFO: train/mse_loss: 0.002129091828691488 +23-06-14 17:12:52.436 - INFO: epoch: 1898 +23-06-14 17:12:52.437 - INFO: iters: 4509650 +23-06-14 17:15:34.118 - INFO: train/mse_loss: 0.0029940677916290874 +23-06-14 17:15:34.119 - INFO: epoch: 1899 +23-06-14 17:15:34.119 - INFO: iters: 4512026 +23-06-14 17:18:15.140 - INFO: train/mse_loss: 0.002410022701510708 +23-06-14 17:18:15.141 - INFO: epoch: 1900 +23-06-14 17:18:15.141 - INFO: iters: 4514402 +23-06-14 17:20:56.597 - INFO: train/mse_loss: 0.0021819837401861712 +23-06-14 17:20:56.598 - INFO: epoch: 1901 +23-06-14 17:20:56.598 - INFO: iters: 4516778 +23-06-14 17:23:37.535 - INFO: train/mse_loss: 0.0024218639574560058 +23-06-14 17:23:37.536 - INFO: epoch: 1902 +23-06-14 17:23:37.536 - INFO: iters: 4519154 +23-06-14 17:26:19.026 - INFO: train/mse_loss: 0.002355770057914716 +23-06-14 17:26:19.026 - INFO: epoch: 1903 +23-06-14 17:26:19.026 - INFO: iters: 4521530 +23-06-14 17:29:00.421 - INFO: train/mse_loss: 0.0027919457140590316 +23-06-14 17:29:00.422 - INFO: epoch: 1904 +23-06-14 17:29:00.422 - INFO: iters: 4523906 +23-06-14 17:31:41.916 - INFO: train/mse_loss: 0.0028099393237284963 +23-06-14 17:31:41.920 - INFO: epoch: 1905 +23-06-14 17:31:41.920 - INFO: iters: 4526282 +23-06-14 17:34:23.204 - INFO: train/mse_loss: 0.002493247573627692 +23-06-14 17:34:23.204 - INFO: epoch: 1906 +23-06-14 17:34:23.204 - INFO: iters: 4528658 +23-06-14 17:37:04.686 - INFO: train/mse_loss: 0.002329209262151616 +23-06-14 17:37:04.686 - INFO: epoch: 1907 +23-06-14 17:37:04.687 - INFO: iters: 4531034 +23-06-14 17:39:46.104 - INFO: train/mse_loss: 0.002061640198908116 +23-06-14 17:39:46.105 - INFO: epoch: 1908 +23-06-14 17:39:46.105 - INFO: iters: 4533410 +23-06-14 17:42:28.030 - INFO: train/mse_loss: 0.002892404757161791 +23-06-14 17:42:28.031 - INFO: epoch: 1909 +23-06-14 17:42:28.031 - INFO: iters: 4535786 +23-06-14 17:45:08.959 - INFO: train/mse_loss: 0.0023401983803324716 +23-06-14 17:45:08.960 - INFO: epoch: 1910 +23-06-14 17:45:08.960 - INFO: iters: 4538162 +23-06-14 17:47:49.795 - INFO: train/mse_loss: 0.0021324509682066374 +23-06-14 17:47:49.795 - INFO: epoch: 1911 +23-06-14 17:47:49.795 - INFO: iters: 4540538 +23-06-14 17:50:31.348 - INFO: train/mse_loss: 0.002513523542330842 +23-06-14 17:50:31.349 - INFO: epoch: 1912 +23-06-14 17:50:31.349 - INFO: iters: 4542914 +23-06-14 17:53:12.727 - INFO: train/mse_loss: 0.0023257531180016708 +23-06-14 17:53:12.728 - INFO: epoch: 1913 +23-06-14 17:53:12.728 - INFO: iters: 4545290 +23-06-14 17:55:54.217 - INFO: train/mse_loss: 0.0023392355897556365 +23-06-14 17:55:54.218 - INFO: epoch: 1914 +23-06-14 17:55:54.218 - INFO: iters: 4547666 +23-06-14 17:58:36.110 - INFO: train/mse_loss: 0.00199947439495518 +23-06-14 17:58:36.111 - INFO: epoch: 1915 +23-06-14 17:58:36.111 - INFO: iters: 4550042 +23-06-14 18:01:17.103 - INFO: train/mse_loss: 0.0020766450769913944 +23-06-14 18:01:17.104 - INFO: epoch: 1916 +23-06-14 18:01:17.104 - INFO: iters: 4552418 +23-06-14 18:03:58.434 - INFO: train/mse_loss: 0.0021337703062826612 +23-06-14 18:03:58.435 - INFO: epoch: 1917 +23-06-14 18:03:58.435 - INFO: iters: 4554794 +23-06-14 18:06:39.290 - INFO: train/mse_loss: 0.002425257016407633 +23-06-14 18:06:39.291 - INFO: epoch: 1918 +23-06-14 18:06:39.291 - INFO: iters: 4557170 +23-06-14 18:09:20.843 - INFO: train/mse_loss: 0.0024074432676264496 +23-06-14 18:09:20.843 - INFO: epoch: 1919 +23-06-14 18:09:20.843 - INFO: iters: 4559546 +23-06-14 18:12:02.967 - INFO: train/mse_loss: 0.00243928054512654 +23-06-14 18:12:02.968 - INFO: epoch: 1920 +23-06-14 18:12:02.968 - INFO: iters: 4561922 +23-06-14 18:14:44.089 - INFO: train/mse_loss: 0.0029722088707810086 +23-06-14 18:14:44.090 - INFO: epoch: 1921 +23-06-14 18:14:44.090 - INFO: iters: 4564298 +23-06-14 18:17:25.338 - INFO: train/mse_loss: 0.0021239634820217775 +23-06-14 18:17:25.338 - INFO: epoch: 1922 +23-06-14 18:17:25.339 - INFO: iters: 4566674 +23-06-14 18:20:06.859 - INFO: train/mse_loss: 0.0026162677040885702 +23-06-14 18:20:06.859 - INFO: epoch: 1923 +23-06-14 18:20:06.860 - INFO: iters: 4569050 +23-06-14 18:22:48.071 - INFO: train/mse_loss: 0.002633669111514715 +23-06-14 18:22:48.071 - INFO: epoch: 1924 +23-06-14 18:22:48.071 - INFO: iters: 4571426 +23-06-14 18:25:29.363 - INFO: train/mse_loss: 0.0027323420224585867 +23-06-14 18:25:29.364 - INFO: epoch: 1925 +23-06-14 18:25:29.364 - INFO: iters: 4573802 +23-06-14 18:28:10.319 - INFO: train/mse_loss: 0.002570650822658214 +23-06-14 18:28:10.320 - INFO: epoch: 1926 +23-06-14 18:28:10.320 - INFO: iters: 4576178 +23-06-14 18:30:52.079 - INFO: train/mse_loss: 0.0026912153665186456 +23-06-14 18:30:52.079 - INFO: epoch: 1927 +23-06-14 18:30:52.079 - INFO: iters: 4578554 +23-06-14 18:33:33.580 - INFO: train/mse_loss: 0.0023370577347377056 +23-06-14 18:33:33.580 - INFO: epoch: 1928 +23-06-14 18:33:33.580 - INFO: iters: 4580930 +23-06-14 18:36:14.013 - INFO: train/mse_loss: 0.002469142285825901 +23-06-14 18:36:14.013 - INFO: epoch: 1929 +23-06-14 18:36:14.013 - INFO: iters: 4583306 +23-06-14 18:38:55.165 - INFO: train/mse_loss: 0.0021021988285295445 +23-06-14 18:38:55.166 - INFO: epoch: 1930 +23-06-14 18:38:55.166 - INFO: iters: 4585682 +23-06-14 18:41:36.084 - INFO: train/mse_loss: 0.0025752552519223153 +23-06-14 18:41:36.085 - INFO: epoch: 1931 +23-06-14 18:41:36.085 - INFO: iters: 4588058 +23-06-14 18:44:17.034 - INFO: train/mse_loss: 0.0025228092179207214 +23-06-14 18:44:17.035 - INFO: epoch: 1932 +23-06-14 18:44:17.035 - INFO: iters: 4590434 +23-06-14 18:46:58.565 - INFO: train/mse_loss: 0.002674321355909636 +23-06-14 18:46:58.566 - INFO: epoch: 1933 +23-06-14 18:46:58.566 - INFO: iters: 4592810 +23-06-14 18:49:40.238 - INFO: train/mse_loss: 0.0023373411009981852 +23-06-14 18:49:40.239 - INFO: epoch: 1934 +23-06-14 18:49:40.239 - INFO: iters: 4595186 +23-06-14 18:52:21.487 - INFO: train/mse_loss: 0.002318869404616665 +23-06-14 18:52:21.487 - INFO: epoch: 1935 +23-06-14 18:52:21.487 - INFO: iters: 4597562 +23-06-14 18:55:03.165 - INFO: train/mse_loss: 0.002062518658098429 +23-06-14 18:55:03.166 - INFO: epoch: 1936 +23-06-14 18:55:03.166 - INFO: iters: 4599938 +23-06-14 18:57:44.802 - INFO: train/mse_loss: 0.002652637692449006 +23-06-14 18:57:44.803 - INFO: epoch: 1937 +23-06-14 18:57:44.803 - INFO: iters: 4602314 +23-06-14 19:00:25.941 - INFO: train/mse_loss: 0.0024896186396933507 +23-06-14 19:00:25.941 - INFO: epoch: 1938 +23-06-14 19:00:25.941 - INFO: iters: 4604690 +23-06-14 19:03:06.844 - INFO: train/mse_loss: 0.0024187989777047342 +23-06-14 19:03:06.845 - INFO: epoch: 1939 +23-06-14 19:03:06.845 - INFO: iters: 4607066 +23-06-14 19:05:47.864 - INFO: train/mse_loss: 0.002702671146590219 +23-06-14 19:05:47.865 - INFO: epoch: 1940 +23-06-14 19:05:47.865 - INFO: iters: 4609442 +23-06-14 19:08:28.776 - INFO: train/mse_loss: 0.0025393656497705187 +23-06-14 19:08:28.777 - INFO: epoch: 1941 +23-06-14 19:08:28.777 - INFO: iters: 4611818 +23-06-14 19:11:09.423 - INFO: train/mse_loss: 0.0022915275209867128 +23-06-14 19:11:09.424 - INFO: epoch: 1942 +23-06-14 19:11:09.424 - INFO: iters: 4614194 +23-06-14 19:13:49.978 - INFO: train/mse_loss: 0.0025277461447288136 +23-06-14 19:13:49.979 - INFO: epoch: 1943 +23-06-14 19:13:49.979 - INFO: iters: 4616570 +23-06-14 19:16:31.437 - INFO: train/mse_loss: 0.0025595782597777387 +23-06-14 19:16:31.438 - INFO: epoch: 1944 +23-06-14 19:16:31.438 - INFO: iters: 4618946 +23-06-14 19:19:12.681 - INFO: train/mse_loss: 0.002575914440649132 +23-06-14 19:19:12.682 - INFO: epoch: 1945 +23-06-14 19:19:12.682 - INFO: iters: 4621322 +23-06-14 19:21:53.869 - INFO: train/mse_loss: 0.002454748783971619 +23-06-14 19:21:53.870 - INFO: epoch: 1946 +23-06-14 19:21:53.870 - INFO: iters: 4623698 +23-06-14 19:24:34.956 - INFO: train/mse_loss: 0.002250255177592034 +23-06-14 19:24:34.956 - INFO: epoch: 1947 +23-06-14 19:24:34.957 - INFO: iters: 4626074 +23-06-14 19:27:15.720 - INFO: train/mse_loss: 0.0024289426911992306 +23-06-14 19:27:15.721 - INFO: epoch: 1948 +23-06-14 19:27:15.721 - INFO: iters: 4628450 +23-06-14 19:29:56.535 - INFO: train/mse_loss: 0.0025549694760612397 +23-06-14 19:29:56.536 - INFO: epoch: 1949 +23-06-14 19:29:56.536 - INFO: iters: 4630826 +23-06-14 19:32:38.015 - INFO: train/mse_loss: 0.002185965889721077 +23-06-14 19:32:38.015 - INFO: epoch: 1950 +23-06-14 19:32:38.016 - INFO: iters: 4633202 +23-06-14 19:35:19.791 - INFO: train/mse_loss: 0.002462693320756609 +23-06-14 19:35:19.791 - INFO: epoch: 1951 +23-06-14 19:35:19.791 - INFO: iters: 4635578 +23-06-14 19:38:00.454 - INFO: train/mse_loss: 0.0029869353936072627 +23-06-14 19:38:00.455 - INFO: epoch: 1952 +23-06-14 19:38:00.456 - INFO: iters: 4637954 +23-06-14 19:40:41.528 - INFO: train/mse_loss: 0.002556103834110588 +23-06-14 19:40:41.529 - INFO: epoch: 1953 +23-06-14 19:40:41.529 - INFO: iters: 4640330 +23-06-14 19:43:22.879 - INFO: train/mse_loss: 0.002131788559194877 +23-06-14 19:43:22.880 - INFO: epoch: 1954 +23-06-14 19:43:22.880 - INFO: iters: 4642706 +23-06-14 19:46:04.708 - INFO: train/mse_loss: 0.001953714136198878 +23-06-14 19:46:04.709 - INFO: epoch: 1955 +23-06-14 19:46:04.709 - INFO: iters: 4645082 +23-06-14 19:48:46.325 - INFO: train/mse_loss: 0.0024726862347134474 +23-06-14 19:48:46.325 - INFO: epoch: 1956 +23-06-14 19:48:46.325 - INFO: iters: 4647458 +23-06-14 19:51:27.313 - INFO: train/mse_loss: 0.002419815470483342 +23-06-14 19:51:27.314 - INFO: epoch: 1957 +23-06-14 19:51:27.314 - INFO: iters: 4649834 +23-06-14 19:54:08.510 - INFO: train/mse_loss: 0.002103864630852412 +23-06-14 19:54:08.510 - INFO: epoch: 1958 +23-06-14 19:54:08.510 - INFO: iters: 4652210 +23-06-14 19:56:49.515 - INFO: train/mse_loss: 0.002411940808614531 +23-06-14 19:56:49.516 - INFO: epoch: 1959 +23-06-14 19:56:49.516 - INFO: iters: 4654586 +23-06-14 19:59:30.811 - INFO: train/mse_loss: 0.002598552283529515 +23-06-14 19:59:30.812 - INFO: epoch: 1960 +23-06-14 19:59:30.812 - INFO: iters: 4656962 +23-06-14 20:02:11.947 - INFO: train/mse_loss: 0.00250888139783422 +23-06-14 20:02:11.947 - INFO: epoch: 1961 +23-06-14 20:02:11.947 - INFO: iters: 4659338 +23-06-14 20:04:53.160 - INFO: train/mse_loss: 0.0024395465833877343 +23-06-14 20:04:53.161 - INFO: epoch: 1962 +23-06-14 20:04:53.161 - INFO: iters: 4661714 +23-06-14 20:07:33.893 - INFO: train/mse_loss: 0.001767654809993002 +23-06-14 20:07:33.893 - INFO: epoch: 1963 +23-06-14 20:07:33.894 - INFO: iters: 4664090 +23-06-14 20:10:15.015 - INFO: train/mse_loss: 0.0024340495455230865 +23-06-14 20:10:15.016 - INFO: epoch: 1964 +23-06-14 20:10:15.016 - INFO: iters: 4666466 +23-06-14 20:12:55.731 - INFO: train/mse_loss: 0.002081350929037941 +23-06-14 20:12:55.731 - INFO: epoch: 1965 +23-06-14 20:12:55.731 - INFO: iters: 4668842 +23-06-14 20:15:36.719 - INFO: train/mse_loss: 0.0026365497520135445 +23-06-14 20:15:36.720 - INFO: epoch: 1966 +23-06-14 20:15:36.720 - INFO: iters: 4671218 +23-06-14 20:18:17.552 - INFO: train/mse_loss: 0.002587522420328995 +23-06-14 20:18:17.553 - INFO: epoch: 1967 +23-06-14 20:18:17.553 - INFO: iters: 4673594 +23-06-14 20:20:58.840 - INFO: train/mse_loss: 0.002131638668343481 +23-06-14 20:20:58.841 - INFO: epoch: 1968 +23-06-14 20:20:58.841 - INFO: iters: 4675970 +23-06-14 20:23:40.401 - INFO: train/mse_loss: 0.0024624895232906786 +23-06-14 20:23:40.402 - INFO: epoch: 1969 +23-06-14 20:23:40.402 - INFO: iters: 4678346 +23-06-14 20:26:22.075 - INFO: train/mse_loss: 0.002709935713141548 +23-06-14 20:26:22.076 - INFO: epoch: 1970 +23-06-14 20:26:22.076 - INFO: iters: 4680722 +23-06-14 20:29:02.699 - INFO: train/mse_loss: 0.002789727826330337 +23-06-14 20:29:02.700 - INFO: epoch: 1971 +23-06-14 20:29:02.701 - INFO: iters: 4683098 +23-06-14 20:31:43.517 - INFO: train/mse_loss: 0.002703658637205791 +23-06-14 20:31:43.517 - INFO: epoch: 1972 +23-06-14 20:31:43.517 - INFO: iters: 4685474 +23-06-14 20:34:24.399 - INFO: train/mse_loss: 0.002492079282177907 +23-06-14 20:34:24.399 - INFO: epoch: 1973 +23-06-14 20:34:24.399 - INFO: iters: 4687850 +23-06-14 20:37:05.406 - INFO: train/mse_loss: 0.0020582950154146152 +23-06-14 20:37:05.407 - INFO: epoch: 1974 +23-06-14 20:37:05.407 - INFO: iters: 4690226 +23-06-14 20:39:46.066 - INFO: train/mse_loss: 0.002180358859073835 +23-06-14 20:39:46.066 - INFO: epoch: 1975 +23-06-14 20:39:46.066 - INFO: iters: 4692602 +23-06-14 20:42:27.189 - INFO: train/mse_loss: 0.002640934465731328 +23-06-14 20:42:27.190 - INFO: epoch: 1976 +23-06-14 20:42:27.190 - INFO: iters: 4694978 +23-06-14 20:45:08.157 - INFO: train/mse_loss: 0.0019087807513183132 +23-06-14 20:45:08.157 - INFO: epoch: 1977 +23-06-14 20:45:08.157 - INFO: iters: 4697354 +23-06-14 20:47:49.856 - INFO: train/mse_loss: 0.002000505575613881 +23-06-14 20:47:49.857 - INFO: epoch: 1978 +23-06-14 20:47:49.857 - INFO: iters: 4699730 +23-06-14 20:50:30.811 - INFO: train/mse_loss: 0.002188126649031406 +23-06-14 20:50:30.812 - INFO: epoch: 1979 +23-06-14 20:50:30.812 - INFO: iters: 4702106 +23-06-14 20:53:11.982 - INFO: train/mse_loss: 0.0023021105836029555 +23-06-14 20:53:11.982 - INFO: epoch: 1980 +23-06-14 20:53:11.982 - INFO: iters: 4704482 +23-06-14 20:55:53.279 - INFO: train/mse_loss: 0.0023770788000988296 +23-06-14 20:55:53.280 - INFO: epoch: 1981 +23-06-14 20:55:53.280 - INFO: iters: 4706858 +23-06-14 20:58:34.336 - INFO: train/mse_loss: 0.0024778851659134384 +23-06-14 20:58:34.337 - INFO: epoch: 1982 +23-06-14 20:58:34.337 - INFO: iters: 4709234 +23-06-14 21:01:15.186 - INFO: train/mse_loss: 0.0018266116117828083 +23-06-14 21:01:15.186 - INFO: epoch: 1983 +23-06-14 21:01:15.186 - INFO: iters: 4711610 +23-06-14 21:03:59.855 - INFO: train/mse_loss: 0.0020853520833251384 +23-06-14 21:03:59.856 - INFO: epoch: 1984 +23-06-14 21:03:59.856 - INFO: iters: 4713986 +23-06-14 21:06:41.654 - INFO: train/mse_loss: 0.0027872566044564212 +23-06-14 21:06:41.655 - INFO: epoch: 1985 +23-06-14 21:06:41.655 - INFO: iters: 4716362 +23-06-14 21:09:23.448 - INFO: train/mse_loss: 0.002521797241282458 +23-06-14 21:09:23.449 - INFO: epoch: 1986 +23-06-14 21:09:23.449 - INFO: iters: 4718738 +23-06-14 21:12:04.579 - INFO: train/mse_loss: 0.002271126214383869 +23-06-14 21:12:04.580 - INFO: epoch: 1987 +23-06-14 21:12:04.580 - INFO: iters: 4721114 +23-06-14 21:14:45.589 - INFO: train/mse_loss: 0.0027755196693295342 +23-06-14 21:14:45.589 - INFO: epoch: 1988 +23-06-14 21:14:45.589 - INFO: iters: 4723490 +23-06-14 21:17:26.129 - INFO: train/mse_loss: 0.0020998054201070296 +23-06-14 21:17:26.129 - INFO: epoch: 1989 +23-06-14 21:17:26.129 - INFO: iters: 4725866 +23-06-14 21:20:07.018 - INFO: train/mse_loss: 0.002652156102841074 +23-06-14 21:20:07.019 - INFO: epoch: 1990 +23-06-14 21:20:07.019 - INFO: iters: 4728242 +23-06-14 21:22:47.901 - INFO: train/mse_loss: 0.001971933971608359 +23-06-14 21:22:47.901 - INFO: epoch: 1991 +23-06-14 21:22:47.902 - INFO: iters: 4730618 +23-06-14 21:25:29.906 - INFO: train/mse_loss: 0.002547487935603217 +23-06-14 21:25:29.907 - INFO: epoch: 1992 +23-06-14 21:25:29.907 - INFO: iters: 4732994 +23-06-14 21:28:11.646 - INFO: train/mse_loss: 0.0022701291512048833 +23-06-14 21:28:11.646 - INFO: epoch: 1993 +23-06-14 21:28:11.646 - INFO: iters: 4735370 +23-06-14 21:30:52.762 - INFO: train/mse_loss: 0.0022400515741470305 +23-06-14 21:30:52.763 - INFO: epoch: 1994 +23-06-14 21:30:52.763 - INFO: iters: 4737746 +23-06-14 21:33:34.065 - INFO: train/mse_loss: 0.00228028766502609 +23-06-14 21:33:34.065 - INFO: epoch: 1995 +23-06-14 21:33:34.065 - INFO: iters: 4740122 +23-06-14 21:36:15.317 - INFO: train/mse_loss: 0.0022463821578180567 +23-06-14 21:36:15.318 - INFO: epoch: 1996 +23-06-14 21:36:15.318 - INFO: iters: 4742498 +23-06-14 21:38:56.855 - INFO: train/mse_loss: 0.0023458101440758856 +23-06-14 21:38:56.855 - INFO: epoch: 1997 +23-06-14 21:38:56.855 - INFO: iters: 4744874 +23-06-14 21:41:37.641 - INFO: train/mse_loss: 0.0020752567496571707 +23-06-14 21:41:37.642 - INFO: epoch: 1998 +23-06-14 21:41:37.642 - INFO: iters: 4747250 +23-06-14 21:44:18.294 - INFO: train/mse_loss: 0.0023694856172491816 +23-06-14 21:44:18.294 - INFO: epoch: 1999 +23-06-14 21:44:18.294 - INFO: iters: 4749626 +23-06-14 21:46:59.447 - INFO: train/mse_loss: 0.002238065550168067 +23-06-14 21:46:59.448 - INFO: epoch: 2000 +23-06-14 21:46:59.448 - INFO: iters: 4752002 +23-06-14 21:46:59.448 - INFO: Saving the self at the end of epoch 2000 +23-06-14 21:47:00.039 - INFO: + + +------------------------------Validation Start------------------------------ +23-06-14 21:49:17.808 - INFO: val/mae: 0.8874342441558838 +23-06-14 21:49:17.809 - INFO: +------------------------------Validation End------------------------------ + + +23-06-14 21:51:58.681 - INFO: train/mse_loss: 0.0023671035810259268 +23-06-14 21:51:58.682 - INFO: epoch: 2001 +23-06-14 21:51:58.682 - INFO: iters: 4754380 +23-06-14 21:54:40.375 - INFO: train/mse_loss: 0.002355653515447367 +23-06-14 21:54:40.376 - INFO: epoch: 2002 +23-06-14 21:54:40.376 - INFO: iters: 4756756 +23-06-14 21:57:21.254 - INFO: train/mse_loss: 0.0030289936203373165 +23-06-14 21:57:21.255 - INFO: epoch: 2003 +23-06-14 21:57:21.255 - INFO: iters: 4759132 +23-06-14 22:00:02.331 - INFO: train/mse_loss: 0.0025112152354684362 +23-06-14 22:00:02.331 - INFO: epoch: 2004 +23-06-14 22:00:02.331 - INFO: iters: 4761508 +23-06-14 22:02:43.893 - INFO: train/mse_loss: 0.0024994935063090214 +23-06-14 22:02:43.893 - INFO: epoch: 2005 +23-06-14 22:02:43.894 - INFO: iters: 4763884 +23-06-14 22:05:24.794 - INFO: train/mse_loss: 0.002609648177392784 +23-06-14 22:05:24.795 - INFO: epoch: 2006 +23-06-14 22:05:24.795 - INFO: iters: 4766260 +23-06-14 22:08:06.252 - INFO: train/mse_loss: 0.002359344189385303 +23-06-14 22:08:06.252 - INFO: epoch: 2007 +23-06-14 22:08:06.252 - INFO: iters: 4768636 +23-06-14 22:10:46.983 - INFO: train/mse_loss: 0.002298449699003375 +23-06-14 22:10:46.984 - INFO: epoch: 2008 +23-06-14 22:10:46.984 - INFO: iters: 4771012 +23-06-14 22:13:28.663 - INFO: train/mse_loss: 0.002286861849717893 +23-06-14 22:13:28.663 - INFO: epoch: 2009 +23-06-14 22:13:28.664 - INFO: iters: 4773388 +23-06-14 22:16:09.603 - INFO: train/mse_loss: 0.002189926570036405 +23-06-14 22:16:09.604 - INFO: epoch: 2010 +23-06-14 22:16:09.604 - INFO: iters: 4775764 +23-06-14 22:18:50.514 - INFO: train/mse_loss: 0.0024307757427505143 +23-06-14 22:18:50.514 - INFO: epoch: 2011 +23-06-14 22:18:50.514 - INFO: iters: 4778140 +23-06-14 22:21:31.557 - INFO: train/mse_loss: 0.0023522347396358013 +23-06-14 22:21:31.558 - INFO: epoch: 2012 +23-06-14 22:21:31.558 - INFO: iters: 4780516 +23-06-14 22:24:13.245 - INFO: train/mse_loss: 0.002314007076903588 +23-06-14 22:24:13.246 - INFO: epoch: 2013 +23-06-14 22:24:13.246 - INFO: iters: 4782892 +23-06-14 22:26:55.084 - INFO: train/mse_loss: 0.0022994404187722303 +23-06-14 22:26:55.085 - INFO: epoch: 2014 +23-06-14 22:26:55.085 - INFO: iters: 4785268 +23-06-14 22:29:37.292 - INFO: train/mse_loss: 0.0026945070171907467 +23-06-14 22:29:37.293 - INFO: epoch: 2015 +23-06-14 22:29:37.293 - INFO: iters: 4787644 +23-06-14 22:32:18.465 - INFO: train/mse_loss: 0.0021896917928168583 +23-06-14 22:32:18.465 - INFO: epoch: 2016 +23-06-14 22:32:18.465 - INFO: iters: 4790020 +23-06-14 22:34:59.308 - INFO: train/mse_loss: 0.002196727980826652 +23-06-14 22:34:59.309 - INFO: epoch: 2017 +23-06-14 22:34:59.309 - INFO: iters: 4792396 +23-06-14 22:37:40.219 - INFO: train/mse_loss: 0.002199319671637219 +23-06-14 22:37:40.220 - INFO: epoch: 2018 +23-06-14 22:37:40.220 - INFO: iters: 4794772 +23-06-14 22:40:21.166 - INFO: train/mse_loss: 0.002106161349882632 +23-06-14 22:40:21.167 - INFO: epoch: 2019 +23-06-14 22:40:21.167 - INFO: iters: 4797148 +23-06-14 22:43:02.160 - INFO: train/mse_loss: 0.002546843101091366 +23-06-14 22:43:02.160 - INFO: epoch: 2020 +23-06-14 22:43:02.160 - INFO: iters: 4799524 +23-06-14 22:45:42.815 - INFO: train/mse_loss: 0.002200326342803978 +23-06-14 22:45:42.816 - INFO: epoch: 2021 +23-06-14 22:45:42.816 - INFO: iters: 4801900 +23-06-14 22:48:24.106 - INFO: train/mse_loss: 0.0019864790470445976 +23-06-14 22:48:24.106 - INFO: epoch: 2022 +23-06-14 22:48:24.106 - INFO: iters: 4804276 +23-06-14 22:51:05.498 - INFO: train/mse_loss: 0.002179873872843104 +23-06-14 22:51:05.498 - INFO: epoch: 2023 +23-06-14 22:51:05.499 - INFO: iters: 4806652 +23-06-14 22:53:46.792 - INFO: train/mse_loss: 0.002287922938531092 +23-06-14 22:53:46.793 - INFO: epoch: 2024 +23-06-14 22:53:46.793 - INFO: iters: 4809028 +23-06-14 22:56:28.020 - INFO: train/mse_loss: 0.0022226669560053295 +23-06-14 22:56:28.021 - INFO: epoch: 2025 +23-06-14 22:56:28.021 - INFO: iters: 4811404 +23-06-14 22:59:09.018 - INFO: train/mse_loss: 0.0020709266781850848 +23-06-14 22:59:09.018 - INFO: epoch: 2026 +23-06-14 22:59:09.018 - INFO: iters: 4813780 +23-06-14 23:01:50.218 - INFO: train/mse_loss: 0.002102123907136555 +23-06-14 23:01:50.218 - INFO: epoch: 2027 +23-06-14 23:01:50.218 - INFO: iters: 4816156 +23-06-14 23:04:31.244 - INFO: train/mse_loss: 0.0018551964000195127 +23-06-14 23:04:31.245 - INFO: epoch: 2028 +23-06-14 23:04:31.245 - INFO: iters: 4818532 +23-06-14 23:07:12.088 - INFO: train/mse_loss: 0.0025632924549022894 +23-06-14 23:07:12.089 - INFO: epoch: 2029 +23-06-14 23:07:12.089 - INFO: iters: 4820908 +23-06-14 23:09:53.195 - INFO: train/mse_loss: 0.002668325762765761 +23-06-14 23:09:53.196 - INFO: epoch: 2030 +23-06-14 23:09:53.196 - INFO: iters: 4823284 +23-06-14 23:12:34.424 - INFO: train/mse_loss: 0.002587040646396803 +23-06-14 23:12:34.425 - INFO: epoch: 2031 +23-06-14 23:12:34.425 - INFO: iters: 4825660 +23-06-14 23:15:15.248 - INFO: train/mse_loss: 0.0018409265920904744 +23-06-14 23:15:15.249 - INFO: epoch: 2032 +23-06-14 23:15:15.249 - INFO: iters: 4828036 +23-06-14 23:17:56.063 - INFO: train/mse_loss: 0.0020692760506680124 +23-06-14 23:17:56.064 - INFO: epoch: 2033 +23-06-14 23:17:56.064 - INFO: iters: 4830412 +23-06-14 23:20:37.143 - INFO: train/mse_loss: 0.002155671678595198 +23-06-14 23:20:37.144 - INFO: epoch: 2034 +23-06-14 23:20:37.144 - INFO: iters: 4832788 +23-06-14 23:23:18.046 - INFO: train/mse_loss: 0.002482621492267279 +23-06-14 23:23:18.046 - INFO: epoch: 2035 +23-06-14 23:23:18.046 - INFO: iters: 4835164 +23-06-14 23:25:59.875 - INFO: train/mse_loss: 0.0027606199206023944 +23-06-14 23:25:59.876 - INFO: epoch: 2036 +23-06-14 23:25:59.877 - INFO: iters: 4837540 +23-06-14 23:28:40.625 - INFO: train/mse_loss: 0.002222303407320044 +23-06-14 23:28:40.626 - INFO: epoch: 2037 +23-06-14 23:28:40.626 - INFO: iters: 4839916 +23-06-14 23:31:21.931 - INFO: train/mse_loss: 0.0018954982194498413 +23-06-14 23:31:21.932 - INFO: epoch: 2038 +23-06-14 23:31:21.932 - INFO: iters: 4842292 +23-06-14 23:34:03.153 - INFO: train/mse_loss: 0.002284509032956475 +23-06-14 23:34:03.153 - INFO: epoch: 2039 +23-06-14 23:34:03.153 - INFO: iters: 4844668 +23-06-14 23:36:44.560 - INFO: train/mse_loss: 0.0026337483767278945 +23-06-14 23:36:44.560 - INFO: epoch: 2040 +23-06-14 23:36:44.560 - INFO: iters: 4847044 +23-06-14 23:39:25.395 - INFO: train/mse_loss: 0.002922201519443964 +23-06-14 23:39:25.395 - INFO: epoch: 2041 +23-06-14 23:39:25.396 - INFO: iters: 4849420 +23-06-14 23:42:06.745 - INFO: train/mse_loss: 0.0021897812615684154 +23-06-14 23:42:06.746 - INFO: epoch: 2042 +23-06-14 23:42:06.746 - INFO: iters: 4851796 +23-06-14 23:44:47.742 - INFO: train/mse_loss: 0.0025265935571473844 +23-06-14 23:44:47.743 - INFO: epoch: 2043 +23-06-14 23:44:47.743 - INFO: iters: 4854172 +23-06-14 23:47:29.882 - INFO: train/mse_loss: 0.002557030602915664 +23-06-14 23:47:29.883 - INFO: epoch: 2044 +23-06-14 23:47:29.883 - INFO: iters: 4856548 +23-06-14 23:50:11.079 - INFO: train/mse_loss: 0.00212279775161108 +23-06-14 23:50:11.080 - INFO: epoch: 2045 +23-06-14 23:50:11.080 - INFO: iters: 4858924 +23-06-14 23:52:52.477 - INFO: train/mse_loss: 0.002139828280694328 +23-06-14 23:52:52.477 - INFO: epoch: 2046 +23-06-14 23:52:52.477 - INFO: iters: 4861300 +23-06-14 23:55:33.570 - INFO: train/mse_loss: 0.0021809768162962513 +23-06-14 23:55:33.571 - INFO: epoch: 2047 +23-06-14 23:55:33.571 - INFO: iters: 4863676 +23-06-14 23:58:14.561 - INFO: train/mse_loss: 0.0023254779097310547 +23-06-14 23:58:14.561 - INFO: epoch: 2048 +23-06-14 23:58:14.561 - INFO: iters: 4866052 +23-06-15 00:00:55.428 - INFO: train/mse_loss: 0.002429953251010111 +23-06-15 00:00:55.429 - INFO: epoch: 2049 +23-06-15 00:00:55.429 - INFO: iters: 4868428 +23-06-15 00:03:36.966 - INFO: train/mse_loss: 0.002482796320593712 +23-06-15 00:03:36.967 - INFO: epoch: 2050 +23-06-15 00:03:36.967 - INFO: iters: 4870804 +23-06-15 00:06:17.902 - INFO: train/mse_loss: 0.002059417065140487 +23-06-15 00:06:17.902 - INFO: epoch: 2051 +23-06-15 00:06:17.902 - INFO: iters: 4873180 +23-06-15 00:08:58.865 - INFO: train/mse_loss: 0.0021390941212841965 +23-06-15 00:08:58.866 - INFO: epoch: 2052 +23-06-15 00:08:58.866 - INFO: iters: 4875556 +23-06-15 00:11:40.008 - INFO: train/mse_loss: 0.002778092966666241 +23-06-15 00:11:40.008 - INFO: epoch: 2053 +23-06-15 00:11:40.009 - INFO: iters: 4877932 +23-06-15 00:14:21.266 - INFO: train/mse_loss: 0.0027921252545111998 +23-06-15 00:14:21.267 - INFO: epoch: 2054 +23-06-15 00:14:21.267 - INFO: iters: 4880308 +23-06-15 00:17:02.420 - INFO: train/mse_loss: 0.0021572920159822462 +23-06-15 00:17:02.420 - INFO: epoch: 2055 +23-06-15 00:17:02.421 - INFO: iters: 4882684 +23-06-15 00:19:43.109 - INFO: train/mse_loss: 0.002601315498303838 +23-06-15 00:19:43.109 - INFO: epoch: 2056 +23-06-15 00:19:43.109 - INFO: iters: 4885060 +23-06-15 00:22:24.234 - INFO: train/mse_loss: 0.0022992382930126826 +23-06-15 00:22:24.234 - INFO: epoch: 2057 +23-06-15 00:22:24.234 - INFO: iters: 4887436 +23-06-15 00:25:05.204 - INFO: train/mse_loss: 0.002512255220182839 +23-06-15 00:25:05.204 - INFO: epoch: 2058 +23-06-15 00:25:05.204 - INFO: iters: 4889812 +23-06-15 00:27:46.163 - INFO: train/mse_loss: 0.0022897501576551542 +23-06-15 00:27:46.164 - INFO: epoch: 2059 +23-06-15 00:27:46.164 - INFO: iters: 4892188 +23-06-15 00:30:27.850 - INFO: train/mse_loss: 0.0023076567918991963 +23-06-15 00:30:27.851 - INFO: epoch: 2060 +23-06-15 00:30:27.851 - INFO: iters: 4894564 +23-06-15 00:33:09.076 - INFO: train/mse_loss: 0.002408801816254525 +23-06-15 00:33:09.076 - INFO: epoch: 2061 +23-06-15 00:33:09.076 - INFO: iters: 4896940 +23-06-15 00:35:50.881 - INFO: train/mse_loss: 0.0028513152232065935 +23-06-15 00:35:50.881 - INFO: epoch: 2062 +23-06-15 00:35:50.882 - INFO: iters: 4899316 +23-06-15 00:38:31.877 - INFO: train/mse_loss: 0.0018413563940779115 +23-06-15 00:38:31.878 - INFO: epoch: 2063 +23-06-15 00:38:31.878 - INFO: iters: 4901692 +23-06-15 00:41:12.786 - INFO: train/mse_loss: 0.0022983195289368943 +23-06-15 00:41:12.787 - INFO: epoch: 2064 +23-06-15 00:41:12.787 - INFO: iters: 4904068 +23-06-15 00:43:55.754 - INFO: train/mse_loss: 0.002177003829470312 +23-06-15 00:43:55.754 - INFO: epoch: 2065 +23-06-15 00:43:55.754 - INFO: iters: 4906444 +23-06-15 00:46:36.801 - INFO: train/mse_loss: 0.00216991079437918 +23-06-15 00:46:36.802 - INFO: epoch: 2066 +23-06-15 00:46:36.802 - INFO: iters: 4908820 +23-06-15 00:49:17.951 - INFO: train/mse_loss: 0.002298783522290538 +23-06-15 00:49:17.951 - INFO: epoch: 2067 +23-06-15 00:49:17.952 - INFO: iters: 4911196 +23-06-15 00:51:59.630 - INFO: train/mse_loss: 0.0017308240125025545 +23-06-15 00:51:59.630 - INFO: epoch: 2068 +23-06-15 00:51:59.630 - INFO: iters: 4913572 +23-06-15 00:54:40.259 - INFO: train/mse_loss: 0.0020725363963487423 +23-06-15 00:54:40.260 - INFO: epoch: 2069 +23-06-15 00:54:40.260 - INFO: iters: 4915948 +23-06-15 00:57:21.394 - INFO: train/mse_loss: 0.002503603149827896 +23-06-15 00:57:21.395 - INFO: epoch: 2070 +23-06-15 00:57:21.395 - INFO: iters: 4918324 +23-06-15 01:00:02.121 - INFO: train/mse_loss: 0.002570050294808526 +23-06-15 01:00:02.122 - INFO: epoch: 2071 +23-06-15 01:00:02.122 - INFO: iters: 4920700 +23-06-15 01:02:43.159 - INFO: train/mse_loss: 0.002308776201456879 +23-06-15 01:02:43.159 - INFO: epoch: 2072 +23-06-15 01:02:43.159 - INFO: iters: 4923076 +23-06-15 01:05:24.297 - INFO: train/mse_loss: 0.0026649698825856444 +23-06-15 01:05:24.298 - INFO: epoch: 2073 +23-06-15 01:05:24.298 - INFO: iters: 4925452 +23-06-15 01:08:04.946 - INFO: train/mse_loss: 0.00238378383193764 +23-06-15 01:08:04.946 - INFO: epoch: 2074 +23-06-15 01:08:04.947 - INFO: iters: 4927828 +23-06-15 01:10:46.361 - INFO: train/mse_loss: 0.002281512404873933 +23-06-15 01:10:46.361 - INFO: epoch: 2075 +23-06-15 01:10:46.361 - INFO: iters: 4930204 +23-06-15 01:13:27.414 - INFO: train/mse_loss: 0.002124152874267544 +23-06-15 01:13:27.414 - INFO: epoch: 2076 +23-06-15 01:13:27.415 - INFO: iters: 4932580 +23-06-15 01:16:08.623 - INFO: train/mse_loss: 0.002177159302132612 +23-06-15 01:16:08.624 - INFO: epoch: 2077 +23-06-15 01:16:08.624 - INFO: iters: 4934956 +23-06-15 01:18:49.843 - INFO: train/mse_loss: 0.0023616414161646733 +23-06-15 01:18:49.844 - INFO: epoch: 2078 +23-06-15 01:18:49.844 - INFO: iters: 4937332 +23-06-15 01:21:31.005 - INFO: train/mse_loss: 0.00276226039044167 +23-06-15 01:21:31.006 - INFO: epoch: 2079 +23-06-15 01:21:31.006 - INFO: iters: 4939708 +23-06-15 01:24:12.700 - INFO: train/mse_loss: 0.0017166689886599434 +23-06-15 01:24:12.700 - INFO: epoch: 2080 +23-06-15 01:24:12.701 - INFO: iters: 4942084 +23-06-15 01:26:55.165 - INFO: train/mse_loss: 0.0022255804199413382 +23-06-15 01:26:55.166 - INFO: epoch: 2081 +23-06-15 01:26:55.166 - INFO: iters: 4944460 +23-06-15 01:29:36.174 - INFO: train/mse_loss: 0.002154051944941144 +23-06-15 01:29:36.174 - INFO: epoch: 2082 +23-06-15 01:29:36.175 - INFO: iters: 4946836 +23-06-15 01:32:17.242 - INFO: train/mse_loss: 0.00221324940130737 +23-06-15 01:32:17.242 - INFO: epoch: 2083 +23-06-15 01:32:17.242 - INFO: iters: 4949212 +23-06-15 01:34:58.605 - INFO: train/mse_loss: 0.0020586156206631166 +23-06-15 01:34:58.605 - INFO: epoch: 2084 +23-06-15 01:34:58.605 - INFO: iters: 4951588 +23-06-15 01:37:39.403 - INFO: train/mse_loss: 0.0023086006601355964 +23-06-15 01:37:39.403 - INFO: epoch: 2085 +23-06-15 01:37:39.403 - INFO: iters: 4953964 +23-06-15 01:40:20.953 - INFO: train/mse_loss: 0.0023489734845828602 +23-06-15 01:40:20.954 - INFO: epoch: 2086 +23-06-15 01:40:20.954 - INFO: iters: 4956340 +23-06-15 01:43:01.668 - INFO: train/mse_loss: 0.002487105572684778 +23-06-15 01:43:01.668 - INFO: epoch: 2087 +23-06-15 01:43:01.668 - INFO: iters: 4958716 +23-06-15 01:45:43.084 - INFO: train/mse_loss: 0.0018884774428002086 +23-06-15 01:45:43.085 - INFO: epoch: 2088 +23-06-15 01:45:43.085 - INFO: iters: 4961092 +23-06-15 01:48:24.945 - INFO: train/mse_loss: 0.0023387822882869665 +23-06-15 01:48:24.946 - INFO: epoch: 2089 +23-06-15 01:48:24.946 - INFO: iters: 4963468 +23-06-15 01:51:05.957 - INFO: train/mse_loss: 0.0020957101909706358 +23-06-15 01:51:05.958 - INFO: epoch: 2090 +23-06-15 01:51:05.958 - INFO: iters: 4965844 +23-06-15 01:53:47.837 - INFO: train/mse_loss: 0.0023571912796328297 +23-06-15 01:53:47.838 - INFO: epoch: 2091 +23-06-15 01:53:47.838 - INFO: iters: 4968220 +23-06-15 01:56:28.953 - INFO: train/mse_loss: 0.0025286358281004207 +23-06-15 01:56:28.954 - INFO: epoch: 2092 +23-06-15 01:56:28.954 - INFO: iters: 4970596 +23-06-15 01:59:09.937 - INFO: train/mse_loss: 0.0031925617756011584 +23-06-15 01:59:09.937 - INFO: epoch: 2093 +23-06-15 01:59:09.937 - INFO: iters: 4972972 +23-06-15 02:01:51.625 - INFO: train/mse_loss: 0.0021675852973932113 +23-06-15 02:01:51.626 - INFO: epoch: 2094 +23-06-15 02:01:51.626 - INFO: iters: 4975348 +23-06-15 02:04:32.245 - INFO: train/mse_loss: 0.0018987471353116066 +23-06-15 02:04:32.246 - INFO: epoch: 2095 +23-06-15 02:04:32.246 - INFO: iters: 4977724 +23-06-15 02:07:14.303 - INFO: train/mse_loss: 0.0019976338471587034 +23-06-15 02:07:14.304 - INFO: epoch: 2096 +23-06-15 02:07:14.304 - INFO: iters: 4980100 +23-06-15 02:09:55.387 - INFO: train/mse_loss: 0.002473165458581733 +23-06-15 02:09:55.388 - INFO: epoch: 2097 +23-06-15 02:09:55.388 - INFO: iters: 4982476 +23-06-15 02:12:36.254 - INFO: train/mse_loss: 0.0020301124867014996 +23-06-15 02:12:36.254 - INFO: epoch: 2098 +23-06-15 02:12:36.254 - INFO: iters: 4984852 +23-06-15 02:15:17.154 - INFO: train/mse_loss: 0.0023809394833274335 +23-06-15 02:15:17.155 - INFO: epoch: 2099 +23-06-15 02:15:17.155 - INFO: iters: 4987228 +23-06-15 02:17:58.142 - INFO: train/mse_loss: 0.0023915918999306875 +23-06-15 02:17:58.142 - INFO: epoch: 2100 +23-06-15 02:17:58.143 - INFO: iters: 4989604 +23-06-15 02:20:38.665 - INFO: train/mse_loss: 0.0025252858462476136 +23-06-15 02:20:38.665 - INFO: epoch: 2101 +23-06-15 02:20:38.666 - INFO: iters: 4991980 +23-06-15 02:23:19.646 - INFO: train/mse_loss: 0.0022326952959873373 +23-06-15 02:23:19.646 - INFO: epoch: 2102 +23-06-15 02:23:19.646 - INFO: iters: 4994356 +23-06-15 02:26:00.618 - INFO: train/mse_loss: 0.0022100980932744352 +23-06-15 02:26:00.618 - INFO: epoch: 2103 +23-06-15 02:26:00.618 - INFO: iters: 4996732 +23-06-15 02:28:41.779 - INFO: train/mse_loss: 0.002264306157739576 +23-06-15 02:28:41.780 - INFO: epoch: 2104 +23-06-15 02:28:41.780 - INFO: iters: 4999108 +23-06-15 02:31:22.762 - INFO: train/mse_loss: 0.002185964146920994 +23-06-15 02:31:22.763 - INFO: epoch: 2105 +23-06-15 02:31:22.763 - INFO: iters: 5001484 +23-06-15 02:34:04.013 - INFO: train/mse_loss: 0.0027034818582857647 +23-06-15 02:34:04.013 - INFO: epoch: 2106 +23-06-15 02:34:04.013 - INFO: iters: 5003860 +23-06-15 02:36:45.548 - INFO: train/mse_loss: 0.0023182508145574237 +23-06-15 02:36:45.548 - INFO: epoch: 2107 +23-06-15 02:36:45.548 - INFO: iters: 5006236 +23-06-15 02:39:26.101 - INFO: train/mse_loss: 0.001875418550546535 +23-06-15 02:39:26.101 - INFO: epoch: 2108 +23-06-15 02:39:26.101 - INFO: iters: 5008612 +23-06-15 02:42:06.805 - INFO: train/mse_loss: 0.0019714723103338703 +23-06-15 02:42:06.805 - INFO: epoch: 2109 +23-06-15 02:42:06.805 - INFO: iters: 5010988 +23-06-15 02:44:47.632 - INFO: train/mse_loss: 0.0022573105075928894 +23-06-15 02:44:47.632 - INFO: epoch: 2110 +23-06-15 02:44:47.632 - INFO: iters: 5013364 +23-06-15 02:47:28.536 - INFO: train/mse_loss: 0.001869857914393818 +23-06-15 02:47:28.537 - INFO: epoch: 2111 +23-06-15 02:47:28.537 - INFO: iters: 5015740 +23-06-15 02:50:09.208 - INFO: train/mse_loss: 0.0025510130729310696 +23-06-15 02:50:09.209 - INFO: epoch: 2112 +23-06-15 02:50:09.209 - INFO: iters: 5018116 +23-06-15 02:52:49.910 - INFO: train/mse_loss: 0.0023304202361326344 +23-06-15 02:52:49.910 - INFO: epoch: 2113 +23-06-15 02:52:49.911 - INFO: iters: 5020492 +23-06-15 02:55:30.464 - INFO: train/mse_loss: 0.0020721074485636286 +23-06-15 02:55:30.465 - INFO: epoch: 2114 +23-06-15 02:55:30.465 - INFO: iters: 5022868 +23-06-15 02:58:11.253 - INFO: train/mse_loss: 0.002218241053066994 +23-06-15 02:58:11.254 - INFO: epoch: 2115 +23-06-15 02:58:11.255 - INFO: iters: 5025244 +23-06-15 03:00:52.307 - INFO: train/mse_loss: 0.002275248916556287 +23-06-15 03:00:52.308 - INFO: epoch: 2116 +23-06-15 03:00:52.308 - INFO: iters: 5027620 +23-06-15 03:03:32.873 - INFO: train/mse_loss: 0.0025694757982283383 +23-06-15 03:03:32.873 - INFO: epoch: 2117 +23-06-15 03:03:32.873 - INFO: iters: 5029996 +23-06-15 03:06:13.643 - INFO: train/mse_loss: 0.0024730921891985952 +23-06-15 03:06:13.643 - INFO: epoch: 2118 +23-06-15 03:06:13.643 - INFO: iters: 5032372 +23-06-15 03:08:54.587 - INFO: train/mse_loss: 0.002395844880451514 +23-06-15 03:08:54.587 - INFO: epoch: 2119 +23-06-15 03:08:54.587 - INFO: iters: 5034748 +23-06-15 03:11:35.414 - INFO: train/mse_loss: 0.00243501118473475 +23-06-15 03:11:35.414 - INFO: epoch: 2120 +23-06-15 03:11:35.414 - INFO: iters: 5037124 +23-06-15 03:14:15.843 - INFO: train/mse_loss: 0.002178021991358496 +23-06-15 03:14:15.844 - INFO: epoch: 2121 +23-06-15 03:14:15.844 - INFO: iters: 5039500 +23-06-15 03:16:56.337 - INFO: train/mse_loss: 0.0024800449266782036 +23-06-15 03:16:56.337 - INFO: epoch: 2122 +23-06-15 03:16:56.337 - INFO: iters: 5041876 +23-06-15 03:19:36.944 - INFO: train/mse_loss: 0.002413135164063377 +23-06-15 03:19:36.945 - INFO: epoch: 2123 +23-06-15 03:19:36.945 - INFO: iters: 5044252 +23-06-15 03:22:17.839 - INFO: train/mse_loss: 0.0022462235116133284 +23-06-15 03:22:17.839 - INFO: epoch: 2124 +23-06-15 03:22:17.839 - INFO: iters: 5046628 +23-06-15 03:24:58.571 - INFO: train/mse_loss: 0.0020982732439060107 +23-06-15 03:24:58.572 - INFO: epoch: 2125 +23-06-15 03:24:58.572 - INFO: iters: 5049004 +23-06-15 03:27:39.233 - INFO: train/mse_loss: 0.002199012541462219 +23-06-15 03:27:39.234 - INFO: epoch: 2126 +23-06-15 03:27:39.234 - INFO: iters: 5051380 +23-06-15 03:30:19.792 - INFO: train/mse_loss: 0.0021354799849817667 +23-06-15 03:30:19.793 - INFO: epoch: 2127 +23-06-15 03:30:19.793 - INFO: iters: 5053756 +23-06-15 03:33:00.620 - INFO: train/mse_loss: 0.002025346546220242 +23-06-15 03:33:00.621 - INFO: epoch: 2128 +23-06-15 03:33:00.621 - INFO: iters: 5056132 +23-06-15 03:35:41.263 - INFO: train/mse_loss: 0.002459173432995427 +23-06-15 03:35:41.264 - INFO: epoch: 2129 +23-06-15 03:35:41.264 - INFO: iters: 5058508 +23-06-15 03:38:22.121 - INFO: train/mse_loss: 0.0021658249459854994 +23-06-15 03:38:22.122 - INFO: epoch: 2130 +23-06-15 03:38:22.122 - INFO: iters: 5060884 +23-06-15 03:41:03.132 - INFO: train/mse_loss: 0.0022925772983071265 +23-06-15 03:41:03.132 - INFO: epoch: 2131 +23-06-15 03:41:03.132 - INFO: iters: 5063260 +23-06-15 03:43:43.932 - INFO: train/mse_loss: 0.0024781772739062655 +23-06-15 03:43:43.933 - INFO: epoch: 2132 +23-06-15 03:43:43.933 - INFO: iters: 5065636 +23-06-15 03:46:24.697 - INFO: train/mse_loss: 0.0023668706965842834 +23-06-15 03:46:24.697 - INFO: epoch: 2133 +23-06-15 03:46:24.697 - INFO: iters: 5068012 +23-06-15 03:49:05.416 - INFO: train/mse_loss: 0.0023447738480515093 +23-06-15 03:49:05.417 - INFO: epoch: 2134 +23-06-15 03:49:05.417 - INFO: iters: 5070388 +23-06-15 03:51:46.135 - INFO: train/mse_loss: 0.001987391685058052 +23-06-15 03:51:46.135 - INFO: epoch: 2135 +23-06-15 03:51:46.135 - INFO: iters: 5072764 +23-06-15 03:54:26.961 - INFO: train/mse_loss: 0.0020650515784270376 +23-06-15 03:54:26.961 - INFO: epoch: 2136 +23-06-15 03:54:26.961 - INFO: iters: 5075140 +23-06-15 03:57:07.712 - INFO: train/mse_loss: 0.0025240463201840085 +23-06-15 03:57:07.713 - INFO: epoch: 2137 +23-06-15 03:57:07.713 - INFO: iters: 5077516 +23-06-15 03:59:48.167 - INFO: train/mse_loss: 0.0022611792259775135 +23-06-15 03:59:48.167 - INFO: epoch: 2138 +23-06-15 03:59:48.167 - INFO: iters: 5079892 +23-06-15 04:02:28.955 - INFO: train/mse_loss: 0.002239265650389669 +23-06-15 04:02:28.956 - INFO: epoch: 2139 +23-06-15 04:02:28.956 - INFO: iters: 5082268 +23-06-15 04:05:09.698 - INFO: train/mse_loss: 0.0027302596484850275 +23-06-15 04:05:09.699 - INFO: epoch: 2140 +23-06-15 04:05:09.699 - INFO: iters: 5084644 +23-06-15 04:07:50.510 - INFO: train/mse_loss: 0.0020275726333407133 +23-06-15 04:07:50.511 - INFO: epoch: 2141 +23-06-15 04:07:50.511 - INFO: iters: 5087020 +23-06-15 04:10:31.355 - INFO: train/mse_loss: 0.0024917299336630707 +23-06-15 04:10:31.356 - INFO: epoch: 2142 +23-06-15 04:10:31.356 - INFO: iters: 5089396 +23-06-15 04:13:11.928 - INFO: train/mse_loss: 0.0025694424001619955 +23-06-15 04:13:11.929 - INFO: epoch: 2143 +23-06-15 04:13:11.929 - INFO: iters: 5091772 +23-06-15 04:15:52.559 - INFO: train/mse_loss: 0.0024091857642261467 +23-06-15 04:15:52.559 - INFO: epoch: 2144 +23-06-15 04:15:52.559 - INFO: iters: 5094148 +23-06-15 04:18:33.206 - INFO: train/mse_loss: 0.0021451925637391758 +23-06-15 04:18:33.206 - INFO: epoch: 2145 +23-06-15 04:18:33.206 - INFO: iters: 5096524 +23-06-15 04:21:13.890 - INFO: train/mse_loss: 0.0022883741785764307 +23-06-15 04:21:13.891 - INFO: epoch: 2146 +23-06-15 04:21:13.891 - INFO: iters: 5098900 +23-06-15 04:23:54.665 - INFO: train/mse_loss: 0.002306646692506994 +23-06-15 04:23:54.666 - INFO: epoch: 2147 +23-06-15 04:23:54.667 - INFO: iters: 5101276 +23-06-15 04:26:35.263 - INFO: train/mse_loss: 0.002079334554516456 +23-06-15 04:26:35.263 - INFO: epoch: 2148 +23-06-15 04:26:35.263 - INFO: iters: 5103652 +23-06-15 04:29:15.810 - INFO: train/mse_loss: 0.0025522505169928776 +23-06-15 04:29:15.810 - INFO: epoch: 2149 +23-06-15 04:29:15.811 - INFO: iters: 5106028 +23-06-15 04:31:56.342 - INFO: train/mse_loss: 0.0026393176623038406 +23-06-15 04:31:56.342 - INFO: epoch: 2150 +23-06-15 04:31:56.343 - INFO: iters: 5108404 +23-06-15 04:34:36.878 - INFO: train/mse_loss: 0.0024556739129669345 +23-06-15 04:34:36.879 - INFO: epoch: 2151 +23-06-15 04:34:36.879 - INFO: iters: 5110780 +23-06-15 04:37:17.295 - INFO: train/mse_loss: 0.001982409364946801 +23-06-15 04:37:17.295 - INFO: epoch: 2152 +23-06-15 04:37:17.295 - INFO: iters: 5113156 +23-06-15 04:39:57.669 - INFO: train/mse_loss: 0.0019200199420555254 +23-06-15 04:39:57.669 - INFO: epoch: 2153 +23-06-15 04:39:57.669 - INFO: iters: 5115532 +23-06-15 04:42:38.236 - INFO: train/mse_loss: 0.0021917132541391473 +23-06-15 04:42:38.237 - INFO: epoch: 2154 +23-06-15 04:42:38.237 - INFO: iters: 5117908 +23-06-15 04:45:18.885 - INFO: train/mse_loss: 0.0023400024311504915 +23-06-15 04:45:18.885 - INFO: epoch: 2155 +23-06-15 04:45:18.885 - INFO: iters: 5120284 +23-06-15 04:47:59.513 - INFO: train/mse_loss: 0.0022124685811075644 +23-06-15 04:47:59.513 - INFO: epoch: 2156 +23-06-15 04:47:59.513 - INFO: iters: 5122660 +23-06-15 04:50:40.401 - INFO: train/mse_loss: 0.0022836336976262937 +23-06-15 04:50:40.402 - INFO: epoch: 2157 +23-06-15 04:50:40.402 - INFO: iters: 5125036 +23-06-15 04:53:21.371 - INFO: train/mse_loss: 0.0025476026694193914 +23-06-15 04:53:21.371 - INFO: epoch: 2158 +23-06-15 04:53:21.372 - INFO: iters: 5127412 +23-06-15 04:56:02.058 - INFO: train/mse_loss: 0.002500050528096866 +23-06-15 04:56:02.059 - INFO: epoch: 2159 +23-06-15 04:56:02.059 - INFO: iters: 5129788 +23-06-15 04:58:42.900 - INFO: train/mse_loss: 0.0026179868667166968 +23-06-15 04:58:42.900 - INFO: epoch: 2160 +23-06-15 04:58:42.901 - INFO: iters: 5132164 +23-06-15 05:01:25.548 - INFO: train/mse_loss: 0.0024557256158727445 +23-06-15 05:01:25.549 - INFO: epoch: 2161 +23-06-15 05:01:25.549 - INFO: iters: 5134540 +23-06-15 05:04:06.509 - INFO: train/mse_loss: 0.002173108280342784 +23-06-15 05:04:06.509 - INFO: epoch: 2162 +23-06-15 05:04:06.509 - INFO: iters: 5136916 +23-06-15 05:06:46.905 - INFO: train/mse_loss: 0.0018730106759034034 +23-06-15 05:06:46.906 - INFO: epoch: 2163 +23-06-15 05:06:46.906 - INFO: iters: 5139292 +23-06-15 05:09:27.598 - INFO: train/mse_loss: 0.002029892985367213 +23-06-15 05:09:27.599 - INFO: epoch: 2164 +23-06-15 05:09:27.599 - INFO: iters: 5141668 +23-06-15 05:12:08.223 - INFO: train/mse_loss: 0.002157694872869304 +23-06-15 05:12:08.224 - INFO: epoch: 2165 +23-06-15 05:12:08.224 - INFO: iters: 5144044 +23-06-15 05:14:48.908 - INFO: train/mse_loss: 0.0020433642935483664 +23-06-15 05:14:48.908 - INFO: epoch: 2166 +23-06-15 05:14:48.908 - INFO: iters: 5146420 +23-06-15 05:17:29.596 - INFO: train/mse_loss: 0.002195721106962003 +23-06-15 05:17:29.596 - INFO: epoch: 2167 +23-06-15 05:17:29.596 - INFO: iters: 5148796 +23-06-15 05:20:10.165 - INFO: train/mse_loss: 0.0020723650180021307 +23-06-15 05:20:10.166 - INFO: epoch: 2168 +23-06-15 05:20:10.166 - INFO: iters: 5151172 +23-06-15 05:22:51.100 - INFO: train/mse_loss: 0.002091191115793819 +23-06-15 05:22:51.100 - INFO: epoch: 2169 +23-06-15 05:22:51.100 - INFO: iters: 5153548 +23-06-15 05:25:31.996 - INFO: train/mse_loss: 0.0023658069073373878 +23-06-15 05:25:31.997 - INFO: epoch: 2170 +23-06-15 05:25:31.997 - INFO: iters: 5155924 +23-06-15 05:28:12.637 - INFO: train/mse_loss: 0.001973224709291397 +23-06-15 05:28:12.637 - INFO: epoch: 2171 +23-06-15 05:28:12.638 - INFO: iters: 5158300 +23-06-15 05:30:53.440 - INFO: train/mse_loss: 0.002148902835628184 +23-06-15 05:30:53.440 - INFO: epoch: 2172 +23-06-15 05:30:53.440 - INFO: iters: 5160676 +23-06-15 05:33:34.107 - INFO: train/mse_loss: 0.0023988151517818188 +23-06-15 05:33:34.107 - INFO: epoch: 2173 +23-06-15 05:33:34.107 - INFO: iters: 5163052 +23-06-15 05:36:14.865 - INFO: train/mse_loss: 0.002016077491563356 +23-06-15 05:36:14.865 - INFO: epoch: 2174 +23-06-15 05:36:14.865 - INFO: iters: 5165428 +23-06-15 05:38:55.508 - INFO: train/mse_loss: 0.002111223955898975 +23-06-15 05:38:55.509 - INFO: epoch: 2175 +23-06-15 05:38:55.509 - INFO: iters: 5167804 +23-06-15 05:41:36.273 - INFO: train/mse_loss: 0.002200522145486879 +23-06-15 05:41:36.273 - INFO: epoch: 2176 +23-06-15 05:41:36.274 - INFO: iters: 5170180 +23-06-15 05:44:16.890 - INFO: train/mse_loss: 0.0024497936113646586 +23-06-15 05:44:16.891 - INFO: epoch: 2177 +23-06-15 05:44:16.891 - INFO: iters: 5172556 +23-06-15 05:46:57.347 - INFO: train/mse_loss: 0.002349311202589692 +23-06-15 05:46:57.347 - INFO: epoch: 2178 +23-06-15 05:46:57.348 - INFO: iters: 5174932 +23-06-15 05:49:38.089 - INFO: train/mse_loss: 0.002362610223199012 +23-06-15 05:49:38.089 - INFO: epoch: 2179 +23-06-15 05:49:38.089 - INFO: iters: 5177308 +23-06-15 05:52:18.849 - INFO: train/mse_loss: 0.0021590987300368573 +23-06-15 05:52:18.849 - INFO: epoch: 2180 +23-06-15 05:52:18.849 - INFO: iters: 5179684 +23-06-15 05:54:59.545 - INFO: train/mse_loss: 0.0022725107869319932 +23-06-15 05:54:59.546 - INFO: epoch: 2181 +23-06-15 05:54:59.546 - INFO: iters: 5182060 +23-06-15 05:57:40.300 - INFO: train/mse_loss: 0.0021980403772961375 +23-06-15 05:57:40.301 - INFO: epoch: 2182 +23-06-15 05:57:40.301 - INFO: iters: 5184436 +23-06-15 06:00:21.018 - INFO: train/mse_loss: 0.0020116347699427684 +23-06-15 06:00:21.018 - INFO: epoch: 2183 +23-06-15 06:00:21.018 - INFO: iters: 5186812 +23-06-15 06:03:01.654 - INFO: train/mse_loss: 0.0021829992253548916 +23-06-15 06:03:01.655 - INFO: epoch: 2184 +23-06-15 06:03:01.655 - INFO: iters: 5189188 +23-06-15 06:05:42.086 - INFO: train/mse_loss: 0.002294178152933516 +23-06-15 06:05:42.087 - INFO: epoch: 2185 +23-06-15 06:05:42.087 - INFO: iters: 5191564 +23-06-15 06:08:22.724 - INFO: train/mse_loss: 0.002081586974968911 +23-06-15 06:08:22.724 - INFO: epoch: 2186 +23-06-15 06:08:22.724 - INFO: iters: 5193940 +23-06-15 06:11:03.450 - INFO: train/mse_loss: 0.002113812606780153 +23-06-15 06:11:03.451 - INFO: epoch: 2187 +23-06-15 06:11:03.451 - INFO: iters: 5196316 +23-06-15 06:13:44.363 - INFO: train/mse_loss: 0.00207644225215196 +23-06-15 06:13:44.364 - INFO: epoch: 2188 +23-06-15 06:13:44.364 - INFO: iters: 5198692 +23-06-15 06:16:25.059 - INFO: train/mse_loss: 0.0021483777245735556 +23-06-15 06:16:25.060 - INFO: epoch: 2189 +23-06-15 06:16:25.060 - INFO: iters: 5201068 +23-06-15 06:19:06.285 - INFO: train/mse_loss: 0.0021695257846077102 +23-06-15 06:19:06.285 - INFO: epoch: 2190 +23-06-15 06:19:06.285 - INFO: iters: 5203444 +23-06-15 06:21:47.255 - INFO: train/mse_loss: 0.0025280459227568788 +23-06-15 06:21:47.255 - INFO: epoch: 2191 +23-06-15 06:21:47.255 - INFO: iters: 5205820 +23-06-15 06:24:27.536 - INFO: train/mse_loss: 0.002375530609637593 +23-06-15 06:24:27.536 - INFO: epoch: 2192 +23-06-15 06:24:27.536 - INFO: iters: 5208196 +23-06-15 06:27:08.237 - INFO: train/mse_loss: 0.002367432777000033 +23-06-15 06:27:08.237 - INFO: epoch: 2193 +23-06-15 06:27:08.237 - INFO: iters: 5210572 +23-06-15 06:29:48.827 - INFO: train/mse_loss: 0.0018760655235039753 +23-06-15 06:29:48.828 - INFO: epoch: 2194 +23-06-15 06:29:48.828 - INFO: iters: 5212948 +23-06-15 06:32:29.231 - INFO: train/mse_loss: 0.002580139284527403 +23-06-15 06:32:29.231 - INFO: epoch: 2195 +23-06-15 06:32:29.231 - INFO: iters: 5215324 +23-06-15 06:35:09.869 - INFO: train/mse_loss: 0.0025817539660700655 +23-06-15 06:35:09.869 - INFO: epoch: 2196 +23-06-15 06:35:09.869 - INFO: iters: 5217700 +23-06-15 06:37:51.796 - INFO: train/mse_loss: 0.0022109480374234002 +23-06-15 06:37:51.796 - INFO: epoch: 2197 +23-06-15 06:37:51.796 - INFO: iters: 5220076 +23-06-15 06:40:33.174 - INFO: train/mse_loss: 0.0022958920177825652 +23-06-15 06:40:33.175 - INFO: epoch: 2198 +23-06-15 06:40:33.175 - INFO: iters: 5222452 +23-06-15 06:43:14.201 - INFO: train/mse_loss: 0.002354991057341266 +23-06-15 06:43:14.202 - INFO: epoch: 2199 +23-06-15 06:43:14.202 - INFO: iters: 5224828 +23-06-15 06:45:54.820 - INFO: train/mse_loss: 0.002196938095440671 +23-06-15 06:45:54.820 - INFO: epoch: 2200 +23-06-15 06:45:54.821 - INFO: iters: 5227204 +23-06-15 06:48:35.495 - INFO: train/mse_loss: 0.002908964380045713 +23-06-15 06:48:35.496 - INFO: epoch: 2201 +23-06-15 06:48:35.496 - INFO: iters: 5229580 +23-06-15 06:51:16.218 - INFO: train/mse_loss: 0.002186921941144282 +23-06-15 06:51:16.219 - INFO: epoch: 2202 +23-06-15 06:51:16.219 - INFO: iters: 5231956 +23-06-15 06:53:56.861 - INFO: train/mse_loss: 0.002248003054988376 +23-06-15 06:53:56.861 - INFO: epoch: 2203 +23-06-15 06:53:56.861 - INFO: iters: 5234332 +23-06-15 06:56:37.612 - INFO: train/mse_loss: 0.002316286390814272 +23-06-15 06:56:37.613 - INFO: epoch: 2204 +23-06-15 06:56:37.613 - INFO: iters: 5236708 +23-06-15 06:59:18.678 - INFO: train/mse_loss: 0.002319964179398746 +23-06-15 06:59:18.678 - INFO: epoch: 2205 +23-06-15 06:59:18.678 - INFO: iters: 5239084 +23-06-15 07:01:59.594 - INFO: train/mse_loss: 0.0022119115810740977 +23-06-15 07:01:59.595 - INFO: epoch: 2206 +23-06-15 07:01:59.595 - INFO: iters: 5241460 +23-06-15 07:04:40.523 - INFO: train/mse_loss: 0.002164493763483418 +23-06-15 07:04:40.524 - INFO: epoch: 2207 +23-06-15 07:04:40.524 - INFO: iters: 5243836 +23-06-15 07:07:21.210 - INFO: train/mse_loss: 0.001968519738493158 +23-06-15 07:07:21.210 - INFO: epoch: 2208 +23-06-15 07:07:21.211 - INFO: iters: 5246212 +23-06-15 07:10:01.943 - INFO: train/mse_loss: 0.002404207002915605 +23-06-15 07:10:01.943 - INFO: epoch: 2209 +23-06-15 07:10:01.943 - INFO: iters: 5248588 +23-06-15 07:12:42.482 - INFO: train/mse_loss: 0.0020703458388807152 +23-06-15 07:12:42.483 - INFO: epoch: 2210 +23-06-15 07:12:42.483 - INFO: iters: 5250964 +23-06-15 07:15:23.421 - INFO: train/mse_loss: 0.002232692614172253 +23-06-15 07:15:23.421 - INFO: epoch: 2211 +23-06-15 07:15:23.422 - INFO: iters: 5253340 +23-06-15 07:18:03.973 - INFO: train/mse_loss: 0.0024759351209814187 +23-06-15 07:18:03.974 - INFO: epoch: 2212 +23-06-15 07:18:03.974 - INFO: iters: 5255716 +23-06-15 07:20:44.559 - INFO: train/mse_loss: 0.0021793743410176733 +23-06-15 07:20:44.560 - INFO: epoch: 2213 +23-06-15 07:20:44.560 - INFO: iters: 5258092 +23-06-15 07:23:25.296 - INFO: train/mse_loss: 0.0023095916072965006 +23-06-15 07:23:25.297 - INFO: epoch: 2214 +23-06-15 07:23:25.297 - INFO: iters: 5260468 +23-06-15 07:26:06.542 - INFO: train/mse_loss: 0.002028622610419236 +23-06-15 07:26:06.542 - INFO: epoch: 2215 +23-06-15 07:26:06.542 - INFO: iters: 5262844 +23-06-15 07:28:47.131 - INFO: train/mse_loss: 0.0019963261029414163 +23-06-15 07:28:47.132 - INFO: epoch: 2216 +23-06-15 07:28:47.132 - INFO: iters: 5265220 +23-06-15 07:31:27.766 - INFO: train/mse_loss: 0.0019390802119618677 +23-06-15 07:31:27.767 - INFO: epoch: 2217 +23-06-15 07:31:27.767 - INFO: iters: 5267596 +23-06-15 07:34:08.453 - INFO: train/mse_loss: 0.001970075957299922 +23-06-15 07:34:08.454 - INFO: epoch: 2218 +23-06-15 07:34:08.454 - INFO: iters: 5269972 +23-06-15 07:36:48.952 - INFO: train/mse_loss: 0.0020478073481971287 +23-06-15 07:36:48.953 - INFO: epoch: 2219 +23-06-15 07:36:48.953 - INFO: iters: 5272348 +23-06-15 07:39:29.539 - INFO: train/mse_loss: 0.002579988536190928 +23-06-15 07:39:29.540 - INFO: epoch: 2220 +23-06-15 07:39:29.540 - INFO: iters: 5274724 +23-06-15 07:42:09.989 - INFO: train/mse_loss: 0.0018755081583007305 +23-06-15 07:42:09.989 - INFO: epoch: 2221 +23-06-15 07:42:09.989 - INFO: iters: 5277100 +23-06-15 07:44:51.174 - INFO: train/mse_loss: 0.0024768541487555492 +23-06-15 07:44:51.175 - INFO: epoch: 2222 +23-06-15 07:44:51.175 - INFO: iters: 5279476 +23-06-15 07:47:33.339 - INFO: train/mse_loss: 0.0021835493222929487 +23-06-15 07:47:33.339 - INFO: epoch: 2223 +23-06-15 07:47:33.339 - INFO: iters: 5281852 +23-06-15 07:50:15.650 - INFO: train/mse_loss: 0.0023985839795175414 +23-06-15 07:50:15.651 - INFO: epoch: 2224 +23-06-15 07:50:15.651 - INFO: iters: 5284228 +23-06-15 07:52:57.613 - INFO: train/mse_loss: 0.00279728594489485 +23-06-15 07:52:57.614 - INFO: epoch: 2225 +23-06-15 07:52:57.614 - INFO: iters: 5286604 +23-06-15 07:55:38.371 - INFO: train/mse_loss: 0.00215299264371069 +23-06-15 07:55:38.372 - INFO: epoch: 2226 +23-06-15 07:55:38.372 - INFO: iters: 5288980 +23-06-15 07:58:18.928 - INFO: train/mse_loss: 0.0023836717526945802 +23-06-15 07:58:18.928 - INFO: epoch: 2227 +23-06-15 07:58:18.929 - INFO: iters: 5291356 +23-06-15 08:00:59.605 - INFO: train/mse_loss: 0.0020556460291571346 +23-06-15 08:00:59.606 - INFO: epoch: 2228 +23-06-15 08:00:59.606 - INFO: iters: 5293732 +23-06-15 08:03:40.275 - INFO: train/mse_loss: 0.0020835088507737964 +23-06-15 08:03:40.276 - INFO: epoch: 2229 +23-06-15 08:03:40.276 - INFO: iters: 5296108 +23-06-15 08:06:21.009 - INFO: train/mse_loss: 0.0027593951054961617 +23-06-15 08:06:21.009 - INFO: epoch: 2230 +23-06-15 08:06:21.010 - INFO: iters: 5298484 +23-06-15 08:09:01.526 - INFO: train/mse_loss: 0.0020603364225620442 +23-06-15 08:09:01.527 - INFO: epoch: 2231 +23-06-15 08:09:01.527 - INFO: iters: 5300860 +23-06-15 08:11:42.440 - INFO: train/mse_loss: 0.0023436626396004757 +23-06-15 08:11:42.441 - INFO: epoch: 2232 +23-06-15 08:11:42.441 - INFO: iters: 5303236 +23-06-15 08:14:23.005 - INFO: train/mse_loss: 0.0025014355348506223 +23-06-15 08:14:23.006 - INFO: epoch: 2233 +23-06-15 08:14:23.006 - INFO: iters: 5305612 +23-06-15 08:17:03.546 - INFO: train/mse_loss: 0.002431338591820965 +23-06-15 08:17:03.547 - INFO: epoch: 2234 +23-06-15 08:17:03.547 - INFO: iters: 5307988 +23-06-15 08:19:44.169 - INFO: train/mse_loss: 0.0020485944426732188 +23-06-15 08:19:44.169 - INFO: epoch: 2235 +23-06-15 08:19:44.169 - INFO: iters: 5310364 +23-06-15 08:22:24.761 - INFO: train/mse_loss: 0.002251675163475273 +23-06-15 08:22:24.762 - INFO: epoch: 2236 +23-06-15 08:22:24.762 - INFO: iters: 5312740 +23-06-15 08:25:05.770 - INFO: train/mse_loss: 0.0021165171910550833 +23-06-15 08:25:05.771 - INFO: epoch: 2237 +23-06-15 08:25:05.771 - INFO: iters: 5315116 +23-06-15 08:27:46.745 - INFO: train/mse_loss: 0.0022121189549794227 +23-06-15 08:27:46.746 - INFO: epoch: 2238 +23-06-15 08:27:46.746 - INFO: iters: 5317492 +23-06-15 08:30:27.255 - INFO: train/mse_loss: 0.002139354553873265 +23-06-15 08:30:27.256 - INFO: epoch: 2239 +23-06-15 08:30:27.256 - INFO: iters: 5319868 +23-06-15 08:33:08.209 - INFO: train/mse_loss: 0.0021038262449088897 +23-06-15 08:33:08.209 - INFO: epoch: 2240 +23-06-15 08:33:08.209 - INFO: iters: 5322244 +23-06-15 08:35:48.942 - INFO: train/mse_loss: 0.0019923550761163688 +23-06-15 08:35:48.943 - INFO: epoch: 2241 +23-06-15 08:35:48.943 - INFO: iters: 5324620 +23-06-15 08:38:29.335 - INFO: train/mse_loss: 0.002071895771456086 +23-06-15 08:38:29.336 - INFO: epoch: 2242 +23-06-15 08:38:29.336 - INFO: iters: 5326996 +23-06-15 08:41:10.050 - INFO: train/mse_loss: 0.00211036902455878 +23-06-15 08:41:10.051 - INFO: epoch: 2243 +23-06-15 08:41:10.051 - INFO: iters: 5329372 +23-06-15 08:43:51.083 - INFO: train/mse_loss: 0.0024298348089053707 +23-06-15 08:43:51.083 - INFO: epoch: 2244 +23-06-15 08:43:51.083 - INFO: iters: 5331748 +23-06-15 08:46:31.953 - INFO: train/mse_loss: 0.002290902532739424 +23-06-15 08:46:31.954 - INFO: epoch: 2245 +23-06-15 08:46:31.954 - INFO: iters: 5334124 +23-06-15 08:49:12.452 - INFO: train/mse_loss: 0.0018586024589270591 +23-06-15 08:49:12.453 - INFO: epoch: 2246 +23-06-15 08:49:12.453 - INFO: iters: 5336500 +23-06-15 08:51:53.093 - INFO: train/mse_loss: 0.0020737280774299487 +23-06-15 08:51:53.094 - INFO: epoch: 2247 +23-06-15 08:51:53.094 - INFO: iters: 5338876 +23-06-15 08:54:33.803 - INFO: train/mse_loss: 0.002619933684651273 +23-06-15 08:54:33.803 - INFO: epoch: 2248 +23-06-15 08:54:33.803 - INFO: iters: 5341252 +23-06-15 08:57:14.499 - INFO: train/mse_loss: 0.0022755010886551337 +23-06-15 08:57:14.500 - INFO: epoch: 2249 +23-06-15 08:57:14.500 - INFO: iters: 5343628 +23-06-15 08:59:55.185 - INFO: train/mse_loss: 0.0021111254451164556 +23-06-15 08:59:55.185 - INFO: epoch: 2250 +23-06-15 08:59:55.185 - INFO: iters: 5346004 +23-06-15 09:02:35.817 - INFO: train/mse_loss: 0.0018347746811463006 +23-06-15 09:02:35.818 - INFO: epoch: 2251 +23-06-15 09:02:35.818 - INFO: iters: 5348380 +23-06-15 09:05:16.524 - INFO: train/mse_loss: 0.0021556084567460666 +23-06-15 09:05:16.525 - INFO: epoch: 2252 +23-06-15 09:05:16.525 - INFO: iters: 5350756 +23-06-15 09:07:57.136 - INFO: train/mse_loss: 0.0021817717322552897 +23-06-15 09:07:57.136 - INFO: epoch: 2253 +23-06-15 09:07:57.136 - INFO: iters: 5353132 +23-06-15 09:10:38.197 - INFO: train/mse_loss: 0.002156839774794538 +23-06-15 09:10:38.199 - INFO: epoch: 2254 +23-06-15 09:10:38.200 - INFO: iters: 5355508 +23-06-15 09:13:19.178 - INFO: train/mse_loss: 0.002374313314882756 +23-06-15 09:13:19.179 - INFO: epoch: 2255 +23-06-15 09:13:19.179 - INFO: iters: 5357884 +23-06-15 09:15:59.986 - INFO: train/mse_loss: 0.0023209151818463264 +23-06-15 09:15:59.987 - INFO: epoch: 2256 +23-06-15 09:15:59.987 - INFO: iters: 5360260 +23-06-15 09:18:40.681 - INFO: train/mse_loss: 0.002604286787925235 +23-06-15 09:18:40.681 - INFO: epoch: 2257 +23-06-15 09:18:40.681 - INFO: iters: 5362636 +23-06-15 09:21:21.444 - INFO: train/mse_loss: 0.0023462256783269102 +23-06-15 09:21:21.444 - INFO: epoch: 2258 +23-06-15 09:21:21.445 - INFO: iters: 5365012 +23-06-15 09:24:02.605 - INFO: train/mse_loss: 0.0022181402812500232 +23-06-15 09:24:02.605 - INFO: epoch: 2259 +23-06-15 09:24:02.605 - INFO: iters: 5367388 +23-06-15 09:26:43.193 - INFO: train/mse_loss: 0.0022078443019531717 +23-06-15 09:26:43.193 - INFO: epoch: 2260 +23-06-15 09:26:43.193 - INFO: iters: 5369764 +23-06-15 09:29:23.826 - INFO: train/mse_loss: 0.0025019245101189904 +23-06-15 09:29:23.826 - INFO: epoch: 2261 +23-06-15 09:29:23.826 - INFO: iters: 5372140 +23-06-15 09:32:04.321 - INFO: train/mse_loss: 0.0020951753059286083 +23-06-15 09:32:04.322 - INFO: epoch: 2262 +23-06-15 09:32:04.322 - INFO: iters: 5374516 +23-06-15 09:34:45.071 - INFO: train/mse_loss: 0.0019256448412297595 +23-06-15 09:34:45.071 - INFO: epoch: 2263 +23-06-15 09:34:45.072 - INFO: iters: 5376892 +23-06-15 09:37:25.760 - INFO: train/mse_loss: 0.002449474999679547 +23-06-15 09:37:25.761 - INFO: epoch: 2264 +23-06-15 09:37:25.761 - INFO: iters: 5379268 +23-06-15 09:40:06.638 - INFO: train/mse_loss: 0.002413832467734917 +23-06-15 09:40:06.638 - INFO: epoch: 2265 +23-06-15 09:40:06.639 - INFO: iters: 5381644 +23-06-15 09:42:47.458 - INFO: train/mse_loss: 0.002502796714533566 +23-06-15 09:42:47.459 - INFO: epoch: 2266 +23-06-15 09:42:47.459 - INFO: iters: 5384020 +23-06-15 09:45:27.916 - INFO: train/mse_loss: 0.0022015668782413393 +23-06-15 09:45:27.917 - INFO: epoch: 2267 +23-06-15 09:45:27.917 - INFO: iters: 5386396 +23-06-15 09:48:08.691 - INFO: train/mse_loss: 0.0019394245966567315 +23-06-15 09:48:08.691 - INFO: epoch: 2268 +23-06-15 09:48:08.691 - INFO: iters: 5388772 +23-06-15 09:50:49.758 - INFO: train/mse_loss: 0.0020790597838322203 +23-06-15 09:50:49.759 - INFO: epoch: 2269 +23-06-15 09:50:49.759 - INFO: iters: 5391148 +23-06-15 09:53:30.344 - INFO: train/mse_loss: 0.0019754551660531336 +23-06-15 09:53:30.345 - INFO: epoch: 2270 +23-06-15 09:53:30.345 - INFO: iters: 5393524 +23-06-15 09:56:10.829 - INFO: train/mse_loss: 0.002057171358265569 +23-06-15 09:56:10.829 - INFO: epoch: 2271 +23-06-15 09:56:10.829 - INFO: iters: 5395900 +23-06-15 09:58:51.539 - INFO: train/mse_loss: 0.0020130955348491375 +23-06-15 09:58:51.541 - INFO: epoch: 2272 +23-06-15 09:58:51.541 - INFO: iters: 5398276 +23-06-15 10:01:32.643 - INFO: train/mse_loss: 0.0020208633191721287 +23-06-15 10:01:32.644 - INFO: epoch: 2273 +23-06-15 10:01:32.644 - INFO: iters: 5400652 +23-06-15 10:04:13.292 - INFO: train/mse_loss: 0.0023191101101002897 +23-06-15 10:04:13.292 - INFO: epoch: 2274 +23-06-15 10:04:13.292 - INFO: iters: 5403028 +23-06-15 10:06:53.996 - INFO: train/mse_loss: 0.002260239500970257 +23-06-15 10:06:53.996 - INFO: epoch: 2275 +23-06-15 10:06:53.997 - INFO: iters: 5405404 +23-06-15 10:09:34.553 - INFO: train/mse_loss: 0.0021743675316989687 +23-06-15 10:09:34.553 - INFO: epoch: 2276 +23-06-15 10:09:34.553 - INFO: iters: 5407780 +23-06-15 10:12:15.461 - INFO: train/mse_loss: 0.002066013746799255 +23-06-15 10:12:15.461 - INFO: epoch: 2277 +23-06-15 10:12:15.461 - INFO: iters: 5410156 +23-06-15 10:14:55.925 - INFO: train/mse_loss: 0.0022170740673208753 +23-06-15 10:14:55.925 - INFO: epoch: 2278 +23-06-15 10:14:55.926 - INFO: iters: 5412532 +23-06-15 10:17:36.277 - INFO: train/mse_loss: 0.002073340857482236 +23-06-15 10:17:36.278 - INFO: epoch: 2279 +23-06-15 10:17:36.278 - INFO: iters: 5414908 +23-06-15 10:20:16.970 - INFO: train/mse_loss: 0.0021191270384421693 +23-06-15 10:20:16.971 - INFO: epoch: 2280 +23-06-15 10:20:16.971 - INFO: iters: 5417284 +23-06-15 10:22:57.505 - INFO: train/mse_loss: 0.001971750896265699 +23-06-15 10:22:57.506 - INFO: epoch: 2281 +23-06-15 10:22:57.506 - INFO: iters: 5419660 +23-06-15 10:25:38.088 - INFO: train/mse_loss: 0.0022856283251679052 +23-06-15 10:25:38.089 - INFO: epoch: 2282 +23-06-15 10:25:38.089 - INFO: iters: 5422036 +23-06-15 10:28:18.971 - INFO: train/mse_loss: 0.00207973247242469 +23-06-15 10:28:18.971 - INFO: epoch: 2283 +23-06-15 10:28:18.971 - INFO: iters: 5424412 +23-06-15 10:30:59.611 - INFO: train/mse_loss: 0.0021570180214001556 +23-06-15 10:30:59.611 - INFO: epoch: 2284 +23-06-15 10:30:59.611 - INFO: iters: 5426788 +23-06-15 10:33:40.242 - INFO: train/mse_loss: 0.001948157277713555 +23-06-15 10:33:40.242 - INFO: epoch: 2285 +23-06-15 10:33:40.242 - INFO: iters: 5429164 +23-06-15 10:36:20.704 - INFO: train/mse_loss: 0.0023355242994775437 +23-06-15 10:36:20.705 - INFO: epoch: 2286 +23-06-15 10:36:20.705 - INFO: iters: 5431540 +23-06-15 10:39:01.006 - INFO: train/mse_loss: 0.0019170891002419496 +23-06-15 10:39:01.007 - INFO: epoch: 2287 +23-06-15 10:39:01.007 - INFO: iters: 5433916 +23-06-15 10:41:41.638 - INFO: train/mse_loss: 0.0022188920207946447 +23-06-15 10:41:41.639 - INFO: epoch: 2288 +23-06-15 10:41:41.639 - INFO: iters: 5436292 +23-06-15 10:44:22.270 - INFO: train/mse_loss: 0.0019561454367307283 +23-06-15 10:44:22.271 - INFO: epoch: 2289 +23-06-15 10:44:22.271 - INFO: iters: 5438668 +23-06-15 10:47:02.916 - INFO: train/mse_loss: 0.0018122369265348435 +23-06-15 10:47:02.917 - INFO: epoch: 2290 +23-06-15 10:47:02.917 - INFO: iters: 5441044 +23-06-15 10:49:43.947 - INFO: train/mse_loss: 0.0019361129771802035 +23-06-15 10:49:43.948 - INFO: epoch: 2291 +23-06-15 10:49:43.948 - INFO: iters: 5443420 +23-06-15 10:52:24.857 - INFO: train/mse_loss: 0.0023451623092726913 +23-06-15 10:52:24.858 - INFO: epoch: 2292 +23-06-15 10:52:24.858 - INFO: iters: 5445796 +23-06-15 10:55:05.509 - INFO: train/mse_loss: 0.0022191944171385276 +23-06-15 10:55:05.509 - INFO: epoch: 2293 +23-06-15 10:55:05.509 - INFO: iters: 5448172 +23-06-15 10:57:46.168 - INFO: train/mse_loss: 0.0018544046251673207 +23-06-15 10:57:46.169 - INFO: epoch: 2294 +23-06-15 10:57:46.169 - INFO: iters: 5450548 +23-06-15 11:00:27.099 - INFO: train/mse_loss: 0.002435445916489698 +23-06-15 11:00:27.099 - INFO: epoch: 2295 +23-06-15 11:00:27.099 - INFO: iters: 5452924 +23-06-15 11:03:08.013 - INFO: train/mse_loss: 0.002282705060002529 +23-06-15 11:03:08.013 - INFO: epoch: 2296 +23-06-15 11:03:08.013 - INFO: iters: 5455300 +23-06-15 11:05:48.836 - INFO: train/mse_loss: 0.0019123653833431377 +23-06-15 11:05:48.836 - INFO: epoch: 2297 +23-06-15 11:05:48.836 - INFO: iters: 5457676 +23-06-15 11:08:29.637 - INFO: train/mse_loss: 0.002162369347017914 +23-06-15 11:08:29.638 - INFO: epoch: 2298 +23-06-15 11:08:29.638 - INFO: iters: 5460052 +23-06-15 11:11:10.223 - INFO: train/mse_loss: 0.0020812842264882783 +23-06-15 11:11:10.223 - INFO: epoch: 2299 +23-06-15 11:11:10.223 - INFO: iters: 5462428 +23-06-15 11:13:51.056 - INFO: train/mse_loss: 0.0022617756601333657 +23-06-15 11:13:51.057 - INFO: epoch: 2300 +23-06-15 11:13:51.057 - INFO: iters: 5464804 +23-06-15 11:16:31.679 - INFO: train/mse_loss: 0.0025962138467061457 +23-06-15 11:16:31.680 - INFO: epoch: 2301 +23-06-15 11:16:31.680 - INFO: iters: 5467180 +23-06-15 11:19:12.647 - INFO: train/mse_loss: 0.0020359164719847703 +23-06-15 11:19:12.648 - INFO: epoch: 2302 +23-06-15 11:19:12.648 - INFO: iters: 5469556 +23-06-15 11:21:53.124 - INFO: train/mse_loss: 0.0019646795290253387 +23-06-15 11:21:53.125 - INFO: epoch: 2303 +23-06-15 11:21:53.125 - INFO: iters: 5471932 +23-06-15 11:24:33.926 - INFO: train/mse_loss: 0.0023418803287647283 +23-06-15 11:24:33.926 - INFO: epoch: 2304 +23-06-15 11:24:33.927 - INFO: iters: 5474308 +23-06-15 11:27:14.808 - INFO: train/mse_loss: 0.0020425932135284793 +23-06-15 11:27:14.808 - INFO: epoch: 2305 +23-06-15 11:27:14.808 - INFO: iters: 5476684 +23-06-15 11:29:55.517 - INFO: train/mse_loss: 0.0023048598368680387 +23-06-15 11:29:55.518 - INFO: epoch: 2306 +23-06-15 11:29:55.518 - INFO: iters: 5479060 +23-06-15 11:32:36.196 - INFO: train/mse_loss: 0.002084882239856591 +23-06-15 11:32:36.197 - INFO: epoch: 2307 +23-06-15 11:32:36.197 - INFO: iters: 5481436 +23-06-15 11:35:17.032 - INFO: train/mse_loss: 0.0022853643352970143 +23-06-15 11:35:17.033 - INFO: epoch: 2308 +23-06-15 11:35:17.033 - INFO: iters: 5483812 +23-06-15 11:37:57.660 - INFO: train/mse_loss: 0.0024664046989831454 +23-06-15 11:37:57.660 - INFO: epoch: 2309 +23-06-15 11:37:57.660 - INFO: iters: 5486188 +23-06-15 11:40:38.678 - INFO: train/mse_loss: 0.002105300263915233 +23-06-15 11:40:38.679 - INFO: epoch: 2310 +23-06-15 11:40:38.679 - INFO: iters: 5488564 +23-06-15 11:43:19.613 - INFO: train/mse_loss: 0.00215104948335346 +23-06-15 11:43:19.613 - INFO: epoch: 2311 +23-06-15 11:43:19.614 - INFO: iters: 5490940 +23-06-15 11:46:00.333 - INFO: train/mse_loss: 0.0021653242330541144 +23-06-15 11:46:00.334 - INFO: epoch: 2312 +23-06-15 11:46:00.334 - INFO: iters: 5493316 +23-06-15 11:48:41.012 - INFO: train/mse_loss: 0.0018979503506318719 +23-06-15 11:48:41.013 - INFO: epoch: 2313 +23-06-15 11:48:41.013 - INFO: iters: 5495692 +23-06-15 11:51:21.479 - INFO: train/mse_loss: 0.002358409793563783 +23-06-15 11:51:21.480 - INFO: epoch: 2314 +23-06-15 11:51:21.480 - INFO: iters: 5498068 +23-06-15 11:54:02.337 - INFO: train/mse_loss: 0.0024629529009562185 +23-06-15 11:54:02.337 - INFO: epoch: 2315 +23-06-15 11:54:02.337 - INFO: iters: 5500444 +23-06-15 11:56:43.125 - INFO: train/mse_loss: 0.002188932665896928 +23-06-15 11:56:43.125 - INFO: epoch: 2316 +23-06-15 11:56:43.125 - INFO: iters: 5502820 +23-06-15 11:59:24.458 - INFO: train/mse_loss: 0.0024281492479724075 +23-06-15 11:59:24.458 - INFO: epoch: 2317 +23-06-15 11:59:24.459 - INFO: iters: 5505196 +23-06-15 12:02:04.932 - INFO: train/mse_loss: 0.002473909726134354 +23-06-15 12:02:04.932 - INFO: epoch: 2318 +23-06-15 12:02:04.933 - INFO: iters: 5507572 +23-06-15 12:04:45.777 - INFO: train/mse_loss: 0.0023312983132494293 +23-06-15 12:04:45.778 - INFO: epoch: 2319 +23-06-15 12:04:45.778 - INFO: iters: 5509948 +23-06-15 12:07:26.544 - INFO: train/mse_loss: 0.002226391931012295 +23-06-15 12:07:26.545 - INFO: epoch: 2320 +23-06-15 12:07:26.545 - INFO: iters: 5512324 +23-06-15 12:10:07.238 - INFO: train/mse_loss: 0.002390060295909016 +23-06-15 12:10:07.239 - INFO: epoch: 2321 +23-06-15 12:10:07.239 - INFO: iters: 5514700 +23-06-15 12:12:47.780 - INFO: train/mse_loss: 0.0022423193424113835 +23-06-15 12:12:47.780 - INFO: epoch: 2322 +23-06-15 12:12:47.780 - INFO: iters: 5517076 +23-06-15 12:15:28.428 - INFO: train/mse_loss: 0.0021778871185245833 +23-06-15 12:15:28.430 - INFO: epoch: 2323 +23-06-15 12:15:28.430 - INFO: iters: 5519452 +23-06-15 12:18:09.383 - INFO: train/mse_loss: 0.0021118320535863703 +23-06-15 12:18:09.383 - INFO: epoch: 2324 +23-06-15 12:18:09.384 - INFO: iters: 5521828 +23-06-15 12:20:50.851 - INFO: train/mse_loss: 0.0021761291462325206 +23-06-15 12:20:50.852 - INFO: epoch: 2325 +23-06-15 12:20:50.852 - INFO: iters: 5524204 +23-06-15 12:23:32.210 - INFO: train/mse_loss: 0.002056275883623672 +23-06-15 12:23:32.211 - INFO: epoch: 2326 +23-06-15 12:23:32.211 - INFO: iters: 5526580 +23-06-15 12:26:13.486 - INFO: train/mse_loss: 0.0021389907783838868 +23-06-15 12:26:13.486 - INFO: epoch: 2327 +23-06-15 12:26:13.486 - INFO: iters: 5528956 +23-06-15 12:28:54.286 - INFO: train/mse_loss: 0.0017714958010015614 +23-06-15 12:28:54.287 - INFO: epoch: 2328 +23-06-15 12:28:54.287 - INFO: iters: 5531332 +23-06-15 12:31:35.306 - INFO: train/mse_loss: 0.0020343791548909796 +23-06-15 12:31:35.307 - INFO: epoch: 2329 +23-06-15 12:31:35.307 - INFO: iters: 5533708 +23-06-15 12:34:16.873 - INFO: train/mse_loss: 0.0023338713087196388 +23-06-15 12:34:16.874 - INFO: epoch: 2330 +23-06-15 12:34:16.874 - INFO: iters: 5536084 +23-06-15 12:36:58.142 - INFO: train/mse_loss: 0.002379589861735893 +23-06-15 12:36:58.142 - INFO: epoch: 2331 +23-06-15 12:36:58.142 - INFO: iters: 5538460 +23-06-15 12:39:40.994 - INFO: train/mse_loss: 0.0021613714196903454 +23-06-15 12:39:40.995 - INFO: epoch: 2332 +23-06-15 12:39:40.995 - INFO: iters: 5540836 +23-06-15 12:42:22.426 - INFO: train/mse_loss: 0.0020703732060846284 +23-06-15 12:42:22.426 - INFO: epoch: 2333 +23-06-15 12:42:22.426 - INFO: iters: 5543212 +23-06-15 12:45:03.198 - INFO: train/mse_loss: 0.002203650844351213 +23-06-15 12:45:03.198 - INFO: epoch: 2334 +23-06-15 12:45:03.198 - INFO: iters: 5545588 +23-06-15 12:47:44.265 - INFO: train/mse_loss: 0.001873750452181326 +23-06-15 12:47:44.266 - INFO: epoch: 2335 +23-06-15 12:47:44.266 - INFO: iters: 5547964 +23-06-15 12:50:25.309 - INFO: train/mse_loss: 0.002141436985613518 +23-06-15 12:50:25.310 - INFO: epoch: 2336 +23-06-15 12:50:25.310 - INFO: iters: 5550340 +23-06-15 12:53:06.617 - INFO: train/mse_loss: 0.0021384748864330208 +23-06-15 12:53:06.617 - INFO: epoch: 2337 +23-06-15 12:53:06.617 - INFO: iters: 5552716 +23-06-15 12:55:48.219 - INFO: train/mse_loss: 0.002446291246657222 +23-06-15 12:55:48.220 - INFO: epoch: 2338 +23-06-15 12:55:48.220 - INFO: iters: 5555092 +23-06-15 12:58:29.009 - INFO: train/mse_loss: 0.0020688541352306728 +23-06-15 12:58:29.009 - INFO: epoch: 2339 +23-06-15 12:58:29.009 - INFO: iters: 5557468 +23-06-15 13:01:10.679 - INFO: train/mse_loss: 0.002308164989218658 +23-06-15 13:01:10.680 - INFO: epoch: 2340 +23-06-15 13:01:10.680 - INFO: iters: 5559844 +23-06-15 13:03:51.558 - INFO: train/mse_loss: 0.0020443350306958248 +23-06-15 13:03:51.559 - INFO: epoch: 2341 +23-06-15 13:03:51.559 - INFO: iters: 5562220 +23-06-15 13:06:32.414 - INFO: train/mse_loss: 0.002380693430627417 +23-06-15 13:06:32.415 - INFO: epoch: 2342 +23-06-15 13:06:32.415 - INFO: iters: 5564596 +23-06-15 13:09:13.317 - INFO: train/mse_loss: 0.001991712258147195 +23-06-15 13:09:13.318 - INFO: epoch: 2343 +23-06-15 13:09:13.318 - INFO: iters: 5566972 +23-06-15 13:11:54.751 - INFO: train/mse_loss: 0.002334250733887413 +23-06-15 13:11:54.752 - INFO: epoch: 2344 +23-06-15 13:11:54.752 - INFO: iters: 5569348 +23-06-15 13:14:35.660 - INFO: train/mse_loss: 0.002380610654972923 +23-06-15 13:14:35.661 - INFO: epoch: 2345 +23-06-15 13:14:35.661 - INFO: iters: 5571724 +23-06-15 13:17:16.595 - INFO: train/mse_loss: 0.001993554881036984 +23-06-15 13:17:16.595 - INFO: epoch: 2346 +23-06-15 13:17:16.595 - INFO: iters: 5574100 +23-06-15 13:19:57.293 - INFO: train/mse_loss: 0.0020513653700116093 +23-06-15 13:19:57.294 - INFO: epoch: 2347 +23-06-15 13:19:57.294 - INFO: iters: 5576476 +23-06-15 13:22:38.794 - INFO: train/mse_loss: 0.00211698093727115 +23-06-15 13:22:38.795 - INFO: epoch: 2348 +23-06-15 13:22:38.795 - INFO: iters: 5578852 +23-06-15 13:25:19.894 - INFO: train/mse_loss: 0.00254631772452553 +23-06-15 13:25:19.895 - INFO: epoch: 2349 +23-06-15 13:25:19.895 - INFO: iters: 5581228 +23-06-15 13:28:01.365 - INFO: train/mse_loss: 0.002322035978098638 +23-06-15 13:28:01.366 - INFO: epoch: 2350 +23-06-15 13:28:01.366 - INFO: iters: 5583604 +23-06-15 13:30:42.383 - INFO: train/mse_loss: 0.0019245183933467482 +23-06-15 13:30:42.384 - INFO: epoch: 2351 +23-06-15 13:30:42.384 - INFO: iters: 5585980 +23-06-15 13:33:23.563 - INFO: train/mse_loss: 0.0017740413758618387 +23-06-15 13:33:23.564 - INFO: epoch: 2352 +23-06-15 13:33:23.564 - INFO: iters: 5588356 +23-06-15 13:36:04.863 - INFO: train/mse_loss: 0.002215329421104421 +23-06-15 13:36:04.864 - INFO: epoch: 2353 +23-06-15 13:36:04.864 - INFO: iters: 5590732 +23-06-15 13:38:46.304 - INFO: train/mse_loss: 0.0023506232755362943 +23-06-15 13:38:46.305 - INFO: epoch: 2354 +23-06-15 13:38:46.305 - INFO: iters: 5593108 +23-06-15 13:41:27.112 - INFO: train/mse_loss: 0.0022145261363242363 +23-06-15 13:41:27.112 - INFO: epoch: 2355 +23-06-15 13:41:27.112 - INFO: iters: 5595484 +23-06-15 13:44:08.112 - INFO: train/mse_loss: 0.002329468066935029 +23-06-15 13:44:08.114 - INFO: epoch: 2356 +23-06-15 13:44:08.114 - INFO: iters: 5597860 +23-06-15 13:46:48.988 - INFO: train/mse_loss: 0.002076082428365002 +23-06-15 13:46:48.988 - INFO: epoch: 2357 +23-06-15 13:46:48.988 - INFO: iters: 5600236 +23-06-15 13:49:29.796 - INFO: train/mse_loss: 0.0027363791913150807 +23-06-15 13:49:29.797 - INFO: epoch: 2358 +23-06-15 13:49:29.797 - INFO: iters: 5602612 +23-06-15 13:52:10.728 - INFO: train/mse_loss: 0.002164266104061276 +23-06-15 13:52:10.729 - INFO: epoch: 2359 +23-06-15 13:52:10.729 - INFO: iters: 5604988 +23-06-15 13:54:51.806 - INFO: train/mse_loss: 0.0022990691355235173 +23-06-15 13:54:51.807 - INFO: epoch: 2360 +23-06-15 13:54:51.807 - INFO: iters: 5607364 +23-06-15 13:57:32.625 - INFO: train/mse_loss: 0.0018478457426718163 +23-06-15 13:57:32.626 - INFO: epoch: 2361 +23-06-15 13:57:32.626 - INFO: iters: 5609740 +23-06-15 14:00:13.668 - INFO: train/mse_loss: 0.00232284713521998 +23-06-15 14:00:13.669 - INFO: epoch: 2362 +23-06-15 14:00:13.669 - INFO: iters: 5612116 +23-06-15 14:02:54.804 - INFO: train/mse_loss: 0.0021887621637030038 +23-06-15 14:02:54.804 - INFO: epoch: 2363 +23-06-15 14:02:54.805 - INFO: iters: 5614492 +23-06-15 14:05:36.314 - INFO: train/mse_loss: 0.0026045008394937736 +23-06-15 14:05:36.315 - INFO: epoch: 2364 +23-06-15 14:05:36.315 - INFO: iters: 5616868 +23-06-15 14:08:17.346 - INFO: train/mse_loss: 0.0023566584112314722 +23-06-15 14:08:17.346 - INFO: epoch: 2365 +23-06-15 14:08:17.346 - INFO: iters: 5619244 +23-06-15 14:10:58.518 - INFO: train/mse_loss: 0.0022566047571960096 +23-06-15 14:10:58.518 - INFO: epoch: 2366 +23-06-15 14:10:58.518 - INFO: iters: 5621620 +23-06-15 14:13:39.479 - INFO: train/mse_loss: 0.002043862690275413 +23-06-15 14:13:39.480 - INFO: epoch: 2367 +23-06-15 14:13:39.481 - INFO: iters: 5623996 +23-06-15 14:16:21.149 - INFO: train/mse_loss: 0.002239854563606169 +23-06-15 14:16:21.150 - INFO: epoch: 2368 +23-06-15 14:16:21.150 - INFO: iters: 5626372 +23-06-15 14:19:02.451 - INFO: train/mse_loss: 0.0019603915977439144 +23-06-15 14:19:02.451 - INFO: epoch: 2369 +23-06-15 14:19:02.451 - INFO: iters: 5628748 +23-06-15 14:21:43.769 - INFO: train/mse_loss: 0.001804612097042293 +23-06-15 14:21:43.769 - INFO: epoch: 2370 +23-06-15 14:21:43.770 - INFO: iters: 5631124 +23-06-15 14:24:25.190 - INFO: train/mse_loss: 0.0022448330031087003 +23-06-15 14:24:25.190 - INFO: epoch: 2371 +23-06-15 14:24:25.190 - INFO: iters: 5633500 +23-06-15 14:27:06.558 - INFO: train/mse_loss: 0.001986810113699254 +23-06-15 14:27:06.559 - INFO: epoch: 2372 +23-06-15 14:27:06.559 - INFO: iters: 5635876 +23-06-15 14:29:47.938 - INFO: train/mse_loss: 0.002382116749830174 +23-06-15 14:29:47.939 - INFO: epoch: 2373 +23-06-15 14:29:47.939 - INFO: iters: 5638252 +23-06-15 14:32:30.227 - INFO: train/mse_loss: 0.0022323352531867058 +23-06-15 14:32:30.227 - INFO: epoch: 2374 +23-06-15 14:32:30.227 - INFO: iters: 5640628 +23-06-15 14:35:11.696 - INFO: train/mse_loss: 0.002124053390319569 +23-06-15 14:35:11.697 - INFO: epoch: 2375 +23-06-15 14:35:11.697 - INFO: iters: 5643004 +23-06-15 14:37:52.813 - INFO: train/mse_loss: 0.002028311265970389 +23-06-15 14:37:52.814 - INFO: epoch: 2376 +23-06-15 14:37:52.814 - INFO: iters: 5645380 +23-06-15 14:40:33.887 - INFO: train/mse_loss: 0.0017427638442975215 +23-06-15 14:40:33.888 - INFO: epoch: 2377 +23-06-15 14:40:33.888 - INFO: iters: 5647756 +23-06-15 14:43:15.082 - INFO: train/mse_loss: 0.002331758111388805 +23-06-15 14:43:15.082 - INFO: epoch: 2378 +23-06-15 14:43:15.083 - INFO: iters: 5650132 +23-06-15 14:45:55.985 - INFO: train/mse_loss: 0.0021635920337228077 +23-06-15 14:45:55.986 - INFO: epoch: 2379 +23-06-15 14:45:55.986 - INFO: iters: 5652508 +23-06-15 14:48:37.094 - INFO: train/mse_loss: 0.001994219061511691 +23-06-15 14:48:37.095 - INFO: epoch: 2380 +23-06-15 14:48:37.095 - INFO: iters: 5654884 +23-06-15 14:51:19.122 - INFO: train/mse_loss: 0.002433865086866546 +23-06-15 14:51:19.123 - INFO: epoch: 2381 +23-06-15 14:51:19.123 - INFO: iters: 5657260 +23-06-15 14:54:00.333 - INFO: train/mse_loss: 0.001960002092900529 +23-06-15 14:54:00.334 - INFO: epoch: 2382 +23-06-15 14:54:00.334 - INFO: iters: 5659636 +23-06-15 14:56:41.623 - INFO: train/mse_loss: 0.0018829107811256635 +23-06-15 14:56:41.623 - INFO: epoch: 2383 +23-06-15 14:56:41.623 - INFO: iters: 5662012 +23-06-15 14:59:22.551 - INFO: train/mse_loss: 0.0024590990652611656 +23-06-15 14:59:22.552 - INFO: epoch: 2384 +23-06-15 14:59:22.552 - INFO: iters: 5664388 +23-06-15 15:02:03.852 - INFO: train/mse_loss: 0.002033151970076397 +23-06-15 15:02:03.853 - INFO: epoch: 2385 +23-06-15 15:02:03.853 - INFO: iters: 5666764 +23-06-15 15:04:45.066 - INFO: train/mse_loss: 0.0021167101969774686 +23-06-15 15:04:45.067 - INFO: epoch: 2386 +23-06-15 15:04:45.068 - INFO: iters: 5669140 +23-06-15 15:07:26.343 - INFO: train/mse_loss: 0.0023086132749802236 +23-06-15 15:07:26.344 - INFO: epoch: 2387 +23-06-15 15:07:26.344 - INFO: iters: 5671516 +23-06-15 15:10:08.066 - INFO: train/mse_loss: 0.0021939521655636317 +23-06-15 15:10:08.066 - INFO: epoch: 2388 +23-06-15 15:10:08.066 - INFO: iters: 5673892 +23-06-15 15:12:49.100 - INFO: train/mse_loss: 0.0024173798772344924 +23-06-15 15:12:49.101 - INFO: epoch: 2389 +23-06-15 15:12:49.101 - INFO: iters: 5676268 +23-06-15 15:15:30.311 - INFO: train/mse_loss: 0.0020770619960751866 +23-06-15 15:15:30.311 - INFO: epoch: 2390 +23-06-15 15:15:30.311 - INFO: iters: 5678644 +23-06-15 15:18:11.249 - INFO: train/mse_loss: 0.0025348418076410546 +23-06-15 15:18:11.249 - INFO: epoch: 2391 +23-06-15 15:18:11.250 - INFO: iters: 5681020 +23-06-15 15:20:53.095 - INFO: train/mse_loss: 0.0022343823881051583 +23-06-15 15:20:53.096 - INFO: epoch: 2392 +23-06-15 15:20:53.096 - INFO: iters: 5683396 +23-06-15 15:23:34.564 - INFO: train/mse_loss: 0.002152879893854621 +23-06-15 15:23:34.566 - INFO: epoch: 2393 +23-06-15 15:23:34.566 - INFO: iters: 5685772 +23-06-15 15:26:15.442 - INFO: train/mse_loss: 0.002105892295749256 +23-06-15 15:26:15.442 - INFO: epoch: 2394 +23-06-15 15:26:15.443 - INFO: iters: 5688148 +23-06-15 15:28:56.644 - INFO: train/mse_loss: 0.0023750582267373474 +23-06-15 15:28:56.644 - INFO: epoch: 2395 +23-06-15 15:28:56.644 - INFO: iters: 5690524 +23-06-15 15:31:37.531 - INFO: train/mse_loss: 0.00198267929797666 +23-06-15 15:31:37.531 - INFO: epoch: 2396 +23-06-15 15:31:37.531 - INFO: iters: 5692900 +23-06-15 15:34:18.851 - INFO: train/mse_loss: 0.002380562820230761 +23-06-15 15:34:18.851 - INFO: epoch: 2397 +23-06-15 15:34:18.851 - INFO: iters: 5695276 +23-06-15 15:36:59.968 - INFO: train/mse_loss: 0.001908302835456522 +23-06-15 15:36:59.969 - INFO: epoch: 2398 +23-06-15 15:36:59.969 - INFO: iters: 5697652 +23-06-15 15:39:40.900 - INFO: train/mse_loss: 0.00231896546043719 +23-06-15 15:39:40.901 - INFO: epoch: 2399 +23-06-15 15:39:40.901 - INFO: iters: 5700028 +23-06-15 15:42:22.078 - INFO: train/mse_loss: 0.002108781319229177 +23-06-15 15:42:22.079 - INFO: epoch: 2400 +23-06-15 15:42:22.079 - INFO: iters: 5702404 +23-06-15 15:45:03.045 - INFO: train/mse_loss: 0.0023572588364828085 +23-06-15 15:45:03.045 - INFO: epoch: 2401 +23-06-15 15:45:03.046 - INFO: iters: 5704780 +23-06-15 15:47:44.269 - INFO: train/mse_loss: 0.001828709573650369 +23-06-15 15:47:44.270 - INFO: epoch: 2402 +23-06-15 15:47:44.270 - INFO: iters: 5707156 +23-06-15 15:50:25.141 - INFO: train/mse_loss: 0.001821155150096412 +23-06-15 15:50:25.142 - INFO: epoch: 2403 +23-06-15 15:50:25.142 - INFO: iters: 5709532 +23-06-15 15:53:05.865 - INFO: train/mse_loss: 0.002191337254649006 +23-06-15 15:53:05.866 - INFO: epoch: 2404 +23-06-15 15:53:05.866 - INFO: iters: 5711908 +23-06-15 15:55:46.694 - INFO: train/mse_loss: 0.002014984925536624 +23-06-15 15:55:46.695 - INFO: epoch: 2405 +23-06-15 15:55:46.695 - INFO: iters: 5714284 +23-06-15 15:58:28.038 - INFO: train/mse_loss: 0.002276445086682858 +23-06-15 15:58:28.039 - INFO: epoch: 2406 +23-06-15 15:58:28.039 - INFO: iters: 5716660 +23-06-15 16:01:09.196 - INFO: train/mse_loss: 0.002290721608728393 +23-06-15 16:01:09.197 - INFO: epoch: 2407 +23-06-15 16:01:09.197 - INFO: iters: 5719036 +23-06-15 16:03:50.018 - INFO: train/mse_loss: 0.0022627007975560528 +23-06-15 16:03:50.018 - INFO: epoch: 2408 +23-06-15 16:03:50.018 - INFO: iters: 5721412 +23-06-15 16:06:30.934 - INFO: train/mse_loss: 0.002179118007120068 +23-06-15 16:06:30.934 - INFO: epoch: 2409 +23-06-15 16:06:30.935 - INFO: iters: 5723788 +23-06-15 16:09:12.152 - INFO: train/mse_loss: 0.0026606789606651573 +23-06-15 16:09:12.153 - INFO: epoch: 2410 +23-06-15 16:09:12.153 - INFO: iters: 5726164 +23-06-15 16:11:54.486 - INFO: train/mse_loss: 0.002103896731985435 +23-06-15 16:11:54.486 - INFO: epoch: 2411 +23-06-15 16:11:54.486 - INFO: iters: 5728540 +23-06-15 16:14:35.730 - INFO: train/mse_loss: 0.0022338719904577194 +23-06-15 16:14:35.731 - INFO: epoch: 2412 +23-06-15 16:14:35.731 - INFO: iters: 5730916 +23-06-15 16:17:17.079 - INFO: train/mse_loss: 0.0019981749060834987 +23-06-15 16:17:17.080 - INFO: epoch: 2413 +23-06-15 16:17:17.081 - INFO: iters: 5733292 +23-06-15 16:19:58.297 - INFO: train/mse_loss: 0.0017417382429999076 +23-06-15 16:19:58.298 - INFO: epoch: 2414 +23-06-15 16:19:58.298 - INFO: iters: 5735668 +23-06-15 16:22:39.306 - INFO: train/mse_loss: 0.002444624932616501 +23-06-15 16:22:39.307 - INFO: epoch: 2415 +23-06-15 16:22:39.307 - INFO: iters: 5738044 +23-06-15 16:25:20.697 - INFO: train/mse_loss: 0.0023500649429981594 +23-06-15 16:25:20.699 - INFO: epoch: 2416 +23-06-15 16:25:20.699 - INFO: iters: 5740420 +23-06-15 16:28:01.782 - INFO: train/mse_loss: 0.0023415335422689062 +23-06-15 16:28:01.783 - INFO: epoch: 2417 +23-06-15 16:28:01.783 - INFO: iters: 5742796 +23-06-15 16:30:43.227 - INFO: train/mse_loss: 0.002248378067937059 +23-06-15 16:30:43.227 - INFO: epoch: 2418 +23-06-15 16:30:43.227 - INFO: iters: 5745172 +23-06-15 16:33:24.959 - INFO: train/mse_loss: 0.0023647264594793076 +23-06-15 16:33:24.960 - INFO: epoch: 2419 +23-06-15 16:33:24.960 - INFO: iters: 5747548 +23-06-15 16:36:06.649 - INFO: train/mse_loss: 0.002090276228750018 +23-06-15 16:36:06.650 - INFO: epoch: 2420 +23-06-15 16:36:06.650 - INFO: iters: 5749924 +23-06-15 16:38:49.013 - INFO: train/mse_loss: 0.002465977048572319 +23-06-15 16:38:49.013 - INFO: epoch: 2421 +23-06-15 16:38:49.013 - INFO: iters: 5752300 +23-06-15 16:41:30.755 - INFO: train/mse_loss: 0.0023146497434740477 +23-06-15 16:41:30.755 - INFO: epoch: 2422 +23-06-15 16:41:30.756 - INFO: iters: 5754676 +23-06-15 16:44:12.626 - INFO: train/mse_loss: 0.0021486852287866728 +23-06-15 16:44:12.627 - INFO: epoch: 2423 +23-06-15 16:44:12.627 - INFO: iters: 5757052 +23-06-15 16:46:54.535 - INFO: train/mse_loss: 0.002257585923559023 +23-06-15 16:46:54.536 - INFO: epoch: 2424 +23-06-15 16:46:54.536 - INFO: iters: 5759428 +23-06-15 16:49:36.196 - INFO: train/mse_loss: 0.0023656132395723397 +23-06-15 16:49:36.197 - INFO: epoch: 2425 +23-06-15 16:49:36.197 - INFO: iters: 5761804 +23-06-15 16:52:17.874 - INFO: train/mse_loss: 0.0021085915146791456 +23-06-15 16:52:17.875 - INFO: epoch: 2426 +23-06-15 16:52:17.875 - INFO: iters: 5764180 +23-06-15 16:54:59.978 - INFO: train/mse_loss: 0.002020179404340518 +23-06-15 16:54:59.978 - INFO: epoch: 2427 +23-06-15 16:54:59.979 - INFO: iters: 5766556 +23-06-15 16:57:42.232 - INFO: train/mse_loss: 0.0019307871472038743 +23-06-15 16:57:42.233 - INFO: epoch: 2428 +23-06-15 16:57:42.233 - INFO: iters: 5768932 +23-06-15 17:00:24.196 - INFO: train/mse_loss: 0.002080453175575918 +23-06-15 17:00:24.197 - INFO: epoch: 2429 +23-06-15 17:00:24.197 - INFO: iters: 5771308 +23-06-15 17:03:06.187 - INFO: train/mse_loss: 0.002174800339220358 +23-06-15 17:03:06.188 - INFO: epoch: 2430 +23-06-15 17:03:06.189 - INFO: iters: 5773684 +23-06-15 17:05:47.542 - INFO: train/mse_loss: 0.0023378679888073654 +23-06-15 17:05:47.542 - INFO: epoch: 2431 +23-06-15 17:05:47.542 - INFO: iters: 5776060 +23-06-15 17:08:29.490 - INFO: train/mse_loss: 0.002092707471515174 +23-06-15 17:08:29.493 - INFO: epoch: 2432 +23-06-15 17:08:29.493 - INFO: iters: 5778436 +23-06-15 17:11:11.965 - INFO: train/mse_loss: 0.002062024950566827 +23-06-15 17:11:11.966 - INFO: epoch: 2433 +23-06-15 17:11:11.966 - INFO: iters: 5780812 +23-06-15 17:13:53.528 - INFO: train/mse_loss: 0.002358865353127123 +23-06-15 17:13:53.529 - INFO: epoch: 2434 +23-06-15 17:13:53.529 - INFO: iters: 5783188 +23-06-15 17:16:35.088 - INFO: train/mse_loss: 0.0020100091733857646 +23-06-15 17:16:35.089 - INFO: epoch: 2435 +23-06-15 17:16:35.089 - INFO: iters: 5785564 +23-06-15 17:19:17.294 - INFO: train/mse_loss: 0.0022305466917399096 +23-06-15 17:19:17.297 - INFO: epoch: 2436 +23-06-15 17:19:17.297 - INFO: iters: 5787940 +23-06-15 17:21:59.046 - INFO: train/mse_loss: 0.002342860853471574 +23-06-15 17:21:59.050 - INFO: epoch: 2437 +23-06-15 17:21:59.050 - INFO: iters: 5790316 +23-06-15 17:24:40.579 - INFO: train/mse_loss: 0.0023643795125204473 +23-06-15 17:24:40.580 - INFO: epoch: 2438 +23-06-15 17:24:40.580 - INFO: iters: 5792692 +23-06-15 17:27:22.104 - INFO: train/mse_loss: 0.0026327113932847618 +23-06-15 17:27:22.105 - INFO: epoch: 2439 +23-06-15 17:27:22.105 - INFO: iters: 5795068 +23-06-15 17:30:04.050 - INFO: train/mse_loss: 0.0022570385713963567 +23-06-15 17:30:04.050 - INFO: epoch: 2440 +23-06-15 17:30:04.050 - INFO: iters: 5797444 +23-06-15 17:32:45.454 - INFO: train/mse_loss: 0.0023795775643386014 +23-06-15 17:32:45.455 - INFO: epoch: 2441 +23-06-15 17:32:45.455 - INFO: iters: 5799820 +23-06-15 17:35:27.062 - INFO: train/mse_loss: 0.0021939235450821435 +23-06-15 17:35:27.063 - INFO: epoch: 2442 +23-06-15 17:35:27.063 - INFO: iters: 5802196 +23-06-15 17:38:08.739 - INFO: train/mse_loss: 0.0021860762351793815 +23-06-15 17:38:08.741 - INFO: epoch: 2443 +23-06-15 17:38:08.741 - INFO: iters: 5804572 +23-06-15 17:40:50.660 - INFO: train/mse_loss: 0.002136663041578885 +23-06-15 17:40:50.660 - INFO: epoch: 2444 +23-06-15 17:40:50.660 - INFO: iters: 5806948 +23-06-15 17:43:33.049 - INFO: train/mse_loss: 0.00227635200253981 +23-06-15 17:43:33.050 - INFO: epoch: 2445 +23-06-15 17:43:33.050 - INFO: iters: 5809324 +23-06-15 17:46:14.777 - INFO: train/mse_loss: 0.0018257128495839817 +23-06-15 17:46:14.777 - INFO: epoch: 2446 +23-06-15 17:46:14.777 - INFO: iters: 5811700 +23-06-15 17:48:56.550 - INFO: train/mse_loss: 0.0021650934510457453 +23-06-15 17:48:56.550 - INFO: epoch: 2447 +23-06-15 17:48:56.551 - INFO: iters: 5814076 +23-06-15 17:51:38.283 - INFO: train/mse_loss: 0.001984231950633262 +23-06-15 17:51:38.283 - INFO: epoch: 2448 +23-06-15 17:51:38.284 - INFO: iters: 5816452 +23-06-15 17:54:19.678 - INFO: train/mse_loss: 0.0021846274256757977 +23-06-15 17:54:19.678 - INFO: epoch: 2449 +23-06-15 17:54:19.679 - INFO: iters: 5818828 +23-06-15 17:57:01.329 - INFO: train/mse_loss: 0.002376819521079768 +23-06-15 17:57:01.330 - INFO: epoch: 2450 +23-06-15 17:57:01.330 - INFO: iters: 5821204 +23-06-15 17:59:43.368 - INFO: train/mse_loss: 0.002043966815745386 +23-06-15 17:59:43.368 - INFO: epoch: 2451 +23-06-15 17:59:43.369 - INFO: iters: 5823580 +23-06-15 18:02:25.005 - INFO: train/mse_loss: 0.0019546684166980963 +23-06-15 18:02:25.006 - INFO: epoch: 2452 +23-06-15 18:02:25.006 - INFO: iters: 5825956 +23-06-15 18:05:06.455 - INFO: train/mse_loss: 0.0021709919216696123 +23-06-15 18:05:06.455 - INFO: epoch: 2453 +23-06-15 18:05:06.455 - INFO: iters: 5828332 +23-06-15 18:07:48.056 - INFO: train/mse_loss: 0.001877830154007702 +23-06-15 18:07:48.058 - INFO: epoch: 2454 +23-06-15 18:07:48.058 - INFO: iters: 5830708 +23-06-15 18:10:29.853 - INFO: train/mse_loss: 0.0018786110686234696 +23-06-15 18:10:29.853 - INFO: epoch: 2455 +23-06-15 18:10:29.853 - INFO: iters: 5833084 +23-06-15 18:13:11.476 - INFO: train/mse_loss: 0.0023754497934940274 +23-06-15 18:13:11.477 - INFO: epoch: 2456 +23-06-15 18:13:11.477 - INFO: iters: 5835460 +23-06-15 18:15:53.135 - INFO: train/mse_loss: 0.002599422549550588 +23-06-15 18:15:53.135 - INFO: epoch: 2457 +23-06-15 18:15:53.135 - INFO: iters: 5837836 +23-06-15 18:18:34.539 - INFO: train/mse_loss: 0.002473096964823596 +23-06-15 18:18:34.540 - INFO: epoch: 2458 +23-06-15 18:18:34.540 - INFO: iters: 5840212 +23-06-15 18:21:16.348 - INFO: train/mse_loss: 0.002190541194429267 +23-06-15 18:21:16.349 - INFO: epoch: 2459 +23-06-15 18:21:16.349 - INFO: iters: 5842588 +23-06-15 18:23:58.107 - INFO: train/mse_loss: 0.0019336738949014432 +23-06-15 18:23:58.107 - INFO: epoch: 2460 +23-06-15 18:23:58.107 - INFO: iters: 5844964 +23-06-15 18:26:40.029 - INFO: train/mse_loss: 0.0025355306913392613 +23-06-15 18:26:40.030 - INFO: epoch: 2461 +23-06-15 18:26:40.030 - INFO: iters: 5847340 +23-06-15 18:29:21.931 - INFO: train/mse_loss: 0.002146059931724282 +23-06-15 18:29:21.932 - INFO: epoch: 2462 +23-06-15 18:29:21.932 - INFO: iters: 5849716 +23-06-15 18:32:03.696 - INFO: train/mse_loss: 0.002241668875573394 +23-06-15 18:32:03.697 - INFO: epoch: 2463 +23-06-15 18:32:03.697 - INFO: iters: 5852092 +23-06-15 18:34:45.558 - INFO: train/mse_loss: 0.001991121787532791 +23-06-15 18:34:45.558 - INFO: epoch: 2464 +23-06-15 18:34:45.558 - INFO: iters: 5854468 +23-06-15 18:37:27.492 - INFO: train/mse_loss: 0.0023977280462020383 +23-06-15 18:37:27.493 - INFO: epoch: 2465 +23-06-15 18:37:27.493 - INFO: iters: 5856844 +23-06-15 18:40:09.206 - INFO: train/mse_loss: 0.0022004196364064123 +23-06-15 18:40:09.206 - INFO: epoch: 2466 +23-06-15 18:40:09.206 - INFO: iters: 5859220 +23-06-15 18:42:50.965 - INFO: train/mse_loss: 0.0021148332963899087 +23-06-15 18:42:50.966 - INFO: epoch: 2467 +23-06-15 18:42:50.966 - INFO: iters: 5861596 +23-06-15 18:45:33.013 - INFO: train/mse_loss: 0.0018148871749382378 +23-06-15 18:45:33.013 - INFO: epoch: 2468 +23-06-15 18:45:33.013 - INFO: iters: 5863972 +23-06-15 18:48:15.852 - INFO: train/mse_loss: 0.00209801179880742 +23-06-15 18:48:15.853 - INFO: epoch: 2469 +23-06-15 18:48:15.853 - INFO: iters: 5866348 +23-06-15 18:50:57.796 - INFO: train/mse_loss: 0.0023996908654617963 +23-06-15 18:50:57.796 - INFO: epoch: 2470 +23-06-15 18:50:57.797 - INFO: iters: 5868724 +23-06-15 18:53:39.537 - INFO: train/mse_loss: 0.0017884008064889584 +23-06-15 18:53:39.538 - INFO: epoch: 2471 +23-06-15 18:53:39.538 - INFO: iters: 5871100 +23-06-15 18:56:21.578 - INFO: train/mse_loss: 0.0021929799045807673 +23-06-15 18:56:21.578 - INFO: epoch: 2472 +23-06-15 18:56:21.578 - INFO: iters: 5873476 +23-06-15 18:59:03.925 - INFO: train/mse_loss: 0.0022715473988936955 +23-06-15 18:59:03.925 - INFO: epoch: 2473 +23-06-15 18:59:03.925 - INFO: iters: 5875852 +23-06-15 19:01:45.899 - INFO: train/mse_loss: 0.0019290624969358233 +23-06-15 19:01:45.900 - INFO: epoch: 2474 +23-06-15 19:01:45.900 - INFO: iters: 5878228 +23-06-15 19:04:27.353 - INFO: train/mse_loss: 0.0022845587285799177 +23-06-15 19:04:27.354 - INFO: epoch: 2475 +23-06-15 19:04:27.354 - INFO: iters: 5880604 +23-06-15 19:07:09.319 - INFO: train/mse_loss: 0.0021226215994033354 +23-06-15 19:07:09.320 - INFO: epoch: 2476 +23-06-15 19:07:09.320 - INFO: iters: 5882980 +23-06-15 19:09:51.723 - INFO: train/mse_loss: 0.001893386669131231 +23-06-15 19:09:51.723 - INFO: epoch: 2477 +23-06-15 19:09:51.723 - INFO: iters: 5885356 +23-06-15 19:12:33.647 - INFO: train/mse_loss: 0.0019972448954840823 +23-06-15 19:12:33.647 - INFO: epoch: 2478 +23-06-15 19:12:33.647 - INFO: iters: 5887732 +23-06-15 19:15:15.463 - INFO: train/mse_loss: 0.0020498915679610934 +23-06-15 19:15:15.465 - INFO: epoch: 2479 +23-06-15 19:15:15.465 - INFO: iters: 5890108 +23-06-15 19:17:56.761 - INFO: train/mse_loss: 0.0021247263965063637 +23-06-15 19:17:56.762 - INFO: epoch: 2480 +23-06-15 19:17:56.762 - INFO: iters: 5892484 +23-06-15 19:20:38.654 - INFO: train/mse_loss: 0.0020953118152895263 +23-06-15 19:20:38.654 - INFO: epoch: 2481 +23-06-15 19:20:38.655 - INFO: iters: 5894860 +23-06-15 19:23:20.527 - INFO: train/mse_loss: 0.0023732711760929286 +23-06-15 19:23:20.527 - INFO: epoch: 2482 +23-06-15 19:23:20.527 - INFO: iters: 5897236 +23-06-15 19:26:02.528 - INFO: train/mse_loss: 0.002004520809050549 +23-06-15 19:26:02.529 - INFO: epoch: 2483 +23-06-15 19:26:02.529 - INFO: iters: 5899612 +23-06-15 19:28:44.503 - INFO: train/mse_loss: 0.001815680809054831 +23-06-15 19:28:44.504 - INFO: epoch: 2484 +23-06-15 19:28:44.504 - INFO: iters: 5901988 +23-06-15 19:31:25.797 - INFO: train/mse_loss: 0.0019052536380657556 +23-06-15 19:31:25.798 - INFO: epoch: 2485 +23-06-15 19:31:25.798 - INFO: iters: 5904364 +23-06-15 19:34:07.646 - INFO: train/mse_loss: 0.002111124404434033 +23-06-15 19:34:07.647 - INFO: epoch: 2486 +23-06-15 19:34:07.647 - INFO: iters: 5906740 +23-06-15 19:36:50.020 - INFO: train/mse_loss: 0.0021385115284495437 +23-06-15 19:36:50.020 - INFO: epoch: 2487 +23-06-15 19:36:50.020 - INFO: iters: 5909116 +23-06-15 19:39:31.291 - INFO: train/mse_loss: 0.0021376632278830576 +23-06-15 19:39:31.292 - INFO: epoch: 2488 +23-06-15 19:39:31.292 - INFO: iters: 5911492 +23-06-15 19:42:12.954 - INFO: train/mse_loss: 0.0024524482687533853 +23-06-15 19:42:12.955 - INFO: epoch: 2489 +23-06-15 19:42:12.955 - INFO: iters: 5913868 +23-06-15 19:44:54.782 - INFO: train/mse_loss: 0.0019446161777676343 +23-06-15 19:44:54.783 - INFO: epoch: 2490 +23-06-15 19:44:54.783 - INFO: iters: 5916244 +23-06-15 19:47:36.239 - INFO: train/mse_loss: 0.0020402161174109643 +23-06-15 19:47:36.239 - INFO: epoch: 2491 +23-06-15 19:47:36.240 - INFO: iters: 5918620 +23-06-15 19:50:17.609 - INFO: train/mse_loss: 0.0018301477178739956 +23-06-15 19:50:17.610 - INFO: epoch: 2492 +23-06-15 19:50:17.610 - INFO: iters: 5920996 +23-06-15 19:52:59.923 - INFO: train/mse_loss: 0.002060387722129921 +23-06-15 19:52:59.924 - INFO: epoch: 2493 +23-06-15 19:52:59.924 - INFO: iters: 5923372 +23-06-15 19:55:41.410 - INFO: train/mse_loss: 0.0017731568988911205 +23-06-15 19:55:41.411 - INFO: epoch: 2494 +23-06-15 19:55:41.411 - INFO: iters: 5925748 +23-06-15 19:58:22.971 - INFO: train/mse_loss: 0.002243926498409038 +23-06-15 19:58:22.972 - INFO: epoch: 2495 +23-06-15 19:58:22.972 - INFO: iters: 5928124 +23-06-15 20:01:04.769 - INFO: train/mse_loss: 0.0022082835034979193 +23-06-15 20:01:04.770 - INFO: epoch: 2496 +23-06-15 20:01:04.770 - INFO: iters: 5930500 +23-06-15 20:03:45.920 - INFO: train/mse_loss: 0.001852833643075085 +23-06-15 20:03:45.921 - INFO: epoch: 2497 +23-06-15 20:03:45.921 - INFO: iters: 5932876 +23-06-15 20:06:27.899 - INFO: train/mse_loss: 0.002359220403934882 +23-06-15 20:06:27.900 - INFO: epoch: 2498 +23-06-15 20:06:27.900 - INFO: iters: 5935252 +23-06-15 20:09:09.498 - INFO: train/mse_loss: 0.0021065343655931987 +23-06-15 20:09:09.498 - INFO: epoch: 2499 +23-06-15 20:09:09.498 - INFO: iters: 5937628 +23-06-15 20:11:51.753 - INFO: train/mse_loss: 0.0025008127516839554 +23-06-15 20:11:51.754 - INFO: epoch: 2500 +23-06-15 20:11:51.754 - INFO: iters: 5940004 +23-06-15 20:14:33.801 - INFO: train/mse_loss: 0.0023637939961227315 +23-06-15 20:14:33.802 - INFO: epoch: 2501 +23-06-15 20:14:33.802 - INFO: iters: 5942380 +23-06-15 20:17:15.660 - INFO: train/mse_loss: 0.0022882928678147362 +23-06-15 20:17:15.661 - INFO: epoch: 2502 +23-06-15 20:17:15.661 - INFO: iters: 5944756 +23-06-15 20:19:57.455 - INFO: train/mse_loss: 0.0022472914635409172 +23-06-15 20:19:57.455 - INFO: epoch: 2503 +23-06-15 20:19:57.456 - INFO: iters: 5947132 +23-06-15 20:22:38.809 - INFO: train/mse_loss: 0.0024701688662175283 +23-06-15 20:22:38.810 - INFO: epoch: 2504 +23-06-15 20:22:38.810 - INFO: iters: 5949508 +23-06-15 20:25:20.330 - INFO: train/mse_loss: 0.0020561694767367664 +23-06-15 20:25:20.331 - INFO: epoch: 2505 +23-06-15 20:25:20.331 - INFO: iters: 5951884 +23-06-15 20:28:02.393 - INFO: train/mse_loss: 0.0021731239024852323 +23-06-15 20:28:02.393 - INFO: epoch: 2506 +23-06-15 20:28:02.393 - INFO: iters: 5954260 +23-06-15 20:30:43.782 - INFO: train/mse_loss: 0.0018066511800479746 +23-06-15 20:30:43.782 - INFO: epoch: 2507 +23-06-15 20:30:43.782 - INFO: iters: 5956636 +23-06-15 20:33:25.072 - INFO: train/mse_loss: 0.0015994698713299965 +23-06-15 20:33:25.073 - INFO: epoch: 2508 +23-06-15 20:33:25.073 - INFO: iters: 5959012 +23-06-15 20:36:06.764 - INFO: train/mse_loss: 0.0018897542567991867 +23-06-15 20:36:06.765 - INFO: epoch: 2509 +23-06-15 20:36:06.765 - INFO: iters: 5961388 +23-06-15 20:38:48.262 - INFO: train/mse_loss: 0.0021899407362033886 +23-06-15 20:38:48.262 - INFO: epoch: 2510 +23-06-15 20:38:48.262 - INFO: iters: 5963764 +23-06-15 20:41:29.957 - INFO: train/mse_loss: 0.002339630349849269 +23-06-15 20:41:29.958 - INFO: epoch: 2511 +23-06-15 20:41:29.958 - INFO: iters: 5966140 +23-06-15 20:44:11.839 - INFO: train/mse_loss: 0.0020419022178427104 +23-06-15 20:44:11.840 - INFO: epoch: 2512 +23-06-15 20:44:11.840 - INFO: iters: 5968516 +23-06-15 20:46:53.234 - INFO: train/mse_loss: 0.002140033184595779 +23-06-15 20:46:53.234 - INFO: epoch: 2513 +23-06-15 20:46:53.234 - INFO: iters: 5970892 +23-06-15 20:49:34.354 - INFO: train/mse_loss: 0.002630564626890332 +23-06-15 20:49:34.357 - INFO: epoch: 2514 +23-06-15 20:49:34.357 - INFO: iters: 5973268 +23-06-15 20:52:15.866 - INFO: train/mse_loss: 0.0018774663309428703 +23-06-15 20:52:15.867 - INFO: epoch: 2515 +23-06-15 20:52:15.867 - INFO: iters: 5975644 +23-06-15 20:54:57.542 - INFO: train/mse_loss: 0.001818460967305104 +23-06-15 20:54:57.542 - INFO: epoch: 2516 +23-06-15 20:54:57.542 - INFO: iters: 5978020 +23-06-15 20:57:39.023 - INFO: train/mse_loss: 0.002153822858647368 +23-06-15 20:57:39.023 - INFO: epoch: 2517 +23-06-15 20:57:39.023 - INFO: iters: 5980396 +23-06-15 21:00:20.169 - INFO: train/mse_loss: 0.0018792797062469188 +23-06-15 21:00:20.170 - INFO: epoch: 2518 +23-06-15 21:00:20.170 - INFO: iters: 5982772 +23-06-15 21:03:01.709 - INFO: train/mse_loss: 0.0018209115760236263 +23-06-15 21:03:01.710 - INFO: epoch: 2519 +23-06-15 21:03:01.710 - INFO: iters: 5985148 +23-06-15 21:05:43.262 - INFO: train/mse_loss: 0.0018772865310060457 +23-06-15 21:05:43.263 - INFO: epoch: 2520 +23-06-15 21:05:43.263 - INFO: iters: 5987524 +23-06-15 21:08:24.882 - INFO: train/mse_loss: 0.0023256696296463054 +23-06-15 21:08:24.882 - INFO: epoch: 2521 +23-06-15 21:08:24.882 - INFO: iters: 5989900 +23-06-15 21:11:06.606 - INFO: train/mse_loss: 0.00206085275773387 +23-06-15 21:11:06.606 - INFO: epoch: 2522 +23-06-15 21:11:06.606 - INFO: iters: 5992276 +23-06-15 21:13:48.303 - INFO: train/mse_loss: 0.002190140069955066 +23-06-15 21:13:48.304 - INFO: epoch: 2523 +23-06-15 21:13:48.305 - INFO: iters: 5994652 +23-06-15 21:16:30.242 - INFO: train/mse_loss: 0.002098819158270858 +23-06-15 21:16:30.242 - INFO: epoch: 2524 +23-06-15 21:16:30.242 - INFO: iters: 5997028 +23-06-15 21:19:12.117 - INFO: train/mse_loss: 0.001878363914387567 +23-06-15 21:19:12.118 - INFO: epoch: 2525 +23-06-15 21:19:12.118 - INFO: iters: 5999404 +23-06-15 21:21:54.049 - INFO: train/mse_loss: 0.0021238163204629268 +23-06-15 21:21:54.049 - INFO: epoch: 2526 +23-06-15 21:21:54.049 - INFO: iters: 6001780 +23-06-15 21:24:36.252 - INFO: train/mse_loss: 0.00219531296219313 +23-06-15 21:24:36.252 - INFO: epoch: 2527 +23-06-15 21:24:36.253 - INFO: iters: 6004156 +23-06-15 21:27:18.168 - INFO: train/mse_loss: 0.0018853649822073936 +23-06-15 21:27:18.171 - INFO: epoch: 2528 +23-06-15 21:27:18.171 - INFO: iters: 6006532 +23-06-15 21:29:59.650 - INFO: train/mse_loss: 0.0017895892724298374 +23-06-15 21:29:59.651 - INFO: epoch: 2529 +23-06-15 21:29:59.651 - INFO: iters: 6008908 +23-06-15 21:32:41.511 - INFO: train/mse_loss: 0.002232746072715189 +23-06-15 21:32:41.512 - INFO: epoch: 2530 +23-06-15 21:32:41.512 - INFO: iters: 6011284 +23-06-15 21:35:23.162 - INFO: train/mse_loss: 0.0015923262348199445 +23-06-15 21:35:23.162 - INFO: epoch: 2531 +23-06-15 21:35:23.162 - INFO: iters: 6013660 +23-06-15 21:38:04.598 - INFO: train/mse_loss: 0.001846789614787805 +23-06-15 21:38:04.598 - INFO: epoch: 2532 +23-06-15 21:38:04.599 - INFO: iters: 6016036 +23-06-15 21:40:47.193 - INFO: train/mse_loss: 0.0021098686562187074 +23-06-15 21:40:47.194 - INFO: epoch: 2533 +23-06-15 21:40:47.194 - INFO: iters: 6018412 +23-06-15 21:43:28.973 - INFO: train/mse_loss: 0.0023155657649792808 +23-06-15 21:43:28.974 - INFO: epoch: 2534 +23-06-15 21:43:28.974 - INFO: iters: 6020788 +23-06-15 21:46:10.762 - INFO: train/mse_loss: 0.001863104736637042 +23-06-15 21:46:10.763 - INFO: epoch: 2535 +23-06-15 21:46:10.763 - INFO: iters: 6023164 +23-06-15 21:48:54.526 - INFO: train/mse_loss: 0.002133979872382569 +23-06-15 21:48:54.527 - INFO: epoch: 2536 +23-06-15 21:48:54.527 - INFO: iters: 6025540 +23-06-15 21:51:36.126 - INFO: train/mse_loss: 0.002284492726433044 +23-06-15 21:51:36.127 - INFO: epoch: 2537 +23-06-15 21:51:36.127 - INFO: iters: 6027916 +23-06-15 21:54:17.990 - INFO: train/mse_loss: 0.0020788080461839878 +23-06-15 21:54:17.990 - INFO: epoch: 2538 +23-06-15 21:54:17.990 - INFO: iters: 6030292 +23-06-15 21:56:59.795 - INFO: train/mse_loss: 0.0019149179964797472 +23-06-15 21:56:59.796 - INFO: epoch: 2539 +23-06-15 21:56:59.797 - INFO: iters: 6032668 +23-06-15 21:59:41.529 - INFO: train/mse_loss: 0.0020323553836848808 +23-06-15 21:59:41.529 - INFO: epoch: 2540 +23-06-15 21:59:41.529 - INFO: iters: 6035044 +23-06-15 22:02:23.470 - INFO: train/mse_loss: 0.002105449934087079 +23-06-15 22:02:23.470 - INFO: epoch: 2541 +23-06-15 22:02:23.470 - INFO: iters: 6037420 +23-06-15 22:05:05.445 - INFO: train/mse_loss: 0.0023931099163342472 +23-06-15 22:05:05.446 - INFO: epoch: 2542 +23-06-15 22:05:05.446 - INFO: iters: 6039796 +23-06-15 22:07:47.284 - INFO: train/mse_loss: 0.0022322266430320433 +23-06-15 22:07:47.285 - INFO: epoch: 2543 +23-06-15 22:07:47.285 - INFO: iters: 6042172 +23-06-15 22:10:28.693 - INFO: train/mse_loss: 0.0020812137759630084 +23-06-15 22:10:28.694 - INFO: epoch: 2544 +23-06-15 22:10:28.694 - INFO: iters: 6044548 +23-06-15 22:13:10.973 - INFO: train/mse_loss: 0.0016561201400721683 +23-06-15 22:13:10.974 - INFO: epoch: 2545 +23-06-15 22:13:10.974 - INFO: iters: 6046924 +23-06-15 22:15:52.971 - INFO: train/mse_loss: 0.002246712833383867 +23-06-15 22:15:52.972 - INFO: epoch: 2546 +23-06-15 22:15:52.972 - INFO: iters: 6049300 +23-06-15 22:18:34.439 - INFO: train/mse_loss: 0.002031946204897088 +23-06-15 22:18:34.440 - INFO: epoch: 2547 +23-06-15 22:18:34.440 - INFO: iters: 6051676 +23-06-15 22:21:16.160 - INFO: train/mse_loss: 0.0020087303645004947 +23-06-15 22:21:16.161 - INFO: epoch: 2548 +23-06-15 22:21:16.161 - INFO: iters: 6054052 +23-06-15 22:23:58.029 - INFO: train/mse_loss: 0.001840913108981572 +23-06-15 22:23:58.029 - INFO: epoch: 2549 +23-06-15 22:23:58.029 - INFO: iters: 6056428 +23-06-15 22:26:39.049 - INFO: train/mse_loss: 0.0018592668708115158 +23-06-15 22:26:39.050 - INFO: epoch: 2550 +23-06-15 22:26:39.050 - INFO: iters: 6058804 +23-06-15 22:29:20.876 - INFO: train/mse_loss: 0.0021361397406943175 +23-06-15 22:29:20.877 - INFO: epoch: 2551 +23-06-15 22:29:20.877 - INFO: iters: 6061180 +23-06-15 22:32:02.269 - INFO: train/mse_loss: 0.0016255722224778222 +23-06-15 22:32:02.269 - INFO: epoch: 2552 +23-06-15 22:32:02.269 - INFO: iters: 6063556 +23-06-15 22:34:43.797 - INFO: train/mse_loss: 0.0019208496194532743 +23-06-15 22:34:43.798 - INFO: epoch: 2553 +23-06-15 22:34:43.798 - INFO: iters: 6065932 +23-06-15 22:37:25.943 - INFO: train/mse_loss: 0.0021559931401528656 +23-06-15 22:37:25.943 - INFO: epoch: 2554 +23-06-15 22:37:25.943 - INFO: iters: 6068308 +23-06-15 22:40:07.523 - INFO: train/mse_loss: 0.002128552348722989 +23-06-15 22:40:07.525 - INFO: epoch: 2555 +23-06-15 22:40:07.525 - INFO: iters: 6070684 +23-06-15 22:42:49.212 - INFO: train/mse_loss: 0.002273385174476827 +23-06-15 22:42:49.213 - INFO: epoch: 2556 +23-06-15 22:42:49.213 - INFO: iters: 6073060 +23-06-15 22:45:31.043 - INFO: train/mse_loss: 0.002175974063924122 +23-06-15 22:45:31.045 - INFO: epoch: 2557 +23-06-15 22:45:31.045 - INFO: iters: 6075436 +23-06-15 22:48:12.821 - INFO: train/mse_loss: 0.0019347739802996443 +23-06-15 22:48:12.821 - INFO: epoch: 2558 +23-06-15 22:48:12.821 - INFO: iters: 6077812 +23-06-15 22:50:55.650 - INFO: train/mse_loss: 0.0019644700260817226 +23-06-15 22:50:55.650 - INFO: epoch: 2559 +23-06-15 22:50:55.651 - INFO: iters: 6080188 +23-06-15 22:53:37.586 - INFO: train/mse_loss: 0.0020328439712451506 +23-06-15 22:53:37.586 - INFO: epoch: 2560 +23-06-15 22:53:37.586 - INFO: iters: 6082564 +23-06-15 22:56:19.527 - INFO: train/mse_loss: 0.002057166835706703 +23-06-15 22:56:19.528 - INFO: epoch: 2561 +23-06-15 22:56:19.528 - INFO: iters: 6084940 +23-06-15 22:59:01.397 - INFO: train/mse_loss: 0.001937549046457507 +23-06-15 22:59:01.397 - INFO: epoch: 2562 +23-06-15 22:59:01.397 - INFO: iters: 6087316 +23-06-15 23:01:43.018 - INFO: train/mse_loss: 0.002003049426439676 +23-06-15 23:01:43.019 - INFO: epoch: 2563 +23-06-15 23:01:43.019 - INFO: iters: 6089692 +23-06-15 23:04:25.116 - INFO: train/mse_loss: 0.0019293600244636518 +23-06-15 23:04:25.117 - INFO: epoch: 2564 +23-06-15 23:04:25.117 - INFO: iters: 6092068 +23-06-15 23:07:06.520 - INFO: train/mse_loss: 0.0020391164438270646 +23-06-15 23:07:06.521 - INFO: epoch: 2565 +23-06-15 23:07:06.521 - INFO: iters: 6094444 +23-06-15 23:09:48.044 - INFO: train/mse_loss: 0.002087564258324688 +23-06-15 23:09:48.045 - INFO: epoch: 2566 +23-06-15 23:09:48.045 - INFO: iters: 6096820 +23-06-15 23:12:29.626 - INFO: train/mse_loss: 0.0021688838044270835 +23-06-15 23:12:29.626 - INFO: epoch: 2567 +23-06-15 23:12:29.626 - INFO: iters: 6099196 +23-06-15 23:15:11.660 - INFO: train/mse_loss: 0.0022377879956093543 +23-06-15 23:15:11.661 - INFO: epoch: 2568 +23-06-15 23:15:11.661 - INFO: iters: 6101572 +23-06-15 23:17:52.829 - INFO: train/mse_loss: 0.001940533784841366 +23-06-15 23:17:52.830 - INFO: epoch: 2569 +23-06-15 23:17:52.830 - INFO: iters: 6103948 +23-06-15 23:20:34.573 - INFO: train/mse_loss: 0.001685278004337955 +23-06-15 23:20:34.575 - INFO: epoch: 2570 +23-06-15 23:20:34.575 - INFO: iters: 6106324 +23-06-15 23:23:15.873 - INFO: train/mse_loss: 0.0023753425786083547 +23-06-15 23:23:15.873 - INFO: epoch: 2571 +23-06-15 23:23:15.873 - INFO: iters: 6108700 +23-06-15 23:25:57.617 - INFO: train/mse_loss: 0.0023949066856491885 +23-06-15 23:25:57.618 - INFO: epoch: 2572 +23-06-15 23:25:57.618 - INFO: iters: 6111076 +23-06-15 23:28:38.908 - INFO: train/mse_loss: 0.001755950199275494 +23-06-15 23:28:38.909 - INFO: epoch: 2573 +23-06-15 23:28:38.909 - INFO: iters: 6113452 +23-06-15 23:31:20.560 - INFO: train/mse_loss: 0.0016616921903895173 +23-06-15 23:31:20.560 - INFO: epoch: 2574 +23-06-15 23:31:20.561 - INFO: iters: 6115828 +23-06-15 23:34:02.102 - INFO: train/mse_loss: 0.0020903889620943177 +23-06-15 23:34:02.103 - INFO: epoch: 2575 +23-06-15 23:34:02.103 - INFO: iters: 6118204 +23-06-15 23:36:43.990 - INFO: train/mse_loss: 0.002366179303097169 +23-06-15 23:36:43.991 - INFO: epoch: 2576 +23-06-15 23:36:43.991 - INFO: iters: 6120580 +23-06-15 23:39:25.062 - INFO: train/mse_loss: 0.0022637257087891076 +23-06-15 23:39:25.063 - INFO: epoch: 2577 +23-06-15 23:39:25.063 - INFO: iters: 6122956 +23-06-15 23:42:06.799 - INFO: train/mse_loss: 0.001774406689885527 +23-06-15 23:42:06.799 - INFO: epoch: 2578 +23-06-15 23:42:06.799 - INFO: iters: 6125332 +23-06-15 23:44:48.060 - INFO: train/mse_loss: 0.0024414172771179844 +23-06-15 23:44:48.060 - INFO: epoch: 2579 +23-06-15 23:44:48.061 - INFO: iters: 6127708 +23-06-15 23:47:29.686 - INFO: train/mse_loss: 0.0026708675630454145 +23-06-15 23:47:29.687 - INFO: epoch: 2580 +23-06-15 23:47:29.687 - INFO: iters: 6130084 +23-06-15 23:50:11.194 - INFO: train/mse_loss: 0.0019509221738955376 +23-06-15 23:50:11.195 - INFO: epoch: 2581 +23-06-15 23:50:11.196 - INFO: iters: 6132460 +23-06-15 23:52:52.511 - INFO: train/mse_loss: 0.002355345328519143 +23-06-15 23:52:52.511 - INFO: epoch: 2582 +23-06-15 23:52:52.511 - INFO: iters: 6134836 +23-06-15 23:55:34.089 - INFO: train/mse_loss: 0.001990776598072918 +23-06-15 23:55:34.090 - INFO: epoch: 2583 +23-06-15 23:55:34.090 - INFO: iters: 6137212 +23-06-15 23:58:15.088 - INFO: train/mse_loss: 0.0019154343531609698 +23-06-15 23:58:15.089 - INFO: epoch: 2584 +23-06-15 23:58:15.089 - INFO: iters: 6139588 +23-06-16 00:00:56.588 - INFO: train/mse_loss: 0.002207348914581793 +23-06-16 00:00:56.589 - INFO: epoch: 2585 +23-06-16 00:00:56.589 - INFO: iters: 6141964 +23-06-16 00:03:37.745 - INFO: train/mse_loss: 0.0020445115886423234 +23-06-16 00:03:37.746 - INFO: epoch: 2586 +23-06-16 00:03:37.746 - INFO: iters: 6144340 +23-06-16 00:06:18.731 - INFO: train/mse_loss: 0.0025021332790973196 +23-06-16 00:06:18.731 - INFO: epoch: 2587 +23-06-16 00:06:18.731 - INFO: iters: 6146716 +23-06-16 00:08:59.836 - INFO: train/mse_loss: 0.002454025624682484 +23-06-16 00:08:59.837 - INFO: epoch: 2588 +23-06-16 00:08:59.837 - INFO: iters: 6149092 +23-06-16 00:11:40.955 - INFO: train/mse_loss: 0.0016428640945022768 +23-06-16 00:11:40.955 - INFO: epoch: 2589 +23-06-16 00:11:40.955 - INFO: iters: 6151468 +23-06-16 00:14:22.528 - INFO: train/mse_loss: 0.0022993029705433 +23-06-16 00:14:22.528 - INFO: epoch: 2590 +23-06-16 00:14:22.528 - INFO: iters: 6153844 +23-06-16 00:17:03.515 - INFO: train/mse_loss: 0.0020356782495870446 +23-06-16 00:17:03.515 - INFO: epoch: 2591 +23-06-16 00:17:03.515 - INFO: iters: 6156220 +23-06-16 00:19:45.167 - INFO: train/mse_loss: 0.0018477651297651005 +23-06-16 00:19:45.167 - INFO: epoch: 2592 +23-06-16 00:19:45.167 - INFO: iters: 6158596 +23-06-16 00:22:26.272 - INFO: train/mse_loss: 0.002207918976355573 +23-06-16 00:22:26.275 - INFO: epoch: 2593 +23-06-16 00:22:26.275 - INFO: iters: 6160972 +23-06-16 00:25:07.389 - INFO: train/mse_loss: 0.0021714276146839032 +23-06-16 00:25:07.390 - INFO: epoch: 2594 +23-06-16 00:25:07.390 - INFO: iters: 6163348 +23-06-16 00:27:48.499 - INFO: train/mse_loss: 0.0020026198875626256 +23-06-16 00:27:48.500 - INFO: epoch: 2595 +23-06-16 00:27:48.500 - INFO: iters: 6165724 +23-06-16 00:30:29.379 - INFO: train/mse_loss: 0.002253812800625242 +23-06-16 00:30:29.379 - INFO: epoch: 2596 +23-06-16 00:30:29.380 - INFO: iters: 6168100 +23-06-16 00:33:11.232 - INFO: train/mse_loss: 0.0019180883433174355 +23-06-16 00:33:11.233 - INFO: epoch: 2597 +23-06-16 00:33:11.233 - INFO: iters: 6170476 +23-06-16 00:35:52.643 - INFO: train/mse_loss: 0.0019005386964127935 +23-06-16 00:35:52.644 - INFO: epoch: 2598 +23-06-16 00:35:52.644 - INFO: iters: 6172852 +23-06-16 00:38:33.778 - INFO: train/mse_loss: 0.002009238410911206 +23-06-16 00:38:33.778 - INFO: epoch: 2599 +23-06-16 00:38:33.779 - INFO: iters: 6175228 +23-06-16 00:41:15.349 - INFO: train/mse_loss: 0.0018187170086455178 +23-06-16 00:41:15.349 - INFO: epoch: 2600 +23-06-16 00:41:15.349 - INFO: iters: 6177604 +23-06-16 00:43:56.400 - INFO: train/mse_loss: 0.0022214625085337928 +23-06-16 00:43:56.401 - INFO: epoch: 2601 +23-06-16 00:43:56.401 - INFO: iters: 6179980 +23-06-16 00:46:37.503 - INFO: train/mse_loss: 0.00206118650125498 +23-06-16 00:46:37.503 - INFO: epoch: 2602 +23-06-16 00:46:37.503 - INFO: iters: 6182356 +23-06-16 00:49:18.455 - INFO: train/mse_loss: 0.0020852327244497383 +23-06-16 00:49:18.456 - INFO: epoch: 2603 +23-06-16 00:49:18.456 - INFO: iters: 6184732 +23-06-16 00:52:00.246 - INFO: train/mse_loss: 0.0021032340263497863 +23-06-16 00:52:00.246 - INFO: epoch: 2604 +23-06-16 00:52:00.247 - INFO: iters: 6187108 +23-06-16 00:54:41.408 - INFO: train/mse_loss: 0.002379310502984674 +23-06-16 00:54:41.408 - INFO: epoch: 2605 +23-06-16 00:54:41.409 - INFO: iters: 6189484 +23-06-16 00:57:22.999 - INFO: train/mse_loss: 0.002211902680201613 +23-06-16 00:57:23.000 - INFO: epoch: 2606 +23-06-16 00:57:23.000 - INFO: iters: 6191860 +23-06-16 01:00:04.144 - INFO: train/mse_loss: 0.0019905996837269874 +23-06-16 01:00:04.144 - INFO: epoch: 2607 +23-06-16 01:00:04.144 - INFO: iters: 6194236 +23-06-16 01:02:45.373 - INFO: train/mse_loss: 0.0019841846244241916 +23-06-16 01:02:45.373 - INFO: epoch: 2608 +23-06-16 01:02:45.374 - INFO: iters: 6196612 +23-06-16 01:05:26.969 - INFO: train/mse_loss: 0.002287631025935699 +23-06-16 01:05:26.969 - INFO: epoch: 2609 +23-06-16 01:05:26.970 - INFO: iters: 6198988 +23-06-16 01:08:08.690 - INFO: train/mse_loss: 0.0019040320708294106 +23-06-16 01:08:08.690 - INFO: epoch: 2610 +23-06-16 01:08:08.690 - INFO: iters: 6201364 +23-06-16 01:10:50.244 - INFO: train/mse_loss: 0.001960805298943584 +23-06-16 01:10:50.245 - INFO: epoch: 2611 +23-06-16 01:10:50.245 - INFO: iters: 6203740 +23-06-16 01:13:31.818 - INFO: train/mse_loss: 0.0018290062529534284 +23-06-16 01:13:31.818 - INFO: epoch: 2612 +23-06-16 01:13:31.819 - INFO: iters: 6206116 +23-06-16 01:16:13.483 - INFO: train/mse_loss: 0.0020794438984404204 +23-06-16 01:16:13.483 - INFO: epoch: 2613 +23-06-16 01:16:13.483 - INFO: iters: 6208492 +23-06-16 01:18:54.685 - INFO: train/mse_loss: 0.002032568519315698 +23-06-16 01:18:54.686 - INFO: epoch: 2614 +23-06-16 01:18:54.686 - INFO: iters: 6210868 +23-06-16 01:21:35.905 - INFO: train/mse_loss: 0.0019427931532698844 +23-06-16 01:21:35.905 - INFO: epoch: 2615 +23-06-16 01:21:35.905 - INFO: iters: 6213244 +23-06-16 01:24:16.919 - INFO: train/mse_loss: 0.0023654518838695906 +23-06-16 01:24:16.919 - INFO: epoch: 2616 +23-06-16 01:24:16.919 - INFO: iters: 6215620 +23-06-16 01:26:58.098 - INFO: train/mse_loss: 0.002116417626165142 +23-06-16 01:26:58.099 - INFO: epoch: 2617 +23-06-16 01:26:58.099 - INFO: iters: 6217996 +23-06-16 01:29:39.300 - INFO: train/mse_loss: 0.0021963013700203285 +23-06-16 01:29:39.300 - INFO: epoch: 2618 +23-06-16 01:29:39.300 - INFO: iters: 6220372 +23-06-16 01:32:20.336 - INFO: train/mse_loss: 0.0022923693494786594 +23-06-16 01:32:20.337 - INFO: epoch: 2619 +23-06-16 01:32:20.337 - INFO: iters: 6222748 +23-06-16 01:35:01.579 - INFO: train/mse_loss: 0.0022048149334822596 +23-06-16 01:35:01.580 - INFO: epoch: 2620 +23-06-16 01:35:01.580 - INFO: iters: 6225124 +23-06-16 01:37:42.862 - INFO: train/mse_loss: 0.002009198234543151 +23-06-16 01:37:42.863 - INFO: epoch: 2621 +23-06-16 01:37:42.863 - INFO: iters: 6227500 +23-06-16 01:40:23.974 - INFO: train/mse_loss: 0.0022390253943985372 +23-06-16 01:40:23.974 - INFO: epoch: 2622 +23-06-16 01:40:23.974 - INFO: iters: 6229876 +23-06-16 01:43:05.074 - INFO: train/mse_loss: 0.0022180039620929262 +23-06-16 01:43:05.074 - INFO: epoch: 2623 +23-06-16 01:43:05.075 - INFO: iters: 6232252 +23-06-16 01:45:46.535 - INFO: train/mse_loss: 0.0021192685054495196 +23-06-16 01:45:46.535 - INFO: epoch: 2624 +23-06-16 01:45:46.535 - INFO: iters: 6234628 +23-06-16 01:48:27.838 - INFO: train/mse_loss: 0.0020430368697231553 +23-06-16 01:48:27.839 - INFO: epoch: 2625 +23-06-16 01:48:27.839 - INFO: iters: 6237004 +23-06-16 01:51:08.829 - INFO: train/mse_loss: 0.002140912794563308 +23-06-16 01:51:08.830 - INFO: epoch: 2626 +23-06-16 01:51:08.830 - INFO: iters: 6239380 +23-06-16 01:53:49.445 - INFO: train/mse_loss: 0.0021037056611248007 +23-06-16 01:53:49.447 - INFO: epoch: 2627 +23-06-16 01:53:49.447 - INFO: iters: 6241756 +23-06-16 01:56:30.284 - INFO: train/mse_loss: 0.0020257536671614363 +23-06-16 01:56:30.285 - INFO: epoch: 2628 +23-06-16 01:56:30.285 - INFO: iters: 6244132 +23-06-16 01:59:11.630 - INFO: train/mse_loss: 0.00211985827237838 +23-06-16 01:59:11.631 - INFO: epoch: 2629 +23-06-16 01:59:11.631 - INFO: iters: 6246508 +23-06-16 02:01:52.721 - INFO: train/mse_loss: 0.002229428234034271 +23-06-16 02:01:52.722 - INFO: epoch: 2630 +23-06-16 02:01:52.722 - INFO: iters: 6248884 +23-06-16 02:04:34.742 - INFO: train/mse_loss: 0.0022718680266315206 +23-06-16 02:04:34.743 - INFO: epoch: 2631 +23-06-16 02:04:34.743 - INFO: iters: 6251260 +23-06-16 02:07:15.943 - INFO: train/mse_loss: 0.002060036446343753 +23-06-16 02:07:15.944 - INFO: epoch: 2632 +23-06-16 02:07:15.944 - INFO: iters: 6253636 +23-06-16 02:09:57.255 - INFO: train/mse_loss: 0.0023173544477900297 +23-06-16 02:09:57.257 - INFO: epoch: 2633 +23-06-16 02:09:57.257 - INFO: iters: 6256012 +23-06-16 02:12:38.267 - INFO: train/mse_loss: 0.002335389017426136 +23-06-16 02:12:38.268 - INFO: epoch: 2634 +23-06-16 02:12:38.268 - INFO: iters: 6258388 +23-06-16 02:15:19.092 - INFO: train/mse_loss: 0.0021915533762642335 +23-06-16 02:15:19.093 - INFO: epoch: 2635 +23-06-16 02:15:19.093 - INFO: iters: 6260764 +23-06-16 02:18:00.786 - INFO: train/mse_loss: 0.0021575604889699437 +23-06-16 02:18:00.787 - INFO: epoch: 2636 +23-06-16 02:18:00.787 - INFO: iters: 6263140 +23-06-16 02:20:42.571 - INFO: train/mse_loss: 0.002005518691693448 +23-06-16 02:20:42.572 - INFO: epoch: 2637 +23-06-16 02:20:42.572 - INFO: iters: 6265516 +23-06-16 02:23:23.652 - INFO: train/mse_loss: 0.002237251029251479 +23-06-16 02:23:23.653 - INFO: epoch: 2638 +23-06-16 02:23:23.653 - INFO: iters: 6267892 +23-06-16 02:26:05.111 - INFO: train/mse_loss: 0.0018745964936977128 +23-06-16 02:26:05.112 - INFO: epoch: 2639 +23-06-16 02:26:05.112 - INFO: iters: 6270268 +23-06-16 02:28:47.314 - INFO: train/mse_loss: 0.002080202134508759 +23-06-16 02:28:47.315 - INFO: epoch: 2640 +23-06-16 02:28:47.315 - INFO: iters: 6272644 +23-06-16 02:31:28.638 - INFO: train/mse_loss: 0.0019640667887870222 +23-06-16 02:31:28.638 - INFO: epoch: 2641 +23-06-16 02:31:28.638 - INFO: iters: 6275020 +23-06-16 02:34:10.160 - INFO: train/mse_loss: 0.0015804997930673236 +23-06-16 02:34:10.161 - INFO: epoch: 2642 +23-06-16 02:34:10.163 - INFO: iters: 6277396 +23-06-16 02:36:51.576 - INFO: train/mse_loss: 0.0020868016975447348 +23-06-16 02:36:51.577 - INFO: epoch: 2643 +23-06-16 02:36:51.577 - INFO: iters: 6279772 +23-06-16 02:39:33.254 - INFO: train/mse_loss: 0.001961438452334203 +23-06-16 02:39:33.255 - INFO: epoch: 2644 +23-06-16 02:39:33.255 - INFO: iters: 6282148 +23-06-16 02:42:14.531 - INFO: train/mse_loss: 0.0022765159648482497 +23-06-16 02:42:14.532 - INFO: epoch: 2645 +23-06-16 02:42:14.532 - INFO: iters: 6284524 +23-06-16 02:44:55.666 - INFO: train/mse_loss: 0.0021617520269929975 +23-06-16 02:44:55.667 - INFO: epoch: 2646 +23-06-16 02:44:55.667 - INFO: iters: 6286900 +23-06-16 02:47:36.644 - INFO: train/mse_loss: 0.0017324039967427257 +23-06-16 02:47:36.645 - INFO: epoch: 2647 +23-06-16 02:47:36.645 - INFO: iters: 6289276 +23-06-16 02:50:17.972 - INFO: train/mse_loss: 0.00200375850819622 +23-06-16 02:50:17.972 - INFO: epoch: 2648 +23-06-16 02:50:17.972 - INFO: iters: 6291652 +23-06-16 02:52:59.414 - INFO: train/mse_loss: 0.0020887439219982313 +23-06-16 02:52:59.415 - INFO: epoch: 2649 +23-06-16 02:52:59.415 - INFO: iters: 6294028 +23-06-16 02:55:40.753 - INFO: train/mse_loss: 0.002338843706041584 +23-06-16 02:55:40.755 - INFO: epoch: 2650 +23-06-16 02:55:40.755 - INFO: iters: 6296404 +23-06-16 02:58:21.809 - INFO: train/mse_loss: 0.0018120457167695636 +23-06-16 02:58:21.810 - INFO: epoch: 2651 +23-06-16 02:58:21.810 - INFO: iters: 6298780 +23-06-16 03:01:03.112 - INFO: train/mse_loss: 0.0018792089108363584 +23-06-16 03:01:03.112 - INFO: epoch: 2652 +23-06-16 03:01:03.112 - INFO: iters: 6301156 +23-06-16 03:03:44.201 - INFO: train/mse_loss: 0.0020365944300854253 +23-06-16 03:03:44.201 - INFO: epoch: 2653 +23-06-16 03:03:44.201 - INFO: iters: 6303532 +23-06-16 03:06:25.290 - INFO: train/mse_loss: 0.0019288976217274358 +23-06-16 03:06:25.290 - INFO: epoch: 2654 +23-06-16 03:06:25.290 - INFO: iters: 6305908 +23-06-16 03:09:06.212 - INFO: train/mse_loss: 0.002214968932339034 +23-06-16 03:09:06.212 - INFO: epoch: 2655 +23-06-16 03:09:06.212 - INFO: iters: 6308284 +23-06-16 03:11:47.367 - INFO: train/mse_loss: 0.0020187055590752236 +23-06-16 03:11:47.368 - INFO: epoch: 2656 +23-06-16 03:11:47.369 - INFO: iters: 6310660 +23-06-16 03:14:29.121 - INFO: train/mse_loss: 0.001950331888438331 +23-06-16 03:14:29.122 - INFO: epoch: 2657 +23-06-16 03:14:29.122 - INFO: iters: 6313036 +23-06-16 03:17:10.971 - INFO: train/mse_loss: 0.0027424137208764427 +23-06-16 03:17:10.971 - INFO: epoch: 2658 +23-06-16 03:17:10.972 - INFO: iters: 6315412 +23-06-16 03:19:52.366 - INFO: train/mse_loss: 0.0018434340669989102 +23-06-16 03:19:52.366 - INFO: epoch: 2659 +23-06-16 03:19:52.366 - INFO: iters: 6317788 +23-06-16 03:22:33.131 - INFO: train/mse_loss: 0.0020756150853270604 +23-06-16 03:22:33.132 - INFO: epoch: 2660 +23-06-16 03:22:33.132 - INFO: iters: 6320164 +23-06-16 03:25:14.236 - INFO: train/mse_loss: 0.0018400191955102972 +23-06-16 03:25:14.236 - INFO: epoch: 2661 +23-06-16 03:25:14.237 - INFO: iters: 6322540 +23-06-16 03:27:55.176 - INFO: train/mse_loss: 0.001896259955229294 +23-06-16 03:27:55.177 - INFO: epoch: 2662 +23-06-16 03:27:55.177 - INFO: iters: 6324916 +23-06-16 03:30:36.844 - INFO: train/mse_loss: 0.0021447100597614052 +23-06-16 03:30:36.845 - INFO: epoch: 2663 +23-06-16 03:30:36.845 - INFO: iters: 6327292 +23-06-16 03:33:19.937 - INFO: train/mse_loss: 0.0020008370100841185 +23-06-16 03:33:19.938 - INFO: epoch: 2664 +23-06-16 03:33:19.938 - INFO: iters: 6329668 +23-06-16 03:36:00.782 - INFO: train/mse_loss: 0.0021578836135126445 +23-06-16 03:36:00.783 - INFO: epoch: 2665 +23-06-16 03:36:00.783 - INFO: iters: 6332044 +23-06-16 03:38:43.058 - INFO: train/mse_loss: 0.0018857374999190835 +23-06-16 03:38:43.058 - INFO: epoch: 2666 +23-06-16 03:38:43.058 - INFO: iters: 6334420 +23-06-16 03:41:24.035 - INFO: train/mse_loss: 0.0020541239708978744 +23-06-16 03:41:24.036 - INFO: epoch: 2667 +23-06-16 03:41:24.036 - INFO: iters: 6336796 +23-06-16 03:44:05.122 - INFO: train/mse_loss: 0.001982935175693771 +23-06-16 03:44:05.123 - INFO: epoch: 2668 +23-06-16 03:44:05.123 - INFO: iters: 6339172 +23-06-16 03:46:46.139 - INFO: train/mse_loss: 0.0022849046933579946 +23-06-16 03:46:46.139 - INFO: epoch: 2669 +23-06-16 03:46:46.140 - INFO: iters: 6341548 +23-06-16 03:49:27.245 - INFO: train/mse_loss: 0.002054190930139402 +23-06-16 03:49:27.246 - INFO: epoch: 2670 +23-06-16 03:49:27.246 - INFO: iters: 6343924 +23-06-16 03:52:08.577 - INFO: train/mse_loss: 0.0018871272632382616 +23-06-16 03:52:08.578 - INFO: epoch: 2671 +23-06-16 03:52:08.578 - INFO: iters: 6346300 +23-06-16 03:54:49.838 - INFO: train/mse_loss: 0.0020793643248932254 +23-06-16 03:54:49.839 - INFO: epoch: 2672 +23-06-16 03:54:49.839 - INFO: iters: 6348676 +23-06-16 03:57:31.239 - INFO: train/mse_loss: 0.002586106224215248 +23-06-16 03:57:31.239 - INFO: epoch: 2673 +23-06-16 03:57:31.240 - INFO: iters: 6351052 +23-06-16 04:00:12.179 - INFO: train/mse_loss: 0.0019521435772880962 +23-06-16 04:00:12.180 - INFO: epoch: 2674 +23-06-16 04:00:12.180 - INFO: iters: 6353428 +23-06-16 04:02:53.246 - INFO: train/mse_loss: 0.0021216924758337952 +23-06-16 04:02:53.247 - INFO: epoch: 2675 +23-06-16 04:02:53.247 - INFO: iters: 6355804 +23-06-16 04:05:35.364 - INFO: train/mse_loss: 0.001914176956757508 +23-06-16 04:05:35.364 - INFO: epoch: 2676 +23-06-16 04:05:35.365 - INFO: iters: 6358180 +23-06-16 04:08:17.006 - INFO: train/mse_loss: 0.002047277897682985 +23-06-16 04:08:17.006 - INFO: epoch: 2677 +23-06-16 04:08:17.006 - INFO: iters: 6360556 +23-06-16 04:10:57.963 - INFO: train/mse_loss: 0.0019451218684339545 +23-06-16 04:10:57.964 - INFO: epoch: 2678 +23-06-16 04:10:57.964 - INFO: iters: 6362932 +23-06-16 04:13:38.557 - INFO: train/mse_loss: 0.0019517317856230806 +23-06-16 04:13:38.558 - INFO: epoch: 2679 +23-06-16 04:13:38.558 - INFO: iters: 6365308 +23-06-16 04:16:19.457 - INFO: train/mse_loss: 0.002361835600645203 +23-06-16 04:16:19.458 - INFO: epoch: 2680 +23-06-16 04:16:19.458 - INFO: iters: 6367684 +23-06-16 04:19:00.680 - INFO: train/mse_loss: 0.0015993622723129586 +23-06-16 04:19:00.681 - INFO: epoch: 2681 +23-06-16 04:19:00.681 - INFO: iters: 6370060 +23-06-16 04:21:41.835 - INFO: train/mse_loss: 0.0017853585666775397 +23-06-16 04:21:41.836 - INFO: epoch: 2682 +23-06-16 04:21:41.836 - INFO: iters: 6372436 +23-06-16 04:24:22.909 - INFO: train/mse_loss: 0.001873474259035127 +23-06-16 04:24:22.910 - INFO: epoch: 2683 +23-06-16 04:24:22.910 - INFO: iters: 6374812 +23-06-16 04:27:04.251 - INFO: train/mse_loss: 0.0018036377131946774 +23-06-16 04:27:04.252 - INFO: epoch: 2684 +23-06-16 04:27:04.252 - INFO: iters: 6377188 +23-06-16 04:29:45.407 - INFO: train/mse_loss: 0.0022355568419725664 +23-06-16 04:29:45.408 - INFO: epoch: 2685 +23-06-16 04:29:45.408 - INFO: iters: 6379564 +23-06-16 04:32:26.365 - INFO: train/mse_loss: 0.0022362404389158737 +23-06-16 04:32:26.366 - INFO: epoch: 2686 +23-06-16 04:32:26.366 - INFO: iters: 6381940 +23-06-16 04:35:07.332 - INFO: train/mse_loss: 0.0020088833844546317 +23-06-16 04:35:07.332 - INFO: epoch: 2687 +23-06-16 04:35:07.332 - INFO: iters: 6384316 +23-06-16 04:37:48.177 - INFO: train/mse_loss: 0.0022822516139946337 +23-06-16 04:37:48.178 - INFO: epoch: 2688 +23-06-16 04:37:48.178 - INFO: iters: 6386692 +23-06-16 04:40:29.801 - INFO: train/mse_loss: 0.0022181528642470244 +23-06-16 04:40:29.801 - INFO: epoch: 2689 +23-06-16 04:40:29.801 - INFO: iters: 6389068 +23-06-16 04:43:10.998 - INFO: train/mse_loss: 0.0017814137706841163 +23-06-16 04:43:10.998 - INFO: epoch: 2690 +23-06-16 04:43:10.998 - INFO: iters: 6391444 +23-06-16 04:45:52.454 - INFO: train/mse_loss: 0.00217629032888017 +23-06-16 04:45:52.455 - INFO: epoch: 2691 +23-06-16 04:45:52.455 - INFO: iters: 6393820 +23-06-16 04:48:34.422 - INFO: train/mse_loss: 0.0021880585487139403 +23-06-16 04:48:34.423 - INFO: epoch: 2692 +23-06-16 04:48:34.423 - INFO: iters: 6396196 +23-06-16 04:51:15.662 - INFO: train/mse_loss: 0.0017029288552073535 +23-06-16 04:51:15.662 - INFO: epoch: 2693 +23-06-16 04:51:15.662 - INFO: iters: 6398572 +23-06-16 04:53:56.713 - INFO: train/mse_loss: 0.0017929277819838463 +23-06-16 04:53:56.713 - INFO: epoch: 2694 +23-06-16 04:53:56.713 - INFO: iters: 6400948 +23-06-16 04:56:37.695 - INFO: train/mse_loss: 0.0018754269250022618 +23-06-16 04:56:37.696 - INFO: epoch: 2695 +23-06-16 04:56:37.696 - INFO: iters: 6403324 +23-06-16 04:59:18.884 - INFO: train/mse_loss: 0.0019392841431388305 +23-06-16 04:59:18.885 - INFO: epoch: 2696 +23-06-16 04:59:18.885 - INFO: iters: 6405700 +23-06-16 05:02:00.165 - INFO: train/mse_loss: 0.001983374385347414 +23-06-16 05:02:00.165 - INFO: epoch: 2697 +23-06-16 05:02:00.167 - INFO: iters: 6408076 +23-06-16 05:04:41.589 - INFO: train/mse_loss: 0.0019957903869213343 +23-06-16 05:04:41.589 - INFO: epoch: 2698 +23-06-16 05:04:41.589 - INFO: iters: 6410452 +23-06-16 05:07:22.151 - INFO: train/mse_loss: 0.002102407571049846 +23-06-16 05:07:22.152 - INFO: epoch: 2699 +23-06-16 05:07:22.152 - INFO: iters: 6412828 +23-06-16 05:10:02.946 - INFO: train/mse_loss: 0.0019973527876462676 +23-06-16 05:10:02.946 - INFO: epoch: 2700 +23-06-16 05:10:02.946 - INFO: iters: 6415204 +23-06-16 05:12:45.849 - INFO: train/mse_loss: 0.0016576392917455995 +23-06-16 05:12:45.850 - INFO: epoch: 2701 +23-06-16 05:12:45.850 - INFO: iters: 6417580 +23-06-16 05:15:27.234 - INFO: train/mse_loss: 0.002007865561670169 +23-06-16 05:15:27.235 - INFO: epoch: 2702 +23-06-16 05:15:27.235 - INFO: iters: 6419956 +23-06-16 05:18:08.926 - INFO: train/mse_loss: 0.002208477735749888 +23-06-16 05:18:08.926 - INFO: epoch: 2703 +23-06-16 05:18:08.927 - INFO: iters: 6422332 +23-06-16 05:20:49.728 - INFO: train/mse_loss: 0.0019191963727384499 +23-06-16 05:20:49.728 - INFO: epoch: 2704 +23-06-16 05:20:49.728 - INFO: iters: 6424708 +23-06-16 05:23:30.836 - INFO: train/mse_loss: 0.001963001297529503 +23-06-16 05:23:30.837 - INFO: epoch: 2705 +23-06-16 05:23:30.837 - INFO: iters: 6427084 +23-06-16 05:26:12.056 - INFO: train/mse_loss: 0.0019477114375556822 +23-06-16 05:26:12.056 - INFO: epoch: 2706 +23-06-16 05:26:12.057 - INFO: iters: 6429460 +23-06-16 05:28:52.895 - INFO: train/mse_loss: 0.0017904314686883686 +23-06-16 05:28:52.896 - INFO: epoch: 2707 +23-06-16 05:28:52.896 - INFO: iters: 6431836 +23-06-16 05:31:34.368 - INFO: train/mse_loss: 0.001992078395554504 +23-06-16 05:31:34.368 - INFO: epoch: 2708 +23-06-16 05:31:34.368 - INFO: iters: 6434212 +23-06-16 05:34:15.594 - INFO: train/mse_loss: 0.0018287094011342291 +23-06-16 05:34:15.595 - INFO: epoch: 2709 +23-06-16 05:34:15.595 - INFO: iters: 6436588 +23-06-16 05:36:57.174 - INFO: train/mse_loss: 0.0020590731434121114 +23-06-16 05:36:57.175 - INFO: epoch: 2710 +23-06-16 05:36:57.175 - INFO: iters: 6438964 +23-06-16 05:39:38.127 - INFO: train/mse_loss: 0.0019548564468454006 +23-06-16 05:39:38.128 - INFO: epoch: 2711 +23-06-16 05:39:38.128 - INFO: iters: 6441340 +23-06-16 05:42:19.517 - INFO: train/mse_loss: 0.002164414541387024 +23-06-16 05:42:19.518 - INFO: epoch: 2712 +23-06-16 05:42:19.518 - INFO: iters: 6443716 +23-06-16 05:45:00.419 - INFO: train/mse_loss: 0.0024404130944267214 +23-06-16 05:45:00.420 - INFO: epoch: 2713 +23-06-16 05:45:00.420 - INFO: iters: 6446092 +23-06-16 05:47:41.670 - INFO: train/mse_loss: 0.002398137542437166 +23-06-16 05:47:41.670 - INFO: epoch: 2714 +23-06-16 05:47:41.670 - INFO: iters: 6448468 +23-06-16 05:50:22.306 - INFO: train/mse_loss: 0.0019005905063021284 +23-06-16 05:50:22.307 - INFO: epoch: 2715 +23-06-16 05:50:22.307 - INFO: iters: 6450844 +23-06-16 05:53:03.117 - INFO: train/mse_loss: 0.0018809503507318276 +23-06-16 05:53:03.117 - INFO: epoch: 2716 +23-06-16 05:53:03.117 - INFO: iters: 6453220 +23-06-16 05:55:44.478 - INFO: train/mse_loss: 0.0023346528382395685 +23-06-16 05:55:44.479 - INFO: epoch: 2717 +23-06-16 05:55:44.479 - INFO: iters: 6455596 +23-06-16 05:58:25.922 - INFO: train/mse_loss: 0.002002323931445656 +23-06-16 05:58:25.922 - INFO: epoch: 2718 +23-06-16 05:58:25.922 - INFO: iters: 6457972 +23-06-16 06:01:08.120 - INFO: train/mse_loss: 0.0016104552376645332 +23-06-16 06:01:08.121 - INFO: epoch: 2719 +23-06-16 06:01:08.121 - INFO: iters: 6460348 +23-06-16 06:03:49.793 - INFO: train/mse_loss: 0.002060452098528986 +23-06-16 06:03:49.794 - INFO: epoch: 2720 +23-06-16 06:03:49.794 - INFO: iters: 6462724 +23-06-16 06:06:30.496 - INFO: train/mse_loss: 0.001944669800742313 +23-06-16 06:06:30.496 - INFO: epoch: 2721 +23-06-16 06:06:30.496 - INFO: iters: 6465100 +23-06-16 06:09:11.215 - INFO: train/mse_loss: 0.0017349625537732478 +23-06-16 06:09:11.216 - INFO: epoch: 2722 +23-06-16 06:09:11.216 - INFO: iters: 6467476 +23-06-16 06:11:53.551 - INFO: train/mse_loss: 0.001952698189925531 +23-06-16 06:11:53.552 - INFO: epoch: 2723 +23-06-16 06:11:53.552 - INFO: iters: 6469852 +23-06-16 06:14:34.495 - INFO: train/mse_loss: 0.002101620146583355 +23-06-16 06:14:34.495 - INFO: epoch: 2724 +23-06-16 06:14:34.495 - INFO: iters: 6472228 +23-06-16 06:17:15.307 - INFO: train/mse_loss: 0.0019543475768060863 +23-06-16 06:17:15.308 - INFO: epoch: 2725 +23-06-16 06:17:15.308 - INFO: iters: 6474604 +23-06-16 06:19:56.219 - INFO: train/mse_loss: 0.0019584026499569057 +23-06-16 06:19:56.220 - INFO: epoch: 2726 +23-06-16 06:19:56.220 - INFO: iters: 6476980 +23-06-16 06:22:37.098 - INFO: train/mse_loss: 0.0019007268615205371 +23-06-16 06:22:37.098 - INFO: epoch: 2727 +23-06-16 06:22:37.098 - INFO: iters: 6479356 +23-06-16 06:25:17.918 - INFO: train/mse_loss: 0.0020799478081385027 +23-06-16 06:25:17.919 - INFO: epoch: 2728 +23-06-16 06:25:17.919 - INFO: iters: 6481732 +23-06-16 06:27:59.136 - INFO: train/mse_loss: 0.001883245363562236 +23-06-16 06:27:59.137 - INFO: epoch: 2729 +23-06-16 06:27:59.137 - INFO: iters: 6484108 +23-06-16 06:30:40.116 - INFO: train/mse_loss: 0.0021372108009011996 +23-06-16 06:30:40.117 - INFO: epoch: 2730 +23-06-16 06:30:40.117 - INFO: iters: 6486484 +23-06-16 06:33:21.401 - INFO: train/mse_loss: 0.0019196994362206132 +23-06-16 06:33:21.402 - INFO: epoch: 2731 +23-06-16 06:33:21.402 - INFO: iters: 6488860 +23-06-16 06:36:02.153 - INFO: train/mse_loss: 0.001939973896277225 +23-06-16 06:36:02.154 - INFO: epoch: 2732 +23-06-16 06:36:02.154 - INFO: iters: 6491236 +23-06-16 06:38:43.092 - INFO: train/mse_loss: 0.0018524187641747072 +23-06-16 06:38:43.093 - INFO: epoch: 2733 +23-06-16 06:38:43.093 - INFO: iters: 6493612 +23-06-16 06:41:24.113 - INFO: train/mse_loss: 0.0017577129784522277 +23-06-16 06:41:24.114 - INFO: epoch: 2734 +23-06-16 06:41:24.114 - INFO: iters: 6495988 +23-06-16 06:44:05.414 - INFO: train/mse_loss: 0.0021168643078842806 +23-06-16 06:44:05.414 - INFO: epoch: 2735 +23-06-16 06:44:05.414 - INFO: iters: 6498364 +23-06-16 06:46:46.916 - INFO: train/mse_loss: 0.002104341037185731 +23-06-16 06:46:46.917 - INFO: epoch: 2736 +23-06-16 06:46:46.917 - INFO: iters: 6500740 +23-06-16 06:49:27.901 - INFO: train/mse_loss: 0.001687848124947471 +23-06-16 06:49:27.901 - INFO: epoch: 2737 +23-06-16 06:49:27.902 - INFO: iters: 6503116 +23-06-16 06:52:08.991 - INFO: train/mse_loss: 0.001986072162927249 +23-06-16 06:52:08.992 - INFO: epoch: 2738 +23-06-16 06:52:08.992 - INFO: iters: 6505492 +23-06-16 06:54:50.172 - INFO: train/mse_loss: 0.0025848038888027615 +23-06-16 06:54:50.173 - INFO: epoch: 2739 +23-06-16 06:54:50.173 - INFO: iters: 6507868 +23-06-16 06:57:31.711 - INFO: train/mse_loss: 0.002022522212177051 +23-06-16 06:57:31.712 - INFO: epoch: 2740 +23-06-16 06:57:31.712 - INFO: iters: 6510244 +23-06-16 07:00:12.616 - INFO: train/mse_loss: 0.0017371450795639959 +23-06-16 07:00:12.617 - INFO: epoch: 2741 +23-06-16 07:00:12.617 - INFO: iters: 6512620 +23-06-16 07:02:53.422 - INFO: train/mse_loss: 0.0021637740962129706 +23-06-16 07:02:53.422 - INFO: epoch: 2742 +23-06-16 07:02:53.423 - INFO: iters: 6514996 +23-06-16 07:05:34.837 - INFO: train/mse_loss: 0.0023956870769349676 +23-06-16 07:05:34.837 - INFO: epoch: 2743 +23-06-16 07:05:34.838 - INFO: iters: 6517372 +23-06-16 07:08:15.478 - INFO: train/mse_loss: 0.0019508447739243137 +23-06-16 07:08:15.479 - INFO: epoch: 2744 +23-06-16 07:08:15.479 - INFO: iters: 6519748 +23-06-16 07:10:56.382 - INFO: train/mse_loss: 0.001860940711132191 +23-06-16 07:10:56.383 - INFO: epoch: 2745 +23-06-16 07:10:56.383 - INFO: iters: 6522124 +23-06-16 07:13:37.695 - INFO: train/mse_loss: 0.0019683433809907173 +23-06-16 07:13:37.696 - INFO: epoch: 2746 +23-06-16 07:13:37.696 - INFO: iters: 6524500 +23-06-16 07:16:19.894 - INFO: train/mse_loss: 0.0018064656014329212 +23-06-16 07:16:19.895 - INFO: epoch: 2747 +23-06-16 07:16:19.895 - INFO: iters: 6526876 +23-06-16 07:19:01.076 - INFO: train/mse_loss: 0.0020044712528707116 +23-06-16 07:19:01.077 - INFO: epoch: 2748 +23-06-16 07:19:01.077 - INFO: iters: 6529252 +23-06-16 07:21:42.140 - INFO: train/mse_loss: 0.0018693684374518466 +23-06-16 07:21:42.141 - INFO: epoch: 2749 +23-06-16 07:21:42.141 - INFO: iters: 6531628 +23-06-16 07:24:23.291 - INFO: train/mse_loss: 0.002045270281699596 +23-06-16 07:24:23.292 - INFO: epoch: 2750 +23-06-16 07:24:23.292 - INFO: iters: 6534004 +23-06-16 07:27:04.164 - INFO: train/mse_loss: 0.002295425993285333 +23-06-16 07:27:04.165 - INFO: epoch: 2751 +23-06-16 07:27:04.165 - INFO: iters: 6536380 +23-06-16 07:29:45.006 - INFO: train/mse_loss: 0.0017153120818504787 +23-06-16 07:29:45.007 - INFO: epoch: 2752 +23-06-16 07:29:45.007 - INFO: iters: 6538756 +23-06-16 07:32:26.017 - INFO: train/mse_loss: 0.002087400449472809 +23-06-16 07:32:26.017 - INFO: epoch: 2753 +23-06-16 07:32:26.018 - INFO: iters: 6541132 +23-06-16 07:35:07.323 - INFO: train/mse_loss: 0.0019428959292824527 +23-06-16 07:35:07.324 - INFO: epoch: 2754 +23-06-16 07:35:07.324 - INFO: iters: 6543508 +23-06-16 07:37:48.607 - INFO: train/mse_loss: 0.001941782837509811 +23-06-16 07:37:48.608 - INFO: epoch: 2755 +23-06-16 07:37:48.608 - INFO: iters: 6545884 +23-06-16 07:40:29.476 - INFO: train/mse_loss: 0.001732294000187412 +23-06-16 07:40:29.477 - INFO: epoch: 2756 +23-06-16 07:40:29.477 - INFO: iters: 6548260 +23-06-16 07:43:10.020 - INFO: train/mse_loss: 0.001970696127221893 +23-06-16 07:43:10.021 - INFO: epoch: 2757 +23-06-16 07:43:10.021 - INFO: iters: 6550636 +23-06-16 07:45:51.646 - INFO: train/mse_loss: 0.0021309429210409213 +23-06-16 07:45:51.646 - INFO: epoch: 2758 +23-06-16 07:45:51.647 - INFO: iters: 6553012 +23-06-16 07:48:32.606 - INFO: train/mse_loss: 0.0017320199264272238 +23-06-16 07:48:32.607 - INFO: epoch: 2759 +23-06-16 07:48:32.607 - INFO: iters: 6555388 +23-06-16 07:51:14.089 - INFO: train/mse_loss: 0.001910231472169416 +23-06-16 07:51:14.090 - INFO: epoch: 2760 +23-06-16 07:51:14.090 - INFO: iters: 6557764 +23-06-16 07:53:55.366 - INFO: train/mse_loss: 0.0025156704036311973 +23-06-16 07:53:55.367 - INFO: epoch: 2761 +23-06-16 07:53:55.367 - INFO: iters: 6560140 +23-06-16 07:56:36.691 - INFO: train/mse_loss: 0.0019833111024978303 +23-06-16 07:56:36.694 - INFO: epoch: 2762 +23-06-16 07:56:36.694 - INFO: iters: 6562516 +23-06-16 07:59:18.580 - INFO: train/mse_loss: 0.0016141031037875755 +23-06-16 07:59:18.581 - INFO: epoch: 2763 +23-06-16 07:59:18.582 - INFO: iters: 6564892 +23-06-16 08:02:00.371 - INFO: train/mse_loss: 0.0019173138742691834 +23-06-16 08:02:00.372 - INFO: epoch: 2764 +23-06-16 08:02:00.372 - INFO: iters: 6567268 +23-06-16 08:04:42.473 - INFO: train/mse_loss: 0.00208783597452762 +23-06-16 08:04:42.474 - INFO: epoch: 2765 +23-06-16 08:04:42.474 - INFO: iters: 6569644 +23-06-16 08:07:23.940 - INFO: train/mse_loss: 0.0019823023141498962 +23-06-16 08:07:23.941 - INFO: epoch: 2766 +23-06-16 08:07:23.941 - INFO: iters: 6572020 +23-06-16 08:10:05.463 - INFO: train/mse_loss: 0.0017163002989348964 +23-06-16 08:10:05.463 - INFO: epoch: 2767 +23-06-16 08:10:05.463 - INFO: iters: 6574396 +23-06-16 08:12:47.448 - INFO: train/mse_loss: 0.0018064801722117434 +23-06-16 08:12:47.449 - INFO: epoch: 2768 +23-06-16 08:12:47.449 - INFO: iters: 6576772 +23-06-16 08:15:28.888 - INFO: train/mse_loss: 0.0020165992529336866 +23-06-16 08:15:28.888 - INFO: epoch: 2769 +23-06-16 08:15:28.889 - INFO: iters: 6579148 +23-06-16 08:18:10.169 - INFO: train/mse_loss: 0.0022343805274198628 +23-06-16 08:18:10.169 - INFO: epoch: 2770 +23-06-16 08:18:10.170 - INFO: iters: 6581524 +23-06-16 08:20:51.861 - INFO: train/mse_loss: 0.0016854588717582044 +23-06-16 08:20:51.861 - INFO: epoch: 2771 +23-06-16 08:20:51.861 - INFO: iters: 6583900 +23-06-16 08:23:35.923 - INFO: train/mse_loss: 0.0018092680648539564 +23-06-16 08:23:35.924 - INFO: epoch: 2772 +23-06-16 08:23:35.924 - INFO: iters: 6586276 +23-06-16 08:26:17.819 - INFO: train/mse_loss: 0.00166599432627556 +23-06-16 08:26:17.819 - INFO: epoch: 2773 +23-06-16 08:26:17.819 - INFO: iters: 6588652 +23-06-16 08:28:59.514 - INFO: train/mse_loss: 0.001983638524706162 +23-06-16 08:28:59.515 - INFO: epoch: 2774 +23-06-16 08:28:59.515 - INFO: iters: 6591028 +23-06-16 08:31:40.786 - INFO: train/mse_loss: 0.0019737417874438373 +23-06-16 08:31:40.787 - INFO: epoch: 2775 +23-06-16 08:31:40.787 - INFO: iters: 6593404 +23-06-16 08:34:21.980 - INFO: train/mse_loss: 0.0021844872660379895 +23-06-16 08:34:21.981 - INFO: epoch: 2776 +23-06-16 08:34:21.981 - INFO: iters: 6595780 +23-06-16 08:37:03.577 - INFO: train/mse_loss: 0.002198813126915564 +23-06-16 08:37:03.578 - INFO: epoch: 2777 +23-06-16 08:37:03.578 - INFO: iters: 6598156 +23-06-16 08:39:45.680 - INFO: train/mse_loss: 0.0024397621933831 +23-06-16 08:39:45.681 - INFO: epoch: 2778 +23-06-16 08:39:45.681 - INFO: iters: 6600532 +23-06-16 08:42:27.491 - INFO: train/mse_loss: 0.002379223006189117 +23-06-16 08:42:27.492 - INFO: epoch: 2779 +23-06-16 08:42:27.492 - INFO: iters: 6602908 +23-06-16 08:45:08.823 - INFO: train/mse_loss: 0.002120727976166364 +23-06-16 08:45:08.824 - INFO: epoch: 2780 +23-06-16 08:45:08.824 - INFO: iters: 6605284 +23-06-16 08:47:50.121 - INFO: train/mse_loss: 0.002261891689167988 +23-06-16 08:47:50.122 - INFO: epoch: 2781 +23-06-16 08:47:50.122 - INFO: iters: 6607660 +23-06-16 08:50:31.489 - INFO: train/mse_loss: 0.0018407402516312126 +23-06-16 08:50:31.490 - INFO: epoch: 2782 +23-06-16 08:50:31.490 - INFO: iters: 6610036 +23-06-16 08:53:13.482 - INFO: train/mse_loss: 0.0020278659988248013 +23-06-16 08:53:13.482 - INFO: epoch: 2783 +23-06-16 08:53:13.482 - INFO: iters: 6612412 +23-06-16 08:55:54.994 - INFO: train/mse_loss: 0.001998326621166907 +23-06-16 08:55:54.995 - INFO: epoch: 2784 +23-06-16 08:55:54.995 - INFO: iters: 6614788 +23-06-16 08:58:36.734 - INFO: train/mse_loss: 0.002062490628512893 +23-06-16 08:58:36.735 - INFO: epoch: 2785 +23-06-16 08:58:36.735 - INFO: iters: 6617164 +23-06-16 09:01:18.513 - INFO: train/mse_loss: 0.0018641739849589909 +23-06-16 09:01:18.514 - INFO: epoch: 2786 +23-06-16 09:01:18.514 - INFO: iters: 6619540 +23-06-16 09:03:59.744 - INFO: train/mse_loss: 0.0023384646310507058 +23-06-16 09:03:59.745 - INFO: epoch: 2787 +23-06-16 09:03:59.745 - INFO: iters: 6621916 +23-06-16 09:06:41.122 - INFO: train/mse_loss: 0.002075289890321202 +23-06-16 09:06:41.123 - INFO: epoch: 2788 +23-06-16 09:06:41.123 - INFO: iters: 6624292 +23-06-16 09:09:22.607 - INFO: train/mse_loss: 0.00182178391527615 +23-06-16 09:09:22.609 - INFO: epoch: 2789 +23-06-16 09:09:22.609 - INFO: iters: 6626668 +23-06-16 09:12:04.094 - INFO: train/mse_loss: 0.0020216486988740468 +23-06-16 09:12:04.095 - INFO: epoch: 2790 +23-06-16 09:12:04.095 - INFO: iters: 6629044 +23-06-16 09:14:45.608 - INFO: train/mse_loss: 0.0020940886099337953 +23-06-16 09:14:45.608 - INFO: epoch: 2791 +23-06-16 09:14:45.608 - INFO: iters: 6631420 +23-06-16 09:17:27.260 - INFO: train/mse_loss: 0.0019947853079398856 +23-06-16 09:17:27.261 - INFO: epoch: 2792 +23-06-16 09:17:27.261 - INFO: iters: 6633796 +23-06-16 09:20:09.106 - INFO: train/mse_loss: 0.002328383209895631 +23-06-16 09:20:09.106 - INFO: epoch: 2793 +23-06-16 09:20:09.107 - INFO: iters: 6636172 +23-06-16 09:22:51.022 - INFO: train/mse_loss: 0.001808379103957992 +23-06-16 09:22:51.023 - INFO: epoch: 2794 +23-06-16 09:22:51.023 - INFO: iters: 6638548 +23-06-16 09:25:33.769 - INFO: train/mse_loss: 0.002133695788374594 +23-06-16 09:25:33.770 - INFO: epoch: 2795 +23-06-16 09:25:33.770 - INFO: iters: 6640924 +23-06-16 09:28:15.095 - INFO: train/mse_loss: 0.0020769639706014896 +23-06-16 09:28:15.096 - INFO: epoch: 2796 +23-06-16 09:28:15.096 - INFO: iters: 6643300 +23-06-16 09:30:56.634 - INFO: train/mse_loss: 0.0021242393452265717 +23-06-16 09:30:56.636 - INFO: epoch: 2797 +23-06-16 09:30:56.636 - INFO: iters: 6645676 +23-06-16 09:33:37.839 - INFO: train/mse_loss: 0.0020998316038531636 +23-06-16 09:33:37.839 - INFO: epoch: 2798 +23-06-16 09:33:37.840 - INFO: iters: 6648052 +23-06-16 09:36:19.292 - INFO: train/mse_loss: 0.0016200014228167432 +23-06-16 09:36:19.293 - INFO: epoch: 2799 +23-06-16 09:36:19.293 - INFO: iters: 6650428 +23-06-16 09:39:00.804 - INFO: train/mse_loss: 0.0021047433240492814 +23-06-16 09:39:00.805 - INFO: epoch: 2800 +23-06-16 09:39:00.806 - INFO: iters: 6652804 +23-06-16 09:41:42.330 - INFO: train/mse_loss: 0.0018055086184176616 +23-06-16 09:41:42.331 - INFO: epoch: 2801 +23-06-16 09:41:42.331 - INFO: iters: 6655180 +23-06-16 09:44:23.419 - INFO: train/mse_loss: 0.0021536987686356503 +23-06-16 09:44:23.420 - INFO: epoch: 2802 +23-06-16 09:44:23.420 - INFO: iters: 6657556 +23-06-16 09:47:05.093 - INFO: train/mse_loss: 0.0019399959849086292 +23-06-16 09:47:05.094 - INFO: epoch: 2803 +23-06-16 09:47:05.094 - INFO: iters: 6659932 +23-06-16 09:49:46.735 - INFO: train/mse_loss: 0.0021373108266997823 +23-06-16 09:49:46.736 - INFO: epoch: 2804 +23-06-16 09:49:46.736 - INFO: iters: 6662308 +23-06-16 09:52:28.470 - INFO: train/mse_loss: 0.0018806661081226755 +23-06-16 09:52:28.471 - INFO: epoch: 2805 +23-06-16 09:52:28.471 - INFO: iters: 6664684 +23-06-16 09:55:09.906 - INFO: train/mse_loss: 0.0018904542095072548 +23-06-16 09:55:09.907 - INFO: epoch: 2806 +23-06-16 09:55:09.907 - INFO: iters: 6667060 +23-06-16 09:57:51.715 - INFO: train/mse_loss: 0.001995549373446669 +23-06-16 09:57:51.715 - INFO: epoch: 2807 +23-06-16 09:57:51.715 - INFO: iters: 6669436 +23-06-16 10:00:33.610 - INFO: train/mse_loss: 0.0020304165411307805 +23-06-16 10:00:33.611 - INFO: epoch: 2808 +23-06-16 10:00:33.611 - INFO: iters: 6671812 +23-06-16 10:03:15.806 - INFO: train/mse_loss: 0.002038634132110962 +23-06-16 10:03:15.806 - INFO: epoch: 2809 +23-06-16 10:03:15.806 - INFO: iters: 6674188 +23-06-16 10:05:57.751 - INFO: train/mse_loss: 0.0019419647000458794 +23-06-16 10:05:57.752 - INFO: epoch: 2810 +23-06-16 10:05:57.752 - INFO: iters: 6676564 +23-06-16 10:08:39.256 - INFO: train/mse_loss: 0.001943911414059202 +23-06-16 10:08:39.257 - INFO: epoch: 2811 +23-06-16 10:08:39.257 - INFO: iters: 6678940 +23-06-16 10:11:20.814 - INFO: train/mse_loss: 0.0023619910892803122 +23-06-16 10:11:20.815 - INFO: epoch: 2812 +23-06-16 10:11:20.815 - INFO: iters: 6681316 +23-06-16 10:14:03.045 - INFO: train/mse_loss: 0.0020857725698329973 +23-06-16 10:14:03.046 - INFO: epoch: 2813 +23-06-16 10:14:03.046 - INFO: iters: 6683692 +23-06-16 10:16:44.320 - INFO: train/mse_loss: 0.001966780118371034 +23-06-16 10:16:44.321 - INFO: epoch: 2814 +23-06-16 10:16:44.321 - INFO: iters: 6686068 +23-06-16 10:19:25.597 - INFO: train/mse_loss: 0.0021140287006144514 +23-06-16 10:19:25.598 - INFO: epoch: 2815 +23-06-16 10:19:25.598 - INFO: iters: 6688444 +23-06-16 10:22:06.837 - INFO: train/mse_loss: 0.002053278257730511 +23-06-16 10:22:06.837 - INFO: epoch: 2816 +23-06-16 10:22:06.838 - INFO: iters: 6690820 +23-06-16 10:24:47.981 - INFO: train/mse_loss: 0.001773975923257999 +23-06-16 10:24:47.981 - INFO: epoch: 2817 +23-06-16 10:24:47.981 - INFO: iters: 6693196 +23-06-16 10:27:29.847 - INFO: train/mse_loss: 0.002227437855455921 +23-06-16 10:27:29.854 - INFO: epoch: 2818 +23-06-16 10:27:29.854 - INFO: iters: 6695572 +23-06-16 10:30:11.411 - INFO: train/mse_loss: 0.001881510458946595 +23-06-16 10:30:11.412 - INFO: epoch: 2819 +23-06-16 10:30:11.412 - INFO: iters: 6697948 +23-06-16 10:32:52.876 - INFO: train/mse_loss: 0.002338382891619967 +23-06-16 10:32:52.877 - INFO: epoch: 2820 +23-06-16 10:32:52.877 - INFO: iters: 6700324 +23-06-16 10:35:34.113 - INFO: train/mse_loss: 0.0019452713973248325 +23-06-16 10:35:34.115 - INFO: epoch: 2821 +23-06-16 10:35:34.117 - INFO: iters: 6702700 +23-06-16 10:38:15.439 - INFO: train/mse_loss: 0.0019915548492717297 +23-06-16 10:38:15.439 - INFO: epoch: 2822 +23-06-16 10:38:15.440 - INFO: iters: 6705076 +23-06-16 10:40:56.742 - INFO: train/mse_loss: 0.0020502304952467795 +23-06-16 10:40:56.743 - INFO: epoch: 2823 +23-06-16 10:40:56.743 - INFO: iters: 6707452 +23-06-16 10:43:38.288 - INFO: train/mse_loss: 0.002101054337104588 +23-06-16 10:43:38.288 - INFO: epoch: 2824 +23-06-16 10:43:38.288 - INFO: iters: 6709828 +23-06-16 10:46:19.907 - INFO: train/mse_loss: 0.0015718207544612272 +23-06-16 10:46:19.907 - INFO: epoch: 2825 +23-06-16 10:46:19.908 - INFO: iters: 6712204 +23-06-16 10:49:01.232 - INFO: train/mse_loss: 0.0019338183679327098 +23-06-16 10:49:01.233 - INFO: epoch: 2826 +23-06-16 10:49:01.233 - INFO: iters: 6714580 +23-06-16 10:51:42.907 - INFO: train/mse_loss: 0.0020245456454063442 +23-06-16 10:51:42.908 - INFO: epoch: 2827 +23-06-16 10:51:42.909 - INFO: iters: 6716956 +23-06-16 10:54:24.370 - INFO: train/mse_loss: 0.0018806776652341515 +23-06-16 10:54:24.372 - INFO: epoch: 2828 +23-06-16 10:54:24.372 - INFO: iters: 6719332 +23-06-16 10:57:05.997 - INFO: train/mse_loss: 0.0018339851359708975 +23-06-16 10:57:05.998 - INFO: epoch: 2829 +23-06-16 10:57:05.998 - INFO: iters: 6721708 +23-06-16 10:59:47.499 - INFO: train/mse_loss: 0.0018079597231017124 +23-06-16 10:59:47.500 - INFO: epoch: 2830 +23-06-16 10:59:47.500 - INFO: iters: 6724084 +23-06-16 11:02:29.175 - INFO: train/mse_loss: 0.0021397191317758277 +23-06-16 11:02:29.176 - INFO: epoch: 2831 +23-06-16 11:02:29.176 - INFO: iters: 6726460 +23-06-16 11:05:10.614 - INFO: train/mse_loss: 0.0019418755213526995 +23-06-16 11:05:10.615 - INFO: epoch: 2832 +23-06-16 11:05:10.615 - INFO: iters: 6728836 +23-06-16 11:07:52.016 - INFO: train/mse_loss: 0.001833480379297453 +23-06-16 11:07:52.018 - INFO: epoch: 2833 +23-06-16 11:07:52.018 - INFO: iters: 6731212 +23-06-16 11:10:33.810 - INFO: train/mse_loss: 0.001818506870660241 +23-06-16 11:10:33.812 - INFO: epoch: 2834 +23-06-16 11:10:33.812 - INFO: iters: 6733588 +23-06-16 11:13:15.503 - INFO: train/mse_loss: 0.0019031027026211072 +23-06-16 11:13:15.503 - INFO: epoch: 2835 +23-06-16 11:13:15.504 - INFO: iters: 6735964 +23-06-16 11:15:56.899 - INFO: train/mse_loss: 0.00212094782508074 +23-06-16 11:15:56.899 - INFO: epoch: 2836 +23-06-16 11:15:56.899 - INFO: iters: 6738340 +23-06-16 11:18:38.808 - INFO: train/mse_loss: 0.0018282365629109256 +23-06-16 11:18:38.809 - INFO: epoch: 2837 +23-06-16 11:18:38.809 - INFO: iters: 6740716 +23-06-16 11:21:20.678 - INFO: train/mse_loss: 0.002151268784145696 +23-06-16 11:21:20.679 - INFO: epoch: 2838 +23-06-16 11:21:20.679 - INFO: iters: 6743092 +23-06-16 11:24:02.938 - INFO: train/mse_loss: 0.0017696143794230183 +23-06-16 11:24:02.939 - INFO: epoch: 2839 +23-06-16 11:24:02.939 - INFO: iters: 6745468 +23-06-16 11:26:44.868 - INFO: train/mse_loss: 0.002258917613859251 +23-06-16 11:26:44.870 - INFO: epoch: 2840 +23-06-16 11:26:44.870 - INFO: iters: 6747844 +23-06-16 11:29:26.539 - INFO: train/mse_loss: 0.0017446028935897042 +23-06-16 11:29:26.540 - INFO: epoch: 2841 +23-06-16 11:29:26.540 - INFO: iters: 6750220 +23-06-16 11:32:08.837 - INFO: train/mse_loss: 0.0016969238568470902 +23-06-16 11:32:08.839 - INFO: epoch: 2842 +23-06-16 11:32:08.839 - INFO: iters: 6752596 +23-06-16 11:34:50.568 - INFO: train/mse_loss: 0.0018440046976202853 +23-06-16 11:34:50.569 - INFO: epoch: 2843 +23-06-16 11:34:50.569 - INFO: iters: 6754972 +23-06-16 11:37:32.445 - INFO: train/mse_loss: 0.0019858044862526903 +23-06-16 11:37:32.446 - INFO: epoch: 2844 +23-06-16 11:37:32.446 - INFO: iters: 6757348 +23-06-16 11:40:14.402 - INFO: train/mse_loss: 0.0017835240942811726 +23-06-16 11:40:14.403 - INFO: epoch: 2845 +23-06-16 11:40:14.403 - INFO: iters: 6759724 +23-06-16 11:42:56.680 - INFO: train/mse_loss: 0.0019126411156296912 +23-06-16 11:42:56.681 - INFO: epoch: 2846 +23-06-16 11:42:56.681 - INFO: iters: 6762100 +23-06-16 11:45:38.803 - INFO: train/mse_loss: 0.001980677453273051 +23-06-16 11:45:38.805 - INFO: epoch: 2847 +23-06-16 11:45:38.805 - INFO: iters: 6764476 +23-06-16 11:48:21.053 - INFO: train/mse_loss: 0.0017598745231005137 +23-06-16 11:48:21.054 - INFO: epoch: 2848 +23-06-16 11:48:21.054 - INFO: iters: 6766852 +23-06-16 11:51:03.591 - INFO: train/mse_loss: 0.0020566099626717696 +23-06-16 11:51:03.592 - INFO: epoch: 2849 +23-06-16 11:51:03.592 - INFO: iters: 6769228 +23-06-16 11:53:45.369 - INFO: train/mse_loss: 0.00240482191354513 +23-06-16 11:53:45.370 - INFO: epoch: 2850 +23-06-16 11:53:45.370 - INFO: iters: 6771604 +23-06-16 11:56:27.129 - INFO: train/mse_loss: 0.0020656859948210062 +23-06-16 11:56:27.129 - INFO: epoch: 2851 +23-06-16 11:56:27.129 - INFO: iters: 6773980 +23-06-16 11:59:08.337 - INFO: train/mse_loss: 0.002074015808309568 +23-06-16 11:59:08.337 - INFO: epoch: 2852 +23-06-16 11:59:08.338 - INFO: iters: 6776356 +23-06-16 12:01:50.354 - INFO: train/mse_loss: 0.0019092679651189902 +23-06-16 12:01:50.355 - INFO: epoch: 2853 +23-06-16 12:01:50.355 - INFO: iters: 6778732 +23-06-16 12:04:32.097 - INFO: train/mse_loss: 0.0019198757857366493 +23-06-16 12:04:32.098 - INFO: epoch: 2854 +23-06-16 12:04:32.098 - INFO: iters: 6781108 +23-06-16 12:07:13.868 - INFO: train/mse_loss: 0.0018427163828066346 +23-06-16 12:07:13.869 - INFO: epoch: 2855 +23-06-16 12:07:13.869 - INFO: iters: 6783484 +23-06-16 12:09:55.466 - INFO: train/mse_loss: 0.0018066640796103775 +23-06-16 12:09:55.467 - INFO: epoch: 2856 +23-06-16 12:09:55.467 - INFO: iters: 6785860 +23-06-16 12:12:36.865 - INFO: train/mse_loss: 0.0020936805928249056 +23-06-16 12:12:36.865 - INFO: epoch: 2857 +23-06-16 12:12:36.865 - INFO: iters: 6788236 +23-06-16 12:15:18.574 - INFO: train/mse_loss: 0.002121696432925814 +23-06-16 12:15:18.575 - INFO: epoch: 2858 +23-06-16 12:15:18.575 - INFO: iters: 6790612 +23-06-16 12:18:00.519 - INFO: train/mse_loss: 0.0019474416341701592 +23-06-16 12:18:00.519 - INFO: epoch: 2859 +23-06-16 12:18:00.519 - INFO: iters: 6792988 +23-06-16 12:20:43.102 - INFO: train/mse_loss: 0.001757429303416766 +23-06-16 12:20:43.102 - INFO: epoch: 2860 +23-06-16 12:20:43.102 - INFO: iters: 6795364 +23-06-16 12:23:25.163 - INFO: train/mse_loss: 0.0016109940609349853 +23-06-16 12:23:25.163 - INFO: epoch: 2861 +23-06-16 12:23:25.164 - INFO: iters: 6797740 +23-06-16 12:26:06.897 - INFO: train/mse_loss: 0.001811428951383302 +23-06-16 12:26:06.898 - INFO: epoch: 2862 +23-06-16 12:26:06.898 - INFO: iters: 6800116 +23-06-16 12:28:48.906 - INFO: train/mse_loss: 0.0018633800660266292 +23-06-16 12:28:48.906 - INFO: epoch: 2863 +23-06-16 12:28:48.906 - INFO: iters: 6802492 +23-06-16 12:31:30.754 - INFO: train/mse_loss: 0.001668390145073394 +23-06-16 12:31:30.755 - INFO: epoch: 2864 +23-06-16 12:31:30.755 - INFO: iters: 6804868 +23-06-16 12:34:12.114 - INFO: train/mse_loss: 0.0018814301057695176 +23-06-16 12:34:12.114 - INFO: epoch: 2865 +23-06-16 12:34:12.114 - INFO: iters: 6807244 +23-06-16 12:36:53.716 - INFO: train/mse_loss: 0.002088207127838019 +23-06-16 12:36:53.717 - INFO: epoch: 2866 +23-06-16 12:36:53.717 - INFO: iters: 6809620 +23-06-16 12:39:35.025 - INFO: train/mse_loss: 0.002266864862788064 +23-06-16 12:39:35.025 - INFO: epoch: 2867 +23-06-16 12:39:35.026 - INFO: iters: 6811996 +23-06-16 12:42:16.399 - INFO: train/mse_loss: 0.0019429129918930215 +23-06-16 12:42:16.399 - INFO: epoch: 2868 +23-06-16 12:42:16.399 - INFO: iters: 6814372 +23-06-16 12:44:58.374 - INFO: train/mse_loss: 0.0016704700845654313 +23-06-16 12:44:58.375 - INFO: epoch: 2869 +23-06-16 12:44:58.375 - INFO: iters: 6816748 +23-06-16 12:47:40.468 - INFO: train/mse_loss: 0.0017422664303392147 +23-06-16 12:47:40.469 - INFO: epoch: 2870 +23-06-16 12:47:40.469 - INFO: iters: 6819124 +23-06-16 12:50:22.280 - INFO: train/mse_loss: 0.0022877065094637837 +23-06-16 12:50:22.281 - INFO: epoch: 2871 +23-06-16 12:50:22.281 - INFO: iters: 6821500 +23-06-16 12:53:03.968 - INFO: train/mse_loss: 0.0018760011726810036 +23-06-16 12:53:03.969 - INFO: epoch: 2872 +23-06-16 12:53:03.969 - INFO: iters: 6823876 +23-06-16 12:55:45.517 - INFO: train/mse_loss: 0.0018378689704636921 +23-06-16 12:55:45.518 - INFO: epoch: 2873 +23-06-16 12:55:45.518 - INFO: iters: 6826252 +23-06-16 12:58:27.565 - INFO: train/mse_loss: 0.0018867429819934836 +23-06-16 12:58:27.565 - INFO: epoch: 2874 +23-06-16 12:58:27.565 - INFO: iters: 6828628 +23-06-16 13:01:09.062 - INFO: train/mse_loss: 0.001753679058788523 +23-06-16 13:01:09.063 - INFO: epoch: 2875 +23-06-16 13:01:09.064 - INFO: iters: 6831004 +23-06-16 13:03:50.505 - INFO: train/mse_loss: 0.0017901943985377485 +23-06-16 13:03:50.506 - INFO: epoch: 2876 +23-06-16 13:03:50.506 - INFO: iters: 6833380 +23-06-16 13:06:32.214 - INFO: train/mse_loss: 0.0017584401322175945 +23-06-16 13:06:32.214 - INFO: epoch: 2877 +23-06-16 13:06:32.215 - INFO: iters: 6835756 +23-06-16 13:09:13.903 - INFO: train/mse_loss: 0.0020165153071974164 +23-06-16 13:09:13.904 - INFO: epoch: 2878 +23-06-16 13:09:13.904 - INFO: iters: 6838132 +23-06-16 13:11:55.554 - INFO: train/mse_loss: 0.0019469006800485512 +23-06-16 13:11:55.555 - INFO: epoch: 2879 +23-06-16 13:11:55.555 - INFO: iters: 6840508 +23-06-16 13:14:37.047 - INFO: train/mse_loss: 0.001675164779727167 +23-06-16 13:14:37.048 - INFO: epoch: 2880 +23-06-16 13:14:37.048 - INFO: iters: 6842884 +23-06-16 13:17:18.604 - INFO: train/mse_loss: 0.0020467030891430523 +23-06-16 13:17:18.605 - INFO: epoch: 2881 +23-06-16 13:17:18.605 - INFO: iters: 6845260 +23-06-16 13:20:00.450 - INFO: train/mse_loss: 0.001999116073322744 +23-06-16 13:20:00.451 - INFO: epoch: 2882 +23-06-16 13:20:00.452 - INFO: iters: 6847636 +23-06-16 13:22:43.200 - INFO: train/mse_loss: 0.0018064473239579144 +23-06-16 13:22:43.201 - INFO: epoch: 2883 +23-06-16 13:22:43.201 - INFO: iters: 6850012 +23-06-16 13:25:24.479 - INFO: train/mse_loss: 0.0020095763011401995 +23-06-16 13:25:24.480 - INFO: epoch: 2884 +23-06-16 13:25:24.480 - INFO: iters: 6852388 +23-06-16 13:28:06.326 - INFO: train/mse_loss: 0.0018209711215788065 +23-06-16 13:28:06.327 - INFO: epoch: 2885 +23-06-16 13:28:06.327 - INFO: iters: 6854764 +23-06-16 13:30:48.145 - INFO: train/mse_loss: 0.0019553759808417703 +23-06-16 13:30:48.145 - INFO: epoch: 2886 +23-06-16 13:30:48.146 - INFO: iters: 6857140 +23-06-16 13:33:29.811 - INFO: train/mse_loss: 0.0018976061550629096 +23-06-16 13:33:29.811 - INFO: epoch: 2887 +23-06-16 13:33:29.811 - INFO: iters: 6859516 +23-06-16 13:36:11.699 - INFO: train/mse_loss: 0.002039766965785945 +23-06-16 13:36:11.699 - INFO: epoch: 2888 +23-06-16 13:36:11.699 - INFO: iters: 6861892 +23-06-16 13:38:53.391 - INFO: train/mse_loss: 0.0017360459576789698 +23-06-16 13:38:53.391 - INFO: epoch: 2889 +23-06-16 13:38:53.391 - INFO: iters: 6864268 +23-06-16 13:41:35.833 - INFO: train/mse_loss: 0.001860896882968359 +23-06-16 13:41:35.833 - INFO: epoch: 2890 +23-06-16 13:41:35.833 - INFO: iters: 6866644 +23-06-16 13:44:17.955 - INFO: train/mse_loss: 0.001900976161330998 +23-06-16 13:44:17.956 - INFO: epoch: 2891 +23-06-16 13:44:17.956 - INFO: iters: 6869020 +23-06-16 13:46:59.459 - INFO: train/mse_loss: 0.0021543766574064734 +23-06-16 13:46:59.460 - INFO: epoch: 2892 +23-06-16 13:46:59.460 - INFO: iters: 6871396 +23-06-16 13:49:41.108 - INFO: train/mse_loss: 0.002163319675716719 +23-06-16 13:49:41.109 - INFO: epoch: 2893 +23-06-16 13:49:41.109 - INFO: iters: 6873772 +23-06-16 13:52:22.838 - INFO: train/mse_loss: 0.0018593611289560482 +23-06-16 13:52:22.839 - INFO: epoch: 2894 +23-06-16 13:52:22.839 - INFO: iters: 6876148 +23-06-16 13:55:04.643 - INFO: train/mse_loss: 0.0020112629534178085 +23-06-16 13:55:04.646 - INFO: epoch: 2895 +23-06-16 13:55:04.646 - INFO: iters: 6878524 +23-06-16 13:57:46.483 - INFO: train/mse_loss: 0.0018600202765749292 +23-06-16 13:57:46.484 - INFO: epoch: 2896 +23-06-16 13:57:46.484 - INFO: iters: 6880900 +23-06-16 14:00:28.079 - INFO: train/mse_loss: 0.0018482270812204575 +23-06-16 14:00:28.080 - INFO: epoch: 2897 +23-06-16 14:00:28.080 - INFO: iters: 6883276 +23-06-16 14:03:10.041 - INFO: train/mse_loss: 0.0018553521098731312 +23-06-16 14:03:10.042 - INFO: epoch: 2898 +23-06-16 14:03:10.042 - INFO: iters: 6885652 +23-06-16 14:05:51.466 - INFO: train/mse_loss: 0.0023410408974190865 +23-06-16 14:05:51.466 - INFO: epoch: 2899 +23-06-16 14:05:51.467 - INFO: iters: 6888028 +23-06-16 14:08:33.139 - INFO: train/mse_loss: 0.0020488804938845486 +23-06-16 14:08:33.140 - INFO: epoch: 2900 +23-06-16 14:08:33.140 - INFO: iters: 6890404 +23-06-16 14:11:14.810 - INFO: train/mse_loss: 0.002037897580650146 +23-06-16 14:11:14.811 - INFO: epoch: 2901 +23-06-16 14:11:14.811 - INFO: iters: 6892780 +23-06-16 14:13:56.240 - INFO: train/mse_loss: 0.0019299305478810186 +23-06-16 14:13:56.241 - INFO: epoch: 2902 +23-06-16 14:13:56.241 - INFO: iters: 6895156 +23-06-16 14:16:37.575 - INFO: train/mse_loss: 0.001948592666705509 +23-06-16 14:16:37.576 - INFO: epoch: 2903 +23-06-16 14:16:37.577 - INFO: iters: 6897532 +23-06-16 14:19:19.227 - INFO: train/mse_loss: 0.0018805884900687086 +23-06-16 14:19:19.228 - INFO: epoch: 2904 +23-06-16 14:19:19.228 - INFO: iters: 6899908 +23-06-16 14:22:00.362 - INFO: train/mse_loss: 0.0019028267863042722 +23-06-16 14:22:00.363 - INFO: epoch: 2905 +23-06-16 14:22:00.363 - INFO: iters: 6902284 +23-06-16 14:24:41.814 - INFO: train/mse_loss: 0.0018779142140524512 +23-06-16 14:24:41.815 - INFO: epoch: 2906 +23-06-16 14:24:41.815 - INFO: iters: 6904660 +23-06-16 14:27:23.253 - INFO: train/mse_loss: 0.0021145572500857633 +23-06-16 14:27:23.254 - INFO: epoch: 2907 +23-06-16 14:27:23.254 - INFO: iters: 6907036 +23-06-16 14:30:05.073 - INFO: train/mse_loss: 0.002187538627254454 +23-06-16 14:30:05.074 - INFO: epoch: 2908 +23-06-16 14:30:05.074 - INFO: iters: 6909412 +23-06-16 14:32:46.328 - INFO: train/mse_loss: 0.0018731577286903625 +23-06-16 14:32:46.329 - INFO: epoch: 2909 +23-06-16 14:32:46.329 - INFO: iters: 6911788 +23-06-16 14:35:28.089 - INFO: train/mse_loss: 0.0023343113183611473 +23-06-16 14:35:28.089 - INFO: epoch: 2910 +23-06-16 14:35:28.090 - INFO: iters: 6914164 +23-06-16 14:38:09.551 - INFO: train/mse_loss: 0.0018748329870633292 +23-06-16 14:38:09.551 - INFO: epoch: 2911 +23-06-16 14:38:09.551 - INFO: iters: 6916540 +23-06-16 14:40:51.157 - INFO: train/mse_loss: 0.0024183648420883475 +23-06-16 14:40:51.157 - INFO: epoch: 2912 +23-06-16 14:40:51.158 - INFO: iters: 6918916 +23-06-16 14:43:32.896 - INFO: train/mse_loss: 0.0016969396675029858 +23-06-16 14:43:32.897 - INFO: epoch: 2913 +23-06-16 14:43:32.897 - INFO: iters: 6921292 +23-06-16 14:46:14.341 - INFO: train/mse_loss: 0.002042574490799164 +23-06-16 14:46:14.341 - INFO: epoch: 2914 +23-06-16 14:46:14.341 - INFO: iters: 6923668 +23-06-16 14:48:56.049 - INFO: train/mse_loss: 0.0017080891285340932 +23-06-16 14:48:56.050 - INFO: epoch: 2915 +23-06-16 14:48:56.050 - INFO: iters: 6926044 +23-06-16 14:51:37.398 - INFO: train/mse_loss: 0.0018793859458357952 +23-06-16 14:51:37.399 - INFO: epoch: 2916 +23-06-16 14:51:37.399 - INFO: iters: 6928420 +23-06-16 14:54:18.761 - INFO: train/mse_loss: 0.0017064854678868783 +23-06-16 14:54:18.762 - INFO: epoch: 2917 +23-06-16 14:54:18.762 - INFO: iters: 6930796 +23-06-16 14:57:00.345 - INFO: train/mse_loss: 0.0019882806508781494 +23-06-16 14:57:00.345 - INFO: epoch: 2918 +23-06-16 14:57:00.345 - INFO: iters: 6933172 +23-06-16 14:59:41.851 - INFO: train/mse_loss: 0.0018114884612201447 +23-06-16 14:59:41.852 - INFO: epoch: 2919 +23-06-16 14:59:41.852 - INFO: iters: 6935548 +23-06-16 15:02:23.265 - INFO: train/mse_loss: 0.0024902285301081073 +23-06-16 15:02:23.266 - INFO: epoch: 2920 +23-06-16 15:02:23.266 - INFO: iters: 6937924 +23-06-16 15:05:04.592 - INFO: train/mse_loss: 0.0017956388337766558 +23-06-16 15:05:04.593 - INFO: epoch: 2921 +23-06-16 15:05:04.593 - INFO: iters: 6940300 +23-06-16 15:07:45.937 - INFO: train/mse_loss: 0.0016840795132544 +23-06-16 15:07:45.938 - INFO: epoch: 2922 +23-06-16 15:07:45.938 - INFO: iters: 6942676 +23-06-16 15:10:27.755 - INFO: train/mse_loss: 0.0015557859889043476 +23-06-16 15:10:27.755 - INFO: epoch: 2923 +23-06-16 15:10:27.756 - INFO: iters: 6945052 +23-06-16 15:13:09.835 - INFO: train/mse_loss: 0.0017188879643280377 +23-06-16 15:13:09.836 - INFO: epoch: 2924 +23-06-16 15:13:09.836 - INFO: iters: 6947428 +23-06-16 15:15:51.248 - INFO: train/mse_loss: 0.0021461307097901355 +23-06-16 15:15:51.249 - INFO: epoch: 2925 +23-06-16 15:15:51.249 - INFO: iters: 6949804 +23-06-16 15:18:32.763 - INFO: train/mse_loss: 0.002083143995845885 +23-06-16 15:18:32.764 - INFO: epoch: 2926 +23-06-16 15:18:32.764 - INFO: iters: 6952180 +23-06-16 15:21:14.586 - INFO: train/mse_loss: 0.0017963821534949327 +23-06-16 15:21:14.587 - INFO: epoch: 2927 +23-06-16 15:21:14.587 - INFO: iters: 6954556 +23-06-16 15:23:55.820 - INFO: train/mse_loss: 0.0021318345780834014 +23-06-16 15:23:55.821 - INFO: epoch: 2928 +23-06-16 15:23:55.821 - INFO: iters: 6956932 +23-06-16 15:26:37.500 - INFO: train/mse_loss: 0.0018789282209033724 +23-06-16 15:26:37.501 - INFO: epoch: 2929 +23-06-16 15:26:37.501 - INFO: iters: 6959308 +23-06-16 15:29:19.397 - INFO: train/mse_loss: 0.0021333034947081013 +23-06-16 15:29:19.397 - INFO: epoch: 2930 +23-06-16 15:29:19.398 - INFO: iters: 6961684 +23-06-16 15:32:01.289 - INFO: train/mse_loss: 0.002101393054440925 +23-06-16 15:32:01.290 - INFO: epoch: 2931 +23-06-16 15:32:01.291 - INFO: iters: 6964060 +23-06-16 15:34:42.790 - INFO: train/mse_loss: 0.0021297514634810526 +23-06-16 15:34:42.790 - INFO: epoch: 2932 +23-06-16 15:34:42.790 - INFO: iters: 6966436 +23-06-16 15:37:23.887 - INFO: train/mse_loss: 0.0018780695081230642 +23-06-16 15:37:23.888 - INFO: epoch: 2933 +23-06-16 15:37:23.888 - INFO: iters: 6968812 +23-06-16 15:40:05.434 - INFO: train/mse_loss: 0.0018860331057121676 +23-06-16 15:40:05.435 - INFO: epoch: 2934 +23-06-16 15:40:05.435 - INFO: iters: 6971188 +23-06-16 15:42:47.387 - INFO: train/mse_loss: 0.0015705662212328303 +23-06-16 15:42:47.388 - INFO: epoch: 2935 +23-06-16 15:42:47.388 - INFO: iters: 6973564 +23-06-16 15:45:28.993 - INFO: train/mse_loss: 0.0018646615752965989 +23-06-16 15:45:28.994 - INFO: epoch: 2936 +23-06-16 15:45:28.994 - INFO: iters: 6975940 +23-06-16 15:48:10.317 - INFO: train/mse_loss: 0.0019138540393713649 +23-06-16 15:48:10.317 - INFO: epoch: 2937 +23-06-16 15:48:10.317 - INFO: iters: 6978316 +23-06-16 15:50:51.317 - INFO: train/mse_loss: 0.002009464434761772 +23-06-16 15:50:51.318 - INFO: epoch: 2938 +23-06-16 15:50:51.318 - INFO: iters: 6980692 +23-06-16 15:53:32.128 - INFO: train/mse_loss: 0.0021264407502899654 +23-06-16 15:53:32.129 - INFO: epoch: 2939 +23-06-16 15:53:32.129 - INFO: iters: 6983068 +23-06-16 15:56:13.470 - INFO: train/mse_loss: 0.001862930568070927 +23-06-16 15:56:13.470 - INFO: epoch: 2940 +23-06-16 15:56:13.471 - INFO: iters: 6985444 +23-06-16 15:58:54.273 - INFO: train/mse_loss: 0.0018911003836282443 +23-06-16 15:58:54.274 - INFO: epoch: 2941 +23-06-16 15:58:54.274 - INFO: iters: 6987820 +23-06-16 16:01:35.013 - INFO: train/mse_loss: 0.002164279559977205 +23-06-16 16:01:35.014 - INFO: epoch: 2942 +23-06-16 16:01:35.015 - INFO: iters: 6990196 +23-06-16 16:04:15.862 - INFO: train/mse_loss: 0.0018912489281090051 +23-06-16 16:04:15.863 - INFO: epoch: 2943 +23-06-16 16:04:15.864 - INFO: iters: 6992572 +23-06-16 16:06:56.456 - INFO: train/mse_loss: 0.0018495510780651935 +23-06-16 16:06:56.457 - INFO: epoch: 2944 +23-06-16 16:06:56.457 - INFO: iters: 6994948 +23-06-16 16:09:36.971 - INFO: train/mse_loss: 0.001887750896540555 +23-06-16 16:09:36.971 - INFO: epoch: 2945 +23-06-16 16:09:36.971 - INFO: iters: 6997324 +23-06-16 16:12:17.965 - INFO: train/mse_loss: 0.0019955413621518705 +23-06-16 16:12:17.965 - INFO: epoch: 2946 +23-06-16 16:12:17.966 - INFO: iters: 6999700 +23-06-16 16:14:58.897 - INFO: train/mse_loss: 0.0017813761006262286 +23-06-16 16:14:58.898 - INFO: epoch: 2947 +23-06-16 16:14:58.898 - INFO: iters: 7002076 +23-06-16 16:17:39.831 - INFO: train/mse_loss: 0.0019001145764337916 +23-06-16 16:17:39.832 - INFO: epoch: 2948 +23-06-16 16:17:39.832 - INFO: iters: 7004452 +23-06-16 16:20:20.819 - INFO: train/mse_loss: 0.0021158312359175675 +23-06-16 16:20:20.819 - INFO: epoch: 2949 +23-06-16 16:20:20.819 - INFO: iters: 7006828 +23-06-16 16:23:01.639 - INFO: train/mse_loss: 0.0019103558965812058 +23-06-16 16:23:01.639 - INFO: epoch: 2950 +23-06-16 16:23:01.639 - INFO: iters: 7009204 +23-06-16 16:25:42.780 - INFO: train/mse_loss: 0.001843061815092406 +23-06-16 16:25:42.781 - INFO: epoch: 2951 +23-06-16 16:25:42.781 - INFO: iters: 7011580 +23-06-16 16:28:23.495 - INFO: train/mse_loss: 0.001845370438887686 +23-06-16 16:28:23.496 - INFO: epoch: 2952 +23-06-16 16:28:23.496 - INFO: iters: 7013956 +23-06-16 16:31:04.760 - INFO: train/mse_loss: 0.0019145538732142937 +23-06-16 16:31:04.761 - INFO: epoch: 2953 +23-06-16 16:31:04.761 - INFO: iters: 7016332 +23-06-16 16:33:45.511 - INFO: train/mse_loss: 0.0019229651952138082 +23-06-16 16:33:45.511 - INFO: epoch: 2954 +23-06-16 16:33:45.511 - INFO: iters: 7018708 +23-06-16 16:36:26.326 - INFO: train/mse_loss: 0.0017738329694564814 +23-06-16 16:36:26.327 - INFO: epoch: 2955 +23-06-16 16:36:26.328 - INFO: iters: 7021084 +23-06-16 16:39:07.304 - INFO: train/mse_loss: 0.0018142407387357852 +23-06-16 16:39:07.305 - INFO: epoch: 2956 +23-06-16 16:39:07.305 - INFO: iters: 7023460 +23-06-16 16:41:48.240 - INFO: train/mse_loss: 0.0019508878787550667 +23-06-16 16:41:48.241 - INFO: epoch: 2957 +23-06-16 16:41:48.241 - INFO: iters: 7025836 +23-06-16 16:44:29.603 - INFO: train/mse_loss: 0.0021076863156831494 +23-06-16 16:44:29.604 - INFO: epoch: 2958 +23-06-16 16:44:29.604 - INFO: iters: 7028212 +23-06-16 16:47:11.428 - INFO: train/mse_loss: 0.0020035715878651845 +23-06-16 16:47:11.429 - INFO: epoch: 2959 +23-06-16 16:47:11.429 - INFO: iters: 7030588 +23-06-16 16:49:53.154 - INFO: train/mse_loss: 0.0019281652585724023 +23-06-16 16:49:53.155 - INFO: epoch: 2960 +23-06-16 16:49:53.155 - INFO: iters: 7032964 +23-06-16 16:52:34.110 - INFO: train/mse_loss: 0.002240474238591535 +23-06-16 16:52:34.110 - INFO: epoch: 2961 +23-06-16 16:52:34.110 - INFO: iters: 7035340 +23-06-16 16:55:15.159 - INFO: train/mse_loss: 0.00195585993388652 +23-06-16 16:55:15.160 - INFO: epoch: 2962 +23-06-16 16:55:15.160 - INFO: iters: 7037716 +23-06-16 16:57:56.151 - INFO: train/mse_loss: 0.0019178523458928491 +23-06-16 16:57:56.152 - INFO: epoch: 2963 +23-06-16 16:57:56.152 - INFO: iters: 7040092 +23-06-16 17:00:37.128 - INFO: train/mse_loss: 0.0020833298800021615 +23-06-16 17:00:37.129 - INFO: epoch: 2964 +23-06-16 17:00:37.129 - INFO: iters: 7042468 +23-06-16 17:03:18.273 - INFO: train/mse_loss: 0.001976700881090382 +23-06-16 17:03:18.274 - INFO: epoch: 2965 +23-06-16 17:03:18.274 - INFO: iters: 7044844 +23-06-16 17:05:59.182 - INFO: train/mse_loss: 0.0016588374326277607 +23-06-16 17:05:59.182 - INFO: epoch: 2966 +23-06-16 17:05:59.182 - INFO: iters: 7047220 +23-06-16 17:08:40.443 - INFO: train/mse_loss: 0.0019007226240469193 +23-06-16 17:08:40.444 - INFO: epoch: 2967 +23-06-16 17:08:40.444 - INFO: iters: 7049596 +23-06-16 17:11:22.055 - INFO: train/mse_loss: 0.0018796682004426427 +23-06-16 17:11:22.056 - INFO: epoch: 2968 +23-06-16 17:11:22.056 - INFO: iters: 7051972 +23-06-16 17:14:03.245 - INFO: train/mse_loss: 0.001953901968547927 +23-06-16 17:14:03.246 - INFO: epoch: 2969 +23-06-16 17:14:03.246 - INFO: iters: 7054348 +23-06-16 17:16:44.281 - INFO: train/mse_loss: 0.0019559557171403633 +23-06-16 17:16:44.282 - INFO: epoch: 2970 +23-06-16 17:16:44.282 - INFO: iters: 7056724 +23-06-16 17:19:25.592 - INFO: train/mse_loss: 0.001899031909580126 +23-06-16 17:19:25.593 - INFO: epoch: 2971 +23-06-16 17:19:25.593 - INFO: iters: 7059100 +23-06-16 17:22:06.469 - INFO: train/mse_loss: 0.001999979279558088 +23-06-16 17:22:06.469 - INFO: epoch: 2972 +23-06-16 17:22:06.470 - INFO: iters: 7061476 +23-06-16 17:24:47.312 - INFO: train/mse_loss: 0.002015188075956788 +23-06-16 17:24:47.313 - INFO: epoch: 2973 +23-06-16 17:24:47.313 - INFO: iters: 7063852 +23-06-16 17:27:28.150 - INFO: train/mse_loss: 0.002216967545537535 +23-06-16 17:27:28.150 - INFO: epoch: 2974 +23-06-16 17:27:28.151 - INFO: iters: 7066228 +23-06-16 17:30:08.953 - INFO: train/mse_loss: 0.0018816022182284048 +23-06-16 17:30:08.954 - INFO: epoch: 2975 +23-06-16 17:30:08.954 - INFO: iters: 7068604 +23-06-16 17:32:50.865 - INFO: train/mse_loss: 0.0018975632596915425 +23-06-16 17:32:50.866 - INFO: epoch: 2976 +23-06-16 17:32:50.866 - INFO: iters: 7070980 +23-06-16 17:35:31.969 - INFO: train/mse_loss: 0.002134910823613866 +23-06-16 17:35:31.970 - INFO: epoch: 2977 +23-06-16 17:35:31.970 - INFO: iters: 7073356 +23-06-16 17:38:13.056 - INFO: train/mse_loss: 0.0020592189530637397 +23-06-16 17:38:13.056 - INFO: epoch: 2978 +23-06-16 17:38:13.056 - INFO: iters: 7075732 +23-06-16 17:40:53.861 - INFO: train/mse_loss: 0.001851536880017208 +23-06-16 17:40:53.861 - INFO: epoch: 2979 +23-06-16 17:40:53.861 - INFO: iters: 7078108 +23-06-16 17:43:34.496 - INFO: train/mse_loss: 0.0018139602766848117 +23-06-16 17:43:34.497 - INFO: epoch: 2980 +23-06-16 17:43:34.497 - INFO: iters: 7080484 +23-06-16 17:46:15.463 - INFO: train/mse_loss: 0.001795101798480919 +23-06-16 17:46:15.464 - INFO: epoch: 2981 +23-06-16 17:46:15.464 - INFO: iters: 7082860 +23-06-16 17:48:56.264 - INFO: train/mse_loss: 0.0023394219322727446 +23-06-16 17:48:56.265 - INFO: epoch: 2982 +23-06-16 17:48:56.265 - INFO: iters: 7085236 +23-06-16 17:51:36.979 - INFO: train/mse_loss: 0.0018717585787979057 +23-06-16 17:51:36.979 - INFO: epoch: 2983 +23-06-16 17:51:36.979 - INFO: iters: 7087612 +23-06-16 17:54:17.453 - INFO: train/mse_loss: 0.0019129064948900105 +23-06-16 17:54:17.454 - INFO: epoch: 2984 +23-06-16 17:54:17.454 - INFO: iters: 7089988 +23-06-16 17:56:58.733 - INFO: train/mse_loss: 0.0016982492677509152 +23-06-16 17:56:58.734 - INFO: epoch: 2985 +23-06-16 17:56:58.734 - INFO: iters: 7092364 +23-06-16 17:59:39.451 - INFO: train/mse_loss: 0.0019964688004430395 +23-06-16 17:59:39.452 - INFO: epoch: 2986 +23-06-16 17:59:39.452 - INFO: iters: 7094740 +23-06-16 18:02:20.431 - INFO: train/mse_loss: 0.0017585678253227198 +23-06-16 18:02:20.431 - INFO: epoch: 2987 +23-06-16 18:02:20.432 - INFO: iters: 7097116 +23-06-16 18:05:01.338 - INFO: train/mse_loss: 0.002258845954447097 +23-06-16 18:05:01.339 - INFO: epoch: 2988 +23-06-16 18:05:01.339 - INFO: iters: 7099492 +23-06-16 18:07:42.648 - INFO: train/mse_loss: 0.0018447052006553295 +23-06-16 18:07:42.650 - INFO: epoch: 2989 +23-06-16 18:07:42.650 - INFO: iters: 7101868 +23-06-16 18:10:23.846 - INFO: train/mse_loss: 0.002039527942101951 +23-06-16 18:10:23.846 - INFO: epoch: 2990 +23-06-16 18:10:23.846 - INFO: iters: 7104244 +23-06-16 18:13:05.095 - INFO: train/mse_loss: 0.0019154152687161185 +23-06-16 18:13:05.096 - INFO: epoch: 2991 +23-06-16 18:13:05.096 - INFO: iters: 7106620 +23-06-16 18:15:46.167 - INFO: train/mse_loss: 0.0018061308806061648 +23-06-16 18:15:46.168 - INFO: epoch: 2992 +23-06-16 18:15:46.168 - INFO: iters: 7108996 +23-06-16 18:18:26.717 - INFO: train/mse_loss: 0.0020532567543604784 +23-06-16 18:18:26.717 - INFO: epoch: 2993 +23-06-16 18:18:26.717 - INFO: iters: 7111372 +23-06-16 18:21:07.692 - INFO: train/mse_loss: 0.0018276096321789388 +23-06-16 18:21:07.693 - INFO: epoch: 2994 +23-06-16 18:21:07.693 - INFO: iters: 7113748 +23-06-16 18:23:48.897 - INFO: train/mse_loss: 0.0018332419241425778 +23-06-16 18:23:48.898 - INFO: epoch: 2995 +23-06-16 18:23:48.898 - INFO: iters: 7116124 +23-06-16 18:26:29.735 - INFO: train/mse_loss: 0.0022437044855219746 +23-06-16 18:26:29.735 - INFO: epoch: 2996 +23-06-16 18:26:29.735 - INFO: iters: 7118500 +23-06-16 18:29:10.283 - INFO: train/mse_loss: 0.0018971167119774146 +23-06-16 18:29:10.283 - INFO: epoch: 2997 +23-06-16 18:29:10.283 - INFO: iters: 7120876 +23-06-16 18:31:51.060 - INFO: train/mse_loss: 0.0019365640936812516 +23-06-16 18:31:51.062 - INFO: epoch: 2998 +23-06-16 18:31:51.062 - INFO: iters: 7123252 +23-06-16 18:34:31.845 - INFO: train/mse_loss: 0.001844560510276265 +23-06-16 18:34:31.845 - INFO: epoch: 2999 +23-06-16 18:34:31.845 - INFO: iters: 7125628 +23-06-16 18:37:12.605 - INFO: train/mse_loss: 0.0018970436082509274 +23-06-16 18:37:12.606 - INFO: epoch: 3000 +23-06-16 18:37:12.606 - INFO: iters: 7128004 +23-06-16 18:37:12.607 - INFO: Saving the self at the end of epoch 3000 +23-06-16 18:37:13.180 - INFO: + + +------------------------------Validation Start------------------------------ +23-06-16 18:39:30.695 - INFO: val/mae: 0.9220662117004395 +23-06-16 18:39:30.696 - INFO: +------------------------------Validation End------------------------------ + + +23-06-16 18:42:12.175 - INFO: train/mse_loss: 0.00214493146842551 +23-06-16 18:42:12.177 - INFO: epoch: 3001 +23-06-16 18:42:12.177 - INFO: iters: 7130382 +23-06-16 18:42:12.177 - INFO: Number of Epochs has reached the limit, End. diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/checkpoint/1000.state b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/checkpoint/1000.state new file mode 100644 index 0000000000000000000000000000000000000000..bf4fa2a12a2bb2da17ad23bd2a12a5a9d7bbb2e1 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/checkpoint/1000.state @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6a9af4f58ad69668652d01366a8150ea56ebe68390b7948f958c3e56f80ba844 +size 166896761 diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/checkpoint/1000_Network.pth b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/checkpoint/1000_Network.pth new file mode 100644 index 0000000000000000000000000000000000000000..bc8f0698db87d0d4c2c6971c3bb822a98c66b6d2 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/checkpoint/1000_Network.pth @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ab89547c957404c0d0a30168f065e885ac48920cb3463fa51256d54680aad2d0 +size 91912909 diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/checkpoint/1000_Network_ema.pth b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/checkpoint/1000_Network_ema.pth new file mode 100644 index 0000000000000000000000000000000000000000..26e9c28349f55fce2f1f6ffaead18f889af59d84 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/checkpoint/1000_Network_ema.pth @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:56d2541764102bb4b0e5cb3153a8c13e1b798499058f631c6a2b3348d1367e1e +size 91863129 diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/checkpoint/1500.state b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/checkpoint/1500.state new file mode 100644 index 0000000000000000000000000000000000000000..dd13183cb1a77673edd0a6adabd5a2296f3b8203 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/checkpoint/1500.state @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:78322cae6248f202adb42840dacfc822427978b5ccbf91b3e3bdb002f5a3655c +size 166896761 diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/checkpoint/1500_Network.pth b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/checkpoint/1500_Network.pth new file mode 100644 index 0000000000000000000000000000000000000000..2e0b53fc47d81fdfe86a5909105c1b42856a6bd6 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/checkpoint/1500_Network.pth @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5b306789bd42bcf4dc4f38bab9eff66e19dce9c17cbcdad900fa980fc736d79a +size 91912909 diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/checkpoint/1500_Network_ema.pth b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/checkpoint/1500_Network_ema.pth new file mode 100644 index 0000000000000000000000000000000000000000..8e790d3ef9c2b8c6e7800c293bf1cd3d9aa6ce1e --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/checkpoint/1500_Network_ema.pth @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3232333e825a412eade931ba2f7c00c355cc4156493df3f8768694b5e416e917 +size 91863129 diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/checkpoint/2000.state b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/checkpoint/2000.state new file mode 100644 index 0000000000000000000000000000000000000000..1bd32d5ddf3fe7f044e12570c1bd98de789a2b30 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/checkpoint/2000.state @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:37cb61b95e962a76003a95f01efce0385719455d13cb61f24c22c37eb6dc1cc1 +size 166896761 diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/checkpoint/2000_Network.pth b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/checkpoint/2000_Network.pth new file mode 100644 index 0000000000000000000000000000000000000000..53cc5bc78857fcc648fc46a5b268a2779a3ad9ad --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/checkpoint/2000_Network.pth @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cffa3f6443bbbb8e2fae23f8f83b11929ea65faf5aea4b016b20fde7317f9efc +size 91912909 diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/checkpoint/2000_Network_ema.pth b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/checkpoint/2000_Network_ema.pth new file mode 100644 index 0000000000000000000000000000000000000000..1de4bcb9d159695fd8b1ec24a0b7cce4b5074734 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/checkpoint/2000_Network_ema.pth @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3d9a89eccd2c1acae25ff9fd8ab68ff9c62ed17e490cf905009e46d7957f6581 +size 91863129 diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/checkpoint/2500.state b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/checkpoint/2500.state new file mode 100644 index 0000000000000000000000000000000000000000..a33fef0e30111fbec61c844dbbc683bbfa026fce --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/checkpoint/2500.state @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5cc3a7fadcd631f4b5cdde03bce68cf30eea3dcf61ed8083f45815927a2c396c +size 166896761 diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/checkpoint/2500_Network.pth b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/checkpoint/2500_Network.pth new file mode 100644 index 0000000000000000000000000000000000000000..afc432ef1aa3ebb5edd007320a7215486fc06490 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/checkpoint/2500_Network.pth @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9c7c9eb8871adb7739b65a619c2c39b9997c29913420df9f49391813743b37ab +size 91912909 diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/checkpoint/2500_Network_ema.pth b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/checkpoint/2500_Network_ema.pth new file mode 100644 index 0000000000000000000000000000000000000000..b6298c4032622317bb58247cfbf5effeb2d658cb --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/checkpoint/2500_Network_ema.pth @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fbcb59d04195382bc4078d3e517de928e0dccb754f2b194b3e6a0f2ff2b551ad +size 91863129 diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/checkpoint/3000.state b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/checkpoint/3000.state new file mode 100644 index 0000000000000000000000000000000000000000..c0db2308b7a793174f88b8311a5508466b577ebe --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/checkpoint/3000.state @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:12b596322be088e5961bf1b2dd85ed621d2a6b2940a8430a6536fdec0401962d +size 166896761 diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/checkpoint/3000_Network.pth b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/checkpoint/3000_Network.pth new file mode 100644 index 0000000000000000000000000000000000000000..76c9bcd9692089a014ebc509d82d3941600a67d5 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/checkpoint/3000_Network.pth @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f1fb79eea2d5128fa0465753de5c05c4895dc78cf4d8b94bd4c0b37df4397b10 +size 91912909 diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/checkpoint/3000_Network_ema.pth b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/checkpoint/3000_Network_ema.pth new file mode 100644 index 0000000000000000000000000000000000000000..d1a58504fd9a2b82d956d8c61c41a57f04577e4a --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/checkpoint/3000_Network_ema.pth @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:da7da56cceec46b220cb8bef0759aae8593847c2e17a6315e8e413ebc30e6c67 +size 91863129 diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/checkpoint/500.state b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/checkpoint/500.state new file mode 100644 index 0000000000000000000000000000000000000000..edd777b3c407bf80492d9ff41fa84f1c20eeddc7 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/checkpoint/500.state @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3c35505883b6cb407e1eab7c95b2765d78a2301c512a582a424f0705d10ad6bd +size 166896761 diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/checkpoint/500_Network.pth b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/checkpoint/500_Network.pth new file mode 100644 index 0000000000000000000000000000000000000000..b8d46ccfb39c5b8fc6cb455f9f978d2a4d593fe9 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/checkpoint/500_Network.pth @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2bb5a41828a4e25cade6f96426356ca0d8cfd505067e4ef2a94336840dbe4543 +size 91912909 diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/checkpoint/500_Network_ema.pth b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/checkpoint/500_Network_ema.pth new file mode 100644 index 0000000000000000000000000000000000000000..747bee764eeace3541fbc71ac3603457c9f6bb27 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/checkpoint/500_Network_ema.pth @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9adfc19af66286fb537bfce6dd46985323ad68ae821784f676922b5edd40617c +size 91863129 diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/conv2former_2xb4_e3000_dpms_s20.json b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/conv2former_2xb4_e3000_dpms_s20.json new file mode 100644 index 0000000000000000000000000000000000000000..667217c8a49786fffefa42f89f9bb3501df664a7 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/conv2former_2xb4_e3000_dpms_s20.json @@ -0,0 +1,162 @@ +{ + "name": "conv2former_2xb4_e3000_dpms_s20", + "gpu_ids": [ + // 2,3 for train + 3 // for test + ], + "seed": -1, + "finetune_norm": false, + "path": { + "base_dir": "experiments", + "code": "code", + "tb_logger": "tb_logger", + "results": "results", + "checkpoint": "checkpoint", + "resume_state": "experiments/train_conv2former_2xb4_e3000_dpms_s20_230514_091009/checkpoint/3000" + }, + "datasets": { + "train": { + "which_dataset": { + "name": [ + "data.dataset", + "Sen2_MTC_New_Multi" + ], + "args": { + "data_root": "../pmaa/data", + "mode": "train" + } + }, + "dataloader": { + "validation_split": 2, + "args": { + "batch_size": 4, + "num_workers": 4, + "shuffle": true, + "pin_memory": true, + "drop_last": true + }, + "val_args": { + "batch_size": 1, + "num_workers": 4, + "shuffle": false, + "pin_memory": true, + "drop_last": false + } + } + }, + "val": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "../pmaa/data", + "mode": "val" + } + } + }, + "test": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "../pmaa/data", + "mode": "test" + } + }, + "dataloader": { + "args": { + "batch_size": 1, + "num_workers": 1, + "pin_memory": true + } + } + } + }, + "model": { + "which_model": { + "name": [ + "models.model", + "Palette" + ], + "args": { + "sample_num": 8, + "task": "decloud", + "ema_scheduler": { + "ema_start": 1, + "ema_iter": 1, + "ema_decay": 0.9999 + }, + "optimizers": [ + { + "lr": 5e-05, + "weight_decay": 0 + } + ] + } + }, + "which_networks": [ + { + "name": [ + "models.network_x0_dpm_solver", + "Network" + ], + "args": { + "init_type": "kaiming", + "module_name": "conv2former", + "unet": { + "in_channel": 12, //3*3+3(noise) + "out_channel": 3, + "inner_channel": 64, + "channel_mults": [ + 1, + 2, + 4, + 8 + ], + "attn_res": [ + // 32, + 16 + // 8 + ], + "num_head_channels": 32, + "res_blocks": 2, + "dropout": 0.2, + "image_size": 256 // default 224 + }, + "beta_schedule": { + "train": { + "schedule": "linear", + "n_timestep": 2000, + "linear_start": 1e-06, + "linear_end": 0.01 + }, + "test": { + "schedule": "linear", + "n_timestep": 1000, + "linear_start": 0.0001, + "linear_end": 0.09 + } + } + } + } + ], + "which_losses": [ + "mse_loss" + ], + "which_metrics": [ + "mae" + ] + }, + "train": { + "n_epoch": 3000, + "n_iter": 100000000, + "val_epoch": 10, + "save_checkpoint_epoch": 100, + "log_iter": 10000, + "tensorboard": true + }, + "debug": { + "val_epoch": 1, + "save_checkpoint_epoch": 1, + "log_iter": 10, + "debug_split": 50 + } +} \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/double_encoder_1xb8_e3000_dpms_s20_noinp.json b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/double_encoder_1xb8_e3000_dpms_s20_noinp.json new file mode 100644 index 0000000000000000000000000000000000000000..a3426ea2688489dc3d05700937c9140df1fa0571 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/double_encoder_1xb8_e3000_dpms_s20_noinp.json @@ -0,0 +1,148 @@ +{ + "name": "double_1xb8_e3000_dpms_s20_noinp", + "gpu_ids": [ + 1 + ], + "seed": -1, + "finetune_norm": false, + "path": { + "base_dir": "experiments", + "code": "code", + "tb_logger": "tb_logger", + "results": "results", + "checkpoint": "checkpoint", + "resume_state": "experiments/train_double_1xb8_e3000_dpms_s20_noinp_230515_045603/checkpoint/3000" + }, + "datasets": { + "train": { + "which_dataset": { + "name": [ + "data.dataset", + "Sen2_MTC_New_Multi" + ], + "args": { + "data_root": "../pmaa/data", + "mode": "train" + } + }, + "dataloader": { + "validation_split": 2, + "args": { + "batch_size": 8, + "num_workers": 8, + "shuffle": true, + "pin_memory": true, + "drop_last": true + }, + "val_args": { + "batch_size": 1, + "num_workers": 4, + "shuffle": false, + "pin_memory": true, + "drop_last": false + } + } + }, + "val": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "../pmaa/data", + "mode": "val" + } + } + }, + "test": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "../pmaa/data", + "mode": "test" + } + }, + "dataloader": { + "args": { + "batch_size": 1, + "num_workers": 1, + "pin_memory": true + } + } + } + }, + "model": { + "which_model": { + "name": [ + "models.model", + "Palette" + ], + "args": { + "sample_num": 8, + "task": "decloud", + "ema_scheduler": { + "ema_start": 1, + "ema_iter": 1, + "ema_decay": 0.9999 + }, + "optimizers": [ + { + "lr": 5e-05, + "weight_decay": 0 + } + ] + } + }, + "which_networks": [ + { + "name": [ + "models.network_x0_dpm_solver", + "Network" + ], + "args": { + "init_type": "kaiming", + "module_name": "double_encoder", + "unet": { + "img_channel": 3, + "width": 64, + "middle_blk_num": 1, + "enc_blk_nums": [1, 1, 1, 1], + "dec_blk_nums": [1, 1, 1, 1] + }, + "beta_schedule": { + "train": { + "schedule": "linear", + "n_timestep": 2000, + "linear_start": 1e-06, + "linear_end": 0.01 + }, + "test": { + "schedule": "linear", + "n_timestep": 1000, + "linear_start": 0.0001, + "linear_end": 0.09 + } + } + } + } + ], + "which_losses": [ + "mse_loss" + ], + "which_metrics": [ + "mae" + ] + }, + "train": { + "n_epoch": 3000, + "n_iter": 100000000, + "val_epoch": 10, + "save_checkpoint_epoch": 100, + "log_iter": 10000, + "tensorboard": true + }, + "debug": { + "val_epoch": 1, + "save_checkpoint_epoch": 1, + "log_iter": 10, + "debug_split": 50 + } +} \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/nafnet128_1xb8_e3000_dpms_s20_noinp.json b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/nafnet128_1xb8_e3000_dpms_s20_noinp.json new file mode 100644 index 0000000000000000000000000000000000000000..96d112ca84245e0d92f7e750b37c2dde56ea0c18 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/nafnet128_1xb8_e3000_dpms_s20_noinp.json @@ -0,0 +1,148 @@ +{ + "name": "nafnet128_1xb8_e3000_dpms_s20_noinp", + "gpu_ids": [ + 3 + ], + "seed": -1, + "finetune_norm": false, + "path": { + "base_dir": "experiments", + "code": "code", + "tb_logger": "tb_logger", + "results": "results", + "checkpoint": "checkpoint", + "resume_state": "experiments/train_nafnet128_1xb8_e3000_dpms_s20_noinp_230518_175307/checkpoint/3000" + }, + "datasets": { + "train": { + "which_dataset": { + "name": [ + "data.dataset", + "Sen2_MTC_New_Multi" + ], + "args": { + "data_root": "../pmaa/data", + "mode": "train" + } + }, + "dataloader": { + "validation_split": 2, + "args": { + "batch_size": 8, + "num_workers": 8, + "shuffle": true, + "pin_memory": true, + "drop_last": true + }, + "val_args": { + "batch_size": 1, + "num_workers": 4, + "shuffle": false, + "pin_memory": true, + "drop_last": false + } + } + }, + "val": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "../pmaa/data", + "mode": "val" + } + } + }, + "test": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "../pmaa/data", + "mode": "test" + } + }, + "dataloader": { + "args": { + "batch_size": 1, + "num_workers": 1, + "pin_memory": true + } + } + } + }, + "model": { + "which_model": { + "name": [ + "models.model", + "Palette" + ], + "args": { + "sample_num": 8, + "task": "decloud", + "ema_scheduler": { + "ema_start": 1, + "ema_iter": 1, + "ema_decay": 0.9999 + }, + "optimizers": [ + { + "lr": 5e-05, + "weight_decay": 0 + } + ] + } + }, + "which_networks": [ + { + "name": [ + "models.network_x0_dpm_solver", + "Network" + ], + "args": { + "init_type": "kaiming", + "module_name": "nafnet", + "unet": { + "img_channel": 12, + "width": 128, + "middle_blk_num": 1, + "enc_blk_nums": [1, 1, 1, 1], + "dec_blk_nums": [1, 1, 1, 1] + }, + "beta_schedule": { + "train": { + "schedule": "linear", + "n_timestep": 2000, + "linear_start": 1e-06, + "linear_end": 0.01 + }, + "test": { + "schedule": "linear", + "n_timestep": 1000, + "linear_start": 0.0001, + "linear_end": 0.09 + } + } + } + } + ], + "which_losses": [ + "mse_loss" + ], + "which_metrics": [ + "mae" + ] + }, + "train": { + "n_epoch": 3000, + "n_iter": 100000000, + "val_epoch": 10, + "save_checkpoint_epoch": 100, + "log_iter": 10000, + "tensorboard": true + }, + "debug": { + "val_epoch": 1, + "save_checkpoint_epoch": 1, + "log_iter": 10, + "debug_split": 50 + } +} \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/nafnet16_1xb8_e3000_dpms_s20_noinp.json b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/nafnet16_1xb8_e3000_dpms_s20_noinp.json new file mode 100644 index 0000000000000000000000000000000000000000..812c9b2698ccb8c0d388e3f359ff7754c8f7ec83 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/nafnet16_1xb8_e3000_dpms_s20_noinp.json @@ -0,0 +1,148 @@ +{ + "name": "nafnet16_1xb8_e3000_dpms_s20_noinp", + "gpu_ids": [ + 2 + ], + "seed": -1, + "finetune_norm": false, + "path": { + "base_dir": "experiments", + "code": "code", + "tb_logger": "tb_logger", + "results": "results", + "checkpoint": "checkpoint", + "resume_state": "experiments/train_nafnet16_1xb8_e3000_dpms_s20_noinp_230518_175110/checkpoint/3000" + }, + "datasets": { + "train": { + "which_dataset": { + "name": [ + "data.dataset", + "Sen2_MTC_New_Multi" + ], + "args": { + "data_root": "../pmaa/data", + "mode": "train" + } + }, + "dataloader": { + "validation_split": 2, + "args": { + "batch_size": 8, + "num_workers": 8, + "shuffle": true, + "pin_memory": true, + "drop_last": true + }, + "val_args": { + "batch_size": 1, + "num_workers": 4, + "shuffle": false, + "pin_memory": true, + "drop_last": false + } + } + }, + "val": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "../pmaa/data", + "mode": "val" + } + } + }, + "test": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "../pmaa/data", + "mode": "test" + } + }, + "dataloader": { + "args": { + "batch_size": 1, + "num_workers": 1, + "pin_memory": true + } + } + } + }, + "model": { + "which_model": { + "name": [ + "models.model", + "Palette" + ], + "args": { + "sample_num": 8, + "task": "decloud", + "ema_scheduler": { + "ema_start": 1, + "ema_iter": 1, + "ema_decay": 0.9999 + }, + "optimizers": [ + { + "lr": 5e-05, + "weight_decay": 0 + } + ] + } + }, + "which_networks": [ + { + "name": [ + "models.network_x0_dpm_solver", + "Network" + ], + "args": { + "init_type": "kaiming", + "module_name": "nafnet", + "unet": { + "img_channel": 12, + "width": 16, + "middle_blk_num": 1, + "enc_blk_nums": [1, 1, 1, 1], + "dec_blk_nums": [1, 1, 1, 1] + }, + "beta_schedule": { + "train": { + "schedule": "linear", + "n_timestep": 2000, + "linear_start": 1e-06, + "linear_end": 0.01 + }, + "test": { + "schedule": "linear", + "n_timestep": 1000, + "linear_start": 0.0001, + "linear_end": 0.09 + } + } + } + } + ], + "which_losses": [ + "mse_loss" + ], + "which_metrics": [ + "mae" + ] + }, + "train": { + "n_epoch": 3000, + "n_iter": 100000000, + "val_epoch": 10, + "save_checkpoint_epoch": 100, + "log_iter": 10000, + "tensorboard": true + }, + "debug": { + "val_epoch": 1, + "save_checkpoint_epoch": 1, + "log_iter": 10, + "debug_split": 50 + } +} \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/nafnet32_1xb8_e3000_dpms_s20_noinp.json b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/nafnet32_1xb8_e3000_dpms_s20_noinp.json new file mode 100644 index 0000000000000000000000000000000000000000..eae458b30ecc7f7074086a87cdab9634df4dd9e6 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/nafnet32_1xb8_e3000_dpms_s20_noinp.json @@ -0,0 +1,148 @@ +{ + "name": "nafnet32_1xb8_e3000_dpms_s20_noinp", + "gpu_ids": [ + 0 + ], + "seed": -1, + "finetune_norm": false, + "path": { + "base_dir": "experiments", + "code": "code", + "tb_logger": "tb_logger", + "results": "results", + "checkpoint": "checkpoint", + "resume_state": "experiments/train_nafnet32_1xb8_e3000_dpms_s20_noinp_230518_174833/checkpoint/3000" + }, + "datasets": { + "train": { + "which_dataset": { + "name": [ + "data.dataset", + "Sen2_MTC_New_Multi" + ], + "args": { + "data_root": "../pmaa/data", + "mode": "train" + } + }, + "dataloader": { + "validation_split": 2, + "args": { + "batch_size": 8, + "num_workers": 8, + "shuffle": true, + "pin_memory": true, + "drop_last": true + }, + "val_args": { + "batch_size": 1, + "num_workers": 4, + "shuffle": false, + "pin_memory": true, + "drop_last": false + } + } + }, + "val": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "../pmaa/data", + "mode": "val" + } + } + }, + "test": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "../pmaa/data", + "mode": "test" + } + }, + "dataloader": { + "args": { + "batch_size": 1, + "num_workers": 1, + "pin_memory": true + } + } + } + }, + "model": { + "which_model": { + "name": [ + "models.model", + "Palette" + ], + "args": { + "sample_num": 8, + "task": "decloud", + "ema_scheduler": { + "ema_start": 1, + "ema_iter": 1, + "ema_decay": 0.9999 + }, + "optimizers": [ + { + "lr": 5e-05, + "weight_decay": 0 + } + ] + } + }, + "which_networks": [ + { + "name": [ + "models.network_x0_dpm_solver", + "Network" + ], + "args": { + "init_type": "kaiming", + "module_name": "nafnet", + "unet": { + "img_channel": 12, + "width": 32, + "middle_blk_num": 1, + "enc_blk_nums": [1, 1, 1, 1], + "dec_blk_nums": [1, 1, 1, 1] + }, + "beta_schedule": { + "train": { + "schedule": "linear", + "n_timestep": 2000, + "linear_start": 1e-06, + "linear_end": 0.01 + }, + "test": { + "schedule": "linear", + "n_timestep": 1000, + "linear_start": 0.0001, + "linear_end": 0.09 + } + } + } + } + ], + "which_losses": [ + "mse_loss" + ], + "which_metrics": [ + "mae" + ] + }, + "train": { + "n_epoch": 3000, + "n_iter": 100000000, + "val_epoch": 10, + "save_checkpoint_epoch": 100, + "log_iter": 10000, + "tensorboard": true + }, + "debug": { + "val_epoch": 1, + "save_checkpoint_epoch": 1, + "log_iter": 10, + "debug_split": 50 + } +} \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/nafnet64_1131_encoder_1xb8_e3000_dpms_s20_noinp.json b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/nafnet64_1131_encoder_1xb8_e3000_dpms_s20_noinp.json new file mode 100644 index 0000000000000000000000000000000000000000..221f400b7dfb739f21fc97fa954ff5d4b03e8aab --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/nafnet64_1131_encoder_1xb8_e3000_dpms_s20_noinp.json @@ -0,0 +1,148 @@ +{ + "name": "nafnet64_1131_encoder_1xb8_e3000_dpms_s20_noinp", + "gpu_ids": [ + 1 + ], + "seed": -1, + "finetune_norm": false, + "path": { + "base_dir": "experiments", + "code": "code", + "tb_logger": "tb_logger", + "results": "results", + "checkpoint": "checkpoint", + "resume_state": "experiments/train_nafnet64_1131_encoder_1xb8_e3000_dpms_s20_noinp_230520_171633/checkpoint/3000" + }, + "datasets": { + "train": { + "which_dataset": { + "name": [ + "data.dataset", + "Sen2_MTC_New_Multi" + ], + "args": { + "data_root": "../pmaa/data", + "mode": "train" + } + }, + "dataloader": { + "validation_split": 2, + "args": { + "batch_size": 8, + "num_workers": 8, + "shuffle": true, + "pin_memory": true, + "drop_last": true + }, + "val_args": { + "batch_size": 1, + "num_workers": 4, + "shuffle": false, + "pin_memory": true, + "drop_last": false + } + } + }, + "val": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "../pmaa/data", + "mode": "val" + } + } + }, + "test": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "../pmaa/data", + "mode": "test" + } + }, + "dataloader": { + "args": { + "batch_size": 1, + "num_workers": 1, + "pin_memory": true + } + } + } + }, + "model": { + "which_model": { + "name": [ + "models.model", + "Palette" + ], + "args": { + "sample_num": 8, + "task": "decloud", + "ema_scheduler": { + "ema_start": 1, + "ema_iter": 1, + "ema_decay": 0.9999 + }, + "optimizers": [ + { + "lr": 5e-05, + "weight_decay": 0 + } + ] + } + }, + "which_networks": [ + { + "name": [ + "models.network_x0_dpm_solver", + "Network" + ], + "args": { + "init_type": "kaiming", + "module_name": "nafnet", + "unet": { + "img_channel": 12, + "width": 64, + "middle_blk_num": 1, + "enc_blk_nums": [1, 1, 3, 1], + "dec_blk_nums": [1, 1, 1, 1] + }, + "beta_schedule": { + "train": { + "schedule": "linear", + "n_timestep": 2000, + "linear_start": 1e-06, + "linear_end": 0.01 + }, + "test": { + "schedule": "linear", + "n_timestep": 1000, + "linear_start": 0.0001, + "linear_end": 0.09 + } + } + } + } + ], + "which_losses": [ + "mse_loss" + ], + "which_metrics": [ + "mae" + ] + }, + "train": { + "n_epoch": 3000, + "n_iter": 100000000, + "val_epoch": 10, + "save_checkpoint_epoch": 100, + "log_iter": 10000, + "tensorboard": true + }, + "debug": { + "val_epoch": 1, + "save_checkpoint_epoch": 1, + "log_iter": 10, + "debug_split": 50 + } +} \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/nafnet64_newca_1xb8_e3000_dpms_s20_noinp.json b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/nafnet64_newca_1xb8_e3000_dpms_s20_noinp.json new file mode 100644 index 0000000000000000000000000000000000000000..f6f5ba85763411eb81ceda770e70afc273eee520 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/nafnet64_newca_1xb8_e3000_dpms_s20_noinp.json @@ -0,0 +1,148 @@ +{ + "name": "nafnet64_newca_noinp", + "gpu_ids": [ + 0 + ], + "seed": -1, + "finetune_norm": false, + "path": { + "base_dir": "experiments", + "code": "code", + "tb_logger": "tb_logger", + "results": "results", + "checkpoint": "checkpoint", + "resume_state": "experiments/train_nafnet64_newca_noinp_230528_021014/checkpoint/3000" + }, + "datasets": { + "train": { + "which_dataset": { + "name": [ + "data.dataset", + "Sen2_MTC_New_Multi" + ], + "args": { + "data_root": "../pmaa/data", + "mode": "train" + } + }, + "dataloader": { + "validation_split": 2, + "args": { + "batch_size": 8, + "num_workers": 8, + "shuffle": true, + "pin_memory": true, + "drop_last": true + }, + "val_args": { + "batch_size": 1, + "num_workers": 1, + "shuffle": false, + "pin_memory": true, + "drop_last": false + } + } + }, + "val": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "../pmaa/data", + "mode": "val" + } + } + }, + "test": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "../pmaa/data", + "mode": "test" + } + }, + "dataloader": { + "args": { + "batch_size": 1, + "num_workers": 1, + "pin_memory": true + } + } + } + }, + "model": { + "which_model": { + "name": [ + "models.model", + "Palette" + ], + "args": { + "sample_num": 8, + "task": "decloud", + "ema_scheduler": { + "ema_start": 1, + "ema_iter": 1, + "ema_decay": 0.9999 + }, + "optimizers": [ + { + "lr": 5e-05, + "weight_decay": 0 + } + ] + } + }, + "which_networks": [ + { + "name": [ + "models.network_x0_dpm_solver", + "Network" + ], + "args": { + "init_type": "kaiming", + "module_name": "nafnet_newca_noinp", + "unet": { + "img_channel": 12, + "width": 64, + "middle_blk_num": 1, + "enc_blk_nums": [1, 1, 1, 1], + "dec_blk_nums": [1, 1, 1, 1] + }, + "beta_schedule": { + "train": { + "schedule": "linear", + "n_timestep": 2000, + "linear_start": 1e-06, + "linear_end": 0.01 + }, + "test": { + "schedule": "linear", + "n_timestep": 1000, + "linear_start": 0.0001, + "linear_end": 0.09 + } + } + } + } + ], + "which_losses": [ + "mse_loss" + ], + "which_metrics": [ + "mae" + ] + }, + "train": { + "n_epoch": 3000, + "n_iter": 100000000, + "val_epoch": 500, + "save_checkpoint_epoch": 500, + "log_iter": 10000, + "tensorboard": true + }, + "debug": { + "val_epoch": 1, + "save_checkpoint_epoch": 1, + "log_iter": 10, + "debug_split": 50 + } +} \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/nafnet64_nosca_silu_noinp_1xb8_e3000_dpms_s20_noinp.json b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/nafnet64_nosca_silu_noinp_1xb8_e3000_dpms_s20_noinp.json new file mode 100644 index 0000000000000000000000000000000000000000..637774a549836807c3b4f06d7f7db6b193453338 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/nafnet64_nosca_silu_noinp_1xb8_e3000_dpms_s20_noinp.json @@ -0,0 +1,148 @@ +{ + "name": "nafnet64_nosca_silu_noinp", + "gpu_ids": [ + 3 + ], + "seed": -1, + "finetune_norm": false, + "path": { + "base_dir": "experiments", + "code": "code", + "tb_logger": "tb_logger", + "results": "results", + "checkpoint": "checkpoint", + "resume_state": "experiments/train_nafnet64_nosca_silu_noinp_230528_021215/checkpoint/3000" + }, + "datasets": { + "train": { + "which_dataset": { + "name": [ + "data.dataset", + "Sen2_MTC_New_Multi" + ], + "args": { + "data_root": "../pmaa/data", + "mode": "train" + } + }, + "dataloader": { + "validation_split": 2, + "args": { + "batch_size": 8, + "num_workers": 8, + "shuffle": true, + "pin_memory": true, + "drop_last": true + }, + "val_args": { + "batch_size": 1, + "num_workers": 1, + "shuffle": false, + "pin_memory": true, + "drop_last": false + } + } + }, + "val": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "../pmaa/data", + "mode": "val" + } + } + }, + "test": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "../pmaa/data", + "mode": "test" + } + }, + "dataloader": { + "args": { + "batch_size": 1, + "num_workers": 1, + "pin_memory": true + } + } + } + }, + "model": { + "which_model": { + "name": [ + "models.model", + "Palette" + ], + "args": { + "sample_num": 8, + "task": "decloud", + "ema_scheduler": { + "ema_start": 1, + "ema_iter": 1, + "ema_decay": 0.9999 + }, + "optimizers": [ + { + "lr": 5e-05, + "weight_decay": 0 + } + ] + } + }, + "which_networks": [ + { + "name": [ + "models.network_x0_dpm_solver", + "Network" + ], + "args": { + "init_type": "kaiming", + "module_name": "nafnet_nosca_silu_noinp", + "unet": { + "img_channel": 12, + "width": 64, + "middle_blk_num": 1, + "enc_blk_nums": [1, 1, 1, 1], + "dec_blk_nums": [1, 1, 1, 1] + }, + "beta_schedule": { + "train": { + "schedule": "linear", + "n_timestep": 2000, + "linear_start": 1e-06, + "linear_end": 0.01 + }, + "test": { + "schedule": "linear", + "n_timestep": 1000, + "linear_start": 0.0001, + "linear_end": 0.09 + } + } + } + } + ], + "which_losses": [ + "mse_loss" + ], + "which_metrics": [ + "mae" + ] + }, + "train": { + "n_epoch": 3000, + "n_iter": 100000000, + "val_epoch": 500, + "save_checkpoint_epoch": 500, + "log_iter": 10000, + "tensorboard": true + }, + "debug": { + "val_epoch": 1, + "save_checkpoint_epoch": 1, + "log_iter": 10, + "debug_split": 50 + } +} \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/nafnet64_ours_1xb8_e3000_dpms_s20_noinp.json b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/nafnet64_ours_1xb8_e3000_dpms_s20_noinp.json new file mode 100644 index 0000000000000000000000000000000000000000..f3f96e961d32754f581351d0f6fde7cbbeb721a6 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/nafnet64_ours_1xb8_e3000_dpms_s20_noinp.json @@ -0,0 +1,148 @@ +{ + "name": "nafnet64_ours_1xb8_e3000_dpms_s20_noinp", + "gpu_ids": [ + 0 + ], + "seed": -1, + "finetune_norm": false, + "path": { + "base_dir": "experiments", + "code": "code", + "tb_logger": "tb_logger", + "results": "results", + "checkpoint": "checkpoint", + "resume_state": "experiments/train_nafnet64_ours_1xb8_e3000_dpms_s20_noinp_230520_094059/checkpoint/3000" + }, + "datasets": { + "train": { + "which_dataset": { + "name": [ + "data.dataset", + "Sen2_MTC_New_Multi" + ], + "args": { + "data_root": "../pmaa/data", + "mode": "train" + } + }, + "dataloader": { + "validation_split": 2, + "args": { + "batch_size": 8, + "num_workers": 8, + "shuffle": true, + "pin_memory": true, + "drop_last": true + }, + "val_args": { + "batch_size": 1, + "num_workers": 1, + "shuffle": false, + "pin_memory": true, + "drop_last": false + } + } + }, + "val": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "../pmaa/data", + "mode": "val" + } + } + }, + "test": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "../pmaa/data", + "mode": "test" + } + }, + "dataloader": { + "args": { + "batch_size": 1, + "num_workers": 1, + "pin_memory": true + } + } + } + }, + "model": { + "which_model": { + "name": [ + "models.model", + "Palette" + ], + "args": { + "sample_num": 8, + "task": "decloud", + "ema_scheduler": { + "ema_start": 1, + "ema_iter": 1, + "ema_decay": 0.9999 + }, + "optimizers": [ + { + "lr": 5e-05, + "weight_decay": 0 + } + ] + } + }, + "which_networks": [ + { + "name": [ + "models.network_x0_dpm_solver", + "Network" + ], + "args": { + "init_type": "kaiming", + "module_name": "nafnet_ours", + "unet": { + "img_channel": 12, + "width": 64, + "middle_blk_num": 1, + "enc_blk_nums": [1, 1, 1, 1], + "dec_blk_nums": [1, 1, 1, 1] + }, + "beta_schedule": { + "train": { + "schedule": "linear", + "n_timestep": 2000, + "linear_start": 1e-06, + "linear_end": 0.01 + }, + "test": { + "schedule": "linear", + "n_timestep": 1000, + "linear_start": 0.0001, + "linear_end": 0.09 + } + } + } + } + ], + "which_losses": [ + "mse_loss" + ], + "which_metrics": [ + "mae" + ] + }, + "train": { + "n_epoch": 3000, + "n_iter": 100000000, + "val_epoch": 100, + "save_checkpoint_epoch": 500, + "log_iter": 10000, + "tensorboard": true + }, + "debug": { + "val_epoch": 1, + "save_checkpoint_epoch": 1, + "log_iter": 10, + "debug_split": 50 + } +} \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/nafnet64_res_1xb8_e3000_dpms_s20_noinp.json b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/nafnet64_res_1xb8_e3000_dpms_s20_noinp.json new file mode 100644 index 0000000000000000000000000000000000000000..25a1e88de9fb7eb4b02ab520220d011334eeddbe --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/nafnet64_res_1xb8_e3000_dpms_s20_noinp.json @@ -0,0 +1,148 @@ +{ + "name": "nafnet64_res_1xb8_e3000_dpms_s20_noinp", + "gpu_ids": [ + 2 + ], + "seed": -1, + "finetune_norm": false, + "path": { + "base_dir": "experiments", + "code": "code", + "tb_logger": "tb_logger", + "results": "results", + "checkpoint": "checkpoint", + "resume_state": "experiments/train_nafnet64_res_1xb8_e3000_dpms_s20_noinp_230520_101605/checkpoint/3000" + }, + "datasets": { + "train": { + "which_dataset": { + "name": [ + "data.dataset", + "Sen2_MTC_New_Multi" + ], + "args": { + "data_root": "../pmaa/data", + "mode": "train" + } + }, + "dataloader": { + "validation_split": 2, + "args": { + "batch_size": 8, + "num_workers": 8, + "shuffle": true, + "pin_memory": true, + "drop_last": true + }, + "val_args": { + "batch_size": 1, + "num_workers": 1, + "shuffle": false, + "pin_memory": true, + "drop_last": false + } + } + }, + "val": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "../pmaa/data", + "mode": "val" + } + } + }, + "test": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "../pmaa/data", + "mode": "test" + } + }, + "dataloader": { + "args": { + "batch_size": 1, + "num_workers": 1, + "pin_memory": true + } + } + } + }, + "model": { + "which_model": { + "name": [ + "models.model", + "Palette" + ], + "args": { + "sample_num": 8, + "task": "decloud", + "ema_scheduler": { + "ema_start": 1, + "ema_iter": 1, + "ema_decay": 0.9999 + }, + "optimizers": [ + { + "lr": 5e-05, + "weight_decay": 0 + } + ] + } + }, + "which_networks": [ + { + "name": [ + "models.network_x0_dpm_solver", + "Network" + ], + "args": { + "init_type": "kaiming", + "module_name": "nafnet_res", + "unet": { + "img_channel": 12, + "width": 64, + "middle_blk_num": 1, + "enc_blk_nums": [1, 1, 1, 1], + "dec_blk_nums": [1, 1, 1, 1] + }, + "beta_schedule": { + "train": { + "schedule": "linear", + "n_timestep": 2000, + "linear_start": 1e-06, + "linear_end": 0.01 + }, + "test": { + "schedule": "linear", + "n_timestep": 1000, + "linear_start": 0.0001, + "linear_end": 0.09 + } + } + } + } + ], + "which_losses": [ + "mse_loss" + ], + "which_metrics": [ + "mae" + ] + }, + "train": { + "n_epoch": 3000, + "n_iter": 100000000, + "val_epoch": 100, + "save_checkpoint_epoch": 500, + "log_iter": 10000, + "tensorboard": true + }, + "debug": { + "val_epoch": 1, + "save_checkpoint_epoch": 1, + "log_iter": 10, + "debug_split": 50 + } +} \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/nafnet64_reverseca_1xb8_e3000_dpms_s20_noinp.json b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/nafnet64_reverseca_1xb8_e3000_dpms_s20_noinp.json new file mode 100644 index 0000000000000000000000000000000000000000..de675242bf16dbfe4b5a151c9614a7873913b074 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/nafnet64_reverseca_1xb8_e3000_dpms_s20_noinp.json @@ -0,0 +1,148 @@ +{ + "name": "nafnet64_reverseca", + "gpu_ids": [ + 1 + ], + "seed": -1, + "finetune_norm": false, + "path": { + "base_dir": "experiments", + "code": "code", + "tb_logger": "tb_logger", + "results": "results", + "checkpoint": "checkpoint", + "resume_state": "experiments/train_nafnet64_reverseca_230528_021307/checkpoint/3000" + }, + "datasets": { + "train": { + "which_dataset": { + "name": [ + "data.dataset", + "Sen2_MTC_New_Multi" + ], + "args": { + "data_root": "../pmaa/data", + "mode": "train" + } + }, + "dataloader": { + "validation_split": 2, + "args": { + "batch_size": 8, + "num_workers": 8, + "shuffle": true, + "pin_memory": true, + "drop_last": true + }, + "val_args": { + "batch_size": 1, + "num_workers": 1, + "shuffle": false, + "pin_memory": true, + "drop_last": false + } + } + }, + "val": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "../pmaa/data", + "mode": "val" + } + } + }, + "test": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "../pmaa/data", + "mode": "test" + } + }, + "dataloader": { + "args": { + "batch_size": 1, + "num_workers": 1, + "pin_memory": true + } + } + } + }, + "model": { + "which_model": { + "name": [ + "models.model", + "Palette" + ], + "args": { + "sample_num": 8, + "task": "decloud", + "ema_scheduler": { + "ema_start": 1, + "ema_iter": 1, + "ema_decay": 0.9999 + }, + "optimizers": [ + { + "lr": 5e-05, + "weight_decay": 0 + } + ] + } + }, + "which_networks": [ + { + "name": [ + "models.network_x0_dpm_solver", + "Network" + ], + "args": { + "init_type": "kaiming", + "module_name": "nafnet_reverseca_noinp", + "unet": { + "img_channel": 12, + "width": 64, + "middle_blk_num": 1, + "enc_blk_nums": [1, 1, 1, 1], + "dec_blk_nums": [1, 1, 1, 1] + }, + "beta_schedule": { + "train": { + "schedule": "linear", + "n_timestep": 2000, + "linear_start": 1e-06, + "linear_end": 0.01 + }, + "test": { + "schedule": "linear", + "n_timestep": 1000, + "linear_start": 0.0001, + "linear_end": 0.09 + } + } + } + } + ], + "which_losses": [ + "mse_loss" + ], + "which_metrics": [ + "mae" + ] + }, + "train": { + "n_epoch": 3000, + "n_iter": 100000000, + "val_epoch": 500, + "save_checkpoint_epoch": 500, + "log_iter": 10000, + "tensorboard": true + }, + "debug": { + "val_epoch": 1, + "save_checkpoint_epoch": 1, + "log_iter": 10, + "debug_split": 50 + } +} \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/nafnet64_splitca_1xb8_e3000_dpms_s20_noinp.json b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/nafnet64_splitca_1xb8_e3000_dpms_s20_noinp.json new file mode 100644 index 0000000000000000000000000000000000000000..15eb11cf601be23e6051e79294209dabaefe5128 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/nafnet64_splitca_1xb8_e3000_dpms_s20_noinp.json @@ -0,0 +1,148 @@ +{ + "name": "nafnet64_splitca", + "gpu_ids": [ + 2 + ], + "seed": -1, + "finetune_norm": false, + "path": { + "base_dir": "experiments", + "code": "code", + "tb_logger": "tb_logger", + "results": "results", + "checkpoint": "checkpoint", + "resume_state": "experiments/train_nafnet64_splitca_230525_063547/checkpoint/3000" + }, + "datasets": { + "train": { + "which_dataset": { + "name": [ + "data.dataset", + "Sen2_MTC_New_Multi" + ], + "args": { + "data_root": "../pmaa/data", + "mode": "train" + } + }, + "dataloader": { + "validation_split": 2, + "args": { + "batch_size": 8, + "num_workers": 8, + "shuffle": true, + "pin_memory": true, + "drop_last": true + }, + "val_args": { + "batch_size": 1, + "num_workers": 1, + "shuffle": false, + "pin_memory": true, + "drop_last": false + } + } + }, + "val": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "../pmaa/data", + "mode": "val" + } + } + }, + "test": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "../pmaa/data", + "mode": "test" + } + }, + "dataloader": { + "args": { + "batch_size": 1, + "num_workers": 1, + "pin_memory": true + } + } + } + }, + "model": { + "which_model": { + "name": [ + "models.model", + "Palette" + ], + "args": { + "sample_num": 8, + "task": "decloud", + "ema_scheduler": { + "ema_start": 1, + "ema_iter": 1, + "ema_decay": 0.9999 + }, + "optimizers": [ + { + "lr": 5e-05, + "weight_decay": 0 + } + ] + } + }, + "which_networks": [ + { + "name": [ + "models.network_x0_dpm_solver", + "Network" + ], + "args": { + "init_type": "kaiming", + "module_name": "nafnet_splitca_noinp", + "unet": { + "img_channel": 12, + "width": 64, + "middle_blk_num": 1, + "enc_blk_nums": [1, 1, 1, 1], + "dec_blk_nums": [1, 1, 1, 1] + }, + "beta_schedule": { + "train": { + "schedule": "linear", + "n_timestep": 2000, + "linear_start": 1e-06, + "linear_end": 0.01 + }, + "test": { + "schedule": "linear", + "n_timestep": 1000, + "linear_start": 0.0001, + "linear_end": 0.09 + } + } + } + } + ], + "which_losses": [ + "mse_loss" + ], + "which_metrics": [ + "mae" + ] + }, + "train": { + "n_epoch": 3000, + "n_iter": 100000000, + "val_epoch": 500, + "save_checkpoint_epoch": 500, + "log_iter": 10000, + "tensorboard": true + }, + "debug": { + "val_epoch": 1, + "save_checkpoint_epoch": 1, + "log_iter": 10, + "debug_split": 50 + } +} \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/nafnet_1xb8_e3000_dpms_s20_noinp.json b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/nafnet_1xb8_e3000_dpms_s20_noinp.json new file mode 100644 index 0000000000000000000000000000000000000000..f1ba85c083f03a6061f2943631d72ddd6cc18bd9 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/nafnet_1xb8_e3000_dpms_s20_noinp.json @@ -0,0 +1,148 @@ +{ + "name": "nafnet_1xb8_e3000_dpms_s20_noinp", + "gpu_ids": [ + 0 + ], + "seed": -1, + "finetune_norm": false, + "path": { + "base_dir": "experiments", + "code": "code", + "tb_logger": "tb_logger", + "results": "results", + "checkpoint": "checkpoint", + "resume_state": "experiments/train_nafnet_1xb8_e3000_dpms_s20_noinp_230514_083943/checkpoint/3000" + }, + "datasets": { + "train": { + "which_dataset": { + "name": [ + "data.dataset", + "Sen2_MTC_New_Multi" + ], + "args": { + "data_root": "../pmaa/data", + "mode": "train" + } + }, + "dataloader": { + "validation_split": 2, + "args": { + "batch_size": 8, + "num_workers": 8, + "shuffle": true, + "pin_memory": true, + "drop_last": true + }, + "val_args": { + "batch_size": 1, + "num_workers": 4, + "shuffle": false, + "pin_memory": true, + "drop_last": false + } + } + }, + "val": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "../pmaa/data", + "mode": "val" + } + } + }, + "test": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "../pmaa/data", + "mode": "test" + } + }, + "dataloader": { + "args": { + "batch_size": 1, + "num_workers": 1, + "pin_memory": true + } + } + } + }, + "model": { + "which_model": { + "name": [ + "models.model", + "Palette" + ], + "args": { + "sample_num": 8, + "task": "decloud", + "ema_scheduler": { + "ema_start": 1, + "ema_iter": 1, + "ema_decay": 0.9999 + }, + "optimizers": [ + { + "lr": 5e-05, + "weight_decay": 0 + } + ] + } + }, + "which_networks": [ + { + "name": [ + "models.network_x0_dpm_solver", + "Network" + ], + "args": { + "init_type": "kaiming", + "module_name": "nafnet", + "unet": { + "img_channel": 12, + "width": 64, + "middle_blk_num": 1, + "enc_blk_nums": [1, 1, 1, 1], + "dec_blk_nums": [1, 1, 1, 1] + }, + "beta_schedule": { + "train": { + "schedule": "linear", + "n_timestep": 2000, + "linear_start": 1e-06, + "linear_end": 0.01 + }, + "test": { + "schedule": "linear", + "n_timestep": 1000, + "linear_start": 0.0001, + "linear_end": 0.09 + } + } + } + } + ], + "which_losses": [ + "mse_loss" + ], + "which_metrics": [ + "mae" + ] + }, + "train": { + "n_epoch": 3000, + "n_iter": 100000000, + "val_epoch": 10, + "save_checkpoint_epoch": 100, + "log_iter": 10000, + "tensorboard": true + }, + "debug": { + "val_epoch": 1, + "save_checkpoint_epoch": 1, + "log_iter": 10, + "debug_split": 50 + } +} \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/nafnet_concat_no_condskip_nodrop_noparams_splitca_double_encoder_decoder_middle_fusion.json b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/nafnet_concat_no_condskip_nodrop_noparams_splitca_double_encoder_decoder_middle_fusion.json new file mode 100644 index 0000000000000000000000000000000000000000..5a3a899553cc40b724b113e0fda22c7cf9a41de3 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/nafnet_concat_no_condskip_nodrop_noparams_splitca_double_encoder_decoder_middle_fusion.json @@ -0,0 +1,148 @@ +{ + "name": "nafnet_concat_no_condskip_nodrop_noparams_splitca_double_encoder_decoder_middle_fusion", + "gpu_ids": [ + 2 + ], + "seed": -1, + "finetune_norm": false, + "path": { + "base_dir": "experiments", + "code": "code", + "tb_logger": "tb_logger", + "results": "results", + "checkpoint": "checkpoint", + "resume_state": "experiments/train_nafnet_concat_no_condskip_nodrop_noparams_splitca_double_encoder_decoder_middle_fusion_230604_042247/checkpoint/3000" + }, + "datasets": { + "train": { + "which_dataset": { + "name": [ + "data.dataset", + "Sen2_MTC_New_Multi" + ], + "args": { + "data_root": "../pmaa/data", + "mode": "train" + } + }, + "dataloader": { + "validation_split": 2, + "args": { + "batch_size": 8, + "num_workers": 8, + "shuffle": true, + "pin_memory": true, + "drop_last": true + }, + "val_args": { + "batch_size": 1, + "num_workers": 1, + "shuffle": false, + "pin_memory": true, + "drop_last": false + } + } + }, + "val": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "../pmaa/data", + "mode": "val" + } + } + }, + "test": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "../pmaa/data", + "mode": "test" + } + }, + "dataloader": { + "args": { + "batch_size": 1, + "num_workers": 1, + "pin_memory": true + } + } + } + }, + "model": { + "which_model": { + "name": [ + "models.model", + "Palette" + ], + "args": { + "sample_num": 8, + "task": "decloud", + "ema_scheduler": { + "ema_start": 1, + "ema_iter": 1, + "ema_decay": 0.9999 + }, + "optimizers": [ + { + "lr": 5e-05, + "weight_decay": 0 + } + ] + } + }, + "which_networks": [ + { + "name": [ + "models.network_x0_dpm_solver", + "Network" + ], + "args": { + "init_type": "kaiming", + "module_name": "nafnet_concat_no_condskip_nodrop_noparams_splitca_double_encoder_decoder_middle_fusion", + "unet": { + "img_channel": 3, + "width": 64, + "middle_blk_num": 1, + "enc_blk_nums": [1, 1, 1, 1], + "dec_blk_nums": [1, 1, 1, 1] + }, + "beta_schedule": { + "train": { + "schedule": "linear", + "n_timestep": 2000, + "linear_start": 1e-06, + "linear_end": 0.01 + }, + "test": { + "schedule": "linear", + "n_timestep": 1000, + "linear_start": 0.0001, + "linear_end": 0.09 + } + } + } + } + ], + "which_losses": [ + "mse_loss" + ], + "which_metrics": [ + "mae" + ] + }, + "train": { + "n_epoch": 3000, + "n_iter": 100000000, + "val_epoch": 1000, + "save_checkpoint_epoch": 1000, + "log_iter": 10000, + "tensorboard": true + }, + "debug": { + "val_epoch": 1, + "save_checkpoint_epoch": 1, + "log_iter": 10, + "debug_split": 50 + } +} \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/nafnet_concat_no_condskip_nodrop_noparams_splitca_double_encoder_decoder_noCondFFN_middle_fusion.json b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/nafnet_concat_no_condskip_nodrop_noparams_splitca_double_encoder_decoder_noCondFFN_middle_fusion.json new file mode 100644 index 0000000000000000000000000000000000000000..48a8dcb1c90f8f3c57483069cf9908f3fb2205f7 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/nafnet_concat_no_condskip_nodrop_noparams_splitca_double_encoder_decoder_noCondFFN_middle_fusion.json @@ -0,0 +1,148 @@ +{ + "name": "nafnet_concat_no_condskip_nodrop_noparams_splitca_double_encoder_decoder_noCondFFN_middle_fusion", + "gpu_ids": [ + 0 + ], + "seed": -1, + "finetune_norm": false, + "path": { + "base_dir": "experiments", + "code": "code", + "tb_logger": "tb_logger", + "results": "results", + "checkpoint": "checkpoint", + "resume_state": "experiments/train_nafnet_concat_no_condskip_nodrop_noparams_splitca_double_encoder_decoder_noCondFFN_middle_fusion_230531_024841/checkpoint/3000" + }, + "datasets": { + "train": { + "which_dataset": { + "name": [ + "data.dataset", + "Sen2_MTC_New_Multi" + ], + "args": { + "data_root": "../pmaa/data", + "mode": "train" + } + }, + "dataloader": { + "validation_split": 2, + "args": { + "batch_size": 8, + "num_workers": 8, + "shuffle": true, + "pin_memory": true, + "drop_last": true + }, + "val_args": { + "batch_size": 1, + "num_workers": 1, + "shuffle": false, + "pin_memory": true, + "drop_last": false + } + } + }, + "val": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "../pmaa/data", + "mode": "val" + } + } + }, + "test": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "../pmaa/data", + "mode": "test" + } + }, + "dataloader": { + "args": { + "batch_size": 1, + "num_workers": 1, + "pin_memory": true + } + } + } + }, + "model": { + "which_model": { + "name": [ + "models.model", + "Palette" + ], + "args": { + "sample_num": 8, + "task": "decloud", + "ema_scheduler": { + "ema_start": 1, + "ema_iter": 1, + "ema_decay": 0.9999 + }, + "optimizers": [ + { + "lr": 5e-05, + "weight_decay": 0 + } + ] + } + }, + "which_networks": [ + { + "name": [ + "models.network_x0_dpm_solver", + "Network" + ], + "args": { + "init_type": "kaiming", + "module_name": "nafnet_concat_no_condskip_nodrop_noparams_splitca_double_encoder_decoder_noCondFFN_middle_fusion", + "unet": { + "img_channel": 3, + "width": 64, + "middle_blk_num": 1, + "enc_blk_nums": [1, 1, 1, 1], + "dec_blk_nums": [1, 1, 1, 1] + }, + "beta_schedule": { + "train": { + "schedule": "linear", + "n_timestep": 2000, + "linear_start": 1e-06, + "linear_end": 0.01 + }, + "test": { + "schedule": "linear", + "n_timestep": 1000, + "linear_start": 0.0001, + "linear_end": 0.09 + } + } + } + } + ], + "which_losses": [ + "mse_loss" + ], + "which_metrics": [ + "mae" + ] + }, + "train": { + "n_epoch": 3000, + "n_iter": 100000000, + "val_epoch": 1000, + "save_checkpoint_epoch": 1000, + "log_iter": 10000, + "tensorboard": true + }, + "debug": { + "val_epoch": 1, + "save_checkpoint_epoch": 1, + "log_iter": 10, + "debug_split": 50 + } +} \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/nafnet_double_encoder_splitcaCond.json b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/nafnet_double_encoder_splitcaCond.json new file mode 100644 index 0000000000000000000000000000000000000000..baba7aaad9eb63811acd4898e46be46bfb731375 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/nafnet_double_encoder_splitcaCond.json @@ -0,0 +1,148 @@ +{ + "name": "nafnet_double_encoder_splitcaCond", + "gpu_ids": [ + 1 + ], + "seed": -1, + "finetune_norm": false, + "path": { + "base_dir": "experiments", + "code": "code", + "tb_logger": "tb_logger", + "results": "results", + "checkpoint": "checkpoint", + "resume_state": "experiments/train_nafnet_double_encoder_splitcaCond_230604_154843/checkpoint/3000" + }, + "datasets": { + "train": { + "which_dataset": { + "name": [ + "data.dataset", + "Sen2_MTC_New_Multi" + ], + "args": { + "data_root": "../pmaa/data", + "mode": "train" + } + }, + "dataloader": { + "validation_split": 2, + "args": { + "batch_size": 8, + "num_workers": 8, + "shuffle": true, + "pin_memory": true, + "drop_last": true + }, + "val_args": { + "batch_size": 1, + "num_workers": 1, + "shuffle": false, + "pin_memory": true, + "drop_last": false + } + } + }, + "val": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "../pmaa/data", + "mode": "val" + } + } + }, + "test": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "../pmaa/data", + "mode": "test" + } + }, + "dataloader": { + "args": { + "batch_size": 1, + "num_workers": 1, + "pin_memory": true + } + } + } + }, + "model": { + "which_model": { + "name": [ + "models.model", + "Palette" + ], + "args": { + "sample_num": 8, + "task": "decloud", + "ema_scheduler": { + "ema_start": 1, + "ema_iter": 1, + "ema_decay": 0.9999 + }, + "optimizers": [ + { + "lr": 5e-05, + "weight_decay": 0 + } + ] + } + }, + "which_networks": [ + { + "name": [ + "models.network_x0_dpm_solver", + "Network" + ], + "args": { + "init_type": "kaiming", + "module_name": "nafnet_double_encoder_splitcaCond", + "unet": { + "img_channel": 3, + "width": 64, + "middle_blk_num": 1, + "enc_blk_nums": [1, 1, 1, 1], + "dec_blk_nums": [1, 1, 1, 1] + }, + "beta_schedule": { + "train": { + "schedule": "linear", + "n_timestep": 2000, + "linear_start": 1e-06, + "linear_end": 0.01 + }, + "test": { + "schedule": "linear", + "n_timestep": 1000, + "linear_start": 0.0001, + "linear_end": 0.09 + } + } + } + } + ], + "which_losses": [ + "mse_loss" + ], + "which_metrics": [ + "mae" + ] + }, + "train": { + "n_epoch": 3000, + "n_iter": 100000000, + "val_epoch": 1000, + "save_checkpoint_epoch": 1000, + "log_iter": 10000, + "tensorboard": true + }, + "debug": { + "val_epoch": 1, + "save_checkpoint_epoch": 1, + "log_iter": 10, + "debug_split": 50 + } +} \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/nafnet_double_encoder_splitcaCond_splitcaUnet.json b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/nafnet_double_encoder_splitcaCond_splitcaUnet.json new file mode 100644 index 0000000000000000000000000000000000000000..e4b42ff6a23348907ca579bfc6053916290887da --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/nafnet_double_encoder_splitcaCond_splitcaUnet.json @@ -0,0 +1,148 @@ +{ + "name": "nafnet_double_encoder_splitcaCond_splitcaUnet", + "gpu_ids": [ + 0 + ], + "seed": -1, + "finetune_norm": false, + "path": { + "base_dir": "experiments", + "code": "code", + "tb_logger": "tb_logger", + "results": "results", + "checkpoint": "checkpoint", + "resume_state": "experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_230604_151849/checkpoint/3000" + }, + "datasets": { + "train": { + "which_dataset": { + "name": [ + "data.dataset", + "Sen2_MTC_New_Multi" + ], + "args": { + "data_root": "../pmaa/data", + "mode": "train" + } + }, + "dataloader": { + "validation_split": 2, + "args": { + "batch_size": 8, + "num_workers": 8, + "shuffle": true, + "pin_memory": true, + "drop_last": true + }, + "val_args": { + "batch_size": 1, + "num_workers": 1, + "shuffle": false, + "pin_memory": true, + "drop_last": false + } + } + }, + "val": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "../pmaa/data", + "mode": "val" + } + } + }, + "test": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "../pmaa/data", + "mode": "test" + } + }, + "dataloader": { + "args": { + "batch_size": 1, + "num_workers": 1, + "pin_memory": true + } + } + } + }, + "model": { + "which_model": { + "name": [ + "models.model", + "Palette" + ], + "args": { + "sample_num": 8, + "task": "decloud", + "ema_scheduler": { + "ema_start": 1, + "ema_iter": 1, + "ema_decay": 0.9999 + }, + "optimizers": [ + { + "lr": 5e-05, + "weight_decay": 0 + } + ] + } + }, + "which_networks": [ + { + "name": [ + "models.network_x0_dpm_solver", + "Network" + ], + "args": { + "init_type": "kaiming", + "module_name": "nafnet_double_encoder_splitcaCond_splitcaUnet", + "unet": { + "img_channel": 3, + "width": 64, + "middle_blk_num": 1, + "enc_blk_nums": [1, 1, 1, 1], + "dec_blk_nums": [1, 1, 1, 1] + }, + "beta_schedule": { + "train": { + "schedule": "linear", + "n_timestep": 2000, + "linear_start": 1e-06, + "linear_end": 0.01 + }, + "test": { + "schedule": "linear", + "n_timestep": 1000, + "linear_start": 0.0001, + "linear_end": 0.09 + } + } + } + } + ], + "which_losses": [ + "mse_loss" + ], + "which_metrics": [ + "mae" + ] + }, + "train": { + "n_epoch": 3000, + "n_iter": 100000000, + "val_epoch": 1000, + "save_checkpoint_epoch": 1000, + "log_iter": 10000, + "tensorboard": true + }, + "debug": { + "val_epoch": 1, + "save_checkpoint_epoch": 1, + "log_iter": 10, + "debug_split": 50 + } +} \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/nafnet_double_encoder_splitcaCond_splitcaUnet_cosine.json b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/nafnet_double_encoder_splitcaCond_splitcaUnet_cosine.json new file mode 100644 index 0000000000000000000000000000000000000000..0e92a94c9abe69ac9e1df0cbc490c3cf275edecf --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/nafnet_double_encoder_splitcaCond_splitcaUnet_cosine.json @@ -0,0 +1,148 @@ +{ + "name": "nafnet_double_encoder_splitcaCond_splitcaUnet_cosine", + "gpu_ids": [ + 0 + ], + "seed": -1, + "finetune_norm": false, + "path": { + "base_dir": "experiments", + "code": "code", + "tb_logger": "tb_logger", + "results": "results", + "checkpoint": "checkpoint", + "resume_state": null + }, + "datasets": { + "train": { + "which_dataset": { + "name": [ + "data.dataset", + "Sen2_MTC_New_Multi" + ], + "args": { + "data_root": "../pmaa/data", + "mode": "train" + } + }, + "dataloader": { + "validation_split": 2, + "args": { + "batch_size": 8, + "num_workers": 8, + "shuffle": true, + "pin_memory": true, + "drop_last": true + }, + "val_args": { + "batch_size": 1, + "num_workers": 1, + "shuffle": false, + "pin_memory": true, + "drop_last": false + } + } + }, + "val": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "../pmaa/data", + "mode": "val" + } + } + }, + "test": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "../pmaa/data", + "mode": "test" + } + }, + "dataloader": { + "args": { + "batch_size": 1, + "num_workers": 1, + "pin_memory": true + } + } + } + }, + "model": { + "which_model": { + "name": [ + "models.model", + "Palette" + ], + "args": { + "sample_num": 8, + "task": "decloud", + "ema_scheduler": { + "ema_start": 1, + "ema_iter": 1, + "ema_decay": 0.9999 + }, + "optimizers": [ + { + "lr": 5e-05, + "weight_decay": 0 + } + ] + } + }, + "which_networks": [ + { + "name": [ + "models.network_x0_dpm_solver", + "Network" + ], + "args": { + "init_type": "kaiming", + "module_name": "nafnet_double_encoder_splitcaCond_splitcaUnet", + "unet": { + "img_channel": 3, + "width": 64, + "middle_blk_num": 1, + "enc_blk_nums": [1, 1, 1, 1], + "dec_blk_nums": [1, 1, 1, 1] + }, + "beta_schedule": { + "train": { + "schedule": "cosine", + "n_timestep": 2000, + "linear_start": 1e-06, + "linear_end": 0.01 + }, + "test": { + "schedule": "cosine", + "n_timestep": 1000, + "linear_start": 0.0001, + "linear_end": 0.09 + } + } + } + } + ], + "which_losses": [ + "mse_loss" + ], + "which_metrics": [ + "mae" + ] + }, + "train": { + "n_epoch": 3000, + "n_iter": 100000000, + "val_epoch": 1000, + "save_checkpoint_epoch": 1000, + "log_iter": 10000, + "tensorboard": true + }, + "debug": { + "val_epoch": 1, + "save_checkpoint_epoch": 1, + "log_iter": 10, + "debug_split": 50 + } +} \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/nafnet_double_encoder_splitcaCond_splitcaUnet_cosine_old.json b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/nafnet_double_encoder_splitcaCond_splitcaUnet_cosine_old.json new file mode 100644 index 0000000000000000000000000000000000000000..50fd0515373b6ee2a048d335db2698c9e4dd5aee --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/nafnet_double_encoder_splitcaCond_splitcaUnet_cosine_old.json @@ -0,0 +1,148 @@ +{ + "name": "nafnet_double_encoder_splitcaCond_splitcaUnet_cosine_old", + "gpu_ids": [ + 3 + ], + "seed": -1, + "finetune_norm": false, + "path": { + "base_dir": "experiments", + "code": "code", + "tb_logger": "tb_logger", + "results": "results", + "checkpoint": "checkpoint", + "resume_state": "experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_cosine_old_230613_083250/checkpoint/3000" + }, + "datasets": { + "train": { + "which_dataset": { + "name": [ + "data.dataset", + "Sen2_MTC_Old_Multi" + ], + "args": { + "data_root": "../pmaa/data", + "mode": "train" + } + }, + "dataloader": { + "validation_split": 2, + "args": { + "batch_size": 8, + "num_workers": 8, + "shuffle": true, + "pin_memory": true, + "drop_last": true + }, + "val_args": { + "batch_size": 1, + "num_workers": 1, + "shuffle": false, + "pin_memory": true, + "drop_last": false + } + } + }, + "val": { + "which_dataset": { + "name": "Sen2_MTC_Old_Multi", + "args": { + "data_root": "../pmaa/data", + "mode": "val" + } + } + }, + "test": { + "which_dataset": { + "name": "Sen2_MTC_Old_Multi", + "args": { + "data_root": "../pmaa/data", + "mode": "test" + } + }, + "dataloader": { + "args": { + "batch_size": 1, + "num_workers": 1, + "pin_memory": true + } + } + } + }, + "model": { + "which_model": { + "name": [ + "models.model", + "Palette" + ], + "args": { + "sample_num": 8, + "task": "decloud", + "ema_scheduler": { + "ema_start": 1, + "ema_iter": 1, + "ema_decay": 0.9999 + }, + "optimizers": [ + { + "lr": 5e-05, + "weight_decay": 0 + } + ] + } + }, + "which_networks": [ + { + "name": [ + "models.network_x0_dpm_solver", + "Network" + ], + "args": { + "init_type": "kaiming", + "module_name": "nafnet_double_encoder_splitcaCond_splitcaUnet", + "unet": { + "img_channel": 3, + "width": 64, + "middle_blk_num": 1, + "enc_blk_nums": [1, 1, 1, 1], + "dec_blk_nums": [1, 1, 1, 1] + }, + "beta_schedule": { + "train": { + "schedule": "cosine", + "n_timestep": 2000, + "linear_start": 1e-06, + "linear_end": 0.01 + }, + "test": { + "schedule": "cosine", + "n_timestep": 1000, + "linear_start": 0.0001, + "linear_end": 0.09 + } + } + } + } + ], + "which_losses": [ + "mse_loss" + ], + "which_metrics": [ + "mae" + ] + }, + "train": { + "n_epoch": 5000, + "n_iter": 100000000, + "val_epoch": 500, + "save_checkpoint_epoch": 500, + "log_iter": 10000, + "tensorboard": true + }, + "debug": { + "val_epoch": 1, + "save_checkpoint_epoch": 1, + "log_iter": 10, + "debug_split": 50 + } +} \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid.json b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid.json new file mode 100644 index 0000000000000000000000000000000000000000..59f19b990724426c72fdf8e2a1eeb34109341689 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid.json @@ -0,0 +1,148 @@ +{ + "name": "nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid", + "gpu_ids": [ + 1 + ], + "seed": -1, + "finetune_norm": false, + "path": { + "base_dir": "experiments", + "code": "code", + "tb_logger": "tb_logger", + "results": "results", + "checkpoint": "checkpoint", + "resume_state": null + }, + "datasets": { + "train": { + "which_dataset": { + "name": [ + "data.dataset", + "Sen2_MTC_New_Multi" + ], + "args": { + "data_root": "../pmaa/data", + "mode": "train" + } + }, + "dataloader": { + "validation_split": 2, + "args": { + "batch_size": 8, + "num_workers": 8, + "shuffle": true, + "pin_memory": true, + "drop_last": true + }, + "val_args": { + "batch_size": 1, + "num_workers": 1, + "shuffle": false, + "pin_memory": true, + "drop_last": false + } + } + }, + "val": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "../pmaa/data", + "mode": "val" + } + } + }, + "test": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "../pmaa/data", + "mode": "test" + } + }, + "dataloader": { + "args": { + "batch_size": 1, + "num_workers": 1, + "pin_memory": true + } + } + } + }, + "model": { + "which_model": { + "name": [ + "models.model", + "Palette" + ], + "args": { + "sample_num": 8, + "task": "decloud", + "ema_scheduler": { + "ema_start": 1, + "ema_iter": 1, + "ema_decay": 0.9999 + }, + "optimizers": [ + { + "lr": 5e-05, + "weight_decay": 0 + } + ] + } + }, + "which_networks": [ + { + "name": [ + "models.network_x0_dpm_solver", + "Network" + ], + "args": { + "init_type": "kaiming", + "module_name": "nafnet_double_encoder_splitcaCond_splitcaUnet", + "unet": { + "img_channel": 3, + "width": 64, + "middle_blk_num": 1, + "enc_blk_nums": [1, 1, 1, 1], + "dec_blk_nums": [1, 1, 1, 1] + }, + "beta_schedule": { + "train": { + "schedule": "sigmoid", + "n_timestep": 2000, + "linear_start": 1e-06, + "linear_end": 0.01 + }, + "test": { + "schedule": "sigmoid", + "n_timestep": 1000, + "linear_start": 0.0001, + "linear_end": 0.09 + } + } + } + } + ], + "which_losses": [ + "mse_loss" + ], + "which_metrics": [ + "mae" + ] + }, + "train": { + "n_epoch": 3000, + "n_iter": 100000000, + "val_epoch": 1000, + "save_checkpoint_epoch": 1000, + "log_iter": 10000, + "tensorboard": true + }, + "debug": { + "val_epoch": 1, + "save_checkpoint_epoch": 1, + "log_iter": 10, + "debug_split": 50 + } +} \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_datan1.json b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_datan1.json new file mode 100644 index 0000000000000000000000000000000000000000..18a338041aee2df3b1c4088e7373f196d49264b7 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_datan1.json @@ -0,0 +1,148 @@ +{ + "name": "nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_datan1", + "gpu_ids": [ + 2 + ], + "seed": -1, + "finetune_norm": false, + "path": { + "base_dir": "experiments", + "code": "code", + "tb_logger": "tb_logger", + "results": "results", + "checkpoint": "checkpoint", + "resume_state": null + }, + "datasets": { + "train": { + "which_dataset": { + "name": [ + "data.dataset", + "Sen2_MTC_New1" + ], + "args": { + "data_root": "../pmaa/data", + "mode": "train" + } + }, + "dataloader": { + "validation_split": 2, + "args": { + "batch_size": 8, + "num_workers": 8, + "shuffle": true, + "pin_memory": true, + "drop_last": true + }, + "val_args": { + "batch_size": 1, + "num_workers": 1, + "shuffle": false, + "pin_memory": true, + "drop_last": false + } + } + }, + "val": { + "which_dataset": { + "name": "Sen2_MTC_New1", + "args": { + "data_root": "../pmaa/data", + "mode": "val" + } + } + }, + "test": { + "which_dataset": { + "name": "Sen2_MTC_New1", + "args": { + "data_root": "../pmaa/data", + "mode": "test" + } + }, + "dataloader": { + "args": { + "batch_size": 1, + "num_workers": 1, + "pin_memory": true + } + } + } + }, + "model": { + "which_model": { + "name": [ + "models.model", + "Palette" + ], + "args": { + "sample_num": 8, + "task": "decloud", + "ema_scheduler": { + "ema_start": 1, + "ema_iter": 1, + "ema_decay": 0.9999 + }, + "optimizers": [ + { + "lr": 5e-05, + "weight_decay": 0 + } + ] + } + }, + "which_networks": [ + { + "name": [ + "models.network_x0_dpm_solver", + "Network" + ], + "args": { + "init_type": "kaiming", + "module_name": "nafnet_double_encoder_splitcaCond_splitcaUnet", + "unet": { + "img_channel": 3, + "width": 64, + "middle_blk_num": 1, + "enc_blk_nums": [1, 1, 1, 1], + "dec_blk_nums": [1, 1, 1, 1] + }, + "beta_schedule": { + "train": { + "schedule": "sigmoid", + "n_timestep": 2000, + "linear_start": 1e-06, + "linear_end": 0.01 + }, + "test": { + "schedule": "sigmoid", + "n_timestep": 1000, + "linear_start": 0.0001, + "linear_end": 0.09 + } + } + } + } + ], + "which_losses": [ + "mse_loss" + ], + "which_metrics": [ + "mae" + ] + }, + "train": { + "n_epoch": 3000, + "n_iter": 100000000, + "val_epoch": 1000, + "save_checkpoint_epoch": 1000, + "log_iter": 10000, + "tensorboard": true + }, + "debug": { + "val_epoch": 1, + "save_checkpoint_epoch": 1, + "log_iter": 10, + "debug_split": 50 + } +} \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_datan2.json b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_datan2.json new file mode 100644 index 0000000000000000000000000000000000000000..292f0a6c663ec97e936b560855785d79ec2c32d6 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_datan2.json @@ -0,0 +1,148 @@ +{ + "name": "nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_datan2", + "gpu_ids": [ + 3 + ], + "seed": -1, + "finetune_norm": false, + "path": { + "base_dir": "experiments", + "code": "code", + "tb_logger": "tb_logger", + "results": "results", + "checkpoint": "checkpoint", + "resume_state": null + }, + "datasets": { + "train": { + "which_dataset": { + "name": [ + "data.dataset", + "Sen2_MTC_New2" + ], + "args": { + "data_root": "../pmaa/data", + "mode": "train" + } + }, + "dataloader": { + "validation_split": 2, + "args": { + "batch_size": 8, + "num_workers": 8, + "shuffle": true, + "pin_memory": true, + "drop_last": true + }, + "val_args": { + "batch_size": 1, + "num_workers": 1, + "shuffle": false, + "pin_memory": true, + "drop_last": false + } + } + }, + "val": { + "which_dataset": { + "name": "Sen2_MTC_New2", + "args": { + "data_root": "../pmaa/data", + "mode": "val" + } + } + }, + "test": { + "which_dataset": { + "name": "Sen2_MTC_New2", + "args": { + "data_root": "../pmaa/data", + "mode": "test" + } + }, + "dataloader": { + "args": { + "batch_size": 1, + "num_workers": 1, + "pin_memory": true + } + } + } + }, + "model": { + "which_model": { + "name": [ + "models.model", + "Palette" + ], + "args": { + "sample_num": 8, + "task": "decloud", + "ema_scheduler": { + "ema_start": 1, + "ema_iter": 1, + "ema_decay": 0.9999 + }, + "optimizers": [ + { + "lr": 5e-05, + "weight_decay": 0 + } + ] + } + }, + "which_networks": [ + { + "name": [ + "models.network_x0_dpm_solver", + "Network" + ], + "args": { + "init_type": "kaiming", + "module_name": "nafnet_double_encoder_splitcaCond_splitcaUnet", + "unet": { + "img_channel": 3, + "width": 64, + "middle_blk_num": 1, + "enc_blk_nums": [1, 1, 1, 1], + "dec_blk_nums": [1, 1, 1, 1] + }, + "beta_schedule": { + "train": { + "schedule": "sigmoid", + "n_timestep": 2000, + "linear_start": 1e-06, + "linear_end": 0.01 + }, + "test": { + "schedule": "sigmoid", + "n_timestep": 1000, + "linear_start": 0.0001, + "linear_end": 0.09 + } + } + } + } + ], + "which_losses": [ + "mse_loss" + ], + "which_metrics": [ + "mae" + ] + }, + "train": { + "n_epoch": 3000, + "n_iter": 100000000, + "val_epoch": 1000, + "save_checkpoint_epoch": 1000, + "log_iter": 10000, + "tensorboard": true + }, + "debug": { + "val_epoch": 1, + "save_checkpoint_epoch": 1, + "log_iter": 10, + "debug_split": 50 + } +} \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen1.json b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen1.json new file mode 100644 index 0000000000000000000000000000000000000000..2b68c1164b24246c2e1b1100269fbf03b7687667 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen1.json @@ -0,0 +1,148 @@ +{ + "name": "nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen1", + "gpu_ids": [ + 1 + ], + "seed": -1, + "finetune_norm": false, + "path": { + "base_dir": "experiments", + "code": "code", + "tb_logger": "tb_logger", + "results": "results", + "checkpoint": "checkpoint", + "resume_state": "experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen1_230611_035437/checkpoint/3000" + }, + "datasets": { + "train": { + "which_dataset": { + "name": [ + "data.dataset", + "Sen2_MTC_New1" + ], + "args": { + "data_root": "../pmaa/data", + "mode": "train" + } + }, + "dataloader": { + "validation_split": 2, + "args": { + "batch_size": 8, + "num_workers": 8, + "shuffle": true, + "pin_memory": true, + "drop_last": true + }, + "val_args": { + "batch_size": 1, + "num_workers": 1, + "shuffle": false, + "pin_memory": true, + "drop_last": false + } + } + }, + "val": { + "which_dataset": { + "name": "Sen2_MTC_New1", + "args": { + "data_root": "../pmaa/data", + "mode": "val" + } + } + }, + "test": { + "which_dataset": { + "name": "Sen2_MTC_New1", + "args": { + "data_root": "../pmaa/data", + "mode": "test" + } + }, + "dataloader": { + "args": { + "batch_size": 1, + "num_workers": 1, + "pin_memory": true + } + } + } + }, + "model": { + "which_model": { + "name": [ + "models.model", + "Palette" + ], + "args": { + "sample_num": 8, + "task": "decloud", + "ema_scheduler": { + "ema_start": 1, + "ema_iter": 1, + "ema_decay": 0.9999 + }, + "optimizers": [ + { + "lr": 5e-05, + "weight_decay": 0 + } + ] + } + }, + "which_networks": [ + { + "name": [ + "models.network_noise_dpm_solver", + "Network" + ], + "args": { + "init_type": "kaiming", + "module_name": "nafnet_double_encoder_splitcaCond_splitcaUnet", + "unet": { + "img_channel": 3, + "width": 64, + "middle_blk_num": 1, + "enc_blk_nums": [1, 1, 1, 1], + "dec_blk_nums": [1, 1, 1, 1] + }, + "beta_schedule": { + "train": { + "schedule": "sigmoid", + "n_timestep": 2000, + "linear_start": 1e-06, + "linear_end": 0.01 + }, + "test": { + "schedule": "sigmoid", + "n_timestep": 1000, + "linear_start": 0.0001, + "linear_end": 0.09 + } + } + } + } + ], + "which_losses": [ + "mse_loss" + ], + "which_metrics": [ + "mae" + ] + }, + "train": { + "n_epoch": 3000, + "n_iter": 100000000, + "val_epoch": 1000, + "save_checkpoint_epoch": 1000, + "log_iter": 10000, + "tensorboard": true + }, + "debug": { + "val_epoch": 1, + "save_checkpoint_epoch": 1, + "log_iter": 10, + "debug_split": 50 + } +} \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen2.json b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen2.json new file mode 100644 index 0000000000000000000000000000000000000000..66e518394e0c5a21d56fe3c5fcab1d64a8269a56 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen2.json @@ -0,0 +1,148 @@ +{ + "name": "nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen2", + "gpu_ids": [ + 0 + ], + "seed": -1, + "finetune_norm": false, + "path": { + "base_dir": "experiments", + "code": "code", + "tb_logger": "tb_logger", + "results": "results", + "checkpoint": "checkpoint", + "resume_state": "experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen2_230613_083636/checkpoint/3000" + }, + "datasets": { + "train": { + "which_dataset": { + "name": [ + "data.dataset", + "Sen2_MTC_New2" + ], + "args": { + "data_root": "../pmaa/data", + "mode": "train" + } + }, + "dataloader": { + "validation_split": 2, + "args": { + "batch_size": 8, + "num_workers": 8, + "shuffle": true, + "pin_memory": true, + "drop_last": true + }, + "val_args": { + "batch_size": 1, + "num_workers": 1, + "shuffle": false, + "pin_memory": true, + "drop_last": false + } + } + }, + "val": { + "which_dataset": { + "name": "Sen2_MTC_New2", + "args": { + "data_root": "../pmaa/data", + "mode": "val" + } + } + }, + "test": { + "which_dataset": { + "name": "Sen2_MTC_New2", + "args": { + "data_root": "../pmaa/data", + "mode": "test" + } + }, + "dataloader": { + "args": { + "batch_size": 1, + "num_workers": 1, + "pin_memory": true + } + } + } + }, + "model": { + "which_model": { + "name": [ + "models.model", + "Palette" + ], + "args": { + "sample_num": 8, + "task": "decloud", + "ema_scheduler": { + "ema_start": 1, + "ema_iter": 1, + "ema_decay": 0.9999 + }, + "optimizers": [ + { + "lr": 5e-05, + "weight_decay": 0 + } + ] + } + }, + "which_networks": [ + { + "name": [ + "models.network_noise_dpm_solver", + "Network" + ], + "args": { + "init_type": "kaiming", + "module_name": "nafnet_double_encoder_splitcaCond_splitcaUnet", + "unet": { + "img_channel": 3, + "width": 64, + "middle_blk_num": 1, + "enc_blk_nums": [1, 1, 1, 1], + "dec_blk_nums": [1, 1, 1, 1] + }, + "beta_schedule": { + "train": { + "schedule": "sigmoid", + "n_timestep": 2000, + "linear_start": 1e-06, + "linear_end": 0.01 + }, + "test": { + "schedule": "sigmoid", + "n_timestep": 1000, + "linear_start": 0.0001, + "linear_end": 0.09 + } + } + } + } + ], + "which_losses": [ + "mse_loss" + ], + "which_metrics": [ + "mae" + ] + }, + "train": { + "n_epoch": 3000, + "n_iter": 100000000, + "val_epoch": 1000, + "save_checkpoint_epoch": 1000, + "log_iter": 10000, + "tensorboard": true + }, + "debug": { + "val_epoch": 1, + "save_checkpoint_epoch": 1, + "log_iter": 10, + "debug_split": 50 + } +} \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3.json b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3.json new file mode 100644 index 0000000000000000000000000000000000000000..a1b52ac2a6f4a0d25f03ade3fdd827b0b789972a --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3.json @@ -0,0 +1,148 @@ +{ + "name": "nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3", + "gpu_ids": [ + 2 + ], + "seed": -1, + "finetune_norm": false, + "path": { + "base_dir": "experiments", + "code": "code", + "tb_logger": "tb_logger", + "results": "results", + "checkpoint": "checkpoint", + "resume_state": "experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_noisen3_230611_035949/checkpoint/3000" + }, + "datasets": { + "train": { + "which_dataset": { + "name": [ + "data.dataset", + "Sen2_MTC_New_Multi" + ], + "args": { + "data_root": "../pmaa/data", + "mode": "train" + } + }, + "dataloader": { + "validation_split": 2, + "args": { + "batch_size": 8, + "num_workers": 8, + "shuffle": true, + "pin_memory": true, + "drop_last": true + }, + "val_args": { + "batch_size": 1, + "num_workers": 1, + "shuffle": false, + "pin_memory": true, + "drop_last": false + } + } + }, + "val": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "../pmaa/data", + "mode": "val" + } + } + }, + "test": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "../pmaa/data", + "mode": "test" + } + }, + "dataloader": { + "args": { + "batch_size": 1, + "num_workers": 1, + "pin_memory": true + } + } + } + }, + "model": { + "which_model": { + "name": [ + "models.model", + "Palette" + ], + "args": { + "sample_num": 8, + "task": "decloud", + "ema_scheduler": { + "ema_start": 1, + "ema_iter": 1, + "ema_decay": 0.9999 + }, + "optimizers": [ + { + "lr": 5e-05, + "weight_decay": 0 + } + ] + } + }, + "which_networks": [ + { + "name": [ + "models.network_noise_dpm_solver", + "Network" + ], + "args": { + "init_type": "kaiming", + "module_name": "nafnet_double_encoder_splitcaCond_splitcaUnet", + "unet": { + "img_channel": 3, + "width": 64, + "middle_blk_num": 1, + "enc_blk_nums": [1, 1, 1, 1], + "dec_blk_nums": [1, 1, 1, 1] + }, + "beta_schedule": { + "train": { + "schedule": "sigmoid", + "n_timestep": 2000, + "linear_start": 1e-06, + "linear_end": 0.01 + }, + "test": { + "schedule": "sigmoid", + "n_timestep": 1000, + "linear_start": 0.0001, + "linear_end": 0.09 + } + } + } + } + ], + "which_losses": [ + "mse_loss" + ], + "which_metrics": [ + "mae" + ] + }, + "train": { + "n_epoch": 3000, + "n_iter": 100000000, + "val_epoch": 1000, + "save_checkpoint_epoch": 1000, + "log_iter": 10000, + "tensorboard": true + }, + "debug": { + "val_epoch": 1, + "save_checkpoint_epoch": 1, + "log_iter": 10, + "debug_split": 50 + } +} \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000.json b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000.json new file mode 100644 index 0000000000000000000000000000000000000000..e52f704b176d0f24d7b20bf071c369ba8b6a8efe --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000.json @@ -0,0 +1,148 @@ +{ + "name": "nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000", + "gpu_ids": [ + 0 + ], + "seed": -1, + "finetune_norm": false, + "path": { + "base_dir": "experiments", + "code": "code", + "tb_logger": "tb_logger", + "results": "results", + "checkpoint": "checkpoint", + "resume_state": null + }, + "datasets": { + "train": { + "which_dataset": { + "name": [ + "data.dataset", + "Sen2_MTC_Old_Multi" + ], + "args": { + "data_root": "../pmaa/data", + "mode": "train" + } + }, + "dataloader": { + "validation_split": 2, + "args": { + "batch_size": 8, + "num_workers": 8, + "shuffle": true, + "pin_memory": true, + "drop_last": true + }, + "val_args": { + "batch_size": 1, + "num_workers": 1, + "shuffle": false, + "pin_memory": true, + "drop_last": false + } + } + }, + "val": { + "which_dataset": { + "name": "Sen2_MTC_Old_Multi", + "args": { + "data_root": "../pmaa/data", + "mode": "val" + } + } + }, + "test": { + "which_dataset": { + "name": "Sen2_MTC_Old_Multi", + "args": { + "data_root": "../pmaa/data", + "mode": "test" + } + }, + "dataloader": { + "args": { + "batch_size": 1, + "num_workers": 1, + "pin_memory": true + } + } + } + }, + "model": { + "which_model": { + "name": [ + "models.model", + "Palette" + ], + "args": { + "sample_num": 8, + "task": "decloud", + "ema_scheduler": { + "ema_start": 1, + "ema_iter": 1, + "ema_decay": 0.9999 + }, + "optimizers": [ + { + "lr": 5e-05, + "weight_decay": 0 + } + ] + } + }, + "which_networks": [ + { + "name": [ + "models.network_x0_dpm_solver", + "Network" + ], + "args": { + "init_type": "kaiming", + "module_name": "nafnet_double_encoder_splitcaCond_splitcaUnet", + "unet": { + "img_channel": 3, + "width": 64, + "middle_blk_num": 1, + "enc_blk_nums": [1, 1, 1, 1], + "dec_blk_nums": [1, 1, 1, 1] + }, + "beta_schedule": { + "train": { + "schedule": "sigmoid", + "n_timestep": 2000, + "linear_start": 1e-06, + "linear_end": 0.01 + }, + "test": { + "schedule": "sigmoid", + "n_timestep": 1000, + "linear_start": 0.0001, + "linear_end": 0.09 + } + } + } + } + ], + "which_losses": [ + "mse_loss" + ], + "which_metrics": [ + "mae" + ] + }, + "train": { + "n_epoch": 5000, + "n_iter": 100000000, + "val_epoch": 500, + "save_checkpoint_epoch": 500, + "log_iter": 10000, + "tensorboard": true + }, + "debug": { + "val_epoch": 1, + "save_checkpoint_epoch": 1, + "log_iter": 10, + "debug_split": 50 + } +} \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/nafnet_double_encoder_splitcaUnet.json b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/nafnet_double_encoder_splitcaUnet.json new file mode 100644 index 0000000000000000000000000000000000000000..95f19e7e5c209caec6c4f89215c8537ea42fb0e6 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/nafnet_double_encoder_splitcaUnet.json @@ -0,0 +1,148 @@ +{ + "name": "nafnet_double_encoder_splitcaUnet", + "gpu_ids": [ + 3 + ], + "seed": -1, + "finetune_norm": false, + "path": { + "base_dir": "experiments", + "code": "code", + "tb_logger": "tb_logger", + "results": "results", + "checkpoint": "checkpoint", + "resume_state": "experiments/train_nafnet_double_encoder_splitcaUnet_230604_154955/checkpoint/3000" + }, + "datasets": { + "train": { + "which_dataset": { + "name": [ + "data.dataset", + "Sen2_MTC_New_Multi" + ], + "args": { + "data_root": "../pmaa/data", + "mode": "train" + } + }, + "dataloader": { + "validation_split": 2, + "args": { + "batch_size": 8, + "num_workers": 8, + "shuffle": true, + "pin_memory": true, + "drop_last": true + }, + "val_args": { + "batch_size": 1, + "num_workers": 1, + "shuffle": false, + "pin_memory": true, + "drop_last": false + } + } + }, + "val": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "../pmaa/data", + "mode": "val" + } + } + }, + "test": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "../pmaa/data", + "mode": "test" + } + }, + "dataloader": { + "args": { + "batch_size": 1, + "num_workers": 1, + "pin_memory": true + } + } + } + }, + "model": { + "which_model": { + "name": [ + "models.model", + "Palette" + ], + "args": { + "sample_num": 8, + "task": "decloud", + "ema_scheduler": { + "ema_start": 1, + "ema_iter": 1, + "ema_decay": 0.9999 + }, + "optimizers": [ + { + "lr": 5e-05, + "weight_decay": 0 + } + ] + } + }, + "which_networks": [ + { + "name": [ + "models.network_x0_dpm_solver", + "Network" + ], + "args": { + "init_type": "kaiming", + "module_name": "nafnet_double_encoder_splitcaUnet", + "unet": { + "img_channel": 3, + "width": 64, + "middle_blk_num": 1, + "enc_blk_nums": [1, 1, 1, 1], + "dec_blk_nums": [1, 1, 1, 1] + }, + "beta_schedule": { + "train": { + "schedule": "linear", + "n_timestep": 2000, + "linear_start": 1e-06, + "linear_end": 0.01 + }, + "test": { + "schedule": "linear", + "n_timestep": 1000, + "linear_start": 0.0001, + "linear_end": 0.09 + } + } + } + } + ], + "which_losses": [ + "mse_loss" + ], + "which_metrics": [ + "mae" + ] + }, + "train": { + "n_epoch": 3000, + "n_iter": 100000000, + "val_epoch": 1000, + "save_checkpoint_epoch": 1000, + "log_iter": 10000, + "tensorboard": true + }, + "debug": { + "val_epoch": 1, + "save_checkpoint_epoch": 1, + "log_iter": 10, + "debug_split": 50 + } +} \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/nafnet_sum_no_condskip_nodrop_noparams_splitca_double_encoder_decoder_noCondFFN_middle_fusion.json b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/nafnet_sum_no_condskip_nodrop_noparams_splitca_double_encoder_decoder_noCondFFN_middle_fusion.json new file mode 100644 index 0000000000000000000000000000000000000000..2928dfaf9d23b5f7e304ebfa0ce609ed2767de40 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/nafnet_sum_no_condskip_nodrop_noparams_splitca_double_encoder_decoder_noCondFFN_middle_fusion.json @@ -0,0 +1,148 @@ +{ + "name": "nafnet_sum_no_condskip_nodrop_noparams_splitca_double_encoder_decoder_noCondFFN_middle_fusion", + "gpu_ids": [ + 1 + ], + "seed": -1, + "finetune_norm": false, + "path": { + "base_dir": "experiments", + "code": "code", + "tb_logger": "tb_logger", + "results": "results", + "checkpoint": "checkpoint", + "resume_state": "experiments/train_nafnet_sum_no_condskip_nodrop_noparams_splitca_double_encoder_decoder_noCondFFN_middle_fusion_230531_025339/checkpoint/3000" + }, + "datasets": { + "train": { + "which_dataset": { + "name": [ + "data.dataset", + "Sen2_MTC_New_Multi" + ], + "args": { + "data_root": "../pmaa/data", + "mode": "train" + } + }, + "dataloader": { + "validation_split": 2, + "args": { + "batch_size": 8, + "num_workers": 8, + "shuffle": true, + "pin_memory": true, + "drop_last": true + }, + "val_args": { + "batch_size": 1, + "num_workers": 1, + "shuffle": false, + "pin_memory": true, + "drop_last": false + } + } + }, + "val": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "../pmaa/data", + "mode": "val" + } + } + }, + "test": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "../pmaa/data", + "mode": "test" + } + }, + "dataloader": { + "args": { + "batch_size": 1, + "num_workers": 1, + "pin_memory": true + } + } + } + }, + "model": { + "which_model": { + "name": [ + "models.model", + "Palette" + ], + "args": { + "sample_num": 8, + "task": "decloud", + "ema_scheduler": { + "ema_start": 1, + "ema_iter": 1, + "ema_decay": 0.9999 + }, + "optimizers": [ + { + "lr": 5e-05, + "weight_decay": 0 + } + ] + } + }, + "which_networks": [ + { + "name": [ + "models.network_x0_dpm_solver", + "Network" + ], + "args": { + "init_type": "kaiming", + "module_name": "nafnet_sum_no_condskip_nodrop_noparams_splitca_double_encoder_decoder_noCondFFN_middle_fusion", + "unet": { + "img_channel": 3, + "width": 64, + "middle_blk_num": 1, + "enc_blk_nums": [1, 1, 1, 1], + "dec_blk_nums": [1, 1, 1, 1] + }, + "beta_schedule": { + "train": { + "schedule": "linear", + "n_timestep": 2000, + "linear_start": 1e-06, + "linear_end": 0.01 + }, + "test": { + "schedule": "linear", + "n_timestep": 1000, + "linear_start": 0.0001, + "linear_end": 0.09 + } + } + } + } + ], + "which_losses": [ + "mse_loss" + ], + "which_metrics": [ + "mae" + ] + }, + "train": { + "n_epoch": 3000, + "n_iter": 100000000, + "val_epoch": 1000, + "save_checkpoint_epoch": 1000, + "log_iter": 10000, + "tensorboard": true + }, + "debug": { + "val_epoch": 1, + "save_checkpoint_epoch": 1, + "log_iter": 10, + "debug_split": 50 + } +} \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/ours_4bs1_multi_x0.json b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/ours_4bs1_multi_x0.json new file mode 100644 index 0000000000000000000000000000000000000000..6c99194078332f6f95bb118d12a701a84401d6a0 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/ours_4bs1_multi_x0.json @@ -0,0 +1,145 @@ +{ + "name": "ours_multi_4bs1_x0", // experiments name + "gpu_ids": [0, 1, 2, 3], // gpu ids list, default is single 0 + "seed" : -1, // random seed, seed <0 represents randomization not used + "finetune_norm": false, // find the parameters to optimize + + "path": { //set every part file path + "base_dir": "experiments", // base path for all log except resume_state + "code": "code", // code backup + "tb_logger": "tb_logger", // path of tensorboard logger + "results": "results", + "checkpoint": "checkpoint", + // "resume_state": "experiments/inpainting_places2_220413_143231/checkpoint/25" + "resume_state": null // ex: 100, loading .state and .pth from given epoch and iteration + }, + + "datasets": { // train or test + "train": { + "which_dataset": { // import designated dataset using arguments + "name": ["data.dataset", "Sen2_MTC_New_Multi"], // import Dataset() class / function(not recommend) from data.dataset.py (default is [data.dataset.py]) + "args":{ // arguments to initialize dataset + "data_root": "../pmaa/data", + "mode": "train" + } + }, + "dataloader":{ + "validation_split": 2, // percent or number ## 這裡沒有生效(因為我們自己的數據集有專門劃分的驗證集) + "args":{ // arguments to initialize train_dataloader + "batch_size": 1, // batch size in each gpu + "num_workers": 1, + "shuffle": true, + "pin_memory": true, + "drop_last": true + }, + "val_args":{ // arguments to initialize valid_dataloader, will overwrite the parameters in train_dataloader + "batch_size": 1, // batch size in each gpu + "num_workers": 4, + "shuffle": false, + "pin_memory": true, + "drop_last": false + } + } + }, + "val": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", // import Dataset() class / function(not recommend) from default file + "args":{ + "data_root": "../pmaa/data", + "mode": "val" + } + } + }, + "test": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", // import Dataset() class / function(not recommend) from default file + "args":{ + "data_root": "../pmaa/data", + "mode": "test" + } + }, + "dataloader":{ + "args":{ + "batch_size": 8, + "num_workers": 8, + "pin_memory": true + } + } + } + }, + + "model": { // networks/metrics/losses/optimizers/lr_schedulers is a list and model is a dict + "which_model": { // import designated model(trainer) using arguments + "name": ["models.model", "Palette"], // import Model() class / function(not recommend) from models.model.py (default is [models.model.py]) + "args": { + "sample_num": 8, // process of each image + "task": "decloud", + "ema_scheduler": { + "ema_start": 1, + "ema_iter": 1, + "ema_decay": 0.9999 + }, + "optimizers": [ + { "lr": 5e-5, "weight_decay": 0} + ] + } + }, + "which_networks": [ // import designated list of networks using arguments + { + "name": ["models.network_x0", "Network"], // import Network() class / function(not recommend) from default file (default is [models/network.py]) + "args": { // arguments to initialize network + "init_type": "kaiming", // method can be [normal | xavier| xavier_uniform | kaiming | orthogonal], default is kaiming + "module_name": "ours", // sr3 | guided_diffusion | ours + "unet": { + "inp_channels": 12, + "out_channels": 3, + "encoder_dims": [64, 128, 256, 512], + "decoder_dims": [512, 256, 128, 64], + "encoder_blocks": [1, 1, 1, 1], + "decoder_blocks": [1, 1, 1, 1], + "drop_path_rate": 0.1, + "norm_type": "ln", + "act_type": "silu" + }, + "beta_schedule": { + "train": { + "schedule": "linear", + "n_timestep": 2000, + // "n_timestep": 5, // debug + "linear_start": 1e-6, + "linear_end": 0.01 + }, + "test": { + "schedule": "linear", + "n_timestep": 1000, + "linear_start": 1e-4, + "linear_end": 0.09 + } + } + } + } + ], + "which_losses": [ // import designated list of losses without arguments + "mse_loss" // import mse_loss() function/class from default file (default is [models/losses.py]), equivalent to { "name": "mse_loss", "args":{}} + ], + "which_metrics": [ // import designated list of metrics without arguments + "mae" // import mae() function/class from default file (default is [models/metrics.py]), equivalent to { "name": "mae", "args":{}} + ] + }, + + "train": { // arguments for basic training + "n_epoch": 1e8, // max epochs, not limited now + "n_iter": 1e8, // max interations + "val_epoch": 5, // valdation every specified number of epochs + "save_checkpoint_epoch": 100, + "log_iter": 1e4, // log every specified number of iterations + "tensorboard" : true // tensorboardX enable + }, + + "debug": { // arguments in debug mode, which will replace arguments in train + "val_epoch": 1, + "save_checkpoint_epoch": 1, + "log_iter": 10, + "debug_split": 50 // percent or number, change the size of dataloder to debug_split. + } +} diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/ours_down4_ca_4bs2_multi_x0.json b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/ours_down4_ca_4bs2_multi_x0.json new file mode 100644 index 0000000000000000000000000000000000000000..f6293c6e9ac1cbc8a97c8ac8b13f904340330d53 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/ours_down4_ca_4bs2_multi_x0.json @@ -0,0 +1,145 @@ +{ + "name": "ours_down4_ca_4bs2_multi_x0", // experiments name + "gpu_ids": [0, 1, 2, 3], // gpu ids list, default is single 0 + "seed" : -1, // random seed, seed <0 represents randomization not used + "finetune_norm": false, // find the parameters to optimize + + "path": { //set every part file path + "base_dir": "experiments", // base path for all log except resume_state + "code": "code", // code backup + "tb_logger": "tb_logger", // path of tensorboard logger + "results": "results", + "checkpoint": "checkpoint", + // "resume_state": "experiments/inpainting_places2_220413_143231/checkpoint/25" + "resume_state": null // ex: 100, loading .state and .pth from given epoch and iteration + }, + + "datasets": { // train or test + "train": { + "which_dataset": { // import designated dataset using arguments + "name": ["data.dataset", "Sen2_MTC_New_Multi"], // import Dataset() class / function(not recommend) from data.dataset.py (default is [data.dataset.py]) + "args":{ // arguments to initialize dataset + "data_root": "../pmaa/data", + "mode": "train" + } + }, + "dataloader":{ + "validation_split": 2, // percent or number ## 這裡沒有生效(因為我們自己的數據集有專門劃分的驗證集) + "args":{ // arguments to initialize train_dataloader + "batch_size": 2, // batch size in each gpu + "num_workers": 4, + "shuffle": true, + "pin_memory": true, + "drop_last": true + }, + "val_args":{ // arguments to initialize valid_dataloader, will overwrite the parameters in train_dataloader + "batch_size": 1, // batch size in each gpu + "num_workers": 4, + "shuffle": false, + "pin_memory": true, + "drop_last": false + } + } + }, + "val": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", // import Dataset() class / function(not recommend) from default file + "args":{ + "data_root": "../pmaa/data", + "mode": "val" + } + } + }, + "test": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", // import Dataset() class / function(not recommend) from default file + "args":{ + "data_root": "../pmaa/data", + "mode": "test" + } + }, + "dataloader":{ + "args":{ + "batch_size": 8, + "num_workers": 8, + "pin_memory": true + } + } + } + }, + + "model": { // networks/metrics/losses/optimizers/lr_schedulers is a list and model is a dict + "which_model": { // import designated model(trainer) using arguments + "name": ["models.model", "Palette"], // import Model() class / function(not recommend) from models.model.py (default is [models.model.py]) + "args": { + "sample_num": 8, // process of each image + "task": "decloud", + "ema_scheduler": { + "ema_start": 1, + "ema_iter": 1, + "ema_decay": 0.9999 + }, + "optimizers": [ + { "lr": 5e-5, "weight_decay": 0} + ] + } + }, + "which_networks": [ // import designated list of networks using arguments + { + "name": ["models.network_x0_dpm_solver", "Network"], // import Network() class / function(not recommend) from default file (default is [models/network.py]) + "args": { // arguments to initialize network + "init_type": "kaiming", // method can be [normal | xavier| xavier_uniform | kaiming | orthogonal], default is kaiming + "module_name": "ours_down4_ca", // sr3 | guided_diffusion | ours | ours_down4_ca + "unet": { + "inp_channels": 12, + "out_channels": 3, + "encoder_dims": [64, 128, 256, 512, 1024], + "decoder_dims": [1024, 512, 256, 128, 64], + "encoder_blocks": [1, 1, 1, 1, 1], + "decoder_blocks": [1, 1, 1, 1, 1], + "drop_path_rate": 0.1, + "norm_type": "ln", + "act_type": "silu" + }, + "beta_schedule": { + "train": { + "schedule": "linear", + "n_timestep": 2000, + // "n_timestep": 5, // debug + "linear_start": 1e-6, + "linear_end": 0.01 + }, + "test": { + "schedule": "linear", + "n_timestep": 1000, + "linear_start": 1e-4, + "linear_end": 0.09 + } + } + } + } + ], + "which_losses": [ // import designated list of losses without arguments + "mse_loss" // import mse_loss() function/class from default file (default is [models/losses.py]), equivalent to { "name": "mse_loss", "args":{}} + ], + "which_metrics": [ // import designated list of metrics without arguments + "mae" // import mae() function/class from default file (default is [models/metrics.py]), equivalent to { "name": "mae", "args":{}} + ] + }, + + "train": { // arguments for basic training + "n_epoch": 5000, // max epochs, not limited now + "n_iter": 1e8, // max interations + "val_epoch": 100, // valdation every specified number of epochs + "save_checkpoint_epoch": 500, + "log_iter": 1e4, // log every specified number of iterations + "tensorboard" : false // tensorboardX enable + }, + + "debug": { // arguments in debug mode, which will replace arguments in train + "val_epoch": 50, + "save_checkpoint_epoch": 500, + "log_iter": 10, + "debug_split": 50 // percent or number, change the size of dataloder to debug_split. + } +} diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/ours_multi_x0.json b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/ours_multi_x0.json new file mode 100644 index 0000000000000000000000000000000000000000..88605080c08445b9d0ad593c3df0ac0a0793a769 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/ours_multi_x0.json @@ -0,0 +1,182 @@ +{ + "name": "palette_multi_bs_4_tanh_x0", // experiments name +<<<<<<< HEAD + "gpu_ids": [0, 1, 2, 3], // gpu ids list, default is single 0 +======= + "gpu_ids": [2], // gpu ids list, default is single 0 +>>>>>>> a13ebef0541ec6fe26f52d5598a109d848a51b9c + "seed" : -1, // random seed, seed <0 represents randomization not used + "finetune_norm": false, // find the parameters to optimize + + "path": { //set every part file path + "base_dir": "experiments", // base path for all log except resume_state + "code": "code", // code backup + "tb_logger": "tb_logger", // path of tensorboard logger + "results": "results", + "checkpoint": "checkpoint", + // "resume_state": "experiments/inpainting_places2_220413_143231/checkpoint/25" +<<<<<<< HEAD + "resume_state": "experiments/train_palette_multi_bs_4_tanh_x0_230402_080308/checkpoint/1520" // ex: 100, loading .state and .pth from given epoch and iteration +======= + "resume_state": null // ex: 100, loading .state and .pth from given epoch and iteration +>>>>>>> a13ebef0541ec6fe26f52d5598a109d848a51b9c + }, + + "datasets": { // train or test + "train": { + "which_dataset": { // import designated dataset using arguments + "name": ["data.dataset", "Sen2_MTC_New_Multi"], // import Dataset() class / function(not recommend) from data.dataset.py (default is [data.dataset.py]) + "args":{ // arguments to initialize dataset +<<<<<<< HEAD + "data_root": "../pmaa/data", +======= + "data_root": "datasets", +>>>>>>> a13ebef0541ec6fe26f52d5598a109d848a51b9c + "mode": "train" + } + }, + "dataloader":{ + "validation_split": 2, // percent or number ## 這裡沒有生效(因為我們自己的數據集有專門劃分的驗證集) + "args":{ // arguments to initialize train_dataloader +<<<<<<< HEAD + "batch_size": 8, // batch size in each gpu + "num_workers": 8, +======= + "batch_size": 4, // batch size in each gpu + "num_workers": 4, +>>>>>>> a13ebef0541ec6fe26f52d5598a109d848a51b9c + "shuffle": true, + "pin_memory": true, + "drop_last": true + }, + "val_args":{ // arguments to initialize valid_dataloader, will overwrite the parameters in train_dataloader + "batch_size": 1, // batch size in each gpu + "num_workers": 4, + "shuffle": false, + "pin_memory": true, + "drop_last": false + } + } + }, + "val": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", // import Dataset() class / function(not recommend) from default file + "args":{ +<<<<<<< HEAD + "data_root": "../pmaa/data", +======= + "data_root": "datasets", +>>>>>>> a13ebef0541ec6fe26f52d5598a109d848a51b9c + "mode": "val" + } + } + }, + "test": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", // import Dataset() class / function(not recommend) from default file + "args":{ +<<<<<<< HEAD + "data_root": "../pmaa/data", +======= + "data_root": "datasets", +>>>>>>> a13ebef0541ec6fe26f52d5598a109d848a51b9c + "mode": "test" + } + }, + "dataloader":{ + "args":{ + "batch_size": 8, +<<<<<<< HEAD + "num_workers": 8, +======= + "num_workers": 4, +>>>>>>> a13ebef0541ec6fe26f52d5598a109d848a51b9c + "pin_memory": true + } + } + } + }, + + "model": { // networks/metrics/losses/optimizers/lr_schedulers is a list and model is a dict + "which_model": { // import designated model(trainer) using arguments + "name": ["models.model", "Palette"], // import Model() class / function(not recommend) from models.model.py (default is [models.model.py]) + "args": { + "sample_num": 8, // process of each image + "task": "decloud", + "ema_scheduler": { + "ema_start": 1, + "ema_iter": 1, + "ema_decay": 0.9999 + }, + "optimizers": [ +<<<<<<< HEAD + { "lr": 0.0002, "weight_decay": 0} +======= + { "lr": 5e-5, "weight_decay": 0} +>>>>>>> a13ebef0541ec6fe26f52d5598a109d848a51b9c + ] + } + }, + "which_networks": [ // import designated list of networks using arguments + { + "name": ["models.network_x0", "Network"], // import Network() class / function(not recommend) from default file (default is [models/network.py]) + "args": { // arguments to initialize network + "init_type": "kaiming", // method can be [normal | xavier| xavier_uniform | kaiming | orthogonal], default is kaiming + "module_name": "ours", // sr3 | guided_diffusion | ours + "unet": { + "inp_channels": 12, + "out_channels": 3, + "encoder_dims": [64, 128, 256, 512], + "decoder_dims": [512, 256, 128, 64], + "encoder_blocks": [1, 1, 1, 1], + "decoder_blocks": [1, 1, 1, 1], + "drop_path_rate": 0.1, + "norm_type": "ln", + "act_type": "silu" + }, + "beta_schedule": { + "train": { + "schedule": "linear", + "n_timestep": 2000, + // "n_timestep": 5, // debug + "linear_start": 1e-6, + "linear_end": 0.01 + }, + "test": { + "schedule": "linear", + "n_timestep": 1000, + "linear_start": 1e-4, + "linear_end": 0.09 + } + } + } + } + ], + "which_losses": [ // import designated list of losses without arguments + "mse_loss" // import mse_loss() function/class from default file (default is [models/losses.py]), equivalent to { "name": "mse_loss", "args":{}} + ], + "which_metrics": [ // import designated list of metrics without arguments + "mae" // import mae() function/class from default file (default is [models/metrics.py]), equivalent to { "name": "mae", "args":{}} + ] + }, + + "train": { // arguments for basic training + "n_epoch": 1e8, // max epochs, not limited now + "n_iter": 1e8, // max interations + "val_epoch": 5, // valdation every specified number of epochs +<<<<<<< HEAD + "save_checkpoint_epoch": 100, +======= + "save_checkpoint_epoch": 10, +>>>>>>> a13ebef0541ec6fe26f52d5598a109d848a51b9c + "log_iter": 1e4, // log every specified number of iterations + "tensorboard" : true // tensorboardX enable + }, + + "debug": { // arguments in debug mode, which will replace arguments in train + "val_epoch": 1, + "save_checkpoint_epoch": 1, + "log_iter": 10, + "debug_split": 50 // percent or number, change the size of dataloder to debug_split. + } +} diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/palette_1xb8_e5000_dpms_s20_no_noise.json b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/palette_1xb8_e5000_dpms_s20_no_noise.json new file mode 100644 index 0000000000000000000000000000000000000000..3dc2cda283dbf41ed158f12428c85cbafd56e863 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/palette_1xb8_e5000_dpms_s20_no_noise.json @@ -0,0 +1,159 @@ +{ + "name": "palette_1xb8_e5000_dpms_s20_no_noise", + "gpu_ids": [ + 0 + ], + "seed": -1, + "finetune_norm": false, + "path": { + "base_dir": "experiments", + "code": "code", + "tb_logger": "tb_logger", + "results": "results", + "checkpoint": "checkpoint", + "resume_state": null + }, + "datasets": { + "train": { + "which_dataset": { + "name": [ + "data.dataset", + "Sen2_MTC_New_Multi" + ], + "args": { + "data_root": "datasets", + "mode": "train" + } + }, + "dataloader": { + "validation_split": 2, + "args": { + "batch_size": 8, + "num_workers": 8, + "shuffle": true, + "pin_memory": true, + "drop_last": true + }, + "val_args": { + "batch_size": 1, + "num_workers": 8, + "shuffle": false, + "pin_memory": true, + "drop_last": false + } + } + }, + "val": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "datasets", + "mode": "val" + } + } + }, + "test": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "datasets", + "mode": "test" + } + }, + "dataloader": { + "args": { + "batch_size": 8, + "num_workers": 8, + "pin_memory": true + } + } + } + }, + "model": { + "which_model": { + "name": [ + "models.model", + "Palette" + ], + "args": { + "sample_num": 8, + "task": "decloud", + "ema_scheduler": { + "ema_start": 1, + "ema_iter": 1, + "ema_decay": 0.9999 + }, + "optimizers": [ + { + "lr": 5e-05, + "weight_decay": 0 + } + ] + } + }, + "which_networks": [ + { + "name": [ + "models.network_x0_dpm_solver_no_noise", + "Network" + ], + "args": { + "init_type": "kaiming", + "module_name": "tanh", + "unet": { + "in_channel": 9, + "out_channel": 3, + "inner_channel": 64, + "channel_mults": [ + 1, + 2, + 4, + 8 + ], + "attn_res": [ + 16 + ], + "num_head_channels": 32, + "res_blocks": 2, + "dropout": 0.2, + "image_size": 256 + }, + "beta_schedule": { + "train": { + "schedule": "linear", + "n_timestep": 2000, + "linear_start": 1e-06, + "linear_end": 0.01 + }, + "test": { + "schedule": "linear", + "n_timestep": 1000, + "linear_start": 0.0001, + "linear_end": 0.09 + } + } + } + } + ], + "which_losses": [ + "mse_loss" + ], + "which_metrics": [ + "mae" + ] + }, + "train": { + "n_epoch": 5000, + "n_iter": 100000000, + "val_epoch": 10, + "save_checkpoint_epoch": 10, + "log_iter": 10000, + "tensorboard": false + }, + "debug": { + "val_epoch": 1, + "save_checkpoint_epoch": 1, + "log_iter": 10, + "debug_split": 50 + } +} \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/palette_1xb8_e5000_dpms_s20_y_t-1.json b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/palette_1xb8_e5000_dpms_s20_y_t-1.json new file mode 100644 index 0000000000000000000000000000000000000000..359ad1c5099c51ff4d56624d6df8d3532eff2169 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/palette_1xb8_e5000_dpms_s20_y_t-1.json @@ -0,0 +1,159 @@ +{ + "name": "palette_1xb8_e5000_dpms_s20_y_t-1", + "gpu_ids": [ + 0 + ], + "seed": -1, + "finetune_norm": false, + "path": { + "base_dir": "experiments", + "code": "code", + "tb_logger": "tb_logger", + "results": "results", + "checkpoint": "checkpoint", + "resume_state": null + }, + "datasets": { + "train": { + "which_dataset": { + "name": [ + "data.dataset", + "Sen2_MTC_New_Multi" + ], + "args": { + "data_root": "datasets", + "mode": "train" + } + }, + "dataloader": { + "validation_split": 2, + "args": { + "batch_size": 8, + "num_workers": 8, + "shuffle": true, + "pin_memory": true, + "drop_last": true + }, + "val_args": { + "batch_size": 1, + "num_workers": 8, + "shuffle": false, + "pin_memory": true, + "drop_last": false + } + } + }, + "val": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "datasets", + "mode": "val" + } + } + }, + "test": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", + "args": { + "data_root": "datasets", + "mode": "test" + } + }, + "dataloader": { + "args": { + "batch_size": 8, + "num_workers": 8, + "pin_memory": true + } + } + } + }, + "model": { + "which_model": { + "name": [ + "models.model", + "Palette" + ], + "args": { + "sample_num": 8, + "task": "decloud", + "ema_scheduler": { + "ema_start": 1, + "ema_iter": 1, + "ema_decay": 0.9999 + }, + "optimizers": [ + { + "lr": 5e-05, + "weight_decay": 0 + } + ] + } + }, + "which_networks": [ + { + "name": [ + "models.network_x0_dpm_solver_y_t-1", + "Network" + ], + "args": { + "init_type": "kaiming", + "module_name": "tanh", + "unet": { + "in_channel": 12, + "out_channel": 3, + "inner_channel": 64, + "channel_mults": [ + 1, + 2, + 4, + 8 + ], + "attn_res": [ + 16 + ], + "num_head_channels": 32, + "res_blocks": 2, + "dropout": 0.2, + "image_size": 256 + }, + "beta_schedule": { + "train": { + "schedule": "linear", + "n_timestep": 2000, + "linear_start": 1e-06, + "linear_end": 0.01 + }, + "test": { + "schedule": "linear", + "n_timestep": 1000, + "linear_start": 0.0001, + "linear_end": 0.09 + } + } + } + } + ], + "which_losses": [ + "mse_loss" + ], + "which_metrics": [ + "mae" + ] + }, + "train": { + "n_epoch": 5000, + "n_iter": 100000000, + "val_epoch": 10, + "save_checkpoint_epoch": 10, + "log_iter": 10000, + "tensorboard": true + }, + "debug": { + "val_epoch": 1, + "save_checkpoint_epoch": 1, + "log_iter": 10, + "debug_split": 50 + } +} \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/palette_4bs2_multi_old_x0.json b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/palette_4bs2_multi_old_x0.json new file mode 100644 index 0000000000000000000000000000000000000000..73db532bb843a83045a45cf4780d7da12db1ce9b --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/config/palette_4bs2_multi_old_x0.json @@ -0,0 +1,145 @@ +{ + "name": "palette_4bs2_multi_old_x0", // experiments name + "gpu_ids": [0, 1, 2, 3], // gpu ids list, default is single 0 + "seed" : -1, // random seed, seed <0 represents randomization not used + "finetune_norm": false, // find the parameters to optimize + + "path": { //set every part file path + "base_dir": "experiments", // base path for all log except resume_state + "code": "code", // code backup + "tb_logger": "tb_logger", // path of tensorboard logger + "results": "results", + "checkpoint": "checkpoint", + // "resume_state": "experiments/inpainting_places2_220413_143231/checkpoint/25" + "resume_state": null // ex: 100, loading .state and .pth from given epoch and iteration + }, + + "datasets": { // train or test + "train": { + "which_dataset": { // import designated dataset using arguments + "name": ["data.dataset", "Sen2_MTC_Old_Multi"], // import Dataset() class / function(not recommend) from data.dataset.py (default is [data.dataset.py]) + "args":{ // arguments to initialize dataset + "data_root": "../pmaa/data", + "mode": "train" + } + }, + "dataloader":{ + "validation_split": 2, // percent or number ## 這裡沒有生效(因為我們自己的數據集有專門劃分的驗證集) + "args":{ // arguments to initialize train_dataloader + "batch_size": 2, // batch size in each gpu + "num_workers": 4, + "shuffle": true, + "pin_memory": true, + "drop_last": true + }, + "val_args":{ // arguments to initialize valid_dataloader, will overwrite the parameters in train_dataloader + "batch_size": 1, // batch size in each gpu + "num_workers": 4, + "shuffle": false, + "pin_memory": true, + "drop_last": false + } + } + }, + "val": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", // import Dataset() class / function(not recommend) from default file + "args":{ + "data_root": "../pmaa/data", + "mode": "val" + } + } + }, + "test": { + "which_dataset": { + "name": "Sen2_MTC_New_Multi", // import Dataset() class / function(not recommend) from default file + "args":{ + "data_root": "../pmaa/data", + "mode": "test" + } + }, + "dataloader":{ + "args":{ + "batch_size": 8, + "num_workers": 8, + "pin_memory": true + } + } + } + }, + + "model": { // networks/metrics/losses/optimizers/lr_schedulers is a list and model is a dict + "which_model": { // import designated model(trainer) using arguments + "name": ["models.model", "Palette"], // import Model() class / function(not recommend) from models.model.py (default is [models.model.py]) + "args": { + "sample_num": 8, // process of each image + "task": "decloud", + "ema_scheduler": { + "ema_start": 1, + "ema_iter": 1, + "ema_decay": 0.9999 + }, + "optimizers": [ + { "lr": 5e-5, "weight_decay": 0} + ] + } + }, + "which_networks": [ // import designated list of networks using arguments + { + "name": ["models.network_x0_dpm_solver", "Network"], // import Network() class / function(not recommend) from default file (default is [models/network.py]) + "args": { // arguments to initialize network + "init_type": "kaiming", // method can be [normal | xavier| xavier_uniform | kaiming | orthogonal], default is kaiming + "module_name": "ours_down4_ca", // sr3 | guided_diffusion | ours | ours_down4_ca + "unet": { + "inp_channels": 12, + "out_channels": 3, + "encoder_dims": [64, 128, 256, 512, 1024], + "decoder_dims": [1024, 512, 256, 128, 64], + "encoder_blocks": [1, 1, 1, 1, 1], + "decoder_blocks": [1, 1, 1, 1, 1], + "drop_path_rate": 0.1, + "norm_type": "ln", + "act_type": "silu" + }, + "beta_schedule": { + "train": { + "schedule": "linear", + "n_timestep": 2000, + // "n_timestep": 5, // debug + "linear_start": 1e-6, + "linear_end": 0.01 + }, + "test": { + "schedule": "linear", + "n_timestep": 1000, + "linear_start": 1e-4, + "linear_end": 0.09 + } + } + } + } + ], + "which_losses": [ // import designated list of losses without arguments + "mse_loss" // import mse_loss() function/class from default file (default is [models/losses.py]), equivalent to { "name": "mse_loss", "args":{}} + ], + "which_metrics": [ // import designated list of metrics without arguments + "mae" // import mae() function/class from default file (default is [models/metrics.py]), equivalent to { "name": "mae", "args":{}} + ] + }, + + "train": { // arguments for basic training + "n_epoch": 5000, // max epochs, not limited now + "n_iter": 1e8, // max interations + "val_epoch": 100, // valdation every specified number of epochs + "save_checkpoint_epoch": 500, + "log_iter": 1e4, // log every specified number of iterations + "tensorboard" : false // tensorboardX enable + }, + + "debug": { // arguments in debug mode, which will replace arguments in train + "val_epoch": 50, + "save_checkpoint_epoch": 500, + "log_iter": 10, + "debug_split": 50 // percent or number, change the size of dataloder to debug_split. + } +} diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/core/base_dataset.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/core/base_dataset.py new file mode 100644 index 0000000000000000000000000000000000000000..b0e6a296c865e65e1887bea73304fc328935c617 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/core/base_dataset.py @@ -0,0 +1,48 @@ +import torch.utils.data as data +from torchvision import transforms +from PIL import Image +import os +import numpy as np + +IMG_EXTENSIONS = [ + '.jpg', '.JPG', '.jpeg', '.JPEG', + '.png', '.PNG', '.ppm', '.PPM', '.bmp', '.BMP', +] + +def is_image_file(filename): + return any(filename.endswith(extension) for extension in IMG_EXTENSIONS) + +def make_dataset(dir): + if os.path.isfile(dir): + images = [i for i in np.genfromtxt(dir, dtype=np.str, encoding='utf-8')] + else: + images = [] + assert os.path.isdir(dir), '%s is not a valid directory' % dir + for root, _, fnames in sorted(os.walk(dir)): + for fname in sorted(fnames): + if is_image_file(fname): + path = os.path.join(root, fname) + images.append(path) + + return images + +def pil_loader(path): + return Image.open(path).convert('RGB') + +class BaseDataset(data.Dataset): + def __init__(self, data_root, image_size=[256, 256], loader=pil_loader): + self.imgs = make_dataset(data_root) + self.tfs = transforms.Compose([ + transforms.Resize((image_size[0], image_size[1])), + transforms.ToTensor(), + transforms.Normalize((0.4914, 0.4822, 0.4465), (0.2023, 0.1994, 0.2010)) + ]) + self.loader = loader + + def __getitem__(self, index): + path = self.imgs[index] + img = self.tfs(self.loader(path)) + return img + + def __len__(self): + return len(self.imgs) diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/core/base_model.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/core/base_model.py new file mode 100644 index 0000000000000000000000000000000000000000..bf504e7d7d4dd587e9d8c93b7794846644cc740e --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/core/base_model.py @@ -0,0 +1,171 @@ +import os +from abc import abstractmethod +from functools import partial +import collections + +import torch +import torch.nn as nn + + +import core.util as Util +CustomResult = collections.namedtuple('CustomResult', 'name result') + +class BaseModel(): + def __init__(self, opt, phase_loader, val_loader, metrics, logger, writer): + """ init model with basic input, which are from __init__(**kwargs) function in inherited class """ + self.opt = opt + self.phase = opt['phase'] + self.set_device = partial(Util.set_device, rank=opt['global_rank']) + + ''' optimizers and schedulers ''' + self.schedulers = [] + self.optimizers = [] + + ''' process record ''' + self.batch_size = self.opt['datasets'][self.phase]['dataloader']['args']['batch_size'] + self.epoch = 0 + self.iter = 0 + + self.phase_loader = phase_loader + self.val_loader = val_loader + self.metrics = metrics + + ''' logger to log file, which only work on GPU 0. writer to tensorboard and result file ''' + self.logger = logger + self.writer = writer + self.results_dict = CustomResult([],[]) # {"name":[], "result":[]} + + def train(self): + while self.epoch <= self.opt['train']['n_epoch'] and self.iter <= self.opt['train']['n_iter']: + self.epoch += 1 + if self.opt['distributed']: + ''' sets the epoch for this sampler. When :attr:`shuffle=True`, this ensures all replicas use a different random ordering for each epoch ''' + self.phase_loader.sampler.set_epoch(self.epoch) + + train_log = self.train_step() + + ''' save logged informations into log dict ''' + train_log.update({'epoch': self.epoch, 'iters': self.iter}) + + ''' print logged informations to the screen and tensorboard ''' + for key, value in train_log.items(): + self.logger.info('{:5s}: {}\t'.format(str(key), value)) + + if self.epoch % self.opt['train']['save_checkpoint_epoch'] == 0: + self.logger.info('Saving the self at the end of epoch {:.0f}'.format(self.epoch)) + self.save_everything() + + if self.epoch % self.opt['train']['val_epoch'] == 0: + self.logger.info("\n\n\n------------------------------Validation Start------------------------------") + if self.val_loader is None: + self.logger.warning('Validation stop where dataloader is None, Skip it.') + else: + val_log = self.val_step() + for key, value in val_log.items(): + self.logger.info('{:5s}: {}\t'.format(str(key), value)) + self.logger.info("\n------------------------------Validation End------------------------------\n\n") + self.logger.info('Number of Epochs has reached the limit, End.') + + def test(self): + pass + + @abstractmethod + def train_step(self): + raise NotImplementedError('You must specify how to train your networks.') + + @abstractmethod + def val_step(self): + raise NotImplementedError('You must specify how to do validation on your networks.') + + def test_step(self): + pass + + def print_network(self, network): + """ print network structure, only work on GPU 0 """ + if self.opt['global_rank'] !=0: + return + if isinstance(network, nn.DataParallel) or isinstance(network, nn.parallel.DistributedDataParallel): + network = network.module + + s, n = str(network), sum(map(lambda x: x.numel(), network.parameters())) + net_struc_str = '{}'.format(network.__class__.__name__) + self.logger.info('Network structure: {}, with parameters: {:,d}'.format(net_struc_str, n)) + self.logger.info(s) + + def save_network(self, network, network_label): + """ save network structure, only work on GPU 0 """ + if self.opt['global_rank'] !=0: + return + save_filename = '{}_{}.pth'.format(self.epoch, network_label) + save_path = os.path.join(self.opt['path']['checkpoint'], save_filename) + if isinstance(network, nn.DataParallel) or isinstance(network, nn.parallel.DistributedDataParallel): + network = network.module + state_dict = network.state_dict() + for key, param in state_dict.items(): + state_dict[key] = param.cpu() + torch.save(state_dict, save_path) + + def load_network(self, network, network_label, strict=True): + if self.opt['path']['resume_state'] is None: + return + self.logger.info('Beign loading pretrained model [{:s}] ...'.format(network_label)) + + model_path = "{}_{}.pth".format(self.opt['path']['resume_state'], network_label) + + if not os.path.exists(model_path): + self.logger.warning('Pretrained model in [{:s}] is not existed, Skip it'.format(model_path)) + return + + self.logger.info('Loading pretrained model from [{:s}] ...'.format(model_path)) + if isinstance(network, nn.DataParallel) or isinstance(network, nn.parallel.DistributedDataParallel): + network = network.module + network.load_state_dict(torch.load(model_path, map_location = lambda storage, loc: Util.set_device(storage)), strict=strict) + + def save_training_state(self): + """ saves training state during training, only work on GPU 0 """ + if self.opt['global_rank'] !=0: + return + assert isinstance(self.optimizers, list) and isinstance(self.schedulers, list), 'optimizers and schedulers must be a list.' + state = {'epoch': self.epoch, 'iter': self.iter, 'schedulers': [], 'optimizers': []} + for s in self.schedulers: + state['schedulers'].append(s.state_dict()) + for o in self.optimizers: + state['optimizers'].append(o.state_dict()) + save_filename = '{}.state'.format(self.epoch) + save_path = os.path.join(self.opt['path']['checkpoint'], save_filename) + torch.save(state, save_path) + + def resume_training(self): + """ resume the optimizers and schedulers for training, only work when phase is test or resume training enable """ + if self.phase!='train' or self. opt['path']['resume_state'] is None: + return + self.logger.info('Beign loading training states'.format()) + assert isinstance(self.optimizers, list) and isinstance(self.schedulers, list), 'optimizers and schedulers must be a list.' + + state_path = "{}.state".format(self. opt['path']['resume_state']) + + if not os.path.exists(state_path): + self.logger.warning('Training state in [{:s}] is not existed, Skip it'.format(state_path)) + return + + self.logger.info('Loading training state for [{:s}] ...'.format(state_path)) + resume_state = torch.load(state_path, map_location = lambda storage, loc: self.set_device(storage)) + + resume_optimizers = resume_state['optimizers'] + resume_schedulers = resume_state['schedulers'] + assert len(resume_optimizers) == len(self.optimizers), 'Wrong lengths of optimizers {} != {}'.format(len(resume_optimizers), len(self.optimizers)) + assert len(resume_schedulers) == len(self.schedulers), 'Wrong lengths of schedulers {} != {}'.format(len(resume_schedulers), len(self.schedulers)) + for i, o in enumerate(resume_optimizers): + self.optimizers[i].load_state_dict(o) + for i, s in enumerate(resume_schedulers): + self.schedulers[i].load_state_dict(s) + + self.epoch = resume_state['epoch'] + self.iter = resume_state['iter'] + + def load_everything(self): + pass + + @abstractmethod + def save_everything(self): + raise NotImplementedError('You must specify how to save your networks, optimizers and schedulers.') diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/core/base_network.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/core/base_network.py new file mode 100644 index 0000000000000000000000000000000000000000..bea2f6dc0758ca7bb82340cf9cb84d6deaff24ea --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/core/base_network.py @@ -0,0 +1,48 @@ +import torch.nn as nn +class BaseNetwork(nn.Module): + def __init__(self, init_type='kaiming', gain=0.02): + super(BaseNetwork, self).__init__() + self.init_type = init_type + self.gain = gain + + def init_weights(self): + """ + initialize network's weights + init_type: normal | xavier | kaiming | orthogonal + https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix/blob/9451e70673400885567d08a9e97ade2524c700d0/models/networks.py#L39 + """ + + def init_func(m): + classname = m.__class__.__name__ + if classname.find('InstanceNorm2d') != -1: + if hasattr(m, 'weight') and m.weight is not None: + nn.init.constant_(m.weight.data, 1.0) + if hasattr(m, 'bias') and m.bias is not None: + nn.init.constant_(m.bias.data, 0.0) + elif hasattr(m, 'weight') and (classname.find('Conv') != -1 or classname.find('Linear') != -1): + if self.init_type == 'normal': + nn.init.normal_(m.weight.data, 0.0, self.gain) + elif self.init_type == 'xavier': + nn.init.xavier_normal_(m.weight.data, gain=self.gain) + elif self.init_type == 'xavier_uniform': + nn.init.xavier_uniform_(m.weight.data, gain=1.0) + elif self.init_type == 'kaiming': + nn.init.kaiming_normal_(m.weight.data, a=0, mode='fan_in') + elif self.init_type == 'orthogonal': + nn.init.orthogonal_(m.weight.data, gain=self.gain) + elif self.init_type == 'none': # uses pytorch's default init method + m.reset_parameters() + else: + raise NotImplementedError('initialization method [%s] is not implemented' % self.init_type) + if hasattr(m, 'bias') and m.bias is not None: + nn.init.constant_(m.bias.data, 0.0) + + self.apply(init_func) + # propagate to children + for m in self.children(): + if hasattr(m, 'init_weights'): + m.init_weights(self.init_type, self.gain) + + + + \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/core/dpm_solver_pytorch.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/core/dpm_solver_pytorch.py new file mode 100644 index 0000000000000000000000000000000000000000..2989698c590507b2806aa3ed09c9b2632e3f509f --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/core/dpm_solver_pytorch.py @@ -0,0 +1,1306 @@ +import torch +import torch.nn.functional as F +import math + + +class NoiseScheduleVP: + def __init__( + self, + schedule='discrete', + betas=None, + alphas_cumprod=None, + continuous_beta_0=0.1, + continuous_beta_1=20., + dtype=torch.float32, + ): + """Create a wrapper class for the forward SDE (VP type). + + *** + Update: We support discrete-time diffusion models by implementing a picewise linear interpolation for log_alpha_t. + We recommend to use schedule='discrete' for the discrete-time diffusion models, especially for high-resolution images. + *** + + The forward SDE ensures that the condition distribution q_{t|0}(x_t | x_0) = N ( alpha_t * x_0, sigma_t^2 * I ). + We further define lambda_t = log(alpha_t) - log(sigma_t), which is the half-logSNR (described in the DPM-Solver paper). + Therefore, we implement the functions for computing alpha_t, sigma_t and lambda_t. For t in [0, T], we have: + + log_alpha_t = self.marginal_log_mean_coeff(t) + sigma_t = self.marginal_std(t) + lambda_t = self.marginal_lambda(t) + + Moreover, as lambda(t) is an invertible function, we also support its inverse function: + + t = self.inverse_lambda(lambda_t) + + =============================================================== + + We support both discrete-time DPMs (trained on n = 0, 1, ..., N-1) and continuous-time DPMs (trained on t in [t_0, T]). + + 1. For discrete-time DPMs: + + For discrete-time DPMs trained on n = 0, 1, ..., N-1, we convert the discrete steps to continuous time steps by: + t_i = (i + 1) / N + e.g. for N = 1000, we have t_0 = 1e-3 and T = t_{N-1} = 1. + We solve the corresponding diffusion ODE from time T = 1 to time t_0 = 1e-3. + + Args: + betas: A `torch.Tensor`. The beta array for the discrete-time DPM. (See the original DDPM paper for details) + alphas_cumprod: A `torch.Tensor`. The cumprod alphas for the discrete-time DPM. (See the original DDPM paper for details) + + Note that we always have alphas_cumprod = cumprod(1 - betas). Therefore, we only need to set one of `betas` and `alphas_cumprod`. + + **Important**: Please pay special attention for the args for `alphas_cumprod`: + The `alphas_cumprod` is the \hat{alpha_n} arrays in the notations of DDPM. Specifically, DDPMs assume that + q_{t_n | 0}(x_{t_n} | x_0) = N ( \sqrt{\hat{alpha_n}} * x_0, (1 - \hat{alpha_n}) * I ). + Therefore, the notation \hat{alpha_n} is different from the notation alpha_t in DPM-Solver. In fact, we have + alpha_{t_n} = \sqrt{\hat{alpha_n}}, + and + log(alpha_{t_n}) = 0.5 * log(\hat{alpha_n}). + + + 2. For continuous-time DPMs: + + We support the linear VPSDE for the continuous time setting. The hyperparameters for the noise + schedule are the default settings in Yang Song's ScoreSDE: + + Args: + beta_min: A `float` number. The smallest beta for the linear schedule. + beta_max: A `float` number. The largest beta for the linear schedule. + T: A `float` number. The ending time of the forward process. + + =============================================================== + + Args: + schedule: A `str`. The noise schedule of the forward SDE. 'discrete' for discrete-time DPMs, + 'linear' for continuous-time DPMs. + Returns: + A wrapper object of the forward SDE (VP type). + + =============================================================== + + Example: + + # For discrete-time DPMs, given betas (the beta array for n = 0, 1, ..., N - 1): + >>> ns = NoiseScheduleVP('discrete', betas=betas) + + # For discrete-time DPMs, given alphas_cumprod (the \hat{alpha_n} array for n = 0, 1, ..., N - 1): + >>> ns = NoiseScheduleVP('discrete', alphas_cumprod=alphas_cumprod) + + # For continuous-time DPMs (VPSDE), linear schedule: + >>> ns = NoiseScheduleVP('linear', continuous_beta_0=0.1, continuous_beta_1=20.) + + """ + + if schedule not in ['discrete', 'linear']: + raise ValueError("Unsupported noise schedule {}. The schedule needs to be 'discrete' or 'linear'".format(schedule)) + + self.schedule = schedule + if schedule == 'discrete': + if betas is not None: + log_alphas = 0.5 * torch.log(1 - betas).cumsum(dim=0) + else: + assert alphas_cumprod is not None + log_alphas = 0.5 * torch.log(alphas_cumprod) + self.T = 1. + self.log_alpha_array = self.numerical_clip_alpha(log_alphas).reshape((1, -1,)).to(dtype=dtype) + self.total_N = self.log_alpha_array.shape[1] + self.t_array = torch.linspace(0., 1., self.total_N + 1)[1:].reshape((1, -1)).to(dtype=dtype) + else: + self.T = 1. + self.total_N = 1000 + self.beta_0 = continuous_beta_0 + self.beta_1 = continuous_beta_1 + + def numerical_clip_alpha(self, log_alphas, clipped_lambda=-5.1): + """ + For some beta schedules such as cosine schedule, the log-SNR has numerical isssues. + We clip the log-SNR near t=T within -5.1 to ensure the stability. + Such a trick is very useful for diffusion models with the cosine schedule, such as i-DDPM, guided-diffusion and GLIDE. + """ + log_sigmas = 0.5 * torch.log(1. - torch.exp(2. * log_alphas)) + lambs = log_alphas - log_sigmas + idx = torch.searchsorted(torch.flip(lambs, [0]), clipped_lambda) + if idx > 0: + log_alphas = log_alphas[:-idx] + return log_alphas + + def marginal_log_mean_coeff(self, t): + """ + Compute log(alpha_t) of a given continuous-time label t in [0, T]. + """ + if self.schedule == 'discrete': + return interpolate_fn(t.reshape((-1, 1)), self.t_array.to(t.device), self.log_alpha_array.to(t.device)).reshape((-1)) + elif self.schedule == 'linear': + return -0.25 * t ** 2 * (self.beta_1 - self.beta_0) - 0.5 * t * self.beta_0 + + def marginal_alpha(self, t): + """ + Compute alpha_t of a given continuous-time label t in [0, T]. + """ + return torch.exp(self.marginal_log_mean_coeff(t)) + + def marginal_std(self, t): + """ + Compute sigma_t of a given continuous-time label t in [0, T]. + """ + return torch.sqrt(1. - torch.exp(2. * self.marginal_log_mean_coeff(t))) + + def marginal_lambda(self, t): + """ + Compute lambda_t = log(alpha_t) - log(sigma_t) of a given continuous-time label t in [0, T]. + """ + log_mean_coeff = self.marginal_log_mean_coeff(t) + log_std = 0.5 * torch.log(1. - torch.exp(2. * log_mean_coeff)) + return log_mean_coeff - log_std + + def inverse_lambda(self, lamb): + """ + Compute the continuous-time label t in [0, T] of a given half-logSNR lambda_t. + """ + if self.schedule == 'linear': + tmp = 2. * (self.beta_1 - self.beta_0) * torch.logaddexp(-2. * lamb, torch.zeros((1,)).to(lamb)) + Delta = self.beta_0**2 + tmp + return tmp / (torch.sqrt(Delta) + self.beta_0) / (self.beta_1 - self.beta_0) + elif self.schedule == 'discrete': + log_alpha = -0.5 * torch.logaddexp(torch.zeros((1,)).to(lamb.device), -2. * lamb) + t = interpolate_fn(log_alpha.reshape((-1, 1)), torch.flip(self.log_alpha_array.to(lamb.device), [1]), torch.flip(self.t_array.to(lamb.device), [1])) + return t.reshape((-1,)) + + +def model_wrapper( + model, + noise_schedule, + model_type="noise", + model_kwargs={}, + guidance_type="uncond", + condition=None, + unconditional_condition=None, + guidance_scale=1., + classifier_fn=None, + classifier_kwargs={}, +): + """Create a wrapper function for the noise prediction model. + + DPM-Solver needs to solve the continuous-time diffusion ODEs. For DPMs trained on discrete-time labels, we need to + firstly wrap the model function to a noise prediction model that accepts the continuous time as the input. + + We support four types of the diffusion model by setting `model_type`: + + 1. "noise": noise prediction model. (Trained by predicting noise). + + 2. "x_start": data prediction model. (Trained by predicting the data x_0 at time 0). + + 3. "v": velocity prediction model. (Trained by predicting the velocity). + The "v" prediction is derivation detailed in Appendix D of [1], and is used in Imagen-Video [2]. + + [1] Salimans, Tim, and Jonathan Ho. "Progressive distillation for fast sampling of diffusion models." + arXiv preprint arXiv:2202.00512 (2022). + [2] Ho, Jonathan, et al. "Imagen Video: High Definition Video Generation with Diffusion Models." + arXiv preprint arXiv:2210.02303 (2022). + + 4. "score": marginal score function. (Trained by denoising score matching). + Note that the score function and the noise prediction model follows a simple relationship: + ``` + noise(x_t, t) = -sigma_t * score(x_t, t) + ``` + + We support three types of guided sampling by DPMs by setting `guidance_type`: + 1. "uncond": unconditional sampling by DPMs. + The input `model` has the following format: + `` + model(x, t_input, **model_kwargs) -> noise | x_start | v | score + `` + + 2. "classifier": classifier guidance sampling [3] by DPMs and another classifier. + The input `model` has the following format: + `` + model(x, t_input, **model_kwargs) -> noise | x_start | v | score + `` + + The input `classifier_fn` has the following format: + `` + classifier_fn(x, t_input, cond, **classifier_kwargs) -> logits(x, t_input, cond) + `` + + [3] P. Dhariwal and A. Q. Nichol, "Diffusion models beat GANs on image synthesis," + in Advances in Neural Information Processing Systems, vol. 34, 2021, pp. 8780-8794. + + 3. "classifier-free": classifier-free guidance sampling by conditional DPMs. + The input `model` has the following format: + `` + model(x, t_input, cond, **model_kwargs) -> noise | x_start | v | score + `` + And if cond == `unconditional_condition`, the model output is the unconditional DPM output. + + [4] Ho, Jonathan, and Tim Salimans. "Classifier-free diffusion guidance." + arXiv preprint arXiv:2207.12598 (2022). + + + The `t_input` is the time label of the model, which may be discrete-time labels (i.e. 0 to 999) + or continuous-time labels (i.e. epsilon to T). + + We wrap the model function to accept only `x` and `t_continuous` as inputs, and outputs the predicted noise: + `` + def model_fn(x, t_continuous) -> noise: + t_input = get_model_input_time(t_continuous) + return noise_pred(model, x, t_input, **model_kwargs) + `` + where `t_continuous` is the continuous time labels (i.e. epsilon to T). And we use `model_fn` for DPM-Solver. + + =============================================================== + + Args: + model: A diffusion model with the corresponding format described above. + noise_schedule: A noise schedule object, such as NoiseScheduleVP. + model_type: A `str`. The parameterization type of the diffusion model. + "noise" or "x_start" or "v" or "score". + model_kwargs: A `dict`. A dict for the other inputs of the model function. + guidance_type: A `str`. The type of the guidance for sampling. + "uncond" or "classifier" or "classifier-free". + condition: A pytorch tensor. The condition for the guided sampling. + Only used for "classifier" or "classifier-free" guidance type. + unconditional_condition: A pytorch tensor. The condition for the unconditional sampling. + Only used for "classifier-free" guidance type. + guidance_scale: A `float`. The scale for the guided sampling. + classifier_fn: A classifier function. Only used for the classifier guidance. + classifier_kwargs: A `dict`. A dict for the other inputs of the classifier function. + Returns: + A noise prediction model that accepts the noised data and the continuous time as the inputs. + """ + + def get_model_input_time(t_continuous): + """ + Convert the continuous-time `t_continuous` (in [epsilon, T]) to the model input time. + For discrete-time DPMs, we convert `t_continuous` in [1 / N, 1] to `t_input` in [0, 1000 * (N - 1) / N]. + For continuous-time DPMs, we just use `t_continuous`. + """ + if noise_schedule.schedule == 'discrete': + return (t_continuous - 1. / noise_schedule.total_N) * 1000. + else: + return t_continuous + + def noise_pred_fn(x, t_continuous, cond=None): + t_input = get_model_input_time(t_continuous) + if cond is None: + output = model(x, t_input, **model_kwargs) + else: + # output = model(x, t_input, cond, **model_kwargs) zxc + output = model(torch.cat((cond, x), dim=1), t_input, **model_kwargs) + if model_type == "noise": + return output + elif model_type == "x_start": + alpha_t, sigma_t = noise_schedule.marginal_alpha(t_continuous), noise_schedule.marginal_std(t_continuous) + return (x - alpha_t * output) / sigma_t + elif model_type == "v": + alpha_t, sigma_t = noise_schedule.marginal_alpha(t_continuous), noise_schedule.marginal_std(t_continuous) + return alpha_t * output + sigma_t * x + elif model_type == "score": + sigma_t = noise_schedule.marginal_std(t_continuous) + return -sigma_t * output + + def cond_grad_fn(x, t_input): + """ + Compute the gradient of the classifier, i.e. nabla_{x} log p_t(cond | x_t). + """ + with torch.enable_grad(): + x_in = x.detach().requires_grad_(True) + log_prob = classifier_fn(x_in, t_input, condition, **classifier_kwargs) + return torch.autograd.grad(log_prob.sum(), x_in)[0] + + def model_fn(x, t_continuous): + """ + The noise predicition model function that is used for DPM-Solver. + """ + if guidance_type == "uncond": + return noise_pred_fn(x, t_continuous) + elif guidance_type == "classifier": + assert classifier_fn is not None + t_input = get_model_input_time(t_continuous) + cond_grad = cond_grad_fn(x, t_input) + sigma_t = noise_schedule.marginal_std(t_continuous) + noise = noise_pred_fn(x, t_continuous) + return noise - guidance_scale * expand_dims(sigma_t, x.dim()) * cond_grad + elif guidance_type == "classifier-free": + if guidance_scale == 1. or unconditional_condition is None: + return noise_pred_fn(x, t_continuous, cond=condition) + else: + x_in = torch.cat([x] * 2) + t_in = torch.cat([t_continuous] * 2) + c_in = torch.cat([unconditional_condition, condition]) + noise_uncond, noise = noise_pred_fn(x_in, t_in, cond=c_in).chunk(2) + return noise_uncond + guidance_scale * (noise - noise_uncond) + + assert model_type in ["noise", "x_start", "v", "score"] + assert guidance_type in ["uncond", "classifier", "classifier-free"] + return model_fn + + +class DPM_Solver: + def __init__( + self, + model_fn, + noise_schedule, + algorithm_type="dpmsolver++", + correcting_x0_fn=None, + correcting_xt_fn=None, + thresholding_max_val=1., + dynamic_thresholding_ratio=0.995, + ): + """Construct a DPM-Solver. + + We support both DPM-Solver (`algorithm_type="dpmsolver"`) and DPM-Solver++ (`algorithm_type="dpmsolver++"`). + + We also support the "dynamic thresholding" method in Imagen[1]. For pixel-space diffusion models, you + can set both `algorithm_type="dpmsolver++"` and `correcting_x0_fn="dynamic_thresholding"` to use the + dynamic thresholding. The "dynamic thresholding" can greatly improve the sample quality for pixel-space + DPMs with large guidance scales. Note that the thresholding method is **unsuitable** for latent-space + DPMs (such as stable-diffusion). + + To support advanced algorithms in image-to-image applications, we also support corrector functions for + both x0 and xt. + + Args: + model_fn: A noise prediction model function which accepts the continuous-time input (t in [epsilon, T]): + `` + def model_fn(x, t_continuous): + return noise + `` + The shape of `x` is `(batch_size, **shape)`, and the shape of `t_continuous` is `(batch_size,)`. + noise_schedule: A noise schedule object, such as NoiseScheduleVP. + algorithm_type: A `str`. Either "dpmsolver" or "dpmsolver++". + correcting_x0_fn: A `str` or a function with the following format: + ``` + def correcting_x0_fn(x0, t): + x0_new = ... + return x0_new + ``` + This function is to correct the outputs of the data prediction model at each sampling step. e.g., + ``` + x0_pred = data_pred_model(xt, t) + if correcting_x0_fn is not None: + x0_pred = correcting_x0_fn(x0_pred, t) + xt_1 = update(x0_pred, xt, t) + ``` + If `correcting_x0_fn="dynamic_thresholding"`, we use the dynamic thresholding proposed in Imagen[1]. + correcting_xt_fn: A function with the following format: + ``` + def correcting_xt_fn(xt, t, step): + x_new = ... + return x_new + ``` + This function is to correct the intermediate samples xt at each sampling step. e.g., + ``` + xt = ... + xt = correcting_xt_fn(xt, t, step) + ``` + thresholding_max_val: A `float`. The max value for thresholding. + Valid only when use `dpmsolver++` and `correcting_x0_fn="dynamic_thresholding"`. + dynamic_thresholding_ratio: A `float`. The ratio for dynamic thresholding (see Imagen[1] for details). + Valid only when use `dpmsolver++` and `correcting_x0_fn="dynamic_thresholding"`. + + [1] Chitwan Saharia, William Chan, Saurabh Saxena, Lala Li, Jay Whang, Emily Denton, Seyed Kamyar Seyed Ghasemipour, + Burcu Karagol Ayan, S Sara Mahdavi, Rapha Gontijo Lopes, et al. Photorealistic text-to-image diffusion models + with deep language understanding. arXiv preprint arXiv:2205.11487, 2022b. + """ + self.model = lambda x, t: model_fn(x, t.expand((x.shape[0]))) + self.noise_schedule = noise_schedule + assert algorithm_type in ["dpmsolver", "dpmsolver++"] + self.algorithm_type = algorithm_type + if correcting_x0_fn == "dynamic_thresholding": + self.correcting_x0_fn = self.dynamic_thresholding_fn + else: + self.correcting_x0_fn = correcting_x0_fn + self.correcting_xt_fn = correcting_xt_fn + self.dynamic_thresholding_ratio = dynamic_thresholding_ratio + self.thresholding_max_val = thresholding_max_val + + def dynamic_thresholding_fn(self, x0, t): + """ + The dynamic thresholding method. + """ + dims = x0.dim() + p = self.dynamic_thresholding_ratio + s = torch.quantile(torch.abs(x0).reshape((x0.shape[0], -1)), p, dim=1) + s = expand_dims(torch.maximum(s, self.thresholding_max_val * torch.ones_like(s).to(s.device)), dims) + x0 = torch.clamp(x0, -s, s) / s + return x0 + + def noise_prediction_fn(self, x, t): + """ + Return the noise prediction model. + """ + return self.model(x, t) + + def data_prediction_fn(self, x, t): + """ + Return the data prediction model (with corrector). + """ + noise = self.noise_prediction_fn(x, t) + alpha_t, sigma_t = self.noise_schedule.marginal_alpha(t), self.noise_schedule.marginal_std(t) + x0 = (x - sigma_t * noise) / alpha_t + if self.correcting_x0_fn is not None: + x0 = self.correcting_x0_fn(x0, t) + return x0 + + def model_fn(self, x, t): + """ + Convert the model to the noise prediction model or the data prediction model. + """ + if self.algorithm_type == "dpmsolver++": + return self.data_prediction_fn(x, t) + else: + return self.noise_prediction_fn(x, t) + + def get_time_steps(self, skip_type, t_T, t_0, N, device): + """Compute the intermediate time steps for sampling. + + Args: + skip_type: A `str`. The type for the spacing of the time steps. We support three types: + - 'logSNR': uniform logSNR for the time steps. + - 'time_uniform': uniform time for the time steps. (**Recommended for high-resolutional data**.) + - 'time_quadratic': quadratic time for the time steps. (Used in DDIM for low-resolutional data.) + t_T: A `float`. The starting time of the sampling (default is T). + t_0: A `float`. The ending time of the sampling (default is epsilon). + N: A `int`. The total number of the spacing of the time steps. + device: A torch device. + Returns: + A pytorch tensor of the time steps, with the shape (N + 1,). + """ + if skip_type == 'logSNR': + lambda_T = self.noise_schedule.marginal_lambda(torch.tensor(t_T).to(device)) + lambda_0 = self.noise_schedule.marginal_lambda(torch.tensor(t_0).to(device)) + logSNR_steps = torch.linspace(lambda_T.cpu().item(), lambda_0.cpu().item(), N + 1).to(device) + return self.noise_schedule.inverse_lambda(logSNR_steps) + elif skip_type == 'time_uniform': + return torch.linspace(t_T, t_0, N + 1).to(device) + elif skip_type == 'time_quadratic': + t_order = 2 + t = torch.linspace(t_T**(1. / t_order), t_0**(1. / t_order), N + 1).pow(t_order).to(device) + return t + else: + raise ValueError("Unsupported skip_type {}, need to be 'logSNR' or 'time_uniform' or 'time_quadratic'".format(skip_type)) + + def get_orders_and_timesteps_for_singlestep_solver(self, steps, order, skip_type, t_T, t_0, device): + """ + Get the order of each step for sampling by the singlestep DPM-Solver. + + We combine both DPM-Solver-1,2,3 to use all the function evaluations, which is named as "DPM-Solver-fast". + Given a fixed number of function evaluations by `steps`, the sampling procedure by DPM-Solver-fast is: + - If order == 1: + We take `steps` of DPM-Solver-1 (i.e. DDIM). + - If order == 2: + - Denote K = (steps // 2). We take K or (K + 1) intermediate time steps for sampling. + - If steps % 2 == 0, we use K steps of DPM-Solver-2. + - If steps % 2 == 1, we use K steps of DPM-Solver-2 and 1 step of DPM-Solver-1. + - If order == 3: + - Denote K = (steps // 3 + 1). We take K intermediate time steps for sampling. + - If steps % 3 == 0, we use (K - 2) steps of DPM-Solver-3, and 1 step of DPM-Solver-2 and 1 step of DPM-Solver-1. + - If steps % 3 == 1, we use (K - 1) steps of DPM-Solver-3 and 1 step of DPM-Solver-1. + - If steps % 3 == 2, we use (K - 1) steps of DPM-Solver-3 and 1 step of DPM-Solver-2. + + ============================================ + Args: + order: A `int`. The max order for the solver (2 or 3). + steps: A `int`. The total number of function evaluations (NFE). + skip_type: A `str`. The type for the spacing of the time steps. We support three types: + - 'logSNR': uniform logSNR for the time steps. + - 'time_uniform': uniform time for the time steps. (**Recommended for high-resolutional data**.) + - 'time_quadratic': quadratic time for the time steps. (Used in DDIM for low-resolutional data.) + t_T: A `float`. The starting time of the sampling (default is T). + t_0: A `float`. The ending time of the sampling (default is epsilon). + device: A torch device. + Returns: + orders: A list of the solver order of each step. + """ + if order == 3: + K = steps // 3 + 1 + if steps % 3 == 0: + orders = [3,] * (K - 2) + [2, 1] + elif steps % 3 == 1: + orders = [3,] * (K - 1) + [1] + else: + orders = [3,] * (K - 1) + [2] + elif order == 2: + if steps % 2 == 0: + K = steps // 2 + orders = [2,] * K + else: + K = steps // 2 + 1 + orders = [2,] * (K - 1) + [1] + elif order == 1: + K = 1 + orders = [1,] * steps + else: + raise ValueError("'order' must be '1' or '2' or '3'.") + if skip_type == 'logSNR': + # To reproduce the results in DPM-Solver paper + timesteps_outer = self.get_time_steps(skip_type, t_T, t_0, K, device) + else: + timesteps_outer = self.get_time_steps(skip_type, t_T, t_0, steps, device)[torch.cumsum(torch.tensor([0,] + orders), 0).to(device)] + return timesteps_outer, orders + + def denoise_to_zero_fn(self, x, s): + """ + Denoise at the final step, which is equivalent to solve the ODE from lambda_s to infty by first-order discretization. + """ + return self.data_prediction_fn(x, s) + + def dpm_solver_first_update(self, x, s, t, model_s=None, return_intermediate=False): + """ + DPM-Solver-1 (equivalent to DDIM) from time `s` to time `t`. + + Args: + x: A pytorch tensor. The initial value at time `s`. + s: A pytorch tensor. The starting time, with the shape (1,). + t: A pytorch tensor. The ending time, with the shape (1,). + model_s: A pytorch tensor. The model function evaluated at time `s`. + If `model_s` is None, we evaluate the model by `x` and `s`; otherwise we directly use it. + return_intermediate: A `bool`. If true, also return the model value at time `s`. + Returns: + x_t: A pytorch tensor. The approximated solution at time `t`. + """ + ns = self.noise_schedule + dims = x.dim() + lambda_s, lambda_t = ns.marginal_lambda(s), ns.marginal_lambda(t) + h = lambda_t - lambda_s + log_alpha_s, log_alpha_t = ns.marginal_log_mean_coeff(s), ns.marginal_log_mean_coeff(t) + sigma_s, sigma_t = ns.marginal_std(s), ns.marginal_std(t) + alpha_t = torch.exp(log_alpha_t) + + if self.algorithm_type == "dpmsolver++": + phi_1 = torch.expm1(-h) + if model_s is None: + model_s = self.model_fn(x, s) + x_t = ( + sigma_t / sigma_s * x + - alpha_t * phi_1 * model_s + ) + if return_intermediate: + return x_t, {'model_s': model_s} + else: + return x_t + else: + phi_1 = torch.expm1(h) + if model_s is None: + model_s = self.model_fn(x, s) + x_t = ( + torch.exp(log_alpha_t - log_alpha_s) * x + - (sigma_t * phi_1) * model_s + ) + if return_intermediate: + return x_t, {'model_s': model_s} + else: + return x_t + + def singlestep_dpm_solver_second_update(self, x, s, t, r1=0.5, model_s=None, return_intermediate=False, solver_type='dpmsolver'): + """ + Singlestep solver DPM-Solver-2 from time `s` to time `t`. + + Args: + x: A pytorch tensor. The initial value at time `s`. + s: A pytorch tensor. The starting time, with the shape (1,). + t: A pytorch tensor. The ending time, with the shape (1,). + r1: A `float`. The hyperparameter of the second-order solver. + model_s: A pytorch tensor. The model function evaluated at time `s`. + If `model_s` is None, we evaluate the model by `x` and `s`; otherwise we directly use it. + return_intermediate: A `bool`. If true, also return the model value at time `s` and `s1` (the intermediate time). + solver_type: either 'dpmsolver' or 'taylor'. The type for the high-order solvers. + The type slightly impacts the performance. We recommend to use 'dpmsolver' type. + Returns: + x_t: A pytorch tensor. The approximated solution at time `t`. + """ + if solver_type not in ['dpmsolver', 'taylor']: + raise ValueError("'solver_type' must be either 'dpmsolver' or 'taylor', got {}".format(solver_type)) + if r1 is None: + r1 = 0.5 + ns = self.noise_schedule + lambda_s, lambda_t = ns.marginal_lambda(s), ns.marginal_lambda(t) + h = lambda_t - lambda_s + lambda_s1 = lambda_s + r1 * h + s1 = ns.inverse_lambda(lambda_s1) + log_alpha_s, log_alpha_s1, log_alpha_t = ns.marginal_log_mean_coeff(s), ns.marginal_log_mean_coeff(s1), ns.marginal_log_mean_coeff(t) + sigma_s, sigma_s1, sigma_t = ns.marginal_std(s), ns.marginal_std(s1), ns.marginal_std(t) + alpha_s1, alpha_t = torch.exp(log_alpha_s1), torch.exp(log_alpha_t) + + if self.algorithm_type == "dpmsolver++": + phi_11 = torch.expm1(-r1 * h) + phi_1 = torch.expm1(-h) + + if model_s is None: + model_s = self.model_fn(x, s) + x_s1 = ( + (sigma_s1 / sigma_s) * x + - (alpha_s1 * phi_11) * model_s + ) + model_s1 = self.model_fn(x_s1, s1) + if solver_type == 'dpmsolver': + x_t = ( + (sigma_t / sigma_s) * x + - (alpha_t * phi_1) * model_s + - (0.5 / r1) * (alpha_t * phi_1) * (model_s1 - model_s) + ) + elif solver_type == 'taylor': + x_t = ( + (sigma_t / sigma_s) * x + - (alpha_t * phi_1) * model_s + + (1. / r1) * (alpha_t * (phi_1 / h + 1.)) * (model_s1 - model_s) + ) + else: + phi_11 = torch.expm1(r1 * h) + phi_1 = torch.expm1(h) + + if model_s is None: + model_s = self.model_fn(x, s) + x_s1 = ( + torch.exp(log_alpha_s1 - log_alpha_s) * x + - (sigma_s1 * phi_11) * model_s + ) + model_s1 = self.model_fn(x_s1, s1) + if solver_type == 'dpmsolver': + x_t = ( + torch.exp(log_alpha_t - log_alpha_s) * x + - (sigma_t * phi_1) * model_s + - (0.5 / r1) * (sigma_t * phi_1) * (model_s1 - model_s) + ) + elif solver_type == 'taylor': + x_t = ( + torch.exp(log_alpha_t - log_alpha_s) * x + - (sigma_t * phi_1) * model_s + - (1. / r1) * (sigma_t * (phi_1 / h - 1.)) * (model_s1 - model_s) + ) + if return_intermediate: + return x_t, {'model_s': model_s, 'model_s1': model_s1} + else: + return x_t + + def singlestep_dpm_solver_third_update(self, x, s, t, r1=1./3., r2=2./3., model_s=None, model_s1=None, return_intermediate=False, solver_type='dpmsolver'): + """ + Singlestep solver DPM-Solver-3 from time `s` to time `t`. + + Args: + x: A pytorch tensor. The initial value at time `s`. + s: A pytorch tensor. The starting time, with the shape (1,). + t: A pytorch tensor. The ending time, with the shape (1,). + r1: A `float`. The hyperparameter of the third-order solver. + r2: A `float`. The hyperparameter of the third-order solver. + model_s: A pytorch tensor. The model function evaluated at time `s`. + If `model_s` is None, we evaluate the model by `x` and `s`; otherwise we directly use it. + model_s1: A pytorch tensor. The model function evaluated at time `s1` (the intermediate time given by `r1`). + If `model_s1` is None, we evaluate the model at `s1`; otherwise we directly use it. + return_intermediate: A `bool`. If true, also return the model value at time `s`, `s1` and `s2` (the intermediate times). + solver_type: either 'dpmsolver' or 'taylor'. The type for the high-order solvers. + The type slightly impacts the performance. We recommend to use 'dpmsolver' type. + Returns: + x_t: A pytorch tensor. The approximated solution at time `t`. + """ + if solver_type not in ['dpmsolver', 'taylor']: + raise ValueError("'solver_type' must be either 'dpmsolver' or 'taylor', got {}".format(solver_type)) + if r1 is None: + r1 = 1. / 3. + if r2 is None: + r2 = 2. / 3. + ns = self.noise_schedule + lambda_s, lambda_t = ns.marginal_lambda(s), ns.marginal_lambda(t) + h = lambda_t - lambda_s + lambda_s1 = lambda_s + r1 * h + lambda_s2 = lambda_s + r2 * h + s1 = ns.inverse_lambda(lambda_s1) + s2 = ns.inverse_lambda(lambda_s2) + log_alpha_s, log_alpha_s1, log_alpha_s2, log_alpha_t = ns.marginal_log_mean_coeff(s), ns.marginal_log_mean_coeff(s1), ns.marginal_log_mean_coeff(s2), ns.marginal_log_mean_coeff(t) + sigma_s, sigma_s1, sigma_s2, sigma_t = ns.marginal_std(s), ns.marginal_std(s1), ns.marginal_std(s2), ns.marginal_std(t) + alpha_s1, alpha_s2, alpha_t = torch.exp(log_alpha_s1), torch.exp(log_alpha_s2), torch.exp(log_alpha_t) + + if self.algorithm_type == "dpmsolver++": + phi_11 = torch.expm1(-r1 * h) + phi_12 = torch.expm1(-r2 * h) + phi_1 = torch.expm1(-h) + phi_22 = torch.expm1(-r2 * h) / (r2 * h) + 1. + phi_2 = phi_1 / h + 1. + phi_3 = phi_2 / h - 0.5 + + if model_s is None: + model_s = self.model_fn(x, s) + if model_s1 is None: + x_s1 = ( + (sigma_s1 / sigma_s) * x + - (alpha_s1 * phi_11) * model_s + ) + model_s1 = self.model_fn(x_s1, s1) + x_s2 = ( + (sigma_s2 / sigma_s) * x + - (alpha_s2 * phi_12) * model_s + + r2 / r1 * (alpha_s2 * phi_22) * (model_s1 - model_s) + ) + model_s2 = self.model_fn(x_s2, s2) + if solver_type == 'dpmsolver': + x_t = ( + (sigma_t / sigma_s) * x + - (alpha_t * phi_1) * model_s + + (1. / r2) * (alpha_t * phi_2) * (model_s2 - model_s) + ) + elif solver_type == 'taylor': + D1_0 = (1. / r1) * (model_s1 - model_s) + D1_1 = (1. / r2) * (model_s2 - model_s) + D1 = (r2 * D1_0 - r1 * D1_1) / (r2 - r1) + D2 = 2. * (D1_1 - D1_0) / (r2 - r1) + x_t = ( + (sigma_t / sigma_s) * x + - (alpha_t * phi_1) * model_s + + (alpha_t * phi_2) * D1 + - (alpha_t * phi_3) * D2 + ) + else: + phi_11 = torch.expm1(r1 * h) + phi_12 = torch.expm1(r2 * h) + phi_1 = torch.expm1(h) + phi_22 = torch.expm1(r2 * h) / (r2 * h) - 1. + phi_2 = phi_1 / h - 1. + phi_3 = phi_2 / h - 0.5 + + if model_s is None: + model_s = self.model_fn(x, s) + if model_s1 is None: + x_s1 = ( + (torch.exp(log_alpha_s1 - log_alpha_s)) * x + - (sigma_s1 * phi_11) * model_s + ) + model_s1 = self.model_fn(x_s1, s1) + x_s2 = ( + (torch.exp(log_alpha_s2 - log_alpha_s)) * x + - (sigma_s2 * phi_12) * model_s + - r2 / r1 * (sigma_s2 * phi_22) * (model_s1 - model_s) + ) + model_s2 = self.model_fn(x_s2, s2) + if solver_type == 'dpmsolver': + x_t = ( + (torch.exp(log_alpha_t - log_alpha_s)) * x + - (sigma_t * phi_1) * model_s + - (1. / r2) * (sigma_t * phi_2) * (model_s2 - model_s) + ) + elif solver_type == 'taylor': + D1_0 = (1. / r1) * (model_s1 - model_s) + D1_1 = (1. / r2) * (model_s2 - model_s) + D1 = (r2 * D1_0 - r1 * D1_1) / (r2 - r1) + D2 = 2. * (D1_1 - D1_0) / (r2 - r1) + x_t = ( + (torch.exp(log_alpha_t - log_alpha_s)) * x + - (sigma_t * phi_1) * model_s + - (sigma_t * phi_2) * D1 + - (sigma_t * phi_3) * D2 + ) + + if return_intermediate: + return x_t, {'model_s': model_s, 'model_s1': model_s1, 'model_s2': model_s2} + else: + return x_t + + def multistep_dpm_solver_second_update(self, x, model_prev_list, t_prev_list, t, solver_type="dpmsolver"): + """ + Multistep solver DPM-Solver-2 from time `t_prev_list[-1]` to time `t`. + + Args: + x: A pytorch tensor. The initial value at time `s`. + model_prev_list: A list of pytorch tensor. The previous computed model values. + t_prev_list: A list of pytorch tensor. The previous times, each time has the shape (1,) + t: A pytorch tensor. The ending time, with the shape (1,). + solver_type: either 'dpmsolver' or 'taylor'. The type for the high-order solvers. + The type slightly impacts the performance. We recommend to use 'dpmsolver' type. + Returns: + x_t: A pytorch tensor. The approximated solution at time `t`. + """ + if solver_type not in ['dpmsolver', 'taylor']: + raise ValueError("'solver_type' must be either 'dpmsolver' or 'taylor', got {}".format(solver_type)) + ns = self.noise_schedule + model_prev_1, model_prev_0 = model_prev_list[-2], model_prev_list[-1] + t_prev_1, t_prev_0 = t_prev_list[-2], t_prev_list[-1] + lambda_prev_1, lambda_prev_0, lambda_t = ns.marginal_lambda(t_prev_1), ns.marginal_lambda(t_prev_0), ns.marginal_lambda(t) + log_alpha_prev_0, log_alpha_t = ns.marginal_log_mean_coeff(t_prev_0), ns.marginal_log_mean_coeff(t) + sigma_prev_0, sigma_t = ns.marginal_std(t_prev_0), ns.marginal_std(t) + alpha_t = torch.exp(log_alpha_t) + + h_0 = lambda_prev_0 - lambda_prev_1 + h = lambda_t - lambda_prev_0 + r0 = h_0 / h + D1_0 = (1. / r0) * (model_prev_0 - model_prev_1) + if self.algorithm_type == "dpmsolver++": + phi_1 = torch.expm1(-h) + if solver_type == 'dpmsolver': + x_t = ( + (sigma_t / sigma_prev_0) * x + - (alpha_t * phi_1) * model_prev_0 + - 0.5 * (alpha_t * phi_1) * D1_0 + ) + elif solver_type == 'taylor': + x_t = ( + (sigma_t / sigma_prev_0) * x + - (alpha_t * phi_1) * model_prev_0 + + (alpha_t * (phi_1 / h + 1.)) * D1_0 + ) + else: + phi_1 = torch.expm1(h) + if solver_type == 'dpmsolver': + x_t = ( + (torch.exp(log_alpha_t - log_alpha_prev_0)) * x + - (sigma_t * phi_1) * model_prev_0 + - 0.5 * (sigma_t * phi_1) * D1_0 + ) + elif solver_type == 'taylor': + x_t = ( + (torch.exp(log_alpha_t - log_alpha_prev_0)) * x + - (sigma_t * phi_1) * model_prev_0 + - (sigma_t * (phi_1 / h - 1.)) * D1_0 + ) + return x_t + + def multistep_dpm_solver_third_update(self, x, model_prev_list, t_prev_list, t, solver_type='dpmsolver'): + """ + Multistep solver DPM-Solver-3 from time `t_prev_list[-1]` to time `t`. + + Args: + x: A pytorch tensor. The initial value at time `s`. + model_prev_list: A list of pytorch tensor. The previous computed model values. + t_prev_list: A list of pytorch tensor. The previous times, each time has the shape (1,) + t: A pytorch tensor. The ending time, with the shape (1,). + solver_type: either 'dpmsolver' or 'taylor'. The type for the high-order solvers. + The type slightly impacts the performance. We recommend to use 'dpmsolver' type. + Returns: + x_t: A pytorch tensor. The approximated solution at time `t`. + """ + ns = self.noise_schedule + model_prev_2, model_prev_1, model_prev_0 = model_prev_list + t_prev_2, t_prev_1, t_prev_0 = t_prev_list + lambda_prev_2, lambda_prev_1, lambda_prev_0, lambda_t = ns.marginal_lambda(t_prev_2), ns.marginal_lambda(t_prev_1), ns.marginal_lambda(t_prev_0), ns.marginal_lambda(t) + log_alpha_prev_0, log_alpha_t = ns.marginal_log_mean_coeff(t_prev_0), ns.marginal_log_mean_coeff(t) + sigma_prev_0, sigma_t = ns.marginal_std(t_prev_0), ns.marginal_std(t) + alpha_t = torch.exp(log_alpha_t) + + h_1 = lambda_prev_1 - lambda_prev_2 + h_0 = lambda_prev_0 - lambda_prev_1 + h = lambda_t - lambda_prev_0 + r0, r1 = h_0 / h, h_1 / h + D1_0 = (1. / r0) * (model_prev_0 - model_prev_1) + D1_1 = (1. / r1) * (model_prev_1 - model_prev_2) + D1 = D1_0 + (r0 / (r0 + r1)) * (D1_0 - D1_1) + D2 = (1. / (r0 + r1)) * (D1_0 - D1_1) + if self.algorithm_type == "dpmsolver++": + phi_1 = torch.expm1(-h) + phi_2 = phi_1 / h + 1. + phi_3 = phi_2 / h - 0.5 + x_t = ( + (sigma_t / sigma_prev_0) * x + - (alpha_t * phi_1) * model_prev_0 + + (alpha_t * phi_2) * D1 + - (alpha_t * phi_3) * D2 + ) + else: + phi_1 = torch.expm1(h) + phi_2 = phi_1 / h - 1. + phi_3 = phi_2 / h - 0.5 + x_t = ( + (torch.exp(log_alpha_t - log_alpha_prev_0)) * x + - (sigma_t * phi_1) * model_prev_0 + - (sigma_t * phi_2) * D1 + - (sigma_t * phi_3) * D2 + ) + return x_t + + def singlestep_dpm_solver_update(self, x, s, t, order, return_intermediate=False, solver_type='dpmsolver', r1=None, r2=None): + """ + Singlestep DPM-Solver with the order `order` from time `s` to time `t`. + + Args: + x: A pytorch tensor. The initial value at time `s`. + s: A pytorch tensor. The starting time, with the shape (1,). + t: A pytorch tensor. The ending time, with the shape (1,). + order: A `int`. The order of DPM-Solver. We only support order == 1 or 2 or 3. + return_intermediate: A `bool`. If true, also return the model value at time `s`, `s1` and `s2` (the intermediate times). + solver_type: either 'dpmsolver' or 'taylor'. The type for the high-order solvers. + The type slightly impacts the performance. We recommend to use 'dpmsolver' type. + r1: A `float`. The hyperparameter of the second-order or third-order solver. + r2: A `float`. The hyperparameter of the third-order solver. + Returns: + x_t: A pytorch tensor. The approximated solution at time `t`. + """ + if order == 1: + return self.dpm_solver_first_update(x, s, t, return_intermediate=return_intermediate) + elif order == 2: + return self.singlestep_dpm_solver_second_update(x, s, t, return_intermediate=return_intermediate, solver_type=solver_type, r1=r1) + elif order == 3: + return self.singlestep_dpm_solver_third_update(x, s, t, return_intermediate=return_intermediate, solver_type=solver_type, r1=r1, r2=r2) + else: + raise ValueError("Solver order must be 1 or 2 or 3, got {}".format(order)) + + def multistep_dpm_solver_update(self, x, model_prev_list, t_prev_list, t, order, solver_type='dpmsolver'): + """ + Multistep DPM-Solver with the order `order` from time `t_prev_list[-1]` to time `t`. + + Args: + x: A pytorch tensor. The initial value at time `s`. + model_prev_list: A list of pytorch tensor. The previous computed model values. + t_prev_list: A list of pytorch tensor. The previous times, each time has the shape (1,) + t: A pytorch tensor. The ending time, with the shape (1,). + order: A `int`. The order of DPM-Solver. We only support order == 1 or 2 or 3. + solver_type: either 'dpmsolver' or 'taylor'. The type for the high-order solvers. + The type slightly impacts the performance. We recommend to use 'dpmsolver' type. + Returns: + x_t: A pytorch tensor. The approximated solution at time `t`. + """ + if order == 1: + return self.dpm_solver_first_update(x, t_prev_list[-1], t, model_s=model_prev_list[-1]) + elif order == 2: + return self.multistep_dpm_solver_second_update(x, model_prev_list, t_prev_list, t, solver_type=solver_type) + elif order == 3: + return self.multistep_dpm_solver_third_update(x, model_prev_list, t_prev_list, t, solver_type=solver_type) + else: + raise ValueError("Solver order must be 1 or 2 or 3, got {}".format(order)) + + def dpm_solver_adaptive(self, x, order, t_T, t_0, h_init=0.05, atol=0.0078, rtol=0.05, theta=0.9, t_err=1e-5, solver_type='dpmsolver'): + """ + The adaptive step size solver based on singlestep DPM-Solver. + + Args: + x: A pytorch tensor. The initial value at time `t_T`. + order: A `int`. The (higher) order of the solver. We only support order == 2 or 3. + t_T: A `float`. The starting time of the sampling (default is T). + t_0: A `float`. The ending time of the sampling (default is epsilon). + h_init: A `float`. The initial step size (for logSNR). + atol: A `float`. The absolute tolerance of the solver. For image data, the default setting is 0.0078, followed [1]. + rtol: A `float`. The relative tolerance of the solver. The default setting is 0.05. + theta: A `float`. The safety hyperparameter for adapting the step size. The default setting is 0.9, followed [1]. + t_err: A `float`. The tolerance for the time. We solve the diffusion ODE until the absolute error between the + current time and `t_0` is less than `t_err`. The default setting is 1e-5. + solver_type: either 'dpmsolver' or 'taylor'. The type for the high-order solvers. + The type slightly impacts the performance. We recommend to use 'dpmsolver' type. + Returns: + x_0: A pytorch tensor. The approximated solution at time `t_0`. + + [1] A. Jolicoeur-Martineau, K. Li, R. Piché-Taillefer, T. Kachman, and I. Mitliagkas, "Gotta go fast when generating data with score-based models," arXiv preprint arXiv:2105.14080, 2021. + """ + ns = self.noise_schedule + s = t_T * torch.ones((1,)).to(x) + lambda_s = ns.marginal_lambda(s) + lambda_0 = ns.marginal_lambda(t_0 * torch.ones_like(s).to(x)) + h = h_init * torch.ones_like(s).to(x) + x_prev = x + nfe = 0 + if order == 2: + r1 = 0.5 + lower_update = lambda x, s, t: self.dpm_solver_first_update(x, s, t, return_intermediate=True) + higher_update = lambda x, s, t, **kwargs: self.singlestep_dpm_solver_second_update(x, s, t, r1=r1, solver_type=solver_type, **kwargs) + elif order == 3: + r1, r2 = 1. / 3., 2. / 3. + lower_update = lambda x, s, t: self.singlestep_dpm_solver_second_update(x, s, t, r1=r1, return_intermediate=True, solver_type=solver_type) + higher_update = lambda x, s, t, **kwargs: self.singlestep_dpm_solver_third_update(x, s, t, r1=r1, r2=r2, solver_type=solver_type, **kwargs) + else: + raise ValueError("For adaptive step size solver, order must be 2 or 3, got {}".format(order)) + while torch.abs((s - t_0)).mean() > t_err: + t = ns.inverse_lambda(lambda_s + h) + x_lower, lower_noise_kwargs = lower_update(x, s, t) + x_higher = higher_update(x, s, t, **lower_noise_kwargs) + delta = torch.max(torch.ones_like(x).to(x) * atol, rtol * torch.max(torch.abs(x_lower), torch.abs(x_prev))) + norm_fn = lambda v: torch.sqrt(torch.square(v.reshape((v.shape[0], -1))).mean(dim=-1, keepdim=True)) + E = norm_fn((x_higher - x_lower) / delta).max() + if torch.all(E <= 1.): + x = x_higher + s = t + x_prev = x_lower + lambda_s = ns.marginal_lambda(s) + h = torch.min(theta * h * torch.float_power(E, -1. / order).float(), lambda_0 - lambda_s) + nfe += order + print('adaptive solver nfe', nfe) + return x + + def add_noise(self, x, t, noise=None): + """ + Compute the noised input xt = alpha_t * x + sigma_t * noise. + + Args: + x: A `torch.Tensor` with shape `(batch_size, *shape)`. + t: A `torch.Tensor` with shape `(t_size,)`. + Returns: + xt with shape `(t_size, batch_size, *shape)`. + """ + alpha_t, sigma_t = self.noise_schedule.marginal_alpha(t), self.noise_schedule.marginal_std(t) + if noise is None: + noise = torch.randn((t.shape[0], *x.shape), device=x.device) + x = x.reshape((-1, *x.shape)) + xt = expand_dims(alpha_t, x.dim()) * x + expand_dims(sigma_t, x.dim()) * noise + if t.shape[0] == 1: + return xt.squeeze(0) + else: + return xt + + def inverse(self, x, steps=20, t_start=None, t_end=None, order=2, skip_type='time_uniform', + method='multistep', lower_order_final=True, denoise_to_zero=False, solver_type='dpmsolver', + atol=0.0078, rtol=0.05, return_intermediate=False, + ): + """ + Inverse the sample `x` from time `t_start` to `t_end` by DPM-Solver. + For discrete-time DPMs, we use `t_start=1/N`, where `N` is the total time steps during training. + """ + t_0 = 1. / self.noise_schedule.total_N if t_start is None else t_start + t_T = self.noise_schedule.T if t_end is None else t_end + assert t_0 > 0 and t_T > 0, "Time range needs to be greater than 0. For discrete-time DPMs, it needs to be in [1 / N, 1], where N is the length of betas array" + return self.sample(x, steps=steps, t_start=t_0, t_end=t_T, order=order, skip_type=skip_type, + method=method, lower_order_final=lower_order_final, denoise_to_zero=denoise_to_zero, solver_type=solver_type, + atol=atol, rtol=rtol, return_intermediate=return_intermediate) + + def sample(self, x, steps=20, t_start=None, t_end=None, order=2, skip_type='time_uniform', + method='multistep', lower_order_final=True, denoise_to_zero=False, solver_type='dpmsolver', + atol=0.0078, rtol=0.05, return_intermediate=False, + ): + """ + Compute the sample at time `t_end` by DPM-Solver, given the initial `x` at time `t_start`. + + ===================================================== + + We support the following algorithms for both noise prediction model and data prediction model: + - 'singlestep': + Singlestep DPM-Solver (i.e. "DPM-Solver-fast" in the paper), which combines different orders of singlestep DPM-Solver. + We combine all the singlestep solvers with order <= `order` to use up all the function evaluations (steps). + The total number of function evaluations (NFE) == `steps`. + Given a fixed NFE == `steps`, the sampling procedure is: + - If `order` == 1: + - Denote K = steps. We use K steps of DPM-Solver-1 (i.e. DDIM). + - If `order` == 2: + - Denote K = (steps // 2) + (steps % 2). We take K intermediate time steps for sampling. + - If steps % 2 == 0, we use K steps of singlestep DPM-Solver-2. + - If steps % 2 == 1, we use (K - 1) steps of singlestep DPM-Solver-2 and 1 step of DPM-Solver-1. + - If `order` == 3: + - Denote K = (steps // 3 + 1). We take K intermediate time steps for sampling. + - If steps % 3 == 0, we use (K - 2) steps of singlestep DPM-Solver-3, and 1 step of singlestep DPM-Solver-2 and 1 step of DPM-Solver-1. + - If steps % 3 == 1, we use (K - 1) steps of singlestep DPM-Solver-3 and 1 step of DPM-Solver-1. + - If steps % 3 == 2, we use (K - 1) steps of singlestep DPM-Solver-3 and 1 step of singlestep DPM-Solver-2. + - 'multistep': + Multistep DPM-Solver with the order of `order`. The total number of function evaluations (NFE) == `steps`. + We initialize the first `order` values by lower order multistep solvers. + Given a fixed NFE == `steps`, the sampling procedure is: + Denote K = steps. + - If `order` == 1: + - We use K steps of DPM-Solver-1 (i.e. DDIM). + - If `order` == 2: + - We firstly use 1 step of DPM-Solver-1, then use (K - 1) step of multistep DPM-Solver-2. + - If `order` == 3: + - We firstly use 1 step of DPM-Solver-1, then 1 step of multistep DPM-Solver-2, then (K - 2) step of multistep DPM-Solver-3. + - 'singlestep_fixed': + Fixed order singlestep DPM-Solver (i.e. DPM-Solver-1 or singlestep DPM-Solver-2 or singlestep DPM-Solver-3). + We use singlestep DPM-Solver-`order` for `order`=1 or 2 or 3, with total [`steps` // `order`] * `order` NFE. + - 'adaptive': + Adaptive step size DPM-Solver (i.e. "DPM-Solver-12" and "DPM-Solver-23" in the paper). + We ignore `steps` and use adaptive step size DPM-Solver with a higher order of `order`. + You can adjust the absolute tolerance `atol` and the relative tolerance `rtol` to balance the computatation costs + (NFE) and the sample quality. + - If `order` == 2, we use DPM-Solver-12 which combines DPM-Solver-1 and singlestep DPM-Solver-2. + - If `order` == 3, we use DPM-Solver-23 which combines singlestep DPM-Solver-2 and singlestep DPM-Solver-3. + + ===================================================== + + Some advices for choosing the algorithm: + - For **unconditional sampling** or **guided sampling with small guidance scale** by DPMs: + Use singlestep DPM-Solver or DPM-Solver++ ("DPM-Solver-fast" in the paper) with `order = 3`. + e.g., DPM-Solver: + >>> dpm_solver = DPM_Solver(model_fn, noise_schedule, algorithm_type="dpmsolver") + >>> x_sample = dpm_solver.sample(x, steps=steps, t_start=t_start, t_end=t_end, order=3, + skip_type='time_uniform', method='singlestep') + e.g., DPM-Solver++: + >>> dpm_solver = DPM_Solver(model_fn, noise_schedule, algorithm_type="dpmsolver++") + >>> x_sample = dpm_solver.sample(x, steps=steps, t_start=t_start, t_end=t_end, order=3, + skip_type='time_uniform', method='singlestep') + - For **guided sampling with large guidance scale** by DPMs: + Use multistep DPM-Solver with `algorithm_type="dpmsolver++"` and `order = 2`. + e.g. + >>> dpm_solver = DPM_Solver(model_fn, noise_schedule, algorithm_type="dpmsolver++") + >>> x_sample = dpm_solver.sample(x, steps=steps, t_start=t_start, t_end=t_end, order=2, + skip_type='time_uniform', method='multistep') + + We support three types of `skip_type`: + - 'logSNR': uniform logSNR for the time steps. **Recommended for low-resolutional images** + - 'time_uniform': uniform time for the time steps. **Recommended for high-resolutional images**. + - 'time_quadratic': quadratic time for the time steps. + + ===================================================== + Args: + x: A pytorch tensor. The initial value at time `t_start` + e.g. if `t_start` == T, then `x` is a sample from the standard normal distribution. + steps: A `int`. The total number of function evaluations (NFE). + t_start: A `float`. The starting time of the sampling. + If `T` is None, we use self.noise_schedule.T (default is 1.0). + t_end: A `float`. The ending time of the sampling. + If `t_end` is None, we use 1. / self.noise_schedule.total_N. + e.g. if total_N == 1000, we have `t_end` == 1e-3. + For discrete-time DPMs: + - We recommend `t_end` == 1. / self.noise_schedule.total_N. + For continuous-time DPMs: + - We recommend `t_end` == 1e-3 when `steps` <= 15; and `t_end` == 1e-4 when `steps` > 15. + order: A `int`. The order of DPM-Solver. + skip_type: A `str`. The type for the spacing of the time steps. 'time_uniform' or 'logSNR' or 'time_quadratic'. + method: A `str`. The method for sampling. 'singlestep' or 'multistep' or 'singlestep_fixed' or 'adaptive'. + denoise_to_zero: A `bool`. Whether to denoise to time 0 at the final step. + Default is `False`. If `denoise_to_zero` is `True`, the total NFE is (`steps` + 1). + + This trick is firstly proposed by DDPM (https://arxiv.org/abs/2006.11239) and + score_sde (https://arxiv.org/abs/2011.13456). Such trick can improve the FID + for diffusion models sampling by diffusion SDEs for low-resolutional images + (such as CIFAR-10). However, we observed that such trick does not matter for + high-resolutional images. As it needs an additional NFE, we do not recommend + it for high-resolutional images. + lower_order_final: A `bool`. Whether to use lower order solvers at the final steps. + Only valid for `method=multistep` and `steps < 15`. We empirically find that + this trick is a key to stabilizing the sampling by DPM-Solver with very few steps + (especially for steps <= 10). So we recommend to set it to be `True`. + solver_type: A `str`. The taylor expansion type for the solver. `dpmsolver` or `taylor`. We recommend `dpmsolver`. + atol: A `float`. The absolute tolerance of the adaptive step size solver. Valid when `method` == 'adaptive'. + rtol: A `float`. The relative tolerance of the adaptive step size solver. Valid when `method` == 'adaptive'. + return_intermediate: A `bool`. Whether to save the xt at each step. + When set to `True`, method returns a tuple (x0, intermediates); when set to False, method returns only x0. + Returns: + x_end: A pytorch tensor. The approximated solution at time `t_end`. + + """ + t_0 = 1. / self.noise_schedule.total_N if t_end is None else t_end + t_T = self.noise_schedule.T if t_start is None else t_start + assert t_0 > 0 and t_T > 0, "Time range needs to be greater than 0. For discrete-time DPMs, it needs to be in [1 / N, 1], where N is the length of betas array" + if return_intermediate: + assert method in ['multistep', 'singlestep', 'singlestep_fixed'], "Cannot use adaptive solver when saving intermediate values" + if self.correcting_xt_fn is not None: + assert method in ['multistep', 'singlestep', 'singlestep_fixed'], "Cannot use adaptive solver when correcting_xt_fn is not None" + device = x.device + intermediates = [] + with torch.no_grad(): + if method == 'adaptive': + x = self.dpm_solver_adaptive(x, order=order, t_T=t_T, t_0=t_0, atol=atol, rtol=rtol, solver_type=solver_type) + elif method == 'multistep': + assert steps >= order + timesteps = self.get_time_steps(skip_type=skip_type, t_T=t_T, t_0=t_0, N=steps, device=device) + assert timesteps.shape[0] - 1 == steps + # Init the initial values. + step = 0 + t = timesteps[step] + t_prev_list = [t] + model_prev_list = [self.model_fn(x, t)] + if self.correcting_xt_fn is not None: + x = self.correcting_xt_fn(x, t, step) + if return_intermediate: + intermediates.append(x) + # Init the first `order` values by lower order multistep DPM-Solver. + for step in range(1, order): + t = timesteps[step] + x = self.multistep_dpm_solver_update(x, model_prev_list, t_prev_list, t, step, solver_type=solver_type) + if self.correcting_xt_fn is not None: + x = self.correcting_xt_fn(x, t, step) + if return_intermediate: + intermediates.append(x) + t_prev_list.append(t) + model_prev_list.append(self.model_fn(x, t)) + # Compute the remaining values by `order`-th order multistep DPM-Solver. + for step in range(order, steps + 1): + t = timesteps[step] + # We only use lower order for steps < 10 + if lower_order_final and steps < 10: + step_order = min(order, steps + 1 - step) + else: + step_order = order + x = self.multistep_dpm_solver_update(x, model_prev_list, t_prev_list, t, step_order, solver_type=solver_type) + if self.correcting_xt_fn is not None: + x = self.correcting_xt_fn(x, t, step) + if return_intermediate: + intermediates.append(x) + for i in range(order - 1): + t_prev_list[i] = t_prev_list[i + 1] + model_prev_list[i] = model_prev_list[i + 1] + t_prev_list[-1] = t + # We do not need to evaluate the final model value. + if step < steps: + model_prev_list[-1] = self.model_fn(x, t) + elif method in ['singlestep', 'singlestep_fixed']: + if method == 'singlestep': + timesteps_outer, orders = self.get_orders_and_timesteps_for_singlestep_solver(steps=steps, order=order, skip_type=skip_type, t_T=t_T, t_0=t_0, device=device) + elif method == 'singlestep_fixed': + K = steps // order + orders = [order,] * K + timesteps_outer = self.get_time_steps(skip_type=skip_type, t_T=t_T, t_0=t_0, N=K, device=device) + for step, order in enumerate(orders): + s, t = timesteps_outer[step], timesteps_outer[step + 1] + timesteps_inner = self.get_time_steps(skip_type=skip_type, t_T=s.item(), t_0=t.item(), N=order, device=device) + lambda_inner = self.noise_schedule.marginal_lambda(timesteps_inner) + h = lambda_inner[-1] - lambda_inner[0] + r1 = None if order <= 1 else (lambda_inner[1] - lambda_inner[0]) / h + r2 = None if order <= 2 else (lambda_inner[2] - lambda_inner[0]) / h + x = self.singlestep_dpm_solver_update(x, s, t, order, solver_type=solver_type, r1=r1, r2=r2) + if self.correcting_xt_fn is not None: + x = self.correcting_xt_fn(x, t, step) + if return_intermediate: + intermediates.append(x) + else: + raise ValueError("Got wrong method {}".format(method)) + if denoise_to_zero: + t = torch.ones((1,)).to(device) * t_0 + x = self.denoise_to_zero_fn(x, t) + if self.correcting_xt_fn is not None: + x = self.correcting_xt_fn(x, t, step + 1) + if return_intermediate: + intermediates.append(x) + if return_intermediate: + return x, intermediates + else: + return x + + + +############################################################# +# other utility functions +############################################################# + +def interpolate_fn(x, xp, yp): + """ + A piecewise linear function y = f(x), using xp and yp as keypoints. + We implement f(x) in a differentiable way (i.e. applicable for autograd). + The function f(x) is well-defined for all x-axis. (For x beyond the bounds of xp, we use the outmost points of xp to define the linear function.) + + Args: + x: PyTorch tensor with shape [N, C], where N is the batch size, C is the number of channels (we use C = 1 for DPM-Solver). + xp: PyTorch tensor with shape [C, K], where K is the number of keypoints. + yp: PyTorch tensor with shape [C, K]. + Returns: + The function values f(x), with shape [N, C]. + """ + N, K = x.shape[0], xp.shape[1] + all_x = torch.cat([x.unsqueeze(2), xp.unsqueeze(0).repeat((N, 1, 1))], dim=2) + sorted_all_x, x_indices = torch.sort(all_x, dim=2) + x_idx = torch.argmin(x_indices, dim=2) + cand_start_idx = x_idx - 1 + start_idx = torch.where( + torch.eq(x_idx, 0), + torch.tensor(1, device=x.device), + torch.where( + torch.eq(x_idx, K), torch.tensor(K - 2, device=x.device), cand_start_idx, + ), + ) + end_idx = torch.where(torch.eq(start_idx, cand_start_idx), start_idx + 2, start_idx + 1) + start_x = torch.gather(sorted_all_x, dim=2, index=start_idx.unsqueeze(2)).squeeze(2) + end_x = torch.gather(sorted_all_x, dim=2, index=end_idx.unsqueeze(2)).squeeze(2) + start_idx2 = torch.where( + torch.eq(x_idx, 0), + torch.tensor(0, device=x.device), + torch.where( + torch.eq(x_idx, K), torch.tensor(K - 2, device=x.device), cand_start_idx, + ), + ) + y_positions_expanded = yp.unsqueeze(0).expand(N, -1, -1) + start_y = torch.gather(y_positions_expanded, dim=2, index=start_idx2.unsqueeze(2)).squeeze(2) + end_y = torch.gather(y_positions_expanded, dim=2, index=(start_idx2 + 1).unsqueeze(2)).squeeze(2) + cand = start_y + (x - start_x) * (end_y - start_y) / (end_x - start_x) + return cand + + +def expand_dims(v, dims): + """ + Expand the tensor `v` to the dim `dims`. + + Args: + `v`: a PyTorch tensor with shape [N]. + `dim`: a `int`. + Returns: + a PyTorch tensor with shape [N, 1, 1, ..., 1] and the total dimension is `dims`. + """ + return v[(...,) + (None,)*(dims - 1)] \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/core/dpm_solver_pytorch_no_noise.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/core/dpm_solver_pytorch_no_noise.py new file mode 100644 index 0000000000000000000000000000000000000000..f20c5b5a8a6f216a180717fde135c3bac055f9c0 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/core/dpm_solver_pytorch_no_noise.py @@ -0,0 +1,1306 @@ +import torch +import torch.nn.functional as F +import math + + +class NoiseScheduleVP: + def __init__( + self, + schedule='discrete', + betas=None, + alphas_cumprod=None, + continuous_beta_0=0.1, + continuous_beta_1=20., + dtype=torch.float32, + ): + """Create a wrapper class for the forward SDE (VP type). + + *** + Update: We support discrete-time diffusion models by implementing a picewise linear interpolation for log_alpha_t. + We recommend to use schedule='discrete' for the discrete-time diffusion models, especially for high-resolution images. + *** + + The forward SDE ensures that the condition distribution q_{t|0}(x_t | x_0) = N ( alpha_t * x_0, sigma_t^2 * I ). + We further define lambda_t = log(alpha_t) - log(sigma_t), which is the half-logSNR (described in the DPM-Solver paper). + Therefore, we implement the functions for computing alpha_t, sigma_t and lambda_t. For t in [0, T], we have: + + log_alpha_t = self.marginal_log_mean_coeff(t) + sigma_t = self.marginal_std(t) + lambda_t = self.marginal_lambda(t) + + Moreover, as lambda(t) is an invertible function, we also support its inverse function: + + t = self.inverse_lambda(lambda_t) + + =============================================================== + + We support both discrete-time DPMs (trained on n = 0, 1, ..., N-1) and continuous-time DPMs (trained on t in [t_0, T]). + + 1. For discrete-time DPMs: + + For discrete-time DPMs trained on n = 0, 1, ..., N-1, we convert the discrete steps to continuous time steps by: + t_i = (i + 1) / N + e.g. for N = 1000, we have t_0 = 1e-3 and T = t_{N-1} = 1. + We solve the corresponding diffusion ODE from time T = 1 to time t_0 = 1e-3. + + Args: + betas: A `torch.Tensor`. The beta array for the discrete-time DPM. (See the original DDPM paper for details) + alphas_cumprod: A `torch.Tensor`. The cumprod alphas for the discrete-time DPM. (See the original DDPM paper for details) + + Note that we always have alphas_cumprod = cumprod(1 - betas). Therefore, we only need to set one of `betas` and `alphas_cumprod`. + + **Important**: Please pay special attention for the args for `alphas_cumprod`: + The `alphas_cumprod` is the \hat{alpha_n} arrays in the notations of DDPM. Specifically, DDPMs assume that + q_{t_n | 0}(x_{t_n} | x_0) = N ( \sqrt{\hat{alpha_n}} * x_0, (1 - \hat{alpha_n}) * I ). + Therefore, the notation \hat{alpha_n} is different from the notation alpha_t in DPM-Solver. In fact, we have + alpha_{t_n} = \sqrt{\hat{alpha_n}}, + and + log(alpha_{t_n}) = 0.5 * log(\hat{alpha_n}). + + + 2. For continuous-time DPMs: + + We support the linear VPSDE for the continuous time setting. The hyperparameters for the noise + schedule are the default settings in Yang Song's ScoreSDE: + + Args: + beta_min: A `float` number. The smallest beta for the linear schedule. + beta_max: A `float` number. The largest beta for the linear schedule. + T: A `float` number. The ending time of the forward process. + + =============================================================== + + Args: + schedule: A `str`. The noise schedule of the forward SDE. 'discrete' for discrete-time DPMs, + 'linear' for continuous-time DPMs. + Returns: + A wrapper object of the forward SDE (VP type). + + =============================================================== + + Example: + + # For discrete-time DPMs, given betas (the beta array for n = 0, 1, ..., N - 1): + >>> ns = NoiseScheduleVP('discrete', betas=betas) + + # For discrete-time DPMs, given alphas_cumprod (the \hat{alpha_n} array for n = 0, 1, ..., N - 1): + >>> ns = NoiseScheduleVP('discrete', alphas_cumprod=alphas_cumprod) + + # For continuous-time DPMs (VPSDE), linear schedule: + >>> ns = NoiseScheduleVP('linear', continuous_beta_0=0.1, continuous_beta_1=20.) + + """ + + if schedule not in ['discrete', 'linear']: + raise ValueError("Unsupported noise schedule {}. The schedule needs to be 'discrete' or 'linear'".format(schedule)) + + self.schedule = schedule + if schedule == 'discrete': + if betas is not None: + log_alphas = 0.5 * torch.log(1 - betas).cumsum(dim=0) + else: + assert alphas_cumprod is not None + log_alphas = 0.5 * torch.log(alphas_cumprod) + self.T = 1. + self.log_alpha_array = self.numerical_clip_alpha(log_alphas).reshape((1, -1,)).to(dtype=dtype) + self.total_N = self.log_alpha_array.shape[1] + self.t_array = torch.linspace(0., 1., self.total_N + 1)[1:].reshape((1, -1)).to(dtype=dtype) + else: + self.T = 1. + self.total_N = 1000 + self.beta_0 = continuous_beta_0 + self.beta_1 = continuous_beta_1 + + def numerical_clip_alpha(self, log_alphas, clipped_lambda=-5.1): + """ + For some beta schedules such as cosine schedule, the log-SNR has numerical isssues. + We clip the log-SNR near t=T within -5.1 to ensure the stability. + Such a trick is very useful for diffusion models with the cosine schedule, such as i-DDPM, guided-diffusion and GLIDE. + """ + log_sigmas = 0.5 * torch.log(1. - torch.exp(2. * log_alphas)) + lambs = log_alphas - log_sigmas + idx = torch.searchsorted(torch.flip(lambs, [0]), clipped_lambda) + if idx > 0: + log_alphas = log_alphas[:-idx] + return log_alphas + + def marginal_log_mean_coeff(self, t): + """ + Compute log(alpha_t) of a given continuous-time label t in [0, T]. + """ + if self.schedule == 'discrete': + return interpolate_fn(t.reshape((-1, 1)), self.t_array.to(t.device), self.log_alpha_array.to(t.device)).reshape((-1)) + elif self.schedule == 'linear': + return -0.25 * t ** 2 * (self.beta_1 - self.beta_0) - 0.5 * t * self.beta_0 + + def marginal_alpha(self, t): + """ + Compute alpha_t of a given continuous-time label t in [0, T]. + """ + return torch.exp(self.marginal_log_mean_coeff(t)) + + def marginal_std(self, t): + """ + Compute sigma_t of a given continuous-time label t in [0, T]. + """ + return torch.sqrt(1. - torch.exp(2. * self.marginal_log_mean_coeff(t))) + + def marginal_lambda(self, t): + """ + Compute lambda_t = log(alpha_t) - log(sigma_t) of a given continuous-time label t in [0, T]. + """ + log_mean_coeff = self.marginal_log_mean_coeff(t) + log_std = 0.5 * torch.log(1. - torch.exp(2. * log_mean_coeff)) + return log_mean_coeff - log_std + + def inverse_lambda(self, lamb): + """ + Compute the continuous-time label t in [0, T] of a given half-logSNR lambda_t. + """ + if self.schedule == 'linear': + tmp = 2. * (self.beta_1 - self.beta_0) * torch.logaddexp(-2. * lamb, torch.zeros((1,)).to(lamb)) + Delta = self.beta_0**2 + tmp + return tmp / (torch.sqrt(Delta) + self.beta_0) / (self.beta_1 - self.beta_0) + elif self.schedule == 'discrete': + log_alpha = -0.5 * torch.logaddexp(torch.zeros((1,)).to(lamb.device), -2. * lamb) + t = interpolate_fn(log_alpha.reshape((-1, 1)), torch.flip(self.log_alpha_array.to(lamb.device), [1]), torch.flip(self.t_array.to(lamb.device), [1])) + return t.reshape((-1,)) + + +def model_wrapper( + model, + noise_schedule, + model_type="noise", + model_kwargs={}, + guidance_type="uncond", + condition=None, + unconditional_condition=None, + guidance_scale=1., + classifier_fn=None, + classifier_kwargs={}, +): + """Create a wrapper function for the noise prediction model. + + DPM-Solver needs to solve the continuous-time diffusion ODEs. For DPMs trained on discrete-time labels, we need to + firstly wrap the model function to a noise prediction model that accepts the continuous time as the input. + + We support four types of the diffusion model by setting `model_type`: + + 1. "noise": noise prediction model. (Trained by predicting noise). + + 2. "x_start": data prediction model. (Trained by predicting the data x_0 at time 0). + + 3. "v": velocity prediction model. (Trained by predicting the velocity). + The "v" prediction is derivation detailed in Appendix D of [1], and is used in Imagen-Video [2]. + + [1] Salimans, Tim, and Jonathan Ho. "Progressive distillation for fast sampling of diffusion models." + arXiv preprint arXiv:2202.00512 (2022). + [2] Ho, Jonathan, et al. "Imagen Video: High Definition Video Generation with Diffusion Models." + arXiv preprint arXiv:2210.02303 (2022). + + 4. "score": marginal score function. (Trained by denoising score matching). + Note that the score function and the noise prediction model follows a simple relationship: + ``` + noise(x_t, t) = -sigma_t * score(x_t, t) + ``` + + We support three types of guided sampling by DPMs by setting `guidance_type`: + 1. "uncond": unconditional sampling by DPMs. + The input `model` has the following format: + `` + model(x, t_input, **model_kwargs) -> noise | x_start | v | score + `` + + 2. "classifier": classifier guidance sampling [3] by DPMs and another classifier. + The input `model` has the following format: + `` + model(x, t_input, **model_kwargs) -> noise | x_start | v | score + `` + + The input `classifier_fn` has the following format: + `` + classifier_fn(x, t_input, cond, **classifier_kwargs) -> logits(x, t_input, cond) + `` + + [3] P. Dhariwal and A. Q. Nichol, "Diffusion models beat GANs on image synthesis," + in Advances in Neural Information Processing Systems, vol. 34, 2021, pp. 8780-8794. + + 3. "classifier-free": classifier-free guidance sampling by conditional DPMs. + The input `model` has the following format: + `` + model(x, t_input, cond, **model_kwargs) -> noise | x_start | v | score + `` + And if cond == `unconditional_condition`, the model output is the unconditional DPM output. + + [4] Ho, Jonathan, and Tim Salimans. "Classifier-free diffusion guidance." + arXiv preprint arXiv:2207.12598 (2022). + + + The `t_input` is the time label of the model, which may be discrete-time labels (i.e. 0 to 999) + or continuous-time labels (i.e. epsilon to T). + + We wrap the model function to accept only `x` and `t_continuous` as inputs, and outputs the predicted noise: + `` + def model_fn(x, t_continuous) -> noise: + t_input = get_model_input_time(t_continuous) + return noise_pred(model, x, t_input, **model_kwargs) + `` + where `t_continuous` is the continuous time labels (i.e. epsilon to T). And we use `model_fn` for DPM-Solver. + + =============================================================== + + Args: + model: A diffusion model with the corresponding format described above. + noise_schedule: A noise schedule object, such as NoiseScheduleVP. + model_type: A `str`. The parameterization type of the diffusion model. + "noise" or "x_start" or "v" or "score". + model_kwargs: A `dict`. A dict for the other inputs of the model function. + guidance_type: A `str`. The type of the guidance for sampling. + "uncond" or "classifier" or "classifier-free". + condition: A pytorch tensor. The condition for the guided sampling. + Only used for "classifier" or "classifier-free" guidance type. + unconditional_condition: A pytorch tensor. The condition for the unconditional sampling. + Only used for "classifier-free" guidance type. + guidance_scale: A `float`. The scale for the guided sampling. + classifier_fn: A classifier function. Only used for the classifier guidance. + classifier_kwargs: A `dict`. A dict for the other inputs of the classifier function. + Returns: + A noise prediction model that accepts the noised data and the continuous time as the inputs. + """ + + def get_model_input_time(t_continuous): + """ + Convert the continuous-time `t_continuous` (in [epsilon, T]) to the model input time. + For discrete-time DPMs, we convert `t_continuous` in [1 / N, 1] to `t_input` in [0, 1000 * (N - 1) / N]. + For continuous-time DPMs, we just use `t_continuous`. + """ + if noise_schedule.schedule == 'discrete': + return (t_continuous - 1. / noise_schedule.total_N) * 1000. + else: + return t_continuous + + def noise_pred_fn(x, t_continuous, cond=None): + t_input = get_model_input_time(t_continuous) + if cond is None: + output = model(x, t_input, **model_kwargs) + else: + # output = model(x, t_input, cond, **model_kwargs) zxc + output = model(cond, t_input, **model_kwargs) + if model_type == "noise": + return output + elif model_type == "x_start": + alpha_t, sigma_t = noise_schedule.marginal_alpha(t_continuous), noise_schedule.marginal_std(t_continuous) + return (x - alpha_t * output) / sigma_t + elif model_type == "v": + alpha_t, sigma_t = noise_schedule.marginal_alpha(t_continuous), noise_schedule.marginal_std(t_continuous) + return alpha_t * output + sigma_t * x + elif model_type == "score": + sigma_t = noise_schedule.marginal_std(t_continuous) + return -sigma_t * output + + def cond_grad_fn(x, t_input): + """ + Compute the gradient of the classifier, i.e. nabla_{x} log p_t(cond | x_t). + """ + with torch.enable_grad(): + x_in = x.detach().requires_grad_(True) + log_prob = classifier_fn(x_in, t_input, condition, **classifier_kwargs) + return torch.autograd.grad(log_prob.sum(), x_in)[0] + + def model_fn(x, t_continuous): + """ + The noise predicition model function that is used for DPM-Solver. + """ + if guidance_type == "uncond": + return noise_pred_fn(x, t_continuous) + elif guidance_type == "classifier": + assert classifier_fn is not None + t_input = get_model_input_time(t_continuous) + cond_grad = cond_grad_fn(x, t_input) + sigma_t = noise_schedule.marginal_std(t_continuous) + noise = noise_pred_fn(x, t_continuous) + return noise - guidance_scale * expand_dims(sigma_t, x.dim()) * cond_grad + elif guidance_type == "classifier-free": + if guidance_scale == 1. or unconditional_condition is None: + return noise_pred_fn(x, t_continuous, cond=condition) + else: + x_in = torch.cat([x] * 2) + t_in = torch.cat([t_continuous] * 2) + c_in = torch.cat([unconditional_condition, condition]) + noise_uncond, noise = noise_pred_fn(x_in, t_in, cond=c_in).chunk(2) + return noise_uncond + guidance_scale * (noise - noise_uncond) + + assert model_type in ["noise", "x_start", "v", "score"] + assert guidance_type in ["uncond", "classifier", "classifier-free"] + return model_fn + + +class DPM_Solver: + def __init__( + self, + model_fn, + noise_schedule, + algorithm_type="dpmsolver++", + correcting_x0_fn=None, + correcting_xt_fn=None, + thresholding_max_val=1., + dynamic_thresholding_ratio=0.995, + ): + """Construct a DPM-Solver. + + We support both DPM-Solver (`algorithm_type="dpmsolver"`) and DPM-Solver++ (`algorithm_type="dpmsolver++"`). + + We also support the "dynamic thresholding" method in Imagen[1]. For pixel-space diffusion models, you + can set both `algorithm_type="dpmsolver++"` and `correcting_x0_fn="dynamic_thresholding"` to use the + dynamic thresholding. The "dynamic thresholding" can greatly improve the sample quality for pixel-space + DPMs with large guidance scales. Note that the thresholding method is **unsuitable** for latent-space + DPMs (such as stable-diffusion). + + To support advanced algorithms in image-to-image applications, we also support corrector functions for + both x0 and xt. + + Args: + model_fn: A noise prediction model function which accepts the continuous-time input (t in [epsilon, T]): + `` + def model_fn(x, t_continuous): + return noise + `` + The shape of `x` is `(batch_size, **shape)`, and the shape of `t_continuous` is `(batch_size,)`. + noise_schedule: A noise schedule object, such as NoiseScheduleVP. + algorithm_type: A `str`. Either "dpmsolver" or "dpmsolver++". + correcting_x0_fn: A `str` or a function with the following format: + ``` + def correcting_x0_fn(x0, t): + x0_new = ... + return x0_new + ``` + This function is to correct the outputs of the data prediction model at each sampling step. e.g., + ``` + x0_pred = data_pred_model(xt, t) + if correcting_x0_fn is not None: + x0_pred = correcting_x0_fn(x0_pred, t) + xt_1 = update(x0_pred, xt, t) + ``` + If `correcting_x0_fn="dynamic_thresholding"`, we use the dynamic thresholding proposed in Imagen[1]. + correcting_xt_fn: A function with the following format: + ``` + def correcting_xt_fn(xt, t, step): + x_new = ... + return x_new + ``` + This function is to correct the intermediate samples xt at each sampling step. e.g., + ``` + xt = ... + xt = correcting_xt_fn(xt, t, step) + ``` + thresholding_max_val: A `float`. The max value for thresholding. + Valid only when use `dpmsolver++` and `correcting_x0_fn="dynamic_thresholding"`. + dynamic_thresholding_ratio: A `float`. The ratio for dynamic thresholding (see Imagen[1] for details). + Valid only when use `dpmsolver++` and `correcting_x0_fn="dynamic_thresholding"`. + + [1] Chitwan Saharia, William Chan, Saurabh Saxena, Lala Li, Jay Whang, Emily Denton, Seyed Kamyar Seyed Ghasemipour, + Burcu Karagol Ayan, S Sara Mahdavi, Rapha Gontijo Lopes, et al. Photorealistic text-to-image diffusion models + with deep language understanding. arXiv preprint arXiv:2205.11487, 2022b. + """ + self.model = lambda x, t: model_fn(x, t.expand((x.shape[0]))) + self.noise_schedule = noise_schedule + assert algorithm_type in ["dpmsolver", "dpmsolver++"] + self.algorithm_type = algorithm_type + if correcting_x0_fn == "dynamic_thresholding": + self.correcting_x0_fn = self.dynamic_thresholding_fn + else: + self.correcting_x0_fn = correcting_x0_fn + self.correcting_xt_fn = correcting_xt_fn + self.dynamic_thresholding_ratio = dynamic_thresholding_ratio + self.thresholding_max_val = thresholding_max_val + + def dynamic_thresholding_fn(self, x0, t): + """ + The dynamic thresholding method. + """ + dims = x0.dim() + p = self.dynamic_thresholding_ratio + s = torch.quantile(torch.abs(x0).reshape((x0.shape[0], -1)), p, dim=1) + s = expand_dims(torch.maximum(s, self.thresholding_max_val * torch.ones_like(s).to(s.device)), dims) + x0 = torch.clamp(x0, -s, s) / s + return x0 + + def noise_prediction_fn(self, x, t): + """ + Return the noise prediction model. + """ + return self.model(x, t) + + def data_prediction_fn(self, x, t): + """ + Return the data prediction model (with corrector). + """ + noise = self.noise_prediction_fn(x, t) + alpha_t, sigma_t = self.noise_schedule.marginal_alpha(t), self.noise_schedule.marginal_std(t) + x0 = (x - sigma_t * noise) / alpha_t + if self.correcting_x0_fn is not None: + x0 = self.correcting_x0_fn(x0, t) + return x0 + + def model_fn(self, x, t): + """ + Convert the model to the noise prediction model or the data prediction model. + """ + if self.algorithm_type == "dpmsolver++": + return self.data_prediction_fn(x, t) + else: + return self.noise_prediction_fn(x, t) + + def get_time_steps(self, skip_type, t_T, t_0, N, device): + """Compute the intermediate time steps for sampling. + + Args: + skip_type: A `str`. The type for the spacing of the time steps. We support three types: + - 'logSNR': uniform logSNR for the time steps. + - 'time_uniform': uniform time for the time steps. (**Recommended for high-resolutional data**.) + - 'time_quadratic': quadratic time for the time steps. (Used in DDIM for low-resolutional data.) + t_T: A `float`. The starting time of the sampling (default is T). + t_0: A `float`. The ending time of the sampling (default is epsilon). + N: A `int`. The total number of the spacing of the time steps. + device: A torch device. + Returns: + A pytorch tensor of the time steps, with the shape (N + 1,). + """ + if skip_type == 'logSNR': + lambda_T = self.noise_schedule.marginal_lambda(torch.tensor(t_T).to(device)) + lambda_0 = self.noise_schedule.marginal_lambda(torch.tensor(t_0).to(device)) + logSNR_steps = torch.linspace(lambda_T.cpu().item(), lambda_0.cpu().item(), N + 1).to(device) + return self.noise_schedule.inverse_lambda(logSNR_steps) + elif skip_type == 'time_uniform': + return torch.linspace(t_T, t_0, N + 1).to(device) + elif skip_type == 'time_quadratic': + t_order = 2 + t = torch.linspace(t_T**(1. / t_order), t_0**(1. / t_order), N + 1).pow(t_order).to(device) + return t + else: + raise ValueError("Unsupported skip_type {}, need to be 'logSNR' or 'time_uniform' or 'time_quadratic'".format(skip_type)) + + def get_orders_and_timesteps_for_singlestep_solver(self, steps, order, skip_type, t_T, t_0, device): + """ + Get the order of each step for sampling by the singlestep DPM-Solver. + + We combine both DPM-Solver-1,2,3 to use all the function evaluations, which is named as "DPM-Solver-fast". + Given a fixed number of function evaluations by `steps`, the sampling procedure by DPM-Solver-fast is: + - If order == 1: + We take `steps` of DPM-Solver-1 (i.e. DDIM). + - If order == 2: + - Denote K = (steps // 2). We take K or (K + 1) intermediate time steps for sampling. + - If steps % 2 == 0, we use K steps of DPM-Solver-2. + - If steps % 2 == 1, we use K steps of DPM-Solver-2 and 1 step of DPM-Solver-1. + - If order == 3: + - Denote K = (steps // 3 + 1). We take K intermediate time steps for sampling. + - If steps % 3 == 0, we use (K - 2) steps of DPM-Solver-3, and 1 step of DPM-Solver-2 and 1 step of DPM-Solver-1. + - If steps % 3 == 1, we use (K - 1) steps of DPM-Solver-3 and 1 step of DPM-Solver-1. + - If steps % 3 == 2, we use (K - 1) steps of DPM-Solver-3 and 1 step of DPM-Solver-2. + + ============================================ + Args: + order: A `int`. The max order for the solver (2 or 3). + steps: A `int`. The total number of function evaluations (NFE). + skip_type: A `str`. The type for the spacing of the time steps. We support three types: + - 'logSNR': uniform logSNR for the time steps. + - 'time_uniform': uniform time for the time steps. (**Recommended for high-resolutional data**.) + - 'time_quadratic': quadratic time for the time steps. (Used in DDIM for low-resolutional data.) + t_T: A `float`. The starting time of the sampling (default is T). + t_0: A `float`. The ending time of the sampling (default is epsilon). + device: A torch device. + Returns: + orders: A list of the solver order of each step. + """ + if order == 3: + K = steps // 3 + 1 + if steps % 3 == 0: + orders = [3,] * (K - 2) + [2, 1] + elif steps % 3 == 1: + orders = [3,] * (K - 1) + [1] + else: + orders = [3,] * (K - 1) + [2] + elif order == 2: + if steps % 2 == 0: + K = steps // 2 + orders = [2,] * K + else: + K = steps // 2 + 1 + orders = [2,] * (K - 1) + [1] + elif order == 1: + K = 1 + orders = [1,] * steps + else: + raise ValueError("'order' must be '1' or '2' or '3'.") + if skip_type == 'logSNR': + # To reproduce the results in DPM-Solver paper + timesteps_outer = self.get_time_steps(skip_type, t_T, t_0, K, device) + else: + timesteps_outer = self.get_time_steps(skip_type, t_T, t_0, steps, device)[torch.cumsum(torch.tensor([0,] + orders), 0).to(device)] + return timesteps_outer, orders + + def denoise_to_zero_fn(self, x, s): + """ + Denoise at the final step, which is equivalent to solve the ODE from lambda_s to infty by first-order discretization. + """ + return self.data_prediction_fn(x, s) + + def dpm_solver_first_update(self, x, s, t, model_s=None, return_intermediate=False): + """ + DPM-Solver-1 (equivalent to DDIM) from time `s` to time `t`. + + Args: + x: A pytorch tensor. The initial value at time `s`. + s: A pytorch tensor. The starting time, with the shape (1,). + t: A pytorch tensor. The ending time, with the shape (1,). + model_s: A pytorch tensor. The model function evaluated at time `s`. + If `model_s` is None, we evaluate the model by `x` and `s`; otherwise we directly use it. + return_intermediate: A `bool`. If true, also return the model value at time `s`. + Returns: + x_t: A pytorch tensor. The approximated solution at time `t`. + """ + ns = self.noise_schedule + dims = x.dim() + lambda_s, lambda_t = ns.marginal_lambda(s), ns.marginal_lambda(t) + h = lambda_t - lambda_s + log_alpha_s, log_alpha_t = ns.marginal_log_mean_coeff(s), ns.marginal_log_mean_coeff(t) + sigma_s, sigma_t = ns.marginal_std(s), ns.marginal_std(t) + alpha_t = torch.exp(log_alpha_t) + + if self.algorithm_type == "dpmsolver++": + phi_1 = torch.expm1(-h) + if model_s is None: + model_s = self.model_fn(x, s) + x_t = ( + sigma_t / sigma_s * x + - alpha_t * phi_1 * model_s + ) + if return_intermediate: + return x_t, {'model_s': model_s} + else: + return x_t + else: + phi_1 = torch.expm1(h) + if model_s is None: + model_s = self.model_fn(x, s) + x_t = ( + torch.exp(log_alpha_t - log_alpha_s) * x + - (sigma_t * phi_1) * model_s + ) + if return_intermediate: + return x_t, {'model_s': model_s} + else: + return x_t + + def singlestep_dpm_solver_second_update(self, x, s, t, r1=0.5, model_s=None, return_intermediate=False, solver_type='dpmsolver'): + """ + Singlestep solver DPM-Solver-2 from time `s` to time `t`. + + Args: + x: A pytorch tensor. The initial value at time `s`. + s: A pytorch tensor. The starting time, with the shape (1,). + t: A pytorch tensor. The ending time, with the shape (1,). + r1: A `float`. The hyperparameter of the second-order solver. + model_s: A pytorch tensor. The model function evaluated at time `s`. + If `model_s` is None, we evaluate the model by `x` and `s`; otherwise we directly use it. + return_intermediate: A `bool`. If true, also return the model value at time `s` and `s1` (the intermediate time). + solver_type: either 'dpmsolver' or 'taylor'. The type for the high-order solvers. + The type slightly impacts the performance. We recommend to use 'dpmsolver' type. + Returns: + x_t: A pytorch tensor. The approximated solution at time `t`. + """ + if solver_type not in ['dpmsolver', 'taylor']: + raise ValueError("'solver_type' must be either 'dpmsolver' or 'taylor', got {}".format(solver_type)) + if r1 is None: + r1 = 0.5 + ns = self.noise_schedule + lambda_s, lambda_t = ns.marginal_lambda(s), ns.marginal_lambda(t) + h = lambda_t - lambda_s + lambda_s1 = lambda_s + r1 * h + s1 = ns.inverse_lambda(lambda_s1) + log_alpha_s, log_alpha_s1, log_alpha_t = ns.marginal_log_mean_coeff(s), ns.marginal_log_mean_coeff(s1), ns.marginal_log_mean_coeff(t) + sigma_s, sigma_s1, sigma_t = ns.marginal_std(s), ns.marginal_std(s1), ns.marginal_std(t) + alpha_s1, alpha_t = torch.exp(log_alpha_s1), torch.exp(log_alpha_t) + + if self.algorithm_type == "dpmsolver++": + phi_11 = torch.expm1(-r1 * h) + phi_1 = torch.expm1(-h) + + if model_s is None: + model_s = self.model_fn(x, s) + x_s1 = ( + (sigma_s1 / sigma_s) * x + - (alpha_s1 * phi_11) * model_s + ) + model_s1 = self.model_fn(x_s1, s1) + if solver_type == 'dpmsolver': + x_t = ( + (sigma_t / sigma_s) * x + - (alpha_t * phi_1) * model_s + - (0.5 / r1) * (alpha_t * phi_1) * (model_s1 - model_s) + ) + elif solver_type == 'taylor': + x_t = ( + (sigma_t / sigma_s) * x + - (alpha_t * phi_1) * model_s + + (1. / r1) * (alpha_t * (phi_1 / h + 1.)) * (model_s1 - model_s) + ) + else: + phi_11 = torch.expm1(r1 * h) + phi_1 = torch.expm1(h) + + if model_s is None: + model_s = self.model_fn(x, s) + x_s1 = ( + torch.exp(log_alpha_s1 - log_alpha_s) * x + - (sigma_s1 * phi_11) * model_s + ) + model_s1 = self.model_fn(x_s1, s1) + if solver_type == 'dpmsolver': + x_t = ( + torch.exp(log_alpha_t - log_alpha_s) * x + - (sigma_t * phi_1) * model_s + - (0.5 / r1) * (sigma_t * phi_1) * (model_s1 - model_s) + ) + elif solver_type == 'taylor': + x_t = ( + torch.exp(log_alpha_t - log_alpha_s) * x + - (sigma_t * phi_1) * model_s + - (1. / r1) * (sigma_t * (phi_1 / h - 1.)) * (model_s1 - model_s) + ) + if return_intermediate: + return x_t, {'model_s': model_s, 'model_s1': model_s1} + else: + return x_t + + def singlestep_dpm_solver_third_update(self, x, s, t, r1=1./3., r2=2./3., model_s=None, model_s1=None, return_intermediate=False, solver_type='dpmsolver'): + """ + Singlestep solver DPM-Solver-3 from time `s` to time `t`. + + Args: + x: A pytorch tensor. The initial value at time `s`. + s: A pytorch tensor. The starting time, with the shape (1,). + t: A pytorch tensor. The ending time, with the shape (1,). + r1: A `float`. The hyperparameter of the third-order solver. + r2: A `float`. The hyperparameter of the third-order solver. + model_s: A pytorch tensor. The model function evaluated at time `s`. + If `model_s` is None, we evaluate the model by `x` and `s`; otherwise we directly use it. + model_s1: A pytorch tensor. The model function evaluated at time `s1` (the intermediate time given by `r1`). + If `model_s1` is None, we evaluate the model at `s1`; otherwise we directly use it. + return_intermediate: A `bool`. If true, also return the model value at time `s`, `s1` and `s2` (the intermediate times). + solver_type: either 'dpmsolver' or 'taylor'. The type for the high-order solvers. + The type slightly impacts the performance. We recommend to use 'dpmsolver' type. + Returns: + x_t: A pytorch tensor. The approximated solution at time `t`. + """ + if solver_type not in ['dpmsolver', 'taylor']: + raise ValueError("'solver_type' must be either 'dpmsolver' or 'taylor', got {}".format(solver_type)) + if r1 is None: + r1 = 1. / 3. + if r2 is None: + r2 = 2. / 3. + ns = self.noise_schedule + lambda_s, lambda_t = ns.marginal_lambda(s), ns.marginal_lambda(t) + h = lambda_t - lambda_s + lambda_s1 = lambda_s + r1 * h + lambda_s2 = lambda_s + r2 * h + s1 = ns.inverse_lambda(lambda_s1) + s2 = ns.inverse_lambda(lambda_s2) + log_alpha_s, log_alpha_s1, log_alpha_s2, log_alpha_t = ns.marginal_log_mean_coeff(s), ns.marginal_log_mean_coeff(s1), ns.marginal_log_mean_coeff(s2), ns.marginal_log_mean_coeff(t) + sigma_s, sigma_s1, sigma_s2, sigma_t = ns.marginal_std(s), ns.marginal_std(s1), ns.marginal_std(s2), ns.marginal_std(t) + alpha_s1, alpha_s2, alpha_t = torch.exp(log_alpha_s1), torch.exp(log_alpha_s2), torch.exp(log_alpha_t) + + if self.algorithm_type == "dpmsolver++": + phi_11 = torch.expm1(-r1 * h) + phi_12 = torch.expm1(-r2 * h) + phi_1 = torch.expm1(-h) + phi_22 = torch.expm1(-r2 * h) / (r2 * h) + 1. + phi_2 = phi_1 / h + 1. + phi_3 = phi_2 / h - 0.5 + + if model_s is None: + model_s = self.model_fn(x, s) + if model_s1 is None: + x_s1 = ( + (sigma_s1 / sigma_s) * x + - (alpha_s1 * phi_11) * model_s + ) + model_s1 = self.model_fn(x_s1, s1) + x_s2 = ( + (sigma_s2 / sigma_s) * x + - (alpha_s2 * phi_12) * model_s + + r2 / r1 * (alpha_s2 * phi_22) * (model_s1 - model_s) + ) + model_s2 = self.model_fn(x_s2, s2) + if solver_type == 'dpmsolver': + x_t = ( + (sigma_t / sigma_s) * x + - (alpha_t * phi_1) * model_s + + (1. / r2) * (alpha_t * phi_2) * (model_s2 - model_s) + ) + elif solver_type == 'taylor': + D1_0 = (1. / r1) * (model_s1 - model_s) + D1_1 = (1. / r2) * (model_s2 - model_s) + D1 = (r2 * D1_0 - r1 * D1_1) / (r2 - r1) + D2 = 2. * (D1_1 - D1_0) / (r2 - r1) + x_t = ( + (sigma_t / sigma_s) * x + - (alpha_t * phi_1) * model_s + + (alpha_t * phi_2) * D1 + - (alpha_t * phi_3) * D2 + ) + else: + phi_11 = torch.expm1(r1 * h) + phi_12 = torch.expm1(r2 * h) + phi_1 = torch.expm1(h) + phi_22 = torch.expm1(r2 * h) / (r2 * h) - 1. + phi_2 = phi_1 / h - 1. + phi_3 = phi_2 / h - 0.5 + + if model_s is None: + model_s = self.model_fn(x, s) + if model_s1 is None: + x_s1 = ( + (torch.exp(log_alpha_s1 - log_alpha_s)) * x + - (sigma_s1 * phi_11) * model_s + ) + model_s1 = self.model_fn(x_s1, s1) + x_s2 = ( + (torch.exp(log_alpha_s2 - log_alpha_s)) * x + - (sigma_s2 * phi_12) * model_s + - r2 / r1 * (sigma_s2 * phi_22) * (model_s1 - model_s) + ) + model_s2 = self.model_fn(x_s2, s2) + if solver_type == 'dpmsolver': + x_t = ( + (torch.exp(log_alpha_t - log_alpha_s)) * x + - (sigma_t * phi_1) * model_s + - (1. / r2) * (sigma_t * phi_2) * (model_s2 - model_s) + ) + elif solver_type == 'taylor': + D1_0 = (1. / r1) * (model_s1 - model_s) + D1_1 = (1. / r2) * (model_s2 - model_s) + D1 = (r2 * D1_0 - r1 * D1_1) / (r2 - r1) + D2 = 2. * (D1_1 - D1_0) / (r2 - r1) + x_t = ( + (torch.exp(log_alpha_t - log_alpha_s)) * x + - (sigma_t * phi_1) * model_s + - (sigma_t * phi_2) * D1 + - (sigma_t * phi_3) * D2 + ) + + if return_intermediate: + return x_t, {'model_s': model_s, 'model_s1': model_s1, 'model_s2': model_s2} + else: + return x_t + + def multistep_dpm_solver_second_update(self, x, model_prev_list, t_prev_list, t, solver_type="dpmsolver"): + """ + Multistep solver DPM-Solver-2 from time `t_prev_list[-1]` to time `t`. + + Args: + x: A pytorch tensor. The initial value at time `s`. + model_prev_list: A list of pytorch tensor. The previous computed model values. + t_prev_list: A list of pytorch tensor. The previous times, each time has the shape (1,) + t: A pytorch tensor. The ending time, with the shape (1,). + solver_type: either 'dpmsolver' or 'taylor'. The type for the high-order solvers. + The type slightly impacts the performance. We recommend to use 'dpmsolver' type. + Returns: + x_t: A pytorch tensor. The approximated solution at time `t`. + """ + if solver_type not in ['dpmsolver', 'taylor']: + raise ValueError("'solver_type' must be either 'dpmsolver' or 'taylor', got {}".format(solver_type)) + ns = self.noise_schedule + model_prev_1, model_prev_0 = model_prev_list[-2], model_prev_list[-1] + t_prev_1, t_prev_0 = t_prev_list[-2], t_prev_list[-1] + lambda_prev_1, lambda_prev_0, lambda_t = ns.marginal_lambda(t_prev_1), ns.marginal_lambda(t_prev_0), ns.marginal_lambda(t) + log_alpha_prev_0, log_alpha_t = ns.marginal_log_mean_coeff(t_prev_0), ns.marginal_log_mean_coeff(t) + sigma_prev_0, sigma_t = ns.marginal_std(t_prev_0), ns.marginal_std(t) + alpha_t = torch.exp(log_alpha_t) + + h_0 = lambda_prev_0 - lambda_prev_1 + h = lambda_t - lambda_prev_0 + r0 = h_0 / h + D1_0 = (1. / r0) * (model_prev_0 - model_prev_1) + if self.algorithm_type == "dpmsolver++": + phi_1 = torch.expm1(-h) + if solver_type == 'dpmsolver': + x_t = ( + (sigma_t / sigma_prev_0) * x + - (alpha_t * phi_1) * model_prev_0 + - 0.5 * (alpha_t * phi_1) * D1_0 + ) + elif solver_type == 'taylor': + x_t = ( + (sigma_t / sigma_prev_0) * x + - (alpha_t * phi_1) * model_prev_0 + + (alpha_t * (phi_1 / h + 1.)) * D1_0 + ) + else: + phi_1 = torch.expm1(h) + if solver_type == 'dpmsolver': + x_t = ( + (torch.exp(log_alpha_t - log_alpha_prev_0)) * x + - (sigma_t * phi_1) * model_prev_0 + - 0.5 * (sigma_t * phi_1) * D1_0 + ) + elif solver_type == 'taylor': + x_t = ( + (torch.exp(log_alpha_t - log_alpha_prev_0)) * x + - (sigma_t * phi_1) * model_prev_0 + - (sigma_t * (phi_1 / h - 1.)) * D1_0 + ) + return x_t + + def multistep_dpm_solver_third_update(self, x, model_prev_list, t_prev_list, t, solver_type='dpmsolver'): + """ + Multistep solver DPM-Solver-3 from time `t_prev_list[-1]` to time `t`. + + Args: + x: A pytorch tensor. The initial value at time `s`. + model_prev_list: A list of pytorch tensor. The previous computed model values. + t_prev_list: A list of pytorch tensor. The previous times, each time has the shape (1,) + t: A pytorch tensor. The ending time, with the shape (1,). + solver_type: either 'dpmsolver' or 'taylor'. The type for the high-order solvers. + The type slightly impacts the performance. We recommend to use 'dpmsolver' type. + Returns: + x_t: A pytorch tensor. The approximated solution at time `t`. + """ + ns = self.noise_schedule + model_prev_2, model_prev_1, model_prev_0 = model_prev_list + t_prev_2, t_prev_1, t_prev_0 = t_prev_list + lambda_prev_2, lambda_prev_1, lambda_prev_0, lambda_t = ns.marginal_lambda(t_prev_2), ns.marginal_lambda(t_prev_1), ns.marginal_lambda(t_prev_0), ns.marginal_lambda(t) + log_alpha_prev_0, log_alpha_t = ns.marginal_log_mean_coeff(t_prev_0), ns.marginal_log_mean_coeff(t) + sigma_prev_0, sigma_t = ns.marginal_std(t_prev_0), ns.marginal_std(t) + alpha_t = torch.exp(log_alpha_t) + + h_1 = lambda_prev_1 - lambda_prev_2 + h_0 = lambda_prev_0 - lambda_prev_1 + h = lambda_t - lambda_prev_0 + r0, r1 = h_0 / h, h_1 / h + D1_0 = (1. / r0) * (model_prev_0 - model_prev_1) + D1_1 = (1. / r1) * (model_prev_1 - model_prev_2) + D1 = D1_0 + (r0 / (r0 + r1)) * (D1_0 - D1_1) + D2 = (1. / (r0 + r1)) * (D1_0 - D1_1) + if self.algorithm_type == "dpmsolver++": + phi_1 = torch.expm1(-h) + phi_2 = phi_1 / h + 1. + phi_3 = phi_2 / h - 0.5 + x_t = ( + (sigma_t / sigma_prev_0) * x + - (alpha_t * phi_1) * model_prev_0 + + (alpha_t * phi_2) * D1 + - (alpha_t * phi_3) * D2 + ) + else: + phi_1 = torch.expm1(h) + phi_2 = phi_1 / h - 1. + phi_3 = phi_2 / h - 0.5 + x_t = ( + (torch.exp(log_alpha_t - log_alpha_prev_0)) * x + - (sigma_t * phi_1) * model_prev_0 + - (sigma_t * phi_2) * D1 + - (sigma_t * phi_3) * D2 + ) + return x_t + + def singlestep_dpm_solver_update(self, x, s, t, order, return_intermediate=False, solver_type='dpmsolver', r1=None, r2=None): + """ + Singlestep DPM-Solver with the order `order` from time `s` to time `t`. + + Args: + x: A pytorch tensor. The initial value at time `s`. + s: A pytorch tensor. The starting time, with the shape (1,). + t: A pytorch tensor. The ending time, with the shape (1,). + order: A `int`. The order of DPM-Solver. We only support order == 1 or 2 or 3. + return_intermediate: A `bool`. If true, also return the model value at time `s`, `s1` and `s2` (the intermediate times). + solver_type: either 'dpmsolver' or 'taylor'. The type for the high-order solvers. + The type slightly impacts the performance. We recommend to use 'dpmsolver' type. + r1: A `float`. The hyperparameter of the second-order or third-order solver. + r2: A `float`. The hyperparameter of the third-order solver. + Returns: + x_t: A pytorch tensor. The approximated solution at time `t`. + """ + if order == 1: + return self.dpm_solver_first_update(x, s, t, return_intermediate=return_intermediate) + elif order == 2: + return self.singlestep_dpm_solver_second_update(x, s, t, return_intermediate=return_intermediate, solver_type=solver_type, r1=r1) + elif order == 3: + return self.singlestep_dpm_solver_third_update(x, s, t, return_intermediate=return_intermediate, solver_type=solver_type, r1=r1, r2=r2) + else: + raise ValueError("Solver order must be 1 or 2 or 3, got {}".format(order)) + + def multistep_dpm_solver_update(self, x, model_prev_list, t_prev_list, t, order, solver_type='dpmsolver'): + """ + Multistep DPM-Solver with the order `order` from time `t_prev_list[-1]` to time `t`. + + Args: + x: A pytorch tensor. The initial value at time `s`. + model_prev_list: A list of pytorch tensor. The previous computed model values. + t_prev_list: A list of pytorch tensor. The previous times, each time has the shape (1,) + t: A pytorch tensor. The ending time, with the shape (1,). + order: A `int`. The order of DPM-Solver. We only support order == 1 or 2 or 3. + solver_type: either 'dpmsolver' or 'taylor'. The type for the high-order solvers. + The type slightly impacts the performance. We recommend to use 'dpmsolver' type. + Returns: + x_t: A pytorch tensor. The approximated solution at time `t`. + """ + if order == 1: + return self.dpm_solver_first_update(x, t_prev_list[-1], t, model_s=model_prev_list[-1]) + elif order == 2: + return self.multistep_dpm_solver_second_update(x, model_prev_list, t_prev_list, t, solver_type=solver_type) + elif order == 3: + return self.multistep_dpm_solver_third_update(x, model_prev_list, t_prev_list, t, solver_type=solver_type) + else: + raise ValueError("Solver order must be 1 or 2 or 3, got {}".format(order)) + + def dpm_solver_adaptive(self, x, order, t_T, t_0, h_init=0.05, atol=0.0078, rtol=0.05, theta=0.9, t_err=1e-5, solver_type='dpmsolver'): + """ + The adaptive step size solver based on singlestep DPM-Solver. + + Args: + x: A pytorch tensor. The initial value at time `t_T`. + order: A `int`. The (higher) order of the solver. We only support order == 2 or 3. + t_T: A `float`. The starting time of the sampling (default is T). + t_0: A `float`. The ending time of the sampling (default is epsilon). + h_init: A `float`. The initial step size (for logSNR). + atol: A `float`. The absolute tolerance of the solver. For image data, the default setting is 0.0078, followed [1]. + rtol: A `float`. The relative tolerance of the solver. The default setting is 0.05. + theta: A `float`. The safety hyperparameter for adapting the step size. The default setting is 0.9, followed [1]. + t_err: A `float`. The tolerance for the time. We solve the diffusion ODE until the absolute error between the + current time and `t_0` is less than `t_err`. The default setting is 1e-5. + solver_type: either 'dpmsolver' or 'taylor'. The type for the high-order solvers. + The type slightly impacts the performance. We recommend to use 'dpmsolver' type. + Returns: + x_0: A pytorch tensor. The approximated solution at time `t_0`. + + [1] A. Jolicoeur-Martineau, K. Li, R. Piché-Taillefer, T. Kachman, and I. Mitliagkas, "Gotta go fast when generating data with score-based models," arXiv preprint arXiv:2105.14080, 2021. + """ + ns = self.noise_schedule + s = t_T * torch.ones((1,)).to(x) + lambda_s = ns.marginal_lambda(s) + lambda_0 = ns.marginal_lambda(t_0 * torch.ones_like(s).to(x)) + h = h_init * torch.ones_like(s).to(x) + x_prev = x + nfe = 0 + if order == 2: + r1 = 0.5 + lower_update = lambda x, s, t: self.dpm_solver_first_update(x, s, t, return_intermediate=True) + higher_update = lambda x, s, t, **kwargs: self.singlestep_dpm_solver_second_update(x, s, t, r1=r1, solver_type=solver_type, **kwargs) + elif order == 3: + r1, r2 = 1. / 3., 2. / 3. + lower_update = lambda x, s, t: self.singlestep_dpm_solver_second_update(x, s, t, r1=r1, return_intermediate=True, solver_type=solver_type) + higher_update = lambda x, s, t, **kwargs: self.singlestep_dpm_solver_third_update(x, s, t, r1=r1, r2=r2, solver_type=solver_type, **kwargs) + else: + raise ValueError("For adaptive step size solver, order must be 2 or 3, got {}".format(order)) + while torch.abs((s - t_0)).mean() > t_err: + t = ns.inverse_lambda(lambda_s + h) + x_lower, lower_noise_kwargs = lower_update(x, s, t) + x_higher = higher_update(x, s, t, **lower_noise_kwargs) + delta = torch.max(torch.ones_like(x).to(x) * atol, rtol * torch.max(torch.abs(x_lower), torch.abs(x_prev))) + norm_fn = lambda v: torch.sqrt(torch.square(v.reshape((v.shape[0], -1))).mean(dim=-1, keepdim=True)) + E = norm_fn((x_higher - x_lower) / delta).max() + if torch.all(E <= 1.): + x = x_higher + s = t + x_prev = x_lower + lambda_s = ns.marginal_lambda(s) + h = torch.min(theta * h * torch.float_power(E, -1. / order).float(), lambda_0 - lambda_s) + nfe += order + print('adaptive solver nfe', nfe) + return x + + def add_noise(self, x, t, noise=None): + """ + Compute the noised input xt = alpha_t * x + sigma_t * noise. + + Args: + x: A `torch.Tensor` with shape `(batch_size, *shape)`. + t: A `torch.Tensor` with shape `(t_size,)`. + Returns: + xt with shape `(t_size, batch_size, *shape)`. + """ + alpha_t, sigma_t = self.noise_schedule.marginal_alpha(t), self.noise_schedule.marginal_std(t) + if noise is None: + noise = torch.randn((t.shape[0], *x.shape), device=x.device) + x = x.reshape((-1, *x.shape)) + xt = expand_dims(alpha_t, x.dim()) * x + expand_dims(sigma_t, x.dim()) * noise + if t.shape[0] == 1: + return xt.squeeze(0) + else: + return xt + + def inverse(self, x, steps=20, t_start=None, t_end=None, order=2, skip_type='time_uniform', + method='multistep', lower_order_final=True, denoise_to_zero=False, solver_type='dpmsolver', + atol=0.0078, rtol=0.05, return_intermediate=False, + ): + """ + Inverse the sample `x` from time `t_start` to `t_end` by DPM-Solver. + For discrete-time DPMs, we use `t_start=1/N`, where `N` is the total time steps during training. + """ + t_0 = 1. / self.noise_schedule.total_N if t_start is None else t_start + t_T = self.noise_schedule.T if t_end is None else t_end + assert t_0 > 0 and t_T > 0, "Time range needs to be greater than 0. For discrete-time DPMs, it needs to be in [1 / N, 1], where N is the length of betas array" + return self.sample(x, steps=steps, t_start=t_0, t_end=t_T, order=order, skip_type=skip_type, + method=method, lower_order_final=lower_order_final, denoise_to_zero=denoise_to_zero, solver_type=solver_type, + atol=atol, rtol=rtol, return_intermediate=return_intermediate) + + def sample(self, x, steps=20, t_start=None, t_end=None, order=2, skip_type='time_uniform', + method='multistep', lower_order_final=True, denoise_to_zero=False, solver_type='dpmsolver', + atol=0.0078, rtol=0.05, return_intermediate=False, + ): + """ + Compute the sample at time `t_end` by DPM-Solver, given the initial `x` at time `t_start`. + + ===================================================== + + We support the following algorithms for both noise prediction model and data prediction model: + - 'singlestep': + Singlestep DPM-Solver (i.e. "DPM-Solver-fast" in the paper), which combines different orders of singlestep DPM-Solver. + We combine all the singlestep solvers with order <= `order` to use up all the function evaluations (steps). + The total number of function evaluations (NFE) == `steps`. + Given a fixed NFE == `steps`, the sampling procedure is: + - If `order` == 1: + - Denote K = steps. We use K steps of DPM-Solver-1 (i.e. DDIM). + - If `order` == 2: + - Denote K = (steps // 2) + (steps % 2). We take K intermediate time steps for sampling. + - If steps % 2 == 0, we use K steps of singlestep DPM-Solver-2. + - If steps % 2 == 1, we use (K - 1) steps of singlestep DPM-Solver-2 and 1 step of DPM-Solver-1. + - If `order` == 3: + - Denote K = (steps // 3 + 1). We take K intermediate time steps for sampling. + - If steps % 3 == 0, we use (K - 2) steps of singlestep DPM-Solver-3, and 1 step of singlestep DPM-Solver-2 and 1 step of DPM-Solver-1. + - If steps % 3 == 1, we use (K - 1) steps of singlestep DPM-Solver-3 and 1 step of DPM-Solver-1. + - If steps % 3 == 2, we use (K - 1) steps of singlestep DPM-Solver-3 and 1 step of singlestep DPM-Solver-2. + - 'multistep': + Multistep DPM-Solver with the order of `order`. The total number of function evaluations (NFE) == `steps`. + We initialize the first `order` values by lower order multistep solvers. + Given a fixed NFE == `steps`, the sampling procedure is: + Denote K = steps. + - If `order` == 1: + - We use K steps of DPM-Solver-1 (i.e. DDIM). + - If `order` == 2: + - We firstly use 1 step of DPM-Solver-1, then use (K - 1) step of multistep DPM-Solver-2. + - If `order` == 3: + - We firstly use 1 step of DPM-Solver-1, then 1 step of multistep DPM-Solver-2, then (K - 2) step of multistep DPM-Solver-3. + - 'singlestep_fixed': + Fixed order singlestep DPM-Solver (i.e. DPM-Solver-1 or singlestep DPM-Solver-2 or singlestep DPM-Solver-3). + We use singlestep DPM-Solver-`order` for `order`=1 or 2 or 3, with total [`steps` // `order`] * `order` NFE. + - 'adaptive': + Adaptive step size DPM-Solver (i.e. "DPM-Solver-12" and "DPM-Solver-23" in the paper). + We ignore `steps` and use adaptive step size DPM-Solver with a higher order of `order`. + You can adjust the absolute tolerance `atol` and the relative tolerance `rtol` to balance the computatation costs + (NFE) and the sample quality. + - If `order` == 2, we use DPM-Solver-12 which combines DPM-Solver-1 and singlestep DPM-Solver-2. + - If `order` == 3, we use DPM-Solver-23 which combines singlestep DPM-Solver-2 and singlestep DPM-Solver-3. + + ===================================================== + + Some advices for choosing the algorithm: + - For **unconditional sampling** or **guided sampling with small guidance scale** by DPMs: + Use singlestep DPM-Solver or DPM-Solver++ ("DPM-Solver-fast" in the paper) with `order = 3`. + e.g., DPM-Solver: + >>> dpm_solver = DPM_Solver(model_fn, noise_schedule, algorithm_type="dpmsolver") + >>> x_sample = dpm_solver.sample(x, steps=steps, t_start=t_start, t_end=t_end, order=3, + skip_type='time_uniform', method='singlestep') + e.g., DPM-Solver++: + >>> dpm_solver = DPM_Solver(model_fn, noise_schedule, algorithm_type="dpmsolver++") + >>> x_sample = dpm_solver.sample(x, steps=steps, t_start=t_start, t_end=t_end, order=3, + skip_type='time_uniform', method='singlestep') + - For **guided sampling with large guidance scale** by DPMs: + Use multistep DPM-Solver with `algorithm_type="dpmsolver++"` and `order = 2`. + e.g. + >>> dpm_solver = DPM_Solver(model_fn, noise_schedule, algorithm_type="dpmsolver++") + >>> x_sample = dpm_solver.sample(x, steps=steps, t_start=t_start, t_end=t_end, order=2, + skip_type='time_uniform', method='multistep') + + We support three types of `skip_type`: + - 'logSNR': uniform logSNR for the time steps. **Recommended for low-resolutional images** + - 'time_uniform': uniform time for the time steps. **Recommended for high-resolutional images**. + - 'time_quadratic': quadratic time for the time steps. + + ===================================================== + Args: + x: A pytorch tensor. The initial value at time `t_start` + e.g. if `t_start` == T, then `x` is a sample from the standard normal distribution. + steps: A `int`. The total number of function evaluations (NFE). + t_start: A `float`. The starting time of the sampling. + If `T` is None, we use self.noise_schedule.T (default is 1.0). + t_end: A `float`. The ending time of the sampling. + If `t_end` is None, we use 1. / self.noise_schedule.total_N. + e.g. if total_N == 1000, we have `t_end` == 1e-3. + For discrete-time DPMs: + - We recommend `t_end` == 1. / self.noise_schedule.total_N. + For continuous-time DPMs: + - We recommend `t_end` == 1e-3 when `steps` <= 15; and `t_end` == 1e-4 when `steps` > 15. + order: A `int`. The order of DPM-Solver. + skip_type: A `str`. The type for the spacing of the time steps. 'time_uniform' or 'logSNR' or 'time_quadratic'. + method: A `str`. The method for sampling. 'singlestep' or 'multistep' or 'singlestep_fixed' or 'adaptive'. + denoise_to_zero: A `bool`. Whether to denoise to time 0 at the final step. + Default is `False`. If `denoise_to_zero` is `True`, the total NFE is (`steps` + 1). + + This trick is firstly proposed by DDPM (https://arxiv.org/abs/2006.11239) and + score_sde (https://arxiv.org/abs/2011.13456). Such trick can improve the FID + for diffusion models sampling by diffusion SDEs for low-resolutional images + (such as CIFAR-10). However, we observed that such trick does not matter for + high-resolutional images. As it needs an additional NFE, we do not recommend + it for high-resolutional images. + lower_order_final: A `bool`. Whether to use lower order solvers at the final steps. + Only valid for `method=multistep` and `steps < 15`. We empirically find that + this trick is a key to stabilizing the sampling by DPM-Solver with very few steps + (especially for steps <= 10). So we recommend to set it to be `True`. + solver_type: A `str`. The taylor expansion type for the solver. `dpmsolver` or `taylor`. We recommend `dpmsolver`. + atol: A `float`. The absolute tolerance of the adaptive step size solver. Valid when `method` == 'adaptive'. + rtol: A `float`. The relative tolerance of the adaptive step size solver. Valid when `method` == 'adaptive'. + return_intermediate: A `bool`. Whether to save the xt at each step. + When set to `True`, method returns a tuple (x0, intermediates); when set to False, method returns only x0. + Returns: + x_end: A pytorch tensor. The approximated solution at time `t_end`. + + """ + t_0 = 1. / self.noise_schedule.total_N if t_end is None else t_end + t_T = self.noise_schedule.T if t_start is None else t_start + assert t_0 > 0 and t_T > 0, "Time range needs to be greater than 0. For discrete-time DPMs, it needs to be in [1 / N, 1], where N is the length of betas array" + if return_intermediate: + assert method in ['multistep', 'singlestep', 'singlestep_fixed'], "Cannot use adaptive solver when saving intermediate values" + if self.correcting_xt_fn is not None: + assert method in ['multistep', 'singlestep', 'singlestep_fixed'], "Cannot use adaptive solver when correcting_xt_fn is not None" + device = x.device + intermediates = [] + with torch.no_grad(): + if method == 'adaptive': + x = self.dpm_solver_adaptive(x, order=order, t_T=t_T, t_0=t_0, atol=atol, rtol=rtol, solver_type=solver_type) + elif method == 'multistep': + assert steps >= order + timesteps = self.get_time_steps(skip_type=skip_type, t_T=t_T, t_0=t_0, N=steps, device=device) + assert timesteps.shape[0] - 1 == steps + # Init the initial values. + step = 0 + t = timesteps[step] + t_prev_list = [t] + model_prev_list = [self.model_fn(x, t)] + if self.correcting_xt_fn is not None: + x = self.correcting_xt_fn(x, t, step) + if return_intermediate: + intermediates.append(x) + # Init the first `order` values by lower order multistep DPM-Solver. + for step in range(1, order): + t = timesteps[step] + x = self.multistep_dpm_solver_update(x, model_prev_list, t_prev_list, t, step, solver_type=solver_type) + if self.correcting_xt_fn is not None: + x = self.correcting_xt_fn(x, t, step) + if return_intermediate: + intermediates.append(x) + t_prev_list.append(t) + model_prev_list.append(self.model_fn(x, t)) + # Compute the remaining values by `order`-th order multistep DPM-Solver. + for step in range(order, steps + 1): + t = timesteps[step] + # We only use lower order for steps < 10 + if lower_order_final and steps < 10: + step_order = min(order, steps + 1 - step) + else: + step_order = order + x = self.multistep_dpm_solver_update(x, model_prev_list, t_prev_list, t, step_order, solver_type=solver_type) + if self.correcting_xt_fn is not None: + x = self.correcting_xt_fn(x, t, step) + if return_intermediate: + intermediates.append(x) + for i in range(order - 1): + t_prev_list[i] = t_prev_list[i + 1] + model_prev_list[i] = model_prev_list[i + 1] + t_prev_list[-1] = t + # We do not need to evaluate the final model value. + if step < steps: + model_prev_list[-1] = self.model_fn(x, t) + elif method in ['singlestep', 'singlestep_fixed']: + if method == 'singlestep': + timesteps_outer, orders = self.get_orders_and_timesteps_for_singlestep_solver(steps=steps, order=order, skip_type=skip_type, t_T=t_T, t_0=t_0, device=device) + elif method == 'singlestep_fixed': + K = steps // order + orders = [order,] * K + timesteps_outer = self.get_time_steps(skip_type=skip_type, t_T=t_T, t_0=t_0, N=K, device=device) + for step, order in enumerate(orders): + s, t = timesteps_outer[step], timesteps_outer[step + 1] + timesteps_inner = self.get_time_steps(skip_type=skip_type, t_T=s.item(), t_0=t.item(), N=order, device=device) + lambda_inner = self.noise_schedule.marginal_lambda(timesteps_inner) + h = lambda_inner[-1] - lambda_inner[0] + r1 = None if order <= 1 else (lambda_inner[1] - lambda_inner[0]) / h + r2 = None if order <= 2 else (lambda_inner[2] - lambda_inner[0]) / h + x = self.singlestep_dpm_solver_update(x, s, t, order, solver_type=solver_type, r1=r1, r2=r2) + if self.correcting_xt_fn is not None: + x = self.correcting_xt_fn(x, t, step) + if return_intermediate: + intermediates.append(x) + else: + raise ValueError("Got wrong method {}".format(method)) + if denoise_to_zero: + t = torch.ones((1,)).to(device) * t_0 + x = self.denoise_to_zero_fn(x, t) + if self.correcting_xt_fn is not None: + x = self.correcting_xt_fn(x, t, step + 1) + if return_intermediate: + intermediates.append(x) + if return_intermediate: + return x, intermediates + else: + return x + + + +############################################################# +# other utility functions +############################################################# + +def interpolate_fn(x, xp, yp): + """ + A piecewise linear function y = f(x), using xp and yp as keypoints. + We implement f(x) in a differentiable way (i.e. applicable for autograd). + The function f(x) is well-defined for all x-axis. (For x beyond the bounds of xp, we use the outmost points of xp to define the linear function.) + + Args: + x: PyTorch tensor with shape [N, C], where N is the batch size, C is the number of channels (we use C = 1 for DPM-Solver). + xp: PyTorch tensor with shape [C, K], where K is the number of keypoints. + yp: PyTorch tensor with shape [C, K]. + Returns: + The function values f(x), with shape [N, C]. + """ + N, K = x.shape[0], xp.shape[1] + all_x = torch.cat([x.unsqueeze(2), xp.unsqueeze(0).repeat((N, 1, 1))], dim=2) + sorted_all_x, x_indices = torch.sort(all_x, dim=2) + x_idx = torch.argmin(x_indices, dim=2) + cand_start_idx = x_idx - 1 + start_idx = torch.where( + torch.eq(x_idx, 0), + torch.tensor(1, device=x.device), + torch.where( + torch.eq(x_idx, K), torch.tensor(K - 2, device=x.device), cand_start_idx, + ), + ) + end_idx = torch.where(torch.eq(start_idx, cand_start_idx), start_idx + 2, start_idx + 1) + start_x = torch.gather(sorted_all_x, dim=2, index=start_idx.unsqueeze(2)).squeeze(2) + end_x = torch.gather(sorted_all_x, dim=2, index=end_idx.unsqueeze(2)).squeeze(2) + start_idx2 = torch.where( + torch.eq(x_idx, 0), + torch.tensor(0, device=x.device), + torch.where( + torch.eq(x_idx, K), torch.tensor(K - 2, device=x.device), cand_start_idx, + ), + ) + y_positions_expanded = yp.unsqueeze(0).expand(N, -1, -1) + start_y = torch.gather(y_positions_expanded, dim=2, index=start_idx2.unsqueeze(2)).squeeze(2) + end_y = torch.gather(y_positions_expanded, dim=2, index=(start_idx2 + 1).unsqueeze(2)).squeeze(2) + cand = start_y + (x - start_x) * (end_y - start_y) / (end_x - start_x) + return cand + + +def expand_dims(v, dims): + """ + Expand the tensor `v` to the dim `dims`. + + Args: + `v`: a PyTorch tensor with shape [N]. + `dim`: a `int`. + Returns: + a PyTorch tensor with shape [N, 1, 1, ..., 1] and the total dimension is `dims`. + """ + return v[(...,) + (None,)*(dims - 1)] \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/core/logger.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/core/logger.py new file mode 100644 index 0000000000000000000000000000000000000000..b5070b0c000bd893bc171616d4e4e42590b4f2ec --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/core/logger.py @@ -0,0 +1,171 @@ +import os +from PIL import Image +import importlib +from datetime import datetime +import logging +import pandas as pd + +import core.util as Util + +class InfoLogger(): + """ + use logging to record log, only work on GPU 0 by judging global_rank + """ + def __init__(self, opt): + self.opt = opt + self.rank = opt['global_rank'] + self.phase = opt['phase'] + + self.setup_logger(None, opt['path']['experiments_root'], opt['phase'], level=logging.INFO, screen=False) + self.logger = logging.getLogger(opt['phase']) + self.infologger_ftns = {'info', 'warning', 'debug'} + + def __getattr__(self, name): + if self.rank != 0: # info only print on GPU 0. + def wrapper(info, *args, **kwargs): + pass + return wrapper + if name in self.infologger_ftns: + print_info = getattr(self.logger, name, None) + def wrapper(info, *args, **kwargs): + print_info(info, *args, **kwargs) + return wrapper + + @staticmethod + def setup_logger(logger_name, root, phase, level=logging.INFO, screen=False): + """ set up logger """ + l = logging.getLogger(logger_name) + formatter = logging.Formatter( + '%(asctime)s.%(msecs)03d - %(levelname)s: %(message)s', datefmt='%y-%m-%d %H:%M:%S') + log_file = os.path.join(root, '{}.log'.format(phase)) + fh = logging.FileHandler(log_file, mode='a+') + fh.setFormatter(formatter) + l.setLevel(level) + l.addHandler(fh) + if screen: + sh = logging.StreamHandler() + sh.setFormatter(formatter) + l.addHandler(sh) + +class VisualWriter(): + """ + use tensorboard to record visuals, support 'add_scalar', 'add_scalars', 'add_image', 'add_images', etc. funtion. + Also integrated with save results function. + """ + def __init__(self, opt, logger): + log_dir = opt['path']['tb_logger'] + self.result_dir = opt['path']['results'] + enabled = opt['train']['tensorboard'] + self.rank = opt['global_rank'] + + self.writer = None + self.selected_module = "" + + if enabled and self.rank==0: + log_dir = str(log_dir) + + # Retrieve vizualization writer. + succeeded = False + for module in ["tensorboardX", "torch.utils.tensorboard"]: + try: + self.writer = importlib.import_module(module).SummaryWriter(log_dir) + succeeded = True + break + except ImportError: + succeeded = False + self.selected_module = module + + if not succeeded: + message = "Warning: visualization (Tensorboard) is configured to use, but currently not installed on " \ + "this machine. Please install TensorboardX with 'pip install tensorboardx', upgrade PyTorch to " \ + "version >= 1.1 to use 'torch.utils.tensorboard' or turn off the option in the 'config.json' file." + logger.warning(message) + + self.epoch = 0 + self.iter = 0 + self.phase = '' + + self.tb_writer_ftns = { + 'add_scalar', 'add_scalars', 'add_image', 'add_images', 'add_audio', + 'add_text', 'add_histogram', 'add_pr_curve', 'add_embedding' + } + self.tag_mode_exceptions = {'add_histogram', 'add_embedding'} + self.custom_ftns = {'close'} + self.timer = datetime.now() + + def set_iter(self, epoch, iter, phase='train'): + self.phase = phase + self.epoch = epoch + self.iter = iter + + def save_images(self, results): + result_path = os.path.join(self.result_dir, self.phase) + os.makedirs(result_path, exist_ok=True) + result_path = os.path.join(result_path, str(self.epoch)) + os.makedirs(result_path, exist_ok=True) + + ''' get names and corresponding images from results[OrderedDict] ''' + try: + names = results['name'] + outputs = Util.postprocess(results['result']) + for i in range(len(names)): + if os.path.exists(os.path.join(result_path, names[i])): + pass + else: + Image.fromarray(outputs[i]).save(os.path.join(result_path, names[i])) + except: + raise NotImplementedError('You must specify the context of name and result in save_current_results functions of model.') + + def close(self): + self.writer.close() + print('Close the Tensorboard SummaryWriter.') + + + def __getattr__(self, name): + """ + If visualization is configured to use: + return add_data() methods of tensorboard with additional information (step, tag) added. + Otherwise: + return a blank function handle that does nothing + """ + if name in self.tb_writer_ftns: + add_data = getattr(self.writer, name, None) + def wrapper(tag, data, *args, **kwargs): + if add_data is not None: + # add phase(train/valid) tag + if name not in self.tag_mode_exceptions: + tag = '{}/{}'.format(self.phase, tag) + add_data(tag, data, self.iter, *args, **kwargs) + return wrapper + else: + # default action for returning methods defined in this class, set_step() for instance. + try: + attr = object.__getattr__(name) + except AttributeError: + raise AttributeError("type object '{}' has no attribute '{}'".format(self.selected_module, name)) + return attr + + +class LogTracker: + """ + record training numerical indicators. + """ + def __init__(self, *keys, phase='train'): + self.phase = phase + self._data = pd.DataFrame(index=keys, columns=['total', 'counts', 'average']) + self.reset() + + def reset(self): + for col in self._data.columns: + self._data[col].values[:] = 0 + + def update(self, key, value, n=1): + self._data.total[key] += value * n + self._data.counts[key] += n + self._data.average[key] = self._data.total[key] / self._data.counts[key] + + def avg(self, key): + return self._data.average[key] + + def result(self): + return {'{}/{}'.format(self.phase, k):v for k, v in dict(self._data.average).items()} diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/core/praser.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/core/praser.py new file mode 100644 index 0000000000000000000000000000000000000000..0106d3382b9cdfd12fe9fd76f0e1116069268661 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/core/praser.py @@ -0,0 +1,155 @@ +import os +from collections import OrderedDict +import json +from pathlib import Path +from datetime import datetime +from functools import partial +import importlib +from types import FunctionType +import shutil +def init_obj(opt, logger, *args, default_file_name='default file', given_module=None, init_type='Network', **modify_kwargs): + """ + finds a function handle with the name given as 'name' in config, + and returns the instance initialized with corresponding args. + """ + if opt is None or len(opt)<1: + logger.info('Option is None when initialize {}'.format(init_type)) + return None + + ''' default format is dict with name key ''' + if isinstance(opt, str): + opt = {'name': opt} + logger.warning('Config is a str, converts to a dict {}'.format(opt)) + + name = opt['name'] + ''' name can be list, indicates the file and class name of function ''' + if isinstance(name, list): + file_name, class_name = name[0], name[1] + else: + file_name, class_name = default_file_name, name + try: + if given_module is not None: + module = given_module + else: + module = importlib.import_module(file_name) + + attr = getattr(module, class_name) + kwargs = opt.get('args', {}) + kwargs.update(modify_kwargs) + ''' import class or function with args ''' + if isinstance(attr, type): + ret = attr(*args, **kwargs) + ret.__name__ = ret.__class__.__name__ + elif isinstance(attr, FunctionType): + ret = partial(attr, *args, **kwargs) + ret.__name__ = attr.__name__ + # ret = attr + logger.info('{} [{:s}() form {:s}] is created.'.format(init_type, class_name, file_name)) + except: + raise NotImplementedError('{} [{:s}() form {:s}] not recognized.'.format(init_type, class_name, file_name)) + return ret + + +def mkdirs(paths): + if isinstance(paths, str): + os.makedirs(paths, exist_ok=True) + else: + for path in paths: + os.makedirs(path, exist_ok=True) + +def get_timestamp(): + return datetime.now().strftime('%y%m%d_%H%M%S') + + +def write_json(content, fname): + fname = Path(fname) + with fname.open('wt') as handle: + json.dump(content, handle, indent=4, sort_keys=False) + +class NoneDict(dict): + def __missing__(self, key): + return None + +def dict_to_nonedict(opt): + """ convert to NoneDict, which return None for missing key. """ + if isinstance(opt, dict): + new_opt = dict() + for key, sub_opt in opt.items(): + new_opt[key] = dict_to_nonedict(sub_opt) + return NoneDict(**new_opt) + elif isinstance(opt, list): + return [dict_to_nonedict(sub_opt) for sub_opt in opt] + else: + return opt + +def dict2str(opt, indent_l=1): + """ dict to string for logger """ + msg = '' + for k, v in opt.items(): + if isinstance(v, dict): + msg += ' ' * (indent_l * 2) + k + ':[\n' + msg += dict2str(v, indent_l + 1) + msg += ' ' * (indent_l * 2) + ']\n' + else: + msg += ' ' * (indent_l * 2) + k + ': ' + str(v) + '\n' + return msg + +def parse(args): + json_str = '' + with open(args.config, 'r') as f: + for line in f: + line = line.split('//')[0] + '\n' + json_str += line + opt = json.loads(json_str, object_pairs_hook=OrderedDict) + + ''' replace the config context using args ''' + opt['phase'] = args.phase + if args.gpu_ids is not None: + opt['gpu_ids'] = [int(id) for id in args.gpu_ids.split(',')] + if args.batch is not None: + opt['datasets'][opt['phase']]['dataloader']['args']['batch_size'] = args.batch + + ''' set cuda environment ''' + if len(opt['gpu_ids']) > 1: + opt['distributed'] = True + else: + opt['distributed'] = False + + ''' update name ''' + if args.debug: + opt['name'] = 'debug_{}'.format(opt['name']) + elif opt['finetune_norm']: + opt['name'] = 'finetune_{}'.format(opt['name']) + else: + opt['name'] = '{}_{}'.format(opt['phase'], opt['name']) + + ''' set log directory ''' + experiments_root = os.path.join(opt['path']['base_dir'], '{}_{}'.format(opt['name'], get_timestamp())) + mkdirs(experiments_root) + + ''' save json ''' + write_json(opt, '{}/config.json'.format(experiments_root)) + + ''' change folder relative hierarchy ''' + opt['path']['experiments_root'] = experiments_root + for key, path in opt['path'].items(): + if 'resume' not in key and 'base' not in key and 'root' not in key: + opt['path'][key] = os.path.join(experiments_root, path) + mkdirs(opt['path'][key]) + + ''' debug mode ''' + if 'debug' in opt['name']: + opt['train'].update(opt['debug']) + + ''' code backup ''' + for name in os.listdir('.'): + if name in ['config', 'models', 'core', 'slurm', 'data']: + shutil.copytree(name, os.path.join(opt['path']['code'], name), ignore=shutil.ignore_patterns("*.pyc", "__pycache__")) + if '.py' in name or '.sh' in name: + shutil.copy(name, opt['path']['code']) + return dict_to_nonedict(opt) + + + + + diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/core/util.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/core/util.py new file mode 100644 index 0000000000000000000000000000000000000000..4ba38666db1893556468d4869fafc36f41170c1f --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/core/util.py @@ -0,0 +1,164 @@ +import random +import numpy as np +import math +import torch +from torch.nn.parallel import DistributedDataParallel as DDP +from torchvision.utils import make_grid + + +def get_rgb(image): # CHW + # image = image.mul(0.5).add_(0.5) + # image = image.mul(10000).add_(0.5).clamp_(0, 10000) + # image = image.permute(1, 2, 0).cpu().detach().numpy() # HWC + # image = image.astype(np.uint16) + + # r = image[:, :, 0] + # g = image[:, :, 1] + # b = image[:, :, 2] + + # r = np.clip(r, 0, 2000) + # g = np.clip(g, 0, 2000) + # b = np.clip(b, 0, 2000) + + # rgb = np.dstack((r, g, b)) + # rgb = rgb - np.nanmin(rgb) + + # if np.nanmax(rgb) == 0: + # rgb = 255 * np.ones_like(rgb) + # else: + # rgb = 255 * (rgb / np.nanmax(rgb)) + + # rgb[np.isnan(rgb)] = np.nanmean(rgb) + # rgb = rgb.astype(np.uint8) + image = image.squeeze() + image = image[:3, :, :] + image = image.permute(1, 2, 0).contiguous().cpu().detach().numpy() + image = (image + 1) / 2.0 * 255.0 + rgb = image.astype(np.uint8) + return rgb + + +def tensor2img(tensor, out_type=np.uint8, min_max=(-1, 1)): # 可视化v2.0 + ''' + Converts a torch Tensor into an image Numpy array + Input: 4D(B,(3/1),H,W), 3D(C,H,W), or 2D(H,W), any range, RGB channel order + Output: 3D(H,W,C) or 2D(H,W), [0,255], np.uint8 (default) + ''' + # tensor = tensor.clamp_(*min_max) # clamp + n_dim = tensor.dim() + if n_dim == 4: + n_img = len(tensor) + img_np = make_grid([torch.from_numpy(get_rgb(tensor[i])).permute(2, 0, 1) for i in range(n_img)], nrow=int( + math.sqrt(n_img)), normalize=False).numpy() + img_np = np.transpose(img_np, (1, 2, 0)) # HWC, RGB + elif n_dim == 3: + img_np = get_rgb(tensor) + elif n_dim == 2: + img_np = tensor.numpy() + else: + raise TypeError( + 'Only support 4D, 3D and 2D tensor. But received with dimension: {:d}'.format(n_dim)) + return img_np + + +# def tensor2img(tensor, out_type=np.uint8, min_max=(-1, 1)): # 可视化原作者的 +# ''' +# Converts a torch Tensor into an image Numpy array +# Input: 4D(B,(3/1),H,W), 3D(C,H,W), or 2D(H,W), any range, RGB channel order +# Output: 3D(H,W,C) or 2D(H,W), [0,255], np.uint8 (default) +# ''' +# tensor = tensor.clamp_(*min_max) # clamp +# n_dim = tensor.dim() +# if n_dim == 4: +# n_img = len(tensor) +# img_np = make_grid(tensor[:, :3, :, :], nrow=int(math.sqrt(n_img)), normalize=False).numpy() +# img_np = np.transpose(img_np, (1, 2, 0)) # HWC, RGB +# elif n_dim == 3: +# img_np = tensor[:3, :, :].numpy() +# img_np = np.transpose(img_np, (1, 2, 0)) # HWC, RGB +# elif n_dim == 2: +# img_np = tensor.numpy() +# else: +# raise TypeError('Only support 4D, 3D and 2D tensor. But received with dimension: {:d}'.format(n_dim)) +# if out_type == np.uint8: +# img_np = ((img_np+1) * 127.5).round() +# # Important. Unlike matlab, numpy.unit8() WILL NOT round by default. +# return img_np.astype(out_type).squeeze() + +# def tensor2img(tensor, out_type=np.uint8, min_max=(-1, 1)): # 可视化v1.0 +# ''' +# Converts a torch Tensor into an image Numpy array +# Input: 4D(B,(3/1),H,W), 3D(C,H,W), or 2D(H,W), any range, RGB channel order +# Output: 3D(H,W,C) or 2D(H,W), [0,255], np.uint8 (default) +# ''' +# tensor = tensor.clamp_(*min_max) # clamp + # def get_rgb_tensor(rgb): + # rgb = rgb*0.5+0.5 + # rgb = rgb - torch.min(rgb) + # # treat saturated images, scale values + # if torch.max(rgb) == 0: + # rgb = 255 * torch.ones_like(rgb) + # else: + # rgb = 255 * (rgb / torch.max(rgb)) + # return rgb.type(torch.uint8) +# tensor = get_rgb_tensor(tensor) +# n_dim = tensor.dim() +# if n_dim == 4: +# n_img = len(tensor) +# img_np = make_grid(tensor, nrow=int(math.sqrt(n_img)), normalize=False).numpy() +# img_np = np.transpose(img_np, (1, 2, 0)) # HWC, RGB +# elif n_dim == 3: +# img_np = tensor.numpy() +# img_np = np.transpose(img_np, (1, 2, 0)) # HWC, RGB +# elif n_dim == 2: +# img_np = tensor.numpy() +# else: +# raise TypeError('Only support 4D, 3D and 2D tensor. But received with dimension: {:d}'.format(n_dim)) +# # if out_type == np.uint8: +# # img_np = ((img_np+1) * 127.5).round() +# # Important. Unlike matlab, numpy.unit8() WILL NOT round by default. +# return img_np.astype(out_type).squeeze() + +def postprocess(images): + return [tensor2img(image) for image in images] + + +def set_seed(seed, gl_seed=0): + """ set random seed, gl_seed used in worker_init_fn function """ + if seed >= 0 and gl_seed >= 0: + seed += gl_seed + torch.manual_seed(seed) + torch.cuda.manual_seed_all(seed) + np.random.seed(seed) + random.seed(seed) + + ''' change the deterministic and benchmark maybe cause uncertain convolution behavior. + speed-reproducibility tradeoff https://pytorch.org/docs/stable/notes/randomness.html ''' + if seed >= 0 and gl_seed >= 0: # slower, more reproducible + torch.backends.cudnn.deterministic = True + torch.backends.cudnn.benchmark = False + else: # faster, less reproducible + torch.backends.cudnn.deterministic = False + torch.backends.cudnn.benchmark = True + + +def set_gpu(args, distributed=False, rank=0): + """ set parameter to gpu or ddp """ + if args is None: + return None + if distributed and isinstance(args, torch.nn.Module): + return DDP(args.cuda(), device_ids=[rank], output_device=rank, broadcast_buffers=True, find_unused_parameters=False) + else: + return args.cuda() + + +def set_device(args, distributed=False, rank=0): + """ set parameter to gpu or cpu """ + if torch.cuda.is_available(): + if isinstance(args, list): + return (set_gpu(item, distributed, rank) for item in args) + elif isinstance(args, dict): + return {key: set_gpu(args[key], distributed, rank) for key in args} + else: + args = set_gpu(args, distributed, rank) + return args diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/data/__init__.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/data/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..5d0f29113d7dd3ec22c4cfedea0b180821aac5cc --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/data/__init__.py @@ -0,0 +1,83 @@ +from functools import partial +import numpy as np + +from torch.utils.data.distributed import DistributedSampler +from torch import Generator, randperm +from torch.utils.data import DataLoader, Subset + +import core.util as Util +from core.praser import init_obj + + +def define_dataloader(logger, opt): + """ create train/test dataloader and validation dataloader, validation dataloader is None when phase is test or not GPU 0 """ + '''create dataset and set random seed''' + dataloader_args = opt['datasets'][opt['phase']]['dataloader']['args'] + worker_init_fn = partial(Util.set_seed, gl_seed=opt['seed']) + + phase_dataset, val_dataset = define_dataset(logger, opt) + + '''create datasampler''' + data_sampler = None + if opt['distributed']: + data_sampler = DistributedSampler(phase_dataset, shuffle=dataloader_args.get('shuffle', False), num_replicas=opt['world_size'], rank=opt['global_rank']) + dataloader_args.update({'shuffle':False}) # sampler option is mutually exclusive with shuffle + + ''' create dataloader and validation dataloader ''' + dataloader = DataLoader(phase_dataset, sampler=data_sampler, worker_init_fn=worker_init_fn, **dataloader_args) + ''' val_dataloader don't use DistributedSampler to run only GPU 0! ''' + if opt['global_rank']==0 and val_dataset is not None: + dataloader_args.update(opt['datasets'][opt['phase']]['dataloader'].get('val_args',{})) + val_dataloader = DataLoader(val_dataset, worker_init_fn=worker_init_fn, **dataloader_args) + else: + val_dataloader = None + return dataloader, val_dataloader + + +def define_dataset(logger, opt): + ''' loading Dataset() class from given file's name ''' + dataset_opt = opt['datasets'][opt['phase']]['which_dataset'] + phase_dataset = init_obj(dataset_opt, logger, default_file_name='data.dataset', init_type='Dataset') + # val_dataset = None + val_dataset_opt = opt['datasets']['val']['which_dataset'] + val_dataset = init_obj(val_dataset_opt, logger, default_file_name='data.dataset', init_type='Dataset') + + valid_len = 0 + data_len = len(phase_dataset) + if 'debug' in opt['name']: + debug_split = opt['debug'].get('debug_split', 1.0) + if isinstance(debug_split, int): + data_len = debug_split + else: + data_len *= debug_split + + # dataloder_opt = opt['datasets'][opt['phase']]['dataloader'] + # valid_split = dataloder_opt.get('validation_split', 0) + + # ''' divide validation dataset, valid_split==0 when phase is test or validation_split is 0. ''' + # if valid_split > 0.0 or 'debug' in opt['name']: + # if isinstance(valid_split, int): + # assert valid_split < data_len, "Validation set size is configured to be larger than entire dataset." + # valid_len = valid_split + # else: + # valid_len = int(data_len * valid_split) + # data_len -= valid_len + # phase_dataset, val_dataset = subset_split(dataset=phase_dataset, lengths=[data_len, valid_len], generator=Generator().manual_seed(opt['seed'])) + + logger.info('Dataset for {} have {} samples.'.format(opt['phase'], data_len)) + if opt['phase'] == 'train': + logger.info('Dataset for {} have {} samples.'.format('val', valid_len)) + return phase_dataset, val_dataset + +def subset_split(dataset, lengths, generator): + """ + split a dataset into non-overlapping new datasets of given lengths. main code is from random_split function in pytorch + """ + indices = randperm(sum(lengths), generator=generator).tolist() + Subsets = [] + for offset, length in zip(np.add.accumulate(lengths), lengths): + if length == 0: + Subsets.append(None) + else: + Subsets.append(Subset(dataset, indices[offset - length : offset])) + return Subsets diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/data/dataset.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/data/dataset.py new file mode 100644 index 0000000000000000000000000000000000000000..b5cbaff18dd5165f62da34503370dfbd0587857e --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/data/dataset.py @@ -0,0 +1,756 @@ +import torch.utils.data as data +from torchvision import transforms +from PIL import Image +import os +import torch +import random +import numpy as np +import tifffile as tiff +from typing import Tuple +import glob +import random +import numpy as np +from PIL import Image +from typing import Tuple +import torchvision.transforms as transforms +from torchvision.transforms import InterpolationMode +from torch.utils.data import DataLoader, random_split + + +# from .util.mask import (bbox2mask, brush_stroke_mask, +# get_irregular_mask, random_bbox, random_cropping_bbox) + +IMG_EXTENSIONS = [ + '.jpg', '.JPG', '.jpeg', '.JPEG', + '.png', '.PNG', '.ppm', '.PPM', '.bmp', '.BMP', +] + + +def is_image_file(filename): + return any(filename.endswith(extension) for extension in IMG_EXTENSIONS) + + +def make_dataset(dir): + if os.path.isfile(dir): + images = [i for i in np.genfromtxt( + dir, dtype=np.str, encoding='utf-8')] + else: + images = [] + assert os.path.isdir(dir), '%s is not a valid directory' % dir + for root, _, fnames in sorted(os.walk(dir)): + for fname in sorted(fnames): + if is_image_file(fname): + path = os.path.join(root, fname) + images.append(path) + + return images + + +def pil_loader(path): + return Image.open(path).convert('RGB') + +class Sen2_MTC_Old(data.Dataset): + SUBFOLDERS = ("cloudy", "clear") + def __init__( + self, + root: str, + band: int, + ): + super().__init__() + + self.band = band + + cloudy_0_rgb_pathname = os.path.join( + root, self.SUBFOLDERS[0], "*_0.jpg") + cloudy_1_rgb_pathname = os.path.join( + root, self.SUBFOLDERS[0], "*_1.jpg") + cloudy_2_rgb_pathname = os.path.join( + root, self.SUBFOLDERS[0], "*_2.jpg") + + cloudy_0_ir_pathname = os.path.join( + root, self.SUBFOLDERS[0], "*_0_ir.jpg") + cloudy_1_ir_pathname = os.path.join( + root, self.SUBFOLDERS[0], "*_1_ir.jpg") + cloudy_2_ir_pathname = os.path.join( + root, self.SUBFOLDERS[0], "*_2_ir.jpg") + + clear_pathname = os.path.join(root, self.SUBFOLDERS[1], "*") + + self.cloudy_0_rgb_paths = sorted(glob.glob(cloudy_0_rgb_pathname)) + self.cloudy_1_rgb_paths = sorted(glob.glob(cloudy_1_rgb_pathname)) + self.cloudy_2_rgb_paths = sorted(glob.glob(cloudy_2_rgb_pathname)) + + self.cloudy_0_ir_paths = sorted(glob.glob(cloudy_0_ir_pathname)) + self.cloudy_1_ir_paths = sorted(glob.glob(cloudy_1_ir_pathname)) + self.cloudy_2_ir_paths = sorted(glob.glob(cloudy_2_ir_pathname)) + + self.clear_paths = sorted(glob.glob(clear_pathname)) + + def __getitem__(self, index): + cloudy_0_rgb = Image.open( + self.cloudy_0_rgb_paths[index]).convert('RGB') + cloudy_1_rgb = Image.open( + self.cloudy_1_rgb_paths[index]).convert('RGB') + cloudy_2_rgb = Image.open( + self.cloudy_2_rgb_paths[index]).convert('RGB') + + if self.band == 4: + cloudy_0_ir = Image.open( + self.cloudy_0_ir_paths[index]).convert('RGB') + cloudy_1_ir = Image.open( + self.cloudy_1_ir_paths[index]).convert('RGB') + cloudy_2_ir = Image.open( + self.cloudy_2_ir_paths[index]).convert('RGB') + else: + pass + + clear = Image.open(self.clear_paths[index]).convert('RGB') + + params = get_params(size=clear.size) + transform_params = get_transform(self.band, params) + + cloudy_0_rgb_tensor = transform_params(cloudy_0_rgb) + cloudy_1_rgb_tensor = transform_params(cloudy_1_rgb) + cloudy_2_rgb_tensor = transform_params(cloudy_2_rgb) + if self.band == 4: + cloudy_0_ir_tensor = transform_params(cloudy_0_ir)[:1, ...] + cloudy_1_ir_tensor = transform_params(cloudy_1_ir)[:1, ...] + cloudy_2_ir_tensor = transform_params(cloudy_2_ir)[:1, ...] + else: + cloudy_0_ir_tensor = None + cloudy_1_ir_tensor = None + cloudy_2_ir_tensor = None + clear_tensor = transform_params(clear) + + cloudy_0 = torch.cat( + [i for i in [cloudy_0_rgb_tensor, cloudy_0_ir_tensor] if i is not None]) + cloudy_1 = torch.cat( + [i for i in [cloudy_1_rgb_tensor, cloudy_1_ir_tensor] if i is not None]) + cloudy_2 = torch.cat( + [i for i in [cloudy_2_rgb_tensor, cloudy_2_ir_tensor] if i is not None]) + + clear = clear_tensor + + # return [cloudy_0, cloudy_1, cloudy_2], clear, self.clear_paths[index] + ret = {} + ret['gt_image'] = clear + ret['cond_image'] = torch.cat([cloudy_0, cloudy_1, cloudy_2]) + ret['path'] = os.path.basename(self.clear_paths[index])[:-4]+".png" + return ret + + def __len__(self): + return len(self.clear_paths) + +class Sen2_MTC_Old_Multi(data.Dataset): + def __init__(self, data_root, mode='train'): + self.mode = mode + total_data = Sen2_MTC_Old( + root=os.path.join(data_root, "multipleImage"), + band=3, + ) + self.train_data, self.val_data, self.test_data = random_split( + dataset=total_data, + lengths=(2504, 313, 313), + generator=torch.Generator().manual_seed(2022), + ) + + def rtn_data(self): + if self.mode=="train": + return self.train_data + elif self.mode=="val": + return self.val_data + elif self.mode=="test": + return self.test_data + else: + raise NotImplementedError + + def __getitem__(self, index): + return self.rtn_data()[index] + + def __len__(self): + return len(self.rtn_data()) + + +class Sen2_MTC_New_Multi(data.Dataset): + def __init__(self, data_root, mode='train'): + self.data_root = data_root + self.mode = mode + self.filepair = [] + self.image_name = [] + + if mode == 'train': + self.tile_list = np.loadtxt(os.path.join( + self.data_root, 'train.txt'), dtype=str) + elif mode == 'val': + self.data_augmentation = None + self.tile_list = np.loadtxt( + os.path.join(self.data_root, 'val.txt'), dtype=str) + elif mode == 'test': + self.data_augmentation = None + self.tile_list = np.loadtxt( + os.path.join(self.data_root, 'test.txt'), dtype=str) + + for tile in self.tile_list: + image_name_list = [image_name.split('.')[0] for image_name in os.listdir( + os.path.join(self.data_root, 'Sen2_MTC', tile, 'cloudless'))] + + + for image_name in image_name_list: + image_cloud_path0 = os.path.join( + self.data_root, 'Sen2_MTC', tile, 'cloud', image_name + '_0.tif') + image_cloud_path1 = os.path.join( + self.data_root, 'Sen2_MTC', tile, 'cloud', image_name + '_1.tif') + image_cloud_path2 = os.path.join( + self.data_root, 'Sen2_MTC', tile, 'cloud', image_name + '_2.tif') + image_cloudless_path = os.path.join( + self.data_root, 'Sen2_MTC', tile, 'cloudless', image_name + '.tif') + + self.filepair.append( + [image_cloud_path0, image_cloud_path1, image_cloud_path2, image_cloudless_path]) + self.image_name.append(image_name) + + self.augment_rotation_param = np.random.randint( + 0, 4, len(self.filepair)) + self.augment_flip_param = np.random.randint(0, 3, len(self.filepair)) + self.index = 0 + + def __getitem__(self, index): + cloud_image_path0, cloud_image_path1, cloud_image_path2 = self.filepair[ + index][0], self.filepair[index][1], self.filepair[index][2] + cloudless_image_path = self.filepair[index][3] + + image_cloud0 = self.image_read(cloud_image_path0) + image_cloud1 = self.image_read(cloud_image_path1) + image_cloud2 = self.image_read(cloud_image_path2) + image_cloudless = self.image_read(cloudless_image_path) + + # return [image_cloud0, image_cloud1, image_cloud2], image_cloudless, self.image_name[index] + ret = {} + ret['gt_image'] = image_cloudless[:3, :, :] + ret['cond_image'] = torch.cat([image_cloud0[:3, :, :], image_cloud1[:3, :, :], image_cloud2[:3, :, :]]) + ret['path'] = self.image_name[index]+".png" + return ret + + def __len__(self): + return len(self.filepair) + + def image_read(self, image_path): + img = tiff.imread(image_path) + img = (img / 1.0).transpose((2, 0, 1)) + + if self.mode == 'train': + if not self.augment_flip_param[self.index // 4] == 0: + img = np.flip(img, self.augment_flip_param[self.index//4]) + if not self.augment_rotation_param[self.index // 4] == 0: + img = np.rot90( + img, self.augment_rotation_param[self.index // 4], (1, 2)) + self.index += 1 + + if self.index // 4 >= len(self.filepair): + self.index = 0 + + image = torch.from_numpy((img.copy())).float() + image = image / 10000.0 + mean = torch.as_tensor([0.5, 0.5, 0.5, 0.5], + dtype=image.dtype, device=image.device) + std = torch.as_tensor([0.5, 0.5, 0.5, 0.5], + dtype=image.dtype, device=image.device) + if mean.ndim == 1: + mean = mean.view(-1, 1, 1) + if std.ndim == 1: + std = std.view(-1, 1, 1) + image.sub_(mean).div_(std) + + return image + + +class Sen2_MTC_New1(data.Dataset): + def __init__(self, data_root, mode='train'): + self.data_root = data_root + self.mode = mode + self.filepair = [] + self.image_name = [] + + if mode == 'train': + self.tile_list = np.loadtxt(os.path.join( + self.data_root, 'train.txt'), dtype=str) + elif mode == 'val': + self.data_augmentation = None + self.tile_list = np.loadtxt( + os.path.join(self.data_root, 'val.txt'), dtype=str) + elif mode == 'test': + self.data_augmentation = None + self.tile_list = np.loadtxt( + os.path.join(self.data_root, 'test.txt'), dtype=str) + + for tile in self.tile_list: + image_name_list = [image_name.split('.')[0] for image_name in os.listdir( + os.path.join(self.data_root, 'Sen2_MTC', tile, 'cloudless'))] + + + for image_name in image_name_list: + image_cloud_path0 = os.path.join( + self.data_root, 'Sen2_MTC', tile, 'cloud', image_name + '_0.tif') + image_cloud_path1 = os.path.join( + self.data_root, 'Sen2_MTC', tile, 'cloud', image_name + '_1.tif') + image_cloud_path2 = os.path.join( + self.data_root, 'Sen2_MTC', tile, 'cloud', image_name + '_2.tif') + image_cloudless_path = os.path.join( + self.data_root, 'Sen2_MTC', tile, 'cloudless', image_name + '.tif') + + self.filepair.append( + [image_cloud_path0, image_cloud_path1, image_cloud_path2, image_cloudless_path]) + self.image_name.append(image_name) + + self.augment_rotation_param = np.random.randint( + 0, 4, len(self.filepair)) + self.augment_flip_param = np.random.randint(0, 3, len(self.filepair)) + self.index = 0 + + def __getitem__(self, index): + cloud_image_path0, cloud_image_path1, cloud_image_path2 = self.filepair[ + index][0], self.filepair[index][1], self.filepair[index][2] + cloudless_image_path = self.filepair[index][3] + + image_cloud0 = self.image_read(cloud_image_path0) + image_cloud1 = self.image_read(cloud_image_path1) + image_cloud2 = self.image_read(cloud_image_path2) + image_cloudless = self.image_read(cloudless_image_path) + + # return [image_cloud0, image_cloud1, image_cloud2], image_cloudless, self.image_name[index] + ret = {} + ret['gt_image'] = image_cloudless[:3, :, :] + if self.mode=="train": + ret['cond_image'] = random.choice([image_cloud0, image_cloud1, image_cloud2])[:3, :, :] + else: + ret['cond_image'] = image_cloud0[:3, :, :] + ret['path'] = self.image_name[index]+".png" + return ret + + def __len__(self): + return len(self.filepair) + + def image_read(self, image_path): + img = tiff.imread(image_path) + img = (img / 1.0).transpose((2, 0, 1)) + + if self.mode == 'train': + if not self.augment_flip_param[self.index // 4] == 0: + img = np.flip(img, self.augment_flip_param[self.index//4]) + if not self.augment_rotation_param[self.index // 4] == 0: + img = np.rot90( + img, self.augment_rotation_param[self.index // 4], (1, 2)) + self.index += 1 + + if self.index // 4 >= len(self.filepair): + self.index = 0 + + image = torch.from_numpy((img.copy())).float() + image = image / 10000.0 + mean = torch.as_tensor([0.5, 0.5, 0.5, 0.5], + dtype=image.dtype, device=image.device) + std = torch.as_tensor([0.5, 0.5, 0.5, 0.5], + dtype=image.dtype, device=image.device) + if mean.ndim == 1: + mean = mean.view(-1, 1, 1) + if std.ndim == 1: + std = std.view(-1, 1, 1) + image.sub_(mean).div_(std) + + return image + +class Sen2_MTC_New2(data.Dataset): + def __init__(self, data_root, mode='train'): + self.data_root = data_root + self.mode = mode + self.filepair = [] + self.image_name = [] + + if mode == 'train': + self.tile_list = np.loadtxt(os.path.join( + self.data_root, 'train.txt'), dtype=str) + elif mode == 'val': + self.data_augmentation = None + self.tile_list = np.loadtxt( + os.path.join(self.data_root, 'val.txt'), dtype=str) + elif mode == 'test': + self.data_augmentation = None + self.tile_list = np.loadtxt( + os.path.join(self.data_root, 'test.txt'), dtype=str) + + for tile in self.tile_list: + image_name_list = [image_name.split('.')[0] for image_name in os.listdir( + os.path.join(self.data_root, 'Sen2_MTC', tile, 'cloudless'))] + + + for image_name in image_name_list: + image_cloud_path0 = os.path.join( + self.data_root, 'Sen2_MTC', tile, 'cloud', image_name + '_0.tif') + image_cloud_path1 = os.path.join( + self.data_root, 'Sen2_MTC', tile, 'cloud', image_name + '_1.tif') + image_cloud_path2 = os.path.join( + self.data_root, 'Sen2_MTC', tile, 'cloud', image_name + '_2.tif') + image_cloudless_path = os.path.join( + self.data_root, 'Sen2_MTC', tile, 'cloudless', image_name + '.tif') + + self.filepair.append( + [image_cloud_path0, image_cloud_path1, image_cloud_path2, image_cloudless_path]) + self.image_name.append(image_name) + + self.augment_rotation_param = np.random.randint( + 0, 4, len(self.filepair)) + self.augment_flip_param = np.random.randint(0, 3, len(self.filepair)) + self.index = 0 + + def __getitem__(self, index): + cloud_image_path0, cloud_image_path1, cloud_image_path2 = self.filepair[ + index][0], self.filepair[index][1], self.filepair[index][2] + cloudless_image_path = self.filepair[index][3] + + image_cloud0 = self.image_read(cloud_image_path0) + image_cloud1 = self.image_read(cloud_image_path1) + image_cloud2 = self.image_read(cloud_image_path2) + image_cloudless = self.image_read(cloudless_image_path) + + # return [image_cloud0, image_cloud1, image_cloud2], image_cloudless, self.image_name[index] + ret = {} + ret['gt_image'] = image_cloudless[:3, :, :] + if self.mode=="train": + ret['cond_image'] = torch.cat(random.sample((image_cloud0[:3, :, :], image_cloud1[:3, :, :], image_cloud2[:3, :, :]), 2)) + else: + ret['cond_image'] = torch.cat([image_cloud0[:3, :, :], image_cloud1[:3, :, :]]) + ret['path'] = self.image_name[index]+".png" + return ret + + def __len__(self): + return len(self.filepair) + + def image_read(self, image_path): + img = tiff.imread(image_path) + img = (img / 1.0).transpose((2, 0, 1)) + + if self.mode == 'train': + if not self.augment_flip_param[self.index // 4] == 0: + img = np.flip(img, self.augment_flip_param[self.index//4]) + if not self.augment_rotation_param[self.index // 4] == 0: + img = np.rot90( + img, self.augment_rotation_param[self.index // 4], (1, 2)) + self.index += 1 + + if self.index // 4 >= len(self.filepair): + self.index = 0 + + image = torch.from_numpy((img.copy())).float() + image = image / 10000.0 + mean = torch.as_tensor([0.5, 0.5, 0.5, 0.5], + dtype=image.dtype, device=image.device) + std = torch.as_tensor([0.5, 0.5, 0.5, 0.5], + dtype=image.dtype, device=image.device) + if mean.ndim == 1: + mean = mean.view(-1, 1, 1) + if std.ndim == 1: + std = std.view(-1, 1, 1) + image.sub_(mean).div_(std) + + return image + +class InpaintDataset(data.Dataset): + def __init__(self, data_root, mask_config={}, data_len=-1, image_size=[256, 256], loader=pil_loader): + imgs = make_dataset(data_root) + if data_len > 0: + self.imgs = imgs[:int(data_len)] + else: + self.imgs = imgs + self.tfs = transforms.Compose([ + transforms.Resize((image_size[0], image_size[1])), + transforms.ToTensor(), + transforms.Normalize(mean=[0.5, 0.5, 0.5], std=[0.5, 0.5, 0.5]) + ]) + self.loader = loader + self.mask_config = mask_config + self.mask_mode = self.mask_config['mask_mode'] + self.image_size = image_size + + def __getitem__(self, index): + ret = {} + path = self.imgs[index] + img = self.tfs(self.loader(path)) + mask = self.get_mask() + cond_image = img*(1. - mask) + mask*torch.randn_like(img) + mask_img = img*(1. - mask) + mask + + ret['gt_image'] = img + ret['cond_image'] = cond_image + ret['mask_image'] = mask_img + ret['mask'] = mask + ret['path'] = path.rsplit("/")[-1].rsplit("\\")[-1] + return ret + + def __len__(self): + return len(self.imgs) + + def get_mask(self): + if self.mask_mode == 'bbox': + mask = bbox2mask(self.image_size, random_bbox()) + elif self.mask_mode == 'center': + h, w = self.image_size + mask = bbox2mask(self.image_size, (h//4, w//4, h//2, w//2)) + elif self.mask_mode == 'irregular': + mask = get_irregular_mask(self.image_size) + elif self.mask_mode == 'free_form': + mask = brush_stroke_mask(self.image_size) + elif self.mask_mode == 'hybrid': + regular_mask = bbox2mask(self.image_size, random_bbox()) + irregular_mask = brush_stroke_mask(self.image_size, ) + mask = regular_mask | irregular_mask + elif self.mask_mode == 'file': + pass + else: + raise NotImplementedError( + f'Mask mode {self.mask_mode} has not been implemented.') + return torch.from_numpy(mask).permute(2, 0, 1) + + +class UncroppingDataset(data.Dataset): + def __init__(self, data_root, mask_config={}, data_len=-1, image_size=[256, 256], loader=pil_loader): + imgs = make_dataset(data_root) + if data_len > 0: + self.imgs = imgs[:int(data_len)] + else: + self.imgs = imgs + self.tfs = transforms.Compose([ + transforms.Resize((image_size[0], image_size[1])), + transforms.ToTensor(), + transforms.Normalize(mean=[0.5, 0.5, 0.5], std=[0.5, 0.5, 0.5]) + ]) + self.loader = loader + self.mask_config = mask_config + self.mask_mode = self.mask_config['mask_mode'] + self.image_size = image_size + + def __getitem__(self, index): + ret = {} + path = self.imgs[index] + img = self.tfs(self.loader(path)) + mask = self.get_mask() + cond_image = img*(1. - mask) + mask*torch.randn_like(img) + mask_img = img*(1. - mask) + mask + + ret['gt_image'] = img + ret['cond_image'] = cond_image + ret['mask_image'] = mask_img + ret['mask'] = mask + ret['path'] = path.rsplit("/")[-1].rsplit("\\")[-1] + return ret + + def __len__(self): + return len(self.imgs) + + def get_mask(self): + if self.mask_mode == 'manual': + mask = bbox2mask(self.image_size, self.mask_config['shape']) + elif self.mask_mode == 'fourdirection' or self.mask_mode == 'onedirection': + mask = bbox2mask(self.image_size, random_cropping_bbox( + mask_mode=self.mask_mode)) + elif self.mask_mode == 'hybrid': + if np.random.randint(0, 2) < 1: + mask = bbox2mask(self.image_size, random_cropping_bbox( + mask_mode='onedirection')) + else: + mask = bbox2mask(self.image_size, random_cropping_bbox( + mask_mode='fourdirection')) + elif self.mask_mode == 'file': + pass + else: + raise NotImplementedError( + f'Mask mode {self.mask_mode} has not been implemented.') + return torch.from_numpy(mask).permute(2, 0, 1) + + +class ColorizationDataset(data.Dataset): + def __init__(self, data_root, data_flist, data_len=-1, image_size=[224, 224], loader=pil_loader): + self.data_root = data_root + flist = make_dataset(data_flist) + if data_len > 0: + self.flist = flist[:int(data_len)] + else: + self.flist = flist + self.tfs = transforms.Compose([ + transforms.Resize((image_size[0], image_size[1])), + transforms.ToTensor(), + transforms.Normalize(mean=[0.5, 0.5, 0.5], std=[0.5, 0.5, 0.5]) + ]) + self.loader = loader + self.image_size = image_size + + def __getitem__(self, index): + ret = {} + file_name = str(self.flist[index]).zfill(5) + '.png' + + img = self.tfs(self.loader( + '{}/{}/{}'.format(self.data_root, 'color', file_name))) + cond_image = self.tfs(self.loader( + '{}/{}/{}'.format(self.data_root, 'gray', file_name))) + + ret['gt_image'] = img + ret['cond_image'] = cond_image + ret['path'] = file_name + return ret + + def __len__(self): + return len(self.flist) + +def get_params( + size: Tuple[int, int], + preprocess: str = "resize_and_crop", + load_size: int = 286, + crop_size: int = 256, +): + w, h = size + new_h = h + new_w = w + + if preprocess == 'resize_and_crop': + new_h = new_w = load_size + elif preprocess == 'scale_width_and_crop': + new_w = load_size + new_h = load_size * h // w + else: + pass + + x = random.randint(0, np.maximum(0, new_w - crop_size)) + y = random.randint(0, np.maximum(0, new_h - crop_size)) + + flip = random.random() > 0.5 + + return {'crop_pos': (x, y), 'flip': flip} + + +def get_transform( + band: int, + params=None, + preprocess: str = "resize_and_crop", + load_size: int = 286, + crop_size: int = 256, + no_flip: bool = False, + grayscale=False, + method=InterpolationMode.BICUBIC, + convert=True +): + transform_list = [] + + if grayscale: + transform_list.append(transforms.Grayscale(1)) + else: + pass + + if 'resize' in preprocess: + osize = [load_size, load_size] + transform_list.append(transforms.Resize(osize, method)) + else: + pass + + if 'crop' in preprocess: + if params is None: + transform_list.append(transforms.RandomCrop(crop_size)) + else: + transform_list.append(transforms.Lambda( + lambda img: __crop(img, params['crop_pos'], crop_size))) + else: + pass + + if not no_flip: + if params is None: + transform_list.append(transforms.RandomHorizontalFlip()) + elif params['flip']: + transform_list.append(transforms.Lambda( + lambda img: __flip(img, params['flip']))) + else: + pass + + if convert: + transform_list += [ + transforms.ToTensor(), + transforms.Normalize( + (0.5, 0.5, 0.5), + (0.5, 0.5, 0.5) + ) + ] + else: + pass + return transforms.Compose(transform_list) + + +def __crop(img, pos, size): + ow, oh = img.size + x1, y1 = pos + tw = th = size + if ow > tw or oh > th: + return img.crop((x1, y1, x1 + tw, y1 + th)) + return img + + +def __flip(img, flip): + if flip: + return img.transpose(Image.FLIP_LEFT_RIGHT) + return img + +if __name__=='__main__': + import numpy as np + def get_rgb_tensor(image): + image = image*0.5+0.5 + rgb = image[:3, :, :] + rgb = rgb - torch.min(rgb) + + # treat saturated images, scale values + if torch.max(rgb) == 0: + rgb = 255 * torch.ones_like(rgb) + else: + rgb = 255 * (rgb / torch.max(rgb)) + + rgb = rgb.type(torch.uint8) + + # return rgb.float() + return rgb.permute(1, 2, 0).contiguous() + def get_rgb(image): + image = image.mul(0.5).add_(0.5) + image = image.squeeze() + image = image.mul(10000).add_(0.5).clamp_(0, 10000) + image = image.permute(1, 2, 0).cpu().detach().numpy() + image = image.astype(np.uint16) + + r = image[:, :, 0] + g = image[:, :, 1] + b = image[:, :, 2] + + r = np.clip(r, 0, 2000) + g = np.clip(g, 0, 2000) + b = np.clip(b, 0, 2000) + + rgb = np.dstack((r, g, b)) + rgb = rgb - np.nanmin(rgb) + + if np.nanmax(rgb) == 0: + rgb = 255 * np.ones_like(rgb) + else: + rgb = 255 * (rgb / np.nanmax(rgb)) + + rgb[np.isnan(rgb)] = np.nanmean(rgb) + rgb = rgb.astype(np.uint8) + + return rgb + for ret in Sen2_MTC_New("datasets", "val"): + # if ret["path"] == "T34TDT_R036_69.png": + # img = ret['gt_image'].permute(1, 2, 0)[:, :, :3] + # img = img.clamp_(*(-1, 1)).numpy() + # # img = ((img+1) * 127.5).round() + # img = img*10000 + # img = img.astype(np.uint8) + # Image.fromarray(img).save("gt.png") + # import time + # t1 = time.time() + # img = get_rgb_tensor(ret['gt_image']) + # delta = time.time()-t1 + # print(delta) + Image.fromarray(((ret['cond_image']*0.5+0.5)*255).permute(1, 2, 0).numpy().astype(np.uint8)).save("cond.png") + break \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/data/util/auto_augment.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/data/util/auto_augment.py new file mode 100644 index 0000000000000000000000000000000000000000..f01822c06fdd24539bbc80d2e5c3443d60fbd8ca --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/data/util/auto_augment.py @@ -0,0 +1,305 @@ +import random +import numpy as np +from scipy import ndimage +from PIL import Image, ImageEnhance, ImageOps + + +class AutoAugment(object): + def __init__(self): + self.policies = [ + ['Invert', 0.1, 7, 'Contrast', 0.2, 6], + ['Rotate', 0.7, 2, 'TranslateX', 0.3, 9], + ['Sharpness', 0.8, 1, 'Sharpness', 0.9, 3], + ['ShearY', 0.5, 8, 'TranslateY', 0.7, 9], + ['AutoContrast', 0.5, 8, 'Equalize', 0.9, 2], + ['ShearY', 0.2, 7, 'Posterize', 0.3, 7], + ['Color', 0.4, 3, 'Brightness', 0.6, 7], + ['Sharpness', 0.3, 9, 'Brightness', 0.7, 9], + ['Equalize', 0.6, 5, 'Equalize', 0.5, 1], + ['Contrast', 0.6, 7, 'Sharpness', 0.6, 5], + ['Color', 0.7, 7, 'TranslateX', 0.5, 8], + ['Equalize', 0.3, 7, 'AutoContrast', 0.4, 8], + ['TranslateY', 0.4, 3, 'Sharpness', 0.2, 6], + ['Brightness', 0.9, 6, 'Color', 0.2, 8], + ['Solarize', 0.5, 2, 'Invert', 0, 0.3], + ['Equalize', 0.2, 0, 'AutoContrast', 0.6, 0], + ['Equalize', 0.2, 8, 'Equalize', 0.6, 4], + ['Color', 0.9, 9, 'Equalize', 0.6, 6], + ['AutoContrast', 0.8, 4, 'Solarize', 0.2, 8], + ['Brightness', 0.1, 3, 'Color', 0.7, 0], + ['Solarize', 0.4, 5, 'AutoContrast', 0.9, 3], + ['TranslateY', 0.9, 9, 'TranslateY', 0.7, 9], + ['AutoContrast', 0.9, 2, 'Solarize', 0.8, 3], + ['Equalize', 0.8, 8, 'Invert', 0.1, 3], + ['TranslateY', 0.7, 9, 'AutoContrast', 0.9, 1], + ] + + def __call__(self, img): + img = apply_policy(img, self.policies[random.randrange(len(self.policies))]) + return img + + +class ImageNetAutoAugment(object): + def __init__(self): + self.policies = [ + ['Posterize', 0.4, 8, 'Rotate', 0.6, 9], + ['Solarize', 0.6, 5, 'AutoContrast', 0.6, 5], + ['Equalize', 0.8, 8, 'Equalize', 0.6, 3], + ['Posterize', 0.6, 7, 'Posterize', 0.6, 6], + ['Equalize', 0.4, 7, 'Solarize', 0.2, 4], + ['Equalize', 0.4, 4, 'Rotate', 0.8, 8], + ['Solarize', 0.6, 3, 'Equalize', 0.6, 7], + ['Posterize', 0.8, 5, 'Equalize', 1.0, 2], + ['Rotate', 0.2, 3, 'Solarize', 0.6, 8], + ['Equalize', 0.6, 8, 'Posterize', 0.4, 6], + ['Rotate', 0.8, 8, 'Color', 0.4, 0], + ['Rotate', 0.4, 9, 'Equalize', 0.6, 2], + ['Equalize', 0.0, 0.7, 'Equalize', 0.8, 8], + ['Invert', 0.6, 4, 'Equalize', 1.0, 8], + ['Color', 0.6, 4, 'Contrast', 1.0, 8], + ['Rotate', 0.8, 8, 'Color', 1.0, 2], + ['Color', 0.8, 8, 'Solarize', 0.8, 7], + ['Sharpness', 0.4, 7, 'Invert', 0.6, 8], + ['ShearX', 0.6, 5, 'Equalize', 1.0, 9], + ['Color', 0.4, 0, 'Equalize', 0.6, 3], + ['Equalize', 0.4, 7, 'Solarize', 0.2, 4], + ['Solarize', 0.6, 5, 'AutoContrast', 0.6, 5], + ['Invert', 0.6, 4, 'Equalize', 1.0, 8], + ['Color', 0.6, 4, 'Contrast', 1.0, 8], + ['Equalize', 0.8, 8, 'Equalize', 0.6, 3] + ] + + def __call__(self, img): + img = apply_policy(img, self.policies[random.randrange(len(self.policies))]) + return img + + +operations = { + 'ShearX': lambda img, magnitude: shear_x(img, magnitude), + 'ShearY': lambda img, magnitude: shear_y(img, magnitude), + 'TranslateX': lambda img, magnitude: translate_x(img, magnitude), + 'TranslateY': lambda img, magnitude: translate_y(img, magnitude), + 'Rotate': lambda img, magnitude: rotate(img, magnitude), + 'AutoContrast': lambda img, magnitude: auto_contrast(img, magnitude), + 'Invert': lambda img, magnitude: invert(img, magnitude), + 'Equalize': lambda img, magnitude: equalize(img, magnitude), + 'Solarize': lambda img, magnitude: solarize(img, magnitude), + 'Posterize': lambda img, magnitude: posterize(img, magnitude), + 'Contrast': lambda img, magnitude: contrast(img, magnitude), + 'Color': lambda img, magnitude: color(img, magnitude), + 'Brightness': lambda img, magnitude: brightness(img, magnitude), + 'Sharpness': lambda img, magnitude: sharpness(img, magnitude), + 'Cutout': lambda img, magnitude: cutout(img, magnitude), +} + + +def apply_policy(img, policy): + if random.random() < policy[1]: + img = operations[policy[0]](img, policy[2]) + if random.random() < policy[4]: + img = operations[policy[3]](img, policy[5]) + + return img + + +def transform_matrix_offset_center(matrix, x, y): + o_x = float(x) / 2 + 0.5 + o_y = float(y) / 2 + 0.5 + offset_matrix = np.array([[1, 0, o_x], [0, 1, o_y], [0, 0, 1]]) + reset_matrix = np.array([[1, 0, -o_x], [0, 1, -o_y], [0, 0, 1]]) + transform_matrix = offset_matrix @ matrix @ reset_matrix + return transform_matrix + + +def shear_x(img, magnitude): + img = np.array(img) + magnitudes = np.linspace(-0.3, 0.3, 11) + + transform_matrix = np.array([[1, random.uniform(magnitudes[magnitude], magnitudes[magnitude+1]), 0], + [0, 1, 0], + [0, 0, 1]]) + transform_matrix = transform_matrix_offset_center(transform_matrix, img.shape[0], img.shape[1]) + affine_matrix = transform_matrix[:2, :2] + offset = transform_matrix[:2, 2] + img = np.stack([ndimage.interpolation.affine_transform( + img[:, :, c], + affine_matrix, + offset) for c in range(img.shape[2])], axis=2) + img = Image.fromarray(img) + return img + + +def shear_y(img, magnitude): + img = np.array(img) + magnitudes = np.linspace(-0.3, 0.3, 11) + + transform_matrix = np.array([[1, 0, 0], + [random.uniform(magnitudes[magnitude], magnitudes[magnitude+1]), 1, 0], + [0, 0, 1]]) + transform_matrix = transform_matrix_offset_center(transform_matrix, img.shape[0], img.shape[1]) + affine_matrix = transform_matrix[:2, :2] + offset = transform_matrix[:2, 2] + img = np.stack([ndimage.interpolation.affine_transform( + img[:, :, c], + affine_matrix, + offset) for c in range(img.shape[2])], axis=2) + img = Image.fromarray(img) + return img + + +def translate_x(img, magnitude): + img = np.array(img) + magnitudes = np.linspace(-150/331, 150/331, 11) + + transform_matrix = np.array([[1, 0, 0], + [0, 1, img.shape[1]*random.uniform(magnitudes[magnitude], magnitudes[magnitude+1])], + [0, 0, 1]]) + transform_matrix = transform_matrix_offset_center(transform_matrix, img.shape[0], img.shape[1]) + affine_matrix = transform_matrix[:2, :2] + offset = transform_matrix[:2, 2] + img = np.stack([ndimage.interpolation.affine_transform( + img[:, :, c], + affine_matrix, + offset) for c in range(img.shape[2])], axis=2) + img = Image.fromarray(img) + return img + + +def translate_y(img, magnitude): + img = np.array(img) + magnitudes = np.linspace(-150/331, 150/331, 11) + + transform_matrix = np.array([[1, 0, img.shape[0]*random.uniform(magnitudes[magnitude], magnitudes[magnitude+1])], + [0, 1, 0], + [0, 0, 1]]) + transform_matrix = transform_matrix_offset_center(transform_matrix, img.shape[0], img.shape[1]) + affine_matrix = transform_matrix[:2, :2] + offset = transform_matrix[:2, 2] + img = np.stack([ndimage.interpolation.affine_transform( + img[:, :, c], + affine_matrix, + offset) for c in range(img.shape[2])], axis=2) + img = Image.fromarray(img) + return img + + +def rotate(img, magnitude): + img = np.array(img) + magnitudes = np.linspace(-30, 30, 11) + theta = np.deg2rad(random.uniform(magnitudes[magnitude], magnitudes[magnitude+1])) + transform_matrix = np.array([[np.cos(theta), -np.sin(theta), 0], + [np.sin(theta), np.cos(theta), 0], + [0, 0, 1]]) + transform_matrix = transform_matrix_offset_center(transform_matrix, img.shape[0], img.shape[1]) + affine_matrix = transform_matrix[:2, :2] + offset = transform_matrix[:2, 2] + img = np.stack([ndimage.interpolation.affine_transform( + img[:, :, c], + affine_matrix, + offset) for c in range(img.shape[2])], axis=2) + img = Image.fromarray(img) + return img + + +def auto_contrast(img, magnitude): + img = ImageOps.autocontrast(img) + return img + + +def invert(img, magnitude): + img = ImageOps.invert(img) + return img + + +def equalize(img, magnitude): + img = ImageOps.equalize(img) + return img + + +def solarize(img, magnitude): + magnitudes = np.linspace(0, 256, 11) + img = ImageOps.solarize(img, random.uniform(magnitudes[magnitude], magnitudes[magnitude+1])) + return img + + +def posterize(img, magnitude): + magnitudes = np.linspace(4, 8, 11) + img = ImageOps.posterize(img, int(round(random.uniform(magnitudes[magnitude], magnitudes[magnitude+1])))) + return img + + +def contrast(img, magnitude): + magnitudes = np.linspace(0.1, 1.9, 11) + img = ImageEnhance.Contrast(img).enhance(random.uniform(magnitudes[magnitude], magnitudes[magnitude+1])) + return img + + +def color(img, magnitude): + magnitudes = np.linspace(0.1, 1.9, 11) + img = ImageEnhance.Color(img).enhance(random.uniform(magnitudes[magnitude], magnitudes[magnitude+1])) + return img + + +def brightness(img, magnitude): + magnitudes = np.linspace(0.1, 1.9, 11) + img = ImageEnhance.Brightness(img).enhance(random.uniform(magnitudes[magnitude], magnitudes[magnitude+1])) + return img + + +def sharpness(img, magnitude): + magnitudes = np.linspace(0.1, 1.9, 11) + img = ImageEnhance.Sharpness(img).enhance(random.uniform(magnitudes[magnitude], magnitudes[magnitude+1])) + return img + + +def cutout(org_img, magnitude=None): + + magnitudes = np.linspace(0, 60/331, 11) + + img = np.copy(org_img) + mask_val = img.mean() + + if magnitude is None: + mask_size = 16 + else: + mask_size = int(round(img.shape[0]*random.uniform(magnitudes[magnitude], magnitudes[magnitude+1]))) + top = np.random.randint(0 - mask_size//2, img.shape[0] - mask_size) + left = np.random.randint(0 - mask_size//2, img.shape[1] - mask_size) + bottom = top + mask_size + right = left + mask_size + + if top < 0: + top = 0 + if left < 0: + left = 0 + + img[top:bottom, left:right, :].fill(mask_val) + + img = Image.fromarray(img) + + return img + + +class Cutout(object): + + def __init__(self, length=16): + self.length = length + + def __call__(self, img): + img = np.array(img) + + mask_val = img.mean() + + top = np.random.randint(0 - self.length//2, img.shape[0] - self.length) + left = np.random.randint(0 - self.length//2, img.shape[1] - self.length) + bottom = top + self.length + right = left + self.length + + top = 0 if top < 0 else top + left = 0 if left < 0 else top + + img[top:bottom, left:right, :] = mask_val + + img = Image.fromarray(img) + + return img \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/data/util/mask.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/data/util/mask.py new file mode 100644 index 0000000000000000000000000000000000000000..04ca0080418f0168f4bacb3954ba1c14f8ea9358 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/data/util/mask.py @@ -0,0 +1,338 @@ +# Copyright (c) OpenMMLab. All rights reserved. +import math + +import cv2 +import numpy as np +from PIL import Image, ImageDraw + + +def random_cropping_bbox(img_shape=(256,256), mask_mode='onedirection'): + h, w = img_shape + if mask_mode == 'onedirection': + _type = np.random.randint(0, 4) + if _type == 0: + top, left, height, width = 0, 0, h, w//2 + elif _type == 1: + top, left, height, width = 0, 0, h//2, w + elif _type == 2: + top, left, height, width = h//2, 0, h//2, w + elif _type == 3: + top, left, height, width = 0, w//2, h, w//2 + else: + target_area = (h*w)//2 + width = np.random.randint(target_area//h, w) + height = target_area//width + if h==height: + top = 0 + else: + top = np.random.randint(0, h-height) + if w==width: + left = 0 + else: + left = np.random.randint(0, w-width) + return (top, left, height, width) + +def random_bbox(img_shape=(256,256), max_bbox_shape=(128, 128), max_bbox_delta=40, min_margin=20): + """Generate a random bbox for the mask on a given image. + + In our implementation, the max value cannot be obtained since we use + `np.random.randint`. And this may be different with other standard scripts + in the community. + + Args: + img_shape (tuple[int]): The size of a image, in the form of (h, w). + max_bbox_shape (int | tuple[int]): Maximum shape of the mask box, + in the form of (h, w). If it is an integer, the mask box will be + square. + max_bbox_delta (int | tuple[int]): Maximum delta of the mask box, + in the form of (delta_h, delta_w). If it is an integer, delta_h + and delta_w will be the same. Mask shape will be randomly sampled + from the range of `max_bbox_shape - max_bbox_delta` and + `max_bbox_shape`. Default: (40, 40). + min_margin (int | tuple[int]): The minimum margin size from the + edges of mask box to the image boarder, in the form of + (margin_h, margin_w). If it is an integer, margin_h and margin_w + will be the same. Default: (20, 20). + + Returns: + tuple[int]: The generated box, (top, left, h, w). + """ + if not isinstance(max_bbox_shape, tuple): + max_bbox_shape = (max_bbox_shape, max_bbox_shape) + if not isinstance(max_bbox_delta, tuple): + max_bbox_delta = (max_bbox_delta, max_bbox_delta) + if not isinstance(min_margin, tuple): + min_margin = (min_margin, min_margin) + + img_h, img_w = img_shape[:2] + max_mask_h, max_mask_w = max_bbox_shape + max_delta_h, max_delta_w = max_bbox_delta + margin_h, margin_w = min_margin + + if max_mask_h > img_h or max_mask_w > img_w: + raise ValueError(f'mask shape {max_bbox_shape} should be smaller than ' + f'image shape {img_shape}') + if (max_delta_h // 2 * 2 >= max_mask_h + or max_delta_w // 2 * 2 >= max_mask_w): + raise ValueError(f'mask delta {max_bbox_delta} should be smaller than' + f'mask shape {max_bbox_shape}') + if img_h - max_mask_h < 2 * margin_h or img_w - max_mask_w < 2 * margin_w: + raise ValueError(f'Margin {min_margin} cannot be satisfied for img' + f'shape {img_shape} and mask shape {max_bbox_shape}') + + # get the max value of (top, left) + max_top = img_h - margin_h - max_mask_h + max_left = img_w - margin_w - max_mask_w + # randomly select a (top, left) + top = np.random.randint(margin_h, max_top) + left = np.random.randint(margin_w, max_left) + # randomly shrink the shape of mask box according to `max_bbox_delta` + # the center of box is fixed + delta_top = np.random.randint(0, max_delta_h // 2 + 1) + delta_left = np.random.randint(0, max_delta_w // 2 + 1) + top = top + delta_top + left = left + delta_left + h = max_mask_h - delta_top + w = max_mask_w - delta_left + return (top, left, h, w) + + +def bbox2mask(img_shape, bbox, dtype='uint8'): + """Generate mask in ndarray from bbox. + + The returned mask has the shape of (h, w, 1). '1' indicates the + hole and '0' indicates the valid regions. + + We prefer to use `uint8` as the data type of masks, which may be different + from other codes in the community. + + Args: + img_shape (tuple[int]): The size of the image. + bbox (tuple[int]): Configuration tuple, (top, left, height, width) + dtype (str): Indicate the data type of returned masks. Default: 'uint8' + + Return: + numpy.ndarray: Mask in the shape of (h, w, 1). + """ + + height, width = img_shape[:2] + + mask = np.zeros((height, width, 1), dtype=dtype) + mask[bbox[0]:bbox[0] + bbox[2], bbox[1]:bbox[1] + bbox[3], :] = 1 + + return mask + + +def brush_stroke_mask(img_shape, + num_vertices=(4, 12), + mean_angle=2 * math.pi / 5, + angle_range=2 * math.pi / 15, + brush_width=(12, 40), + max_loops=4, + dtype='uint8'): + """Generate free-form mask. + + The method of generating free-form mask is in the following paper: + Free-Form Image Inpainting with Gated Convolution. + + When you set the config of this type of mask. You may note the usage of + `np.random.randint` and the range of `np.random.randint` is [left, right). + + We prefer to use `uint8` as the data type of masks, which may be different + from other codes in the community. + + TODO: Rewrite the implementation of this function. + + Args: + img_shape (tuple[int]): Size of the image. + num_vertices (int | tuple[int]): Min and max number of vertices. If + only give an integer, we will fix the number of vertices. + Default: (4, 12). + mean_angle (float): Mean value of the angle in each vertex. The angle + is measured in radians. Default: 2 * math.pi / 5. + angle_range (float): Range of the random angle. + Default: 2 * math.pi / 15. + brush_width (int | tuple[int]): (min_width, max_width). If only give + an integer, we will fix the width of brush. Default: (12, 40). + max_loops (int): The max number of for loops of drawing strokes. + dtype (str): Indicate the data type of returned masks. + Default: 'uint8'. + + Returns: + numpy.ndarray: Mask in the shape of (h, w, 1). + """ + + img_h, img_w = img_shape[:2] + if isinstance(num_vertices, int): + min_num_vertices, max_num_vertices = num_vertices, num_vertices + 1 + elif isinstance(num_vertices, tuple): + min_num_vertices, max_num_vertices = num_vertices + else: + raise TypeError('The type of num_vertices should be int' + f'or tuple[int], but got type: {num_vertices}') + + if isinstance(brush_width, tuple): + min_width, max_width = brush_width + elif isinstance(brush_width, int): + min_width, max_width = brush_width, brush_width + 1 + else: + raise TypeError('The type of brush_width should be int' + f'or tuple[int], but got type: {brush_width}') + + average_radius = math.sqrt(img_h * img_h + img_w * img_w) / 8 + mask = Image.new('L', (img_w, img_h), 0) + + loop_num = np.random.randint(1, max_loops) + num_vertex_list = np.random.randint( + min_num_vertices, max_num_vertices, size=loop_num) + angle_min_list = np.random.uniform(0, angle_range, size=loop_num) + angle_max_list = np.random.uniform(0, angle_range, size=loop_num) + + for loop_n in range(loop_num): + num_vertex = num_vertex_list[loop_n] + angle_min = mean_angle - angle_min_list[loop_n] + angle_max = mean_angle + angle_max_list[loop_n] + angles = [] + vertex = [] + + # set random angle on each vertex + angles = np.random.uniform(angle_min, angle_max, size=num_vertex) + reverse_mask = (np.arange(num_vertex, dtype=np.float32) % 2) == 0 + angles[reverse_mask] = 2 * math.pi - angles[reverse_mask] + + h, w = mask.size + + # set random vertices + vertex.append((np.random.randint(0, w), np.random.randint(0, h))) + r_list = np.random.normal( + loc=average_radius, scale=average_radius // 2, size=num_vertex) + for i in range(num_vertex): + r = np.clip(r_list[i], 0, 2 * average_radius) + new_x = np.clip(vertex[-1][0] + r * math.cos(angles[i]), 0, w) + new_y = np.clip(vertex[-1][1] + r * math.sin(angles[i]), 0, h) + vertex.append((int(new_x), int(new_y))) + # draw brush strokes according to the vertex and angle list + draw = ImageDraw.Draw(mask) + width = np.random.randint(min_width, max_width) + draw.line(vertex, fill=1, width=width) + for v in vertex: + draw.ellipse((v[0] - width // 2, v[1] - width // 2, + v[0] + width // 2, v[1] + width // 2), + fill=1) + # randomly flip the mask + if np.random.normal() > 0: + mask.transpose(Image.FLIP_LEFT_RIGHT) + if np.random.normal() > 0: + mask.transpose(Image.FLIP_TOP_BOTTOM) + mask = np.array(mask).astype(dtype=getattr(np, dtype)) + mask = mask[:, :, None] + return mask + + +def random_irregular_mask(img_shape, + num_vertices=(4, 8), + max_angle=4, + length_range=(10, 100), + brush_width=(10, 40), + dtype='uint8'): + """Generate random irregular masks. + + This is a modified version of free-form mask implemented in + 'brush_stroke_mask'. + + We prefer to use `uint8` as the data type of masks, which may be different + from other codes in the community. + + TODO: Rewrite the implementation of this function. + + Args: + img_shape (tuple[int]): Size of the image. + num_vertices (int | tuple[int]): Min and max number of vertices. If + only give an integer, we will fix the number of vertices. + Default: (4, 8). + max_angle (float): Max value of angle at each vertex. Default 4.0. + length_range (int | tuple[int]): (min_length, max_length). If only give + an integer, we will fix the length of brush. Default: (10, 100). + brush_width (int | tuple[int]): (min_width, max_width). If only give + an integer, we will fix the width of brush. Default: (10, 40). + dtype (str): Indicate the data type of returned masks. Default: 'uint8' + + Returns: + numpy.ndarray: Mask in the shape of (h, w, 1). + """ + + h, w = img_shape[:2] + + mask = np.zeros((h, w), dtype=dtype) + if isinstance(length_range, int): + min_length, max_length = length_range, length_range + 1 + elif isinstance(length_range, tuple): + min_length, max_length = length_range + else: + raise TypeError('The type of length_range should be int' + f'or tuple[int], but got type: {length_range}') + if isinstance(num_vertices, int): + min_num_vertices, max_num_vertices = num_vertices, num_vertices + 1 + elif isinstance(num_vertices, tuple): + min_num_vertices, max_num_vertices = num_vertices + else: + raise TypeError('The type of num_vertices should be int' + f'or tuple[int], but got type: {num_vertices}') + + if isinstance(brush_width, int): + min_brush_width, max_brush_width = brush_width, brush_width + 1 + elif isinstance(brush_width, tuple): + min_brush_width, max_brush_width = brush_width + else: + raise TypeError('The type of brush_width should be int' + f'or tuple[int], but got type: {brush_width}') + + num_v = np.random.randint(min_num_vertices, max_num_vertices) + + for i in range(num_v): + start_x = np.random.randint(w) + start_y = np.random.randint(h) + # from the start point, randomly setlect n \in [1, 6] directions. + direction_num = np.random.randint(1, 6) + angle_list = np.random.randint(0, max_angle, size=direction_num) + length_list = np.random.randint( + min_length, max_length, size=direction_num) + brush_width_list = np.random.randint( + min_brush_width, max_brush_width, size=direction_num) + for direct_n in range(direction_num): + angle = 0.01 + angle_list[direct_n] + if i % 2 == 0: + angle = 2 * math.pi - angle + length = length_list[direct_n] + brush_w = brush_width_list[direct_n] + # compute end point according to the random angle + end_x = (start_x + length * np.sin(angle)).astype(np.int32) + end_y = (start_y + length * np.cos(angle)).astype(np.int32) + + cv2.line(mask, (start_y, start_x), (end_y, end_x), 1, brush_w) + start_x, start_y = end_x, end_y + mask = np.expand_dims(mask, axis=2) + + return mask + + +def get_irregular_mask(img_shape, area_ratio_range=(0.15, 0.5), **kwargs): + """Get irregular mask with the constraints in mask ratio + + Args: + img_shape (tuple[int]): Size of the image. + area_ratio_range (tuple(float)): Contain the minimum and maximum area + ratio. Default: (0.15, 0.5). + + Returns: + numpy.ndarray: Mask in the shape of (h, w, 1). + """ + + mask = random_irregular_mask(img_shape, **kwargs) + min_ratio, max_ratio = area_ratio_range + + while not min_ratio < (np.sum(mask) / + (img_shape[0] * img_shape[1])) < max_ratio: + mask = random_irregular_mask(img_shape, **kwargs) + + return mask diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/del.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/del.py new file mode 100644 index 0000000000000000000000000000000000000000..26aaf753cd5ed0c4d0e481ae519f83182a0cd523 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/del.py @@ -0,0 +1,5 @@ +import glob +import os + +for i in glob.glob("experiments/**/GT*.png", recursive=True): + os.remove(i) \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/eval.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/eval.py new file mode 100644 index 0000000000000000000000000000000000000000..b9e592970fbee06a10ea0327f13a56ad1196909d --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/eval.py @@ -0,0 +1,125 @@ +import argparse +from cleanfid import fid +from core.base_dataset import BaseDataset +from models.metric import inception_score +import numpy as np +import glob +import os +from skimage.measure import compare_psnr, compare_ssim +from PIL import Image +from rich.progress import track + + +if __name__ == '__main__': + parser = argparse.ArgumentParser() + parser.add_argument('-s', '--src', type=str, + help='Ground truth images directory') + parser.add_argument('-d', '--dst', type=str, + help='Generate images directory') + + ''' parser configs ''' + args = parser.parse_args() + +<<<<<<< HEAD +======= +<<<<<<< HEAD + # psnr = [] + # ssim = [] + # for gt_path, out_path in track(zip(glob.glob(os.path.join(args.src, "*")), glob.glob(os.path.join(args.dst, "*"))), total=685): + # gt = np.array(Image.open(gt_path)) + # out = np.array(Image.open(out_path)) + # _psnr = compare_psnr(gt, out) + # _ssim = ssim = compare_ssim( + # gt, out, multichannel=True, gaussian_weights=True, use_sample_covariance=False, sigma=1.5) + # psnr += [_psnr] + # ssim += [_ssim] + # psnr = sum(psnr)/len(psnr) + # ssim = sum(ssim)/len(ssim) + # print( + # f'PSNR: {psnr}\n', + # f'SSIM: {ssim}\n', + # ) +======= +>>>>>>> a13ebef0541ec6fe26f52d5598a109d848a51b9c + psnr = [] + ssim = [] + for gt_path, out_path in track(zip(glob.glob(os.path.join(args.src, "*")), glob.glob(os.path.join(args.dst, "*"))), total=685): + gt = np.array(Image.open(gt_path)) + out = np.array(Image.open(out_path)) + _psnr = compare_psnr(gt, out) + _ssim = ssim = compare_ssim( + gt, out, multichannel=True, gaussian_weights=True, use_sample_covariance=False, sigma=1.5) + psnr += [_psnr] + ssim += [_ssim] + psnr = sum(psnr)/len(psnr) + ssim = sum(ssim)/len(ssim) + print( + f'PSNR: {psnr}\n', + f'SSIM: {ssim}\n', + ) +<<<<<<< HEAD +======= +>>>>>>> ea6fb03699555768d2adcb4bc12908f82098912d +>>>>>>> a13ebef0541ec6fe26f52d5598a109d848a51b9c + fid_score = fid.compute_fid(args.src, args.dst) + is_mean, is_std = inception_score( + BaseDataset(args.dst), + cuda=True, + batch_size=8, + resize=True, + splits=10, + ) + print( + f'FID: {fid_score}\n', + f'IS: {is_mean} {is_std}\n', + ) + +""" +1. Palette-single-v1.0[epoch=9000] +- ↓PSNR: 14.62888054092963 +- ↑SSIM: 0.3244409937711537 +- ↑FID: 103.76912140940459 +- ↑IS: 3.008023500263284 0.37180917089147886 +2. Palette-single-v2.0[epoch=9000] +- ↑PSNR: 9.25222585999201 +- ↑SSIM: 0.44265318616227906 +- ↓FID: 153.20687384326067 +- ↑IS: 2.8962933749979887 0.23164383408662623 +3. PMAA-single[训练100个epoch] +- ↑PSNR: +- ↑SSIM: +- ↓FID: +- ↑IS: +4. Palette-multiple[TODO] +- ↑PSNR: +- ↑SSIM: +- ↓FID: +- ↑IS: +5. Palette-multiple[epoch=3000+dpm-solver] +<<<<<<< HEAD +======= +<<<<<<< HEAD +- PSNR: 12.076057469841748 +- SSIM: 0.6256649852628741 +6. Palette-multiple[epoch=4000+dpm-solver] +PSNR: 12.070057176915736 +SSIM: 0.6076268317926176 +FID: 89.40558513039605 +IS: 2.6435228768332335 0.48625733502371776 +6. Palette-multiple[epoch=3000+ddim1000] +- PSNR: 11.962246446296197 +- SSIM: 0.6039557910557187 +======= +>>>>>>> a13ebef0541ec6fe26f52d5598a109d848a51b9c +- ↑PSNR: 12.076057469841748 +- ↑SSIM: 0.6256649852628741 +- ↓FID: +- ↑IS: +6. Palette-multiple[epoch=3000+ddim1000] +PSNR: 11.962246446296197 +SSIM: 0.6039557910557187 +<<<<<<< HEAD +======= +>>>>>>> ea6fb03699555768d2adcb4bc12908f82098912d +>>>>>>> a13ebef0541ec6fe26f52d5598a109d848a51b9c +""" diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/fid_lpips.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/fid_lpips.py new file mode 100644 index 0000000000000000000000000000000000000000..4b7e134cf84f936ef492392e58e5e7548b49f626 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/fid_lpips.py @@ -0,0 +1,37 @@ +import os +from glob import glob +import numpy as np +import lpips +import torch +import subprocess +import sys +from tqdm import tqdm + + +def calculate_fid(src, dst): + device = torch.device('cuda' if torch.cuda.is_available() else 'cpu') + if sys.platform == "win32": + num_workers = 0 + else: + num_workers = 8 + subprocess.run( + f"python -m pytorch_fid {src} {dst} --device {device} --batch-size 8 --num-workers {num_workers}", + ) + + +def calculate_lpips(src, dst): + device = torch.device('cuda' if torch.cuda.is_available() else 'cpu') + loss_fn_alex = lpips.LPIPS(net='alex', verbose=False).to(device) + lpips_list = [] + for i, j in tqdm(zip(glob(src + "/*"), glob(dst + "/*")), total=len(glob(src + "/*"))): + img1 = lpips.im2tensor(lpips.load_image(i)).to(device) + img2 = lpips.im2tensor(lpips.load_image(j)).to(device) + lpips_list.append(loss_fn_alex(img1, img2).item()) + print(f"LPIPS:{np.mean(lpips_list)}") + + +if __name__ == "__main__": + src = "../0/GT" + dst = "../0/Out" + calculate_fid(src, dst) + calculate_lpips(src, dst) diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/__init__.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..19043a126f0c2516e97426bf868859fbbe7b929c --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/__init__.py @@ -0,0 +1,29 @@ +from core.praser import init_obj + +def create_model(**cfg_model): + """ create_model """ + opt = cfg_model['opt'] + logger = cfg_model['logger'] + + model_opt = opt['model']['which_model'] + model_opt['args'].update(cfg_model) + model = init_obj(model_opt, logger, default_file_name='models.model', init_type='Model') + + return model + +def define_network(logger, opt, network_opt): + """ define network with weights initialization """ + net = init_obj(network_opt, logger, default_file_name='models.network', init_type='Network') + + if opt['phase'] == 'train': + logger.info('Network [{}] weights initialize using [{:s}] method.'.format(net.__class__.__name__, network_opt['args'].get('init_type', 'default'))) + net.init_weights() + return net + + +def define_loss(logger, loss_opt): + return init_obj(loss_opt, logger, default_file_name='models.loss', init_type='Loss') + +def define_metric(logger, metric_opt): + return init_obj(metric_opt, logger, default_file_name='models.metric', init_type='Metric') + diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/guided_diffusion_modules/nn.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/guided_diffusion_modules/nn.py new file mode 100644 index 0000000000000000000000000000000000000000..60b83c965aeb86443852d218e423a23b7293e28f --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/guided_diffusion_modules/nn.py @@ -0,0 +1,138 @@ +""" +Various utilities for neural networks. +""" + +import math +import numpy as np +import torch +import torch.nn as nn + + +class GroupNorm32(nn.GroupNorm): + def forward(self, x): + return super().forward(x.float()).type(x.dtype) + + +def zero_module(module): + """ + Zero out the parameters of a module and return it. + """ + for p in module.parameters(): + p.detach().zero_() + return module + + +def scale_module(module, scale): + """ + Scale the parameters of a module and return it. + """ + for p in module.parameters(): + p.detach().mul_(scale) + return module + + +def mean_flat(tensor): + """ + Take the mean over all non-batch dimensions. + """ + return tensor.mean(dim=list(range(1, len(tensor.shape)))) + + +def normalization(channels): + """ + Make a standard normalization layer. + + :param channels: number of input channels. + :return: an nn.Module for normalization. + """ + return GroupNorm32(32, channels) + + + +def checkpoint(func, inputs, params, flag): + """ + Evaluate a function without caching intermediate activations, allowing for + reduced memory at the expense of extra compute in the backward pass. + + :param func: the function to evaluate. + :param inputs: the argument sequence to pass to `func`. + :param params: a sequence of parameters `func` depends on but does not + explicitly take as arguments. + :param flag: if False, disable gradient checkpointing. + """ + if flag: + args = tuple(inputs) + tuple(params) + return CheckpointFunction.apply(func, len(inputs), *args) + else: + return func(*inputs) + + +class CheckpointFunction(torch.autograd.Function): + @staticmethod + def forward(ctx, run_function, length, *args): + ctx.run_function = run_function + ctx.input_tensors = list(args[:length]) + ctx.input_params = list(args[length:]) + with torch.no_grad(): + output_tensors = ctx.run_function(*ctx.input_tensors) + return output_tensors + + @staticmethod + def backward(ctx, *output_grads): + ctx.input_tensors = [x.detach().requires_grad_(True) for x in ctx.input_tensors] + with torch.enable_grad(): + # Fixes a bug where the first op in run_function modifies the + # Tensor storage in place, which is not allowed for detach()'d + # Tensors. + shallow_copies = [x.view_as(x) for x in ctx.input_tensors] + output_tensors = ctx.run_function(*shallow_copies) + input_grads = torch.autograd.grad( + output_tensors, + ctx.input_tensors + ctx.input_params, + output_grads, + allow_unused=True, + ) + del ctx.input_tensors + del ctx.input_params + del output_tensors + return (None, None) + input_grads + + +def count_flops_attn(model, _x, y): + """ + A counter for the `thop` package to count the operations in an + attention operation. + Meant to be used like: + macs, params = thop.profile( + model, + inputs=(inputs, timestamps), + custom_ops={QKVAttention: QKVAttention.count_flops}, + ) + """ + b, c, *spatial = y[0].shape + num_spatial = int(np.prod(spatial)) + # We perform two matmuls with the same number of ops. + # The first computes the weight matrix, the second computes + # the combination of the value vectors. + matmul_ops = 2 * b * (num_spatial ** 2) * c + model.total_ops += torch.DoubleTensor([matmul_ops]) + + +def gamma_embedding(gammas, dim, max_period=10000): + """ + Create sinusoidal timestep embeddings. + :param gammas: a 1-D Tensor of N indices, one per batch element. + These may be fractional. + :param dim: the dimension of the output. + :param max_period: controls the minimum frequency of the embeddings. + :return: an [N x dim] Tensor of positional embeddings. + """ + half = dim // 2 + freqs = torch.exp( + -math.log(max_period) * torch.arange(start=0, end=half, dtype=torch.float32) / half + ).to(device=gammas.device) + args = gammas[:, None].float() * freqs[None] + embedding = torch.cat([torch.cos(args), torch.sin(args)], dim=-1) + if dim % 2: + embedding = torch.cat([embedding, torch.zeros_like(embedding[:, :1])], dim=-1) + return embedding \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/guided_diffusion_modules/unet.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/guided_diffusion_modules/unet.py new file mode 100644 index 0000000000000000000000000000000000000000..218883a258d99d0d6ee5e0f23d749a271ce5d9b9 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/guided_diffusion_modules/unet.py @@ -0,0 +1,560 @@ +from abc import abstractmethod +import math + +import torch +import torch.nn as nn +import torch.nn.functional as F + +from .nn import ( + checkpoint, + zero_module, + normalization, + count_flops_attn, + gamma_embedding +) + +class SiLU(nn.Module): + def forward(self, x): + return x * torch.sigmoid(x) + +class EmbedBlock(nn.Module): + """ + Any module where forward() takes embeddings as a second argument. + """ + + @abstractmethod + def forward(self, x, emb): + """ + Apply the module to `x` given `emb` embeddings. + """ + +class EmbedSequential(nn.Sequential, EmbedBlock): + """ + A sequential module that passes embeddings to the children that + support it as an extra input. + """ + + def forward(self, x, emb): + for layer in self: + if isinstance(layer, EmbedBlock): + x = layer(x, emb) + else: + x = layer(x) + return x + +class Upsample(nn.Module): + """ + An upsampling layer with an optional convolution. + :param channels: channels in the inputs and outputs. + :param use_conv: a bool determining if a convolution is applied. + + """ + + def __init__(self, channels, use_conv, out_channel=None): + super().__init__() + self.channels = channels + self.out_channel = out_channel or channels + self.use_conv = use_conv + if use_conv: + self.conv = nn.Conv2d(self.channels, self.out_channel, 3, padding=1) + + def forward(self, x): + assert x.shape[1] == self.channels + x = F.interpolate(x, scale_factor=2, mode="nearest") + if self.use_conv: + x = self.conv(x) + return x + +class Downsample(nn.Module): + """ + A downsampling layer with an optional convolution. + :param channels: channels in the inputs and outputs. + :param use_conv: a bool determining if a convolution is applied. + """ + + def __init__(self, channels, use_conv, out_channel=None): + super().__init__() + self.channels = channels + self.out_channel = out_channel or channels + self.use_conv = use_conv + stride = 2 + if use_conv: + self.op = nn.Conv2d( + self.channels, self.out_channel, 3, stride=stride, padding=1 + ) + else: + assert self.channels == self.out_channel + self.op = nn.AvgPool2d(kernel_size=stride, stride=stride) + + def forward(self, x): + assert x.shape[1] == self.channels + return self.op(x) + + +class ResBlock(EmbedBlock): + """ + A residual block that can optionally change the number of channels. + :param channels: the number of input channels. + :param emb_channels: the number of embedding channels. + :param dropout: the rate of dropout. + :param out_channel: if specified, the number of out channels. + :param use_conv: if True and out_channel is specified, use a spatial + convolution instead of a smaller 1x1 convolution to change the + channels in the skip connection. + :param use_checkpoint: if True, use gradient checkpointing on this module. + :param up: if True, use this block for upsampling. + :param down: if True, use this block for downsampling. + """ + + def __init__( + self, + channels, + emb_channels, + dropout, + out_channel=None, + use_conv=False, + use_scale_shift_norm=False, + use_checkpoint=False, + up=False, + down=False, + ): + super().__init__() + self.channels = channels + self.emb_channels = emb_channels + self.dropout = dropout + self.out_channel = out_channel or channels + self.use_conv = use_conv + self.use_checkpoint = use_checkpoint + self.use_scale_shift_norm = use_scale_shift_norm + + self.in_layers = nn.Sequential( + normalization(channels), + SiLU(), + nn.Conv2d(channels, self.out_channel, 3, padding=1), + ) + + self.updown = up or down + + if up: + self.h_upd = Upsample(channels, False) + self.x_upd = Upsample(channels, False) + elif down: + self.h_upd = Downsample(channels, False) + self.x_upd = Downsample(channels, False) + else: + self.h_upd = self.x_upd = nn.Identity() + + self.emb_layers = nn.Sequential( + SiLU(), + nn.Linear( + emb_channels, + 2 * self.out_channel if use_scale_shift_norm else self.out_channel, + ), + ) + self.out_layers = nn.Sequential( + normalization(self.out_channel), + SiLU(), + nn.Dropout(p=dropout), + zero_module( + nn.Conv2d(self.out_channel, self.out_channel, 3, padding=1) + ), + ) + + if self.out_channel == channels: + self.skip_connection = nn.Identity() + elif use_conv: + self.skip_connection = nn.Conv2d( + channels, self.out_channel, 3, padding=1 + ) + else: + self.skip_connection = nn.Conv2d(channels, self.out_channel, 1) + + def forward(self, x, emb): + """ + Apply the block to a Tensor, conditioned on a embedding. + :param x: an [N x C x ...] Tensor of features. + :param emb: an [N x emb_channels] Tensor of embeddings. + :return: an [N x C x ...] Tensor of outputs. + """ + return checkpoint( + self._forward, (x, emb), self.parameters(), self.use_checkpoint + ) + + def _forward(self, x, emb): + if self.updown: + in_rest, in_conv = self.in_layers[:-1], self.in_layers[-1] + h = in_rest(x) + h = self.h_upd(h) + x = self.x_upd(x) + h = in_conv(h) + else: + h = self.in_layers(x) + emb_out = self.emb_layers(emb).type(h.dtype) + while len(emb_out.shape) < len(h.shape): + emb_out = emb_out[..., None] + if self.use_scale_shift_norm: + out_norm, out_rest = self.out_layers[0], self.out_layers[1:] + scale, shift = torch.chunk(emb_out, 2, dim=1) + h = out_norm(h) * (1 + scale) + shift + h = out_rest(h) + else: + h = h + emb_out + h = self.out_layers(h) + return self.skip_connection(x) + h + +class AttentionBlock(nn.Module): + """ + An attention block that allows spatial positions to attend to each other. + Originally ported from here, but adapted to the N-d case. + https://github.com/hojonathanho/diffusion/blob/1e0dceb3b3495bbe19116a5e1b3596cd0706c543/diffusion_tf/models/unet.py#L66. + """ + + def __init__( + self, + channels, + num_heads=1, + num_head_channels=-1, + use_checkpoint=False, + use_new_attention_order=False, + ): + super().__init__() + self.channels = channels + if num_head_channels == -1: + self.num_heads = num_heads + else: + assert ( + channels % num_head_channels == 0 + ), f"q,k,v channels {channels} is not divisible by num_head_channels {num_head_channels}" + self.num_heads = channels // num_head_channels + self.use_checkpoint = use_checkpoint + self.norm = normalization(channels) + self.qkv = nn.Conv1d(channels, channels * 3, 1) + if use_new_attention_order: + # split qkv before split heads + self.attention = QKVAttention(self.num_heads) + else: + # split heads before split qkv + self.attention = QKVAttentionLegacy(self.num_heads) + + self.proj_out = zero_module(nn.Conv1d(channels, channels, 1)) + + def forward(self, x): + return checkpoint(self._forward, (x,), self.parameters(), True) + + def _forward(self, x): + b, c, *spatial = x.shape + x = x.reshape(b, c, -1) + qkv = self.qkv(self.norm(x)) + h = self.attention(qkv) + h = self.proj_out(h) + return (x + h).reshape(b, c, *spatial) + + +class QKVAttentionLegacy(nn.Module): + """ + A module which performs QKV attention. Matches legacy QKVAttention + input/ouput heads shaping + """ + + def __init__(self, n_heads): + super().__init__() + self.n_heads = n_heads + + def forward(self, qkv): + """ + Apply QKV attention. + :param qkv: an [N x (H * 3 * C) x T] tensor of Qs, Ks, and Vs. + :return: an [N x (H * C) x T] tensor after attention. + """ + bs, width, length = qkv.shape + assert width % (3 * self.n_heads) == 0 + ch = width // (3 * self.n_heads) + q, k, v = qkv.reshape(bs * self.n_heads, ch * 3, length).split(ch, dim=1) + scale = 1 / math.sqrt(math.sqrt(ch)) + weight = torch.einsum( + "bct,bcs->bts", q * scale, k * scale + ) # More stable with f16 than dividing afterwards + weight = torch.softmax(weight.float(), dim=-1).type(weight.dtype) + a = torch.einsum("bts,bcs->bct", weight, v) + return a.reshape(bs, -1, length) + + @staticmethod + def count_flops(model, _x, y): + return count_flops_attn(model, _x, y) + + +class QKVAttention(nn.Module): + """ + A module which performs QKV attention and splits in a different order. + """ + + def __init__(self, n_heads): + super().__init__() + self.n_heads = n_heads + + def forward(self, qkv): + """ + Apply QKV attention. + :param qkv: an [N x (3 * H * C) x T] tensor of Qs, Ks, and Vs. + :return: an [N x (H * C) x T] tensor after attention. + """ + bs, width, length = qkv.shape + assert width % (3 * self.n_heads) == 0 + ch = width // (3 * self.n_heads) + q, k, v = qkv.chunk(3, dim=1) + scale = 1 / math.sqrt(math.sqrt(ch)) + weight = torch.einsum( + "bct,bcs->bts", + (q * scale).view(bs * self.n_heads, ch, length), + (k * scale).view(bs * self.n_heads, ch, length), + ) # More stable with f16 than dividing afterwards + weight = torch.softmax(weight.float(), dim=-1).type(weight.dtype) + a = torch.einsum("bts,bcs->bct", weight, v.reshape(bs * self.n_heads, ch, length)) + return a.reshape(bs, -1, length) + + @staticmethod + def count_flops(model, _x, y): + return count_flops_attn(model, _x, y) + +class UNet(nn.Module): + """ + The full UNet model with attention and embedding. + :param in_channel: channels in the input Tensor, for image colorization : Y_channels + X_channels . + :param inner_channel: base channel count for the model. + :param out_channel: channels in the output Tensor. + :param res_blocks: number of residual blocks per downsample. + :param attn_res: a collection of downsample rates at which + attention will take place. May be a set, list, or tuple. + For example, if this contains 4, then at 4x downsampling, attention + will be used. + :param dropout: the dropout probability. + :param channel_mults: channel multiplier for each level of the UNet. + :param conv_resample: if True, use learned convolutions for upsampling and + downsampling. + :param use_checkpoint: use gradient checkpointing to reduce memory usage. + :param num_heads: the number of attention heads in each attention layer. + :param num_heads_channels: if specified, ignore num_heads and instead use + a fixed channel width per attention head. + :param num_heads_upsample: works with num_heads to set a different number + of heads for upsampling. Deprecated. + :param use_scale_shift_norm: use a FiLM-like conditioning mechanism. + :param resblock_updown: use residual blocks for up/downsampling. + :param use_new_attention_order: use a different attention pattern for potentially + increased efficiency. + """ + + def __init__( + self, + image_size, + in_channel, + inner_channel, + out_channel, + res_blocks, + attn_res, + dropout=0, + channel_mults=(1, 2, 4, 8), + conv_resample=True, + use_checkpoint=False, + use_fp16=False, + num_heads=1, + num_head_channels=-1, + num_heads_upsample=-1, + use_scale_shift_norm=True, + resblock_updown=True, + use_new_attention_order=False, + ): + + super().__init__() + + if num_heads_upsample == -1: + num_heads_upsample = num_heads + + self.image_size = image_size + self.in_channel = in_channel + self.inner_channel = inner_channel + self.out_channel = out_channel + self.res_blocks = res_blocks + self.attn_res = attn_res + self.dropout = dropout + self.channel_mults = channel_mults + self.conv_resample = conv_resample + self.use_checkpoint = use_checkpoint + self.dtype = torch.float16 if use_fp16 else torch.float32 + self.num_heads = num_heads + self.num_head_channels = num_head_channels + self.num_heads_upsample = num_heads_upsample + + cond_embed_dim = inner_channel * 4 + self.cond_embed = nn.Sequential( + nn.Linear(inner_channel, cond_embed_dim), + SiLU(), + nn.Linear(cond_embed_dim, cond_embed_dim), + ) + + ch = input_ch = int(channel_mults[0] * inner_channel) + self.input_blocks = nn.ModuleList( + [EmbedSequential(nn.Conv2d(in_channel, ch, 3, padding=1))] + ) + self._feature_size = ch + input_block_chans = [ch] + ds = 1 + for level, mult in enumerate(channel_mults): + for _ in range(res_blocks): + layers = [ + ResBlock( + ch, + cond_embed_dim, + dropout, + out_channel=int(mult * inner_channel), + use_checkpoint=use_checkpoint, + use_scale_shift_norm=use_scale_shift_norm, + ) + ] + ch = int(mult * inner_channel) + if ds in attn_res: + layers.append( + AttentionBlock( + ch, + use_checkpoint=use_checkpoint, + num_heads=num_heads, + num_head_channels=num_head_channels, + use_new_attention_order=use_new_attention_order, + ) + ) + self.input_blocks.append(EmbedSequential(*layers)) + self._feature_size += ch + input_block_chans.append(ch) + if level != len(channel_mults) - 1: + out_ch = ch + self.input_blocks.append( + EmbedSequential( + ResBlock( + ch, + cond_embed_dim, + dropout, + out_channel=out_ch, + use_checkpoint=use_checkpoint, + use_scale_shift_norm=use_scale_shift_norm, + down=True, + ) + if resblock_updown + else Downsample( + ch, conv_resample, out_channel=out_ch + ) + ) + ) + ch = out_ch + input_block_chans.append(ch) + ds *= 2 + self._feature_size += ch + + self.middle_block = EmbedSequential( + ResBlock( + ch, + cond_embed_dim, + dropout, + use_checkpoint=use_checkpoint, + use_scale_shift_norm=use_scale_shift_norm, + ), + AttentionBlock( + ch, + use_checkpoint=use_checkpoint, + num_heads=num_heads, + num_head_channels=num_head_channels, + use_new_attention_order=use_new_attention_order, + ), + ResBlock( + ch, + cond_embed_dim, + dropout, + use_checkpoint=use_checkpoint, + use_scale_shift_norm=use_scale_shift_norm, + ), + ) + self._feature_size += ch + + self.output_blocks = nn.ModuleList([]) + for level, mult in list(enumerate(channel_mults))[::-1]: + for i in range(res_blocks + 1): + ich = input_block_chans.pop() + layers = [ + ResBlock( + ch + ich, + cond_embed_dim, + dropout, + out_channel=int(inner_channel * mult), + use_checkpoint=use_checkpoint, + use_scale_shift_norm=use_scale_shift_norm, + ) + ] + ch = int(inner_channel * mult) + if ds in attn_res: + layers.append( + AttentionBlock( + ch, + use_checkpoint=use_checkpoint, + num_heads=num_heads_upsample, + num_head_channels=num_head_channels, + use_new_attention_order=use_new_attention_order, + ) + ) + if level and i == res_blocks: + out_ch = ch + layers.append( + ResBlock( + ch, + cond_embed_dim, + dropout, + out_channel=out_ch, + use_checkpoint=use_checkpoint, + use_scale_shift_norm=use_scale_shift_norm, + up=True, + ) + if resblock_updown + else Upsample(ch, conv_resample, out_channel=out_ch) + ) + ds //= 2 + self.output_blocks.append(EmbedSequential(*layers)) + self._feature_size += ch + + self.out = nn.Sequential( + normalization(ch), + SiLU(), + zero_module(nn.Conv2d(input_ch, out_channel, 3, padding=1)), + ) + + def forward(self, x, gammas): + """ + Apply the model to an input batch. + :param x: an [N x 2 x ...] Tensor of inputs (B&W) + :param gammas: a 1-D batch of gammas. # 2000 190 + :return: an [N x C x ...] Tensor of outputs. + """ + hs = [] + gammas = gammas.view(-1, ) # [bs] + emb = self.cond_embed(gamma_embedding(gammas, self.inner_channel)) # [bs, 64*4] + + h = x.type(torch.float32) + for module in self.input_blocks: + h = module(h, emb) + hs.append(h) + h = self.middle_block(h, emb) + for module in self.output_blocks: + h = torch.cat([h, hs.pop()], dim=1) + h = module(h, emb) + h = h.type(x.dtype) + return self.out(h) + +if __name__ == '__main__': + b, c, h, w = 3, 6, 64, 64 + timsteps = 100 + model = UNet( + image_size=h, + in_channel=c, + inner_channel=64, + out_channel=3, + res_blocks=2, + attn_res=[8] + ) + x = torch.randn((b, c, h, w)) + emb = torch.ones((b, )) + out = model(x, emb) \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/guided_diffusion_modules/unet_tanh.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/guided_diffusion_modules/unet_tanh.py new file mode 100644 index 0000000000000000000000000000000000000000..00d72681897edbdb2d5f0fca7dbae0895d56ae12 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/guided_diffusion_modules/unet_tanh.py @@ -0,0 +1,561 @@ +from abc import abstractmethod +import math + +import torch +import torch.nn as nn +import torch.nn.functional as F + +from .nn import ( + checkpoint, + zero_module, + normalization, + count_flops_attn, + gamma_embedding +) + +class SiLU(nn.Module): + def forward(self, x): + return x * torch.sigmoid(x) + +class EmbedBlock(nn.Module): + """ + Any module where forward() takes embeddings as a second argument. + """ + + @abstractmethod + def forward(self, x, emb): + """ + Apply the module to `x` given `emb` embeddings. + """ + +class EmbedSequential(nn.Sequential, EmbedBlock): + """ + A sequential module that passes embeddings to the children that + support it as an extra input. + """ + + def forward(self, x, emb): + for layer in self: + if isinstance(layer, EmbedBlock): + x = layer(x, emb) + else: + x = layer(x) + return x + +class Upsample(nn.Module): + """ + An upsampling layer with an optional convolution. + :param channels: channels in the inputs and outputs. + :param use_conv: a bool determining if a convolution is applied. + + """ + + def __init__(self, channels, use_conv, out_channel=None): + super().__init__() + self.channels = channels + self.out_channel = out_channel or channels + self.use_conv = use_conv + if use_conv: + self.conv = nn.Conv2d(self.channels, self.out_channel, 3, padding=1) + + def forward(self, x): + assert x.shape[1] == self.channels + x = F.interpolate(x, scale_factor=2, mode="nearest") + if self.use_conv: + x = self.conv(x) + return x + +class Downsample(nn.Module): + """ + A downsampling layer with an optional convolution. + :param channels: channels in the inputs and outputs. + :param use_conv: a bool determining if a convolution is applied. + """ + + def __init__(self, channels, use_conv, out_channel=None): + super().__init__() + self.channels = channels + self.out_channel = out_channel or channels + self.use_conv = use_conv + stride = 2 + if use_conv: + self.op = nn.Conv2d( + self.channels, self.out_channel, 3, stride=stride, padding=1 + ) + else: + assert self.channels == self.out_channel + self.op = nn.AvgPool2d(kernel_size=stride, stride=stride) + + def forward(self, x): + assert x.shape[1] == self.channels + return self.op(x) + + +class ResBlock(EmbedBlock): + """ + A residual block that can optionally change the number of channels. + :param channels: the number of input channels. + :param emb_channels: the number of embedding channels. + :param dropout: the rate of dropout. + :param out_channel: if specified, the number of out channels. + :param use_conv: if True and out_channel is specified, use a spatial + convolution instead of a smaller 1x1 convolution to change the + channels in the skip connection. + :param use_checkpoint: if True, use gradient checkpointing on this module. + :param up: if True, use this block for upsampling. + :param down: if True, use this block for downsampling. + """ + + def __init__( + self, + channels, + emb_channels, + dropout, + out_channel=None, + use_conv=False, + use_scale_shift_norm=False, + use_checkpoint=False, + up=False, + down=False, + ): + super().__init__() + self.channels = channels + self.emb_channels = emb_channels + self.dropout = dropout + self.out_channel = out_channel or channels + self.use_conv = use_conv + self.use_checkpoint = use_checkpoint + self.use_scale_shift_norm = use_scale_shift_norm + + self.in_layers = nn.Sequential( + normalization(channels), + SiLU(), + nn.Conv2d(channels, self.out_channel, 3, padding=1), + ) + + self.updown = up or down + + if up: + self.h_upd = Upsample(channels, False) + self.x_upd = Upsample(channels, False) + elif down: + self.h_upd = Downsample(channels, False) + self.x_upd = Downsample(channels, False) + else: + self.h_upd = self.x_upd = nn.Identity() + + self.emb_layers = nn.Sequential( + SiLU(), + nn.Linear( + emb_channels, + 2 * self.out_channel if use_scale_shift_norm else self.out_channel, + ), + ) + self.out_layers = nn.Sequential( + normalization(self.out_channel), + SiLU(), + nn.Dropout(p=dropout), + zero_module( + nn.Conv2d(self.out_channel, self.out_channel, 3, padding=1) + ), + ) + + if self.out_channel == channels: + self.skip_connection = nn.Identity() + elif use_conv: + self.skip_connection = nn.Conv2d( + channels, self.out_channel, 3, padding=1 + ) + else: + self.skip_connection = nn.Conv2d(channels, self.out_channel, 1) + + def forward(self, x, emb): + """ + Apply the block to a Tensor, conditioned on a embedding. + :param x: an [N x C x ...] Tensor of features. + :param emb: an [N x emb_channels] Tensor of embeddings. + :return: an [N x C x ...] Tensor of outputs. + """ + return checkpoint( + self._forward, (x, emb), self.parameters(), self.use_checkpoint + ) + + def _forward(self, x, emb): + if self.updown: + in_rest, in_conv = self.in_layers[:-1], self.in_layers[-1] + h = in_rest(x) + h = self.h_upd(h) + x = self.x_upd(x) + h = in_conv(h) + else: + h = self.in_layers(x) + emb_out = self.emb_layers(emb).type(h.dtype) + while len(emb_out.shape) < len(h.shape): + emb_out = emb_out[..., None] + if self.use_scale_shift_norm: + out_norm, out_rest = self.out_layers[0], self.out_layers[1:] + scale, shift = torch.chunk(emb_out, 2, dim=1) + h = out_norm(h) * (1 + scale) + shift + h = out_rest(h) + else: + h = h + emb_out + h = self.out_layers(h) + return self.skip_connection(x) + h + +class AttentionBlock(nn.Module): + """ + An attention block that allows spatial positions to attend to each other. + Originally ported from here, but adapted to the N-d case. + https://github.com/hojonathanho/diffusion/blob/1e0dceb3b3495bbe19116a5e1b3596cd0706c543/diffusion_tf/models/unet.py#L66. + """ + + def __init__( + self, + channels, + num_heads=1, + num_head_channels=-1, + use_checkpoint=False, + use_new_attention_order=False, + ): + super().__init__() + self.channels = channels + if num_head_channels == -1: + self.num_heads = num_heads + else: + assert ( + channels % num_head_channels == 0 + ), f"q,k,v channels {channels} is not divisible by num_head_channels {num_head_channels}" + self.num_heads = channels // num_head_channels + self.use_checkpoint = use_checkpoint + self.norm = normalization(channels) + self.qkv = nn.Conv1d(channels, channels * 3, 1) + if use_new_attention_order: + # split qkv before split heads + self.attention = QKVAttention(self.num_heads) + else: + # split heads before split qkv + self.attention = QKVAttentionLegacy(self.num_heads) + + self.proj_out = zero_module(nn.Conv1d(channels, channels, 1)) + + def forward(self, x): + return checkpoint(self._forward, (x,), self.parameters(), True) + + def _forward(self, x): + b, c, *spatial = x.shape + x = x.reshape(b, c, -1) + qkv = self.qkv(self.norm(x)) + h = self.attention(qkv) + h = self.proj_out(h) + return (x + h).reshape(b, c, *spatial) + + +class QKVAttentionLegacy(nn.Module): + """ + A module which performs QKV attention. Matches legacy QKVAttention + input/ouput heads shaping + """ + + def __init__(self, n_heads): + super().__init__() + self.n_heads = n_heads + + def forward(self, qkv): + """ + Apply QKV attention. + :param qkv: an [N x (H * 3 * C) x T] tensor of Qs, Ks, and Vs. + :return: an [N x (H * C) x T] tensor after attention. + """ + bs, width, length = qkv.shape + assert width % (3 * self.n_heads) == 0 + ch = width // (3 * self.n_heads) + q, k, v = qkv.reshape(bs * self.n_heads, ch * 3, length).split(ch, dim=1) + scale = 1 / math.sqrt(math.sqrt(ch)) + weight = torch.einsum( + "bct,bcs->bts", q * scale, k * scale + ) # More stable with f16 than dividing afterwards + weight = torch.softmax(weight.float(), dim=-1).type(weight.dtype) + a = torch.einsum("bts,bcs->bct", weight, v) + return a.reshape(bs, -1, length) + + @staticmethod + def count_flops(model, _x, y): + return count_flops_attn(model, _x, y) + + +class QKVAttention(nn.Module): + """ + A module which performs QKV attention and splits in a different order. + """ + + def __init__(self, n_heads): + super().__init__() + self.n_heads = n_heads + + def forward(self, qkv): + """ + Apply QKV attention. + :param qkv: an [N x (3 * H * C) x T] tensor of Qs, Ks, and Vs. + :return: an [N x (H * C) x T] tensor after attention. + """ + bs, width, length = qkv.shape + assert width % (3 * self.n_heads) == 0 + ch = width // (3 * self.n_heads) + q, k, v = qkv.chunk(3, dim=1) + scale = 1 / math.sqrt(math.sqrt(ch)) + weight = torch.einsum( + "bct,bcs->bts", + (q * scale).view(bs * self.n_heads, ch, length), + (k * scale).view(bs * self.n_heads, ch, length), + ) # More stable with f16 than dividing afterwards + weight = torch.softmax(weight.float(), dim=-1).type(weight.dtype) + a = torch.einsum("bts,bcs->bct", weight, v.reshape(bs * self.n_heads, ch, length)) + return a.reshape(bs, -1, length) + + @staticmethod + def count_flops(model, _x, y): + return count_flops_attn(model, _x, y) + +class UNet(nn.Module): + """ + The full UNet model with attention and embedding. + :param in_channel: channels in the input Tensor, for image colorization : Y_channels + X_channels . + :param inner_channel: base channel count for the model. + :param out_channel: channels in the output Tensor. + :param res_blocks: number of residual blocks per downsample. + :param attn_res: a collection of downsample rates at which + attention will take place. May be a set, list, or tuple. + For example, if this contains 4, then at 4x downsampling, attention + will be used. + :param dropout: the dropout probability. + :param channel_mults: channel multiplier for each level of the UNet. + :param conv_resample: if True, use learned convolutions for upsampling and + downsampling. + :param use_checkpoint: use gradient checkpointing to reduce memory usage. + :param num_heads: the number of attention heads in each attention layer. + :param num_heads_channels: if specified, ignore num_heads and instead use + a fixed channel width per attention head. + :param num_heads_upsample: works with num_heads to set a different number + of heads for upsampling. Deprecated. + :param use_scale_shift_norm: use a FiLM-like conditioning mechanism. + :param resblock_updown: use residual blocks for up/downsampling. + :param use_new_attention_order: use a different attention pattern for potentially + increased efficiency. + """ + + def __init__( + self, + image_size, + in_channel, + inner_channel, + out_channel, + res_blocks, + attn_res, + dropout=0, + channel_mults=(1, 2, 4, 8), + conv_resample=True, + use_checkpoint=False, + use_fp16=False, + num_heads=1, + num_head_channels=-1, + num_heads_upsample=-1, + use_scale_shift_norm=True, + resblock_updown=True, + use_new_attention_order=False, + ): + + super().__init__() + + if num_heads_upsample == -1: + num_heads_upsample = num_heads + + self.image_size = image_size + self.in_channel = in_channel + self.inner_channel = inner_channel + self.out_channel = out_channel + self.res_blocks = res_blocks + self.attn_res = attn_res + self.dropout = dropout + self.channel_mults = channel_mults + self.conv_resample = conv_resample + self.use_checkpoint = use_checkpoint + self.dtype = torch.float16 if use_fp16 else torch.float32 + self.num_heads = num_heads + self.num_head_channels = num_head_channels + self.num_heads_upsample = num_heads_upsample + + cond_embed_dim = inner_channel * 4 + self.cond_embed = nn.Sequential( + nn.Linear(inner_channel, cond_embed_dim), + SiLU(), + nn.Linear(cond_embed_dim, cond_embed_dim), + ) + + ch = input_ch = int(channel_mults[0] * inner_channel) + self.input_blocks = nn.ModuleList( + [EmbedSequential(nn.Conv2d(in_channel, ch, 3, padding=1))] + ) + self._feature_size = ch + input_block_chans = [ch] + ds = 1 + for level, mult in enumerate(channel_mults): + for _ in range(res_blocks): + layers = [ + ResBlock( + ch, + cond_embed_dim, + dropout, + out_channel=int(mult * inner_channel), + use_checkpoint=use_checkpoint, + use_scale_shift_norm=use_scale_shift_norm, + ) + ] + ch = int(mult * inner_channel) + if ds in attn_res: + layers.append( + AttentionBlock( + ch, + use_checkpoint=use_checkpoint, + num_heads=num_heads, + num_head_channels=num_head_channels, + use_new_attention_order=use_new_attention_order, + ) + ) + self.input_blocks.append(EmbedSequential(*layers)) + self._feature_size += ch + input_block_chans.append(ch) + if level != len(channel_mults) - 1: + out_ch = ch + self.input_blocks.append( + EmbedSequential( + ResBlock( + ch, + cond_embed_dim, + dropout, + out_channel=out_ch, + use_checkpoint=use_checkpoint, + use_scale_shift_norm=use_scale_shift_norm, + down=True, + ) + if resblock_updown + else Downsample( + ch, conv_resample, out_channel=out_ch + ) + ) + ) + ch = out_ch + input_block_chans.append(ch) + ds *= 2 + self._feature_size += ch + + self.middle_block = EmbedSequential( + ResBlock( + ch, + cond_embed_dim, + dropout, + use_checkpoint=use_checkpoint, + use_scale_shift_norm=use_scale_shift_norm, + ), + AttentionBlock( + ch, + use_checkpoint=use_checkpoint, + num_heads=num_heads, + num_head_channels=num_head_channels, + use_new_attention_order=use_new_attention_order, + ), + ResBlock( + ch, + cond_embed_dim, + dropout, + use_checkpoint=use_checkpoint, + use_scale_shift_norm=use_scale_shift_norm, + ), + ) + self._feature_size += ch + + self.output_blocks = nn.ModuleList([]) + for level, mult in list(enumerate(channel_mults))[::-1]: + for i in range(res_blocks + 1): + ich = input_block_chans.pop() + layers = [ + ResBlock( + ch + ich, + cond_embed_dim, + dropout, + out_channel=int(inner_channel * mult), + use_checkpoint=use_checkpoint, + use_scale_shift_norm=use_scale_shift_norm, + ) + ] + ch = int(inner_channel * mult) + if ds in attn_res: + layers.append( + AttentionBlock( + ch, + use_checkpoint=use_checkpoint, + num_heads=num_heads_upsample, + num_head_channels=num_head_channels, + use_new_attention_order=use_new_attention_order, + ) + ) + if level and i == res_blocks: + out_ch = ch + layers.append( + ResBlock( + ch, + cond_embed_dim, + dropout, + out_channel=out_ch, + use_checkpoint=use_checkpoint, + use_scale_shift_norm=use_scale_shift_norm, + up=True, + ) + if resblock_updown + else Upsample(ch, conv_resample, out_channel=out_ch) + ) + ds //= 2 + self.output_blocks.append(EmbedSequential(*layers)) + self._feature_size += ch + + self.out = nn.Sequential( + normalization(ch), + SiLU(), + zero_module(nn.Conv2d(input_ch, out_channel, 3, padding=1)), + nn.Tanh(), + ) + + def forward(self, x, gammas): + """ + Apply the model to an input batch. + :param x: an [N x 2 x ...] Tensor of inputs (B&W) + :param gammas: a 1-D batch of gammas. + :return: an [N x C x ...] Tensor of outputs. + """ + hs = [] + gammas = gammas.view(-1, ) + emb = self.cond_embed(gamma_embedding(gammas, self.inner_channel)) + + h = x.type(torch.float32) + for module in self.input_blocks: + h = module(h, emb) + hs.append(h) + h = self.middle_block(h, emb) + for module in self.output_blocks: + h = torch.cat([h, hs.pop()], dim=1) + h = module(h, emb) + h = h.type(x.dtype) + return self.out(h) + +if __name__ == '__main__': + b, c, h, w = 3, 6, 64, 64 + timsteps = 100 + model = UNet( + image_size=h, + in_channel=c, + inner_channel=64, + out_channel=3, + res_blocks=2, + attn_res=[8] + ) + x = torch.randn((b, c, h, w)) + emb = torch.ones((b, )) + out = model(x, emb) \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/loss.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/loss.py new file mode 100644 index 0000000000000000000000000000000000000000..7b741bdfd3822ac0d6c13dc3ffa05c4d48d7d391 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/loss.py @@ -0,0 +1,53 @@ +import torch +import torch.nn as nn +import torch.nn.functional as F +from torch.autograd import Variable + +# class mse_loss(nn.Module): +# def __init__(self) -> None: +# super().__init__() +# self.loss_fn = nn.MSELoss() +# def forward(self, output, target): +# return self.loss_fn(output, target) + + +def mse_loss(output, target): + return F.mse_loss(output, target) + + + +def l1_loss(output, target): + return F.l1_loss(output, target) + + +class FocalLoss(nn.Module): + def __init__(self, gamma=2, alpha=None, size_average=True): + super(FocalLoss, self).__init__() + self.gamma = gamma + self.alpha = alpha + if isinstance(alpha,(float,int)): self.alpha = torch.Tensor([alpha,1-alpha]) + if isinstance(alpha,list): self.alpha = torch.Tensor(alpha) + self.size_average = size_average + + def forward(self, input, target): + if input.dim()>2: + input = input.view(input.size(0),input.size(1),-1) # N,C,H,W => N,C,H*W + input = input.transpose(1,2) # N,C,H*W => N,H*W,C + input = input.contiguous().view(-1,input.size(2)) # N,H*W,C => N*H*W,C + target = target.view(-1,1) + + logpt = F.log_softmax(input) + logpt = logpt.gather(1,target) + logpt = logpt.view(-1) + pt = Variable(logpt.data.exp()) + + if self.alpha is not None: + if self.alpha.type()!=input.data.type(): + self.alpha = self.alpha.type_as(input.data) + at = self.alpha.gather(0,target.data.view(-1)) + logpt = logpt * Variable(at) + + loss = -1 * (1-pt)**self.gamma * logpt + if self.size_average: return loss.mean() + else: return loss.sum() + diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/metric.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/metric.py new file mode 100644 index 0000000000000000000000000000000000000000..a048db1e0a229ff8b50996f328e58b5436af8e96 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/metric.py @@ -0,0 +1,75 @@ +import torch +from torch import nn +from torch.autograd import Variable +from torch.nn import functional as F +import torch.utils.data + +from torchvision.models.inception import inception_v3 + +import numpy as np +from scipy.stats import entropy + +def mae(input, target): + with torch.no_grad(): + loss = nn.L1Loss() + output = loss(input, target) + return output + + +def inception_score(imgs, cuda=True, batch_size=32, resize=False, splits=1): + """Computes the inception score of the generated images imgs + + imgs -- Torch dataset of (3xHxW) numpy images normalized in the range [-1, 1] + cuda -- whether or not to run on GPU + batch_size -- batch size for feeding into Inception v3 + splits -- number of splits + """ + N = len(imgs) + + assert batch_size > 0 + assert N > batch_size + + # Set up dtype + if cuda: + dtype = torch.cuda.FloatTensor + else: + if torch.cuda.is_available(): + print("WARNING: You have a CUDA device, so you should probably set cuda=True") + dtype = torch.FloatTensor + + # Set up dataloader + dataloader = torch.utils.data.DataLoader(imgs, batch_size=batch_size) + + # Load inception model + inception_model = inception_v3(pretrained=True, transform_input=False).type(dtype) + inception_model.eval() + up = nn.Upsample(size=(299, 299), mode='bilinear').type(dtype) + def get_pred(x): + if resize: + x = up(x) + x = inception_model(x) + return F.softmax(x).data.cpu().numpy() + + # Get predictions + preds = np.zeros((N, 1000)) + + for i, batch in enumerate(dataloader, 0): + batch = batch.type(dtype) + batchv = Variable(batch) + batch_size_i = batch.size()[0] + + preds[i*batch_size:i*batch_size + batch_size_i] = get_pred(batchv) + + # Now compute the mean kl-div + split_scores = [] + + for k in range(splits): + part = preds[k * (N // splits): (k+1) * (N // splits), :] + py = np.mean(part, axis=0) + scores = [] + for i in range(part.shape[0]): + pyx = part[i, :] + scores.append(entropy(pyx, py)) + split_scores.append(np.exp(np.mean(scores))) + + return np.mean(split_scores), np.std(split_scores) \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/model.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/model.py new file mode 100644 index 0000000000000000000000000000000000000000..8507ec362c2a2970196995a0ca2ec29f396ac861 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/model.py @@ -0,0 +1,234 @@ +import torch +import tqdm +from core.base_model import BaseModel +from core.logger import LogTracker +import copy +class EMA(): + def __init__(self, beta=0.9999): + super().__init__() + self.beta = beta + def update_model_average(self, ma_model, current_model): + for current_params, ma_params in zip(current_model.parameters(), ma_model.parameters()): + old_weight, up_weight = ma_params.data, current_params.data + ma_params.data = self.update_average(old_weight, up_weight) + def update_average(self, old, new): + if old is None: + return new + return old * self.beta + (1 - self.beta) * new + +class Palette(BaseModel): + def __init__(self, networks, losses, sample_num, task, optimizers, ema_scheduler=None, **kwargs): + ''' must to init BaseModel with kwargs ''' + super(Palette, self).__init__(**kwargs) + + ''' networks, dataloder, optimizers, losses, etc. ''' + self.loss_fn = losses[0] + self.netG = networks[0] + if ema_scheduler is not None: + self.ema_scheduler = ema_scheduler + self.netG_EMA = copy.deepcopy(self.netG) + self.EMA = EMA(beta=self.ema_scheduler['ema_decay']) + else: + self.ema_scheduler = None + + ''' networks can be a list, and must convert by self.set_device function if using multiple GPU. ''' + self.netG = self.set_device(self.netG, distributed=self.opt['distributed']) + if self.ema_scheduler is not None: + self.netG_EMA = self.set_device(self.netG_EMA, distributed=self.opt['distributed']) + self.load_networks() + + self.optG = torch.optim.Adam(list(filter(lambda p: p.requires_grad, self.netG.parameters())), **optimizers[0]) + self.optimizers.append(self.optG) + self.resume_training() + + if self.opt['distributed']: + self.netG.module.set_loss(self.loss_fn) + self.netG.module.set_new_noise_schedule(phase=self.phase) + else: + self.netG.set_loss(self.loss_fn) + self.netG.set_new_noise_schedule(phase=self.phase) + + ''' can rewrite in inherited class for more informations logging ''' + self.train_metrics = LogTracker(*[m.__name__ for m in losses], phase='train') + self.val_metrics = LogTracker(*[m.__name__ for m in self.metrics], phase='val') + self.test_metrics = LogTracker(*[m.__name__ for m in self.metrics], phase='test') + + self.sample_num = sample_num + self.task = task + + def set_input(self, data): + ''' must use set_device in tensor ''' + self.cond_image = self.set_device(data.get('cond_image')) + self.gt_image = self.set_device(data.get('gt_image')) + self.mask = self.set_device(data.get('mask')) + self.mask_image = data.get('mask_image') + self.path = data['path'] + self.batch_size = len(data['path']) + + def get_rgb_tensor(self, rgb): + rgb = rgb*0.5+0.5 + rgb = rgb - torch.min(rgb) + # treat saturated images, scale values + if torch.max(rgb) == 0: + rgb = 255 * torch.ones_like(rgb) + else: + rgb = 255 * (rgb / torch.max(rgb)) + return rgb.type(torch.uint8) + + def get_current_visuals(self, phase='train'): + dict = { + 'gt_image': [self.get_rgb_tensor(i) for i in self.gt_image.detach()[:].float().cpu()], + # 'cond_image': [self.get_rgb_tensor(i) for i in self.cond_image.detach()[:].float().cpu()], + } + if self.task in ['inpainting','uncropping']: + dict.update({ + 'mask': self.mask.detach()[:].float().cpu(), + 'mask_image': (self.mask_image+1)/2, + }) + if phase != 'train': + dict.update({ + 'output': [self.get_rgb_tensor(i) for i in self.output.detach()[:].float().cpu()] + }) + return dict + + def save_current_results(self): + ret_path = [] + ret_result = [] + for idx in range(self.batch_size): + ret_path.append('GT_{}'.format(self.path[idx])) + ret_result.append(self.gt_image[idx].detach().float().cpu()) + + # ret_path.append('Cond_{}'.format(self.path[idx])) + # ret_result.append(self.cond_image[idx].detach().float().cpu()) + + # ret_path.append('Process_{}'.format(self.path[idx])) + # ret_result.append(self.visuals[idx::self.batch_size].detach().float().cpu()) + + ret_path.append('Out_{}'.format(self.path[idx])) + ret_result.append(self.output[idx].detach().float().cpu()) + + if self.task in ['inpainting','uncropping']: + ret_path.extend(['Mask_{}'.format(name) for name in self.path]) + ret_result.extend(self.mask_image) + + self.results_dict = self.results_dict._replace(name=ret_path, result=ret_result) + return self.results_dict._asdict() + + def train_step(self): + self.netG.train() + self.train_metrics.reset() + for train_data in tqdm.tqdm(self.phase_loader): + self.set_input(train_data) + self.optG.zero_grad() + loss = self.netG(self.gt_image, self.cond_image, mask=self.mask) + loss.backward() + self.optG.step() + + self.iter += self.batch_size + self.writer.set_iter(self.epoch, self.iter, phase='train') + self.train_metrics.update(self.loss_fn.__name__, loss.item()) + if self.iter % self.opt['train']['log_iter'] == 0: + for key, value in self.train_metrics.result().items(): + self.logger.info('{:5s}: {}\t'.format(str(key), value)) + self.writer.add_scalar(key, value) + for key, value in self.get_current_visuals().items(): + self.writer.add_images(key, value, dataformats="CHW") + if self.ema_scheduler is not None: + if self.iter > self.ema_scheduler['ema_start'] and self.iter % self.ema_scheduler['ema_iter'] == 0: + self.EMA.update_model_average(self.netG_EMA, self.netG) + + for scheduler in self.schedulers: + scheduler.step() + return self.train_metrics.result() + + def val_step(self): + self.netG.eval() + self.val_metrics.reset() + with torch.no_grad(): + for val_data in tqdm.tqdm(self.val_loader): + self.set_input(val_data) + if self.opt['distributed']: + if self.task in ['inpainting','uncropping']: + self.output, self.visuals = self.netG.module.restoration(self.cond_image, y_t=self.cond_image, + y_0=self.gt_image, mask=self.mask, sample_num=self.sample_num) + else: + self.output, self.visuals = self.netG.module.restoration(self.cond_image, sample_num=self.sample_num,y_0=self.gt_image) + else: + if self.task in ['inpainting','uncropping']: + self.output, self.visuals = self.netG.restoration(self.cond_image, y_t=self.cond_image, + y_0=self.gt_image, mask=self.mask, sample_num=self.sample_num) + else: + self.output, self.visuals = self.netG.restoration(self.cond_image, sample_num=self.sample_num, y_0=self.gt_image) + + self.iter += self.batch_size + self.writer.set_iter(self.epoch, self.iter, phase='val') + + for met in self.metrics: + key = met.__name__ + value = met(self.gt_image, self.output) + self.val_metrics.update(key, value) + self.writer.add_scalar(key, value) + for key, value in self.get_current_visuals(phase='val').items(): + self.writer.add_images(key, value, dataformats="CHW") + self.writer.save_images(self.save_current_results()) + + return self.val_metrics.result() + + def test(self): + self.netG.eval() + self.test_metrics.reset() + with torch.no_grad(): + for phase_data in tqdm.tqdm(self.phase_loader): + self.set_input(phase_data) + if self.opt['distributed']: + if self.task in ['inpainting','uncropping']: + self.output, self.visuals = self.netG.module.restoration(self.cond_image, y_t=self.cond_image, + y_0=self.gt_image, mask=self.mask, sample_num=self.sample_num) + else: + self.output, self.visuals = self.netG.module.restoration(self.cond_image, sample_num=self.sample_num, y_0=self.gt_image) + else: + if self.task in ['inpainting','uncropping']: + self.output, self.visuals = self.netG.restoration(self.cond_image, y_t=self.cond_image, + y_0=self.gt_image, mask=self.mask, sample_num=self.sample_num) + else: + self.output, self.visuals = self.netG.restoration(self.cond_image, sample_num=self.sample_num, y_0=self.gt_image) + + self.iter += self.batch_size + self.writer.set_iter(self.epoch, self.iter, phase='test') + for met in self.metrics: + key = met.__name__ + value = met(self.gt_image, self.output) + self.test_metrics.update(key, value) + self.writer.add_scalar(key, value) + # for key, value in self.get_current_visuals(phase='test').items(): + # self.writer.add_images(key, value, dataformats="CHW") + self.writer.save_images(self.save_current_results()) + + test_log = self.test_metrics.result() + ''' save logged informations into log dict ''' + test_log.update({'epoch': self.epoch, 'iters': self.iter}) + + ''' print logged informations to the screen and tensorboard ''' + for key, value in test_log.items(): + self.logger.info('{:5s}: {}\t'.format(str(key), value)) + + def load_networks(self): + """ save pretrained model and training state, which only do on GPU 0. """ + if self.opt['distributed']: + netG_label = self.netG.module.__class__.__name__ + else: + netG_label = self.netG.__class__.__name__ + self.load_network(network=self.netG, network_label=netG_label, strict=False) + if self.ema_scheduler is not None: + self.load_network(network=self.netG_EMA, network_label=netG_label+'_ema', strict=False) + + def save_everything(self): + """ load pretrained model and training state. """ + if self.opt['distributed']: + netG_label = self.netG.module.__class__.__name__ + else: + netG_label = self.netG.__class__.__name__ + self.save_network(network=self.netG, network_label=netG_label) + if self.ema_scheduler is not None: + self.save_network(network=self.netG_EMA, network_label=netG_label+'_ema') + self.save_training_state() \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/network.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/network.py new file mode 100644 index 0000000000000000000000000000000000000000..41764af33107173bf82a1a7bcdc38987174356ac --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/network.py @@ -0,0 +1,182 @@ +import math +import torch +from inspect import isfunction +from functools import partial +import numpy as np +from tqdm import tqdm +from core.base_network import BaseNetwork +class Network(BaseNetwork): + def __init__(self, unet, beta_schedule, module_name='sr3', **kwargs): + super(Network, self).__init__(**kwargs) + if module_name == 'sr3': + from .sr3_modules.unet import UNet + elif module_name == 'guided_diffusion': + from .guided_diffusion_modules.unet import UNet + elif module_name == 'tanh': + from .guided_diffusion_modules.unet_tanh import UNet + self.denoise_fn = UNet(**unet) + self.beta_schedule = beta_schedule + + def set_loss(self, loss_fn): + self.loss_fn = loss_fn + + def set_new_noise_schedule(self, device=torch.device('cuda'), phase='train'): + to_torch = partial(torch.tensor, dtype=torch.float32, device=device) + betas = make_beta_schedule(**self.beta_schedule[phase]) + betas = betas.detach().cpu().numpy() if isinstance( + betas, torch.Tensor) else betas + alphas = 1. - betas + + timesteps, = betas.shape + self.num_timesteps = int(timesteps) + + gammas = np.cumprod(alphas, axis=0) + gammas_prev = np.append(1., gammas[:-1]) + + # calculations for diffusion q(x_t | x_{t-1}) and others + self.register_buffer('gammas', to_torch(gammas)) + self.register_buffer('sqrt_recip_gammas', to_torch(np.sqrt(1. / gammas))) + self.register_buffer('sqrt_recipm1_gammas', to_torch(np.sqrt(1. / gammas - 1))) + + # calculations for posterior q(x_{t-1} | x_t, x_0) + posterior_variance = betas * (1. - gammas_prev) / (1. - gammas) + # below: log calculation clipped because the posterior variance is 0 at the beginning of the diffusion chain + self.register_buffer('posterior_log_variance_clipped', to_torch(np.log(np.maximum(posterior_variance, 1e-20)))) + self.register_buffer('posterior_mean_coef1', to_torch(betas * np.sqrt(gammas_prev) / (1. - gammas))) + self.register_buffer('posterior_mean_coef2', to_torch((1. - gammas_prev) * np.sqrt(alphas) / (1. - gammas))) + + def predict_start_from_noise(self, y_t, t, noise): + return ( + extract(self.sqrt_recip_gammas, t, y_t.shape) * y_t - + extract(self.sqrt_recipm1_gammas, t, y_t.shape) * noise + ) + + def q_posterior(self, y_0_hat, y_t, t): + posterior_mean = ( + extract(self.posterior_mean_coef1, t, y_t.shape) * y_0_hat + + extract(self.posterior_mean_coef2, t, y_t.shape) * y_t + ) + posterior_log_variance_clipped = extract(self.posterior_log_variance_clipped, t, y_t.shape) + return posterior_mean, posterior_log_variance_clipped + + def p_mean_variance(self, y_t, t, clip_denoised: bool, y_cond=None): + noise_level = extract(self.gammas, t, x_shape=(1, 1)).to(y_t.device) + y_0_hat = self.predict_start_from_noise( + y_t, t=t, noise=self.denoise_fn(torch.cat([y_cond, y_t], dim=1), noise_level)) + + if clip_denoised: + y_0_hat.clamp_(-1., 1.) + + model_mean, posterior_log_variance = self.q_posterior( + y_0_hat=y_0_hat, y_t=y_t, t=t) + return model_mean, posterior_log_variance + + def q_sample(self, y_0, sample_gammas, noise=None): + noise = default(noise, lambda: torch.randn_like(y_0)) + return ( + sample_gammas.sqrt() * y_0 + + (1 - sample_gammas).sqrt() * noise + ) + + @torch.no_grad() + def p_sample(self, y_t, t, clip_denoised=True, y_cond=None): + model_mean, model_log_variance = self.p_mean_variance( + y_t=y_t, t=t, clip_denoised=clip_denoised, y_cond=y_cond) + noise = torch.randn_like(y_t) if any(t>0) else torch.zeros_like(y_t) + return model_mean + noise * (0.5 * model_log_variance).exp() + + @torch.no_grad() + def restoration(self, y_cond, y_t=None, y_0=None, mask=None, sample_num=8): + b, *_ = y_cond.shape + + assert self.num_timesteps > sample_num, 'num_timesteps must greater than sample_num' + sample_inter = (self.num_timesteps//sample_num) + + y_t = default(y_t, lambda: torch.randn_like(y_0)) + ret_arr = y_t + for i in tqdm(reversed(range(0, self.num_timesteps)), desc='sampling loop time step', total=self.num_timesteps): + t = torch.full((b,), i, device=y_cond.device, dtype=torch.long) + y_t = self.p_sample(y_t, t, y_cond=y_cond) + if mask is not None: + y_t = y_0*(1.-mask) + mask*y_t + if i % sample_inter == 0: + ret_arr = torch.cat([ret_arr, y_t], dim=0) + return y_t, ret_arr + + def forward(self, y_0, y_cond=None, mask=None, noise=None): + # sampling from p(gammas) + b, *_ = y_0.shape + t = torch.randint(1, self.num_timesteps, (b,), device=y_0.device).long() + gamma_t1 = extract(self.gammas, t-1, x_shape=(1, 1)) + sqrt_gamma_t2 = extract(self.gammas, t, x_shape=(1, 1)) + sample_gammas = (sqrt_gamma_t2-gamma_t1) * torch.rand((b, 1), device=y_0.device) + gamma_t1 + sample_gammas = sample_gammas.view(b, -1) + + noise = default(noise, lambda: torch.randn_like(y_0)) + y_noisy = self.q_sample( + y_0=y_0, sample_gammas=sample_gammas.view(-1, 1, 1, 1), noise=noise) + + if mask is not None: + noise_hat = self.denoise_fn(torch.cat([y_cond, y_noisy*mask+(1.-mask)*y_0], dim=1), sample_gammas) + loss = self.loss_fn(mask*noise, mask*noise_hat) + else: + noise_hat = self.denoise_fn(torch.cat([y_cond, y_noisy], dim=1), sample_gammas) + loss = self.loss_fn(noise, noise_hat) + return loss + + +# gaussian diffusion trainer class +def exists(x): + return x is not None + +def default(val, d): + if exists(val): + return val + return d() if isfunction(d) else d + +def extract(a, t, x_shape=(1,1,1,1)): + b, *_ = t.shape + out = a.gather(-1, t) + return out.reshape(b, *((1,) * (len(x_shape) - 1))) + +# beta_schedule function +def _warmup_beta(linear_start, linear_end, n_timestep, warmup_frac): + betas = linear_end * np.ones(n_timestep, dtype=np.float64) + warmup_time = int(n_timestep * warmup_frac) + betas[:warmup_time] = np.linspace( + linear_start, linear_end, warmup_time, dtype=np.float64) + return betas + +def make_beta_schedule(schedule, n_timestep, linear_start=1e-6, linear_end=1e-2, cosine_s=8e-3): + if schedule == 'quad': + betas = np.linspace(linear_start ** 0.5, linear_end ** 0.5, + n_timestep, dtype=np.float64) ** 2 + elif schedule == 'linear': + betas = np.linspace(linear_start, linear_end, + n_timestep, dtype=np.float64) + elif schedule == 'warmup10': + betas = _warmup_beta(linear_start, linear_end, + n_timestep, 0.1) + elif schedule == 'warmup50': + betas = _warmup_beta(linear_start, linear_end, + n_timestep, 0.5) + elif schedule == 'const': + betas = linear_end * np.ones(n_timestep, dtype=np.float64) + elif schedule == 'jsd': # 1/T, 1/(T-1), 1/(T-2), ..., 1 + betas = 1. / np.linspace(n_timestep, + 1, n_timestep, dtype=np.float64) + elif schedule == "cosine": + timesteps = ( + torch.arange(n_timestep + 1, dtype=torch.float64) / + n_timestep + cosine_s + ) + alphas = timesteps / (1 + cosine_s) * math.pi / 2 + alphas = torch.cos(alphas).pow(2) + alphas = alphas / alphas[0] + betas = 1 - alphas[1:] / alphas[:-1] + betas = betas.clamp(max=0.999) + else: + raise NotImplementedError(schedule) + return betas + + diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/network_noise_dpm_solver.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/network_noise_dpm_solver.py new file mode 100644 index 0000000000000000000000000000000000000000..ef2fef7fb09876e8c2864387f19869e9df6f1ca7 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/network_noise_dpm_solver.py @@ -0,0 +1,255 @@ +import math +import torch +from inspect import isfunction +from functools import partial +import numpy as np +from tqdm import tqdm +from core.base_network import BaseNetwork +from core.dpm_solver_pytorch import NoiseScheduleVP, model_wrapper, DPM_Solver +class Network(BaseNetwork): + def __init__(self, unet, beta_schedule, module_name='sr3', **kwargs): + super(Network, self).__init__(**kwargs) + # if module_name == 'sr3': + # from .sr3_modules.unet import UNet + # elif module_name == 'guided_diffusion': + # from .guided_diffusion_modules.unet import UNet + # elif module_name == 'tanh': + # from .guided_diffusion_modules.unet_tanh import UNet + # elif module_name == 'ours': + # from .ours.unet_down3 import UNet + if module_name == "nafnet": + from .ours.nafnet import UNet + elif module_name == "conv2former": + from .ours.guided_diffusion_likai import UNet + elif module_name == "double": + from .ours.nafnet_double import UNet + elif module_name == "double_encoder": + from .ours.nafnet_double_encoder import UNet + elif module_name == "nafnet_ours": + from .ours.nafnet_ours import UNet + elif module_name == "nafnet_res": + from .ours.nafnet_res_noinp import UNet + elif module_name == "nafnet_newca_noinp": + from .ours.nafnet_newca_noinp import UNet + elif module_name == "nafnet_reverseca_noinp": + from .ours.nafnet_reverseca_noinp import UNet + elif module_name == "nafnet_splitca_noinp": + from .ours.nafnet64_splitca_noinp import UNet + elif module_name == "nafnet_nosca_silu_noinp": + from .ours.nafnet_nosca_silu import UNet + elif module_name == "nafnet_concat_no_condskip_nodrop_noparams_splitca_double_encoder_decoder_noCondFFN_middle_fusion": + from .ours.nafnet_concat_no_condskip_nodrop_noparams_splitca_double_encoder_decoder_noCondFFN_middle_fusion import UNet + elif module_name == "nafnet_sum_no_condskip_nodrop_noparams_splitca_double_encoder_decoder_noCondFFN_middle_fusion": + from .ours.nafnet_sum_no_condskip_nodrop_noparams_splitca_double_encoder_decoder_noCondFFN_middle_fusion import UNet + elif module_name == "nafnet_concat_no_condskip_nodrop_noparams_splitca_double_encoder_decoder_middle_fusion": + from .ours.nafnet_concat_no_condskip_nodrop_noparams_splitca_double_encoder_decoder_middle_fusion import UNet + elif module_name == "nafnet_double_encoder_splitcaCond_splitcaUnet": + from .ours.nafnet_double_encoder_splitcaCond_splitcaUnet import UNet + elif module_name == "nafnet_double_encoder_splitcaCond": + from .ours.nafnet_double_encoder_splitcaCond import UNet + elif module_name == "nafnet_double_encoder_splitcaUnet": + from .ours.nafnet_double_encoder_splitcaUnet import UNet + self.denoise_fn = UNet(**unet) + self.beta_schedule = beta_schedule + + def set_loss(self, loss_fn): + self.loss_fn = loss_fn + + def set_new_noise_schedule(self, device=torch.device('cuda'), phase='train'): + to_torch = partial(torch.tensor, dtype=torch.float32, device=device) + betas = make_beta_schedule(**self.beta_schedule[phase]) + betas = betas.detach().cpu().numpy() if isinstance( + betas, torch.Tensor) else betas + self.betas = betas + alphas = 1. - betas + + timesteps, = betas.shape + self.num_timesteps = int(timesteps) + + gammas = np.cumprod(alphas, axis=0) + gammas_prev = np.append(1., gammas[:-1]) + + # calculations for diffusion q(x_t | x_{t-1}) and others + self.register_buffer('gammas', to_torch(gammas)) + self.register_buffer('sqrt_recip_gammas', to_torch(np.sqrt(1. / gammas))) + self.register_buffer('sqrt_recipm1_gammas', to_torch(np.sqrt(1. / gammas - 1))) + + # calculations for posterior q(x_{t-1} | x_t, x_0) + posterior_variance = betas * (1. - gammas_prev) / (1. - gammas) + # below: log calculation clipped because the posterior variance is 0 at the beginning of the diffusion chain + self.register_buffer('posterior_log_variance_clipped', to_torch(np.log(np.maximum(posterior_variance, 1e-20)))) + self.register_buffer('posterior_mean_coef1', to_torch(betas * np.sqrt(gammas_prev) / (1. - gammas))) + self.register_buffer('posterior_mean_coef2', to_torch((1. - gammas_prev) * np.sqrt(alphas) / (1. - gammas))) + + def predict_start_from_noise(self, y_t, t, noise): + return ( + extract(self.sqrt_recip_gammas, t, y_t.shape) * y_t - + extract(self.sqrt_recipm1_gammas, t, y_t.shape) * noise + ) + + def q_posterior(self, y_0_hat, y_t, t): + posterior_mean = ( + extract(self.posterior_mean_coef1, t, y_t.shape) * y_0_hat + + extract(self.posterior_mean_coef2, t, y_t.shape) * y_t + ) + posterior_log_variance_clipped = extract(self.posterior_log_variance_clipped, t, y_t.shape) + return posterior_mean, posterior_log_variance_clipped + + def p_mean_variance(self, y_t, t, clip_denoised: bool, y_cond=None): + noise_level = extract(self.gammas, t, x_shape=(1, 1)).to(y_t.device) + y_0_hat = self.predict_start_from_noise( + y_t, t=t, noise=self.denoise_fn(torch.cat([y_cond, y_t], dim=1), noise_level)) + + if clip_denoised: + y_0_hat.clamp_(-1., 1.) + + model_mean, posterior_log_variance = self.q_posterior( + y_0_hat=y_0_hat, y_t=y_t, t=t) + return model_mean, posterior_log_variance + + def q_sample(self, y_0, sample_gammas, noise=None): + noise = default(noise, lambda: torch.randn_like(y_0)) + return ( + sample_gammas.sqrt() * y_0 + + (1 - sample_gammas).sqrt() * noise + ) + + @torch.no_grad() + def p_sample(self, y_t, t, clip_denoised=True, y_cond=None): + model_mean, model_log_variance = self.p_mean_variance( + y_t=y_t, t=t, clip_denoised=clip_denoised, y_cond=y_cond) + noise = torch.randn_like(y_t) if any(t>0) else torch.zeros_like(y_t) + return model_mean + noise * (0.5 * model_log_variance).exp() + + @torch.no_grad() + def restoration(self, y_cond, y_t=None, y_0=None, mask=None, sample_num=8): + b, *_ = y_cond.shape + + assert self.num_timesteps > sample_num, 'num_timesteps must greater than sample_num' + sample_inter = (self.num_timesteps//sample_num) + + y_t = default(y_t, lambda: torch.randn_like(y_0)) + ret_arr = y_t + # for i in tqdm(reversed(range(0, self.num_timesteps)), desc='sampling loop time step', total=self.num_timesteps): + # t = torch.full((b,), i, device=y_cond.device, dtype=torch.long) + # y_t = self.p_sample(y_t, t, y_cond=y_cond) + # if mask is not None: + # y_t = y_0*(1.-mask) + mask*y_t + # if i % sample_inter == 0: + # ret_arr = torch.cat([ret_arr, y_t], dim=0) + noise_schedule = NoiseScheduleVP(schedule='discrete', betas=torch.from_numpy(self.betas)) + model_fn = model_wrapper( + self.denoise_fn, + noise_schedule, + model_type="noise", # "noise" or "x_start" or "v" or "score" + model_kwargs={}, + guidance_type="classifier-free", + condition=y_cond, + unconditional_condition=None, + guidance_scale=1., + ) + dpm_solver = DPM_Solver( + model_fn, + noise_schedule, + algorithm_type="dpmsolver++", + correcting_x0_fn="dynamic_thresholding", + ) + y_t = dpm_solver.sample( + y_t, + steps=20, # 10, 12, 15, 20, 25, 50, 100 + order=2, + skip_type="time_uniform", + method="multistep", + denoise_to_zero=True, + ) + return y_t, ret_arr + + def forward(self, y_0, y_cond=None, mask=None, noise=None): + # sampling from p(gammas) + b, *_ = y_0.shape + t = torch.randint(1, self.num_timesteps, (b,), device=y_0.device).long() + gamma_t1 = extract(self.gammas, t-1, x_shape=(1, 1)) + sqrt_gamma_t2 = extract(self.gammas, t, x_shape=(1, 1)) + sample_gammas = (sqrt_gamma_t2-gamma_t1) * torch.rand((b, 1), device=y_0.device) + gamma_t1 + sample_gammas = sample_gammas.view(b, -1) + + noise = default(noise, lambda: torch.randn_like(y_0)) + y_noisy = self.q_sample( + y_0=y_0, sample_gammas=sample_gammas.view(-1, 1, 1, 1), noise=noise) + + if mask is not None: + noise_hat = self.denoise_fn(torch.cat([y_cond, y_noisy*mask+(1.-mask)*y_0], dim=1), sample_gammas) + loss = self.loss_fn(mask*noise, mask*noise_hat) + else: + noise_hat = self.denoise_fn(torch.cat([y_cond, y_noisy], dim=1), sample_gammas) + loss = self.loss_fn(noise, noise_hat) + return loss + + +# gaussian diffusion trainer class +def exists(x): + return x is not None + +def default(val, d): + if exists(val): + return val + return d() if isfunction(d) else d + +def extract(a, t, x_shape=(1,1,1,1)): + b, *_ = t.shape + out = a.gather(-1, t) + return out.reshape(b, *((1,) * (len(x_shape) - 1))) + +# beta_schedule function +def _warmup_beta(linear_start, linear_end, n_timestep, warmup_frac): + betas = linear_end * np.ones(n_timestep, dtype=np.float64) + warmup_time = int(n_timestep * warmup_frac) + betas[:warmup_time] = np.linspace( + linear_start, linear_end, warmup_time, dtype=np.float64) + return betas + +def make_beta_schedule(schedule, n_timestep, linear_start=1e-6, linear_end=1e-2, cosine_s=8e-3): + if schedule == 'quad': + betas = np.linspace(linear_start ** 0.5, linear_end ** 0.5, + n_timestep, dtype=np.float64) ** 2 + elif schedule == 'linear': + betas = np.linspace(linear_start, linear_end, + n_timestep, dtype=np.float64) + elif schedule == 'warmup10': + betas = _warmup_beta(linear_start, linear_end, + n_timestep, 0.1) + elif schedule == 'warmup50': + betas = _warmup_beta(linear_start, linear_end, + n_timestep, 0.5) + elif schedule == 'const': + betas = linear_end * np.ones(n_timestep, dtype=np.float64) + elif schedule == 'jsd': # 1/T, 1/(T-1), 1/(T-2), ..., 1 + betas = 1. / np.linspace(n_timestep, + 1, n_timestep, dtype=np.float64) + elif schedule == "cosine": + timesteps = ( + torch.arange(n_timestep + 1, dtype=torch.float64) / + n_timestep + cosine_s + ) + alphas = timesteps / (1 + cosine_s) * math.pi / 2 + alphas = torch.cos(alphas).pow(2) + alphas = alphas / alphas[0] + betas = 1 - alphas[1:] / alphas[:-1] + betas = betas.clamp(max=0.999) + elif schedule == "sigmoid": + start = -3 + end = 3 + tau = 1 + timesteps = n_timestep + steps = timesteps + 1 + t = torch.linspace(0, timesteps, steps, dtype = torch.float64) / timesteps + v_start = torch.tensor(start / tau).sigmoid() + v_end = torch.tensor(end / tau).sigmoid() + alphas_cumprod = (-((t * (end - start) + start) / tau).sigmoid() + v_end) / (v_end - v_start) + alphas_cumprod = alphas_cumprod / alphas_cumprod[0] + betas = 1 - (alphas_cumprod[1:] / alphas_cumprod[:-1]) + return torch.clip(betas, 0, 0.999) + else: + raise NotImplementedError(schedule) + return betas + diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/network_x0.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/network_x0.py new file mode 100644 index 0000000000000000000000000000000000000000..6d744e1e58cde9c99c45e5769e7164860453c383 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/network_x0.py @@ -0,0 +1,191 @@ +import math +import torch +from inspect import isfunction +from functools import partial +import numpy as np +from tqdm import tqdm +from core.base_network import BaseNetwork +class Network(BaseNetwork): + def __init__(self, unet, beta_schedule, module_name='sr3', **kwargs): + super(Network, self).__init__(**kwargs) + if module_name == 'sr3': + from .sr3_modules.unet import UNet + elif module_name == 'guided_diffusion': + from .guided_diffusion_modules.unet import UNet + elif module_name == 'tanh': + from .guided_diffusion_modules.unet_tanh import UNet + elif module_name == 'ours': + from .ours.unet_down3 import UNet + elif module_name == "nafnet_double_encoder_splitcaCond_splitcaUnet": + from .ours.nafnet_double_encoder_splitcaCond_splitcaUnet import UNet + elif module_name == "nafnet_double_encoder_splitcaCond": + from .ours.nafnet_double_encoder_splitcaCond import UNet + elif module_name == "nafnet_double_encoder_splitcaUnet": + from .ours.nafnet_double_encoder_splitcaUnet import UNet + self.denoise_fn = UNet(**unet) + self.beta_schedule = beta_schedule + + def set_loss(self, loss_fn): + self.loss_fn = loss_fn + + def set_new_noise_schedule(self, device=torch.device('cuda'), phase='train'): + to_torch = partial(torch.tensor, dtype=torch.float32, device=device) + betas = make_beta_schedule(**self.beta_schedule[phase]) + betas = betas.detach().cpu().numpy() if isinstance( + betas, torch.Tensor) else betas + alphas = 1. - betas + + timesteps, = betas.shape + self.num_timesteps = int(timesteps) + + gammas = np.cumprod(alphas, axis=0) + gammas_prev = np.append(1., gammas[:-1]) + + # calculations for diffusion q(x_t | x_{t-1}) and others + self.register_buffer('gammas', to_torch(gammas)) + self.register_buffer('sqrt_recip_gammas', to_torch(np.sqrt(1. / gammas))) + self.register_buffer('sqrt_recipm1_gammas', to_torch(np.sqrt(1. / gammas - 1))) + + # calculations for posterior q(x_{t-1} | x_t, x_0) + posterior_variance = betas * (1. - gammas_prev) / (1. - gammas) + # below: log calculation clipped because the posterior variance is 0 at the beginning of the diffusion chain + self.register_buffer('posterior_log_variance_clipped', to_torch(np.log(np.maximum(posterior_variance, 1e-20)))) + self.register_buffer('posterior_mean_coef1', to_torch(betas * np.sqrt(gammas_prev) / (1. - gammas))) + self.register_buffer('posterior_mean_coef2', to_torch((1. - gammas_prev) * np.sqrt(alphas) / (1. - gammas))) + + def predict_start_from_noise(self, y_t, t, noise): + return ( + extract(self.sqrt_recip_gammas, t, y_t.shape) * y_t - + extract(self.sqrt_recipm1_gammas, t, y_t.shape) * noise + ) + + def q_posterior(self, y_0_hat, y_t, t): + posterior_mean = ( + extract(self.posterior_mean_coef1, t, y_t.shape) * y_0_hat + + extract(self.posterior_mean_coef2, t, y_t.shape) * y_t + ) + posterior_log_variance_clipped = extract(self.posterior_log_variance_clipped, t, y_t.shape) + return posterior_mean, posterior_log_variance_clipped + + def p_mean_variance(self, y_t, t, clip_denoised: bool, y_cond=None): + noise_level = extract(self.gammas, t, x_shape=(1, 1)).to(y_t.device) + # y_0_hat = self.predict_start_from_noise( + # y_t, t=t, noise=self.denoise_fn(torch.cat([y_cond, y_t], dim=1), noise_level)) + y_0_hat = self.denoise_fn(torch.cat([y_cond, y_t], dim=1), noise_level) + + if clip_denoised: + y_0_hat.clamp_(-1., 1.) + + model_mean, posterior_log_variance = self.q_posterior( + y_0_hat=y_0_hat, y_t=y_t, t=t) + return model_mean, posterior_log_variance + + def q_sample(self, y_0, sample_gammas, noise=None): + noise = default(noise, lambda: torch.randn_like(y_0)) + return ( + sample_gammas.sqrt() * y_0 + + (1 - sample_gammas).sqrt() * noise + ) + + @torch.no_grad() + def p_sample(self, y_t, t, clip_denoised=True, y_cond=None): + model_mean, model_log_variance = self.p_mean_variance( + y_t=y_t, t=t, clip_denoised=clip_denoised, y_cond=y_cond) + noise = torch.randn_like(y_t) if any(t>0) else torch.zeros_like(y_t) + return model_mean + noise * (0.5 * model_log_variance).exp() + + @torch.no_grad() + def restoration(self, y_cond, y_t=None, y_0=None, mask=None, sample_num=8): + b, *_ = y_cond.shape + + assert self.num_timesteps > sample_num, 'num_timesteps must greater than sample_num' + sample_inter = (self.num_timesteps//sample_num) + + y_t = default(y_t, lambda: torch.randn_like(y_0)) + ret_arr = y_t + for i in tqdm(reversed(range(0, self.num_timesteps)), desc='sampling loop time step', total=self.num_timesteps): + t = torch.full((b,), i, device=y_cond.device, dtype=torch.long) + y_t = self.p_sample(y_t, t, y_cond=y_cond) + if mask is not None: + y_t = y_0*(1.-mask) + mask*y_t + if i % sample_inter == 0: + ret_arr = torch.cat([ret_arr, y_t], dim=0) + return y_t, ret_arr + + def forward(self, y_0, y_cond=None, mask=None, noise=None): + # sampling from p(gammas) + b, *_ = y_0.shape + t = torch.randint(1, self.num_timesteps, (b,), device=y_0.device).long() + gamma_t1 = extract(self.gammas, t-1, x_shape=(1, 1)) + sqrt_gamma_t2 = extract(self.gammas, t, x_shape=(1, 1)) + sample_gammas = (sqrt_gamma_t2-gamma_t1) * torch.rand((b, 1), device=y_0.device) + gamma_t1 + sample_gammas = sample_gammas.view(b, -1) + + noise = default(noise, lambda: torch.randn_like(y_0)) + y_noisy = self.q_sample( + y_0=y_0, sample_gammas=sample_gammas.view(-1, 1, 1, 1), noise=noise) + + if mask is not None: + noise_hat = self.denoise_fn(torch.cat([y_cond, y_noisy*mask+(1.-mask)*y_0], dim=1), sample_gammas) + loss = self.loss_fn(mask*noise, mask*noise_hat) + else: + y_0_hat = self.denoise_fn(torch.cat([y_cond, y_noisy], dim=1), sample_gammas) + loss = self.loss_fn(y_0, y_0_hat) + return loss + + +# gaussian diffusion trainer class +def exists(x): + return x is not None + +def default(val, d): + if exists(val): + return val + return d() if isfunction(d) else d + +def extract(a, t, x_shape=(1,1,1,1)): + b, *_ = t.shape + out = a.gather(-1, t) + return out.reshape(b, *((1,) * (len(x_shape) - 1))) + +# beta_schedule function +def _warmup_beta(linear_start, linear_end, n_timestep, warmup_frac): + betas = linear_end * np.ones(n_timestep, dtype=np.float64) + warmup_time = int(n_timestep * warmup_frac) + betas[:warmup_time] = np.linspace( + linear_start, linear_end, warmup_time, dtype=np.float64) + return betas + +def make_beta_schedule(schedule, n_timestep, linear_start=1e-6, linear_end=1e-2, cosine_s=8e-3): + if schedule == 'quad': + betas = np.linspace(linear_start ** 0.5, linear_end ** 0.5, + n_timestep, dtype=np.float64) ** 2 + elif schedule == 'linear': + betas = np.linspace(linear_start, linear_end, + n_timestep, dtype=np.float64) + elif schedule == 'warmup10': + betas = _warmup_beta(linear_start, linear_end, + n_timestep, 0.1) + elif schedule == 'warmup50': + betas = _warmup_beta(linear_start, linear_end, + n_timestep, 0.5) + elif schedule == 'const': + betas = linear_end * np.ones(n_timestep, dtype=np.float64) + elif schedule == 'jsd': # 1/T, 1/(T-1), 1/(T-2), ..., 1 + betas = 1. / np.linspace(n_timestep, + 1, n_timestep, dtype=np.float64) + elif schedule == "cosine": + timesteps = ( + torch.arange(n_timestep + 1, dtype=torch.float64) / + n_timestep + cosine_s + ) + alphas = timesteps / (1 + cosine_s) * math.pi / 2 + alphas = torch.cos(alphas).pow(2) + alphas = alphas / alphas[0] + betas = 1 - alphas[1:] / alphas[:-1] + betas = betas.clamp(max=0.999) + else: + raise NotImplementedError(schedule) + return betas + + diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/network_x0_dpm_solver.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/network_x0_dpm_solver.py new file mode 100644 index 0000000000000000000000000000000000000000..bb0e976efff2760d42628f53e366261519af91cc --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/network_x0_dpm_solver.py @@ -0,0 +1,259 @@ +import math +import torch +from inspect import isfunction +from functools import partial +import numpy as np +from tqdm import tqdm +from core.base_network import BaseNetwork +from core.dpm_solver_pytorch import NoiseScheduleVP, model_wrapper, DPM_Solver +class Network(BaseNetwork): + def __init__(self, unet, beta_schedule, module_name='sr3', **kwargs): + super(Network, self).__init__(**kwargs) + if module_name == 'sr3': + from .sr3_modules.unet import UNet + elif module_name == 'guided_diffusion': + from .guided_diffusion_modules.unet import UNet + elif module_name == 'tanh': + from .guided_diffusion_modules.unet_tanh import UNet + elif module_name == 'ours': + from .ours.unet_down3 import UNet + elif module_name == "nafnet": + from .ours.nafnet import UNet + elif module_name == "conv2former": + from .ours.guided_diffusion_likai import UNet + elif module_name == "double": + from .ours.nafnet_double import UNet + elif module_name == "double_encoder": + from .ours.nafnet_double_encoder import UNet + elif module_name == "nafnet_ours": + from .ours.nafnet_ours import UNet + elif module_name == "nafnet_res": + from .ours.nafnet_res_noinp import UNet + elif module_name == "nafnet_newca_noinp": + from .ours.nafnet_newca_noinp import UNet + elif module_name == "nafnet_reverseca_noinp": + from .ours.nafnet_reverseca_noinp import UNet + elif module_name == "nafnet_splitca_noinp": + from .ours.nafnet64_splitca_noinp import UNet + elif module_name == "nafnet_nosca_silu_noinp": + from .ours.nafnet_nosca_silu import UNet + elif module_name == "nafnet_concat_no_condskip_nodrop_noparams_splitca_double_encoder_decoder_noCondFFN_middle_fusion": + from .ours.nafnet_concat_no_condskip_nodrop_noparams_splitca_double_encoder_decoder_noCondFFN_middle_fusion import UNet + elif module_name == "nafnet_sum_no_condskip_nodrop_noparams_splitca_double_encoder_decoder_noCondFFN_middle_fusion": + from .ours.nafnet_sum_no_condskip_nodrop_noparams_splitca_double_encoder_decoder_noCondFFN_middle_fusion import UNet + elif module_name == "nafnet_concat_no_condskip_nodrop_noparams_splitca_double_encoder_decoder_middle_fusion": + from .ours.nafnet_concat_no_condskip_nodrop_noparams_splitca_double_encoder_decoder_middle_fusion import UNet + elif module_name == "nafnet_double_encoder_splitcaCond_splitcaUnet": + from .ours.nafnet_double_encoder_splitcaCond_splitcaUnet import UNet + elif module_name == "nafnet_double_encoder_splitcaCond": + from .ours.nafnet_double_encoder_splitcaCond import UNet + elif module_name == "nafnet_double_encoder_splitcaUnet": + from .ours.nafnet_double_encoder_splitcaUnet import UNet + self.denoise_fn = UNet(**unet) + self.beta_schedule = beta_schedule + + def set_loss(self, loss_fn): + self.loss_fn = loss_fn + + def set_new_noise_schedule(self, device=torch.device('cuda'), phase='train'): + to_torch = partial(torch.tensor, dtype=torch.float32, device=device) + betas = make_beta_schedule(**self.beta_schedule[phase]) + betas = betas.detach().cpu().numpy() if isinstance( + betas, torch.Tensor) else betas + self.betas = betas + alphas = 1. - betas + + timesteps, = betas.shape + self.num_timesteps = int(timesteps) + + gammas = np.cumprod(alphas, axis=0) + gammas_prev = np.append(1., gammas[:-1]) + + # calculations for diffusion q(x_t | x_{t-1}) and others + self.register_buffer('gammas', to_torch(gammas)) + self.register_buffer('sqrt_recip_gammas', to_torch(np.sqrt(1. / gammas))) + self.register_buffer('sqrt_recipm1_gammas', to_torch(np.sqrt(1. / gammas - 1))) + + # calculations for posterior q(x_{t-1} | x_t, x_0) + posterior_variance = betas * (1. - gammas_prev) / (1. - gammas) + # below: log calculation clipped because the posterior variance is 0 at the beginning of the diffusion chain + self.register_buffer('posterior_log_variance_clipped', to_torch(np.log(np.maximum(posterior_variance, 1e-20)))) + self.register_buffer('posterior_mean_coef1', to_torch(betas * np.sqrt(gammas_prev) / (1. - gammas))) + self.register_buffer('posterior_mean_coef2', to_torch((1. - gammas_prev) * np.sqrt(alphas) / (1. - gammas))) + + def predict_start_from_noise(self, y_t, t, noise): + return ( + extract(self.sqrt_recip_gammas, t, y_t.shape) * y_t - + extract(self.sqrt_recipm1_gammas, t, y_t.shape) * noise + ) + + def q_posterior(self, y_0_hat, y_t, t): + posterior_mean = ( + extract(self.posterior_mean_coef1, t, y_t.shape) * y_0_hat + + extract(self.posterior_mean_coef2, t, y_t.shape) * y_t + ) + posterior_log_variance_clipped = extract(self.posterior_log_variance_clipped, t, y_t.shape) + return posterior_mean, posterior_log_variance_clipped + + def p_mean_variance(self, y_t, t, clip_denoised: bool, y_cond=None): + noise_level = extract(self.gammas, t, x_shape=(1, 1)).to(y_t.device) + # y_0_hat = self.predict_start_from_noise( + # y_t, t=t, noise=self.denoise_fn(torch.cat([y_cond, y_t], dim=1), noise_level)) + y_0_hat = self.denoise_fn(torch.cat([y_cond, y_t], dim=1), noise_level) + + if clip_denoised: + y_0_hat.clamp_(-1., 1.) + + model_mean, posterior_log_variance = self.q_posterior( + y_0_hat=y_0_hat, y_t=y_t, t=t) + return model_mean, posterior_log_variance + + def q_sample(self, y_0, sample_gammas, noise=None): + noise = default(noise, lambda: torch.randn_like(y_0)) + return ( + sample_gammas.sqrt() * y_0 + + (1 - sample_gammas).sqrt() * noise + ) + + @torch.no_grad() + def p_sample(self, y_t, t, clip_denoised=True, y_cond=None): + model_mean, model_log_variance = self.p_mean_variance( + y_t=y_t, t=t, clip_denoised=clip_denoised, y_cond=y_cond) + noise = torch.randn_like(y_t) if any(t>0) else torch.zeros_like(y_t) + return model_mean + noise * (0.5 * model_log_variance).exp() + + @torch.no_grad() + def restoration(self, y_cond, y_t=None, y_0=None, mask=None, sample_num=8): + b, *_ = y_cond.shape + + assert self.num_timesteps > sample_num, 'num_timesteps must greater than sample_num' + sample_inter = (self.num_timesteps//sample_num) + + y_t = default(y_t, lambda: torch.randn_like(y_0)) + ret_arr = y_t + # for i in tqdm(reversed(range(0, self.num_timesteps)), desc='sampling loop time step', total=self.num_timesteps): + # t = torch.full((b,), i, device=y_cond.device, dtype=torch.long) + # y_t = self.p_sample(y_t, t, y_cond=y_cond) + # if mask is not None: + # y_t = y_0*(1.-mask) + mask*y_t + # if i % sample_inter == 0: + # ret_arr = torch.cat([ret_arr, y_t], dim=0) + noise_schedule = NoiseScheduleVP(schedule='discrete', betas=torch.from_numpy(self.betas)) + model_fn = model_wrapper( + self.denoise_fn, + noise_schedule, + model_type="x_start", # "noise" or "x_start" or "v" or "score" + model_kwargs={}, + guidance_type="classifier-free", + condition=y_cond, + unconditional_condition=None, + guidance_scale=1., + ) + dpm_solver = DPM_Solver( + model_fn, + noise_schedule, + algorithm_type="dpmsolver++", + correcting_x0_fn="dynamic_thresholding", + ) + y_t = dpm_solver.sample( + y_t, + steps=20, # 10, 12, 15, 20, 25, 50, 100 + order=2, + skip_type="time_uniform", + method="multistep", + denoise_to_zero=True, + ) + return y_t, ret_arr + + def forward(self, y_0, y_cond=None, mask=None, noise=None): + # sampling from p(gammas) + b, *_ = y_0.shape + t = torch.randint(1, self.num_timesteps, (b,), device=y_0.device).long() + gamma_t1 = extract(self.gammas, t-1, x_shape=(1, 1)) + sqrt_gamma_t2 = extract(self.gammas, t, x_shape=(1, 1)) + sample_gammas = (sqrt_gamma_t2-gamma_t1) * torch.rand((b, 1), device=y_0.device) + gamma_t1 + sample_gammas = sample_gammas.view(b, -1) + + noise = default(noise, lambda: torch.randn_like(y_0)) + y_noisy = self.q_sample( + y_0=y_0, sample_gammas=sample_gammas.view(-1, 1, 1, 1), noise=noise) + + if mask is not None: + noise_hat = self.denoise_fn(torch.cat([y_cond, y_noisy*mask+(1.-mask)*y_0], dim=1), sample_gammas) + loss = self.loss_fn(mask*noise, mask*noise_hat) + else: + y_0_hat = self.denoise_fn(torch.cat([y_cond, y_noisy], dim=1), sample_gammas) + loss = self.loss_fn(y_0, y_0_hat) + return loss + + +# gaussian diffusion trainer class +def exists(x): + return x is not None + +def default(val, d): + if exists(val): + return val + return d() if isfunction(d) else d + +def extract(a, t, x_shape=(1,1,1,1)): + b, *_ = t.shape + out = a.gather(-1, t) + return out.reshape(b, *((1,) * (len(x_shape) - 1))) + +# beta_schedule function +def _warmup_beta(linear_start, linear_end, n_timestep, warmup_frac): + betas = linear_end * np.ones(n_timestep, dtype=np.float64) + warmup_time = int(n_timestep * warmup_frac) + betas[:warmup_time] = np.linspace( + linear_start, linear_end, warmup_time, dtype=np.float64) + return betas + +def make_beta_schedule(schedule, n_timestep, linear_start=1e-6, linear_end=1e-2, cosine_s=8e-3): + if schedule == 'quad': + betas = np.linspace(linear_start ** 0.5, linear_end ** 0.5, + n_timestep, dtype=np.float64) ** 2 + elif schedule == 'linear': + betas = np.linspace(linear_start, linear_end, + n_timestep, dtype=np.float64) + elif schedule == 'warmup10': + betas = _warmup_beta(linear_start, linear_end, + n_timestep, 0.1) + elif schedule == 'warmup50': + betas = _warmup_beta(linear_start, linear_end, + n_timestep, 0.5) + elif schedule == 'const': + betas = linear_end * np.ones(n_timestep, dtype=np.float64) + elif schedule == 'jsd': # 1/T, 1/(T-1), 1/(T-2), ..., 1 + betas = 1. / np.linspace(n_timestep, + 1, n_timestep, dtype=np.float64) + elif schedule == "cosine": + timesteps = ( + torch.arange(n_timestep + 1, dtype=torch.float64) / + n_timestep + cosine_s + ) + alphas = timesteps / (1 + cosine_s) * math.pi / 2 + alphas = torch.cos(alphas).pow(2) + alphas = alphas / alphas[0] + betas = 1 - alphas[1:] / alphas[:-1] + betas = betas.clamp(max=0.999) + elif schedule == "sigmoid": + start = -3 + end = 3 + tau = 1 + timesteps = n_timestep + steps = timesteps + 1 + t = torch.linspace(0, timesteps, steps, dtype = torch.float64) / timesteps + v_start = torch.tensor(start / tau).sigmoid() + v_end = torch.tensor(end / tau).sigmoid() + alphas_cumprod = (-((t * (end - start) + start) / tau).sigmoid() + v_end) / (v_end - v_start) + alphas_cumprod = alphas_cumprod / alphas_cumprod[0] + betas = 1 - (alphas_cumprod[1:] / alphas_cumprod[:-1]) + return torch.clip(betas, 0, 0.999) + else: + raise NotImplementedError(schedule) + return betas + + + + diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/ours/guided_diffusion_likai.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/ours/guided_diffusion_likai.py new file mode 100644 index 0000000000000000000000000000000000000000..18a1e918403823d00dc246cb57e7238c49b42775 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/ours/guided_diffusion_likai.py @@ -0,0 +1,652 @@ +from abc import abstractmethod +import math +import torch +import torch.nn as nn +import torch.nn.functional as F +import numpy as np +from timm.models.layers import DropPath + +class GroupNorm32(nn.GroupNorm): + def forward(self, x): + return super().forward(x.float()).type(x.dtype) + + +def zero_module(module): + """ + Zero out the parameters of a module and return it. + """ + for p in module.parameters(): + p.detach().zero_() + return module + + +def scale_module(module, scale): + """ + Scale the parameters of a module and return it. + """ + for p in module.parameters(): + p.detach().mul_(scale) + return module + + +def mean_flat(tensor): + """ + Take the mean over all non-batch dimensions. + """ + return tensor.mean(dim=list(range(1, len(tensor.shape)))) + + +def normalization(channels): + """ + Make a standard normalization layer. + + :param channels: number of input channels. + :return: an nn.Module for normalization. + """ + return GroupNorm32(32, channels) + + + +def checkpoint(func, inputs, params, flag): + """ + Evaluate a function without caching intermediate activations, allowing for + reduced memory at the expense of extra compute in the backward pass. + + :param func: the function to evaluate. + :param inputs: the argument sequence to pass to `func`. + :param params: a sequence of parameters `func` depends on but does not + explicitly take as arguments. + :param flag: if False, disable gradient checkpointing. + """ + if flag: + args = tuple(inputs) + tuple(params) + return CheckpointFunction.apply(func, len(inputs), *args) + else: + return func(*inputs) + + +class CheckpointFunction(torch.autograd.Function): + @staticmethod + def forward(ctx, run_function, length, *args): + ctx.run_function = run_function + ctx.input_tensors = list(args[:length]) + ctx.input_params = list(args[length:]) + with torch.no_grad(): + output_tensors = ctx.run_function(*ctx.input_tensors) + return output_tensors + + @staticmethod + def backward(ctx, *output_grads): + ctx.input_tensors = [x.detach().requires_grad_(True) for x in ctx.input_tensors] + with torch.enable_grad(): + # Fixes a bug where the first op in run_function modifies the + # Tensor storage in place, which is not allowed for detach()'d + # Tensors. + shallow_copies = [x.view_as(x) for x in ctx.input_tensors] + output_tensors = ctx.run_function(*shallow_copies) + input_grads = torch.autograd.grad( + output_tensors, + ctx.input_tensors + ctx.input_params, + output_grads, + allow_unused=True, + ) + del ctx.input_tensors + del ctx.input_params + del output_tensors + return (None, None) + input_grads + + +def count_flops_attn(model, _x, y): + """ + A counter for the `thop` package to count the operations in an + attention operation. + Meant to be used like: + macs, params = thop.profile( + model, + inputs=(inputs, timestamps), + custom_ops={QKVAttention: QKVAttention.count_flops}, + ) + """ + b, c, *spatial = y[0].shape + num_spatial = int(np.prod(spatial)) + # We perform two matmuls with the same number of ops. + # The first computes the weight matrix, the second computes + # the combination of the value vectors. + matmul_ops = 2 * b * (num_spatial ** 2) * c + model.total_ops += torch.DoubleTensor([matmul_ops]) + + +def gamma_embedding(gammas, dim, max_period=10000): + """ + Create sinusoidal timestep embeddings. + :param gammas: a 1-D Tensor of N indices, one per batch element. + These may be fractional. + :param dim: the dimension of the output. + :param max_period: controls the minimum frequency of the embeddings. + :return: an [N x dim] Tensor of positional embeddings. + """ + half = dim // 2 + freqs = torch.exp( + -math.log(max_period) * torch.arange(start=0, end=half, dtype=torch.float32) / half + ).to(device=gammas.device) + args = gammas[:, None].float() * freqs[None] + embedding = torch.cat([torch.cos(args), torch.sin(args)], dim=-1) + if dim % 2: + embedding = torch.cat([embedding, torch.zeros_like(embedding[:, :1])], dim=-1) + return embedding + +class SiLU(nn.Module): + def forward(self, x): + return x * torch.sigmoid(x) + +class EmbedBlock(nn.Module): + """ + Any module where forward() takes embeddings as a second argument. + """ + + @abstractmethod + def forward(self, x, emb): + """ + Apply the module to `x` given `emb` embeddings. + """ + +class EmbedSequential(nn.Sequential, EmbedBlock): + """ + A sequential module that passes embeddings to the children that + support it as an extra input. + """ + + def forward(self, x, emb): + for layer in self: + if isinstance(layer, EmbedBlock): + x = layer(x, emb) + else: + x = layer(x) + return x + +class Upsample(nn.Module): + """ + An upsampling layer with an optional convolution. + :param channels: channels in the inputs and outputs. + :param use_conv: a bool determining if a convolution is applied. + + """ + + def __init__(self, channels, use_conv, out_channel=None): + super().__init__() + self.channels = channels + self.out_channel = out_channel or channels + self.use_conv = use_conv + if use_conv: + self.conv = nn.Conv2d(self.channels, self.out_channel, 3, padding=1) + + def forward(self, x): + assert x.shape[1] == self.channels + x = F.interpolate(x, scale_factor=2, mode="nearest") + if self.use_conv: + x = self.conv(x) + return x + +class Downsample(nn.Module): + """ + A downsampling layer with an optional convolution. + :param channels: channels in the inputs and outputs. + :param use_conv: a bool determining if a convolution is applied. + """ + + def __init__(self, channels, use_conv, out_channel=None): + super().__init__() + self.channels = channels + self.out_channel = out_channel or channels + self.use_conv = use_conv + stride = 2 + if use_conv: + self.op = nn.Conv2d( + self.channels, self.out_channel, 3, stride=stride, padding=1 + ) + else: + assert self.channels == self.out_channel + self.op = nn.AvgPool2d(kernel_size=stride, stride=stride) + + def forward(self, x): + assert x.shape[1] == self.channels + return self.op(x) + + +class ResBlock(EmbedBlock): + """ + A residual block that can optionally change the number of channels. + :param channels: the number of input channels. + :param emb_channels: the number of embedding channels. + :param dropout: the rate of dropout. + :param out_channel: if specified, the number of out channels. + :param use_conv: if True and out_channel is specified, use a spatial + convolution instead of a smaller 1x1 convolution to change the + channels in the skip connection. + :param use_checkpoint: if True, use gradient checkpointing on this module. + :param up: if True, use this block for upsampling. + :param down: if True, use this block for downsampling. + """ + + def __init__( + self, + channels, + emb_channels, + dropout, + out_channel=None, + use_conv=False, + use_scale_shift_norm=False, + use_checkpoint=False, + up=False, + down=False, + ): + super().__init__() + self.channels = channels + self.emb_channels = emb_channels + self.dropout = dropout + self.out_channel = out_channel or channels + self.use_conv = use_conv + self.use_checkpoint = use_checkpoint + self.use_scale_shift_norm = use_scale_shift_norm + + self.in_layers = nn.Sequential( + normalization(channels), + SiLU(), + nn.Conv2d(channels, self.out_channel, 3, padding=1), + ) + + self.updown = up or down + + if up: + self.h_upd = Upsample(channels, False) + self.x_upd = Upsample(channels, False) + elif down: + self.h_upd = Downsample(channels, False) + self.x_upd = Downsample(channels, False) + else: + self.h_upd = self.x_upd = nn.Identity() + + self.emb_layers = nn.Sequential( + SiLU(), + nn.Linear( + emb_channels, + 2 * self.out_channel if use_scale_shift_norm else self.out_channel, + ), + ) + self.out_layers = nn.Sequential( + normalization(self.out_channel), + SiLU(), + nn.Dropout(p=dropout), + zero_module( + nn.Conv2d(self.out_channel, self.out_channel, 3, padding=1, groups=self.out_channel) + ), + ) + + if self.out_channel == channels: + self.skip_connection = nn.Identity() + elif use_conv: + self.skip_connection = nn.Conv2d( + channels, self.out_channel, 3, padding=1 + ) + else: + self.skip_connection = nn.Conv2d(channels, self.out_channel, 1) + + def forward(self, x, emb): + """ + Apply the block to a Tensor, conditioned on a embedding. + :param x: an [N x C x ...] Tensor of features. + :param emb: an [N x emb_channels] Tensor of embeddings. + :return: an [N x C x ...] Tensor of outputs. + """ + return checkpoint( + self._forward, (x, emb), self.parameters(), self.use_checkpoint + ) + + def _forward(self, x, emb): + if self.updown: + in_rest, in_conv = self.in_layers[:-1], self.in_layers[-1] + h = in_rest(x) + h = self.h_upd(h) + x = self.x_upd(x) + h = in_conv(h) + else: + h = self.in_layers(x) + emb_out = self.emb_layers(emb).type(h.dtype) + while len(emb_out.shape) < len(h.shape): + emb_out = emb_out[..., None] + if self.use_scale_shift_norm: + out_norm, out_rest = self.out_layers[0], self.out_layers[1:] + scale, shift = torch.chunk(emb_out, 2, dim=1) + h = out_norm(h) * (1 + scale) + shift + h = out_rest(h) + else: + h = h + emb_out + h = self.out_layers(h) + return self.skip_connection(x) + h + +class LayerNorm(nn.Module): + + def __init__(self, normalized_shape, eps=1e-6, data_format="channels_last"): + super().__init__() + + self.weight = nn.Parameter(torch.ones(normalized_shape)) + self.bias = nn.Parameter(torch.zeros(normalized_shape)) + self.eps = eps + self.data_format = data_format + if self.data_format not in ["channels_last", "channels_first", "channels_first_v2"]: + raise NotImplementedError + self.normalized_shape = (normalized_shape, ) + + def forward(self, x): + if self.data_format == "channels_last": + return F.layer_norm(x, self.normalized_shape, self.weight, self.bias, self.eps) + elif self.data_format == "channels_first": + u = x.mean(1, keepdim=True) + s = (x - u).pow(2).mean(1, keepdim=True) + x = (x - u) / torch.sqrt(s + self.eps) + x = self.weight[:, None, None] * x + self.bias[:, None, None] + return x + elif self.data_format == "channels_first_v2": + return F.layer_norm(x.permute(0, 2, 3, 1), self.normalized_shape, self.weight, self.bias, self.eps).permute(0, 3, 1, 2) + + +class ConvMod(nn.Module): + def __init__(self, dim): + super().__init__() + + self.norm = LayerNorm(dim, eps=1e-6, data_format="channels_first") + self.a = nn.Sequential( + nn.Conv2d(dim, dim, 1), + nn.GELU(), + nn.Conv2d(dim, dim, 11, padding=5, groups=dim) # TODO + ) + + self.v = nn.Conv2d(dim, dim, 1) + self.proj = nn.Conv2d(dim, dim, 1) + + def forward(self, x): + B, C, H, W = x.shape + x = self.norm(x) + a = self.a(x) # A=QK^T + x = a * self.v(x) + x = self.proj(x) + + return x + +class MLP(nn.Module): + def __init__(self, dim, mlp_ratio=4): + super().__init__() + + self.norm = LayerNorm(dim, eps=1e-6, data_format="channels_first") + + self.fc1 = nn.Conv2d(dim, int(dim * mlp_ratio), 1) + self.pos = nn.Conv2d(int(dim * mlp_ratio), int(dim * mlp_ratio), + 3, padding=1, groups=int(dim * mlp_ratio)) + self.fc2 = nn.Conv2d(int(dim * mlp_ratio), dim, 1) + self.act = nn.GELU() + + def forward(self, x): + B, C, H, W = x.shape + x = self.norm(x) + x = self.fc1(x) + x = self.act(x) + x = x + self.act(self.pos(x)) + x = self.fc2(x) + + return x + +class AttentionBlock(nn.Module): + def __init__(self, dim, mlp_ratio=4., drop_path=0.): + super().__init__() + + self.attn = ConvMod(dim) + self.mlp = MLP(dim, mlp_ratio) + layer_scale_init_value = 1e-6 + self.layer_scale_1 = nn.Parameter( # a + layer_scale_init_value * torch.ones((dim)), requires_grad=True) + self.layer_scale_2 = nn.Parameter( # b + layer_scale_init_value * torch.ones((dim)), requires_grad=True) + self.drop_path = DropPath( + drop_path) if drop_path > 0. else nn.Identity() + + def forward(self, x): + return checkpoint(self._forward, (x,), self.parameters(), True) + + def _forward(self, x): + x = x + \ + self.drop_path( + self.layer_scale_1.unsqueeze(-1).unsqueeze(-1) * self.attn(x)) + x = x + \ + self.drop_path( + self.layer_scale_2.unsqueeze(-1).unsqueeze(-1) * self.mlp(x)) + return x + +class UNet(nn.Module): + """ + The full UNet model with attention and embedding. + :param in_channel: channels in the input Tensor, for image colorization : Y_channels + X_channels . + :param inner_channel: base channel count for the model. + :param out_channel: channels in the output Tensor. + :param res_blocks: number of residual blocks per downsample. + :param attn_res: a collection of downsample rates at which + attention will take place. May be a set, list, or tuple. + For example, if this contains 4, then at 4x downsampling, attention + will be used. + :param dropout: the dropout probability. + :param channel_mults: channel multiplier for each level of the UNet. + :param conv_resample: if True, use learned convolutions for upsampling and + downsampling. + :param use_checkpoint: use gradient checkpointing to reduce memory usage. + :param num_heads: the number of attention heads in each attention layer. + :param num_heads_channels: if specified, ignore num_heads and instead use + a fixed channel width per attention head. + :param num_heads_upsample: works with num_heads to set a different number + of heads for upsampling. Deprecated. + :param use_scale_shift_norm: use a FiLM-like conditioning mechanism. + :param resblock_updown: use residual blocks for up/downsampling. + :param use_new_attention_order: use a different attention pattern for potentially + increased efficiency. + """ + + def __init__( + self, + image_size, + in_channel, + inner_channel, + out_channel, + res_blocks, + attn_res, + dropout=0, + channel_mults=(1, 2, 4, 8), + conv_resample=True, + use_checkpoint=False, + use_fp16=False, + num_heads=1, + num_head_channels=-1, + num_heads_upsample=-1, + use_scale_shift_norm=True, + resblock_updown=True, + use_new_attention_order=False, + ): + + super().__init__() + + if num_heads_upsample == -1: + num_heads_upsample = num_heads + + self.image_size = image_size + self.in_channel = in_channel + self.inner_channel = inner_channel + self.out_channel = out_channel + self.res_blocks = res_blocks + self.attn_res = attn_res + self.dropout = dropout + self.channel_mults = channel_mults + self.conv_resample = conv_resample + self.use_checkpoint = use_checkpoint + self.dtype = torch.float16 if use_fp16 else torch.float32 + self.num_heads = num_heads + self.num_head_channels = num_head_channels + self.num_heads_upsample = num_heads_upsample + + cond_embed_dim = inner_channel * 4 + self.cond_embed = nn.Sequential( + nn.Linear(inner_channel, cond_embed_dim), + SiLU(), + nn.Linear(cond_embed_dim, cond_embed_dim), + ) + + ch = input_ch = int(channel_mults[0] * inner_channel) + self.input_blocks = nn.ModuleList( + [EmbedSequential(nn.Conv2d(in_channel, ch, 3, padding=1))] + ) + self._feature_size = ch + input_block_chans = [ch] + ds = 1 + for level, mult in enumerate(channel_mults): + for _ in range(res_blocks): + layers = [ + ResBlock( + ch, + cond_embed_dim, + dropout, + out_channel=int(mult * inner_channel), + use_checkpoint=use_checkpoint, + use_scale_shift_norm=use_scale_shift_norm, + ) + ] + ch = int(mult * inner_channel) + if ds in attn_res: + layers.append( + AttentionBlock(ch, drop_path=dropout) + ) + self.input_blocks.append(EmbedSequential(*layers)) + self._feature_size += ch + input_block_chans.append(ch) + if level != len(channel_mults) - 1: + out_ch = ch + self.input_blocks.append( + EmbedSequential( + ResBlock( + ch, + cond_embed_dim, + dropout, + out_channel=out_ch, + use_checkpoint=use_checkpoint, + use_scale_shift_norm=use_scale_shift_norm, + down=True, + ) + if resblock_updown + else Downsample( + ch, conv_resample, out_channel=out_ch + ) + ) + ) + ch = out_ch + input_block_chans.append(ch) + ds *= 2 + self._feature_size += ch + + self.middle_block = EmbedSequential( + ResBlock( + ch, + cond_embed_dim, + dropout, + use_checkpoint=use_checkpoint, + use_scale_shift_norm=use_scale_shift_norm, + ), + AttentionBlock(ch, drop_path=dropout), + ResBlock( + ch, + cond_embed_dim, + dropout, + use_checkpoint=use_checkpoint, + use_scale_shift_norm=use_scale_shift_norm, + ), + ) + self._feature_size += ch + + self.output_blocks = nn.ModuleList([]) + for level, mult in list(enumerate(channel_mults))[::-1]: + for i in range(res_blocks + 1): + ich = input_block_chans.pop() + layers = [ + ResBlock( + ch + ich, + cond_embed_dim, + dropout, + out_channel=int(inner_channel * mult), + use_checkpoint=use_checkpoint, + use_scale_shift_norm=use_scale_shift_norm, + ) + ] + ch = int(inner_channel * mult) + if ds in attn_res: + layers.append( + AttentionBlock(ch, drop_path=dropout) + ) + if level and i == res_blocks: + out_ch = ch + layers.append( + ResBlock( + ch, + cond_embed_dim, + dropout, + out_channel=out_ch, + use_checkpoint=use_checkpoint, + use_scale_shift_norm=use_scale_shift_norm, + up=True, + ) + if resblock_updown + else Upsample(ch, conv_resample, out_channel=out_ch) + ) + ds //= 2 + self.output_blocks.append(EmbedSequential(*layers)) + self._feature_size += ch + + self.out = nn.Sequential( + normalization(ch), + SiLU(), + zero_module(nn.Conv2d(input_ch, out_channel, 3, padding=1)), + ) + + def forward(self, x, gammas): + """ + Apply the model to an input batch. + :param x: an [N x 2 x ...] Tensor of inputs (B&W) + :param gammas: a 1-D batch of gammas. # 2000 190 + :return: an [N x C x ...] Tensor of outputs. + """ + hs = [] + gammas = gammas.view(-1, ) # [bs] + emb = self.cond_embed(gamma_embedding(gammas, self.inner_channel)) # [bs, 64*4] + + h = x.type(torch.float32) + for module in self.input_blocks: + h = module(h, emb) + hs.append(h) + h = self.middle_block(h, emb) + for module in self.output_blocks: + h = torch.cat([h, hs.pop()], dim=1) + h = module(h, emb) + h = h.type(x.dtype) + return self.out(h) + +if __name__ == '__main__': + b, c, h, w = 1, 12, 256, 256 + timsteps = 100 + model = UNet( + image_size=h, + in_channel=c, + inner_channel=64, + out_channel=3, + channel_mults=[1, 2, 4, 8], + res_blocks=2, + num_head_channels=32, + attn_res=[16], + dropout=0.2 + ) + x = torch.randn((b, c, h, w)) + emb = torch.ones((b, )) + out = model(x, emb) + print(out.shape) \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/ours/nafnet.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/ours/nafnet.py new file mode 100644 index 0000000000000000000000000000000000000000..230ca68cb84cbc87a6c1ab7ee22288f616c174c6 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/ours/nafnet.py @@ -0,0 +1,297 @@ +import torch +import torch.nn as nn +import torch.nn.functional as F +from functools import partial +import math +from abc import abstractmethod + +class EmbedBlock(nn.Module): + """ + Any module where forward() takes embeddings as a second argument. + """ + + @abstractmethod + def forward(self, x, emb): + """ + Apply the module to `x` given `emb` embeddings. + """ + + +class EmbedSequential(nn.Sequential, EmbedBlock): + """ + A sequential module that passes embeddings to the children that + support it as an extra input. + """ + + def forward(self, x, emb): + for layer in self: + if isinstance(layer, EmbedBlock): + x = layer(x, emb) + else: + x = layer(x) + return x + +def gamma_embedding(gammas, dim, max_period=10000): + """ + Create sinusoidal timestep embeddings. + :param gammas: a 1-D Tensor of N indices, one per batch element. + These may be fractional. + :param dim: the dimension of the output. + :param max_period: controls the minimum frequency of the embeddings. + :return: an [N x dim] Tensor of positional embeddings. + """ + half = dim // 2 + freqs = torch.exp( + -math.log(max_period) * torch.arange(start=0, + end=half, dtype=torch.float32) / half + ).to(device=gammas.device) + args = gammas[:, None].float() * freqs[None] + embedding = torch.cat([torch.cos(args), torch.sin(args)], dim=-1) + if dim % 2: + embedding = torch.cat( + [embedding, torch.zeros_like(embedding[:, :1])], dim=-1) + return embedding + + +class LayerNormFunction(torch.autograd.Function): + + @staticmethod + def forward(ctx, x, weight, bias, eps): + ctx.eps = eps + N, C, H, W = x.size() + mu = x.mean(1, keepdim=True) + var = (x - mu).pow(2).mean(1, keepdim=True) + y = (x - mu) / (var + eps).sqrt() + ctx.save_for_backward(y, var, weight) + y = weight.view(1, C, 1, 1) * y + bias.view(1, C, 1, 1) + return y + + @staticmethod + def backward(ctx, grad_output): + eps = ctx.eps + + N, C, H, W = grad_output.size() + y, var, weight = ctx.saved_variables + g = grad_output * weight.view(1, C, 1, 1) + mean_g = g.mean(dim=1, keepdim=True) + + mean_gy = (g * y).mean(dim=1, keepdim=True) + gx = 1. / torch.sqrt(var + eps) * (g - y * mean_gy - mean_g) + return gx, (grad_output * y).sum(dim=3).sum(dim=2).sum(dim=0), grad_output.sum(dim=3).sum(dim=2).sum( + dim=0), None + + +class LayerNorm2d(nn.Module): + + def __init__(self, channels, eps=1e-6): + super(LayerNorm2d, self).__init__() + self.register_parameter('weight', nn.Parameter(torch.ones(channels))) + self.register_parameter('bias', nn.Parameter(torch.zeros(channels))) + self.eps = eps + + def forward(self, x): + return LayerNormFunction.apply(x, self.weight, self.bias, self.eps) + + +class SimpleGate(nn.Module): + def forward(self, x): + x1, x2 = x.chunk(2, dim=1) + return x1 * x2 + + +class NAFBlock(EmbedBlock): + def __init__(self, c, DW_Expand=2, FFN_Expand=2, drop_out_rate=0.): + super().__init__() + dw_channel = c * DW_Expand + self.conv1 = nn.Conv2d(in_channels=c, out_channels=dw_channel, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + self.conv2 = nn.Conv2d(in_channels=dw_channel, out_channels=dw_channel, kernel_size=3, padding=1, stride=1, groups=dw_channel, + bias=True) + self.conv3 = nn.Conv2d(in_channels=dw_channel // 2, out_channels=c, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + # Simplified Channel Attention + self.sca = nn.Sequential( + nn.AdaptiveAvgPool2d(1), + nn.Conv2d(in_channels=dw_channel // 2, out_channels=dw_channel // 2, kernel_size=1, padding=0, stride=1, + groups=1, bias=True), + ) + + # SimpleGate + self.sg = SimpleGate() + + ffn_channel = FFN_Expand * c + self.conv4 = nn.Conv2d(in_channels=c, out_channels=ffn_channel, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + self.conv5 = nn.Conv2d(in_channels=ffn_channel // 2, out_channels=c, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + self.norm1 = LayerNorm2d(c) + self.norm2 = LayerNorm2d(c) + + self.dropout1 = nn.Dropout( + drop_out_rate) if drop_out_rate > 0. else nn.Identity() + self.dropout2 = nn.Dropout( + drop_out_rate) if drop_out_rate > 0. else nn.Identity() + + self.beta = nn.Parameter(torch.zeros((1, c, 1, 1)), requires_grad=True) + self.gamma = nn.Parameter(torch.zeros( + (1, c, 1, 1)), requires_grad=True) + self.time_emb = nn.Sequential( + nn.SiLU(), + nn.Linear(256, c), + ) + + def forward(self, inp, t): + x = inp + + x = self.norm1(x) + + x = self.conv1(x) + x = self.conv2(x) + x = self.sg(x) + x = x * self.sca(x) + x = self.conv3(x) + + x = self.dropout1(x) + + y = inp + x * self.beta + + y = y+self.time_emb(t)[..., None, None] + + x = self.conv4(self.norm2(y)) + x = self.sg(x) + x = self.conv5(x) + + x = self.dropout2(x) + + return y + x * self.gamma + + +class UNet(nn.Module): + + def __init__( + self, + img_channel=12, + width=64, + middle_blk_num=1, + enc_blk_nums=[1, 1, 1, 1], + dec_blk_nums=[1, 1, 1, 1], + ): + super().__init__() + + self.intro = nn.Conv2d(in_channels=img_channel, out_channels=width, kernel_size=3, padding=1, stride=1, groups=1, + bias=True) + self.ending = nn.Conv2d(in_channels=width, out_channels=3, kernel_size=3, padding=1, stride=1, groups=1, + bias=True) + # self.inp_ending = nn.Conv2d(in_channels=img_channel, out_channels=3, kernel_size=3, padding=1, stride=1, groups=1, + # bias=True) + + self.encoders = nn.ModuleList() + self.decoders = nn.ModuleList() + self.middle_blks = nn.ModuleList() + self.ups = nn.ModuleList() + self.downs = nn.ModuleList() + + chan = width + for num in enc_blk_nums: + self.encoders.append( + EmbedSequential( + *[NAFBlock(chan) for _ in range(num)] + ) + ) + self.downs.append( + nn.Conv2d(chan, 2*chan, 2, 2) + ) + chan = chan * 2 + + self.middle_blks = \ + EmbedSequential( + *[NAFBlock(chan) for _ in range(middle_blk_num)] + ) + + for num in dec_blk_nums: + self.ups.append( + nn.Sequential( + nn.Conv2d(chan, chan * 2, 1, bias=False), + nn.PixelShuffle(2) + ) + ) + chan = chan // 2 + self.decoders.append( + EmbedSequential( + *[NAFBlock(chan) for _ in range(num)] + ) + ) + + self.padder_size = 2 ** len(self.encoders) + self.emb = partial(gamma_embedding, dim=64) + self.map = nn.Sequential( + nn.Linear(64, 256), + nn.SiLU(), + nn.Linear(256, 256), + ) + + def forward(self, inp, gammas): + t = self.map(self.emb(gammas.view(-1, ))) + B, C, H, W = inp.shape + inp = self.check_image_size(inp) + + x = self.intro(inp) + + encs = [] + + for encoder, down in zip(self.encoders, self.downs): + x = encoder(x, t) + encs.append(x) + x = down(x) + + x = self.middle_blks(x, t) + + for decoder, up, enc_skip in zip(self.decoders, self.ups, encs[::-1]): + x = up(x) + x = x + enc_skip + x = decoder(x, t) + + x = self.ending(x) + # x = x + self.inp_ending(inp) + + return x[:, :, :H, :W] + + def check_image_size(self, x): + _, _, h, w = x.size() + mod_pad_h = (self.padder_size - h % + self.padder_size) % self.padder_size + mod_pad_w = (self.padder_size - w % + self.padder_size) % self.padder_size + x = F.pad(x, (0, mod_pad_w, 0, mod_pad_h)) + return x + + +if __name__ == '__main__': + # img_channel = 5 + # width = 32 + + # # enc_blks = [2, 2, 4, 8] + # # middle_blk_num = 12 + # # dec_blks = [2, 2, 2, 2] + + # enc_blks = [1, 1, 1, 28] + # middle_blk_num = 1 + # dec_blks = [1, 1, 1, 1] + + # net = NAFNet( + # img_channel=img_channel, + # width=width, + # middle_blk_num=middle_blk_num, + # enc_blk_nums=enc_blks, + # dec_blk_nums=dec_blks, + # ) + + # inp_shape = (2, 5, 64, 64) + + # out_shape = net(torch.Tensor(*inp_shape)).shape + + # print(out_shape) + # print(UNet()) + print(UNet()(*(torch.Tensor(2, 12, 256, 256), torch.ones(2,))).shape) \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/ours/nafnet64_splitca_noinp.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/ours/nafnet64_splitca_noinp.py new file mode 100644 index 0000000000000000000000000000000000000000..2ea484544ec4022bb188f337a703ebb4ead31466 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/ours/nafnet64_splitca_noinp.py @@ -0,0 +1,311 @@ +import torch +import torch.nn as nn +import torch.nn.functional as F +from functools import partial +import math +from abc import abstractmethod + +class EmbedBlock(nn.Module): + """ + Any module where forward() takes embeddings as a second argument. + """ + + @abstractmethod + def forward(self, x, emb): + """ + Apply the module to `x` given `emb` embeddings. + """ + + +class EmbedSequential(nn.Sequential, EmbedBlock): + """ + A sequential module that passes embeddings to the children that + support it as an extra input. + """ + + def forward(self, x, emb): + for layer in self: + if isinstance(layer, EmbedBlock): + x = layer(x, emb) + else: + x = layer(x) + return x + +def gamma_embedding(gammas, dim, max_period=10000): + """ + Create sinusoidal timestep embeddings. + :param gammas: a 1-D Tensor of N indices, one per batch element. + These may be fractional. + :param dim: the dimension of the output. + :param max_period: controls the minimum frequency of the embeddings. + :return: an [N x dim] Tensor of positional embeddings. + """ + half = dim // 2 + freqs = torch.exp( + -math.log(max_period) * torch.arange(start=0, + end=half, dtype=torch.float32) / half + ).to(device=gammas.device) + args = gammas[:, None].float() * freqs[None] + embedding = torch.cat([torch.cos(args), torch.sin(args)], dim=-1) + if dim % 2: + embedding = torch.cat( + [embedding, torch.zeros_like(embedding[:, :1])], dim=-1) + return embedding + + +class LayerNormFunction(torch.autograd.Function): + + @staticmethod + def forward(ctx, x, weight, bias, eps): + ctx.eps = eps + N, C, H, W = x.size() + mu = x.mean(1, keepdim=True) + var = (x - mu).pow(2).mean(1, keepdim=True) + y = (x - mu) / (var + eps).sqrt() + ctx.save_for_backward(y, var, weight) + y = weight.view(1, C, 1, 1) * y + bias.view(1, C, 1, 1) + return y + + @staticmethod + def backward(ctx, grad_output): + eps = ctx.eps + + N, C, H, W = grad_output.size() + y, var, weight = ctx.saved_variables + g = grad_output * weight.view(1, C, 1, 1) + mean_g = g.mean(dim=1, keepdim=True) + + mean_gy = (g * y).mean(dim=1, keepdim=True) + gx = 1. / torch.sqrt(var + eps) * (g - y * mean_gy - mean_g) + return gx, (grad_output * y).sum(dim=3).sum(dim=2).sum(dim=0), grad_output.sum(dim=3).sum(dim=2).sum( + dim=0), None + + +class LayerNorm2d(nn.Module): + + def __init__(self, channels, eps=1e-6): + super(LayerNorm2d, self).__init__() + self.register_parameter('weight', nn.Parameter(torch.ones(channels))) + self.register_parameter('bias', nn.Parameter(torch.zeros(channels))) + self.eps = eps + + def forward(self, x): + return LayerNormFunction.apply(x, self.weight, self.bias, self.eps) + + +class SimpleGate(nn.Module): + def forward(self, x): + x1, x2 = x.chunk(2, dim=1) + return x1 * x2 + + +class NAFBlock(EmbedBlock): + def __init__(self, c, DW_Expand=2, FFN_Expand=2, drop_out_rate=0.): + super().__init__() + dw_channel = c * DW_Expand + self.conv1 = nn.Conv2d(in_channels=c, out_channels=dw_channel, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + self.conv2 = nn.Conv2d(in_channels=dw_channel, out_channels=dw_channel, kernel_size=3, padding=1, stride=1, groups=dw_channel, + bias=True) + self.conv3 = nn.Conv2d(in_channels=dw_channel // 2, out_channels=c, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + # Simplified Channel Attention + self.sca_avg = nn.Sequential( + nn.AdaptiveAvgPool2d(1), + nn.Conv2d(in_channels=dw_channel // 4, out_channels=dw_channel // 4, kernel_size=1, padding=0, stride=1, + groups=1, bias=True), + ) + self.sca_max = nn.Sequential( + nn.AdaptiveMaxPool2d(1), + nn.Conv2d(in_channels=dw_channel // 4, out_channels=dw_channel // 4, kernel_size=1, padding=0, stride=1, + groups=1, bias=True), + ) + + # SimpleGate + self.sg = SimpleGate() + + ffn_channel = FFN_Expand * c + self.conv4 = nn.Conv2d(in_channels=c, out_channels=ffn_channel, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + self.conv5 = nn.Conv2d(in_channels=ffn_channel // 2, out_channels=c, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + self.norm1 = LayerNorm2d(c) + self.norm2 = LayerNorm2d(c) + + self.dropout1 = nn.Dropout( + drop_out_rate) if drop_out_rate > 0. else nn.Identity() + self.dropout2 = nn.Dropout( + drop_out_rate) if drop_out_rate > 0. else nn.Identity() + + self.beta = nn.Parameter(torch.zeros((1, c, 1, 1)), requires_grad=True) + self.gamma = nn.Parameter(torch.zeros( + (1, c, 1, 1)), requires_grad=True) + self.time_emb = nn.Sequential( + nn.SiLU(), + nn.Linear(256, c), + ) + + def forward(self, inp, t): + x = inp + + x = self.norm1(x) + + x = self.conv1(x) + x = self.conv2(x) + x = self.sg(x) + x_avg, x_max = x.chunk(2, dim=1) + x_avg = self.sca_avg(x_avg)*x_avg + x_max = self.sca_max(x_max)*x_max + x = torch.cat([x_avg, x_max], dim=1) + x = self.conv3(x) + + x = self.dropout1(x) + + y = inp + x * self.beta + + y = y+self.time_emb(t)[..., None, None] + + x = self.conv4(self.norm2(y)) + x = self.sg(x) + x = self.conv5(x) + + x = self.dropout2(x) + + return y + x * self.gamma + + +class UNet(nn.Module): + + def __init__( + self, + img_channel=12, + width=64, + middle_blk_num=1, + enc_blk_nums=[1, 1, 1, 1], + dec_blk_nums=[1, 1, 1, 1], + ): + super().__init__() + + self.intro = nn.Conv2d(in_channels=img_channel, out_channels=width, kernel_size=3, padding=1, stride=1, groups=1, + bias=True) + self.ending = nn.Conv2d(in_channels=width, out_channels=3, kernel_size=3, padding=1, stride=1, groups=1, + bias=True) + # self.inp_ending = nn.Conv2d(in_channels=img_channel, out_channels=3, kernel_size=3, padding=1, stride=1, groups=1, + # bias=True) + + self.encoders = nn.ModuleList() + self.decoders = nn.ModuleList() + self.middle_blks = nn.ModuleList() + self.ups = nn.ModuleList() + self.downs = nn.ModuleList() + + chan = width + for num in enc_blk_nums: + self.encoders.append( + EmbedSequential( + *[NAFBlock(chan) for _ in range(num)] + ) + ) + self.downs.append( + nn.Conv2d(chan, 2*chan, 2, 2) + ) + chan = chan * 2 + + self.middle_blks = \ + EmbedSequential( + *[NAFBlock(chan) for _ in range(middle_blk_num)] + ) + + for num in dec_blk_nums: + self.ups.append( + nn.Sequential( + nn.Conv2d(chan, chan * 2, 1, bias=False), + nn.PixelShuffle(2) + ) + ) + chan = chan // 2 + self.decoders.append( + EmbedSequential( + *[NAFBlock(chan) for _ in range(num)] + ) + ) + + self.padder_size = 2 ** len(self.encoders) + self.emb = partial(gamma_embedding, dim=64) + self.map = nn.Sequential( + nn.Linear(64, 256), + nn.SiLU(), + nn.Linear(256, 256), + ) + + def forward(self, inp, gammas): + t = self.map(self.emb(gammas.view(-1, ))) + B, C, H, W = inp.shape + inp = self.check_image_size(inp) + + x = self.intro(inp) + + encs = [] + + for encoder, down in zip(self.encoders, self.downs): + x = encoder(x, t) + encs.append(x) + x = down(x) + + x = self.middle_blks(x, t) + + for decoder, up, enc_skip in zip(self.decoders, self.ups, encs[::-1]): + x = up(x) + x = x + enc_skip + x = decoder(x, t) + + x = self.ending(x) + # x = x + self.inp_ending(inp) + + return x[:, :, :H, :W] + + def check_image_size(self, x): + _, _, h, w = x.size() + mod_pad_h = (self.padder_size - h % + self.padder_size) % self.padder_size + mod_pad_w = (self.padder_size - w % + self.padder_size) % self.padder_size + x = F.pad(x, (0, mod_pad_w, 0, mod_pad_h)) + return x + + +if __name__ == '__main__': + # img_channel = 5 + # width = 32 + + # # enc_blks = [2, 2, 4, 8] + # # middle_blk_num = 12 + # # dec_blks = [2, 2, 2, 2] + + # enc_blks = [1, 1, 1, 28] + # middle_blk_num = 1 + # dec_blks = [1, 1, 1, 1] + + # net = NAFNet( + # img_channel=img_channel, + # width=width, + # middle_blk_num=middle_blk_num, + # enc_blk_nums=enc_blks, + # dec_blk_nums=dec_blks, + # ) + + # inp_shape = (2, 5, 64, 64) + + # out_shape = net(torch.Tensor(*inp_shape)).shape + + # print(out_shape) + # print(UNet()) + # print(UNet()(*(torch.Tensor(1, 12, 256, 256), torch.ones(1,))).shape) + from thop import profile + from thop import clever_format + net = UNet(width=64, enc_blk_nums=[1,1,1,1], dec_blk_nums=[1,1,1,1]) + flops, params = profile(net, inputs=(torch.Tensor(1, 12, 256, 256), torch.ones(1,))) + flops, params = clever_format([flops, params], "%.3f") + print(flops, params) \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/ours/nafnet_concat_no_condskip_nodrop_noparams_splitca_double_encoder_decoder_middle_fusion.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/ours/nafnet_concat_no_condskip_nodrop_noparams_splitca_double_encoder_decoder_middle_fusion.py new file mode 100644 index 0000000000000000000000000000000000000000..57c705fbdbec9092d2adc893b7fd5e587a076cb2 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/ours/nafnet_concat_no_condskip_nodrop_noparams_splitca_double_encoder_decoder_middle_fusion.py @@ -0,0 +1,412 @@ +import torch +import torch.nn as nn +import torch.nn.functional as F +from functools import partial +import math +from abc import abstractmethod + +class EmbedBlock(nn.Module): + """ + Any module where forward() takes embeddings as a second argument. + """ + + @abstractmethod + def forward(self, x, emb, cond): + """ + Apply the module to `x` given `emb` embeddings. + """ + + +class EmbedSequential(nn.Sequential, EmbedBlock): + """ + A sequential module that passes embeddings to the children that + support it as an extra input. + """ + + def forward(self, x, emb, cond): + for layer in self: + if isinstance(layer, EmbedBlock): + x = layer(x, emb, cond) + else: + x = layer(x) + return x + +def gamma_embedding(gammas, dim, max_period=10000): + """ + Create sinusoidal timestep embeddings. + :param gammas: a 1-D Tensor of N indices, one per batch element. + These may be fractional. + :param dim: the dimension of the output. + :param max_period: controls the minimum frequency of the embeddings. + :return: an [N x dim] Tensor of positional embeddings. + """ + half = dim // 2 + freqs = torch.exp( + -math.log(max_period) * torch.arange(start=0, + end=half, dtype=torch.float32) / half + ).to(device=gammas.device) + args = gammas[:, None].float() * freqs[None] + embedding = torch.cat([torch.cos(args), torch.sin(args)], dim=-1) + if dim % 2: + embedding = torch.cat( + [embedding, torch.zeros_like(embedding[:, :1])], dim=-1) + return embedding + + +class LayerNormFunction(torch.autograd.Function): + + @staticmethod + def forward(ctx, x, weight, bias, eps): + ctx.eps = eps + N, C, H, W = x.size() + mu = x.mean(1, keepdim=True) + var = (x - mu).pow(2).mean(1, keepdim=True) + y = (x - mu) / (var + eps).sqrt() + ctx.save_for_backward(y, var, weight) + y = weight.view(1, C, 1, 1) * y + bias.view(1, C, 1, 1) + return y + + @staticmethod + def backward(ctx, grad_output): + eps = ctx.eps + + N, C, H, W = grad_output.size() + y, var, weight = ctx.saved_variables + g = grad_output * weight.view(1, C, 1, 1) + mean_g = g.mean(dim=1, keepdim=True) + + mean_gy = (g * y).mean(dim=1, keepdim=True) + gx = 1. / torch.sqrt(var + eps) * (g - y * mean_gy - mean_g) + return gx, (grad_output * y).sum(dim=3).sum(dim=2).sum(dim=0), grad_output.sum(dim=3).sum(dim=2).sum( + dim=0), None + + +class LayerNorm2d(nn.Module): + + def __init__(self, channels, eps=1e-6): + super(LayerNorm2d, self).__init__() + self.register_parameter('weight', nn.Parameter(torch.ones(channels))) + self.register_parameter('bias', nn.Parameter(torch.zeros(channels))) + self.eps = eps + + def forward(self, x): + return LayerNormFunction.apply(x, self.weight, self.bias, self.eps) + + +class SimpleGate(nn.Module): + def forward(self, x): + x1, x2 = x.chunk(2, dim=1) + return x1 * x2 + +class CondNAFBlock(nn.Module): + def __init__(self, c, DW_Expand=2, FFN_Expand=2, drop_out_rate=0.): + super().__init__() + dw_channel = c * DW_Expand + self.conv1 = nn.Conv2d(in_channels=c, out_channels=dw_channel, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + self.conv2 = nn.Conv2d(in_channels=dw_channel, out_channels=dw_channel, kernel_size=3, padding=1, stride=1, groups=dw_channel, + bias=True) + self.conv3 = nn.Conv2d(in_channels=dw_channel // 2, out_channels=c, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + # Simplified Channel Attention + self.sca_avg = nn.Sequential( + nn.AdaptiveAvgPool2d(1), + nn.Conv2d(in_channels=dw_channel // 4, out_channels=dw_channel // 4, kernel_size=1, padding=0, stride=1, + groups=1, bias=True), + ) + self.sca_max = nn.Sequential( + nn.AdaptiveMaxPool2d(1), + nn.Conv2d(in_channels=dw_channel // 4, out_channels=dw_channel // 4, kernel_size=1, padding=0, stride=1, + groups=1, bias=True), + ) + + # SimpleGate + self.sg = SimpleGate() + + ffn_channel = FFN_Expand * c + self.conv4 = nn.Conv2d(in_channels=c, out_channels=ffn_channel, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + self.conv5 = nn.Conv2d(in_channels=ffn_channel // 2, out_channels=c, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + self.norm1 = LayerNorm2d(c) + self.norm2 = LayerNorm2d(c) + + # self.dropout1 = nn.Dropout( + # drop_out_rate) if drop_out_rate > 0. else nn.Identity() + # self.dropout2 = nn.Dropout( + # drop_out_rate) if drop_out_rate > 0. else nn.Identity() + + # self.beta = nn.Parameter(torch.zeros((1, c, 1, 1)), requires_grad=True) + # self.gamma = nn.Parameter(torch.zeros( + # (1, c, 1, 1)), requires_grad=True) + + def forward(self, inp): + x = inp + + x = self.norm1(x) + + x = self.conv1(x) + x = self.conv2(x) + x = self.sg(x) + x_avg, x_max = x.chunk(2, dim=1) + x_avg = self.sca_avg(x_avg)*x_avg + x_max = self.sca_max(x_max)*x_max + x = torch.cat([x_avg, x_max], dim=1) + x = self.conv3(x) + + # x = self.dropout1(x) + + # y = inp + x * self.beta + y = inp+x + + x = self.conv4(self.norm2(y)) + x = self.sg(x) + x = self.conv5(x) + + # x = self.dropout2(x) + + # return y + x * self.gamma + return y+x + +class NAFBlock(EmbedBlock): + def __init__(self, c, DW_Expand=2, FFN_Expand=2, drop_out_rate=0.): + super().__init__() + dw_channel = c * DW_Expand + self.conv1 = nn.Conv2d(in_channels=c, out_channels=dw_channel, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + self.conv2 = nn.Conv2d(in_channels=dw_channel, out_channels=dw_channel, kernel_size=3, padding=1, stride=1, groups=dw_channel, + bias=True) + self.conv3 = nn.Conv2d(in_channels=dw_channel // 2, out_channels=c, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + # Simplified Channel Attention + self.sca_avg = nn.Sequential( + nn.AdaptiveAvgPool2d(1), + nn.Conv2d(in_channels=dw_channel // 4, out_channels=dw_channel // 4, kernel_size=1, padding=0, stride=1, + groups=1, bias=True), + ) + self.sca_max = nn.Sequential( + nn.AdaptiveMaxPool2d(1), + nn.Conv2d(in_channels=dw_channel // 4, out_channels=dw_channel // 4, kernel_size=1, padding=0, stride=1, + groups=1, bias=True), + ) + + # SimpleGate + self.sg = SimpleGate() + + ffn_channel = FFN_Expand * c + self.conv4 = nn.Conv2d(in_channels=c, out_channels=ffn_channel, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + self.conv5 = nn.Conv2d(in_channels=ffn_channel // 2, out_channels=c, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + self.norm1 = LayerNorm2d(c) + self.norm2 = LayerNorm2d(c) + + # self.dropout1 = nn.Dropout( + # drop_out_rate) if drop_out_rate > 0. else nn.Identity() + # self.dropout2 = nn.Dropout( + # drop_out_rate) if drop_out_rate > 0. else nn.Identity() + + # self.beta = nn.Parameter(torch.zeros((1, c, 1, 1)), requires_grad=True) + # self.gamma = nn.Parameter(torch.zeros( + # (1, c, 1, 1)), requires_grad=True) + self.time_emb = nn.Sequential( + nn.SiLU(), + nn.Linear(256, c), + ) + + def forward(self, inp, t, cond): + x = inp + + x = self.norm1(x) + + x = self.conv1(x) + x = self.conv2(x) + x = self.sg(x) + x_avg, x_max = x.chunk(2, dim=1) + x_avg = self.sca_avg(x_avg)*x_avg + x_max = self.sca_max(x_max)*x_max + x = torch.cat([x_avg, x_max], dim=1) + x = self.conv3(x) + + # x = self.dropout1(x) + + # y = inp + x * self.beta + y = inp + x + + b, c, h, w = cond.shape + tmp_cond = cond.view(b//3, 3, c, h, w).sum(dim=1) + y = y+self.time_emb(t)[..., None, None]+tmp_cond + + x = self.conv4(self.norm2(y)) + x = self.sg(x) + x = self.conv5(x) + + # x = self.dropout2(x) + + # return y + x * self.gamma + return y+x + + +class UNet(nn.Module): + + def __init__( + self, + img_channel=3, + width=64, + middle_blk_num=1, + enc_blk_nums=[1, 1, 1, 1], + dec_blk_nums=[1, 1, 1, 1], + ): + super().__init__() + + self.intro = nn.Conv2d(in_channels=img_channel, out_channels=width, kernel_size=3, padding=1, stride=1, groups=1, + bias=True) + self.cond_intro = nn.Conv2d(in_channels=img_channel, out_channels=width, kernel_size=3, padding=1, stride=1, groups=1, + bias=True) + self.ending = nn.Conv2d(in_channels=width, out_channels=3, kernel_size=3, padding=1, stride=1, groups=1, + bias=True) + # self.inp_ending = nn.Conv2d(in_channels=img_channel, out_channels=3, kernel_size=3, padding=1, stride=1, groups=1, + # bias=True) + + self.encoders = nn.ModuleList() + self.cond_encoders = nn.ModuleList() + + self.decoders = nn.ModuleList() + + self.middle_blks = nn.ModuleList() + + self.ups = nn.ModuleList() + + self.downs = nn.ModuleList() + self.cond_downs = nn.ModuleList() + + chan = width + for num in enc_blk_nums: + self.encoders.append( + EmbedSequential( + *[NAFBlock(chan) for _ in range(num)] + ) + ) + self.cond_encoders.append( + nn.Sequential( + *[CondNAFBlock(chan) for _ in range(num)] + ) + ) + self.downs.append( + nn.Conv2d(chan, 2*chan, 2, 2) + ) + self.cond_downs.append( + nn.Conv2d(chan, 2*chan, 2, 2) + ) + chan = chan * 2 + + self.middle_blks = \ + EmbedSequential( + *[NAFBlock(chan) for _ in range(middle_blk_num)] + ) + + for num in dec_blk_nums: + self.ups.append( + nn.Sequential( + nn.Conv2d(chan, chan * 2, 1, bias=False), + nn.PixelShuffle(2) + ) + ) + chan = chan // 2 + self.decoders.append( + EmbedSequential( + *[NAFBlock(chan) for _ in range(num)] + ) + ) + + self.padder_size = 2 ** len(self.encoders) + self.emb = partial(gamma_embedding, dim=64) + self.map = nn.Sequential( + nn.Linear(64, 256), + nn.SiLU(), + nn.Linear(256, 256), + ) + + def forward(self, inp, gammas): + t = self.map(self.emb(gammas.view(-1, ))) + inp = self.check_image_size(inp) + + x1, x2, x3, x = inp.chunk(4, dim=1) + cond = torch.stack([x1, x2, x3], dim=1) + b, n, c, h, w = cond.shape + cond = cond.view(b*n, c, h, w) + x = self.intro(x) + cond = self.cond_intro(cond) + + + encs = [] + cond_encs = [] + + for encoder, down, cond_encoder, cond_down in zip(self.encoders, self.downs, self.cond_encoders, self.cond_downs): + cond = cond_encoder(cond) + x = encoder(x, t, cond) + encs.append(x) + cond_encs.append(cond) + x = down(x) + cond = cond_down(cond) + + x = self.middle_blks(x, t, cond) + + for decoder, up, enc_skip, cond_skip in zip(self.decoders, self.ups, encs[::-1], cond_encs[::-1]): + x = up(x) + x = x + enc_skip + x = decoder(x, t, cond_skip) + + x = self.ending(x) + # x = x + self.inp_ending(inp) + + + return x + + def check_image_size(self, x): + _, _, h, w = x.size() + mod_pad_h = (self.padder_size - h % + self.padder_size) % self.padder_size + mod_pad_w = (self.padder_size - w % + self.padder_size) % self.padder_size + x = F.pad(x, (0, mod_pad_w, 0, mod_pad_h)) + return x + + +if __name__ == '__main__': + # img_channel = 5 + # width = 32 + + # # enc_blks = [2, 2, 4, 8] + # # middle_blk_num = 12 + # # dec_blks = [2, 2, 2, 2] + + # enc_blks = [1, 1, 1, 28] + # middle_blk_num = 1 + # dec_blks = [1, 1, 1, 1] + + # net = NAFNet( + # img_channel=img_channel, + # width=width, + # middle_blk_num=middle_blk_num, + # enc_blk_nums=enc_blks, + # dec_blk_nums=dec_blks, + # ) + + # inp_shape = (2, 5, 64, 64) + + # out_shape = net(torch.Tensor(*inp_shape)).shape + + # print(out_shape) + # print(UNet()) + print(UNet()(*(torch.Tensor(1, 12, 256, 256), torch.ones(1,))).shape) + from thop import profile + from thop import clever_format + net = UNet() + flops, params = profile(net, inputs=(torch.Tensor(1, 12, 256, 256), torch.ones(1,))) + flops, params = clever_format([flops, params], "%.3f") + print(params, flops) # \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/ours/nafnet_concat_no_condskip_nodrop_noparams_splitca_double_encoder_decoder_noCondFFN_middle_fusion.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/ours/nafnet_concat_no_condskip_nodrop_noparams_splitca_double_encoder_decoder_noCondFFN_middle_fusion.py new file mode 100644 index 0000000000000000000000000000000000000000..e16162a8267074b0fa080cc589a16a4b7d907a25 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/ours/nafnet_concat_no_condskip_nodrop_noparams_splitca_double_encoder_decoder_noCondFFN_middle_fusion.py @@ -0,0 +1,412 @@ +import torch +import torch.nn as nn +import torch.nn.functional as F +from functools import partial +import math +from abc import abstractmethod + +class EmbedBlock(nn.Module): + """ + Any module where forward() takes embeddings as a second argument. + """ + + @abstractmethod + def forward(self, x, emb, cond): + """ + Apply the module to `x` given `emb` embeddings. + """ + + +class EmbedSequential(nn.Sequential, EmbedBlock): + """ + A sequential module that passes embeddings to the children that + support it as an extra input. + """ + + def forward(self, x, emb, cond): + for layer in self: + if isinstance(layer, EmbedBlock): + x = layer(x, emb, cond) + else: + x = layer(x) + return x + +def gamma_embedding(gammas, dim, max_period=10000): + """ + Create sinusoidal timestep embeddings. + :param gammas: a 1-D Tensor of N indices, one per batch element. + These may be fractional. + :param dim: the dimension of the output. + :param max_period: controls the minimum frequency of the embeddings. + :return: an [N x dim] Tensor of positional embeddings. + """ + half = dim // 2 + freqs = torch.exp( + -math.log(max_period) * torch.arange(start=0, + end=half, dtype=torch.float32) / half + ).to(device=gammas.device) + args = gammas[:, None].float() * freqs[None] + embedding = torch.cat([torch.cos(args), torch.sin(args)], dim=-1) + if dim % 2: + embedding = torch.cat( + [embedding, torch.zeros_like(embedding[:, :1])], dim=-1) + return embedding + + +class LayerNormFunction(torch.autograd.Function): + + @staticmethod + def forward(ctx, x, weight, bias, eps): + ctx.eps = eps + N, C, H, W = x.size() + mu = x.mean(1, keepdim=True) + var = (x - mu).pow(2).mean(1, keepdim=True) + y = (x - mu) / (var + eps).sqrt() + ctx.save_for_backward(y, var, weight) + y = weight.view(1, C, 1, 1) * y + bias.view(1, C, 1, 1) + return y + + @staticmethod + def backward(ctx, grad_output): + eps = ctx.eps + + N, C, H, W = grad_output.size() + y, var, weight = ctx.saved_variables + g = grad_output * weight.view(1, C, 1, 1) + mean_g = g.mean(dim=1, keepdim=True) + + mean_gy = (g * y).mean(dim=1, keepdim=True) + gx = 1. / torch.sqrt(var + eps) * (g - y * mean_gy - mean_g) + return gx, (grad_output * y).sum(dim=3).sum(dim=2).sum(dim=0), grad_output.sum(dim=3).sum(dim=2).sum( + dim=0), None + + +class LayerNorm2d(nn.Module): + + def __init__(self, channels, eps=1e-6): + super(LayerNorm2d, self).__init__() + self.register_parameter('weight', nn.Parameter(torch.ones(channels))) + self.register_parameter('bias', nn.Parameter(torch.zeros(channels))) + self.eps = eps + + def forward(self, x): + return LayerNormFunction.apply(x, self.weight, self.bias, self.eps) + + +class SimpleGate(nn.Module): + def forward(self, x): + x1, x2 = x.chunk(2, dim=1) + return x1 * x2 + +class CondNAFBlock(nn.Module): + def __init__(self, c, DW_Expand=2, FFN_Expand=2, drop_out_rate=0.): + super().__init__() + dw_channel = c * DW_Expand + self.conv1 = nn.Conv2d(in_channels=c, out_channels=dw_channel, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + self.conv2 = nn.Conv2d(in_channels=dw_channel, out_channels=dw_channel, kernel_size=3, padding=1, stride=1, groups=dw_channel, + bias=True) + self.conv3 = nn.Conv2d(in_channels=dw_channel // 2, out_channels=c, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + # Simplified Channel Attention + self.sca_avg = nn.Sequential( + nn.AdaptiveAvgPool2d(1), + nn.Conv2d(in_channels=dw_channel // 4, out_channels=dw_channel // 4, kernel_size=1, padding=0, stride=1, + groups=1, bias=True), + ) + self.sca_max = nn.Sequential( + nn.AdaptiveMaxPool2d(1), + nn.Conv2d(in_channels=dw_channel // 4, out_channels=dw_channel // 4, kernel_size=1, padding=0, stride=1, + groups=1, bias=True), + ) + + # SimpleGate + self.sg = SimpleGate() + + # ffn_channel = FFN_Expand * c + # self.conv4 = nn.Conv2d(in_channels=c, out_channels=ffn_channel, + # kernel_size=1, padding=0, stride=1, groups=1, bias=True) + # self.conv5 = nn.Conv2d(in_channels=ffn_channel // 2, out_channels=c, + # kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + self.norm1 = LayerNorm2d(c) + # self.norm2 = LayerNorm2d(c) + + # self.dropout1 = nn.Dropout( + # drop_out_rate) if drop_out_rate > 0. else nn.Identity() + # self.dropout2 = nn.Dropout( + # drop_out_rate) if drop_out_rate > 0. else nn.Identity() + + # self.beta = nn.Parameter(torch.zeros((1, c, 1, 1)), requires_grad=True) + # self.gamma = nn.Parameter(torch.zeros( + # (1, c, 1, 1)), requires_grad=True) + + def forward(self, inp): + x = inp + + x = self.norm1(x) + + x = self.conv1(x) + x = self.conv2(x) + x = self.sg(x) + x_avg, x_max = x.chunk(2, dim=1) + x_avg = self.sca_avg(x_avg)*x_avg + x_max = self.sca_max(x_max)*x_max + x = torch.cat([x_avg, x_max], dim=1) + x = self.conv3(x) + + # x = self.dropout1(x) + + # y = inp + x * self.beta + y = inp+x + + # x = self.conv4(self.norm2(y)) + # x = self.sg(x) + # x = self.conv5(x) + + # x = self.dropout2(x) + + # return y + x * self.gamma + return y + +class NAFBlock(EmbedBlock): + def __init__(self, c, DW_Expand=2, FFN_Expand=2, drop_out_rate=0.): + super().__init__() + dw_channel = c * DW_Expand + self.conv1 = nn.Conv2d(in_channels=c, out_channels=dw_channel, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + self.conv2 = nn.Conv2d(in_channels=dw_channel, out_channels=dw_channel, kernel_size=3, padding=1, stride=1, groups=dw_channel, + bias=True) + self.conv3 = nn.Conv2d(in_channels=dw_channel // 2, out_channels=c, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + # Simplified Channel Attention + self.sca_avg = nn.Sequential( + nn.AdaptiveAvgPool2d(1), + nn.Conv2d(in_channels=dw_channel // 4, out_channels=dw_channel // 4, kernel_size=1, padding=0, stride=1, + groups=1, bias=True), + ) + self.sca_max = nn.Sequential( + nn.AdaptiveMaxPool2d(1), + nn.Conv2d(in_channels=dw_channel // 4, out_channels=dw_channel // 4, kernel_size=1, padding=0, stride=1, + groups=1, bias=True), + ) + + # SimpleGate + self.sg = SimpleGate() + + ffn_channel = FFN_Expand * c + self.conv4 = nn.Conv2d(in_channels=c, out_channels=ffn_channel, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + self.conv5 = nn.Conv2d(in_channels=ffn_channel // 2, out_channels=c, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + self.norm1 = LayerNorm2d(c) + self.norm2 = LayerNorm2d(c) + + # self.dropout1 = nn.Dropout( + # drop_out_rate) if drop_out_rate > 0. else nn.Identity() + # self.dropout2 = nn.Dropout( + # drop_out_rate) if drop_out_rate > 0. else nn.Identity() + + # self.beta = nn.Parameter(torch.zeros((1, c, 1, 1)), requires_grad=True) + # self.gamma = nn.Parameter(torch.zeros( + # (1, c, 1, 1)), requires_grad=True) + self.time_emb = nn.Sequential( + nn.SiLU(), + nn.Linear(256, c), + ) + + def forward(self, inp, t, cond): + x = inp + + x = self.norm1(x) + + x = self.conv1(x) + x = self.conv2(x) + x = self.sg(x) + x_avg, x_max = x.chunk(2, dim=1) + x_avg = self.sca_avg(x_avg)*x_avg + x_max = self.sca_max(x_max)*x_max + x = torch.cat([x_avg, x_max], dim=1) + x = self.conv3(x) + + # x = self.dropout1(x) + + # y = inp + x * self.beta + y = inp + x + + b, c, h, w = cond.shape + tmp_cond = cond.view(b//3, 3, c, h, w).sum(dim=1) + y = y+self.time_emb(t)[..., None, None]+tmp_cond + + x = self.conv4(self.norm2(y)) + x = self.sg(x) + x = self.conv5(x) + + # x = self.dropout2(x) + + # return y + x * self.gamma + return y+x + + +class UNet(nn.Module): + + def __init__( + self, + img_channel=3, + width=64, + middle_blk_num=1, + enc_blk_nums=[1, 1, 1, 1], + dec_blk_nums=[1, 1, 1, 1], + ): + super().__init__() + + self.intro = nn.Conv2d(in_channels=img_channel, out_channels=width, kernel_size=3, padding=1, stride=1, groups=1, + bias=True) + self.cond_intro = nn.Conv2d(in_channels=img_channel, out_channels=width, kernel_size=3, padding=1, stride=1, groups=1, + bias=True) + self.ending = nn.Conv2d(in_channels=width, out_channels=3, kernel_size=3, padding=1, stride=1, groups=1, + bias=True) + # self.inp_ending = nn.Conv2d(in_channels=img_channel, out_channels=3, kernel_size=3, padding=1, stride=1, groups=1, + # bias=True) + + self.encoders = nn.ModuleList() + self.cond_encoders = nn.ModuleList() + + self.decoders = nn.ModuleList() + + self.middle_blks = nn.ModuleList() + + self.ups = nn.ModuleList() + + self.downs = nn.ModuleList() + self.cond_downs = nn.ModuleList() + + chan = width + for num in enc_blk_nums: + self.encoders.append( + EmbedSequential( + *[NAFBlock(chan) for _ in range(num)] + ) + ) + self.cond_encoders.append( + nn.Sequential( + *[CondNAFBlock(chan) for _ in range(num)] + ) + ) + self.downs.append( + nn.Conv2d(chan, 2*chan, 2, 2) + ) + self.cond_downs.append( + nn.Conv2d(chan, 2*chan, 2, 2) + ) + chan = chan * 2 + + self.middle_blks = \ + EmbedSequential( + *[NAFBlock(chan) for _ in range(middle_blk_num)] + ) + + for num in dec_blk_nums: + self.ups.append( + nn.Sequential( + nn.Conv2d(chan, chan * 2, 1, bias=False), + nn.PixelShuffle(2) + ) + ) + chan = chan // 2 + self.decoders.append( + EmbedSequential( + *[NAFBlock(chan) for _ in range(num)] + ) + ) + + self.padder_size = 2 ** len(self.encoders) + self.emb = partial(gamma_embedding, dim=64) + self.map = nn.Sequential( + nn.Linear(64, 256), + nn.SiLU(), + nn.Linear(256, 256), + ) + + def forward(self, inp, gammas): + t = self.map(self.emb(gammas.view(-1, ))) + inp = self.check_image_size(inp) + + x1, x2, x3, x = inp.chunk(4, dim=1) + cond = torch.stack([x1, x2, x3], dim=1) + b, n, c, h, w = cond.shape + cond = cond.view(b*n, c, h, w) + x = self.intro(x) + cond = self.cond_intro(cond) + + + encs = [] + cond_encs = [] + + for encoder, down, cond_encoder, cond_down in zip(self.encoders, self.downs, self.cond_encoders, self.cond_downs): + cond = cond_encoder(cond) + x = encoder(x, t, cond) + encs.append(x) + cond_encs.append(cond) + x = down(x) + cond = cond_down(cond) + + x = self.middle_blks(x, t, cond) + + for decoder, up, enc_skip, cond_skip in zip(self.decoders, self.ups, encs[::-1], cond_encs[::-1]): + x = up(x) + x = x + enc_skip + x = decoder(x, t, cond_skip) + + x = self.ending(x) + # x = x + self.inp_ending(inp) + + + return x + + def check_image_size(self, x): + _, _, h, w = x.size() + mod_pad_h = (self.padder_size - h % + self.padder_size) % self.padder_size + mod_pad_w = (self.padder_size - w % + self.padder_size) % self.padder_size + x = F.pad(x, (0, mod_pad_w, 0, mod_pad_h)) + return x + + +if __name__ == '__main__': + # img_channel = 5 + # width = 32 + + # # enc_blks = [2, 2, 4, 8] + # # middle_blk_num = 12 + # # dec_blks = [2, 2, 2, 2] + + # enc_blks = [1, 1, 1, 28] + # middle_blk_num = 1 + # dec_blks = [1, 1, 1, 1] + + # net = NAFNet( + # img_channel=img_channel, + # width=width, + # middle_blk_num=middle_blk_num, + # enc_blk_nums=enc_blks, + # dec_blk_nums=dec_blks, + # ) + + # inp_shape = (2, 5, 64, 64) + + # out_shape = net(torch.Tensor(*inp_shape)).shape + + # print(out_shape) + # print(UNet()) + print(UNet()(*(torch.Tensor(1, 12, 256, 256), torch.ones(1,))).shape) + from thop import profile + from thop import clever_format + net = UNet() + flops, params = profile(net, inputs=(torch.Tensor(1, 12, 256, 256), torch.ones(1,))) + flops, params = clever_format([flops, params], "%.3f") + print(params, flops) # \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/ours/nafnet_double.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/ours/nafnet_double.py new file mode 100644 index 0000000000000000000000000000000000000000..3910f1e9fac0205e5defac4963791430b23a3ba4 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/ours/nafnet_double.py @@ -0,0 +1,422 @@ +import torch +import torch.nn as nn +import torch.nn.functional as F +from functools import partial +import math +from abc import abstractmethod + +class EmbedBlock(nn.Module): + """ + Any module where forward() takes embeddings as a second argument. + """ + + @abstractmethod + def forward(self, x, emb): + """ + Apply the module to `x` given `emb` embeddings. + """ + + +class EmbedSequential(nn.Sequential, EmbedBlock): + """ + A sequential module that passes embeddings to the children that + support it as an extra input. + """ + + def forward(self, x, emb): + for layer in self: + if isinstance(layer, EmbedBlock): + x = layer(x, emb) + else: + x = layer(x) + return x + +def gamma_embedding(gammas, dim, max_period=10000): + """ + Create sinusoidal timestep embeddings. + :param gammas: a 1-D Tensor of N indices, one per batch element. + These may be fractional. + :param dim: the dimension of the output. + :param max_period: controls the minimum frequency of the embeddings. + :return: an [N x dim] Tensor of positional embeddings. + """ + half = dim // 2 + freqs = torch.exp( + -math.log(max_period) * torch.arange(start=0, + end=half, dtype=torch.float32) / half + ).to(device=gammas.device) + args = gammas[:, None].float() * freqs[None] + embedding = torch.cat([torch.cos(args), torch.sin(args)], dim=-1) + if dim % 2: + embedding = torch.cat( + [embedding, torch.zeros_like(embedding[:, :1])], dim=-1) + return embedding + + +class LayerNormFunction(torch.autograd.Function): + + @staticmethod + def forward(ctx, x, weight, bias, eps): + ctx.eps = eps + N, C, H, W = x.size() + mu = x.mean(1, keepdim=True) + var = (x - mu).pow(2).mean(1, keepdim=True) + y = (x - mu) / (var + eps).sqrt() + ctx.save_for_backward(y, var, weight) + y = weight.view(1, C, 1, 1) * y + bias.view(1, C, 1, 1) + return y + + @staticmethod + def backward(ctx, grad_output): + eps = ctx.eps + + N, C, H, W = grad_output.size() + y, var, weight = ctx.saved_variables + g = grad_output * weight.view(1, C, 1, 1) + mean_g = g.mean(dim=1, keepdim=True) + + mean_gy = (g * y).mean(dim=1, keepdim=True) + gx = 1. / torch.sqrt(var + eps) * (g - y * mean_gy - mean_g) + return gx, (grad_output * y).sum(dim=3).sum(dim=2).sum(dim=0), grad_output.sum(dim=3).sum(dim=2).sum( + dim=0), None + + +class LayerNorm2d(nn.Module): + + def __init__(self, channels, eps=1e-6): + super(LayerNorm2d, self).__init__() + self.register_parameter('weight', nn.Parameter(torch.ones(channels))) + self.register_parameter('bias', nn.Parameter(torch.zeros(channels))) + self.eps = eps + + def forward(self, x): + return LayerNormFunction.apply(x, self.weight, self.bias, self.eps) + + +class SimpleGate(nn.Module): + def forward(self, x): + x1, x2 = x.chunk(2, dim=1) + return x1 * x2 + +class CondNAFBlock(nn.Module): + def __init__(self, c, DW_Expand=2, FFN_Expand=2, drop_out_rate=0.): + super().__init__() + dw_channel = c * DW_Expand + self.conv1 = nn.Conv2d(in_channels=c, out_channels=dw_channel, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + self.conv2 = nn.Conv2d(in_channels=dw_channel, out_channels=dw_channel, kernel_size=3, padding=1, stride=1, groups=dw_channel, + bias=True) + self.conv3 = nn.Conv2d(in_channels=dw_channel // 2, out_channels=c, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + # Simplified Channel Attention + self.sca = nn.Sequential( + nn.AdaptiveAvgPool2d(1), + nn.Conv2d(in_channels=dw_channel // 2, out_channels=dw_channel // 2, kernel_size=1, padding=0, stride=1, + groups=1, bias=True), + ) + + # SimpleGate + self.sg = SimpleGate() + + ffn_channel = FFN_Expand * c + self.conv4 = nn.Conv2d(in_channels=c, out_channels=ffn_channel, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + self.conv5 = nn.Conv2d(in_channels=ffn_channel // 2, out_channels=c, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + self.norm1 = LayerNorm2d(c) + self.norm2 = LayerNorm2d(c) + + self.dropout1 = nn.Dropout( + drop_out_rate) if drop_out_rate > 0. else nn.Identity() + self.dropout2 = nn.Dropout( + drop_out_rate) if drop_out_rate > 0. else nn.Identity() + + self.beta = nn.Parameter(torch.zeros((1, c, 1, 1)), requires_grad=True) + self.gamma = nn.Parameter(torch.zeros( + (1, c, 1, 1)), requires_grad=True) + + def forward(self, inp): + x = inp + + x = self.norm1(x) + + x = self.conv1(x) + x = self.conv2(x) + x = self.sg(x) + x = x * self.sca(x) + x = self.conv3(x) + + x = self.dropout1(x) + + y = inp + x * self.beta + + x = self.conv4(self.norm2(y)) + x = self.sg(x) + x = self.conv5(x) + + x = self.dropout2(x) + + return y + x * self.gamma + +class NAFBlock(EmbedBlock): + def __init__(self, c, DW_Expand=2, FFN_Expand=2, drop_out_rate=0.): + super().__init__() + dw_channel = c * DW_Expand + self.conv1 = nn.Conv2d(in_channels=c, out_channels=dw_channel, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + self.conv2 = nn.Conv2d(in_channels=dw_channel, out_channels=dw_channel, kernel_size=3, padding=1, stride=1, groups=dw_channel, + bias=True) + self.conv3 = nn.Conv2d(in_channels=dw_channel // 2, out_channels=c, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + # Simplified Channel Attention + self.sca = nn.Sequential( + nn.AdaptiveAvgPool2d(1), + nn.Conv2d(in_channels=dw_channel // 2, out_channels=dw_channel // 2, kernel_size=1, padding=0, stride=1, + groups=1, bias=True), + ) + + # SimpleGate + self.sg = SimpleGate() + + ffn_channel = FFN_Expand * c + self.conv4 = nn.Conv2d(in_channels=c, out_channels=ffn_channel, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + self.conv5 = nn.Conv2d(in_channels=ffn_channel // 2, out_channels=c, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + self.norm1 = LayerNorm2d(c) + self.norm2 = LayerNorm2d(c) + + self.dropout1 = nn.Dropout( + drop_out_rate) if drop_out_rate > 0. else nn.Identity() + self.dropout2 = nn.Dropout( + drop_out_rate) if drop_out_rate > 0. else nn.Identity() + + self.beta = nn.Parameter(torch.zeros((1, c, 1, 1)), requires_grad=True) + self.gamma = nn.Parameter(torch.zeros( + (1, c, 1, 1)), requires_grad=True) + self.time_emb = nn.Sequential( + nn.SiLU(), + nn.Linear(256, c), + ) + + def forward(self, inp, t): + x = inp + + x = self.norm1(x) + + x = self.conv1(x) + x = self.conv2(x) + x = self.sg(x) + x = x * self.sca(x) + x = self.conv3(x) + + x = self.dropout1(x) + + y = inp + x * self.beta + + y = y+self.time_emb(t)[..., None, None] + + x = self.conv4(self.norm2(y)) + x = self.sg(x) + x = self.conv5(x) + + x = self.dropout2(x) + + return y + x * self.gamma + + +class UNet(nn.Module): + + def __init__( + self, + img_channel=3, + width=64, + middle_blk_num=1, + enc_blk_nums=[1, 1, 1, 1], + dec_blk_nums=[1, 1, 1, 1], + ): + super().__init__() + + self.intro = nn.Conv2d(in_channels=img_channel, out_channels=width, kernel_size=3, padding=1, stride=1, groups=1, + bias=True) + self.cond_intro = nn.Conv2d(in_channels=img_channel, out_channels=width, kernel_size=3, padding=1, stride=1, groups=1, + bias=True) + self.ending = nn.Conv2d(in_channels=width, out_channels=3, kernel_size=3, padding=1, stride=1, groups=1, + bias=True) + self.cond_ending = nn.Conv2d(in_channels=width, out_channels=3, kernel_size=3, padding=1, stride=1, groups=1, + bias=True) + # self.inp_ending = nn.Conv2d(in_channels=img_channel, out_channels=3, kernel_size=3, padding=1, stride=1, groups=1, + # bias=True) + + self.encoders = nn.ModuleList() + self.cond_encoders = nn.ModuleList() + + self.decoders = nn.ModuleList() + self.cond_decoders = nn.ModuleList() + + self.middle_blks = nn.ModuleList() + self.cond_middle_blks = nn.ModuleList() + + self.ups = nn.ModuleList() + self.cond_ups = nn.ModuleList() + + self.downs = nn.ModuleList() + self.cond_downs = nn.ModuleList() + + chan = width + for num in enc_blk_nums: + self.encoders.append( + EmbedSequential( + *[NAFBlock(chan) for _ in range(num)] + ) + ) + self.cond_encoders.append( + nn.Sequential( + *[CondNAFBlock(chan) for _ in range(num)] + ) + ) + self.downs.append( + nn.Conv2d(chan, 2*chan, 2, 2) + ) + self.cond_downs.append( + nn.Conv2d(chan, 2*chan, 2, 2) + ) + chan = chan * 2 + + self.middle_blks = \ + EmbedSequential( + *[NAFBlock(chan) for _ in range(middle_blk_num)] + ) + self.cond_middle_blks = \ + nn.Sequential( + *[CondNAFBlock(chan) for _ in range(middle_blk_num)] + ) + + for num in dec_blk_nums: + self.ups.append( + nn.Sequential( + nn.Conv2d(chan, chan * 2, 1, bias=False), + nn.PixelShuffle(2) + ) + ) + self.cond_ups.append( + nn.Sequential( + nn.Conv2d(chan, chan * 2, 1, bias=False), + nn.PixelShuffle(2) + ) + ) + chan = chan // 2 + self.decoders.append( + EmbedSequential( + *[NAFBlock(chan) for _ in range(num)] + ) + ) + self.cond_decoders.append( + nn.Sequential( + *[CondNAFBlock(chan) for _ in range(num)] + ) + ) + + self.padder_size = 2 ** len(self.encoders) + self.emb = partial(gamma_embedding, dim=64) + self.map = nn.Sequential( + nn.Linear(64, 256), + nn.SiLU(), + nn.Linear(256, 256), + ) + + def forward(self, inp, gammas): + t = self.map(self.emb(gammas.view(-1, ))) + inp = self.check_image_size(inp) + + x1, x2, x3, x = inp.chunk(4, dim=1) + cond = torch.stack([x1, x2, x3], dim=1) + b, n, c, h, w = cond.shape + cond = cond.view(b*n, c, h, w) + x = self.intro(x) + cond = self.cond_intro(cond) + + + encs = [] + cond_encs = [] + + for encoder, down, cond_encoder, cond_down in zip(self.encoders, self.downs, self.cond_encoders, self.cond_downs): + x = encoder(x, t) + cond = cond_encoder(cond) + b, c, h, w = cond.shape + tmp_cond = cond.view(b//3, 3, c, h, w).sum(dim=1) + x = x + tmp_cond + encs.append(x) + cond_encs.append(cond) + x = down(x) + cond = cond_down(cond) + + x = self.middle_blks(x, t) + cond = self.cond_middle_blks(cond) + + for decoder, up, enc_skip, cond_encoder, cond_up, cond_enc_skip in zip(self.decoders, self.ups, encs[::-1], self.cond_decoders, self.cond_ups, cond_encs[::-1]): + x = up(x) + cond = cond_up(cond) + x = x + enc_skip + cond = cond + cond_enc_skip + x = decoder(x, t) + cond = cond_encoder(cond) + b, c, h, w = cond.shape + tmp_cond = cond.view(b//3, 3, c, h, w).sum(dim=1) + x = x + tmp_cond + + x = self.ending(x) + cond = self.cond_ending(cond) + # x = x + self.inp_ending(inp) + b, c, h, w = cond.shape + tmp_cond = cond.view(b//3, 3, c, h, w).sum(dim=1) + + return x+tmp_cond + + def check_image_size(self, x): + _, _, h, w = x.size() + mod_pad_h = (self.padder_size - h % + self.padder_size) % self.padder_size + mod_pad_w = (self.padder_size - w % + self.padder_size) % self.padder_size + x = F.pad(x, (0, mod_pad_w, 0, mod_pad_h)) + return x + + +if __name__ == '__main__': + # img_channel = 5 + # width = 32 + + # # enc_blks = [2, 2, 4, 8] + # # middle_blk_num = 12 + # # dec_blks = [2, 2, 2, 2] + + # enc_blks = [1, 1, 1, 28] + # middle_blk_num = 1 + # dec_blks = [1, 1, 1, 1] + + # net = NAFNet( + # img_channel=img_channel, + # width=width, + # middle_blk_num=middle_blk_num, + # enc_blk_nums=enc_blks, + # dec_blk_nums=dec_blks, + # ) + + # inp_shape = (2, 5, 64, 64) + + # out_shape = net(torch.Tensor(*inp_shape)).shape + + # print(out_shape) + # print(UNet()) + print(UNet()(*(torch.Tensor(2, 12, 256, 256), torch.ones(2,))).shape) + from thop import profile + from thop import clever_format + net = UNet() + flops, params = profile(net, inputs=(torch.Tensor(2, 12, 256, 256), torch.ones(2,))) + flops, params = clever_format([flops, params], "%.3f") + print(flops, params) # 154.582G 36.579M \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/ours/nafnet_double_encoder.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/ours/nafnet_double_encoder.py new file mode 100644 index 0000000000000000000000000000000000000000..4f55bf00fad702a70456241998e936bf67ca2225 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/ours/nafnet_double_encoder.py @@ -0,0 +1,391 @@ +import torch +import torch.nn as nn +import torch.nn.functional as F +from functools import partial +import math +from abc import abstractmethod + +class EmbedBlock(nn.Module): + """ + Any module where forward() takes embeddings as a second argument. + """ + + @abstractmethod + def forward(self, x, emb): + """ + Apply the module to `x` given `emb` embeddings. + """ + + +class EmbedSequential(nn.Sequential, EmbedBlock): + """ + A sequential module that passes embeddings to the children that + support it as an extra input. + """ + + def forward(self, x, emb): + for layer in self: + if isinstance(layer, EmbedBlock): + x = layer(x, emb) + else: + x = layer(x) + return x + +def gamma_embedding(gammas, dim, max_period=10000): + """ + Create sinusoidal timestep embeddings. + :param gammas: a 1-D Tensor of N indices, one per batch element. + These may be fractional. + :param dim: the dimension of the output. + :param max_period: controls the minimum frequency of the embeddings. + :return: an [N x dim] Tensor of positional embeddings. + """ + half = dim // 2 + freqs = torch.exp( + -math.log(max_period) * torch.arange(start=0, + end=half, dtype=torch.float32) / half + ).to(device=gammas.device) + args = gammas[:, None].float() * freqs[None] + embedding = torch.cat([torch.cos(args), torch.sin(args)], dim=-1) + if dim % 2: + embedding = torch.cat( + [embedding, torch.zeros_like(embedding[:, :1])], dim=-1) + return embedding + + +class LayerNormFunction(torch.autograd.Function): + + @staticmethod + def forward(ctx, x, weight, bias, eps): + ctx.eps = eps + N, C, H, W = x.size() + mu = x.mean(1, keepdim=True) + var = (x - mu).pow(2).mean(1, keepdim=True) + y = (x - mu) / (var + eps).sqrt() + ctx.save_for_backward(y, var, weight) + y = weight.view(1, C, 1, 1) * y + bias.view(1, C, 1, 1) + return y + + @staticmethod + def backward(ctx, grad_output): + eps = ctx.eps + + N, C, H, W = grad_output.size() + y, var, weight = ctx.saved_variables + g = grad_output * weight.view(1, C, 1, 1) + mean_g = g.mean(dim=1, keepdim=True) + + mean_gy = (g * y).mean(dim=1, keepdim=True) + gx = 1. / torch.sqrt(var + eps) * (g - y * mean_gy - mean_g) + return gx, (grad_output * y).sum(dim=3).sum(dim=2).sum(dim=0), grad_output.sum(dim=3).sum(dim=2).sum( + dim=0), None + + +class LayerNorm2d(nn.Module): + + def __init__(self, channels, eps=1e-6): + super(LayerNorm2d, self).__init__() + self.register_parameter('weight', nn.Parameter(torch.ones(channels))) + self.register_parameter('bias', nn.Parameter(torch.zeros(channels))) + self.eps = eps + + def forward(self, x): + return LayerNormFunction.apply(x, self.weight, self.bias, self.eps) + + +class SimpleGate(nn.Module): + def forward(self, x): + x1, x2 = x.chunk(2, dim=1) + return x1 * x2 + +class CondNAFBlock(nn.Module): + def __init__(self, c, DW_Expand=2, FFN_Expand=2, drop_out_rate=0.): + super().__init__() + dw_channel = c * DW_Expand + self.conv1 = nn.Conv2d(in_channels=c, out_channels=dw_channel, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + self.conv2 = nn.Conv2d(in_channels=dw_channel, out_channels=dw_channel, kernel_size=3, padding=1, stride=1, groups=dw_channel, + bias=True) + self.conv3 = nn.Conv2d(in_channels=dw_channel // 2, out_channels=c, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + # Simplified Channel Attention + self.sca = nn.Sequential( + nn.AdaptiveAvgPool2d(1), + nn.Conv2d(in_channels=dw_channel // 2, out_channels=dw_channel // 2, kernel_size=1, padding=0, stride=1, + groups=1, bias=True), + ) + + # SimpleGate + self.sg = SimpleGate() + + ffn_channel = FFN_Expand * c + self.conv4 = nn.Conv2d(in_channels=c, out_channels=ffn_channel, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + self.conv5 = nn.Conv2d(in_channels=ffn_channel // 2, out_channels=c, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + self.norm1 = LayerNorm2d(c) + self.norm2 = LayerNorm2d(c) + + self.dropout1 = nn.Dropout( + drop_out_rate) if drop_out_rate > 0. else nn.Identity() + self.dropout2 = nn.Dropout( + drop_out_rate) if drop_out_rate > 0. else nn.Identity() + + self.beta = nn.Parameter(torch.zeros((1, c, 1, 1)), requires_grad=True) + self.gamma = nn.Parameter(torch.zeros( + (1, c, 1, 1)), requires_grad=True) + + def forward(self, inp): + x = inp + + x = self.norm1(x) + + x = self.conv1(x) + x = self.conv2(x) + x = self.sg(x) + x = x * self.sca(x) + x = self.conv3(x) + + x = self.dropout1(x) + + y = inp + x * self.beta + + x = self.conv4(self.norm2(y)) + x = self.sg(x) + x = self.conv5(x) + + x = self.dropout2(x) + + return y + x * self.gamma + +class NAFBlock(EmbedBlock): + def __init__(self, c, DW_Expand=2, FFN_Expand=2, drop_out_rate=0.): + super().__init__() + dw_channel = c * DW_Expand + self.conv1 = nn.Conv2d(in_channels=c, out_channels=dw_channel, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + self.conv2 = nn.Conv2d(in_channels=dw_channel, out_channels=dw_channel, kernel_size=3, padding=1, stride=1, groups=dw_channel, + bias=True) + self.conv3 = nn.Conv2d(in_channels=dw_channel // 2, out_channels=c, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + # Simplified Channel Attention + self.sca = nn.Sequential( + nn.AdaptiveAvgPool2d(1), + nn.Conv2d(in_channels=dw_channel // 2, out_channels=dw_channel // 2, kernel_size=1, padding=0, stride=1, + groups=1, bias=True), + ) + + # SimpleGate + self.sg = SimpleGate() + + ffn_channel = FFN_Expand * c + self.conv4 = nn.Conv2d(in_channels=c, out_channels=ffn_channel, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + self.conv5 = nn.Conv2d(in_channels=ffn_channel // 2, out_channels=c, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + self.norm1 = LayerNorm2d(c) + self.norm2 = LayerNorm2d(c) + + self.dropout1 = nn.Dropout( + drop_out_rate) if drop_out_rate > 0. else nn.Identity() + self.dropout2 = nn.Dropout( + drop_out_rate) if drop_out_rate > 0. else nn.Identity() + + self.beta = nn.Parameter(torch.zeros((1, c, 1, 1)), requires_grad=True) + self.gamma = nn.Parameter(torch.zeros( + (1, c, 1, 1)), requires_grad=True) + self.time_emb = nn.Sequential( + nn.SiLU(), + nn.Linear(256, c), + ) + + def forward(self, inp, t): + x = inp + + x = self.norm1(x) + + x = self.conv1(x) + x = self.conv2(x) + x = self.sg(x) + x = x * self.sca(x) + x = self.conv3(x) + + x = self.dropout1(x) + + y = inp + x * self.beta + + y = y+self.time_emb(t)[..., None, None] + + x = self.conv4(self.norm2(y)) + x = self.sg(x) + x = self.conv5(x) + + x = self.dropout2(x) + + return y + x * self.gamma + + +class UNet(nn.Module): + + def __init__( + self, + img_channel=3, + width=64, + middle_blk_num=1, + enc_blk_nums=[1, 1, 1, 1], + dec_blk_nums=[1, 1, 1, 1], + ): + super().__init__() + + self.intro = nn.Conv2d(in_channels=img_channel, out_channels=width, kernel_size=3, padding=1, stride=1, groups=1, + bias=True) + self.cond_intro = nn.Conv2d(in_channels=img_channel, out_channels=width, kernel_size=3, padding=1, stride=1, groups=1, + bias=True) + self.ending = nn.Conv2d(in_channels=width, out_channels=3, kernel_size=3, padding=1, stride=1, groups=1, + bias=True) + # self.inp_ending = nn.Conv2d(in_channels=img_channel, out_channels=3, kernel_size=3, padding=1, stride=1, groups=1, + # bias=True) + + self.encoders = nn.ModuleList() + self.cond_encoders = nn.ModuleList() + + self.decoders = nn.ModuleList() + + self.middle_blks = nn.ModuleList() + + self.ups = nn.ModuleList() + + self.downs = nn.ModuleList() + self.cond_downs = nn.ModuleList() + + chan = width + for num in enc_blk_nums: + self.encoders.append( + EmbedSequential( + *[NAFBlock(chan) for _ in range(num)] + ) + ) + self.cond_encoders.append( + nn.Sequential( + *[CondNAFBlock(chan) for _ in range(num)] + ) + ) + self.downs.append( + nn.Conv2d(chan, 2*chan, 2, 2) + ) + self.cond_downs.append( + nn.Conv2d(chan, 2*chan, 2, 2) + ) + chan = chan * 2 + + self.middle_blks = \ + EmbedSequential( + *[NAFBlock(chan) for _ in range(middle_blk_num)] + ) + + for num in dec_blk_nums: + self.ups.append( + nn.Sequential( + nn.Conv2d(chan, chan * 2, 1, bias=False), + nn.PixelShuffle(2) + ) + ) + chan = chan // 2 + self.decoders.append( + EmbedSequential( + *[NAFBlock(chan) for _ in range(num)] + ) + ) + + self.padder_size = 2 ** len(self.encoders) + self.emb = partial(gamma_embedding, dim=64) + self.map = nn.Sequential( + nn.Linear(64, 256), + nn.SiLU(), + nn.Linear(256, 256), + ) + + def forward(self, inp, gammas): + t = self.map(self.emb(gammas.view(-1, ))) + inp = self.check_image_size(inp) + + x1, x2, x3, x = inp.chunk(4, dim=1) + cond = torch.stack([x1, x2, x3], dim=1) + b, n, c, h, w = cond.shape + cond = cond.view(b*n, c, h, w) + x = self.intro(x) + cond = self.cond_intro(cond) + + + encs = [] + + for encoder, down, cond_encoder, cond_down in zip(self.encoders, self.downs, self.cond_encoders, self.cond_downs): + x = encoder(x, t) + cond = cond_encoder(cond) + b, c, h, w = cond.shape + tmp_cond = cond.view(b//3, 3, c, h, w).sum(dim=1) + x = x + tmp_cond + encs.append(x) + x = down(x) + cond = cond_down(cond) + + x = self.middle_blks(x, t) + + for decoder, up, enc_skip in zip(self.decoders, self.ups, encs[::-1]): + x = up(x) + x = x + enc_skip + x = decoder(x, t) + + x = self.ending(x) + # x = x + self.inp_ending(inp) + + + return x + + def check_image_size(self, x): + _, _, h, w = x.size() + mod_pad_h = (self.padder_size - h % + self.padder_size) % self.padder_size + mod_pad_w = (self.padder_size - w % + self.padder_size) % self.padder_size + x = F.pad(x, (0, mod_pad_w, 0, mod_pad_h)) + return x + + +if __name__ == '__main__': + # img_channel = 5 + # width = 32 + + # # enc_blks = [2, 2, 4, 8] + # # middle_blk_num = 12 + # # dec_blks = [2, 2, 2, 2] + + # enc_blks = [1, 1, 1, 28] + # middle_blk_num = 1 + # dec_blks = [1, 1, 1, 1] + + # net = NAFNet( + # img_channel=img_channel, + # width=width, + # middle_blk_num=middle_blk_num, + # enc_blk_nums=enc_blks, + # dec_blk_nums=dec_blks, + # ) + + # inp_shape = (2, 5, 64, 64) + + # out_shape = net(torch.Tensor(*inp_shape)).shape + + # print(out_shape) + # print(UNet()) + print(UNet()(*(torch.Tensor(2, 12, 256, 256), torch.ones(2,))).shape) + from thop import profile + from thop import clever_format + net = UNet() + flops, params = profile(net, inputs=(torch.Tensor(2, 12, 256, 256), torch.ones(2,))) + flops, params = clever_format([flops, params], "%.3f") + print(flops, params) # 154.582G 36.579M \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/ours/nafnet_double_encoder_splitcaCond.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/ours/nafnet_double_encoder_splitcaCond.py new file mode 100644 index 0000000000000000000000000000000000000000..45e6ca9039d60aabc43468d51a15b4babde5276d --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/ours/nafnet_double_encoder_splitcaCond.py @@ -0,0 +1,418 @@ +import torch +import torch.nn as nn +import torch.nn.functional as F +from functools import partial +import math +from abc import abstractmethod + +class EmbedBlock(nn.Module): + """ + Any module where forward() takes embeddings as a second argument. + """ + + @abstractmethod + def forward(self, x, emb): + """ + Apply the module to `x` given `emb` embeddings. + """ + + +class EmbedSequential(nn.Sequential, EmbedBlock): + """ + A sequential module that passes embeddings to the children that + support it as an extra input. + """ + + def forward(self, x, emb): + for layer in self: + if isinstance(layer, EmbedBlock): + x = layer(x, emb) + else: + x = layer(x) + return x + +def gamma_embedding(gammas, dim, max_period=10000): + """ + Create sinusoidal timestep embeddings. + :param gammas: a 1-D Tensor of N indices, one per batch element. + These may be fractional. + :param dim: the dimension of the output. + :param max_period: controls the minimum frequency of the embeddings. + :return: an [N x dim] Tensor of positional embeddings. + """ + half = dim // 2 + freqs = torch.exp( + -math.log(max_period) * torch.arange(start=0, + end=half, dtype=torch.float32) / half + ).to(device=gammas.device) + args = gammas[:, None].float() * freqs[None] + embedding = torch.cat([torch.cos(args), torch.sin(args)], dim=-1) + if dim % 2: + embedding = torch.cat( + [embedding, torch.zeros_like(embedding[:, :1])], dim=-1) + return embedding + + +class LayerNormFunction(torch.autograd.Function): + + @staticmethod + def forward(ctx, x, weight, bias, eps): + ctx.eps = eps + N, C, H, W = x.size() + mu = x.mean(1, keepdim=True) + var = (x - mu).pow(2).mean(1, keepdim=True) + y = (x - mu) / (var + eps).sqrt() + ctx.save_for_backward(y, var, weight) + y = weight.view(1, C, 1, 1) * y + bias.view(1, C, 1, 1) + return y + + @staticmethod + def backward(ctx, grad_output): + eps = ctx.eps + + N, C, H, W = grad_output.size() + y, var, weight = ctx.saved_variables + g = grad_output * weight.view(1, C, 1, 1) + mean_g = g.mean(dim=1, keepdim=True) + + mean_gy = (g * y).mean(dim=1, keepdim=True) + gx = 1. / torch.sqrt(var + eps) * (g - y * mean_gy - mean_g) + return gx, (grad_output * y).sum(dim=3).sum(dim=2).sum(dim=0), grad_output.sum(dim=3).sum(dim=2).sum( + dim=0), None + + +class LayerNorm2d(nn.Module): + + def __init__(self, channels, eps=1e-6): + super(LayerNorm2d, self).__init__() + self.register_parameter('weight', nn.Parameter(torch.ones(channels))) + self.register_parameter('bias', nn.Parameter(torch.zeros(channels))) + self.eps = eps + + def forward(self, x): + return LayerNormFunction.apply(x, self.weight, self.bias, self.eps) + + +class SimpleGate(nn.Module): + def forward(self, x): + x1, x2 = x.chunk(2, dim=1) + return x1 * x2 + +class CondNAFBlock(nn.Module): + def __init__(self, c, DW_Expand=2, FFN_Expand=2, drop_out_rate=0.): + super().__init__() + dw_channel = c * DW_Expand + self.conv1 = nn.Conv2d(in_channels=c, out_channels=dw_channel, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + self.conv2 = nn.Conv2d(in_channels=dw_channel, out_channels=dw_channel, kernel_size=3, padding=1, stride=1, groups=dw_channel, + bias=True) + self.conv3 = nn.Conv2d(in_channels=dw_channel // 2, out_channels=c, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + # Simplified Channel Attention + # self.sca = nn.Sequential( + # nn.AdaptiveAvgPool2d(1), + # nn.Conv2d(in_channels=dw_channel // 2, out_channels=dw_channel // 2, kernel_size=1, padding=0, stride=1, + # groups=1, bias=True), + # ) + self.sca_avg = nn.Sequential( + nn.AdaptiveAvgPool2d(1), + nn.Conv2d(in_channels=dw_channel // 4, out_channels=dw_channel // 4, kernel_size=1, padding=0, stride=1, + groups=1, bias=True), + ) + self.sca_max = nn.Sequential( + nn.AdaptiveMaxPool2d(1), + nn.Conv2d(in_channels=dw_channel // 4, out_channels=dw_channel // 4, kernel_size=1, padding=0, stride=1, + groups=1, bias=True), + ) + + # SimpleGate + self.sg = SimpleGate() + + ffn_channel = FFN_Expand * c + self.conv4 = nn.Conv2d(in_channels=c, out_channels=ffn_channel, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + self.conv5 = nn.Conv2d(in_channels=ffn_channel // 2, out_channels=c, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + self.norm1 = LayerNorm2d(c) + self.norm2 = LayerNorm2d(c) + + self.dropout1 = nn.Dropout( + drop_out_rate) if drop_out_rate > 0. else nn.Identity() + self.dropout2 = nn.Dropout( + drop_out_rate) if drop_out_rate > 0. else nn.Identity() + + self.beta = nn.Parameter(torch.zeros((1, c, 1, 1)), requires_grad=True) + self.gamma = nn.Parameter(torch.zeros( + (1, c, 1, 1)), requires_grad=True) + + def forward(self, inp): + x = inp + + x = self.norm1(x) + + x = self.conv1(x) + x = self.conv2(x) + x = self.sg(x) + x_avg, x_max = x.chunk(2, dim=1) + x_avg = self.sca_avg(x_avg)*x_avg + x_max = self.sca_max(x_max)*x_max + x = torch.cat([x_avg, x_max], dim=1) + x = self.conv3(x) + + x = self.dropout1(x) + + y = inp + x * self.beta + + x = self.conv4(self.norm2(y)) + x = self.sg(x) + x = self.conv5(x) + + x = self.dropout2(x) + + return y + x * self.gamma + +class NAFBlock(EmbedBlock): + def __init__(self, c, DW_Expand=2, FFN_Expand=2, drop_out_rate=0.): + super().__init__() + dw_channel = c * DW_Expand + self.conv1 = nn.Conv2d(in_channels=c, out_channels=dw_channel, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + self.conv2 = nn.Conv2d(in_channels=dw_channel, out_channels=dw_channel, kernel_size=3, padding=1, stride=1, groups=dw_channel, + bias=True) + self.conv3 = nn.Conv2d(in_channels=dw_channel // 2, out_channels=c, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + # Simplified Channel Attention + self.sca = nn.Sequential( + nn.AdaptiveAvgPool2d(1), + nn.Conv2d(in_channels=dw_channel // 2, out_channels=dw_channel // 2, kernel_size=1, padding=0, stride=1, + groups=1, bias=True), + ) + # self.sca_avg = nn.Sequential( + # nn.AdaptiveAvgPool2d(1), + # nn.Conv2d(in_channels=dw_channel // 4, out_channels=dw_channel // 4, kernel_size=1, padding=0, stride=1, + # groups=1, bias=True), + # ) + # self.sca_max = nn.Sequential( + # nn.AdaptiveMaxPool2d(1), + # nn.Conv2d(in_channels=dw_channel // 4, out_channels=dw_channel // 4, kernel_size=1, padding=0, stride=1, + # groups=1, bias=True), + # ) + + # SimpleGate + self.sg = SimpleGate() + + ffn_channel = FFN_Expand * c + self.conv4 = nn.Conv2d(in_channels=c, out_channels=ffn_channel, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + self.conv5 = nn.Conv2d(in_channels=ffn_channel // 2, out_channels=c, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + self.norm1 = LayerNorm2d(c) + self.norm2 = LayerNorm2d(c) + + self.dropout1 = nn.Dropout( + drop_out_rate) if drop_out_rate > 0. else nn.Identity() + self.dropout2 = nn.Dropout( + drop_out_rate) if drop_out_rate > 0. else nn.Identity() + + self.beta = nn.Parameter(torch.zeros((1, c, 1, 1)), requires_grad=True) + self.gamma = nn.Parameter(torch.zeros( + (1, c, 1, 1)), requires_grad=True) + self.time_emb = nn.Sequential( + nn.SiLU(), + nn.Linear(256, c), + ) + + def forward(self, inp, t): + x = inp + + x = self.norm1(x) + + x = self.conv1(x) + x = self.conv2(x) + x = self.sg(x) + # x_avg, x_max = x.chunk(2, dim=1) + # x_avg = self.sca_avg(x_avg)*x_avg + # x_max = self.sca_max(x_max)*x_max + # x = torch.cat([x_avg, x_max], dim=1) + x = self.sca(x) + x = self.conv3(x) + + x = self.dropout1(x) + + y = inp + x * self.beta + + y = y+self.time_emb(t)[..., None, None] + + x = self.conv4(self.norm2(y)) + x = self.sg(x) + x = self.conv5(x) + + x = self.dropout2(x) + + return y + x * self.gamma + + +class UNet(nn.Module): + + def __init__( + self, + img_channel=3, + width=64, + middle_blk_num=1, + enc_blk_nums=[1, 1, 1, 1], + dec_blk_nums=[1, 1, 1, 1], + ): + super().__init__() + + self.intro = nn.Conv2d(in_channels=img_channel, out_channels=width, kernel_size=3, padding=1, stride=1, groups=1, + bias=True) + self.cond_intro = nn.Conv2d(in_channels=img_channel, out_channels=width, kernel_size=3, padding=1, stride=1, groups=1, + bias=True) + self.ending = nn.Conv2d(in_channels=width, out_channels=3, kernel_size=3, padding=1, stride=1, groups=1, + bias=True) + # self.inp_ending = nn.Conv2d(in_channels=img_channel, out_channels=3, kernel_size=3, padding=1, stride=1, groups=1, + # bias=True) + + self.encoders = nn.ModuleList() + self.cond_encoders = nn.ModuleList() + + self.decoders = nn.ModuleList() + + self.middle_blks = nn.ModuleList() + + self.ups = nn.ModuleList() + + self.downs = nn.ModuleList() + self.cond_downs = nn.ModuleList() + + chan = width + for num in enc_blk_nums: + self.encoders.append( + EmbedSequential( + *[NAFBlock(chan) for _ in range(num)] + ) + ) + self.cond_encoders.append( + nn.Sequential( + *[CondNAFBlock(chan) for _ in range(num)] + ) + ) + self.downs.append( + nn.Conv2d(chan, 2*chan, 2, 2) + ) + self.cond_downs.append( + nn.Conv2d(chan, 2*chan, 2, 2) + ) + chan = chan * 2 + + self.middle_blks = \ + EmbedSequential( + *[NAFBlock(chan) for _ in range(middle_blk_num)] + ) + + for num in dec_blk_nums: + self.ups.append( + nn.Sequential( + nn.Conv2d(chan, chan * 2, 1, bias=False), + nn.PixelShuffle(2) + ) + ) + chan = chan // 2 + self.decoders.append( + EmbedSequential( + *[NAFBlock(chan) for _ in range(num)] + ) + ) + + self.padder_size = 2 ** len(self.encoders) + self.emb = partial(gamma_embedding, dim=64) + self.map = nn.Sequential( + nn.Linear(64, 256), + nn.SiLU(), + nn.Linear(256, 256), + ) + + def forward(self, inp, gammas): + t = self.map(self.emb(gammas.view(-1, ))) + inp = self.check_image_size(inp) + + x1, x2, x3, x = inp.chunk(4, dim=1) + cond = torch.stack([x1, x2, x3], dim=1) + b, n, c, h, w = cond.shape + cond = cond.view(b*n, c, h, w) + x = self.intro(x) + cond = self.cond_intro(cond) + + + encs = [] + + for encoder, down, cond_encoder, cond_down in zip(self.encoders, self.downs, self.cond_encoders, self.cond_downs): + x = encoder(x, t) + cond = cond_encoder(cond) + b, c, h, w = cond.shape + tmp_cond = cond.view(b//3, 3, c, h, w).sum(dim=1) + x = x + tmp_cond + encs.append(x) + x = down(x) + cond = cond_down(cond) + + x = self.middle_blks(x, t) + + for decoder, up, enc_skip in zip(self.decoders, self.ups, encs[::-1]): + x = up(x) + x = x + enc_skip + x = decoder(x, t) + + x = self.ending(x) + # x = x + self.inp_ending(inp) + + + return x + + def check_image_size(self, x): + _, _, h, w = x.size() + mod_pad_h = (self.padder_size - h % + self.padder_size) % self.padder_size + mod_pad_w = (self.padder_size - w % + self.padder_size) % self.padder_size + x = F.pad(x, (0, mod_pad_w, 0, mod_pad_h)) + return x + + +if __name__ == '__main__': + # img_channel = 5 + # width = 32 + + # # enc_blks = [2, 2, 4, 8] + # # middle_blk_num = 12 + # # dec_blks = [2, 2, 2, 2] + + # enc_blks = [1, 1, 1, 28] + # middle_blk_num = 1 + # dec_blks = [1, 1, 1, 1] + + # net = NAFNet( + # img_channel=img_channel, + # width=width, + # middle_blk_num=middle_blk_num, + # enc_blk_nums=enc_blks, + # dec_blk_nums=dec_blks, + # ) + + # inp_shape = (2, 5, 64, 64) + + # out_shape = net(torch.Tensor(*inp_shape)).shape + + # print(out_shape) + # print(UNet()) + print(UNet()(*(torch.Tensor(1, 12, 256, 256), torch.ones(1,))).shape) + from thop import profile + from thop import clever_format + net = UNet() + flops, params = profile(net, inputs=(torch.Tensor(1, 12, 256, 256), torch.ones(1,))) + flops, params = clever_format([flops, params], "%.3f") + print(flops, params) # 154.582G 36.579M \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/ours/nafnet_double_encoder_splitcaCond_splitcaUnet.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/ours/nafnet_double_encoder_splitcaCond_splitcaUnet.py new file mode 100644 index 0000000000000000000000000000000000000000..30a4a7a602f5f436d851e73bae25f201457a13d9 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/ours/nafnet_double_encoder_splitcaCond_splitcaUnet.py @@ -0,0 +1,417 @@ +import torch +import torch.nn as nn +import torch.nn.functional as F +from functools import partial +import math +from abc import abstractmethod + +class EmbedBlock(nn.Module): + """ + Any module where forward() takes embeddings as a second argument. + """ + + @abstractmethod + def forward(self, x, emb): + """ + Apply the module to `x` given `emb` embeddings. + """ + + +class EmbedSequential(nn.Sequential, EmbedBlock): + """ + A sequential module that passes embeddings to the children that + support it as an extra input. + """ + + def forward(self, x, emb): + for layer in self: + if isinstance(layer, EmbedBlock): + x = layer(x, emb) + else: + x = layer(x) + return x + +def gamma_embedding(gammas, dim, max_period=10000): + """ + Create sinusoidal timestep embeddings. + :param gammas: a 1-D Tensor of N indices, one per batch element. + These may be fractional. + :param dim: the dimension of the output. + :param max_period: controls the minimum frequency of the embeddings. + :return: an [N x dim] Tensor of positional embeddings. + """ + half = dim // 2 + freqs = torch.exp( + -math.log(max_period) * torch.arange(start=0, + end=half, dtype=torch.float32) / half + ).to(device=gammas.device) + args = gammas[:, None].float() * freqs[None] + embedding = torch.cat([torch.cos(args), torch.sin(args)], dim=-1) + if dim % 2: + embedding = torch.cat( + [embedding, torch.zeros_like(embedding[:, :1])], dim=-1) + return embedding + + +class LayerNormFunction(torch.autograd.Function): + + @staticmethod + def forward(ctx, x, weight, bias, eps): + ctx.eps = eps + N, C, H, W = x.size() + mu = x.mean(1, keepdim=True) + var = (x - mu).pow(2).mean(1, keepdim=True) + y = (x - mu) / (var + eps).sqrt() + ctx.save_for_backward(y, var, weight) + y = weight.view(1, C, 1, 1) * y + bias.view(1, C, 1, 1) + return y + + @staticmethod + def backward(ctx, grad_output): + eps = ctx.eps + + N, C, H, W = grad_output.size() + y, var, weight = ctx.saved_variables + g = grad_output * weight.view(1, C, 1, 1) + mean_g = g.mean(dim=1, keepdim=True) + + mean_gy = (g * y).mean(dim=1, keepdim=True) + gx = 1. / torch.sqrt(var + eps) * (g - y * mean_gy - mean_g) + return gx, (grad_output * y).sum(dim=3).sum(dim=2).sum(dim=0), grad_output.sum(dim=3).sum(dim=2).sum( + dim=0), None + + +class LayerNorm2d(nn.Module): + + def __init__(self, channels, eps=1e-6): + super(LayerNorm2d, self).__init__() + self.register_parameter('weight', nn.Parameter(torch.ones(channels))) + self.register_parameter('bias', nn.Parameter(torch.zeros(channels))) + self.eps = eps + + def forward(self, x): + return LayerNormFunction.apply(x, self.weight, self.bias, self.eps) + + +class SimpleGate(nn.Module): + def forward(self, x): + x1, x2 = x.chunk(2, dim=1) + return x1 * x2 + +class CondNAFBlock(nn.Module): + def __init__(self, c, DW_Expand=2, FFN_Expand=2, drop_out_rate=0.): + super().__init__() + dw_channel = c * DW_Expand + self.conv1 = nn.Conv2d(in_channels=c, out_channels=dw_channel, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + self.conv2 = nn.Conv2d(in_channels=dw_channel, out_channels=dw_channel, kernel_size=3, padding=1, stride=1, groups=dw_channel, + bias=True) + self.conv3 = nn.Conv2d(in_channels=dw_channel // 2, out_channels=c, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + # Simplified Channel Attention + # self.sca = nn.Sequential( + # nn.AdaptiveAvgPool2d(1), + # nn.Conv2d(in_channels=dw_channel // 2, out_channels=dw_channel // 2, kernel_size=1, padding=0, stride=1, + # groups=1, bias=True), + # ) + self.sca_avg = nn.Sequential( + nn.AdaptiveAvgPool2d(1), + nn.Conv2d(in_channels=dw_channel // 4, out_channels=dw_channel // 4, kernel_size=1, padding=0, stride=1, + groups=1, bias=True), + ) + self.sca_max = nn.Sequential( + nn.AdaptiveMaxPool2d(1), + nn.Conv2d(in_channels=dw_channel // 4, out_channels=dw_channel // 4, kernel_size=1, padding=0, stride=1, + groups=1, bias=True), + ) + + # SimpleGate + self.sg = SimpleGate() + + ffn_channel = FFN_Expand * c + self.conv4 = nn.Conv2d(in_channels=c, out_channels=ffn_channel, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + self.conv5 = nn.Conv2d(in_channels=ffn_channel // 2, out_channels=c, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + self.norm1 = LayerNorm2d(c) + self.norm2 = LayerNorm2d(c) + + self.dropout1 = nn.Dropout( + drop_out_rate) if drop_out_rate > 0. else nn.Identity() + self.dropout2 = nn.Dropout( + drop_out_rate) if drop_out_rate > 0. else nn.Identity() + + self.beta = nn.Parameter(torch.zeros((1, c, 1, 1)), requires_grad=True) + self.gamma = nn.Parameter(torch.zeros( + (1, c, 1, 1)), requires_grad=True) + + def forward(self, inp): + x = inp + + x = self.norm1(x) + + x = self.conv1(x) + x = self.conv2(x) + x = self.sg(x) + x_avg, x_max = x.chunk(2, dim=1) + x_avg = self.sca_avg(x_avg)*x_avg + x_max = self.sca_max(x_max)*x_max + x = torch.cat([x_avg, x_max], dim=1) + x = self.conv3(x) + + x = self.dropout1(x) + + y = inp + x * self.beta + + x = self.conv4(self.norm2(y)) + x = self.sg(x) + x = self.conv5(x) + + x = self.dropout2(x) + + return y + x * self.gamma + +class NAFBlock(EmbedBlock): + def __init__(self, c, DW_Expand=2, FFN_Expand=2, drop_out_rate=0.): + super().__init__() + dw_channel = c * DW_Expand + self.conv1 = nn.Conv2d(in_channels=c, out_channels=dw_channel, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + self.conv2 = nn.Conv2d(in_channels=dw_channel, out_channels=dw_channel, kernel_size=3, padding=1, stride=1, groups=dw_channel, + bias=True) + self.conv3 = nn.Conv2d(in_channels=dw_channel // 2, out_channels=c, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + # Simplified Channel Attention + # self.sca = nn.Sequential( + # nn.AdaptiveAvgPool2d(1), + # nn.Conv2d(in_channels=dw_channel // 2, out_channels=dw_channel // 2, kernel_size=1, padding=0, stride=1, + # groups=1, bias=True), + # ) + self.sca_avg = nn.Sequential( + nn.AdaptiveAvgPool2d(1), + nn.Conv2d(in_channels=dw_channel // 4, out_channels=dw_channel // 4, kernel_size=1, padding=0, stride=1, + groups=1, bias=True), + ) + self.sca_max = nn.Sequential( + nn.AdaptiveMaxPool2d(1), + nn.Conv2d(in_channels=dw_channel // 4, out_channels=dw_channel // 4, kernel_size=1, padding=0, stride=1, + groups=1, bias=True), + ) + + # SimpleGate + self.sg = SimpleGate() + + ffn_channel = FFN_Expand * c + self.conv4 = nn.Conv2d(in_channels=c, out_channels=ffn_channel, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + self.conv5 = nn.Conv2d(in_channels=ffn_channel // 2, out_channels=c, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + self.norm1 = LayerNorm2d(c) + self.norm2 = LayerNorm2d(c) + + self.dropout1 = nn.Dropout( + drop_out_rate) if drop_out_rate > 0. else nn.Identity() + self.dropout2 = nn.Dropout( + drop_out_rate) if drop_out_rate > 0. else nn.Identity() + + self.beta = nn.Parameter(torch.zeros((1, c, 1, 1)), requires_grad=True) + self.gamma = nn.Parameter(torch.zeros( + (1, c, 1, 1)), requires_grad=True) + self.time_emb = nn.Sequential( + nn.SiLU(), + nn.Linear(256, c), + ) + + def forward(self, inp, t): + x = inp + + x = self.norm1(x) + + x = self.conv1(x) + x = self.conv2(x) + x = self.sg(x) + x_avg, x_max = x.chunk(2, dim=1) + x_avg = self.sca_avg(x_avg)*x_avg + x_max = self.sca_max(x_max)*x_max + x = torch.cat([x_avg, x_max], dim=1) + x = self.conv3(x) + + x = self.dropout1(x) + + y = inp + x * self.beta + + y = y+self.time_emb(t)[..., None, None] + + x = self.conv4(self.norm2(y)) + x = self.sg(x) + x = self.conv5(x) + + x = self.dropout2(x) + + return y + x * self.gamma + + +class UNet(nn.Module): + + def __init__( + self, + img_channel=3, + width=64, + middle_blk_num=1, + enc_blk_nums=[1, 1, 1, 1], + dec_blk_nums=[1, 1, 1, 1], + ): + super().__init__() + + self.intro = nn.Conv2d(in_channels=img_channel, out_channels=width, kernel_size=3, padding=1, stride=1, groups=1, + bias=True) + self.cond_intro = nn.Conv2d(in_channels=img_channel, out_channels=width, kernel_size=3, padding=1, stride=1, groups=1, + bias=True) + self.ending = nn.Conv2d(in_channels=width, out_channels=3, kernel_size=3, padding=1, stride=1, groups=1, + bias=True) + # self.inp_ending = nn.Conv2d(in_channels=img_channel, out_channels=3, kernel_size=3, padding=1, stride=1, groups=1, + # bias=True) + + self.encoders = nn.ModuleList() + self.cond_encoders = nn.ModuleList() + + self.decoders = nn.ModuleList() + + self.middle_blks = nn.ModuleList() + + self.ups = nn.ModuleList() + + self.downs = nn.ModuleList() + self.cond_downs = nn.ModuleList() + + chan = width + for num in enc_blk_nums: + self.encoders.append( + EmbedSequential( + *[NAFBlock(chan) for _ in range(num)] + ) + ) + self.cond_encoders.append( + nn.Sequential( + *[CondNAFBlock(chan) for _ in range(num)] + ) + ) + self.downs.append( + nn.Conv2d(chan, 2*chan, 2, 2) + ) + self.cond_downs.append( + nn.Conv2d(chan, 2*chan, 2, 2) + ) + chan = chan * 2 + + self.middle_blks = \ + EmbedSequential( + *[NAFBlock(chan) for _ in range(middle_blk_num)] + ) + + for num in dec_blk_nums: + self.ups.append( + nn.Sequential( + nn.Conv2d(chan, chan * 2, 1, bias=False), + nn.PixelShuffle(2) + ) + ) + chan = chan // 2 + self.decoders.append( + EmbedSequential( + *[NAFBlock(chan) for _ in range(num)] + ) + ) + + self.padder_size = 2 ** len(self.encoders) + self.emb = partial(gamma_embedding, dim=64) + self.map = nn.Sequential( + nn.Linear(64, 256), + nn.SiLU(), + nn.Linear(256, 256), + ) + + def forward(self, inp, gammas): + t = self.map(self.emb(gammas.view(-1, ))) + inp = self.check_image_size(inp) + + x1, x2, x3, x = inp.chunk(4, dim=1) + cond = torch.stack([x1, x2, x3], dim=1) + b, n, c, h, w = cond.shape + cond = cond.view(b*n, c, h, w) + x = self.intro(x) + cond = self.cond_intro(cond) + + + encs = [] + + for encoder, down, cond_encoder, cond_down in zip(self.encoders, self.downs, self.cond_encoders, self.cond_downs): + x = encoder(x, t) + cond = cond_encoder(cond) + b, c, h, w = cond.shape + tmp_cond = cond.view(b//3, 3, c, h, w).sum(dim=1) + x = x + tmp_cond + encs.append(x) + x = down(x) + cond = cond_down(cond) + + x = self.middle_blks(x, t) + + for decoder, up, enc_skip in zip(self.decoders, self.ups, encs[::-1]): + x = up(x) + x = x + enc_skip + x = decoder(x, t) + + x = self.ending(x) + # x = x + self.inp_ending(inp) + + + return x + + def check_image_size(self, x): + _, _, h, w = x.size() + mod_pad_h = (self.padder_size - h % + self.padder_size) % self.padder_size + mod_pad_w = (self.padder_size - w % + self.padder_size) % self.padder_size + x = F.pad(x, (0, mod_pad_w, 0, mod_pad_h)) + return x + + +if __name__ == '__main__': + # img_channel = 5 + # width = 32 + + # # enc_blks = [2, 2, 4, 8] + # # middle_blk_num = 12 + # # dec_blks = [2, 2, 2, 2] + + # enc_blks = [1, 1, 1, 28] + # middle_blk_num = 1 + # dec_blks = [1, 1, 1, 1] + + # net = NAFNet( + # img_channel=img_channel, + # width=width, + # middle_blk_num=middle_blk_num, + # enc_blk_nums=enc_blks, + # dec_blk_nums=dec_blks, + # ) + + # inp_shape = (2, 5, 64, 64) + + # out_shape = net(torch.Tensor(*inp_shape)).shape + + # print(out_shape) + # print(UNet()) + print(UNet()(*(torch.Tensor(1, 12, 256, 256), torch.ones(1,))).shape) + from thop import profile + from thop import clever_format + net = UNet() + flops, params = profile(net, inputs=(torch.Tensor(1, 12, 256, 256), torch.ones(1,))) + flops, params = clever_format([flops, params], "%.3f") + print(flops, params) # 154.582G 36.579M \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/ours/nafnet_double_encoder_splitcaUnet.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/ours/nafnet_double_encoder_splitcaUnet.py new file mode 100644 index 0000000000000000000000000000000000000000..f95e7a672922761e3b3c1452ba973d8f32213e3d --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/ours/nafnet_double_encoder_splitcaUnet.py @@ -0,0 +1,418 @@ +import torch +import torch.nn as nn +import torch.nn.functional as F +from functools import partial +import math +from abc import abstractmethod + +class EmbedBlock(nn.Module): + """ + Any module where forward() takes embeddings as a second argument. + """ + + @abstractmethod + def forward(self, x, emb): + """ + Apply the module to `x` given `emb` embeddings. + """ + + +class EmbedSequential(nn.Sequential, EmbedBlock): + """ + A sequential module that passes embeddings to the children that + support it as an extra input. + """ + + def forward(self, x, emb): + for layer in self: + if isinstance(layer, EmbedBlock): + x = layer(x, emb) + else: + x = layer(x) + return x + +def gamma_embedding(gammas, dim, max_period=10000): + """ + Create sinusoidal timestep embeddings. + :param gammas: a 1-D Tensor of N indices, one per batch element. + These may be fractional. + :param dim: the dimension of the output. + :param max_period: controls the minimum frequency of the embeddings. + :return: an [N x dim] Tensor of positional embeddings. + """ + half = dim // 2 + freqs = torch.exp( + -math.log(max_period) * torch.arange(start=0, + end=half, dtype=torch.float32) / half + ).to(device=gammas.device) + args = gammas[:, None].float() * freqs[None] + embedding = torch.cat([torch.cos(args), torch.sin(args)], dim=-1) + if dim % 2: + embedding = torch.cat( + [embedding, torch.zeros_like(embedding[:, :1])], dim=-1) + return embedding + + +class LayerNormFunction(torch.autograd.Function): + + @staticmethod + def forward(ctx, x, weight, bias, eps): + ctx.eps = eps + N, C, H, W = x.size() + mu = x.mean(1, keepdim=True) + var = (x - mu).pow(2).mean(1, keepdim=True) + y = (x - mu) / (var + eps).sqrt() + ctx.save_for_backward(y, var, weight) + y = weight.view(1, C, 1, 1) * y + bias.view(1, C, 1, 1) + return y + + @staticmethod + def backward(ctx, grad_output): + eps = ctx.eps + + N, C, H, W = grad_output.size() + y, var, weight = ctx.saved_variables + g = grad_output * weight.view(1, C, 1, 1) + mean_g = g.mean(dim=1, keepdim=True) + + mean_gy = (g * y).mean(dim=1, keepdim=True) + gx = 1. / torch.sqrt(var + eps) * (g - y * mean_gy - mean_g) + return gx, (grad_output * y).sum(dim=3).sum(dim=2).sum(dim=0), grad_output.sum(dim=3).sum(dim=2).sum( + dim=0), None + + +class LayerNorm2d(nn.Module): + + def __init__(self, channels, eps=1e-6): + super(LayerNorm2d, self).__init__() + self.register_parameter('weight', nn.Parameter(torch.ones(channels))) + self.register_parameter('bias', nn.Parameter(torch.zeros(channels))) + self.eps = eps + + def forward(self, x): + return LayerNormFunction.apply(x, self.weight, self.bias, self.eps) + + +class SimpleGate(nn.Module): + def forward(self, x): + x1, x2 = x.chunk(2, dim=1) + return x1 * x2 + +class CondNAFBlock(nn.Module): + def __init__(self, c, DW_Expand=2, FFN_Expand=2, drop_out_rate=0.): + super().__init__() + dw_channel = c * DW_Expand + self.conv1 = nn.Conv2d(in_channels=c, out_channels=dw_channel, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + self.conv2 = nn.Conv2d(in_channels=dw_channel, out_channels=dw_channel, kernel_size=3, padding=1, stride=1, groups=dw_channel, + bias=True) + self.conv3 = nn.Conv2d(in_channels=dw_channel // 2, out_channels=c, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + # Simplified Channel Attention + self.sca = nn.Sequential( + nn.AdaptiveAvgPool2d(1), + nn.Conv2d(in_channels=dw_channel // 2, out_channels=dw_channel // 2, kernel_size=1, padding=0, stride=1, + groups=1, bias=True), + ) + # self.sca_avg = nn.Sequential( + # nn.AdaptiveAvgPool2d(1), + # nn.Conv2d(in_channels=dw_channel // 4, out_channels=dw_channel // 4, kernel_size=1, padding=0, stride=1, + # groups=1, bias=True), + # ) + # self.sca_max = nn.Sequential( + # nn.AdaptiveMaxPool2d(1), + # nn.Conv2d(in_channels=dw_channel // 4, out_channels=dw_channel // 4, kernel_size=1, padding=0, stride=1, + # groups=1, bias=True), + # ) + + # SimpleGate + self.sg = SimpleGate() + + ffn_channel = FFN_Expand * c + self.conv4 = nn.Conv2d(in_channels=c, out_channels=ffn_channel, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + self.conv5 = nn.Conv2d(in_channels=ffn_channel // 2, out_channels=c, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + self.norm1 = LayerNorm2d(c) + self.norm2 = LayerNorm2d(c) + + self.dropout1 = nn.Dropout( + drop_out_rate) if drop_out_rate > 0. else nn.Identity() + self.dropout2 = nn.Dropout( + drop_out_rate) if drop_out_rate > 0. else nn.Identity() + + self.beta = nn.Parameter(torch.zeros((1, c, 1, 1)), requires_grad=True) + self.gamma = nn.Parameter(torch.zeros( + (1, c, 1, 1)), requires_grad=True) + + def forward(self, inp): + x = inp + + x = self.norm1(x) + + x = self.conv1(x) + x = self.conv2(x) + x = self.sg(x) + # x_avg, x_max = x.chunk(2, dim=1) + # x_avg = self.sca_avg(x_avg)*x_avg + # x_max = self.sca_max(x_max)*x_max + # x = torch.cat([x_avg, x_max], dim=1) + x = self.sca(x) + x = self.conv3(x) + + x = self.dropout1(x) + + y = inp + x * self.beta + + x = self.conv4(self.norm2(y)) + x = self.sg(x) + x = self.conv5(x) + + x = self.dropout2(x) + + return y + x * self.gamma + +class NAFBlock(EmbedBlock): + def __init__(self, c, DW_Expand=2, FFN_Expand=2, drop_out_rate=0.): + super().__init__() + dw_channel = c * DW_Expand + self.conv1 = nn.Conv2d(in_channels=c, out_channels=dw_channel, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + self.conv2 = nn.Conv2d(in_channels=dw_channel, out_channels=dw_channel, kernel_size=3, padding=1, stride=1, groups=dw_channel, + bias=True) + self.conv3 = nn.Conv2d(in_channels=dw_channel // 2, out_channels=c, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + # Simplified Channel Attention + # self.sca = nn.Sequential( + # nn.AdaptiveAvgPool2d(1), + # nn.Conv2d(in_channels=dw_channel // 2, out_channels=dw_channel // 2, kernel_size=1, padding=0, stride=1, + # groups=1, bias=True), + # ) + self.sca_avg = nn.Sequential( + nn.AdaptiveAvgPool2d(1), + nn.Conv2d(in_channels=dw_channel // 4, out_channels=dw_channel // 4, kernel_size=1, padding=0, stride=1, + groups=1, bias=True), + ) + self.sca_max = nn.Sequential( + nn.AdaptiveMaxPool2d(1), + nn.Conv2d(in_channels=dw_channel // 4, out_channels=dw_channel // 4, kernel_size=1, padding=0, stride=1, + groups=1, bias=True), + ) + + # SimpleGate + self.sg = SimpleGate() + + ffn_channel = FFN_Expand * c + self.conv4 = nn.Conv2d(in_channels=c, out_channels=ffn_channel, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + self.conv5 = nn.Conv2d(in_channels=ffn_channel // 2, out_channels=c, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + self.norm1 = LayerNorm2d(c) + self.norm2 = LayerNorm2d(c) + + self.dropout1 = nn.Dropout( + drop_out_rate) if drop_out_rate > 0. else nn.Identity() + self.dropout2 = nn.Dropout( + drop_out_rate) if drop_out_rate > 0. else nn.Identity() + + self.beta = nn.Parameter(torch.zeros((1, c, 1, 1)), requires_grad=True) + self.gamma = nn.Parameter(torch.zeros( + (1, c, 1, 1)), requires_grad=True) + self.time_emb = nn.Sequential( + nn.SiLU(), + nn.Linear(256, c), + ) + + def forward(self, inp, t): + x = inp + + x = self.norm1(x) + + x = self.conv1(x) + x = self.conv2(x) + x = self.sg(x) + x_avg, x_max = x.chunk(2, dim=1) + x_avg = self.sca_avg(x_avg)*x_avg + x_max = self.sca_max(x_max)*x_max + x = torch.cat([x_avg, x_max], dim=1) + x = self.conv3(x) + + x = self.dropout1(x) + + y = inp + x * self.beta + + y = y+self.time_emb(t)[..., None, None] + + x = self.conv4(self.norm2(y)) + x = self.sg(x) + x = self.conv5(x) + + x = self.dropout2(x) + + return y + x * self.gamma + + +class UNet(nn.Module): + + def __init__( + self, + img_channel=3, + width=64, + middle_blk_num=1, + enc_blk_nums=[1, 1, 1, 1], + dec_blk_nums=[1, 1, 1, 1], + ): + super().__init__() + + self.intro = nn.Conv2d(in_channels=img_channel, out_channels=width, kernel_size=3, padding=1, stride=1, groups=1, + bias=True) + self.cond_intro = nn.Conv2d(in_channels=img_channel, out_channels=width, kernel_size=3, padding=1, stride=1, groups=1, + bias=True) + self.ending = nn.Conv2d(in_channels=width, out_channels=3, kernel_size=3, padding=1, stride=1, groups=1, + bias=True) + # self.inp_ending = nn.Conv2d(in_channels=img_channel, out_channels=3, kernel_size=3, padding=1, stride=1, groups=1, + # bias=True) + + self.encoders = nn.ModuleList() + self.cond_encoders = nn.ModuleList() + + self.decoders = nn.ModuleList() + + self.middle_blks = nn.ModuleList() + + self.ups = nn.ModuleList() + + self.downs = nn.ModuleList() + self.cond_downs = nn.ModuleList() + + chan = width + for num in enc_blk_nums: + self.encoders.append( + EmbedSequential( + *[NAFBlock(chan) for _ in range(num)] + ) + ) + self.cond_encoders.append( + nn.Sequential( + *[CondNAFBlock(chan) for _ in range(num)] + ) + ) + self.downs.append( + nn.Conv2d(chan, 2*chan, 2, 2) + ) + self.cond_downs.append( + nn.Conv2d(chan, 2*chan, 2, 2) + ) + chan = chan * 2 + + self.middle_blks = \ + EmbedSequential( + *[NAFBlock(chan) for _ in range(middle_blk_num)] + ) + + for num in dec_blk_nums: + self.ups.append( + nn.Sequential( + nn.Conv2d(chan, chan * 2, 1, bias=False), + nn.PixelShuffle(2) + ) + ) + chan = chan // 2 + self.decoders.append( + EmbedSequential( + *[NAFBlock(chan) for _ in range(num)] + ) + ) + + self.padder_size = 2 ** len(self.encoders) + self.emb = partial(gamma_embedding, dim=64) + self.map = nn.Sequential( + nn.Linear(64, 256), + nn.SiLU(), + nn.Linear(256, 256), + ) + + def forward(self, inp, gammas): + t = self.map(self.emb(gammas.view(-1, ))) + inp = self.check_image_size(inp) + + x1, x2, x3, x = inp.chunk(4, dim=1) + cond = torch.stack([x1, x2, x3], dim=1) + b, n, c, h, w = cond.shape + cond = cond.view(b*n, c, h, w) + x = self.intro(x) + cond = self.cond_intro(cond) + + + encs = [] + + for encoder, down, cond_encoder, cond_down in zip(self.encoders, self.downs, self.cond_encoders, self.cond_downs): + x = encoder(x, t) + cond = cond_encoder(cond) + b, c, h, w = cond.shape + tmp_cond = cond.view(b//3, 3, c, h, w).sum(dim=1) + x = x + tmp_cond + encs.append(x) + x = down(x) + cond = cond_down(cond) + + x = self.middle_blks(x, t) + + for decoder, up, enc_skip in zip(self.decoders, self.ups, encs[::-1]): + x = up(x) + x = x + enc_skip + x = decoder(x, t) + + x = self.ending(x) + # x = x + self.inp_ending(inp) + + + return x + + def check_image_size(self, x): + _, _, h, w = x.size() + mod_pad_h = (self.padder_size - h % + self.padder_size) % self.padder_size + mod_pad_w = (self.padder_size - w % + self.padder_size) % self.padder_size + x = F.pad(x, (0, mod_pad_w, 0, mod_pad_h)) + return x + + +if __name__ == '__main__': + # img_channel = 5 + # width = 32 + + # # enc_blks = [2, 2, 4, 8] + # # middle_blk_num = 12 + # # dec_blks = [2, 2, 2, 2] + + # enc_blks = [1, 1, 1, 28] + # middle_blk_num = 1 + # dec_blks = [1, 1, 1, 1] + + # net = NAFNet( + # img_channel=img_channel, + # width=width, + # middle_blk_num=middle_blk_num, + # enc_blk_nums=enc_blks, + # dec_blk_nums=dec_blks, + # ) + + # inp_shape = (2, 5, 64, 64) + + # out_shape = net(torch.Tensor(*inp_shape)).shape + + # print(out_shape) + # print(UNet()) + print(UNet()(*(torch.Tensor(1, 12, 256, 256), torch.ones(1,))).shape) + from thop import profile + from thop import clever_format + net = UNet() + flops, params = profile(net, inputs=(torch.Tensor(1, 12, 256, 256), torch.ones(1,))) + flops, params = clever_format([flops, params], "%.3f") + print(flops, params) # 154.582G 36.579M \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/ours/nafnet_newca_noinp.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/ours/nafnet_newca_noinp.py new file mode 100644 index 0000000000000000000000000000000000000000..c402d877df3f2eae2b1b9cf02d2c1c7fb51c0128 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/ours/nafnet_newca_noinp.py @@ -0,0 +1,308 @@ +import torch +import torch.nn as nn +import torch.nn.functional as F +from functools import partial +import math +from abc import abstractmethod + +class EmbedBlock(nn.Module): + """ + Any module where forward() takes embeddings as a second argument. + """ + + @abstractmethod + def forward(self, x, emb): + """ + Apply the module to `x` given `emb` embeddings. + """ + + +class EmbedSequential(nn.Sequential, EmbedBlock): + """ + A sequential module that passes embeddings to the children that + support it as an extra input. + """ + + def forward(self, x, emb): + for layer in self: + if isinstance(layer, EmbedBlock): + x = layer(x, emb) + else: + x = layer(x) + return x + +def gamma_embedding(gammas, dim, max_period=10000): + """ + Create sinusoidal timestep embeddings. + :param gammas: a 1-D Tensor of N indices, one per batch element. + These may be fractional. + :param dim: the dimension of the output. + :param max_period: controls the minimum frequency of the embeddings. + :return: an [N x dim] Tensor of positional embeddings. + """ + half = dim // 2 + freqs = torch.exp( + -math.log(max_period) * torch.arange(start=0, + end=half, dtype=torch.float32) / half + ).to(device=gammas.device) + args = gammas[:, None].float() * freqs[None] + embedding = torch.cat([torch.cos(args), torch.sin(args)], dim=-1) + if dim % 2: + embedding = torch.cat( + [embedding, torch.zeros_like(embedding[:, :1])], dim=-1) + return embedding + + +class LayerNormFunction(torch.autograd.Function): + + @staticmethod + def forward(ctx, x, weight, bias, eps): + ctx.eps = eps + N, C, H, W = x.size() + mu = x.mean(1, keepdim=True) + var = (x - mu).pow(2).mean(1, keepdim=True) + y = (x - mu) / (var + eps).sqrt() + ctx.save_for_backward(y, var, weight) + y = weight.view(1, C, 1, 1) * y + bias.view(1, C, 1, 1) + return y + + @staticmethod + def backward(ctx, grad_output): + eps = ctx.eps + + N, C, H, W = grad_output.size() + y, var, weight = ctx.saved_variables + g = grad_output * weight.view(1, C, 1, 1) + mean_g = g.mean(dim=1, keepdim=True) + + mean_gy = (g * y).mean(dim=1, keepdim=True) + gx = 1. / torch.sqrt(var + eps) * (g - y * mean_gy - mean_g) + return gx, (grad_output * y).sum(dim=3).sum(dim=2).sum(dim=0), grad_output.sum(dim=3).sum(dim=2).sum( + dim=0), None + + +class LayerNorm2d(nn.Module): + + def __init__(self, channels, eps=1e-6): + super(LayerNorm2d, self).__init__() + self.register_parameter('weight', nn.Parameter(torch.ones(channels))) + self.register_parameter('bias', nn.Parameter(torch.zeros(channels))) + self.eps = eps + + def forward(self, x): + return LayerNormFunction.apply(x, self.weight, self.bias, self.eps) + + +class SimpleGate(nn.Module): + def forward(self, x): + x1, x2 = x.chunk(2, dim=1) + return x1 * x2 + + +class NAFBlock(EmbedBlock): + def __init__(self, c, DW_Expand=2, FFN_Expand=2, drop_out_rate=0.): + super().__init__() + dw_channel = c * DW_Expand + self.conv1 = nn.Conv2d(in_channels=c, out_channels=dw_channel, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + self.conv2 = nn.Conv2d(in_channels=dw_channel, out_channels=dw_channel, kernel_size=3, padding=1, stride=1, groups=dw_channel, + bias=True) + self.conv3 = nn.Conv2d(in_channels=dw_channel // 2, out_channels=c, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + # Simplified Channel Attention + self.sca_avg = nn.Sequential( + nn.AdaptiveAvgPool2d(1), + nn.Conv2d(in_channels=dw_channel // 2, out_channels=dw_channel // 2, kernel_size=1, padding=0, stride=1, + groups=1, bias=True), + ) + self.sca_max = nn.Sequential( + nn.AdaptiveMaxPool2d(1), + nn.Conv2d(in_channels=dw_channel // 2, out_channels=dw_channel // 2, kernel_size=1, padding=0, stride=1, + groups=1, bias=True), + ) + + # SimpleGate + self.sg = SimpleGate() + + ffn_channel = FFN_Expand * c + self.conv4 = nn.Conv2d(in_channels=c, out_channels=ffn_channel, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + self.conv5 = nn.Conv2d(in_channels=ffn_channel // 2, out_channels=c, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + self.norm1 = LayerNorm2d(c) + self.norm2 = LayerNorm2d(c) + + self.dropout1 = nn.Dropout( + drop_out_rate) if drop_out_rate > 0. else nn.Identity() + self.dropout2 = nn.Dropout( + drop_out_rate) if drop_out_rate > 0. else nn.Identity() + + self.beta = nn.Parameter(torch.zeros((1, c, 1, 1)), requires_grad=True) + self.gamma = nn.Parameter(torch.zeros( + (1, c, 1, 1)), requires_grad=True) + self.time_emb = nn.Sequential( + nn.SiLU(), + nn.Linear(256, c), + ) + + def forward(self, inp, t): + x = inp + + x = self.norm1(x) + + x = self.conv1(x) + x = self.conv2(x) + x = self.sg(x) + x = x * (self.sca_avg(x)+self.sca_max(x)) + x = self.conv3(x) + + x = self.dropout1(x) + + y = inp + x * self.beta + + y = y+self.time_emb(t)[..., None, None] + + x = self.conv4(self.norm2(y)) + x = self.sg(x) + x = self.conv5(x) + + x = self.dropout2(x) + + return y + x * self.gamma + + +class UNet(nn.Module): + + def __init__( + self, + img_channel=12, + width=64, + middle_blk_num=1, + enc_blk_nums=[1, 1, 1, 1], + dec_blk_nums=[1, 1, 1, 1], + ): + super().__init__() + + self.intro = nn.Conv2d(in_channels=img_channel, out_channels=width, kernel_size=3, padding=1, stride=1, groups=1, + bias=True) + self.ending = nn.Conv2d(in_channels=width, out_channels=3, kernel_size=3, padding=1, stride=1, groups=1, + bias=True) + # self.inp_ending = nn.Conv2d(in_channels=img_channel, out_channels=3, kernel_size=3, padding=1, stride=1, groups=1, + # bias=True) + + self.encoders = nn.ModuleList() + self.decoders = nn.ModuleList() + self.middle_blks = nn.ModuleList() + self.ups = nn.ModuleList() + self.downs = nn.ModuleList() + + chan = width + for num in enc_blk_nums: + self.encoders.append( + EmbedSequential( + *[NAFBlock(chan) for _ in range(num)] + ) + ) + self.downs.append( + nn.Conv2d(chan, 2*chan, 2, 2) + ) + chan = chan * 2 + + self.middle_blks = \ + EmbedSequential( + *[NAFBlock(chan) for _ in range(middle_blk_num)] + ) + + for num in dec_blk_nums: + self.ups.append( + nn.Sequential( + nn.Conv2d(chan, chan * 2, 1, bias=False), + nn.PixelShuffle(2) + ) + ) + chan = chan // 2 + self.decoders.append( + EmbedSequential( + *[NAFBlock(chan) for _ in range(num)] + ) + ) + + self.padder_size = 2 ** len(self.encoders) + self.emb = partial(gamma_embedding, dim=64) + self.map = nn.Sequential( + nn.Linear(64, 256), + nn.SiLU(), + nn.Linear(256, 256), + ) + + def forward(self, inp, gammas): + t = self.map(self.emb(gammas.view(-1, ))) + B, C, H, W = inp.shape + inp = self.check_image_size(inp) + + x = self.intro(inp) + + encs = [] + + for encoder, down in zip(self.encoders, self.downs): + x = encoder(x, t) + encs.append(x) + x = down(x) + + x = self.middle_blks(x, t) + + for decoder, up, enc_skip in zip(self.decoders, self.ups, encs[::-1]): + x = up(x) + x = x + enc_skip + x = decoder(x, t) + + x = self.ending(x) + # x = x + self.inp_ending(inp) + + return x[:, :, :H, :W] + + def check_image_size(self, x): + _, _, h, w = x.size() + mod_pad_h = (self.padder_size - h % + self.padder_size) % self.padder_size + mod_pad_w = (self.padder_size - w % + self.padder_size) % self.padder_size + x = F.pad(x, (0, mod_pad_w, 0, mod_pad_h)) + return x + + +if __name__ == '__main__': + # img_channel = 5 + # width = 32 + + # # enc_blks = [2, 2, 4, 8] + # # middle_blk_num = 12 + # # dec_blks = [2, 2, 2, 2] + + # enc_blks = [1, 1, 1, 28] + # middle_blk_num = 1 + # dec_blks = [1, 1, 1, 1] + + # net = NAFNet( + # img_channel=img_channel, + # width=width, + # middle_blk_num=middle_blk_num, + # enc_blk_nums=enc_blks, + # dec_blk_nums=dec_blks, + # ) + + # inp_shape = (2, 5, 64, 64) + + # out_shape = net(torch.Tensor(*inp_shape)).shape + + # print(out_shape) + # print(UNet()) + # print(UNet()(*(torch.Tensor(1, 12, 256, 256), torch.ones(1,))).shape) + from thop import profile + from thop import clever_format + net = UNet(width=64, enc_blk_nums=[1,1,1,1], dec_blk_nums=[1,1,1,1]) + flops, params = profile(net, inputs=(torch.Tensor(1, 12, 256, 256), torch.ones(1,))) + flops, params = clever_format([flops, params], "%.3f") + print(params, flops) \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/ours/nafnet_nosca_silu.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/ours/nafnet_nosca_silu.py new file mode 100644 index 0000000000000000000000000000000000000000..4d8039ddd372a54e307304b13e10c1313c7684e4 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/ours/nafnet_nosca_silu.py @@ -0,0 +1,302 @@ +import torch +import torch.nn as nn +import torch.nn.functional as F +from functools import partial +import math +from abc import abstractmethod + +class EmbedBlock(nn.Module): + """ + Any module where forward() takes embeddings as a second argument. + """ + + @abstractmethod + def forward(self, x, emb): + """ + Apply the module to `x` given `emb` embeddings. + """ + + +class EmbedSequential(nn.Sequential, EmbedBlock): + """ + A sequential module that passes embeddings to the children that + support it as an extra input. + """ + + def forward(self, x, emb): + for layer in self: + if isinstance(layer, EmbedBlock): + x = layer(x, emb) + else: + x = layer(x) + return x + +def gamma_embedding(gammas, dim, max_period=10000): + """ + Create sinusoidal timestep embeddings. + :param gammas: a 1-D Tensor of N indices, one per batch element. + These may be fractional. + :param dim: the dimension of the output. + :param max_period: controls the minimum frequency of the embeddings. + :return: an [N x dim] Tensor of positional embeddings. + """ + half = dim // 2 + freqs = torch.exp( + -math.log(max_period) * torch.arange(start=0, + end=half, dtype=torch.float32) / half + ).to(device=gammas.device) + args = gammas[:, None].float() * freqs[None] + embedding = torch.cat([torch.cos(args), torch.sin(args)], dim=-1) + if dim % 2: + embedding = torch.cat( + [embedding, torch.zeros_like(embedding[:, :1])], dim=-1) + return embedding + + +class LayerNormFunction(torch.autograd.Function): + + @staticmethod + def forward(ctx, x, weight, bias, eps): + ctx.eps = eps + N, C, H, W = x.size() + mu = x.mean(1, keepdim=True) + var = (x - mu).pow(2).mean(1, keepdim=True) + y = (x - mu) / (var + eps).sqrt() + ctx.save_for_backward(y, var, weight) + y = weight.view(1, C, 1, 1) * y + bias.view(1, C, 1, 1) + return y + + @staticmethod + def backward(ctx, grad_output): + eps = ctx.eps + + N, C, H, W = grad_output.size() + y, var, weight = ctx.saved_variables + g = grad_output * weight.view(1, C, 1, 1) + mean_g = g.mean(dim=1, keepdim=True) + + mean_gy = (g * y).mean(dim=1, keepdim=True) + gx = 1. / torch.sqrt(var + eps) * (g - y * mean_gy - mean_g) + return gx, (grad_output * y).sum(dim=3).sum(dim=2).sum(dim=0), grad_output.sum(dim=3).sum(dim=2).sum( + dim=0), None + + +class LayerNorm2d(nn.Module): + + def __init__(self, channels, eps=1e-6): + super(LayerNorm2d, self).__init__() + self.register_parameter('weight', nn.Parameter(torch.ones(channels))) + self.register_parameter('bias', nn.Parameter(torch.zeros(channels))) + self.eps = eps + + def forward(self, x): + return LayerNormFunction.apply(x, self.weight, self.bias, self.eps) + + +class SimpleGate(nn.Module): + def forward(self, x): + x1, x2 = x.chunk(2, dim=1) + return x1 * x2 + + +class NAFBlock(EmbedBlock): + def __init__(self, c, DW_Expand=2, FFN_Expand=2, drop_out_rate=0.): + super().__init__() + dw_channel = c * DW_Expand + self.conv1 = nn.Conv2d(in_channels=c, out_channels=dw_channel, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + self.conv2 = nn.Conv2d(in_channels=dw_channel, out_channels=dw_channel, kernel_size=3, padding=1, stride=1, groups=dw_channel, + bias=True) + self.conv3 = nn.Conv2d(in_channels=dw_channel, out_channels=c, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + # Simplified Channel Attention + # self.sca = nn.Sequential( + # nn.AdaptiveAvgPool2d(1), + # nn.Conv2d(in_channels=dw_channel // 2, out_channels=dw_channel // 2, kernel_size=1, padding=0, stride=1, + # groups=1, bias=True), + # ) + + # SimpleGate + self.sg = nn.SiLU() + + ffn_channel = FFN_Expand * c + self.conv4 = nn.Conv2d(in_channels=c, out_channels=ffn_channel, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + self.conv5 = nn.Conv2d(in_channels=ffn_channel, out_channels=c, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + self.norm1 = LayerNorm2d(c) + self.norm2 = LayerNorm2d(c) + + self.dropout1 = nn.Dropout( + drop_out_rate) if drop_out_rate > 0. else nn.Identity() + self.dropout2 = nn.Dropout( + drop_out_rate) if drop_out_rate > 0. else nn.Identity() + + self.beta = nn.Parameter(torch.zeros((1, c, 1, 1)), requires_grad=True) + self.gamma = nn.Parameter(torch.zeros( + (1, c, 1, 1)), requires_grad=True) + self.time_emb = nn.Sequential( + nn.SiLU(), + nn.Linear(256, c), + ) + + def forward(self, inp, t): + x = inp + + x = self.norm1(x) + + x = self.conv1(x) + x = self.conv2(x) + # x = x * self.sca(x) + x = self.conv3(x) + + x = self.dropout1(x) + + y = inp + x * self.beta + + y = y+self.time_emb(t)[..., None, None] + + x = self.conv4(self.norm2(y)) + x = self.sg(x) + x = self.conv5(x) + + x = self.dropout2(x) + + return y + x * self.gamma + + +class UNet(nn.Module): + + def __init__( + self, + img_channel=12, + width=64, + middle_blk_num=1, + enc_blk_nums=[1, 1, 1, 1], + dec_blk_nums=[1, 1, 1, 1], + ): + super().__init__() + + self.intro = nn.Conv2d(in_channels=img_channel, out_channels=width, kernel_size=3, padding=1, stride=1, groups=1, + bias=True) + self.ending = nn.Conv2d(in_channels=width, out_channels=3, kernel_size=3, padding=1, stride=1, groups=1, + bias=True) + # self.inp_ending = nn.Conv2d(in_channels=img_channel, out_channels=3, kernel_size=3, padding=1, stride=1, groups=1, + # bias=True) + + self.encoders = nn.ModuleList() + self.decoders = nn.ModuleList() + self.middle_blks = nn.ModuleList() + self.ups = nn.ModuleList() + self.downs = nn.ModuleList() + + chan = width + for num in enc_blk_nums: + self.encoders.append( + EmbedSequential( + *[NAFBlock(chan) for _ in range(num)] + ) + ) + self.downs.append( + nn.Conv2d(chan, 2*chan, 2, 2) + ) + chan = chan * 2 + + self.middle_blks = \ + EmbedSequential( + *[NAFBlock(chan) for _ in range(middle_blk_num)] + ) + + for num in dec_blk_nums: + self.ups.append( + nn.Sequential( + nn.Conv2d(chan, chan * 2, 1, bias=False), + nn.PixelShuffle(2) + ) + ) + chan = chan // 2 + self.decoders.append( + EmbedSequential( + *[NAFBlock(chan) for _ in range(num)] + ) + ) + + self.padder_size = 2 ** len(self.encoders) + self.emb = partial(gamma_embedding, dim=64) + self.map = nn.Sequential( + nn.Linear(64, 256), + nn.SiLU(), + nn.Linear(256, 256), + ) + + def forward(self, inp, gammas): + t = self.map(self.emb(gammas.view(-1, ))) + B, C, H, W = inp.shape + inp = self.check_image_size(inp) + + x = self.intro(inp) + + encs = [] + + for encoder, down in zip(self.encoders, self.downs): + x = encoder(x, t) + encs.append(x) + x = down(x) + + x = self.middle_blks(x, t) + + for decoder, up, enc_skip in zip(self.decoders, self.ups, encs[::-1]): + x = up(x) + x = x + enc_skip + x = decoder(x, t) + + x = self.ending(x) + # x = x + self.inp_ending(inp) + + return x[:, :, :H, :W] + + def check_image_size(self, x): + _, _, h, w = x.size() + mod_pad_h = (self.padder_size - h % + self.padder_size) % self.padder_size + mod_pad_w = (self.padder_size - w % + self.padder_size) % self.padder_size + x = F.pad(x, (0, mod_pad_w, 0, mod_pad_h)) + return x + + +if __name__ == '__main__': + # img_channel = 5 + # width = 32 + + # # enc_blks = [2, 2, 4, 8] + # # middle_blk_num = 12 + # # dec_blks = [2, 2, 2, 2] + + # enc_blks = [1, 1, 1, 28] + # middle_blk_num = 1 + # dec_blks = [1, 1, 1, 1] + + # net = NAFNet( + # img_channel=img_channel, + # width=width, + # middle_blk_num=middle_blk_num, + # enc_blk_nums=enc_blks, + # dec_blk_nums=dec_blks, + # ) + + # inp_shape = (2, 5, 64, 64) + + # out_shape = net(torch.Tensor(*inp_shape)).shape + + # print(out_shape) + # print(UNet()) + # print(UNet()(*(torch.Tensor(1, 12, 256, 256), torch.ones(1,))).shape) + from thop import profile + from thop import clever_format + net = UNet(width=64, enc_blk_nums=[1,1,1,1], dec_blk_nums=[1,1,1,1]) + flops, params = profile(net, inputs=(torch.Tensor(1, 12, 256, 256), torch.ones(1,))) + flops, params = clever_format([flops, params], "%.3f") + print(flops, params) \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/ours/nafnet_ours.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/ours/nafnet_ours.py new file mode 100644 index 0000000000000000000000000000000000000000..745b8309d51e2b859dfcea27b36c357e956730f2 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/ours/nafnet_ours.py @@ -0,0 +1,308 @@ +import torch +import torch.nn as nn +import torch.nn.functional as F +from functools import partial +import math +from abc import abstractmethod + + +class EmbedBlock(nn.Module): + """ + Any module where forward() takes embeddings as a second argument. + """ + + @abstractmethod + def forward(self, x, emb): + """ + Apply the module to `x` given `emb` embeddings. + """ + + +class EmbedSequential(nn.Sequential, EmbedBlock): + """ + A sequential module that passes embeddings to the children that + support it as an extra input. + """ + + def forward(self, x, emb): + for layer in self: + if isinstance(layer, EmbedBlock): + x = layer(x, emb) + else: + x = layer(x) + return x + + +def gamma_embedding(gammas, dim, max_period=10000): + """ + Create sinusoidal timestep embeddings. + :param gammas: a 1-D Tensor of N indices, one per batch element. + These may be fractional. + :param dim: the dimension of the output. + :param max_period: controls the minimum frequency of the embeddings. + :return: an [N x dim] Tensor of positional embeddings. + """ + half = dim // 2 + freqs = torch.exp( + -math.log(max_period) * torch.arange(start=0, + end=half, dtype=torch.float32) / half + ).to(device=gammas.device) + args = gammas[:, None].float() * freqs[None] + embedding = torch.cat([torch.cos(args), torch.sin(args)], dim=-1) + if dim % 2: + embedding = torch.cat( + [embedding, torch.zeros_like(embedding[:, :1])], dim=-1) + return embedding + + +class LayerNormFunction(torch.autograd.Function): + + @staticmethod + def forward(ctx, x, weight, bias, eps): + ctx.eps = eps + N, C, H, W = x.size() + mu = x.mean(1, keepdim=True) + var = (x - mu).pow(2).mean(1, keepdim=True) + y = (x - mu) / (var + eps).sqrt() + ctx.save_for_backward(y, var, weight) + y = weight.view(1, C, 1, 1) * y + bias.view(1, C, 1, 1) + return y + + @staticmethod + def backward(ctx, grad_output): + eps = ctx.eps + + N, C, H, W = grad_output.size() + y, var, weight = ctx.saved_variables + g = grad_output * weight.view(1, C, 1, 1) + mean_g = g.mean(dim=1, keepdim=True) + + mean_gy = (g * y).mean(dim=1, keepdim=True) + gx = 1. / torch.sqrt(var + eps) * (g - y * mean_gy - mean_g) + return gx, (grad_output * y).sum(dim=3).sum(dim=2).sum(dim=0), grad_output.sum(dim=3).sum(dim=2).sum( + dim=0), None + + +class LayerNorm2d(nn.Module): + + def __init__(self, channels, eps=1e-6): + super(LayerNorm2d, self).__init__() + self.register_parameter('weight', nn.Parameter(torch.ones(channels))) + self.register_parameter('bias', nn.Parameter(torch.zeros(channels))) + self.eps = eps + + def forward(self, x): + return LayerNormFunction.apply(x, self.weight, self.bias, self.eps) + + +class SimpleGate(nn.Module): + def forward(self, x): + x1, x2 = x.chunk(2, dim=1) + return x1 * x2 + + +class NAFBlock(EmbedBlock): + def __init__(self, c, DW_Expand=2, FFN_Expand=4, drop_out_rate=0.): + super().__init__() + dw_channel = c * DW_Expand + # self.conv1 = nn.Conv2d(in_channels=c, out_channels=dw_channel, + # kernel_size=1, padding=0, stride=1, groups=1, bias=True) + # self.conv2 = nn.Conv2d(in_channels=dw_channel, out_channels=dw_channel, kernel_size=3, padding=1, stride=1, groups=dw_channel, + # bias=True) + # self.conv3 = nn.Conv2d(in_channels=dw_channel // 2, out_channels=c, + # kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + # # Simplified Channel Attention + # self.sca = nn.Sequential( + # nn.AdaptiveAvgPool2d(1), + # nn.Conv2d(in_channels=dw_channel // 2, out_channels=dw_channel // 2, kernel_size=1, padding=0, stride=1, + # groups=1, bias=True), + # ) + + # # SimpleGate + self.sg = nn.SiLU() + self.dwconv = nn.Conv2d(in_channels=c, out_channels=c, kernel_size=3, padding=1, stride=1, groups=c) + + ffn_channel = FFN_Expand * c + self.conv4 = nn.Conv2d(in_channels=c, out_channels=ffn_channel, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + self.conv5 = nn.Conv2d(in_channels=ffn_channel, out_channels=c, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + self.norm1 = LayerNorm2d(c) + self.norm2 = LayerNorm2d(c) + + self.dropout1 = nn.Dropout( + drop_out_rate) if drop_out_rate > 0. else nn.Identity() + self.dropout2 = nn.Dropout( + drop_out_rate) if drop_out_rate > 0. else nn.Identity() + + self.beta = nn.Parameter(torch.zeros((1, c, 1, 1)), requires_grad=True) + self.gamma = nn.Parameter(torch.zeros( + (1, c, 1, 1)), requires_grad=True) + self.time_emb = nn.Sequential( + nn.SiLU(), + nn.Linear(256, c), + ) + + def forward(self, inp, t): + x = inp + + x = self.norm1(x) + + # x = self.conv1(x) + # x = self.conv2(x) + # x = self.sg(x) + # x = x * self.sca(x) + # x = self.conv3(x) + x = self.dwconv(x) # replace 1 + + x = self.dropout1(x) + + y = inp + x * self.beta + + y = y+self.time_emb(t)[..., None, None] + + x = self.conv4(self.norm2(y)) + x = self.sg(x) # replace 2 + x = self.conv5(x) + + x = self.dropout2(x) + + return y + x * self.gamma + + +class UNet(nn.Module): + + def __init__( + self, + img_channel=12, + width=64, + middle_blk_num=1, + enc_blk_nums=[1, 1, 1, 1], + dec_blk_nums=[1, 1, 1, 1], + ): + super().__init__() + + self.intro = nn.Conv2d(in_channels=img_channel, out_channels=width, kernel_size=3, padding=1, stride=1, groups=1, + bias=True) + self.ending = nn.Conv2d(in_channels=width, out_channels=3, kernel_size=3, padding=1, stride=1, groups=1, + bias=True) + # self.inp_ending = nn.Conv2d(in_channels=img_channel, out_channels=3, kernel_size=3, padding=1, stride=1, groups=1, + # bias=True) + + self.encoders = nn.ModuleList() + self.decoders = nn.ModuleList() + self.middle_blks = nn.ModuleList() + self.ups = nn.ModuleList() + self.downs = nn.ModuleList() + + chan = width + for num in enc_blk_nums: + self.encoders.append( + EmbedSequential( + *[NAFBlock(chan) for _ in range(num)] + ) + ) + self.downs.append( + nn.Conv2d(chan, 2*chan, 2, 2) + ) + chan = chan * 2 + + self.middle_blks = \ + EmbedSequential( + *[NAFBlock(chan) for _ in range(middle_blk_num)] + ) + + for num in dec_blk_nums: + self.ups.append( + nn.Sequential( + nn.Conv2d(chan, chan * 2, 1, bias=False), + nn.PixelShuffle(2) + ) + ) + chan = chan // 2 + self.decoders.append( + EmbedSequential( + *[NAFBlock(chan) for _ in range(num)] + ) + ) + + self.padder_size = 2 ** len(self.encoders) + self.emb = partial(gamma_embedding, dim=64) + self.map = nn.Sequential( + nn.Linear(64, 256), + nn.SiLU(), + nn.Linear(256, 256), + ) + + def forward(self, inp, gammas): + t = self.map(self.emb(gammas.view(-1, ))) + B, C, H, W = inp.shape + inp = self.check_image_size(inp) + + x = self.intro(inp) + + encs = [] + + for encoder, down in zip(self.encoders, self.downs): + x = encoder(x, t) + encs.append(x) + x = down(x) + + x = self.middle_blks(x, t) + + for decoder, up, enc_skip in zip(self.decoders, self.ups, encs[::-1]): + x = up(x) + x = x + enc_skip + x = decoder(x, t) + + x = self.ending(x) + # x = x + self.inp_ending(inp) + + return x[:, :, :H, :W] + + def check_image_size(self, x): + _, _, h, w = x.size() + mod_pad_h = (self.padder_size - h % + self.padder_size) % self.padder_size + mod_pad_w = (self.padder_size - w % + self.padder_size) % self.padder_size + x = F.pad(x, (0, mod_pad_w, 0, mod_pad_h)) + return x + + +if __name__ == '__main__': + # img_channel = 5 + # width = 32 + + # # enc_blks = [2, 2, 4, 8] + # # middle_blk_num = 12 + # # dec_blks = [2, 2, 2, 2] + + # enc_blks = [1, 1, 1, 28] + # middle_blk_num = 1 + # dec_blks = [1, 1, 1, 1] + + # net = NAFNet( + # img_channel=img_channel, + # width=width, + # middle_blk_num=middle_blk_num, + # enc_blk_nums=enc_blks, + # dec_blk_nums=dec_blks, + # ) + + # inp_shape = (2, 5, 64, 64) + + # out_shape = net(torch.Tensor(*inp_shape)).shape + + # print(out_shape) + # print(UNet()) + print(UNet()(*(torch.Tensor(1, 12, 256, 256), torch.ones(1,))).shape) + from thop import profile + from thop import clever_format + net = UNet() + flops, params = profile(net, inputs=( + torch.Tensor(1, 12, 256, 256), torch.ones(1,))) + flops, params = clever_format([flops, params], "%.3f") + print(flops, params) diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/ours/nafnet_res_noinp.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/ours/nafnet_res_noinp.py new file mode 100644 index 0000000000000000000000000000000000000000..99e4269e6bda07068972d228afdc431a17627412 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/ours/nafnet_res_noinp.py @@ -0,0 +1,348 @@ +import torch +import torch.nn as nn +import torch.nn.functional as F +from functools import partial +import math +from abc import abstractmethod + +class GroupNorm32(nn.GroupNorm): + def forward(self, x): + return super().forward(x.float()).type(x.dtype) + + +def zero_module(module): + """ + Zero out the parameters of a module and return it. + """ + for p in module.parameters(): + p.detach().zero_() + return module + + +def scale_module(module, scale): + """ + Scale the parameters of a module and return it. + """ + for p in module.parameters(): + p.detach().mul_(scale) + return module + + +def mean_flat(tensor): + """ + Take the mean over all non-batch dimensions. + """ + return tensor.mean(dim=list(range(1, len(tensor.shape)))) + + +def normalization(channels): + """ + Make a standard normalization layer. + + :param channels: number of input channels. + :return: an nn.Module for normalization. + """ + return GroupNorm32(32, channels) + +class EmbedBlock(nn.Module): + """ + Any module where forward() takes embeddings as a second argument. + """ + + @abstractmethod + def forward(self, x, emb): + """ + Apply the module to `x` given `emb` embeddings. + """ + + +class EmbedSequential(nn.Sequential, EmbedBlock): + """ + A sequential module that passes embeddings to the children that + support it as an extra input. + """ + + def forward(self, x, emb): + for layer in self: + if isinstance(layer, EmbedBlock): + x = layer(x, emb) + else: + x = layer(x) + return x + + +def gamma_embedding(gammas, dim, max_period=10000): + """ + Create sinusoidal timestep embeddings. + :param gammas: a 1-D Tensor of N indices, one per batch element. + These may be fractional. + :param dim: the dimension of the output. + :param max_period: controls the minimum frequency of the embeddings. + :return: an [N x dim] Tensor of positional embeddings. + """ + half = dim // 2 + freqs = torch.exp( + -math.log(max_period) * torch.arange(start=0, + end=half, dtype=torch.float32) / half + ).to(device=gammas.device) + args = gammas[:, None].float() * freqs[None] + embedding = torch.cat([torch.cos(args), torch.sin(args)], dim=-1) + if dim % 2: + embedding = torch.cat( + [embedding, torch.zeros_like(embedding[:, :1])], dim=-1) + return embedding + + +class LayerNormFunction(torch.autograd.Function): + + @staticmethod + def forward(ctx, x, weight, bias, eps): + ctx.eps = eps + N, C, H, W = x.size() + mu = x.mean(1, keepdim=True) + var = (x - mu).pow(2).mean(1, keepdim=True) + y = (x - mu) / (var + eps).sqrt() + ctx.save_for_backward(y, var, weight) + y = weight.view(1, C, 1, 1) * y + bias.view(1, C, 1, 1) + return y + + @staticmethod + def backward(ctx, grad_output): + eps = ctx.eps + + N, C, H, W = grad_output.size() + y, var, weight = ctx.saved_variables + g = grad_output * weight.view(1, C, 1, 1) + mean_g = g.mean(dim=1, keepdim=True) + + mean_gy = (g * y).mean(dim=1, keepdim=True) + gx = 1. / torch.sqrt(var + eps) * (g - y * mean_gy - mean_g) + return gx, (grad_output * y).sum(dim=3).sum(dim=2).sum(dim=0), grad_output.sum(dim=3).sum(dim=2).sum( + dim=0), None + + +class LayerNorm2d(nn.Module): + + def __init__(self, channels, eps=1e-6): + super(LayerNorm2d, self).__init__() + self.register_parameter('weight', nn.Parameter(torch.ones(channels))) + self.register_parameter('bias', nn.Parameter(torch.zeros(channels))) + self.eps = eps + + def forward(self, x): + return LayerNormFunction.apply(x, self.weight, self.bias, self.eps) + + +class SimpleGate(nn.Module): + def forward(self, x): + x1, x2 = x.chunk(2, dim=1) + return x1 * x2 + + +class NAFBlock(EmbedBlock): + def __init__(self, c, DW_Expand=2, FFN_Expand=4, drop_out_rate=0.): + super().__init__() + dw_channel = c * DW_Expand + # self.conv1 = nn.Conv2d(in_channels=c, out_channels=dw_channel, + # kernel_size=1, padding=0, stride=1, groups=1, bias=True) + # self.conv2 = nn.Conv2d(in_channels=dw_channel, out_channels=dw_channel, kernel_size=3, padding=1, stride=1, groups=dw_channel, + # bias=True) + # self.conv3 = nn.Conv2d(in_channels=dw_channel // 2, out_channels=c, + # kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + # # Simplified Channel Attention + # self.sca = nn.Sequential( + # nn.AdaptiveAvgPool2d(1), + # nn.Conv2d(in_channels=dw_channel // 2, out_channels=dw_channel // 2, kernel_size=1, padding=0, stride=1, + # groups=1, bias=True), + # ) + + # # SimpleGate + self.sg1 = nn.SiLU() + self.sg2 = nn.SiLU() + # self.dwconv = nn.Conv2d(in_channels=c, out_channels=c, kernel_size=3, padding=1, stride=1, groups=c) + + # ffn_channel = FFN_Expand * c + # self.conv4 = nn.Conv2d(in_channels=c, out_channels=ffn_channel, + # kernel_size=1, padding=0, stride=1, groups=1, bias=True) + # self.conv5 = nn.Conv2d(in_channels=ffn_channel, out_channels=c, + # kernel_size=1, padding=0, stride=1, groups=1, bias=True) + self.conv1 = nn.Conv2d(in_channels=c, out_channels=c, kernel_size=3, padding=1, stride=1) + self.conv2 = nn.Conv2d(in_channels=c, out_channels=c, kernel_size=3, padding=1, stride=1) + # self.conv3 = nn.Conv2d(in_channels=c, out_channels=c, kernel_size=1) + + self.norm1 = normalization(c) + self.norm2 = normalization(c) + + # self.dropout1 = nn.Dropout( + # drop_out_rate) if drop_out_rate > 0. else nn.Identity() + # self.dropout2 = nn.Dropout( + # drop_out_rate) if drop_out_rate > 0. else nn.Identity() + + # self.beta = nn.Parameter(torch.zeros((1, c, 1, 1)), requires_grad=True) + # self.gamma = nn.Parameter(torch.zeros( + # (1, c, 1, 1)), requires_grad=True) + self.time_emb = nn.Sequential( + nn.SiLU(), + nn.Linear(256, c), + ) + + def forward(self, inp, t): + x = inp + + x = self.norm1(x) + x = self.sg1(x) + # x = self.conv1(x) + # x = self.conv2(x) + # x = self.sg(x) + # x = x * self.sca(x) + # x = self.conv3(x) + x = self.conv1(x) # replace 1 + + # x = self.dropout1(x) + + # y = inp + x * self.beta + + y = x+self.time_emb(t)[..., None, None] + + x = self.norm2(y) + x = self.sg2(x) # replace 2 + x = self.conv2(x) + + return x+inp + + +class UNet(nn.Module): + + def __init__( + self, + img_channel=12, + width=64, + middle_blk_num=1, + enc_blk_nums=[1, 1, 1, 1], + dec_blk_nums=[1, 1, 1, 1], + ): + super().__init__() + + self.intro = nn.Conv2d(in_channels=img_channel, out_channels=width, kernel_size=3, padding=1, stride=1, groups=1, + bias=True) + self.ending = nn.Conv2d(in_channels=width, out_channels=3, kernel_size=3, padding=1, stride=1, groups=1, + bias=True) + # self.inp_ending = nn.Conv2d(in_channels=img_channel, out_channels=3, kernel_size=3, padding=1, stride=1, groups=1, + # bias=True) + + self.encoders = nn.ModuleList() + self.decoders = nn.ModuleList() + self.middle_blks = nn.ModuleList() + self.ups = nn.ModuleList() + self.downs = nn.ModuleList() + + chan = width + for num in enc_blk_nums: + self.encoders.append( + EmbedSequential( + *[NAFBlock(chan) for _ in range(num)] + ) + ) + self.downs.append( + nn.Conv2d(chan, 2*chan, 2, 2) + ) + chan = chan * 2 + + self.middle_blks = \ + EmbedSequential( + *[NAFBlock(chan) for _ in range(middle_blk_num)] + ) + + for num in dec_blk_nums: + self.ups.append( + nn.Sequential( + nn.Conv2d(chan, chan * 2, 1, bias=False), + nn.PixelShuffle(2) + ) + ) + chan = chan // 2 + self.decoders.append( + EmbedSequential( + *[NAFBlock(chan) for _ in range(num)] + ) + ) + + self.padder_size = 2 ** len(self.encoders) + self.emb = partial(gamma_embedding, dim=64) + self.map = nn.Sequential( + nn.Linear(64, 256), + nn.SiLU(), + nn.Linear(256, 256), + ) + + def forward(self, inp, gammas): + t = self.map(self.emb(gammas.view(-1, ))) + B, C, H, W = inp.shape + inp = self.check_image_size(inp) + + x = self.intro(inp) + + encs = [] + + for encoder, down in zip(self.encoders, self.downs): + x = encoder(x, t) + encs.append(x) + x = down(x) + + x = self.middle_blks(x, t) + + for decoder, up, enc_skip in zip(self.decoders, self.ups, encs[::-1]): + x = up(x) + x = x + enc_skip + x = decoder(x, t) + + x = self.ending(x) + # x = x + self.inp_ending(inp) + + return x[:, :, :H, :W] + + def check_image_size(self, x): + _, _, h, w = x.size() + mod_pad_h = (self.padder_size - h % + self.padder_size) % self.padder_size + mod_pad_w = (self.padder_size - w % + self.padder_size) % self.padder_size + x = F.pad(x, (0, mod_pad_w, 0, mod_pad_h)) + return x + + +if __name__ == '__main__': + # img_channel = 5 + # width = 32 + + # # enc_blks = [2, 2, 4, 8] + # # middle_blk_num = 12 + # # dec_blks = [2, 2, 2, 2] + + # enc_blks = [1, 1, 1, 28] + # middle_blk_num = 1 + # dec_blks = [1, 1, 1, 1] + + # net = NAFNet( + # img_channel=img_channel, + # width=width, + # middle_blk_num=middle_blk_num, + # enc_blk_nums=enc_blks, + # dec_blk_nums=dec_blks, + # ) + + # inp_shape = (2, 5, 64, 64) + + # out_shape = net(torch.Tensor(*inp_shape)).shape + + # print(out_shape) + # print(UNet()) + print(UNet()(*(torch.Tensor(1, 12, 256, 256), torch.ones(1,))).shape) + from thop import profile + from thop import clever_format + net = UNet() + flops, params = profile(net, inputs=( + torch.Tensor(1, 12, 256, 256), torch.ones(1,))) + flops, params = clever_format([flops, params], "%.3f") + print(flops, params) diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/ours/nafnet_reverseca_noinp.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/ours/nafnet_reverseca_noinp.py new file mode 100644 index 0000000000000000000000000000000000000000..cc77ab1ba90cf5ab91daaaff7f9c9377941d8e76 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/ours/nafnet_reverseca_noinp.py @@ -0,0 +1,305 @@ +import torch +import torch.nn as nn +import torch.nn.functional as F +from functools import partial +import math +from abc import abstractmethod + +class EmbedBlock(nn.Module): + """ + Any module where forward() takes embeddings as a second argument. + """ + + @abstractmethod + def forward(self, x, emb): + """ + Apply the module to `x` given `emb` embeddings. + """ + + +class EmbedSequential(nn.Sequential, EmbedBlock): + """ + A sequential module that passes embeddings to the children that + support it as an extra input. + """ + + def forward(self, x, emb): + for layer in self: + if isinstance(layer, EmbedBlock): + x = layer(x, emb) + else: + x = layer(x) + return x + +def gamma_embedding(gammas, dim, max_period=10000): + """ + Create sinusoidal timestep embeddings. + :param gammas: a 1-D Tensor of N indices, one per batch element. + These may be fractional. + :param dim: the dimension of the output. + :param max_period: controls the minimum frequency of the embeddings. + :return: an [N x dim] Tensor of positional embeddings. + """ + half = dim // 2 + freqs = torch.exp( + -math.log(max_period) * torch.arange(start=0, + end=half, dtype=torch.float32) / half + ).to(device=gammas.device) + args = gammas[:, None].float() * freqs[None] + embedding = torch.cat([torch.cos(args), torch.sin(args)], dim=-1) + if dim % 2: + embedding = torch.cat( + [embedding, torch.zeros_like(embedding[:, :1])], dim=-1) + return embedding + + +class LayerNormFunction(torch.autograd.Function): + + @staticmethod + def forward(ctx, x, weight, bias, eps): + ctx.eps = eps + N, C, H, W = x.size() + mu = x.mean(1, keepdim=True) + var = (x - mu).pow(2).mean(1, keepdim=True) + y = (x - mu) / (var + eps).sqrt() + ctx.save_for_backward(y, var, weight) + y = weight.view(1, C, 1, 1) * y + bias.view(1, C, 1, 1) + return y + + @staticmethod + def backward(ctx, grad_output): + eps = ctx.eps + + N, C, H, W = grad_output.size() + y, var, weight = ctx.saved_variables + g = grad_output * weight.view(1, C, 1, 1) + mean_g = g.mean(dim=1, keepdim=True) + + mean_gy = (g * y).mean(dim=1, keepdim=True) + gx = 1. / torch.sqrt(var + eps) * (g - y * mean_gy - mean_g) + return gx, (grad_output * y).sum(dim=3).sum(dim=2).sum(dim=0), grad_output.sum(dim=3).sum(dim=2).sum( + dim=0), None + + +class LayerNorm2d(nn.Module): + + def __init__(self, channels, eps=1e-6): + super(LayerNorm2d, self).__init__() + self.register_parameter('weight', nn.Parameter(torch.ones(channels))) + self.register_parameter('bias', nn.Parameter(torch.zeros(channels))) + self.eps = eps + + def forward(self, x): + return LayerNormFunction.apply(x, self.weight, self.bias, self.eps) + + +class SimpleGate(nn.Module): + def forward(self, x): + x1, x2 = x.chunk(2, dim=1) + return x1 * x2 + + +class NAFBlock(EmbedBlock): + def __init__(self, c, DW_Expand=2, FFN_Expand=2, drop_out_rate=0.): + super().__init__() + dw_channel = c * DW_Expand + self.conv1 = nn.Conv2d(in_channels=c, out_channels=dw_channel, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + self.conv2 = nn.Conv2d(in_channels=dw_channel, out_channels=dw_channel, kernel_size=3, padding=1, stride=1, groups=dw_channel, + bias=True) + self.conv3 = nn.Conv2d(in_channels=dw_channel // 2, out_channels=c, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + # Simplified Channel Attention + self.sca_avg = nn.Sequential( + nn.Conv2d(in_channels=dw_channel // 2, out_channels=dw_channel, kernel_size=1, padding=0, stride=1, + groups=1, bias=True), + nn.AdaptiveAvgPool2d(1), + nn.Conv2d(in_channels=dw_channel, out_channels=dw_channel // 2, kernel_size=1, padding=0, stride=1, + groups=1, bias=True), + ) + + # SimpleGate + self.sg = SimpleGate() + + ffn_channel = FFN_Expand * c + self.conv4 = nn.Conv2d(in_channels=c, out_channels=ffn_channel, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + self.conv5 = nn.Conv2d(in_channels=ffn_channel // 2, out_channels=c, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + self.norm1 = LayerNorm2d(c) + self.norm2 = LayerNorm2d(c) + + self.dropout1 = nn.Dropout( + drop_out_rate) if drop_out_rate > 0. else nn.Identity() + self.dropout2 = nn.Dropout( + drop_out_rate) if drop_out_rate > 0. else nn.Identity() + + self.beta = nn.Parameter(torch.zeros((1, c, 1, 1)), requires_grad=True) + self.gamma = nn.Parameter(torch.zeros( + (1, c, 1, 1)), requires_grad=True) + self.time_emb = nn.Sequential( + nn.SiLU(), + nn.Linear(256, c), + ) + + def forward(self, inp, t): + x = inp + + x = self.norm1(x) + + x = self.conv1(x) + x = self.conv2(x) + x = self.sg(x) + x = x * self.sca_avg(x) + x = self.conv3(x) + + x = self.dropout1(x) + + y = inp + x * self.beta + + y = y+self.time_emb(t)[..., None, None] + + x = self.conv4(self.norm2(y)) + x = self.sg(x) + x = self.conv5(x) + + x = self.dropout2(x) + + return y + x * self.gamma + + +class UNet(nn.Module): + + def __init__( + self, + img_channel=12, + width=64, + middle_blk_num=1, + enc_blk_nums=[1, 1, 1, 1], + dec_blk_nums=[1, 1, 1, 1], + ): + super().__init__() + + self.intro = nn.Conv2d(in_channels=img_channel, out_channels=width, kernel_size=3, padding=1, stride=1, groups=1, + bias=True) + self.ending = nn.Conv2d(in_channels=width, out_channels=3, kernel_size=3, padding=1, stride=1, groups=1, + bias=True) + # self.inp_ending = nn.Conv2d(in_channels=img_channel, out_channels=3, kernel_size=3, padding=1, stride=1, groups=1, + # bias=True) + + self.encoders = nn.ModuleList() + self.decoders = nn.ModuleList() + self.middle_blks = nn.ModuleList() + self.ups = nn.ModuleList() + self.downs = nn.ModuleList() + + chan = width + for num in enc_blk_nums: + self.encoders.append( + EmbedSequential( + *[NAFBlock(chan) for _ in range(num)] + ) + ) + self.downs.append( + nn.Conv2d(chan, 2*chan, 2, 2) + ) + chan = chan * 2 + + self.middle_blks = \ + EmbedSequential( + *[NAFBlock(chan) for _ in range(middle_blk_num)] + ) + + for num in dec_blk_nums: + self.ups.append( + nn.Sequential( + nn.Conv2d(chan, chan * 2, 1, bias=False), + nn.PixelShuffle(2) + ) + ) + chan = chan // 2 + self.decoders.append( + EmbedSequential( + *[NAFBlock(chan) for _ in range(num)] + ) + ) + + self.padder_size = 2 ** len(self.encoders) + self.emb = partial(gamma_embedding, dim=64) + self.map = nn.Sequential( + nn.Linear(64, 256), + nn.SiLU(), + nn.Linear(256, 256), + ) + + def forward(self, inp, gammas): + t = self.map(self.emb(gammas.view(-1, ))) + B, C, H, W = inp.shape + inp = self.check_image_size(inp) + + x = self.intro(inp) + + encs = [] + + for encoder, down in zip(self.encoders, self.downs): + x = encoder(x, t) + encs.append(x) + x = down(x) + + x = self.middle_blks(x, t) + + for decoder, up, enc_skip in zip(self.decoders, self.ups, encs[::-1]): + x = up(x) + x = x + enc_skip + x = decoder(x, t) + + x = self.ending(x) + # x = x + self.inp_ending(inp) + + return x[:, :, :H, :W] + + def check_image_size(self, x): + _, _, h, w = x.size() + mod_pad_h = (self.padder_size - h % + self.padder_size) % self.padder_size + mod_pad_w = (self.padder_size - w % + self.padder_size) % self.padder_size + x = F.pad(x, (0, mod_pad_w, 0, mod_pad_h)) + return x + + +if __name__ == '__main__': + # img_channel = 5 + # width = 32 + + # # enc_blks = [2, 2, 4, 8] + # # middle_blk_num = 12 + # # dec_blks = [2, 2, 2, 2] + + # enc_blks = [1, 1, 1, 28] + # middle_blk_num = 1 + # dec_blks = [1, 1, 1, 1] + + # net = NAFNet( + # img_channel=img_channel, + # width=width, + # middle_blk_num=middle_blk_num, + # enc_blk_nums=enc_blks, + # dec_blk_nums=dec_blks, + # ) + + # inp_shape = (2, 5, 64, 64) + + # out_shape = net(torch.Tensor(*inp_shape)).shape + + # print(out_shape) + # print(UNet()) + # print(UNet()(*(torch.Tensor(1, 12, 256, 256), torch.ones(1,))).shape) + from thop import profile + from thop import clever_format + net = UNet(width=64, enc_blk_nums=[1,1,1,1], dec_blk_nums=[1,1,1,1]) + flops, params = profile(net, inputs=(torch.Tensor(1, 12, 256, 256), torch.ones(1,))) + flops, params = clever_format([flops, params], "%.3f") + print(params, flops) \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/ours/nafnet_sum_no_condskip_nodrop_noparams_splitca_double_encoder_decoder_noCondFFN_middle_fusion.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/ours/nafnet_sum_no_condskip_nodrop_noparams_splitca_double_encoder_decoder_noCondFFN_middle_fusion.py new file mode 100644 index 0000000000000000000000000000000000000000..aa457654a4ae1ccc566f58f223c8a26b9c9e9745 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/ours/nafnet_sum_no_condskip_nodrop_noparams_splitca_double_encoder_decoder_noCondFFN_middle_fusion.py @@ -0,0 +1,414 @@ +import torch +import torch.nn as nn +import torch.nn.functional as F +from functools import partial +import math +from abc import abstractmethod + +class EmbedBlock(nn.Module): + """ + Any module where forward() takes embeddings as a second argument. + """ + + @abstractmethod + def forward(self, x, emb, cond): + """ + Apply the module to `x` given `emb` embeddings. + """ + + +class EmbedSequential(nn.Sequential, EmbedBlock): + """ + A sequential module that passes embeddings to the children that + support it as an extra input. + """ + + def forward(self, x, emb, cond): + for layer in self: + if isinstance(layer, EmbedBlock): + x = layer(x, emb, cond) + else: + x = layer(x) + return x + +def gamma_embedding(gammas, dim, max_period=10000): + """ + Create sinusoidal timestep embeddings. + :param gammas: a 1-D Tensor of N indices, one per batch element. + These may be fractional. + :param dim: the dimension of the output. + :param max_period: controls the minimum frequency of the embeddings. + :return: an [N x dim] Tensor of positional embeddings. + """ + half = dim // 2 + freqs = torch.exp( + -math.log(max_period) * torch.arange(start=0, + end=half, dtype=torch.float32) / half + ).to(device=gammas.device) + args = gammas[:, None].float() * freqs[None] + embedding = torch.cat([torch.cos(args), torch.sin(args)], dim=-1) + if dim % 2: + embedding = torch.cat( + [embedding, torch.zeros_like(embedding[:, :1])], dim=-1) + return embedding + + +class LayerNormFunction(torch.autograd.Function): + + @staticmethod + def forward(ctx, x, weight, bias, eps): + ctx.eps = eps + N, C, H, W = x.size() + mu = x.mean(1, keepdim=True) + var = (x - mu).pow(2).mean(1, keepdim=True) + y = (x - mu) / (var + eps).sqrt() + ctx.save_for_backward(y, var, weight) + y = weight.view(1, C, 1, 1) * y + bias.view(1, C, 1, 1) + return y + + @staticmethod + def backward(ctx, grad_output): + eps = ctx.eps + + N, C, H, W = grad_output.size() + y, var, weight = ctx.saved_variables + g = grad_output * weight.view(1, C, 1, 1) + mean_g = g.mean(dim=1, keepdim=True) + + mean_gy = (g * y).mean(dim=1, keepdim=True) + gx = 1. / torch.sqrt(var + eps) * (g - y * mean_gy - mean_g) + return gx, (grad_output * y).sum(dim=3).sum(dim=2).sum(dim=0), grad_output.sum(dim=3).sum(dim=2).sum( + dim=0), None + + +class LayerNorm2d(nn.Module): + + def __init__(self, channels, eps=1e-6): + super(LayerNorm2d, self).__init__() + self.register_parameter('weight', nn.Parameter(torch.ones(channels))) + self.register_parameter('bias', nn.Parameter(torch.zeros(channels))) + self.eps = eps + + def forward(self, x): + return LayerNormFunction.apply(x, self.weight, self.bias, self.eps) + + +class SimpleGate(nn.Module): + def forward(self, x): + x1, x2 = x.chunk(2, dim=1) + return x1 * x2 + +class CondNAFBlock(nn.Module): + def __init__(self, c, DW_Expand=2, FFN_Expand=2, drop_out_rate=0.): + super().__init__() + dw_channel = c * DW_Expand + self.conv1 = nn.Conv2d(in_channels=c, out_channels=dw_channel, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + self.conv2 = nn.Conv2d(in_channels=dw_channel, out_channels=dw_channel, kernel_size=3, padding=1, stride=1, groups=dw_channel, + bias=True) + self.conv3 = nn.Conv2d(in_channels=dw_channel // 4, out_channels=c, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + # Simplified Channel Attention + self.sca_avg = nn.Sequential( + nn.AdaptiveAvgPool2d(1), + nn.Conv2d(in_channels=dw_channel // 4, out_channels=dw_channel // 4, kernel_size=1, padding=0, stride=1, + groups=1, bias=True), + ) + self.sca_max = nn.Sequential( + nn.AdaptiveMaxPool2d(1), + nn.Conv2d(in_channels=dw_channel // 4, out_channels=dw_channel // 4, kernel_size=1, padding=0, stride=1, + groups=1, bias=True), + ) + + # SimpleGate + self.sg = SimpleGate() + + # ffn_channel = FFN_Expand * c + # self.conv4 = nn.Conv2d(in_channels=c, out_channels=ffn_channel, + # kernel_size=1, padding=0, stride=1, groups=1, bias=True) + # self.conv5 = nn.Conv2d(in_channels=ffn_channel // 2, out_channels=c, + # kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + self.norm1 = LayerNorm2d(c) + # self.norm2 = LayerNorm2d(c) + + # self.dropout1 = nn.Dropout( + # drop_out_rate) if drop_out_rate > 0. else nn.Identity() + # self.dropout2 = nn.Dropout( + # drop_out_rate) if drop_out_rate > 0. else nn.Identity() + + # self.beta = nn.Parameter(torch.zeros((1, c, 1, 1)), requires_grad=True) + # self.gamma = nn.Parameter(torch.zeros( + # (1, c, 1, 1)), requires_grad=True) + + def forward(self, inp): + x = inp + + x = self.norm1(x) + + x = self.conv1(x) + x = self.conv2(x) + x = self.sg(x) + x_avg, x_max = x.chunk(2, dim=1) + x_avg = self.sca_avg(x_avg)*x_avg + x_max = self.sca_max(x_max)*x_max + # x = torch.cat([x_avg, x_max], dim=1) + x = x_avg+x_max + x = self.conv3(x) + + # x = self.dropout1(x) + + # y = inp + x * self.beta + y = inp+x + + # x = self.conv4(self.norm2(y)) + # x = self.sg(x) + # x = self.conv5(x) + + # x = self.dropout2(x) + + # return y + x * self.gamma + return y + +class NAFBlock(EmbedBlock): + def __init__(self, c, DW_Expand=2, FFN_Expand=2, drop_out_rate=0.): + super().__init__() + dw_channel = c * DW_Expand + self.conv1 = nn.Conv2d(in_channels=c, out_channels=dw_channel, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + self.conv2 = nn.Conv2d(in_channels=dw_channel, out_channels=dw_channel, kernel_size=3, padding=1, stride=1, groups=dw_channel, + bias=True) + self.conv3 = nn.Conv2d(in_channels=dw_channel // 4, out_channels=c, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + # Simplified Channel Attention + self.sca_avg = nn.Sequential( + nn.AdaptiveAvgPool2d(1), + nn.Conv2d(in_channels=dw_channel // 4, out_channels=dw_channel // 4, kernel_size=1, padding=0, stride=1, + groups=1, bias=True), + ) + self.sca_max = nn.Sequential( + nn.AdaptiveMaxPool2d(1), + nn.Conv2d(in_channels=dw_channel // 4, out_channels=dw_channel // 4, kernel_size=1, padding=0, stride=1, + groups=1, bias=True), + ) + + # SimpleGate + self.sg = SimpleGate() + + ffn_channel = FFN_Expand * c + self.conv4 = nn.Conv2d(in_channels=c, out_channels=ffn_channel, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + self.conv5 = nn.Conv2d(in_channels=ffn_channel // 2, out_channels=c, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + self.norm1 = LayerNorm2d(c) + self.norm2 = LayerNorm2d(c) + + # self.dropout1 = nn.Dropout( + # drop_out_rate) if drop_out_rate > 0. else nn.Identity() + # self.dropout2 = nn.Dropout( + # drop_out_rate) if drop_out_rate > 0. else nn.Identity() + + # self.beta = nn.Parameter(torch.zeros((1, c, 1, 1)), requires_grad=True) + # self.gamma = nn.Parameter(torch.zeros( + # (1, c, 1, 1)), requires_grad=True) + self.time_emb = nn.Sequential( + nn.SiLU(), + nn.Linear(256, c), + ) + + def forward(self, inp, t, cond): + x = inp + + x = self.norm1(x) + + x = self.conv1(x) + x = self.conv2(x) + x = self.sg(x) + x_avg, x_max = x.chunk(2, dim=1) + x_avg = self.sca_avg(x_avg)*x_avg + x_max = self.sca_max(x_max)*x_max + # x = torch.cat([x_avg, x_max], dim=1) + x = x_avg+x_max + x = self.conv3(x) + + # x = self.dropout1(x) + + # y = inp + x * self.beta + y = inp + x + + b, c, h, w = cond.shape + tmp_cond = cond.view(b//3, 3, c, h, w).sum(dim=1) + y = y+self.time_emb(t)[..., None, None]+tmp_cond + + x = self.conv4(self.norm2(y)) + x = self.sg(x) + x = self.conv5(x) + + # x = self.dropout2(x) + + # return y + x * self.gamma + return y+x + + +class UNet(nn.Module): + + def __init__( + self, + img_channel=3, + width=64, + middle_blk_num=1, + enc_blk_nums=[1, 1, 1, 1], + dec_blk_nums=[1, 1, 1, 1], + ): + super().__init__() + + self.intro = nn.Conv2d(in_channels=img_channel, out_channels=width, kernel_size=3, padding=1, stride=1, groups=1, + bias=True) + self.cond_intro = nn.Conv2d(in_channels=img_channel, out_channels=width, kernel_size=3, padding=1, stride=1, groups=1, + bias=True) + self.ending = nn.Conv2d(in_channels=width, out_channels=3, kernel_size=3, padding=1, stride=1, groups=1, + bias=True) + # self.inp_ending = nn.Conv2d(in_channels=img_channel, out_channels=3, kernel_size=3, padding=1, stride=1, groups=1, + # bias=True) + + self.encoders = nn.ModuleList() + self.cond_encoders = nn.ModuleList() + + self.decoders = nn.ModuleList() + + self.middle_blks = nn.ModuleList() + + self.ups = nn.ModuleList() + + self.downs = nn.ModuleList() + self.cond_downs = nn.ModuleList() + + chan = width + for num in enc_blk_nums: + self.encoders.append( + EmbedSequential( + *[NAFBlock(chan) for _ in range(num)] + ) + ) + self.cond_encoders.append( + nn.Sequential( + *[CondNAFBlock(chan) for _ in range(num)] + ) + ) + self.downs.append( + nn.Conv2d(chan, 2*chan, 2, 2) + ) + self.cond_downs.append( + nn.Conv2d(chan, 2*chan, 2, 2) + ) + chan = chan * 2 + + self.middle_blks = \ + EmbedSequential( + *[NAFBlock(chan) for _ in range(middle_blk_num)] + ) + + for num in dec_blk_nums: + self.ups.append( + nn.Sequential( + nn.Conv2d(chan, chan * 2, 1, bias=False), + nn.PixelShuffle(2) + ) + ) + chan = chan // 2 + self.decoders.append( + EmbedSequential( + *[NAFBlock(chan) for _ in range(num)] + ) + ) + + self.padder_size = 2 ** len(self.encoders) + self.emb = partial(gamma_embedding, dim=64) + self.map = nn.Sequential( + nn.Linear(64, 256), + nn.SiLU(), + nn.Linear(256, 256), + ) + + def forward(self, inp, gammas): + t = self.map(self.emb(gammas.view(-1, ))) + inp = self.check_image_size(inp) + + x1, x2, x3, x = inp.chunk(4, dim=1) + cond = torch.stack([x1, x2, x3], dim=1) + b, n, c, h, w = cond.shape + cond = cond.view(b*n, c, h, w) + x = self.intro(x) + cond = self.cond_intro(cond) + + + encs = [] + cond_encs = [] + + for encoder, down, cond_encoder, cond_down in zip(self.encoders, self.downs, self.cond_encoders, self.cond_downs): + cond = cond_encoder(cond) + x = encoder(x, t, cond) + encs.append(x) + cond_encs.append(cond) + x = down(x) + cond = cond_down(cond) + + x = self.middle_blks(x, t, cond) + + for decoder, up, enc_skip, cond_skip in zip(self.decoders, self.ups, encs[::-1], cond_encs[::-1]): + x = up(x) + x = x + enc_skip + x = decoder(x, t, cond_skip) + + x = self.ending(x) + # x = x + self.inp_ending(inp) + + + return x + + def check_image_size(self, x): + _, _, h, w = x.size() + mod_pad_h = (self.padder_size - h % + self.padder_size) % self.padder_size + mod_pad_w = (self.padder_size - w % + self.padder_size) % self.padder_size + x = F.pad(x, (0, mod_pad_w, 0, mod_pad_h)) + return x + + +if __name__ == '__main__': + # img_channel = 5 + # width = 32 + + # # enc_blks = [2, 2, 4, 8] + # # middle_blk_num = 12 + # # dec_blks = [2, 2, 2, 2] + + # enc_blks = [1, 1, 1, 28] + # middle_blk_num = 1 + # dec_blks = [1, 1, 1, 1] + + # net = NAFNet( + # img_channel=img_channel, + # width=width, + # middle_blk_num=middle_blk_num, + # enc_blk_nums=enc_blks, + # dec_blk_nums=dec_blks, + # ) + + # inp_shape = (2, 5, 64, 64) + + # out_shape = net(torch.Tensor(*inp_shape)).shape + + # print(out_shape) + # print(UNet()) + print(UNet()(*(torch.Tensor(1, 12, 256, 256), torch.ones(1,))).shape) + from thop import profile + from thop import clever_format + net = UNet() + flops, params = profile(net, inputs=(torch.Tensor(1, 12, 256, 256), torch.ones(1,))) + flops, params = clever_format([flops, params], "%.3f") + print(params, flops) # \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/ours/pmaa_nafnet.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/ours/pmaa_nafnet.py new file mode 100644 index 0000000000000000000000000000000000000000..bfc7fcee7a4871dee8352189fa4fcd658d042548 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/ours/pmaa_nafnet.py @@ -0,0 +1,314 @@ +import torch +import torch.nn as nn +import torch.nn.functional as F +from functools import partial +import math +from abc import abstractmethod + +class EmbedBlock(nn.Module): + """ + Any module where forward() takes embeddings as a second argument. + """ + + @abstractmethod + def forward(self, x, emb): + """ + Apply the module to `x` given `emb` embeddings. + """ + + +class EmbedSequential(nn.Sequential, EmbedBlock): + """ + A sequential module that passes embeddings to the children that + support it as an extra input. + """ + + def forward(self, x, emb): + for layer in self: + if isinstance(layer, EmbedBlock): + x = layer(x, emb) + else: + x = layer(x) + return x + +def gamma_embedding(gammas, dim, max_period=10000): + """ + Create sinusoidal timestep embeddings. + :param gammas: a 1-D Tensor of N indices, one per batch element. + These may be fractional. + :param dim: the dimension of the output. + :param max_period: controls the minimum frequency of the embeddings. + :return: an [N x dim] Tensor of positional embeddings. + """ + half = dim // 2 + freqs = torch.exp( + -math.log(max_period) * torch.arange(start=0, + end=half, dtype=torch.float32) / half + ).to(device=gammas.device) + args = gammas[:, None].float() * freqs[None] + embedding = torch.cat([torch.cos(args), torch.sin(args)], dim=-1) + if dim % 2: + embedding = torch.cat( + [embedding, torch.zeros_like(embedding[:, :1])], dim=-1) + return embedding + + +class LayerNormFunction(torch.autograd.Function): + + @staticmethod + def forward(ctx, x, weight, bias, eps): + ctx.eps = eps + N, C, H, W = x.size() + mu = x.mean(1, keepdim=True) + var = (x - mu).pow(2).mean(1, keepdim=True) + y = (x - mu) / (var + eps).sqrt() + ctx.save_for_backward(y, var, weight) + y = weight.view(1, C, 1, 1) * y + bias.view(1, C, 1, 1) + return y + + @staticmethod + def backward(ctx, grad_output): + eps = ctx.eps + + N, C, H, W = grad_output.size() + y, var, weight = ctx.saved_variables + g = grad_output * weight.view(1, C, 1, 1) + mean_g = g.mean(dim=1, keepdim=True) + + mean_gy = (g * y).mean(dim=1, keepdim=True) + gx = 1. / torch.sqrt(var + eps) * (g - y * mean_gy - mean_g) + return gx, (grad_output * y).sum(dim=3).sum(dim=2).sum(dim=0), grad_output.sum(dim=3).sum(dim=2).sum( + dim=0), None + + +class LayerNorm2d(nn.Module): + + def __init__(self, channels, eps=1e-6): + super(LayerNorm2d, self).__init__() + self.register_parameter('weight', nn.Parameter(torch.ones(channels))) + self.register_parameter('bias', nn.Parameter(torch.zeros(channels))) + self.eps = eps + + def forward(self, x): + return LayerNormFunction.apply(x, self.weight, self.bias, self.eps) + + +class SimpleGate(nn.Module): + def forward(self, x): + x1, x2 = x.chunk(2, dim=1) + return x1 * x2 + + +class NAFBlock(EmbedBlock): + def __init__(self, c, DW_Expand=2, FFN_Expand=2, drop_out_rate=0.): + super().__init__() + dw_channel = c * DW_Expand + self.conv1 = nn.Conv2d(in_channels=c, out_channels=dw_channel, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + self.conv2 = nn.Conv2d(in_channels=dw_channel, out_channels=dw_channel, kernel_size=3, padding=1, stride=1, groups=dw_channel, + bias=True) + self.conv3 = nn.Conv2d(in_channels=dw_channel // 2, out_channels=c, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + # Simplified Channel Attention + self.sca = nn.Sequential( + nn.AdaptiveAvgPool2d(1), + nn.Conv2d(in_channels=dw_channel // 2, out_channels=dw_channel // 2, kernel_size=1, padding=0, stride=1, + groups=1, bias=True), + ) + + # SimpleGate + self.sg = SimpleGate() + + ffn_channel = FFN_Expand * c + self.conv4 = nn.Conv2d(in_channels=c, out_channels=ffn_channel, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + self.conv5 = nn.Conv2d(in_channels=ffn_channel // 2, out_channels=c, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + self.norm1 = LayerNorm2d(c) + self.norm2 = LayerNorm2d(c) + + self.dropout1 = nn.Dropout( + drop_out_rate) if drop_out_rate > 0. else nn.Identity() + self.dropout2 = nn.Dropout( + drop_out_rate) if drop_out_rate > 0. else nn.Identity() + + self.beta = nn.Parameter(torch.zeros((1, c, 1, 1)), requires_grad=True) + self.gamma = nn.Parameter(torch.zeros( + (1, c, 1, 1)), requires_grad=True) + self.time_emb = nn.Sequential( + nn.SiLU(), + nn.Linear(256, c), + ) + + def forward(self, inp, t): + x = inp + + x = self.norm1(x) + + x = self.conv1(x) + x = self.conv2(x) + x = self.sg(x) + x = x * self.sca(x) + x = self.conv3(x) + + x = self.dropout1(x) + + y = inp + x * self.beta + + y = y+self.time_emb(t)[..., None, None] + + x = self.conv4(self.norm2(y)) + x = self.sg(x) + x = self.conv5(x) + + x = self.dropout2(x) + + return y + x * self.gamma + + +class UNet(nn.Module): + + def __init__( + self, + img_channel=12, + width=64, + middle_blk_num=1, + enc_blk_nums=[1, 1, 1, 1], + dec_blk_nums=[1, 1, 1, 1], + ): + super().__init__() + + self.intro = nn.Conv2d(in_channels=img_channel, out_channels=width, kernel_size=3, padding=1, stride=1, groups=1, + bias=True) + self.ending = nn.Conv2d(in_channels=width, out_channels=3, kernel_size=3, padding=1, stride=1, groups=1, + bias=True) + self.inp_ending = nn.Conv2d(in_channels=img_channel, out_channels=3, kernel_size=3, padding=1, stride=1, groups=1, + bias=True) + + self.encoders = nn.ModuleList() + self.decoders = nn.ModuleList() + self.middle_blks = nn.ModuleList() + self.ups = nn.ModuleList() + self.downs = nn.ModuleList() + + chan = width + for num in enc_blk_nums: + self.encoders.append( + EmbedSequential( + *[NAFBlock(chan) for _ in range(num)] + ) + ) + self.downs.append( + nn.Conv2d(chan, chan, 2, 2, groups=chan) + ) + + self.middle_blks = \ + EmbedSequential( + *[NAFBlock(chan) for _ in range(middle_blk_num)] + ) + + for num in dec_blk_nums: + self.ups.append( + nn.Sequential( + nn.Conv2d(chan, chan*4, 1, groups=chan, bias=False), + nn.PixelShuffle(2) + ) + ) + self.decoders.append( + EmbedSequential( + *[NAFBlock(chan) for _ in range(num)] + ) + ) + + self.padder_size = 2 ** len(self.encoders) + self.emb = partial(gamma_embedding, dim=64) + self.map = nn.Sequential( + nn.Linear(64, 256), + nn.SiLU(), + nn.Linear(256, 256), + ) + + def forward(self, inp, gammas): + t = self.map(self.emb(gammas.view(-1, ))) + B, C, H, W = inp.shape + inp = self.check_image_size(inp) + + x = self.intro(inp) + + encs = [] + multi_fea = [] + # import pdb; pdb.set_trace() + out_shape = torch.div(torch.tensor([x.shape[-2], x.shape[-1]]), 2**(len(self.encoders)), rounding_mode='trunc') + for encoder, down in zip(self.encoders, self.downs): + x = encoder(x, t) + encs.append(x) + multi_fea.append(F.interpolate(x, [out_shape[0], out_shape[1]])) + x = down(x) + + multi_fea = torch.sum(torch.stack(multi_fea), dim=0) + global_f = self.middle_blks(multi_fea, t) + + for idx in range(len(encs)): + encs[idx] = encs[idx] * torch.sigmoid(F.interpolate(global_f, encs[idx].shape[-2:])) + + for decoder, up, enc_skip in zip(self.decoders, self.ups, encs[::-1]): + x = up(x) + x = x + enc_skip + x = decoder(x, t) + + x = self.ending(x) + x = x + self.inp_ending(inp) + + return x[:, :, :H, :W] + + def check_image_size(self, x): + _, _, h, w = x.size() + mod_pad_h = (self.padder_size - h % + self.padder_size) % self.padder_size + mod_pad_w = (self.padder_size - w % + self.padder_size) % self.padder_size + x = F.pad(x, (0, mod_pad_w, 0, mod_pad_h)) + return x + + +if __name__ == '__main__': + # img_channel = 5 + # width = 32 + + # # enc_blks = [2, 2, 4, 8] + # # middle_blk_num = 12 + # # dec_blks = [2, 2, 2, 2] + + # enc_blks = [1, 1, 1, 28] + # middle_blk_num = 1 + # dec_blks = [1, 1, 1, 1] + + # net = NAFNet( + # img_channel=img_channel, + # width=width, + # middle_blk_num=middle_blk_num, + # enc_blk_nums=enc_blks, + # dec_blk_nums=dec_blks, + # ) + + # inp_shape = (2, 5, 64, 64) + + # out_shape = net(torch.Tensor(*inp_shape)).shape + + # print(out_shape) + # print(UNet()) + # print(UNet()(*(torch.Tensor(2, 12, 256, 256), torch.ones(2,))).shape) + net = UNet() + # 测试模型参数量和计算量 + from thop import profile + from thop import clever_format + flops, params = profile(net, inputs=(torch.Tensor(1, 12, 256, 256), torch.ones(1,)), verbose=False) + flops, params = clever_format([flops, params], "%.3f") + print(flops, params) # 5.095G 515.402K + # 使用ptflops计算模型参数量和计算量 + from ptflops import get_model_complexity_info + macs, params = get_model_complexity_info(net, input_constructor=(torch.Tensor(1, 12, 256, 256), torch.ones(1,)), as_strings=True, + print_per_layer_stat=True, verbose=True) + print(macs, params) # 5.095G 515.402K \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/ours/pmaa_nafnet_no_inp.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/ours/pmaa_nafnet_no_inp.py new file mode 100644 index 0000000000000000000000000000000000000000..4c54baabf7510a6e3cc6d31e1dc301ba53e4878a --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/ours/pmaa_nafnet_no_inp.py @@ -0,0 +1,313 @@ +import torch +import torch.nn as nn +import torch.nn.functional as F +from functools import partial +import math +from abc import abstractmethod + +class EmbedBlock(nn.Module): + """ + Any module where forward() takes embeddings as a second argument. + """ + + @abstractmethod + def forward(self, x, emb): + """ + Apply the module to `x` given `emb` embeddings. + """ + + +class EmbedSequential(nn.Sequential, EmbedBlock): + """ + A sequential module that passes embeddings to the children that + support it as an extra input. + """ + + def forward(self, x, emb): + for layer in self: + if isinstance(layer, EmbedBlock): + x = layer(x, emb) + else: + x = layer(x) + return x + +def gamma_embedding(gammas, dim, max_period=10000): + """ + Create sinusoidal timestep embeddings. + :param gammas: a 1-D Tensor of N indices, one per batch element. + These may be fractional. + :param dim: the dimension of the output. + :param max_period: controls the minimum frequency of the embeddings. + :return: an [N x dim] Tensor of positional embeddings. + """ + half = dim // 2 + freqs = torch.exp( + -math.log(max_period) * torch.arange(start=0, + end=half, dtype=torch.float32) / half + ).to(device=gammas.device) + args = gammas[:, None].float() * freqs[None] + embedding = torch.cat([torch.cos(args), torch.sin(args)], dim=-1) + if dim % 2: + embedding = torch.cat( + [embedding, torch.zeros_like(embedding[:, :1])], dim=-1) + return embedding + + +class LayerNormFunction(torch.autograd.Function): + + @staticmethod + def forward(ctx, x, weight, bias, eps): + ctx.eps = eps + N, C, H, W = x.size() + mu = x.mean(1, keepdim=True) + var = (x - mu).pow(2).mean(1, keepdim=True) + y = (x - mu) / (var + eps).sqrt() + ctx.save_for_backward(y, var, weight) + y = weight.view(1, C, 1, 1) * y + bias.view(1, C, 1, 1) + return y + + @staticmethod + def backward(ctx, grad_output): + eps = ctx.eps + + N, C, H, W = grad_output.size() + y, var, weight = ctx.saved_variables + g = grad_output * weight.view(1, C, 1, 1) + mean_g = g.mean(dim=1, keepdim=True) + + mean_gy = (g * y).mean(dim=1, keepdim=True) + gx = 1. / torch.sqrt(var + eps) * (g - y * mean_gy - mean_g) + return gx, (grad_output * y).sum(dim=3).sum(dim=2).sum(dim=0), grad_output.sum(dim=3).sum(dim=2).sum( + dim=0), None + + +class LayerNorm2d(nn.Module): + + def __init__(self, channels, eps=1e-6): + super(LayerNorm2d, self).__init__() + self.register_parameter('weight', nn.Parameter(torch.ones(channels))) + self.register_parameter('bias', nn.Parameter(torch.zeros(channels))) + self.eps = eps + + def forward(self, x): + return LayerNormFunction.apply(x, self.weight, self.bias, self.eps) + + +class SimpleGate(nn.Module): + def forward(self, x): + x1, x2 = x.chunk(2, dim=1) + return x1 * x2 + + +class NAFBlock(EmbedBlock): + def __init__(self, c, DW_Expand=2, FFN_Expand=2, drop_out_rate=0.): + super().__init__() + dw_channel = c * DW_Expand + self.conv1 = nn.Conv2d(in_channels=c, out_channels=dw_channel, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + self.conv2 = nn.Conv2d(in_channels=dw_channel, out_channels=dw_channel, kernel_size=3, padding=1, stride=1, groups=dw_channel, + bias=True) + self.conv3 = nn.Conv2d(in_channels=dw_channel // 2, out_channels=c, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + # Simplified Channel Attention + self.sca = nn.Sequential( + nn.AdaptiveAvgPool2d(1), + nn.Conv2d(in_channels=dw_channel // 2, out_channels=dw_channel // 2, kernel_size=1, padding=0, stride=1, + groups=1, bias=True), + ) + + # SimpleGate + self.sg = SimpleGate() + + ffn_channel = FFN_Expand * c + self.conv4 = nn.Conv2d(in_channels=c, out_channels=ffn_channel, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + self.conv5 = nn.Conv2d(in_channels=ffn_channel // 2, out_channels=c, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + self.norm1 = LayerNorm2d(c) + self.norm2 = LayerNorm2d(c) + + self.dropout1 = nn.Dropout( + drop_out_rate) if drop_out_rate > 0. else nn.Identity() + self.dropout2 = nn.Dropout( + drop_out_rate) if drop_out_rate > 0. else nn.Identity() + + self.beta = nn.Parameter(torch.zeros((1, c, 1, 1)), requires_grad=True) + self.gamma = nn.Parameter(torch.zeros( + (1, c, 1, 1)), requires_grad=True) + self.time_emb = nn.Sequential( + nn.SiLU(), + nn.Linear(256, c), + ) + + def forward(self, inp, t): + x = inp + + x = self.norm1(x) + + x = self.conv1(x) + x = self.conv2(x) + x = self.sg(x) + x = x * self.sca(x) + x = self.conv3(x) + + x = self.dropout1(x) + + y = inp + x * self.beta + + y = y+self.time_emb(t)[..., None, None] + + x = self.conv4(self.norm2(y)) + x = self.sg(x) + x = self.conv5(x) + + x = self.dropout2(x) + + return y + x * self.gamma + + +class UNet(nn.Module): + + def __init__( + self, + img_channel=12, + width=64, + middle_blk_num=1, + enc_blk_nums=[1, 1, 1, 1], + dec_blk_nums=[1, 1, 1, 1], + ): + super().__init__() + + self.intro = nn.Conv2d(in_channels=img_channel, out_channels=width, kernel_size=3, padding=1, stride=1, groups=1, + bias=True) + self.ending = nn.Conv2d(in_channels=width, out_channels=3, kernel_size=3, padding=1, stride=1, groups=1, + bias=True) + # self.inp_ending = nn.Conv2d(in_channels=img_channel, out_channels=3, kernel_size=3, padding=1, stride=1, groups=1, + # bias=True) + + self.encoders = nn.ModuleList() + self.decoders = nn.ModuleList() + self.middle_blks = nn.ModuleList() + self.ups = nn.ModuleList() + self.downs = nn.ModuleList() + + chan = width + for num in enc_blk_nums: + self.encoders.append( + EmbedSequential( + *[NAFBlock(chan) for _ in range(num)] + ) + ) + self.downs.append( + nn.Conv2d(chan, chan, 2, 2, groups=chan) + ) + + self.middle_blks = \ + EmbedSequential( + *[NAFBlock(chan) for _ in range(middle_blk_num)] + ) + + for num in dec_blk_nums: + self.ups.append( + nn.Sequential( + nn.Conv2d(chan, chan*4, 1, groups=chan, bias=False), + nn.PixelShuffle(2) + ) + ) + self.decoders.append( + EmbedSequential( + *[NAFBlock(chan) for _ in range(num)] + ) + ) + + self.padder_size = 2 ** len(self.encoders) + self.emb = partial(gamma_embedding, dim=64) + self.map = nn.Sequential( + nn.Linear(64, 256), + nn.SiLU(), + nn.Linear(256, 256), + ) + + def forward(self, inp, gammas): + t = self.map(self.emb(gammas.view(-1, ))) + B, C, H, W = inp.shape + inp = self.check_image_size(inp) + + x = self.intro(inp) + + encs = [] + multi_fea = [] + # import pdb; pdb.set_trace() + out_shape = torch.div(torch.tensor([x.shape[-2], x.shape[-1]]), 2**(len(self.encoders)), rounding_mode='trunc') + for encoder, down in zip(self.encoders, self.downs): + x = encoder(x, t) + encs.append(x) + multi_fea.append(F.interpolate(x, [out_shape[0], out_shape[1]])) + x = down(x) + + multi_fea = torch.sum(torch.stack(multi_fea), dim=0) + global_f = self.middle_blks(multi_fea, t) + + for idx in range(len(encs)): + encs[idx] = encs[idx] * torch.sigmoid(F.interpolate(global_f, encs[idx].shape[-2:])) + + for decoder, up, enc_skip in zip(self.decoders, self.ups, encs[::-1]): + x = up(x) + x = x + enc_skip + x = decoder(x, t) + + x = self.ending(x) + + return x[:, :, :H, :W] + + def check_image_size(self, x): + _, _, h, w = x.size() + mod_pad_h = (self.padder_size - h % + self.padder_size) % self.padder_size + mod_pad_w = (self.padder_size - w % + self.padder_size) % self.padder_size + x = F.pad(x, (0, mod_pad_w, 0, mod_pad_h)) + return x + + +if __name__ == '__main__': + # img_channel = 5 + # width = 32 + + # # enc_blks = [2, 2, 4, 8] + # # middle_blk_num = 12 + # # dec_blks = [2, 2, 2, 2] + + # enc_blks = [1, 1, 1, 28] + # middle_blk_num = 1 + # dec_blks = [1, 1, 1, 1] + + # net = NAFNet( + # img_channel=img_channel, + # width=width, + # middle_blk_num=middle_blk_num, + # enc_blk_nums=enc_blks, + # dec_blk_nums=dec_blks, + # ) + + # inp_shape = (2, 5, 64, 64) + + # out_shape = net(torch.Tensor(*inp_shape)).shape + + # print(out_shape) + # print(UNet()) + # print(UNet()(*(torch.Tensor(2, 12, 256, 256), torch.ones(2,))).shape) + net = UNet() + # 测试模型参数量和计算量 + from thop import profile + from thop import clever_format + flops, params = profile(net, inputs=(torch.Tensor(1, 12, 256, 256), torch.ones(1,)), verbose=False) + flops, params = clever_format([flops, params], "%.3f") + print(flops, params) # 5.095G 515.402K + # 使用ptflops计算模型参数量和计算量 + from ptflops import get_model_complexity_info + macs, params = get_model_complexity_info(net, input_constructor=(torch.Tensor(1, 12, 256, 256), torch.ones(1,)), as_strings=True, + print_per_layer_stat=True, verbose=True) + print(macs, params) # 5.095G 515.402K \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/ours/pmaa_nafnet_tanh.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/ours/pmaa_nafnet_tanh.py new file mode 100644 index 0000000000000000000000000000000000000000..cf14269d369434ad84eb3d51fd00a006188cd4d9 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/ours/pmaa_nafnet_tanh.py @@ -0,0 +1,316 @@ +import torch +import torch.nn as nn +import torch.nn.functional as F +from functools import partial +import math +from abc import abstractmethod + +class EmbedBlock(nn.Module): + """ + Any module where forward() takes embeddings as a second argument. + """ + + @abstractmethod + def forward(self, x, emb): + """ + Apply the module to `x` given `emb` embeddings. + """ + + +class EmbedSequential(nn.Sequential, EmbedBlock): + """ + A sequential module that passes embeddings to the children that + support it as an extra input. + """ + + def forward(self, x, emb): + for layer in self: + if isinstance(layer, EmbedBlock): + x = layer(x, emb) + else: + x = layer(x) + return x + +def gamma_embedding(gammas, dim, max_period=10000): + """ + Create sinusoidal timestep embeddings. + :param gammas: a 1-D Tensor of N indices, one per batch element. + These may be fractional. + :param dim: the dimension of the output. + :param max_period: controls the minimum frequency of the embeddings. + :return: an [N x dim] Tensor of positional embeddings. + """ + half = dim // 2 + freqs = torch.exp( + -math.log(max_period) * torch.arange(start=0, + end=half, dtype=torch.float32) / half + ).to(device=gammas.device) + args = gammas[:, None].float() * freqs[None] + embedding = torch.cat([torch.cos(args), torch.sin(args)], dim=-1) + if dim % 2: + embedding = torch.cat( + [embedding, torch.zeros_like(embedding[:, :1])], dim=-1) + return embedding + + +class LayerNormFunction(torch.autograd.Function): + + @staticmethod + def forward(ctx, x, weight, bias, eps): + ctx.eps = eps + N, C, H, W = x.size() + mu = x.mean(1, keepdim=True) + var = (x - mu).pow(2).mean(1, keepdim=True) + y = (x - mu) / (var + eps).sqrt() + ctx.save_for_backward(y, var, weight) + y = weight.view(1, C, 1, 1) * y + bias.view(1, C, 1, 1) + return y + + @staticmethod + def backward(ctx, grad_output): + eps = ctx.eps + + N, C, H, W = grad_output.size() + y, var, weight = ctx.saved_variables + g = grad_output * weight.view(1, C, 1, 1) + mean_g = g.mean(dim=1, keepdim=True) + + mean_gy = (g * y).mean(dim=1, keepdim=True) + gx = 1. / torch.sqrt(var + eps) * (g - y * mean_gy - mean_g) + return gx, (grad_output * y).sum(dim=3).sum(dim=2).sum(dim=0), grad_output.sum(dim=3).sum(dim=2).sum( + dim=0), None + + +class LayerNorm2d(nn.Module): + + def __init__(self, channels, eps=1e-6): + super(LayerNorm2d, self).__init__() + self.register_parameter('weight', nn.Parameter(torch.ones(channels))) + self.register_parameter('bias', nn.Parameter(torch.zeros(channels))) + self.eps = eps + + def forward(self, x): + return LayerNormFunction.apply(x, self.weight, self.bias, self.eps) + + +class SimpleGate(nn.Module): + def forward(self, x): + x1, x2 = x.chunk(2, dim=1) + return x1 * x2 + + +class NAFBlock(EmbedBlock): + def __init__(self, c, DW_Expand=2, FFN_Expand=2, drop_out_rate=0.): + super().__init__() + dw_channel = c * DW_Expand + self.conv1 = nn.Conv2d(in_channels=c, out_channels=dw_channel, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + self.conv2 = nn.Conv2d(in_channels=dw_channel, out_channels=dw_channel, kernel_size=3, padding=1, stride=1, groups=dw_channel, + bias=True) + self.conv3 = nn.Conv2d(in_channels=dw_channel // 2, out_channels=c, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + # Simplified Channel Attention + self.sca = nn.Sequential( + nn.AdaptiveAvgPool2d(1), + nn.Conv2d(in_channels=dw_channel // 2, out_channels=dw_channel // 2, kernel_size=1, padding=0, stride=1, + groups=1, bias=True), + ) + + # SimpleGate + self.sg = SimpleGate() + + ffn_channel = FFN_Expand * c + self.conv4 = nn.Conv2d(in_channels=c, out_channels=ffn_channel, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + self.conv5 = nn.Conv2d(in_channels=ffn_channel // 2, out_channels=c, + kernel_size=1, padding=0, stride=1, groups=1, bias=True) + + self.norm1 = LayerNorm2d(c) + self.norm2 = LayerNorm2d(c) + + self.dropout1 = nn.Dropout( + drop_out_rate) if drop_out_rate > 0. else nn.Identity() + self.dropout2 = nn.Dropout( + drop_out_rate) if drop_out_rate > 0. else nn.Identity() + + self.beta = nn.Parameter(torch.zeros((1, c, 1, 1)), requires_grad=True) + self.gamma = nn.Parameter(torch.zeros( + (1, c, 1, 1)), requires_grad=True) + self.time_emb = nn.Sequential( + nn.SiLU(), + nn.Linear(256, c), + ) + + def forward(self, inp, t): + x = inp + + x = self.norm1(x) + + x = self.conv1(x) + x = self.conv2(x) + x = self.sg(x) + x = x * self.sca(x) + x = self.conv3(x) + + x = self.dropout1(x) + + y = inp + x * self.beta + + y = y+self.time_emb(t)[..., None, None] + + x = self.conv4(self.norm2(y)) + x = self.sg(x) + x = self.conv5(x) + + x = self.dropout2(x) + + return y + x * self.gamma + + +class UNet(nn.Module): + + def __init__( + self, + img_channel=12, + width=64, + middle_blk_num=1, + enc_blk_nums=[1, 1, 1, 1], + dec_blk_nums=[1, 1, 1, 1], + ): + super().__init__() + + self.intro = nn.Conv2d(in_channels=img_channel, out_channels=width, kernel_size=3, padding=1, stride=1, groups=1, + bias=True) + self.ending = nn.Conv2d(in_channels=width, out_channels=3, kernel_size=3, padding=1, stride=1, groups=1, + bias=True) + self.inp_ending = nn.Conv2d(in_channels=img_channel, out_channels=3, kernel_size=3, padding=1, stride=1, groups=1, + bias=True) + + self.encoders = nn.ModuleList() + self.decoders = nn.ModuleList() + self.middle_blks = nn.ModuleList() + self.ups = nn.ModuleList() + self.downs = nn.ModuleList() + + chan = width + for num in enc_blk_nums: + self.encoders.append( + EmbedSequential( + *[NAFBlock(chan) for _ in range(num)] + ) + ) + self.downs.append( + nn.Conv2d(chan, chan, 2, 2, groups=chan) + ) + + self.middle_blks = \ + EmbedSequential( + *[NAFBlock(chan) for _ in range(middle_blk_num)] + ) + + for num in dec_blk_nums: + self.ups.append( + nn.Sequential( + nn.Conv2d(chan, chan*4, 1, groups=chan, bias=False), + nn.PixelShuffle(2) + ) + ) + self.decoders.append( + EmbedSequential( + *[NAFBlock(chan) for _ in range(num)] + ) + ) + + self.padder_size = 2 ** len(self.encoders) + self.emb = partial(gamma_embedding, dim=64) + self.map = nn.Sequential( + nn.Linear(64, 256), + nn.SiLU(), + nn.Linear(256, 256), + ) + self.tanh = nn.Tanh() + + def forward(self, inp, gammas): + t = self.map(self.emb(gammas.view(-1, ))) + B, C, H, W = inp.shape + inp = self.check_image_size(inp) + + x = self.intro(inp) + + encs = [] + multi_fea = [] + # import pdb; pdb.set_trace() + out_shape = torch.div(torch.tensor([x.shape[-2], x.shape[-1]]), 2**(len(self.encoders)), rounding_mode='trunc') + for encoder, down in zip(self.encoders, self.downs): + x = encoder(x, t) + encs.append(x) + multi_fea.append(F.interpolate(x, [out_shape[0], out_shape[1]])) + x = down(x) + + multi_fea = torch.sum(torch.stack(multi_fea), dim=0) + global_f = self.middle_blks(multi_fea, t) + + for idx in range(len(encs)): + encs[idx] = encs[idx] * torch.sigmoid(F.interpolate(global_f, encs[idx].shape[-2:])) + + for decoder, up, enc_skip in zip(self.decoders, self.ups, encs[::-1]): + x = up(x) + x = x + enc_skip + x = decoder(x, t) + + x = self.ending(x) + x = x + self.inp_ending(inp) + x = self.tanh(x) + + return x[:, :, :H, :W] + + def check_image_size(self, x): + _, _, h, w = x.size() + mod_pad_h = (self.padder_size - h % + self.padder_size) % self.padder_size + mod_pad_w = (self.padder_size - w % + self.padder_size) % self.padder_size + x = F.pad(x, (0, mod_pad_w, 0, mod_pad_h)) + return x + + +if __name__ == '__main__': + # img_channel = 5 + # width = 32 + + # # enc_blks = [2, 2, 4, 8] + # # middle_blk_num = 12 + # # dec_blks = [2, 2, 2, 2] + + # enc_blks = [1, 1, 1, 28] + # middle_blk_num = 1 + # dec_blks = [1, 1, 1, 1] + + # net = NAFNet( + # img_channel=img_channel, + # width=width, + # middle_blk_num=middle_blk_num, + # enc_blk_nums=enc_blks, + # dec_blk_nums=dec_blks, + # ) + + # inp_shape = (2, 5, 64, 64) + + # out_shape = net(torch.Tensor(*inp_shape)).shape + + # print(out_shape) + # print(UNet()) + # print(UNet()(*(torch.Tensor(2, 12, 256, 256), torch.ones(2,))).shape) + net = UNet() + # 测试模型参数量和计算量 + from thop import profile + from thop import clever_format + flops, params = profile(net, inputs=(torch.Tensor(1, 12, 256, 256), torch.ones(1,)), verbose=False) + flops, params = clever_format([flops, params], "%.3f") + print(flops, params) # 5.095G 515.402K + # 使用ptflops计算模型参数量和计算量 + from ptflops import get_model_complexity_info + macs, params = get_model_complexity_info(net, input_constructor=(torch.Tensor(1, 12, 256, 256), torch.ones(1,)), as_strings=True, + print_per_layer_stat=True, verbose=True) + print(macs, params) # 5.095G 515.402K \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/ours/unet_down3.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/ours/unet_down3.py new file mode 100644 index 0000000000000000000000000000000000000000..0ab140aa55878f96051aa1e4b00c8ef6ea4ce8da --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/ours/unet_down3.py @@ -0,0 +1,655 @@ +import numpy as np +import math +import torch +import torch.nn as nn +import torch.nn.functional as F +from abc import abstractmethod +from timm.models.layers import DropPath +from functools import partial +from mmcv.cnn import build_norm_layer +from mmcv.cnn import build_conv_layer +from mmcv.cnn.bricks.registry import NORM_LAYERS + + +act_module = nn.GELU +BaseBlock = None +ls_init_value = 1e-6 + + +class EmbedBlock(nn.Module): + """ + Any module where forward() takes embeddings as a second argument. + """ + + @abstractmethod + def forward(self, x, emb): + """ + Apply the module to `x` given `emb` embeddings. + """ + + +class EmbedSequential(nn.Sequential, EmbedBlock): + """ + A sequential module that passes embeddings to the children that + support it as an extra input. + """ + + def forward(self, x, emb): + for layer in self: + if isinstance(layer, EmbedBlock): + x = layer(x, emb) + else: + x = layer(x) + return x + + +class LayerNorm(nn.Module): + + def __init__(self, normalized_shape, eps=1e-6, data_format="channels_last"): + super().__init__() + + self.weight = nn.Parameter(torch.ones(normalized_shape)) + self.bias = nn.Parameter(torch.zeros(normalized_shape)) + self.eps = eps + self.data_format = data_format + if self.data_format not in ["channels_last", "channels_first", "channels_first_v2"]: + raise NotImplementedError + self.normalized_shape = (normalized_shape, ) + + def forward(self, x): + if self.data_format == "channels_last": + return F.layer_norm(x, self.normalized_shape, self.weight, self.bias, self.eps) + elif self.data_format == "channels_first": + u = x.mean(1, keepdim=True) + s = (x - u).pow(2).mean(1, keepdim=True) + x = (x - u) / torch.sqrt(s + self.eps) + x = self.weight[:, None, None] * x + self.bias[:, None, None] + return x + elif self.data_format == "channels_first_v2": + return F.layer_norm(x.permute(0, 2, 3, 1), self.normalized_shape, self.weight, self.bias, self.eps).permute(0, 3, 1, 2) + + +class Block(EmbedBlock): + + def __init__(self, dim, time_emb_dim, drop_path=0., norm_cfg=None, **kwargs): + super().__init__() + + self.dwconv = nn.Conv2d(dim, dim, kernel_size=7, + padding=3, groups=dim) # depthwise conv + self.norm = build_norm_layer(norm_cfg, dim)[1] + # pointwise/1x1 convs, implemented with linear layers + self.pwconv1 = nn.Linear(dim, 4 * dim) + self.act = act_module() + self.pwconv2 = nn.Linear(4 * dim, dim) + self.gamma = nn.Parameter( + ls_init_value * torch.ones((dim)), requires_grad=True) if ls_init_value > 0 else None + self.drop_path = DropPath( + drop_path) if drop_path > 0. else nn.Identity() + self.time_emb = nn.Sequential( + act_module(), + nn.Linear(time_emb_dim, dim), + ) + + def forward(self, x, t): + input = x + x = self.dwconv(x) + self.time_emb(t)[..., None, None] + x = self.norm(x) # input (N, C, *) + + x = x.permute(0, 2, 3, 1) # (N, C, H, W) -> (N, H, W, C) + x = self.pwconv1(x) + x = self.act(x) + x = self.pwconv2(x) + if self.gamma is not None: + x = self.gamma * x + x = x.permute(0, 3, 1, 2) # (N, H, W, C) -> (N, C, H, W) + + x = input + self.drop_path(x) + return x + + +class DBlock(nn.Module): + + def __init__(self, dim, drop_path=0., dilation=3, norm_cfg=None, **kwargs): + super().__init__() + + self.dwconv1 = nn.Sequential( + nn.Conv2d(dim, dim, kernel_size=7, + padding=3, dilation=1, groups=dim), + build_norm_layer(norm_cfg, dim)[1], + act_module()) + + self.dwconv2 = nn.Sequential( + nn.Conv2d(dim, dim, kernel_size=7, padding=3 * + dilation, dilation=dilation, groups=dim), + build_norm_layer(norm_cfg, dim)[1], + act_module()) + + self.pwconv1 = nn.Linear(dim, 4 * dim) + self.act = act_module() + self.pwconv2 = nn.Linear(4 * dim, dim) + self.gamma = nn.Parameter( + ls_init_value * torch.ones((dim)), requires_grad=True) if ls_init_value > 0 else None + self.drop_path = DropPath( + drop_path) if drop_path > 0. else nn.Identity() + + def forward(self, x): + + input = x + x = self.dwconv1(x) + x + x = self.dwconv2(x) + x + + x = x.permute(0, 2, 3, 1) # (N, C, H, W) -> (N, H, W, C) + x = self.pwconv1(x) + x = self.act(x) + x = self.pwconv2(x) + if self.gamma is not None: + x = self.gamma * x + x = x.permute(0, 3, 1, 2) # (N, H, W, C) -> (N, C, H, W) + + x = input + self.drop_path(x) + return x + + +class Bottleneck(nn.Module): + + def __init__(self, dim, drop_path=0., norm_cfg=None, **kwargs): + super(Bottleneck, self).__init__() + + self.conv1 = nn.Sequential( + build_conv_layer(None, dim, dim, kernel_size=3, + stride=1, padding=1, bias=False), + build_norm_layer(norm_cfg, dim)[1], + act_module(), + ) + + self.conv2 = nn.Sequential( + build_conv_layer(None, dim, dim * 4, kernel_size=1, + stride=1, bias=False), + build_norm_layer(norm_cfg, dim * 4)[1], + act_module(), + ) + + self.conv3 = nn.Sequential( + build_conv_layer(None, dim * 4, dim, kernel_size=1, bias=False), + build_norm_layer(norm_cfg, dim)[1], + ) + + self.act = act_module() + self.drop_path = DropPath( + drop_path) if drop_path > 0. else nn.Identity() + + def forward(self, x): + input = x + x = self.conv1(x) + x = self.conv2(x) + x = self.conv3(x) + x = self.act(self.drop_path(x) + input) + return x + + +class DBottleneck(nn.Module): + + def __init__(self, dim, drop_path=0., dilation=3, norm_cfg=None, **kwargs): + super(DBottleneck, self).__init__() + + self.conv1 = nn.Sequential( + build_conv_layer(None, dim, dim, kernel_size=3, + stride=1, padding=1, bias=False), + build_norm_layer(norm_cfg, dim)[1], + act_module(), + ) + + self.dwconv1 = nn.Sequential( + nn.Conv2d(dim, dim, kernel_size=7, padding=3 * + dilation, dilation=dilation, groups=dim), + build_norm_layer(norm_cfg, dim)[1], + act_module()) + + self.conv2 = nn.Sequential( + build_conv_layer(None, dim, dim * 4, kernel_size=1, + stride=1, bias=False), + build_norm_layer(norm_cfg, dim * 4)[1], + act_module(), + ) + + self.conv3 = nn.Sequential( + build_conv_layer(None, dim * 4, dim, kernel_size=1, bias=False), + build_norm_layer(norm_cfg, dim)[1], + ) + + self.act = act_module() + self.drop_path = DropPath( + drop_path) if drop_path > 0. else nn.Identity() + + def forward(self, x): + input = x + x = self.conv1(x) + x + x = self.dwconv1(x) + x + x = self.conv2(x) + x = self.conv3(x) + x = self.act(self.drop_path(x) + input) + return x + + +class MLP(nn.Module): + def __init__(self, dim, mlp_ratio=4): + super().__init__() + + self.norm = LayerNorm(dim, eps=1e-6, data_format="channels_first") + + self.fc1 = nn.Conv2d(dim, int(dim * mlp_ratio), 1) + self.pos = nn.Conv2d(int(dim * mlp_ratio), int(dim * mlp_ratio), + 3, padding=1, groups=int(dim * mlp_ratio)) + self.fc2 = nn.Conv2d(int(dim * mlp_ratio), dim, 1) + self.act = act_module() + + def forward(self, x): + B, C, H, W = x.shape + x = self.norm(x) + x = self.fc1(x) + x = self.act(x) + x = x + self.act(self.pos(x)) + x = self.fc2(x) + + return x + + +class ConvMod(nn.Module): + def __init__(self, dim): + super().__init__() + + self.norm = LayerNorm(dim, eps=1e-6, data_format="channels_first") + self.a = nn.Sequential( + nn.Conv2d(dim, dim, 1), + act_module(), + nn.Conv2d(dim, dim, 11, padding=5, groups=dim) # TODO + ) + + self.v = nn.Conv2d(dim, dim, 1) + self.proj = nn.Conv2d(dim, dim, 1) + + def forward(self, x): + B, C, H, W = x.shape + x = self.norm(x) + a = self.a(x) # A=QK^T + x = a * self.v(x) + x = self.proj(x) + + return x + + +class Conv2Former(nn.Module): + def __init__(self, dim, mlp_ratio=4., drop_path=0.): + super().__init__() + + self.attn = ConvMod(dim) + self.mlp = MLP(dim, mlp_ratio) + layer_scale_init_value = 1e-6 + self.layer_scale_1 = nn.Parameter( # a + layer_scale_init_value * torch.ones((dim)), requires_grad=True) + self.layer_scale_2 = nn.Parameter( # b + layer_scale_init_value * torch.ones((dim)), requires_grad=True) + self.drop_path = DropPath( + drop_path) if drop_path > 0. else nn.Identity() + + def forward(self, x): + x = x + \ + self.drop_path( + self.layer_scale_1.unsqueeze(-1).unsqueeze(-1) * self.attn(x)) + x = x + \ + self.drop_path( + self.layer_scale_2.unsqueeze(-1).unsqueeze(-1) * self.mlp(x)) + return x + + +class Encoder(nn.Module): + + def __init__(self, dims=[96, 192, 384, 768], blocks=[1, 1, 1, 1], time_emb_dim=512, dp_rates=0., norm_cfg=None): + super().__init__() + + assert isinstance(dp_rates, list) + cum_sum = np.array([0] + blocks[:-1]).cumsum() + + self.encoder = nn.ModuleList([ + EmbedSequential(*[BaseBlock(dims[0], time_emb_dim, dp_rates[_], + norm_cfg=norm_cfg, widx=_) for _ in range(blocks[0])]), + + EmbedSequential(*[BaseBlock(dims[1], time_emb_dim, dp_rates[cum_sum[1]+_], + norm_cfg=norm_cfg, widx=_) for _ in range(blocks[1])]), + EmbedSequential(*[BaseBlock(dims[2], time_emb_dim, dp_rates[cum_sum[2]+_], + norm_cfg=norm_cfg, widx=_) for _ in range(blocks[2])]), + EmbedSequential(*[BaseBlock(dims[3], time_emb_dim, dp_rates[cum_sum[3]+_], + norm_cfg=norm_cfg, widx=_) for _ in range(blocks[3])]), + ]) + + self.encoder_downsample = nn.ModuleList([ + nn.Sequential(nn.Conv2d(dims[0], dims[1], kernel_size=2, stride=2), build_norm_layer( + norm_cfg, dims[1])[1]), + nn.Sequential(nn.Conv2d(dims[1], dims[2], kernel_size=2, stride=2), build_norm_layer( + norm_cfg, dims[2])[1]), + nn.Sequential(nn.Conv2d(dims[2], dims[3], kernel_size=2, stride=2), build_norm_layer( + norm_cfg, dims[3])[1]), + ]) + + self.attention = Conv2Former(dims[3], drop_path=dp_rates[-1]) + + self.pooling_conv = nn.ModuleList([ + nn.Sequential(nn.Conv2d(dims[0], dims[3], kernel_size=1, stride=1), build_norm_layer( + norm_cfg, dims[3])[1]), + nn.Sequential(nn.Conv2d(dims[1], dims[3], kernel_size=1, stride=1), build_norm_layer( + norm_cfg, dims[3])[1]), + nn.Sequential(nn.Conv2d(dims[2], dims[3], kernel_size=1, stride=1), build_norm_layer( + norm_cfg, dims[3])[1]), + ]) + + def forward(self, x, t): + if isinstance(x, tuple): + x = x[0] + c3 = self.encoder[0](x, t) + c4 = self.encoder[1](self.encoder_downsample[0](c3), t) + c5 = self.encoder[2](self.encoder_downsample[1](c4), t) + c6 = self.encoder[3](self.encoder_downsample[2](c5), t) + # import pdb; pdb.set_trace() + global_f = F.adaptive_avg_pool2d(self.pooling_conv[0](c3), output_size=(c6.shape[-2], c6.shape[-1])) \ + + F.adaptive_avg_pool2d(self.pooling_conv[1]( + c4), output_size=(c6.shape[-2], c6.shape[-1])) + F.adaptive_avg_pool2d(self.pooling_conv[2](c5), output_size=(c6.shape[-2], c6.shape[-1]))+c6 + global_f = self.attention(global_f) + return c3, c4, c5, c6, global_f + + +class LAlayerUpsample(nn.Module): + def __init__(self, inp: int, oup: int, kernel: int = 1, norm_cfg=None) -> None: + super().__init__() + norm = build_norm_layer(norm_cfg, oup)[1] + groups = 1 + if inp == oup: + groups = inp + self.local_embedding = nn.Sequential( + nn.Conv2d(oup, oup, kernel, groups=oup, + padding=int((kernel - 1) / 2), bias=False), + norm + ) + self.global_embedding = nn.Sequential( + nn.Conv2d(inp, oup, kernel, padding=int( + (kernel - 1) / 2), bias=False), + norm + ) + self.global_act = nn.Sequential( + nn.Conv2d(inp, oup, kernel, padding=int( + (kernel - 1) / 2), bias=False), + norm + ) + self.act = nn.Sigmoid() + + def forward(self, x_l, x_g): + """ + x_g: global features + x_l: local features + """ + B, N, H, W = x_l.shape + local_feat = self.local_embedding(x_l) + + global_act = self.global_act(x_g) + sig_act = F.interpolate(self.act(global_act), size=(H, W)) + + global_feat = self.global_embedding(x_g) + global_feat = F.interpolate(global_feat, size=(H, W)) + + out = local_feat * sig_act + global_feat + return out + + +class LALayerG(nn.Module): + def __init__(self, inp: int, oup: int, kernel: int = 1, norm_cfg=None) -> None: + super().__init__() + norm = build_norm_layer(norm_cfg, inp)[1] + groups = 1 + if inp == oup: + groups = inp + self.local_embedding = nn.Sequential( + nn.Conv2d(inp, inp, kernel, groups=inp, + padding=int((kernel - 1) / 2), bias=False), + norm + ) + self.global_embedding = nn.Sequential( + nn.Conv2d(oup, inp, kernel, groups=groups, + padding=int((kernel - 1) / 2), bias=False), + norm + ) + self.global_act = nn.Sequential( + nn.Conv2d(oup, inp, kernel, groups=groups, + padding=int((kernel - 1) / 2), bias=False), + norm + ) + self.act = nn.Sigmoid() + + def forward(self, x_l, x_g): + """ + x_g: global features + x_l: local features + """ + B, N, H, W = x_l.shape + # import pdb; pdb.set_trace() + local_feat = self.local_embedding(x_l) + global_act = self.global_act(x_g) + sig_act = F.interpolate(self.act(global_act), size=(H, W)) + + global_feat = self.global_embedding(x_g) + global_feat = F.interpolate(global_feat, size=(H, W)) + + out = local_feat * sig_act + global_feat + return out + + +class Decoder(nn.Module): + + def __init__(self, dims=[96, 192, 384, 768], blocks=[1, 1, 1, 1], dp_rates=0., norm_cfg=None): + super().__init__() + + self.decoder_conv = nn.ModuleList([ + LALayerG(dims[0], dims[0], norm_cfg=norm_cfg), + LALayerG(dims[1], dims[0], norm_cfg=norm_cfg), + LALayerG(dims[2], dims[0], norm_cfg=norm_cfg), + LALayerG(dims[3], dims[0], norm_cfg=norm_cfg), + ]) + + self.decoder_up = nn.ModuleList([ + LAlayerUpsample(dims[0], dims[1], norm_cfg=norm_cfg), + LAlayerUpsample(dims[1], dims[2], norm_cfg=norm_cfg), + LAlayerUpsample(dims[2], dims[3], norm_cfg=norm_cfg), + ]) + + def forward(self, x): + c3, c4, c5, c6, global_f = x + c6 = self.decoder_conv[0](c6, global_f) + c5 = self.decoder_conv[1](c5, global_f) + c4 = self.decoder_conv[2](c4, global_f) + c3 = self.decoder_conv[3](c3, global_f) + + c5 = self.decoder_up[0](c5, c6) + c4 = self.decoder_up[1](c4, c5) + c3 = self.decoder_up[2](c3, c4) + return c3, c4, c5, c6 + + +class Ours(nn.Module): + def __init__( + self, + inp_channels=3, + out_channels=3, + encoder_dims=[64, 128, 256, 512], + decoder_dims=[512, 256, 128, 64], + encoder_blocks=[1, 1, 1, 1], + decoder_blocks=[1, 1, 1, 1], + drop_path_rate=0.1, + norm_cfg=dict(type='LN', eps=1e-6, data_format="channels_first"), + act_type='silu', + ) -> None: + + NORM_LAYERS.register_module('LN', force=True, module=LayerNorm) + global act_module, BaseBlock, ls_init_value + act_module = {'gelu': nn.GELU, 'relu': nn.ReLU, + 'silu': nn.SiLU}.get(act_type, None) + BaseBlock = globals().get("Block", None) + ls_init_value = 1e-6 + dp_rates = [i.item() for i in torch.linspace( + 0, drop_path_rate, sum(encoder_blocks))] + + super().__init__() + + self.inp = nn.Sequential( + nn.Conv2d(inp_channels, encoder_dims[0]//2, 3, 1, 1), + build_norm_layer(norm_cfg, encoder_dims[0]//2)[1], + act_module(), + nn.Conv2d(encoder_dims[0]//2, encoder_dims[0], 3, 1, 1), + build_norm_layer(norm_cfg, encoder_dims[0])[1], + act_module(), + ) + + self.encoder = Encoder( + dims=encoder_dims, + blocks=encoder_blocks, + dp_rates=dp_rates, + norm_cfg=norm_cfg, + ) + + self.decoder = Decoder( + dims=decoder_dims, + blocks=decoder_blocks, + dp_rates=dp_rates, + norm_cfg=norm_cfg, + ) + + self.out = nn.Sequential( + build_norm_layer(norm_cfg, decoder_dims[-1])[1], + act_module(), + nn.Conv2d(decoder_dims[-1], out_channels, 3, 1, 1), + ) + + def forward(self, x): + x = self.inp(x) + x = self.encoder(x) + # print(x[0].shape) # torch.Size([2, 64, 256, 256]) + # print(x[1].shape) # torch.Size([2, 128, 128, 128]) + # print(x[2].shape) # torch.Size([2, 256, 64, 64]) + # print(x[3].shape) # torch.Size([2, 512, 32, 32]) + # print(x[4].shape) # torch.Size([2, 512, 32, 32]) + x = self.decoder(x) + # print(x[0].shape) # torch.Size([2, 64, 256, 256]) + # print(x[1].shape) # torch.Size([2, 128, 128, 128]) + # print(x[2].shape) # torch.Size([2, 256, 64, 64]) + # print(x[3].shape) # torch.Size([2, 512, 32, 32]) + return self.out(x[0]) + + +def gamma_embedding(gammas, dim, max_period=10000): + """ + Create sinusoidal timestep embeddings. + :param gammas: a 1-D Tensor of N indices, one per batch element. + These may be fractional. + :param dim: the dimension of the output. + :param max_period: controls the minimum frequency of the embeddings. + :return: an [N x dim] Tensor of positional embeddings. + """ + half = dim // 2 + freqs = torch.exp( + -math.log(max_period) * torch.arange(start=0, + end=half, dtype=torch.float32) / half + ).to(device=gammas.device) + args = gammas[:, None].float() * freqs[None] + embedding = torch.cat([torch.cos(args), torch.sin(args)], dim=-1) + if dim % 2: + embedding = torch.cat( + [embedding, torch.zeros_like(embedding[:, :1])], dim=-1) + return embedding + + +class UNet(nn.Module): + def __init__( + self, + inp_channels=12, + out_channels=3, + encoder_dims=[64, 128, 256, 512], + decoder_dims=[512, 256, 128, 64], + encoder_blocks=[1, 1, 1, 1], + decoder_blocks=[1, 1, 1, 1], + drop_path_rate=0.1, + norm_type="ln", + act_type='silu', + ) -> None: + + NORM_LAYERS.register_module('ln', force=True, module=LayerNorm) + global act_module, BaseBlock, ls_init_value + act_module = {'gelu': nn.GELU, 'relu': nn.ReLU, + 'silu': nn.SiLU}.get(act_type, None) + BaseBlock = globals().get("Block", None) + ls_init_value = 1e-6 + dp_rates = [i.item() for i in torch.linspace( + 0, drop_path_rate, sum(encoder_blocks))] + norm_cfg = { + "ln": dict(type='ln', eps=1e-6, data_format="channels_first"), + "bn": dict(type='bn'), + }.get(norm_type, None) + + super().__init__() + + self.inp = nn.Sequential( + nn.Conv2d(inp_channels, encoder_dims[0]//2, 3, 1, 1), + build_norm_layer(norm_cfg, encoder_dims[0]//2)[1], + act_module(), + nn.Conv2d(encoder_dims[0]//2, encoder_dims[0], 3, 1, 1), + build_norm_layer(norm_cfg, encoder_dims[0])[1], + act_module(), + ) + + self.emb = partial(gamma_embedding, dim=encoder_dims[0]) + self.map = nn.Sequential( + nn.Linear(encoder_dims[0], encoder_dims[-1]), + act_module(), + nn.Linear(encoder_dims[-1], encoder_dims[-1]), + ) + + self.encoder = Encoder( + dims=encoder_dims, + blocks=encoder_blocks, + time_emb_dim=encoder_dims[-1], + dp_rates=dp_rates, + norm_cfg=norm_cfg, + ) + + self.decoder = Decoder( + dims=decoder_dims, + blocks=decoder_blocks, + dp_rates=dp_rates, + norm_cfg=norm_cfg, + ) + + self.out = nn.Sequential( + build_norm_layer(norm_cfg, decoder_dims[-1])[1], + act_module(), + nn.Conv2d(decoder_dims[-1], out_channels, 3, 1, 1), + ) + + def forward(self, x, gammas): + x = self.inp(x) + t = self.map(self.emb(gammas.view(-1, ))) + x = self.encoder(x, t) + x = self.decoder(x) + return self.out(x[0]) + + +if __name__ == '__main__': + inp = (torch.Tensor(2, 12, 256, 256), torch.ones(2,)) + net = UNet( + inp_channels=12, + out_channels=3, + encoder_dims=[64, 128, 256, 512], + decoder_dims=[512, 256, 128, 64], + encoder_blocks=[1, 1, 1, 1], + decoder_blocks=[1, 1, 1, 1], + drop_path_rate=0.1, + norm_type="ln", + act_type='silu', + ) + out = net(*inp) + print(out.shape) diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/ours/unet_down4_ca.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/ours/unet_down4_ca.py new file mode 100644 index 0000000000000000000000000000000000000000..0234589c14ca91ca47a2a10265968eb1b14bd245 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/ours/unet_down4_ca.py @@ -0,0 +1,695 @@ +import numpy as np +import math +import torch +import torch.nn as nn +import torch.nn.functional as F +from abc import abstractmethod +from timm.models.layers import DropPath +from functools import partial +from mmcv.cnn import build_norm_layer +from mmcv.cnn import build_conv_layer +from mmcv.cnn.bricks.registry import NORM_LAYERS + + +act_module = nn.GELU +BaseBlock = None +ls_init_value = 1e-6 + + +class EmbedBlock(nn.Module): + """ + Any module where forward() takes embeddings as a second argument. + """ + + @abstractmethod + def forward(self, x, emb): + """ + Apply the module to `x` given `emb` embeddings. + """ + + +class EmbedSequential(nn.Sequential, EmbedBlock): + """ + A sequential module that passes embeddings to the children that + support it as an extra input. + """ + + def forward(self, x, emb): + for layer in self: + if isinstance(layer, EmbedBlock): + x = layer(x, emb) + else: + x = layer(x) + return x + + +class LayerNorm(nn.Module): + + def __init__(self, normalized_shape, eps=1e-6, data_format="channels_last"): + super().__init__() + + self.weight = nn.Parameter(torch.ones(normalized_shape)) + self.bias = nn.Parameter(torch.zeros(normalized_shape)) + self.eps = eps + self.data_format = data_format + if self.data_format not in ["channels_last", "channels_first", "channels_first_v2"]: + raise NotImplementedError + self.normalized_shape = (normalized_shape, ) + + def forward(self, x): + if self.data_format == "channels_last": + return F.layer_norm(x, self.normalized_shape, self.weight, self.bias, self.eps) + elif self.data_format == "channels_first": + u = x.mean(1, keepdim=True) + s = (x - u).pow(2).mean(1, keepdim=True) + x = (x - u) / torch.sqrt(s + self.eps) + x = self.weight[:, None, None] * x + self.bias[:, None, None] + return x + elif self.data_format == "channels_first_v2": + return F.layer_norm(x.permute(0, 2, 3, 1), self.normalized_shape, self.weight, self.bias, self.eps).permute(0, 3, 1, 2) + +# 通道注意力模块 + + +class ChannelAttention(nn.Module): + def __init__(self, in_channels) -> None: + super(ChannelAttention, self).__init__() + self.avg_pool = nn.AdaptiveAvgPool2d(1) + self.max_pool = nn.AdaptiveMaxPool2d(1) + + self.fc = nn.Sequential( + nn.Linear(in_channels, in_channels*4, bias=False), + act_module(), + nn.Linear(in_channels*4, in_channels, bias=False), + ) + + self.alpha = nn.Parameter(torch.ones( + (in_channels)), requires_grad=True) + self.betas = nn.Parameter(torch.ones( + (in_channels)), requires_grad=True) + + def forward(self, x): + b, c, _, _ = x.size() + avg_out = self.alpha*self.avg_pool(x).view(b, c) + max_out = self.betas*self.max_pool(x).view(b, c) + out = self.fc(avg_out+max_out).view(b, c, 1, 1) + return x*out.expand_as(x) + + +class Block(EmbedBlock): + + def __init__(self, dim, time_emb_dim, drop_path=0., norm_cfg=None, **kwargs): + super().__init__() + + self.dwconv = nn.Conv2d(dim, dim, kernel_size=7, + padding=3, groups=dim) # depthwise conv + self.norm = build_norm_layer(norm_cfg, dim)[1] + # pointwise/1x1 convs, implemented with linear layers + # self.pwconv1 = nn.Linear(dim, 4 * dim) + # self.act = act_module() + # self.pwconv2 = nn.Linear(4 * dim, dim) + self.ca = ChannelAttention(dim) + self.gamma = nn.Parameter( + ls_init_value * torch.ones((1, dim, 1, 1)), requires_grad=True) if ls_init_value > 0 else None + self.drop_path = DropPath( + drop_path) if drop_path > 0. else nn.Identity() + self.time_emb = nn.Sequential( + act_module(), + nn.Linear(time_emb_dim, dim), + ) + + def forward(self, x, t): + input = x + x = self.dwconv(x) + self.time_emb(t)[..., None, None] + x = self.norm(x) # input (N, C, *) + + # x = x.permute(0, 2, 3, 1) # (N, C, H, W) -> (N, H, W, C) + x = self.ca(x) + # x = self.pwconv1(x) + # x = self.act(x) + # x = self.pwconv2(x) + if self.gamma is not None: + x = self.gamma * x + # x = x.permute(0, 3, 1, 2) # (N, H, W, C) -> (N, C, H, W) + + x = input + self.drop_path(x) + return x + + +class DBlock(nn.Module): + + def __init__(self, dim, drop_path=0., dilation=3, norm_cfg=None, **kwargs): + super().__init__() + + self.dwconv1 = nn.Sequential( + nn.Conv2d(dim, dim, kernel_size=7, + padding=3, dilation=1, groups=dim), + build_norm_layer(norm_cfg, dim)[1], + act_module()) + + self.dwconv2 = nn.Sequential( + nn.Conv2d(dim, dim, kernel_size=7, padding=3 * + dilation, dilation=dilation, groups=dim), + build_norm_layer(norm_cfg, dim)[1], + act_module()) + + self.pwconv1 = nn.Linear(dim, 4 * dim) + self.act = act_module() + self.pwconv2 = nn.Linear(4 * dim, dim) + self.gamma = nn.Parameter( + ls_init_value * torch.ones((dim)), requires_grad=True) if ls_init_value > 0 else None + self.drop_path = DropPath( + drop_path) if drop_path > 0. else nn.Identity() + + def forward(self, x): + + input = x + x = self.dwconv1(x) + x + x = self.dwconv2(x) + x + + x = x.permute(0, 2, 3, 1) # (N, C, H, W) -> (N, H, W, C) + x = self.pwconv1(x) + x = self.act(x) + x = self.pwconv2(x) + if self.gamma is not None: + x = self.gamma * x + x = x.permute(0, 3, 1, 2) # (N, H, W, C) -> (N, C, H, W) + + x = input + self.drop_path(x) + return x + + +class Bottleneck(nn.Module): + + def __init__(self, dim, drop_path=0., norm_cfg=None, **kwargs): + super(Bottleneck, self).__init__() + + self.conv1 = nn.Sequential( + build_conv_layer(None, dim, dim, kernel_size=3, + stride=1, padding=1, bias=False), + build_norm_layer(norm_cfg, dim)[1], + act_module(), + ) + + self.conv2 = nn.Sequential( + build_conv_layer(None, dim, dim * 4, kernel_size=1, + stride=1, bias=False), + build_norm_layer(norm_cfg, dim * 4)[1], + act_module(), + ) + + self.conv3 = nn.Sequential( + build_conv_layer(None, dim * 4, dim, kernel_size=1, bias=False), + build_norm_layer(norm_cfg, dim)[1], + ) + + self.act = act_module() + self.drop_path = DropPath( + drop_path) if drop_path > 0. else nn.Identity() + + def forward(self, x): + input = x + x = self.conv1(x) + x = self.conv2(x) + x = self.conv3(x) + x = self.act(self.drop_path(x) + input) + return x + + +class DBottleneck(nn.Module): + + def __init__(self, dim, drop_path=0., dilation=3, norm_cfg=None, **kwargs): + super(DBottleneck, self).__init__() + + self.conv1 = nn.Sequential( + build_conv_layer(None, dim, dim, kernel_size=3, + stride=1, padding=1, bias=False), + build_norm_layer(norm_cfg, dim)[1], + act_module(), + ) + + self.dwconv1 = nn.Sequential( + nn.Conv2d(dim, dim, kernel_size=7, padding=3 * + dilation, dilation=dilation, groups=dim), + build_norm_layer(norm_cfg, dim)[1], + act_module()) + + self.conv2 = nn.Sequential( + build_conv_layer(None, dim, dim * 4, kernel_size=1, + stride=1, bias=False), + build_norm_layer(norm_cfg, dim * 4)[1], + act_module(), + ) + + self.conv3 = nn.Sequential( + build_conv_layer(None, dim * 4, dim, kernel_size=1, bias=False), + build_norm_layer(norm_cfg, dim)[1], + ) + + self.act = act_module() + self.drop_path = DropPath( + drop_path) if drop_path > 0. else nn.Identity() + + def forward(self, x): + input = x + x = self.conv1(x) + x + x = self.dwconv1(x) + x + x = self.conv2(x) + x = self.conv3(x) + x = self.act(self.drop_path(x) + input) + return x + + +class MLP(nn.Module): + def __init__(self, dim, mlp_ratio=4): + super().__init__() + + self.norm = LayerNorm(dim, eps=1e-6, data_format="channels_first") + + self.fc1 = nn.Conv2d(dim, int(dim * mlp_ratio), 1) + self.pos = nn.Conv2d(int(dim * mlp_ratio), int(dim * mlp_ratio), + 3, padding=1, groups=int(dim * mlp_ratio)) + self.fc2 = nn.Conv2d(int(dim * mlp_ratio), dim, 1) + self.act = act_module() + + def forward(self, x): + B, C, H, W = x.shape + x = self.norm(x) + x = self.fc1(x) + x = self.act(x) + x = x + self.act(self.pos(x)) + x = self.fc2(x) + + return x + + +class ConvMod(nn.Module): + def __init__(self, dim): + super().__init__() + + self.norm = LayerNorm(dim, eps=1e-6, data_format="channels_first") + self.a = nn.Sequential( + nn.Conv2d(dim, dim, 1), + act_module(), + nn.Conv2d(dim, dim, 11, padding=5, groups=dim) # TODO + ) + + self.v = nn.Conv2d(dim, dim, 1) + self.proj = nn.Conv2d(dim, dim, 1) + + def forward(self, x): + B, C, H, W = x.shape + x = self.norm(x) + a = self.a(x) # A=QK^T + x = a * self.v(x) + x = self.proj(x) + + return x + + +class Conv2Former(nn.Module): + def __init__(self, dim, mlp_ratio=4., drop_path=0.): + super().__init__() + + self.attn = ConvMod(dim) + self.mlp = MLP(dim, mlp_ratio) + layer_scale_init_value = 1e-6 + self.layer_scale_1 = nn.Parameter( # a + layer_scale_init_value * torch.ones((dim)), requires_grad=True) + self.layer_scale_2 = nn.Parameter( # b + layer_scale_init_value * torch.ones((dim)), requires_grad=True) + self.drop_path = DropPath( + drop_path) if drop_path > 0. else nn.Identity() + + def forward(self, x): + x = x + \ + self.drop_path( + self.layer_scale_1.unsqueeze(-1).unsqueeze(-1) * self.attn(x)) + x = x + \ + self.drop_path( + self.layer_scale_2.unsqueeze(-1).unsqueeze(-1) * self.mlp(x)) + return x + + +class Encoder(nn.Module): + + def __init__(self, dims=[96, 192, 384, 768], blocks=[1, 1, 1, 1], time_emb_dim=512, dp_rates=0., norm_cfg=None): + super().__init__() + + assert isinstance(dp_rates, list) + cum_sum = np.array([0] + blocks[:-1]).cumsum() + + self.encoder = nn.ModuleList([ + EmbedSequential(*[BaseBlock(dims[0], time_emb_dim, dp_rates[_], + norm_cfg=norm_cfg, widx=_) for _ in range(blocks[0])]), + + EmbedSequential(*[BaseBlock(dims[1], time_emb_dim, dp_rates[cum_sum[1]+_], + norm_cfg=norm_cfg, widx=_) for _ in range(blocks[1])]), + EmbedSequential(*[BaseBlock(dims[2], time_emb_dim, dp_rates[cum_sum[2]+_], + norm_cfg=norm_cfg, widx=_) for _ in range(blocks[2])]), + EmbedSequential(*[BaseBlock(dims[3], time_emb_dim, dp_rates[cum_sum[3]+_], + norm_cfg=norm_cfg, widx=_) for _ in range(blocks[3])]), + EmbedSequential(*[BaseBlock(dims[4], time_emb_dim, dp_rates[cum_sum[4]+_], + norm_cfg=norm_cfg, widx=_) for _ in range(blocks[4])]), + ]) + + self.encoder_downsample = nn.ModuleList([ + nn.Sequential(nn.Conv2d(dims[0], dims[1], kernel_size=2, stride=2), build_norm_layer( + norm_cfg, dims[1])[1]), + nn.Sequential(nn.Conv2d(dims[1], dims[2], kernel_size=2, stride=2), build_norm_layer( + norm_cfg, dims[2])[1]), + nn.Sequential(nn.Conv2d(dims[2], dims[3], kernel_size=2, stride=2), build_norm_layer( + norm_cfg, dims[3])[1]), + nn.Sequential(nn.Conv2d(dims[3], dims[4], kernel_size=2, stride=2), build_norm_layer( + norm_cfg, dims[4])[1]), + ]) + + self.attention = Conv2Former(dims[4], drop_path=dp_rates[-1]) + + self.pooling_conv = nn.ModuleList([ + nn.Sequential(nn.Conv2d(dims[0], dims[4], kernel_size=1, stride=1), build_norm_layer( + norm_cfg, dims[4])[1]), + nn.Sequential(nn.Conv2d(dims[1], dims[4], kernel_size=1, stride=1), build_norm_layer( + norm_cfg, dims[4])[1]), + nn.Sequential(nn.Conv2d(dims[2], dims[4], kernel_size=1, stride=1), build_norm_layer( + norm_cfg, dims[4])[1]), + nn.Sequential(nn.Conv2d(dims[3], dims[4], kernel_size=1, stride=1), build_norm_layer( + norm_cfg, dims[4])[1]), + ]) + + def forward(self, x, t): + if isinstance(x, tuple): + x = x[0] + c3 = self.encoder[0](x, t) + c4 = self.encoder[1](self.encoder_downsample[0](c3), t) + c5 = self.encoder[2](self.encoder_downsample[1](c4), t) + c6 = self.encoder[3](self.encoder_downsample[2](c5), t) + c7 = self.encoder[4](self.encoder_downsample[3](c6), t) + # import pdb; pdb.set_trace() + global_f = F.adaptive_avg_pool2d(self.pooling_conv[0](c3), output_size=(c7.shape[-2], c7.shape[-1])) \ + + F.adaptive_avg_pool2d(self.pooling_conv[1]( + c4), output_size=(c7.shape[-2], c7.shape[-1])) + F.adaptive_avg_pool2d(self.pooling_conv[2](c5), output_size=(c7.shape[-2], c7.shape[-1])) + F.adaptive_avg_pool2d(self.pooling_conv[3](c6), output_size=(c7.shape[-2], c7.shape[-1]))+c7 + global_f = self.attention(global_f) + return c3, c4, c5, c6, c7, global_f + + +class LAlayerUpsample(nn.Module): + def __init__(self, inp: int, oup: int, kernel: int = 1, norm_cfg=None) -> None: + super().__init__() + norm = build_norm_layer(norm_cfg, oup)[1] + groups = 1 + if inp == oup: + groups = inp + self.local_embedding = nn.Sequential( + nn.Conv2d(oup, oup, kernel, groups=oup, + padding=int((kernel - 1) / 2), bias=False), + norm + ) + self.global_embedding = nn.Sequential( + nn.Conv2d(inp, oup, kernel, padding=int( + (kernel - 1) / 2), bias=False), + norm + ) + self.global_act = nn.Sequential( + nn.Conv2d(inp, oup, kernel, padding=int( + (kernel - 1) / 2), bias=False), + norm + ) + self.act = nn.Sigmoid() + + def forward(self, x_l, x_g): + """ + x_g: global features + x_l: local features + """ + B, N, H, W = x_l.shape + local_feat = self.local_embedding(x_l) + + global_act = self.global_act(x_g) + sig_act = F.interpolate(self.act(global_act), size=(H, W)) + + global_feat = self.global_embedding(x_g) + global_feat = F.interpolate(global_feat, size=(H, W)) + + out = local_feat * sig_act + global_feat + return out + + +class LALayerG(nn.Module): + def __init__(self, inp: int, oup: int, kernel: int = 1, norm_cfg=None) -> None: + super().__init__() + norm = build_norm_layer(norm_cfg, inp)[1] + groups = 1 + if inp == oup: + groups = inp + self.local_embedding = nn.Sequential( + nn.Conv2d(inp, inp, kernel, groups=inp, + padding=int((kernel - 1) / 2), bias=False), + norm + ) + self.global_embedding = nn.Sequential( + nn.Conv2d(oup, inp, kernel, groups=groups, + padding=int((kernel - 1) / 2), bias=False), + norm + ) + self.global_act = nn.Sequential( + nn.Conv2d(oup, inp, kernel, groups=groups, + padding=int((kernel - 1) / 2), bias=False), + norm + ) + self.act = nn.Sigmoid() + + def forward(self, x_l, x_g): + """ + x_g: global features + x_l: local features + """ + B, N, H, W = x_l.shape + # import pdb; pdb.set_trace() + local_feat = self.local_embedding(x_l) + global_act = self.global_act(x_g) + sig_act = F.interpolate(self.act(global_act), size=(H, W)) + + global_feat = self.global_embedding(x_g) + global_feat = F.interpolate(global_feat, size=(H, W)) + + out = local_feat * sig_act + global_feat + return out + + +class Decoder(nn.Module): + + def __init__(self, dims=[96, 192, 384, 768], blocks=[1, 1, 1, 1], dp_rates=0., norm_cfg=None): + super().__init__() + + self.decoder_conv = nn.ModuleList([ + LALayerG(dims[0], dims[0], norm_cfg=norm_cfg), + LALayerG(dims[1], dims[0], norm_cfg=norm_cfg), + LALayerG(dims[2], dims[0], norm_cfg=norm_cfg), + LALayerG(dims[3], dims[0], norm_cfg=norm_cfg), + LALayerG(dims[4], dims[0], norm_cfg=norm_cfg), + ]) + + self.decoder_up = nn.ModuleList([ + LAlayerUpsample(dims[0], dims[1], norm_cfg=norm_cfg), + LAlayerUpsample(dims[1], dims[2], norm_cfg=norm_cfg), + LAlayerUpsample(dims[2], dims[3], norm_cfg=norm_cfg), + LAlayerUpsample(dims[3], dims[4], norm_cfg=norm_cfg), + ]) + + def forward(self, x): + c3, c4, c5, c6, c7, global_f = x + c7 = self.decoder_conv[0](c7, global_f) + c6 = self.decoder_conv[1](c6, global_f) + c5 = self.decoder_conv[2](c5, global_f) + c4 = self.decoder_conv[3](c4, global_f) + c3 = self.decoder_conv[4](c3, global_f) + + c6 = self.decoder_up[0](c6, c7) + c5 = self.decoder_up[1](c5, c6) + c4 = self.decoder_up[2](c4, c5) + c3 = self.decoder_up[3](c3, c4) + return c3, c4, c5, c6, c7 + + +class Ours(nn.Module): + def __init__( + self, + inp_channels=3, + out_channels=3, + encoder_dims=[64, 128, 256, 512, 1024], + decoder_dims=[1024, 512, 256, 128, 64], + encoder_blocks=[1, 1, 1, 1, 1], + decoder_blocks=[1, 1, 1, 1, 1], + drop_path_rate=0.1, + norm_cfg=dict(type='LN', eps=1e-6, data_format="channels_first"), + act_type='silu', + ) -> None: + + NORM_LAYERS.register_module('LN', force=True, module=LayerNorm) + global act_module, BaseBlock, ls_init_value + act_module = {'gelu': nn.GELU, 'relu': nn.ReLU, + 'silu': nn.SiLU}.get(act_type, None) + BaseBlock = globals().get("Block", None) + ls_init_value = 1e-6 + dp_rates = [i.item() for i in torch.linspace( + 0, drop_path_rate, sum(encoder_blocks))] + + super().__init__() + + self.inp = nn.Sequential( + nn.Conv2d(inp_channels, encoder_dims[0]//2, 3, 1, 1), + build_norm_layer(norm_cfg, encoder_dims[0]//2)[1], + act_module(), + nn.Conv2d(encoder_dims[0]//2, encoder_dims[0], 3, 1, 1), + build_norm_layer(norm_cfg, encoder_dims[0])[1], + act_module(), + ) + + self.encoder = Encoder( + dims=encoder_dims, + blocks=encoder_blocks, + dp_rates=dp_rates, + norm_cfg=norm_cfg, + ) + + self.decoder = Decoder( + dims=decoder_dims, + blocks=decoder_blocks, + dp_rates=dp_rates, + norm_cfg=norm_cfg, + ) + + self.out = nn.Sequential( + build_norm_layer(norm_cfg, decoder_dims[-1])[1], + act_module(), + nn.Conv2d(decoder_dims[-1], out_channels, 3, 1, 1), + ) + + def forward(self, x): + x = self.inp(x) + x = self.encoder(x) + # print(x[0].shape) # torch.Size([2, 64, 256, 256]) + # print(x[1].shape) # torch.Size([2, 128, 128, 128]) + # print(x[2].shape) # torch.Size([2, 256, 64, 64]) + # print(x[3].shape) # torch.Size([2, 512, 32, 32]) + # print(x[4].shape) # torch.Size([2, 512, 32, 32]) + x = self.decoder(x) + # print(x[0].shape) # torch.Size([2, 64, 256, 256]) + # print(x[1].shape) # torch.Size([2, 128, 128, 128]) + # print(x[2].shape) # torch.Size([2, 256, 64, 64]) + # print(x[3].shape) # torch.Size([2, 512, 32, 32]) + return self.out(x[0]) + + +def gamma_embedding(gammas, dim, max_period=10000): + """ + Create sinusoidal timestep embeddings. + :param gammas: a 1-D Tensor of N indices, one per batch element. + These may be fractional. + :param dim: the dimension of the output. + :param max_period: controls the minimum frequency of the embeddings. + :return: an [N x dim] Tensor of positional embeddings. + """ + half = dim // 2 + freqs = torch.exp( + -math.log(max_period) * torch.arange(start=0, + end=half, dtype=torch.float32) / half + ).to(device=gammas.device) + args = gammas[:, None].float() * freqs[None] + embedding = torch.cat([torch.cos(args), torch.sin(args)], dim=-1) + if dim % 2: + embedding = torch.cat( + [embedding, torch.zeros_like(embedding[:, :1])], dim=-1) + return embedding + + +class UNet(nn.Module): + def __init__( + self, + inp_channels=12, + out_channels=3, + encoder_dims=[64, 128, 256, 512], + decoder_dims=[512, 256, 128, 64], + encoder_blocks=[1, 1, 1, 1], + decoder_blocks=[1, 1, 1, 1], + drop_path_rate=0.1, + norm_type="ln", + act_type='silu', + ) -> None: + + NORM_LAYERS.register_module('ln', force=True, module=LayerNorm) + global act_module, BaseBlock, ls_init_value + act_module = {'gelu': nn.GELU, 'relu': nn.ReLU, + 'silu': nn.SiLU}.get(act_type, None) + BaseBlock = globals().get("Block", None) + ls_init_value = 1e-6 + dp_rates = [i.item() for i in torch.linspace( + 0, drop_path_rate, sum(encoder_blocks))] + norm_cfg = { + "ln": dict(type='ln', eps=1e-6, data_format="channels_first"), + "bn": dict(type='bn'), + }.get(norm_type, None) + + super().__init__() + + self.inp = nn.Sequential( + nn.Conv2d(inp_channels, encoder_dims[0]//2, 3, 1, 1), + build_norm_layer(norm_cfg, encoder_dims[0]//2)[1], + act_module(), + nn.Conv2d(encoder_dims[0]//2, encoder_dims[0], 3, 1, 1), + build_norm_layer(norm_cfg, encoder_dims[0])[1], + act_module(), + ) + + self.emb = partial(gamma_embedding, dim=encoder_dims[0]) + self.map = nn.Sequential( + nn.Linear(encoder_dims[0], encoder_dims[-1]), + act_module(), + nn.Linear(encoder_dims[-1], encoder_dims[-1]), + ) + + self.encoder = Encoder( + dims=encoder_dims, + blocks=encoder_blocks, + time_emb_dim=encoder_dims[-1], + dp_rates=dp_rates, + norm_cfg=norm_cfg, + ) + + self.decoder = Decoder( + dims=decoder_dims, + blocks=decoder_blocks, + dp_rates=dp_rates, + norm_cfg=norm_cfg, + ) + + self.out = nn.Sequential( + build_norm_layer(norm_cfg, decoder_dims[-1])[1], + act_module(), + nn.Conv2d(decoder_dims[-1], out_channels, 3, 1, 1), + ) + + def forward(self, x, gammas): + x = self.inp(x) + t = self.map(self.emb(gammas.view(-1, ))) + x = self.encoder(x, t) + x = self.decoder(x) + return self.out(x[0]) + + +if __name__ == '__main__': + inp = (torch.Tensor(2, 12, 256, 256), torch.ones(2,)) + net = UNet( + inp_channels=12, + out_channels=3, + encoder_dims=[64, 128, 256, 512, 1024], + decoder_dims=[1024, 512, 256, 128, 64], + encoder_blocks=[1, 1, 1, 1, 1], + decoder_blocks=[1, 1, 1, 1, 1], + drop_path_rate=0.1, + norm_type="ln", + act_type='silu', + ) + out = net(*inp) + print(out.shape) diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/palette_convnext_ca/nn.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/palette_convnext_ca/nn.py new file mode 100644 index 0000000000000000000000000000000000000000..60b83c965aeb86443852d218e423a23b7293e28f --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/palette_convnext_ca/nn.py @@ -0,0 +1,138 @@ +""" +Various utilities for neural networks. +""" + +import math +import numpy as np +import torch +import torch.nn as nn + + +class GroupNorm32(nn.GroupNorm): + def forward(self, x): + return super().forward(x.float()).type(x.dtype) + + +def zero_module(module): + """ + Zero out the parameters of a module and return it. + """ + for p in module.parameters(): + p.detach().zero_() + return module + + +def scale_module(module, scale): + """ + Scale the parameters of a module and return it. + """ + for p in module.parameters(): + p.detach().mul_(scale) + return module + + +def mean_flat(tensor): + """ + Take the mean over all non-batch dimensions. + """ + return tensor.mean(dim=list(range(1, len(tensor.shape)))) + + +def normalization(channels): + """ + Make a standard normalization layer. + + :param channels: number of input channels. + :return: an nn.Module for normalization. + """ + return GroupNorm32(32, channels) + + + +def checkpoint(func, inputs, params, flag): + """ + Evaluate a function without caching intermediate activations, allowing for + reduced memory at the expense of extra compute in the backward pass. + + :param func: the function to evaluate. + :param inputs: the argument sequence to pass to `func`. + :param params: a sequence of parameters `func` depends on but does not + explicitly take as arguments. + :param flag: if False, disable gradient checkpointing. + """ + if flag: + args = tuple(inputs) + tuple(params) + return CheckpointFunction.apply(func, len(inputs), *args) + else: + return func(*inputs) + + +class CheckpointFunction(torch.autograd.Function): + @staticmethod + def forward(ctx, run_function, length, *args): + ctx.run_function = run_function + ctx.input_tensors = list(args[:length]) + ctx.input_params = list(args[length:]) + with torch.no_grad(): + output_tensors = ctx.run_function(*ctx.input_tensors) + return output_tensors + + @staticmethod + def backward(ctx, *output_grads): + ctx.input_tensors = [x.detach().requires_grad_(True) for x in ctx.input_tensors] + with torch.enable_grad(): + # Fixes a bug where the first op in run_function modifies the + # Tensor storage in place, which is not allowed for detach()'d + # Tensors. + shallow_copies = [x.view_as(x) for x in ctx.input_tensors] + output_tensors = ctx.run_function(*shallow_copies) + input_grads = torch.autograd.grad( + output_tensors, + ctx.input_tensors + ctx.input_params, + output_grads, + allow_unused=True, + ) + del ctx.input_tensors + del ctx.input_params + del output_tensors + return (None, None) + input_grads + + +def count_flops_attn(model, _x, y): + """ + A counter for the `thop` package to count the operations in an + attention operation. + Meant to be used like: + macs, params = thop.profile( + model, + inputs=(inputs, timestamps), + custom_ops={QKVAttention: QKVAttention.count_flops}, + ) + """ + b, c, *spatial = y[0].shape + num_spatial = int(np.prod(spatial)) + # We perform two matmuls with the same number of ops. + # The first computes the weight matrix, the second computes + # the combination of the value vectors. + matmul_ops = 2 * b * (num_spatial ** 2) * c + model.total_ops += torch.DoubleTensor([matmul_ops]) + + +def gamma_embedding(gammas, dim, max_period=10000): + """ + Create sinusoidal timestep embeddings. + :param gammas: a 1-D Tensor of N indices, one per batch element. + These may be fractional. + :param dim: the dimension of the output. + :param max_period: controls the minimum frequency of the embeddings. + :return: an [N x dim] Tensor of positional embeddings. + """ + half = dim // 2 + freqs = torch.exp( + -math.log(max_period) * torch.arange(start=0, end=half, dtype=torch.float32) / half + ).to(device=gammas.device) + args = gammas[:, None].float() * freqs[None] + embedding = torch.cat([torch.cos(args), torch.sin(args)], dim=-1) + if dim % 2: + embedding = torch.cat([embedding, torch.zeros_like(embedding[:, :1])], dim=-1) + return embedding \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/palette_convnext_ca/unet.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/palette_convnext_ca/unet.py new file mode 100644 index 0000000000000000000000000000000000000000..218883a258d99d0d6ee5e0f23d749a271ce5d9b9 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/palette_convnext_ca/unet.py @@ -0,0 +1,560 @@ +from abc import abstractmethod +import math + +import torch +import torch.nn as nn +import torch.nn.functional as F + +from .nn import ( + checkpoint, + zero_module, + normalization, + count_flops_attn, + gamma_embedding +) + +class SiLU(nn.Module): + def forward(self, x): + return x * torch.sigmoid(x) + +class EmbedBlock(nn.Module): + """ + Any module where forward() takes embeddings as a second argument. + """ + + @abstractmethod + def forward(self, x, emb): + """ + Apply the module to `x` given `emb` embeddings. + """ + +class EmbedSequential(nn.Sequential, EmbedBlock): + """ + A sequential module that passes embeddings to the children that + support it as an extra input. + """ + + def forward(self, x, emb): + for layer in self: + if isinstance(layer, EmbedBlock): + x = layer(x, emb) + else: + x = layer(x) + return x + +class Upsample(nn.Module): + """ + An upsampling layer with an optional convolution. + :param channels: channels in the inputs and outputs. + :param use_conv: a bool determining if a convolution is applied. + + """ + + def __init__(self, channels, use_conv, out_channel=None): + super().__init__() + self.channels = channels + self.out_channel = out_channel or channels + self.use_conv = use_conv + if use_conv: + self.conv = nn.Conv2d(self.channels, self.out_channel, 3, padding=1) + + def forward(self, x): + assert x.shape[1] == self.channels + x = F.interpolate(x, scale_factor=2, mode="nearest") + if self.use_conv: + x = self.conv(x) + return x + +class Downsample(nn.Module): + """ + A downsampling layer with an optional convolution. + :param channels: channels in the inputs and outputs. + :param use_conv: a bool determining if a convolution is applied. + """ + + def __init__(self, channels, use_conv, out_channel=None): + super().__init__() + self.channels = channels + self.out_channel = out_channel or channels + self.use_conv = use_conv + stride = 2 + if use_conv: + self.op = nn.Conv2d( + self.channels, self.out_channel, 3, stride=stride, padding=1 + ) + else: + assert self.channels == self.out_channel + self.op = nn.AvgPool2d(kernel_size=stride, stride=stride) + + def forward(self, x): + assert x.shape[1] == self.channels + return self.op(x) + + +class ResBlock(EmbedBlock): + """ + A residual block that can optionally change the number of channels. + :param channels: the number of input channels. + :param emb_channels: the number of embedding channels. + :param dropout: the rate of dropout. + :param out_channel: if specified, the number of out channels. + :param use_conv: if True and out_channel is specified, use a spatial + convolution instead of a smaller 1x1 convolution to change the + channels in the skip connection. + :param use_checkpoint: if True, use gradient checkpointing on this module. + :param up: if True, use this block for upsampling. + :param down: if True, use this block for downsampling. + """ + + def __init__( + self, + channels, + emb_channels, + dropout, + out_channel=None, + use_conv=False, + use_scale_shift_norm=False, + use_checkpoint=False, + up=False, + down=False, + ): + super().__init__() + self.channels = channels + self.emb_channels = emb_channels + self.dropout = dropout + self.out_channel = out_channel or channels + self.use_conv = use_conv + self.use_checkpoint = use_checkpoint + self.use_scale_shift_norm = use_scale_shift_norm + + self.in_layers = nn.Sequential( + normalization(channels), + SiLU(), + nn.Conv2d(channels, self.out_channel, 3, padding=1), + ) + + self.updown = up or down + + if up: + self.h_upd = Upsample(channels, False) + self.x_upd = Upsample(channels, False) + elif down: + self.h_upd = Downsample(channels, False) + self.x_upd = Downsample(channels, False) + else: + self.h_upd = self.x_upd = nn.Identity() + + self.emb_layers = nn.Sequential( + SiLU(), + nn.Linear( + emb_channels, + 2 * self.out_channel if use_scale_shift_norm else self.out_channel, + ), + ) + self.out_layers = nn.Sequential( + normalization(self.out_channel), + SiLU(), + nn.Dropout(p=dropout), + zero_module( + nn.Conv2d(self.out_channel, self.out_channel, 3, padding=1) + ), + ) + + if self.out_channel == channels: + self.skip_connection = nn.Identity() + elif use_conv: + self.skip_connection = nn.Conv2d( + channels, self.out_channel, 3, padding=1 + ) + else: + self.skip_connection = nn.Conv2d(channels, self.out_channel, 1) + + def forward(self, x, emb): + """ + Apply the block to a Tensor, conditioned on a embedding. + :param x: an [N x C x ...] Tensor of features. + :param emb: an [N x emb_channels] Tensor of embeddings. + :return: an [N x C x ...] Tensor of outputs. + """ + return checkpoint( + self._forward, (x, emb), self.parameters(), self.use_checkpoint + ) + + def _forward(self, x, emb): + if self.updown: + in_rest, in_conv = self.in_layers[:-1], self.in_layers[-1] + h = in_rest(x) + h = self.h_upd(h) + x = self.x_upd(x) + h = in_conv(h) + else: + h = self.in_layers(x) + emb_out = self.emb_layers(emb).type(h.dtype) + while len(emb_out.shape) < len(h.shape): + emb_out = emb_out[..., None] + if self.use_scale_shift_norm: + out_norm, out_rest = self.out_layers[0], self.out_layers[1:] + scale, shift = torch.chunk(emb_out, 2, dim=1) + h = out_norm(h) * (1 + scale) + shift + h = out_rest(h) + else: + h = h + emb_out + h = self.out_layers(h) + return self.skip_connection(x) + h + +class AttentionBlock(nn.Module): + """ + An attention block that allows spatial positions to attend to each other. + Originally ported from here, but adapted to the N-d case. + https://github.com/hojonathanho/diffusion/blob/1e0dceb3b3495bbe19116a5e1b3596cd0706c543/diffusion_tf/models/unet.py#L66. + """ + + def __init__( + self, + channels, + num_heads=1, + num_head_channels=-1, + use_checkpoint=False, + use_new_attention_order=False, + ): + super().__init__() + self.channels = channels + if num_head_channels == -1: + self.num_heads = num_heads + else: + assert ( + channels % num_head_channels == 0 + ), f"q,k,v channels {channels} is not divisible by num_head_channels {num_head_channels}" + self.num_heads = channels // num_head_channels + self.use_checkpoint = use_checkpoint + self.norm = normalization(channels) + self.qkv = nn.Conv1d(channels, channels * 3, 1) + if use_new_attention_order: + # split qkv before split heads + self.attention = QKVAttention(self.num_heads) + else: + # split heads before split qkv + self.attention = QKVAttentionLegacy(self.num_heads) + + self.proj_out = zero_module(nn.Conv1d(channels, channels, 1)) + + def forward(self, x): + return checkpoint(self._forward, (x,), self.parameters(), True) + + def _forward(self, x): + b, c, *spatial = x.shape + x = x.reshape(b, c, -1) + qkv = self.qkv(self.norm(x)) + h = self.attention(qkv) + h = self.proj_out(h) + return (x + h).reshape(b, c, *spatial) + + +class QKVAttentionLegacy(nn.Module): + """ + A module which performs QKV attention. Matches legacy QKVAttention + input/ouput heads shaping + """ + + def __init__(self, n_heads): + super().__init__() + self.n_heads = n_heads + + def forward(self, qkv): + """ + Apply QKV attention. + :param qkv: an [N x (H * 3 * C) x T] tensor of Qs, Ks, and Vs. + :return: an [N x (H * C) x T] tensor after attention. + """ + bs, width, length = qkv.shape + assert width % (3 * self.n_heads) == 0 + ch = width // (3 * self.n_heads) + q, k, v = qkv.reshape(bs * self.n_heads, ch * 3, length).split(ch, dim=1) + scale = 1 / math.sqrt(math.sqrt(ch)) + weight = torch.einsum( + "bct,bcs->bts", q * scale, k * scale + ) # More stable with f16 than dividing afterwards + weight = torch.softmax(weight.float(), dim=-1).type(weight.dtype) + a = torch.einsum("bts,bcs->bct", weight, v) + return a.reshape(bs, -1, length) + + @staticmethod + def count_flops(model, _x, y): + return count_flops_attn(model, _x, y) + + +class QKVAttention(nn.Module): + """ + A module which performs QKV attention and splits in a different order. + """ + + def __init__(self, n_heads): + super().__init__() + self.n_heads = n_heads + + def forward(self, qkv): + """ + Apply QKV attention. + :param qkv: an [N x (3 * H * C) x T] tensor of Qs, Ks, and Vs. + :return: an [N x (H * C) x T] tensor after attention. + """ + bs, width, length = qkv.shape + assert width % (3 * self.n_heads) == 0 + ch = width // (3 * self.n_heads) + q, k, v = qkv.chunk(3, dim=1) + scale = 1 / math.sqrt(math.sqrt(ch)) + weight = torch.einsum( + "bct,bcs->bts", + (q * scale).view(bs * self.n_heads, ch, length), + (k * scale).view(bs * self.n_heads, ch, length), + ) # More stable with f16 than dividing afterwards + weight = torch.softmax(weight.float(), dim=-1).type(weight.dtype) + a = torch.einsum("bts,bcs->bct", weight, v.reshape(bs * self.n_heads, ch, length)) + return a.reshape(bs, -1, length) + + @staticmethod + def count_flops(model, _x, y): + return count_flops_attn(model, _x, y) + +class UNet(nn.Module): + """ + The full UNet model with attention and embedding. + :param in_channel: channels in the input Tensor, for image colorization : Y_channels + X_channels . + :param inner_channel: base channel count for the model. + :param out_channel: channels in the output Tensor. + :param res_blocks: number of residual blocks per downsample. + :param attn_res: a collection of downsample rates at which + attention will take place. May be a set, list, or tuple. + For example, if this contains 4, then at 4x downsampling, attention + will be used. + :param dropout: the dropout probability. + :param channel_mults: channel multiplier for each level of the UNet. + :param conv_resample: if True, use learned convolutions for upsampling and + downsampling. + :param use_checkpoint: use gradient checkpointing to reduce memory usage. + :param num_heads: the number of attention heads in each attention layer. + :param num_heads_channels: if specified, ignore num_heads and instead use + a fixed channel width per attention head. + :param num_heads_upsample: works with num_heads to set a different number + of heads for upsampling. Deprecated. + :param use_scale_shift_norm: use a FiLM-like conditioning mechanism. + :param resblock_updown: use residual blocks for up/downsampling. + :param use_new_attention_order: use a different attention pattern for potentially + increased efficiency. + """ + + def __init__( + self, + image_size, + in_channel, + inner_channel, + out_channel, + res_blocks, + attn_res, + dropout=0, + channel_mults=(1, 2, 4, 8), + conv_resample=True, + use_checkpoint=False, + use_fp16=False, + num_heads=1, + num_head_channels=-1, + num_heads_upsample=-1, + use_scale_shift_norm=True, + resblock_updown=True, + use_new_attention_order=False, + ): + + super().__init__() + + if num_heads_upsample == -1: + num_heads_upsample = num_heads + + self.image_size = image_size + self.in_channel = in_channel + self.inner_channel = inner_channel + self.out_channel = out_channel + self.res_blocks = res_blocks + self.attn_res = attn_res + self.dropout = dropout + self.channel_mults = channel_mults + self.conv_resample = conv_resample + self.use_checkpoint = use_checkpoint + self.dtype = torch.float16 if use_fp16 else torch.float32 + self.num_heads = num_heads + self.num_head_channels = num_head_channels + self.num_heads_upsample = num_heads_upsample + + cond_embed_dim = inner_channel * 4 + self.cond_embed = nn.Sequential( + nn.Linear(inner_channel, cond_embed_dim), + SiLU(), + nn.Linear(cond_embed_dim, cond_embed_dim), + ) + + ch = input_ch = int(channel_mults[0] * inner_channel) + self.input_blocks = nn.ModuleList( + [EmbedSequential(nn.Conv2d(in_channel, ch, 3, padding=1))] + ) + self._feature_size = ch + input_block_chans = [ch] + ds = 1 + for level, mult in enumerate(channel_mults): + for _ in range(res_blocks): + layers = [ + ResBlock( + ch, + cond_embed_dim, + dropout, + out_channel=int(mult * inner_channel), + use_checkpoint=use_checkpoint, + use_scale_shift_norm=use_scale_shift_norm, + ) + ] + ch = int(mult * inner_channel) + if ds in attn_res: + layers.append( + AttentionBlock( + ch, + use_checkpoint=use_checkpoint, + num_heads=num_heads, + num_head_channels=num_head_channels, + use_new_attention_order=use_new_attention_order, + ) + ) + self.input_blocks.append(EmbedSequential(*layers)) + self._feature_size += ch + input_block_chans.append(ch) + if level != len(channel_mults) - 1: + out_ch = ch + self.input_blocks.append( + EmbedSequential( + ResBlock( + ch, + cond_embed_dim, + dropout, + out_channel=out_ch, + use_checkpoint=use_checkpoint, + use_scale_shift_norm=use_scale_shift_norm, + down=True, + ) + if resblock_updown + else Downsample( + ch, conv_resample, out_channel=out_ch + ) + ) + ) + ch = out_ch + input_block_chans.append(ch) + ds *= 2 + self._feature_size += ch + + self.middle_block = EmbedSequential( + ResBlock( + ch, + cond_embed_dim, + dropout, + use_checkpoint=use_checkpoint, + use_scale_shift_norm=use_scale_shift_norm, + ), + AttentionBlock( + ch, + use_checkpoint=use_checkpoint, + num_heads=num_heads, + num_head_channels=num_head_channels, + use_new_attention_order=use_new_attention_order, + ), + ResBlock( + ch, + cond_embed_dim, + dropout, + use_checkpoint=use_checkpoint, + use_scale_shift_norm=use_scale_shift_norm, + ), + ) + self._feature_size += ch + + self.output_blocks = nn.ModuleList([]) + for level, mult in list(enumerate(channel_mults))[::-1]: + for i in range(res_blocks + 1): + ich = input_block_chans.pop() + layers = [ + ResBlock( + ch + ich, + cond_embed_dim, + dropout, + out_channel=int(inner_channel * mult), + use_checkpoint=use_checkpoint, + use_scale_shift_norm=use_scale_shift_norm, + ) + ] + ch = int(inner_channel * mult) + if ds in attn_res: + layers.append( + AttentionBlock( + ch, + use_checkpoint=use_checkpoint, + num_heads=num_heads_upsample, + num_head_channels=num_head_channels, + use_new_attention_order=use_new_attention_order, + ) + ) + if level and i == res_blocks: + out_ch = ch + layers.append( + ResBlock( + ch, + cond_embed_dim, + dropout, + out_channel=out_ch, + use_checkpoint=use_checkpoint, + use_scale_shift_norm=use_scale_shift_norm, + up=True, + ) + if resblock_updown + else Upsample(ch, conv_resample, out_channel=out_ch) + ) + ds //= 2 + self.output_blocks.append(EmbedSequential(*layers)) + self._feature_size += ch + + self.out = nn.Sequential( + normalization(ch), + SiLU(), + zero_module(nn.Conv2d(input_ch, out_channel, 3, padding=1)), + ) + + def forward(self, x, gammas): + """ + Apply the model to an input batch. + :param x: an [N x 2 x ...] Tensor of inputs (B&W) + :param gammas: a 1-D batch of gammas. # 2000 190 + :return: an [N x C x ...] Tensor of outputs. + """ + hs = [] + gammas = gammas.view(-1, ) # [bs] + emb = self.cond_embed(gamma_embedding(gammas, self.inner_channel)) # [bs, 64*4] + + h = x.type(torch.float32) + for module in self.input_blocks: + h = module(h, emb) + hs.append(h) + h = self.middle_block(h, emb) + for module in self.output_blocks: + h = torch.cat([h, hs.pop()], dim=1) + h = module(h, emb) + h = h.type(x.dtype) + return self.out(h) + +if __name__ == '__main__': + b, c, h, w = 3, 6, 64, 64 + timsteps = 100 + model = UNet( + image_size=h, + in_channel=c, + inner_channel=64, + out_channel=3, + res_blocks=2, + attn_res=[8] + ) + x = torch.randn((b, c, h, w)) + emb = torch.ones((b, )) + out = model(x, emb) \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/sr3_modules/unet.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/sr3_modules/unet.py new file mode 100644 index 0000000000000000000000000000000000000000..28844a0755644d0b946bbd66227053a1dd079d3a --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/models/sr3_modules/unet.py @@ -0,0 +1,251 @@ +import math +import torch +from torch import nn +from inspect import isfunction + +class UNet(nn.Module): + def __init__( + self, + in_channel=6, + out_channel=3, + inner_channel=32, + norm_groups=32, + channel_mults=(1, 2, 4, 8, 8), + attn_res=(8), + res_blocks=3, + dropout=0, + with_noise_level_emb=True, + image_size=128 + ): + super().__init__() + + if with_noise_level_emb: + noise_level_channel = inner_channel + self.noise_level_mlp = nn.Sequential( + PositionalEncoding(inner_channel), + nn.Linear(inner_channel, inner_channel * 4), + Swish(), + nn.Linear(inner_channel * 4, inner_channel) + ) + else: + noise_level_channel = None + self.noise_level_mlp = None + + num_mults = len(channel_mults) + pre_channel = inner_channel + feat_channels = [pre_channel] + now_res = image_size + downs = [nn.Conv2d(in_channel, inner_channel, + kernel_size=3, padding=1)] + for ind in range(num_mults): + is_last = (ind == num_mults - 1) + use_attn = (now_res in attn_res) + channel_mult = inner_channel * channel_mults[ind] + for _ in range(0, res_blocks): + downs.append(ResnetBlocWithAttn( + pre_channel, channel_mult, noise_level_emb_dim=noise_level_channel, norm_groups=norm_groups, dropout=dropout, with_attn=use_attn)) + feat_channels.append(channel_mult) + pre_channel = channel_mult + if not is_last: + downs.append(Downsample(pre_channel)) + feat_channels.append(pre_channel) + now_res = now_res//2 + self.downs = nn.ModuleList(downs) + + self.mid = nn.ModuleList([ + ResnetBlocWithAttn(pre_channel, pre_channel, noise_level_emb_dim=noise_level_channel, norm_groups=norm_groups, + dropout=dropout, with_attn=True), + ResnetBlocWithAttn(pre_channel, pre_channel, noise_level_emb_dim=noise_level_channel, norm_groups=norm_groups, + dropout=dropout, with_attn=False) + ]) + + ups = [] + for ind in reversed(range(num_mults)): + is_last = (ind < 1) + use_attn = (now_res in attn_res) + channel_mult = inner_channel * channel_mults[ind] + for _ in range(0, res_blocks+1): + ups.append(ResnetBlocWithAttn( + pre_channel+feat_channels.pop(), channel_mult, noise_level_emb_dim=noise_level_channel, norm_groups=norm_groups, + dropout=dropout, with_attn=use_attn)) + pre_channel = channel_mult + if not is_last: + ups.append(Upsample(pre_channel)) + now_res = now_res*2 + + self.ups = nn.ModuleList(ups) + + self.final_conv = Block(pre_channel, default(out_channel, in_channel), groups=norm_groups) + + def forward(self, x, time): + t = self.noise_level_mlp(time) if exists( + self.noise_level_mlp) else None + + feats = [] + for layer in self.downs: + if isinstance(layer, ResnetBlocWithAttn): + x = layer(x, t) + else: + x = layer(x) + feats.append(x) + + for layer in self.mid: + if isinstance(layer, ResnetBlocWithAttn): + x = layer(x, t) + else: + x = layer(x) + + for layer in self.ups: + if isinstance(layer, ResnetBlocWithAttn): + x = layer(torch.cat((x, feats.pop()), dim=1), t) + else: + x = layer(x) + + return self.final_conv(x) + + +# PositionalEncoding Source: https://github.com/lmnt-com/wavegrad/blob/master/src/wavegrad/model.py +class PositionalEncoding(nn.Module): + def __init__(self, dim): + super().__init__() + self.dim = dim + + def forward(self, noise_level): + count = self.dim // 2 + step = torch.arange(count, dtype=noise_level.dtype, device=noise_level.device) / count + encoding = noise_level.unsqueeze(1) * torch.exp(-math.log(1e4) * step.unsqueeze(0)) + encoding = torch.cat([torch.sin(encoding), torch.cos(encoding)], dim=-1) + return encoding + + +class FeatureWiseAffine(nn.Module): + def __init__(self, in_channels, out_channels, use_affine_level=False): + super(FeatureWiseAffine, self).__init__() + self.use_affine_level = use_affine_level + self.noise_func = nn.Sequential( + nn.Linear(in_channels, out_channels*(1+self.use_affine_level)) + ) + + def forward(self, x, noise_embed): + batch = x.shape[0] + if self.use_affine_level: + gamma, beta = self.noise_func(noise_embed).view(batch, -1, 1, 1).chunk(2, dim=1) + x = (1 + gamma) * x + beta + else: + x = x + self.noise_func(noise_embed).view(batch, -1, 1, 1) + return x + + +class Swish(nn.Module): + def forward(self, x): + return x * torch.sigmoid(x) + + +class Upsample(nn.Module): + def __init__(self, dim): + super().__init__() + self.up = nn.Upsample(scale_factor=2, mode="nearest") + self.conv = nn.Conv2d(dim, dim, 3, padding=1) + + def forward(self, x): + return self.conv(self.up(x)) + + +class Downsample(nn.Module): + def __init__(self, dim): + super().__init__() + self.conv = nn.Conv2d(dim, dim, 3, 2, 1) + + def forward(self, x): + return self.conv(x) + + +# building block modules + + +class Block(nn.Module): + def __init__(self, dim, dim_out, groups=32, dropout=0): + super().__init__() + self.block = nn.Sequential( + nn.GroupNorm(groups, dim), + Swish(), + nn.Dropout(dropout) if dropout != 0 else nn.Identity(), + nn.Conv2d(dim, dim_out, 3, padding=1) + ) + + def forward(self, x): + return self.block(x) + + +class ResnetBlock(nn.Module): + def __init__(self, dim, dim_out, noise_level_emb_dim=None, dropout=0, use_affine_level=False, norm_groups=32): + super().__init__() + self.noise_func = FeatureWiseAffine(noise_level_emb_dim, dim_out, use_affine_level) + + self.block1 = Block(dim, dim_out, groups=norm_groups) + self.block2 = Block(dim_out, dim_out, groups=norm_groups, dropout=dropout) + self.res_conv = nn.Conv2d( + dim, dim_out, 1) if dim != dim_out else nn.Identity() + + def forward(self, x, time_emb): + b, c, h, w = x.shape + h = self.block1(x) + h = self.noise_func(h, time_emb) + h = self.block2(h) + return h + self.res_conv(x) + + +class SelfAttention(nn.Module): + def __init__(self, in_channel, n_head=1, norm_groups=32): + super().__init__() + + self.n_head = n_head + + self.norm = nn.GroupNorm(norm_groups, in_channel) + self.qkv = nn.Conv2d(in_channel, in_channel * 3, 1, bias=False) + self.out = nn.Conv2d(in_channel, in_channel, 1) + + def forward(self, input): + batch, channel, height, width = input.shape + n_head = self.n_head + head_dim = channel // n_head + + norm = self.norm(input) + qkv = self.qkv(norm).view(batch, n_head, head_dim * 3, height, width) + query, key, value = qkv.chunk(3, dim=2) # bhdyx + + attn = torch.einsum("bnchw, bncyx -> bnhwyx", query, key).contiguous() / math.sqrt(channel) + attn = attn.view(batch, n_head, height, width, -1) + attn = torch.softmax(attn, -1) + attn = attn.view(batch, n_head, height, width, height, width) + + out = torch.einsum("bnhwyx, bncyx -> bnchw", attn, value).contiguous() + out = self.out(out.view(batch, channel, height, width)) + + return out + input + + +class ResnetBlocWithAttn(nn.Module): + def __init__(self, dim, dim_out, *, noise_level_emb_dim=None, norm_groups=32, dropout=0, with_attn=False): + super().__init__() + self.with_attn = with_attn + self.res_block = ResnetBlock( + dim, dim_out, noise_level_emb_dim, norm_groups=norm_groups, dropout=dropout) + if with_attn: + self.attn = SelfAttention(dim_out, norm_groups=norm_groups) + + def forward(self, x, time_emb): + x = self.res_block(x, time_emb) + if(self.with_attn): + x = self.attn(x) + return x + + +def exists(x): + return x is not None + + +def default(val, d): + if exists(val): + return val + return d() if isfunction(d) else d diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/new_eval.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/new_eval.py new file mode 100644 index 0000000000000000000000000000000000000000..e980d3809cd0db264e18b0c663ae4706755f7f17 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/new_eval.py @@ -0,0 +1,34 @@ +import shutil +from glob import glob +import os +import cv2 +import numpy as np +from psnr_ssim import calculate_psnr +from skimage.measure import compare_ssim as calculate_ssim +from tqdm import tqdm +from fid_lpips import calculate_fid, calculate_lpips +from tqdm import tqdm +import warnings +warnings.filterwarnings("ignore") +src=glob("experiments/test_nafnet16_1xb8_e3000_dpms_s20_noinp_230520_022926/results/**/*GT*.png", recursive=True) +dst=glob("experiments/test_nafnet16_1xb8_e3000_dpms_s20_noinp_230520_022926/results/**/*Out*.png", recursive=True) +psnr_list = [] +ssim_list = [] +for i, j in tqdm(zip(src, dst), total=len(src)): + img1 = cv2.imread(i) + img2 = cv2.imread(j) + psnr = calculate_psnr(img1, img2, 0) + ssim = calculate_ssim(img1, img2, multichannel = True, gaussian_weights = True, use_sample_covariance = False, sigma = 1.5) + psnr_list.append(psnr) + ssim_list.append(ssim) +print("PSNR: ", np.mean(psnr_list)) +print("SSIM: ", np.mean(ssim_list)) +new_src = "experiments/test_nafnet16_1xb8_e3000_dpms_s20_noinp_230520_022926/results/GT" +new_dst = "experiments/test_nafnet16_1xb8_e3000_dpms_s20_noinp_230520_022926/results/Out" +os.makedirs(new_src, exist_ok=True) +os.makedirs(new_dst, exist_ok=True) +for i, j in tqdm(zip(src, dst), total=len(src)): + shutil.copy(i, os.path.join(new_src, os.path.basename(i))) + shutil.copy(j, os.path.join(new_dst, os.path.basename(j))) +calculate_fid(new_src, new_dst) +calculate_lpips(new_src, new_dst) diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/plot.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/plot.py new file mode 100644 index 0000000000000000000000000000000000000000..6ceb2d86bad2275bd2d9d75939ecd582a0729a22 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/plot.py @@ -0,0 +1,17 @@ +import os +import imageio +from matplotlib import animation +from matplotlib import pyplot as plt +import glob + + +root = "experiments/train_palette_multi_tanh_x0_230329_101828/results/val" +imgs_path = glob.glob(os.path.join(root, "*", "Out*18.png")) +ims = [] +fig, ax = plt.subplots(tight_layout=True) +plt.axis("off") +for index, img_path in enumerate(imgs_path): + ttl = plt.text(0.5, 1.01, f"Epoch {5*(index+1)}", horizontalalignment='center', verticalalignment='bottom', transform=ax.transAxes, fontsize="large") + ims.append([plt.imshow(plt.imread(img_path), animated=True),ttl]) +ani = animation.ArtistAnimation(fig, ims, interval=1000, repeat_delay=1000, blit=True) +ani.save("pred_x0_18.gif") diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/psnr_ssim.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/psnr_ssim.py new file mode 100644 index 0000000000000000000000000000000000000000..0dbfaab251af0410e73073b563b5cb827252a156 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/psnr_ssim.py @@ -0,0 +1,406 @@ +import cv2 +import numpy as np +import torch +from tqdm import tqdm +from glob import glob + + +def _convert_input_type_range(img): + """Convert the type and range of the input image. + It converts the input image to np.float32 type and range of [0, 1]. + It is mainly used for pre-processing the input image in colorspace + convertion functions such as rgb2ycbcr and ycbcr2rgb. + Args: + img (ndarray): The input image. It accepts: + 1. np.uint8 type with range [0, 255]; + 2. np.float32 type with range [0, 1]. + Returns: + (ndarray): The converted image with type of np.float32 and range of + [0, 1]. + """ + img_type = img.dtype + img = img.astype(np.float32) + if img_type == np.float32: + pass + elif img_type == np.uint8: + img /= 255. + else: + raise TypeError('The img type should be np.float32 or np.uint8, ' + f'but got {img_type}') + return img + + +def _convert_output_type_range(img, dst_type): + """Convert the type and range of the image according to dst_type. + It converts the image to desired type and range. If `dst_type` is np.uint8, + images will be converted to np.uint8 type with range [0, 255]. If + `dst_type` is np.float32, it converts the image to np.float32 type with + range [0, 1]. + It is mainly used for post-processing images in colorspace convertion + functions such as rgb2ycbcr and ycbcr2rgb. + Args: + img (ndarray): The image to be converted with np.float32 type and + range [0, 255]. + dst_type (np.uint8 | np.float32): If dst_type is np.uint8, it + converts the image to np.uint8 type with range [0, 255]. If + dst_type is np.float32, it converts the image to np.float32 type + with range [0, 1]. + Returns: + (ndarray): The converted image with desired type and range. + """ + if dst_type not in (np.uint8, np.float32): + raise TypeError('The dst_type should be np.float32 or np.uint8, ' + f'but got {dst_type}') + if dst_type == np.uint8: + img = img.round() + else: + img /= 255. + return img.astype(dst_type) + + +def bgr2ycbcr(img, y_only=False): + """Convert a BGR image to YCbCr image. + The bgr version of rgb2ycbcr. + It implements the ITU-R BT.601 conversion for standard-definition + television. See more details in + https://en.wikipedia.org/wiki/YCbCr#ITU-R_BT.601_conversion. + It differs from a similar function in cv2.cvtColor: `BGR <-> YCrCb`. + In OpenCV, it implements a JPEG conversion. See more details in + https://en.wikipedia.org/wiki/YCbCr#JPEG_conversion. + Args: + img (ndarray): The input image. It accepts: + 1. np.uint8 type with range [0, 255]; + 2. np.float32 type with range [0, 1]. + y_only (bool): Whether to only return Y channel. Default: False. + Returns: + ndarray: The converted YCbCr image. The output image has the same type + and range as input image. + """ + img_type = img.dtype + img = _convert_input_type_range(img) + if y_only: + out_img = np.dot(img, [24.966, 128.553, 65.481]) + 16.0 + else: + out_img = np.matmul( + img, [[24.966, 112.0, -18.214], [128.553, -74.203, -93.786], + [65.481, -37.797, 112.0]]) + [16, 128, 128] + out_img = _convert_output_type_range(out_img, img_type) + return out_img + + +def reorder_image(img, input_order='HWC'): + """Reorder images to 'HWC' order. + + If the input_order is (h, w), return (h, w, 1); + If the input_order is (c, h, w), return (h, w, c); + If the input_order is (h, w, c), return as it is. + + Args: + img (ndarray): Input image. + input_order (str): Whether the input order is 'HWC' or 'CHW'. + If the input image shape is (h, w), input_order will not have + effects. Default: 'HWC'. + + Returns: + ndarray: reordered image. + """ + + if input_order not in ['HWC', 'CHW']: + raise ValueError( + f'Wrong input_order {input_order}. Supported input_orders are ' + "'HWC' and 'CHW'") + if len(img.shape) == 2: + img = img[..., None] + if input_order == 'CHW': + img = img.transpose(1, 2, 0) + return img + + +def to_y_channel(img): + """Change to Y channel of YCbCr. + + Args: + img (ndarray): Images with range [0, 255]. + + Returns: + (ndarray): Images with range [0, 255] (float type) without round. + """ + img = img.astype(np.float32) / 255. + if img.ndim == 3 and img.shape[2] == 3: + img = bgr2ycbcr(img, y_only=True) + img = img[..., None] + return img * 255. + + +def calculate_psnr(img1, + img2, + crop_border, + input_order='HWC', + test_y_channel=False): + """Calculate PSNR (Peak Signal-to-Noise Ratio). + + Ref: https://en.wikipedia.org/wiki/Peak_signal-to-noise_ratio + + Args: + img1 (ndarray/tensor): Images with range [0, 255]/[0, 1]. + img2 (ndarray/tensor): Images with range [0, 255]/[0, 1]. + crop_border (int): Cropped pixels in each edge of an image. These + pixels are not involved in the PSNR calculation. + input_order (str): Whether the input order is 'HWC' or 'CHW'. + Default: 'HWC'. + test_y_channel (bool): Test on Y channel of YCbCr. Default: False. + + Returns: + float: psnr result. + """ + + assert img1.shape == img2.shape, ( + f'Image shapes are differnet: {img1.shape}, {img2.shape}.') + if input_order not in ['HWC', 'CHW']: + raise ValueError( + f'Wrong input_order {input_order}. Supported input_orders are ' + '"HWC" and "CHW"') + if type(img1) == torch.Tensor: + if len(img1.shape) == 4: + img1 = img1.squeeze(0) + img1 = img1.detach().cpu().numpy().transpose(1, 2, 0) + if type(img2) == torch.Tensor: + if len(img2.shape) == 4: + img2 = img2.squeeze(0) + img2 = img2.detach().cpu().numpy().transpose(1, 2, 0) + + img1 = reorder_image(img1, input_order=input_order) + img2 = reorder_image(img2, input_order=input_order) + img1 = img1.astype(np.float64) + img2 = img2.astype(np.float64) + + if crop_border != 0: + img1 = img1[crop_border:-crop_border, crop_border:-crop_border, ...] + img2 = img2[crop_border:-crop_border, crop_border:-crop_border, ...] + + if test_y_channel: + img1 = to_y_channel(img1) + img2 = to_y_channel(img2) + + mse = np.mean((img1 - img2)**2) + if mse == 0: + return float('inf') + max_value = 1. if img1.max() <= 1 else 255. + return 20. * np.log10(max_value / np.sqrt(mse)) + + +def prepare_for_ssim(img, k): + import torch + with torch.no_grad(): + img = torch.from_numpy(img).unsqueeze(0).unsqueeze(0).float() + conv = torch.nn.Conv2d( + 1, 1, k, stride=1, padding=k//2, padding_mode='reflect') + conv.weight.requires_grad = False + conv.weight[:, :, :, :] = 1. / (k * k) + + img = conv(img) + + img = img.squeeze(0).squeeze(0) + img = img[0::k, 0::k] + return img.detach().cpu().numpy() + + +def prepare_for_ssim_rgb(img, k): + import torch + with torch.no_grad(): + img = torch.from_numpy(img).float() # HxWx3 + + conv = torch.nn.Conv2d( + 1, 1, k, stride=1, padding=k // 2, padding_mode='reflect') + conv.weight.requires_grad = False + conv.weight[:, :, :, :] = 1. / (k * k) + + new_img = [] + + for i in range(3): + new_img.append(conv(img[:, :, i].unsqueeze( + 0).unsqueeze(0)).squeeze(0).squeeze(0)[0::k, 0::k]) + + return torch.stack(new_img, dim=2).detach().cpu().numpy() + + +def _3d_gaussian_calculator(img, conv3d): + out = conv3d(img.unsqueeze(0).unsqueeze(0)).squeeze(0).squeeze(0) + return out + + +def _generate_3d_gaussian_kernel(): + kernel = cv2.getGaussianKernel(11, 1.5) + window = np.outer(kernel, kernel.transpose()) + kernel_3 = cv2.getGaussianKernel(11, 1.5) + kernel = torch.tensor(np.stack([window * k for k in kernel_3], axis=0)) + conv3d = torch.nn.Conv3d(1, 1, (11, 11, 11), stride=1, padding=( + 5, 5, 5), bias=False, padding_mode='replicate') + conv3d.weight.requires_grad = False + conv3d.weight[0, 0, :, :, :] = kernel + return conv3d + + +def _ssim_3d(img1, img2, max_value): + assert len(img1.shape) == 3 and len(img2.shape) == 3 + """Calculate SSIM (structural similarity) for one channel images. + + It is called by func:`calculate_ssim`. + + Args: + img1 (ndarray): Images with range [0, 255]/[0, 1] with order 'HWC'. + img2 (ndarray): Images with range [0, 255]/[0, 1] with order 'HWC'. + + Returns: + float: ssim result. + """ + C1 = (0.01 * max_value) ** 2 + C2 = (0.03 * max_value) ** 2 + img1 = img1.astype(np.float64) + img2 = img2.astype(np.float64) + + kernel = _generate_3d_gaussian_kernel().cuda() + + img1 = torch.tensor(img1).float().cuda() + img2 = torch.tensor(img2).float().cuda() + + mu1 = _3d_gaussian_calculator(img1, kernel) + mu2 = _3d_gaussian_calculator(img2, kernel) + + mu1_sq = mu1 ** 2 + mu2_sq = mu2 ** 2 + mu1_mu2 = mu1 * mu2 + sigma1_sq = _3d_gaussian_calculator(img1 ** 2, kernel) - mu1_sq + sigma2_sq = _3d_gaussian_calculator(img2 ** 2, kernel) - mu2_sq + sigma12 = _3d_gaussian_calculator(img1*img2, kernel) - mu1_mu2 + + ssim_map = ((2 * mu1_mu2 + C1) * + (2 * sigma12 + C2)) / ((mu1_sq + mu2_sq + C1) * + (sigma1_sq + sigma2_sq + C2)) + return float(ssim_map.mean()) + + +def _ssim_cly(img1, img2): + assert len(img1.shape) == 2 and len(img2.shape) == 2 + """Calculate SSIM (structural similarity) for one channel images. + + It is called by func:`calculate_ssim`. + + Args: + img1 (ndarray): Images with range [0, 255] with order 'HWC'. + img2 (ndarray): Images with range [0, 255] with order 'HWC'. + + Returns: + float: ssim result. + """ + + C1 = (0.01 * 255)**2 + C2 = (0.03 * 255)**2 + img1 = img1.astype(np.float64) + img2 = img2.astype(np.float64) + + kernel = cv2.getGaussianKernel(11, 1.5) + # print(kernel) + window = np.outer(kernel, kernel.transpose()) + + bt = cv2.BORDER_REPLICATE + + mu1 = cv2.filter2D(img1, -1, window, borderType=bt) + mu2 = cv2.filter2D(img2, -1, window, borderType=bt) + + mu1_sq = mu1**2 + mu2_sq = mu2**2 + mu1_mu2 = mu1 * mu2 + sigma1_sq = cv2.filter2D(img1**2, -1, window, borderType=bt) - mu1_sq + sigma2_sq = cv2.filter2D(img2**2, -1, window, borderType=bt) - mu2_sq + sigma12 = cv2.filter2D(img1 * img2, -1, window, borderType=bt) - mu1_mu2 + + ssim_map = ((2 * mu1_mu2 + C1) * + (2 * sigma12 + C2)) / ((mu1_sq + mu2_sq + C1) * + (sigma1_sq + sigma2_sq + C2)) + return ssim_map.mean() + + +def calculate_ssim(img1, + img2, + crop_border, + input_order='HWC', + test_y_channel=False): + """Calculate SSIM (structural similarity). + + Ref: + Image quality assessment: From error visibility to structural similarity + + The results are the same as that of the official released MATLAB code in + https://ece.uwaterloo.ca/~z70wang/research/ssim/. + + For three-channel images, SSIM is calculated for each channel and then + averaged. + + Args: + img1 (ndarray): Images with range [0, 255]. + img2 (ndarray): Images with range [0, 255]. + crop_border (int): Cropped pixels in each edge of an image. These + pixels are not involved in the SSIM calculation. + input_order (str): Whether the input order is 'HWC' or 'CHW'. + Default: 'HWC'. + test_y_channel (bool): Test on Y channel of YCbCr. Default: False. + + Returns: + float: ssim result. + """ + + assert img1.shape == img2.shape, ( + f'Image shapes are differnet: {img1.shape}, {img2.shape}.') + if input_order not in ['HWC', 'CHW']: + raise ValueError( + f'Wrong input_order {input_order}. Supported input_orders are ' + '"HWC" and "CHW"') + + if type(img1) == torch.Tensor: + if len(img1.shape) == 4: + img1 = img1.squeeze(0) + img1 = img1.detach().cpu().numpy().transpose(1, 2, 0) + if type(img2) == torch.Tensor: + if len(img2.shape) == 4: + img2 = img2.squeeze(0) + img2 = img2.detach().cpu().numpy().transpose(1, 2, 0) + + img1 = reorder_image(img1, input_order=input_order) + img2 = reorder_image(img2, input_order=input_order) + + img1 = img1.astype(np.float64) + img2 = img2.astype(np.float64) + + if crop_border != 0: + img1 = img1[crop_border:-crop_border, crop_border:-crop_border, ...] + img2 = img2[crop_border:-crop_border, crop_border:-crop_border, ...] + + if test_y_channel: + img1 = to_y_channel(img1) + img2 = to_y_channel(img2) + return _ssim_cly(img1[..., 0], img2[..., 0]) + + ssims = [] + max_value = 1 if img1.max() <= 1 else 255 + with torch.no_grad(): + final_ssim = _ssim_3d(img1, img2, max_value) + ssims.append(final_ssim) + + return np.array(ssims).mean() + + +if __name__=='__main__': + src = "../0/GT" + dst = "../0/Out" + psnr_list = [] + ssim_list = [] + for i, j in tqdm(zip(glob(src + "/*"), glob(dst + "/*")), total=len(glob(src + "/*"))): + img1 = cv2.imread(i) + img2 = cv2.imread(j) + psnr = calculate_psnr(img1, img2, 0) + ssim = calculate_ssim(img1, img2, 0) + psnr_list.append(psnr) + ssim_list.append(ssim) + print("PSNR: ", np.mean(psnr_list)) + print("SSIM: ", np.mean(ssim_list)) diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/run.py b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/run.py new file mode 100644 index 0000000000000000000000000000000000000000..b36f94cbc30c0585a0a11318fb63023982f98168 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/run.py @@ -0,0 +1,92 @@ +import argparse +import os +import warnings +import torch +import torch.multiprocessing as mp + +from core.logger import VisualWriter, InfoLogger +import core.praser as Praser +import core.util as Util +from data import define_dataloader +from models import create_model, define_network, define_loss, define_metric + +def main_worker(gpu, ngpus_per_node, opt): + """ threads running on each GPU """ + if 'local_rank' not in opt: + opt['local_rank'] = opt['global_rank'] = gpu + if opt['distributed']: + torch.cuda.set_device(int(opt['local_rank'])) + print('using GPU {} for training'.format(int(opt['local_rank']))) + torch.distributed.init_process_group(backend = 'nccl', + init_method = opt['init_method'], + world_size = opt['world_size'], + rank = opt['global_rank'], + group_name='mtorch' + ) + '''set seed and and cuDNN environment ''' + torch.backends.cudnn.enabled = True + # warnings.warn('You have chosen to use cudnn for accleration. torch.backends.cudnn.enabled=True') + Util.set_seed(opt['seed']) + + ''' set logger ''' + phase_logger = InfoLogger(opt) + phase_writer = VisualWriter(opt, phase_logger) + phase_logger.info('Create the log file in directory {}.\n'.format(opt['path']['experiments_root'])) + + '''set networks and dataset''' + phase_loader, val_loader = define_dataloader(phase_logger, opt) # val_loader is None if phase is test. + networks = [define_network(phase_logger, opt, item_opt) for item_opt in opt['model']['which_networks']] + + ''' set metrics, loss, optimizer and schedulers ''' + metrics = [define_metric(phase_logger, item_opt) for item_opt in opt['model']['which_metrics']] + losses = [define_loss(phase_logger, item_opt) for item_opt in opt['model']['which_losses']] + + model = create_model( + opt = opt, + networks = networks, + phase_loader = phase_loader, + val_loader = val_loader, + losses = losses, + metrics = metrics, + logger = phase_logger, + writer = phase_writer + ) + + phase_logger.info('Begin model {}.'.format(opt['phase'])) + try: + if opt['phase'] == 'train': + model.train() + else: + model.test() + finally: + phase_writer.close() + + +if __name__ == '__main__': + parser = argparse.ArgumentParser() + parser.add_argument('-c', '--config', type=str, default='config/colorization_mirflickr25k.json', help='JSON file for configuration') + parser.add_argument('-p', '--phase', type=str, choices=['train','test'], help='Run train or test', default='train') + parser.add_argument('-b', '--batch', type=int, default=None, help='Batch size in every gpu') + parser.add_argument('-gpu', '--gpu_ids', type=str, default=None) + parser.add_argument('-d', '--debug', action='store_true') + parser.add_argument('-P', '--port', default='21012', type=str) + + ''' parser configs ''' + args = parser.parse_args() + opt = Praser.parse(args) + + ''' cuda devices ''' + gpu_str = ','.join(str(x) for x in opt['gpu_ids']) + os.environ['CUDA_VISIBLE_DEVICES'] = gpu_str + print('export CUDA_VISIBLE_DEVICES={}'.format(gpu_str)) + + ''' use DistributedDataParallel(DDP) and multiprocessing for multi-gpu training''' + # [Todo]: multi GPU on multi machine + if opt['distributed']: + ngpus_per_node = len(opt['gpu_ids']) # or torch.cuda.device_count() + opt['world_size'] = ngpus_per_node + opt['init_method'] = 'tcp://127.0.0.1:'+ args.port + mp.spawn(main_worker, nprocs=ngpus_per_node, args=(ngpus_per_node, opt)) + else: + opt['world_size'] = 1 + main_worker(0, 1, opt) \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/slurm/inpainting_places2.slurm b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/slurm/inpainting_places2.slurm new file mode 100644 index 0000000000000000000000000000000000000000..38aabf02f73f3642e6a23274d393be52847a74c0 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/code/slurm/inpainting_places2.slurm @@ -0,0 +1,7 @@ +#!/bin/bash +#SBATCH -o experiments/slurm.log +#SBATCH -J base +#SBATCH -p dell +#SBATCH --gres=gpu:4 +#SBATCH -c 16 +python run.py -c config/inpainting_places2.json -gpu 0,1,2,3 -b 8 diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/config.json b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/config.json new file mode 100644 index 0000000000000000000000000000000000000000..3142c02c30ddbf2b38753bc03641a3166b334a25 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/config.json @@ -0,0 +1,160 @@ +{ + "name": "train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000", + "gpu_ids": [ + 0 + ], + "seed": -1, + "finetune_norm": false, + "path": { + "base_dir": "experiments", + "code": "code", + "tb_logger": "tb_logger", + "results": "results", + "checkpoint": "checkpoint", + "resume_state": null + }, + "datasets": { + "train": { + "which_dataset": { + "name": [ + "data.dataset", + "Sen2_MTC_Old_Multi" + ], + "args": { + "data_root": "../pmaa/data", + "mode": "train" + } + }, + "dataloader": { + "validation_split": 2, + "args": { + "batch_size": 8, + "num_workers": 8, + "shuffle": true, + "pin_memory": true, + "drop_last": true + }, + "val_args": { + "batch_size": 1, + "num_workers": 1, + "shuffle": false, + "pin_memory": true, + "drop_last": false + } + } + }, + "val": { + "which_dataset": { + "name": "Sen2_MTC_Old_Multi", + "args": { + "data_root": "../pmaa/data", + "mode": "val" + } + } + }, + "test": { + "which_dataset": { + "name": "Sen2_MTC_Old_Multi", + "args": { + "data_root": "../pmaa/data", + "mode": "test" + } + }, + "dataloader": { + "args": { + "batch_size": 1, + "num_workers": 1, + "pin_memory": true + } + } + } + }, + "model": { + "which_model": { + "name": [ + "models.model", + "Palette" + ], + "args": { + "sample_num": 8, + "task": "decloud", + "ema_scheduler": { + "ema_start": 1, + "ema_iter": 1, + "ema_decay": 0.9999 + }, + "optimizers": [ + { + "lr": 5e-05, + "weight_decay": 0 + } + ] + } + }, + "which_networks": [ + { + "name": [ + "models.network_x0_dpm_solver", + "Network" + ], + "args": { + "init_type": "kaiming", + "module_name": "nafnet_double_encoder_splitcaCond_splitcaUnet", + "unet": { + "img_channel": 3, + "width": 64, + "middle_blk_num": 1, + "enc_blk_nums": [ + 1, + 1, + 1, + 1 + ], + "dec_blk_nums": [ + 1, + 1, + 1, + 1 + ] + }, + "beta_schedule": { + "train": { + "schedule": "sigmoid", + "n_timestep": 2000, + "linear_start": 1e-06, + "linear_end": 0.01 + }, + "test": { + "schedule": "sigmoid", + "n_timestep": 1000, + "linear_start": 0.0001, + "linear_end": 0.09 + } + } + } + } + ], + "which_losses": [ + "mse_loss" + ], + "which_metrics": [ + "mae" + ] + }, + "train": { + "n_epoch": 5000, + "n_iter": 100000000, + "val_epoch": 500, + "save_checkpoint_epoch": 500, + "log_iter": 10000, + "tensorboard": true + }, + "debug": { + "val_epoch": 1, + "save_checkpoint_epoch": 1, + "log_iter": 10, + "debug_split": 50 + }, + "phase": "train", + "distributed": false +} \ No newline at end of file diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_01WFN_70003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_01WFN_70003000.png new file mode 100644 index 0000000000000000000000000000000000000000..7e2a6fc8ef84113a36d5f4cf5dfb4b679f887dc1 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_01WFN_70003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_03WVP_40005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_03WVP_40005000.png new file mode 100644 index 0000000000000000000000000000000000000000..668146fb96ab2e825c65a3fbe028a8511e20c6e7 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_03WVP_40005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_03WVP_50009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_03WVP_50009000.png new file mode 100644 index 0000000000000000000000000000000000000000..b34ee3df9e067a1e49c8093bcfa9fa8b55890eff Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_03WVP_50009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_03WWP_30006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_03WWP_30006000.png new file mode 100644 index 0000000000000000000000000000000000000000..04ca355462f7720ad118f236290fc77c76ff6771 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_03WWP_30006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_04WFS_30001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_04WFS_30001000.png new file mode 100644 index 0000000000000000000000000000000000000000..7d30d4e46c57c430e779ec33e1e36d855d305bfd Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_04WFS_30001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_05WPT_90004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_05WPT_90004000.png new file mode 100644 index 0000000000000000000000000000000000000000..77190c1cb69f05f6b08ae70a163265d6ec3450fe Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_05WPT_90004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_08WNA_10003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_08WNA_10003000.png new file mode 100644 index 0000000000000000000000000000000000000000..f59ffd51b45d9e1315154b0c285ebfff0003d743 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_08WNA_10003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_10VDM_10002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_10VDM_10002000.png new file mode 100644 index 0000000000000000000000000000000000000000..656bf3b98495bebe42a9074026169ff7e4134287 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_10VDM_10002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_11TPM_30008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_11TPM_30008000.png new file mode 100644 index 0000000000000000000000000000000000000000..0aaddc3e47457281afa48fc95f64ff6c659d6c9f Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_11TPM_30008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_11UMT_10008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_11UMT_10008000.png new file mode 100644 index 0000000000000000000000000000000000000000..c483943c62697d1590a45e3c72e1821ad2d94a97 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_11UMT_10008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_11UPA_10002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_11UPA_10002000.png new file mode 100644 index 0000000000000000000000000000000000000000..c0cb0b2f8257c6f9ce91cb19ab8aeebd575dba0e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_11UPA_10002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_11VNC_90006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_11VNC_90006000.png new file mode 100644 index 0000000000000000000000000000000000000000..93a25331b3326510a340fa238532ecbea39d26a0 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_11VNC_90006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_11WNT_50006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_11WNT_50006000.png new file mode 100644 index 0000000000000000000000000000000000000000..e204bbdfc8011085281a32b653940b30d39a77b3 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_11WNT_50006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_11WNU_60003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_11WNU_60003000.png new file mode 100644 index 0000000000000000000000000000000000000000..434ef83ba646979c1f85ba51cb2e96324328b8f6 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_11WNU_60003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_12UWF_30001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_12UWF_30001000.png new file mode 100644 index 0000000000000000000000000000000000000000..0b158d1be81ec4c33cba7285d056cc8149080eee Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_12UWF_30001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_12UWF_40000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_12UWF_40000.png new file mode 100644 index 0000000000000000000000000000000000000000..9991f10c6721817d26911eddae7122826777c755 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_12UWF_40000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_14RNQ_40006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_14RNQ_40006000.png new file mode 100644 index 0000000000000000000000000000000000000000..c0d481be2540c8cffba78e1e96a65dd00d1efacb Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_14RNQ_40006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_14RNQ_40008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_14RNQ_40008000.png new file mode 100644 index 0000000000000000000000000000000000000000..3f54f919d7d8d59a2cccc07cfd1133c5d19fcc30 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_14RNQ_40008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_14RPT_03000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_14RPT_03000.png new file mode 100644 index 0000000000000000000000000000000000000000..52ab17549e1e2ec5007e53f2c42bd6e585447645 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_14RPT_03000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_14RPT_20000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_14RPT_20000.png new file mode 100644 index 0000000000000000000000000000000000000000..57cb9bb08fbb011fee3fa7fddf6ce352e6aa5e29 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_14RPT_20000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_14SQB_10009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_14SQB_10009000.png new file mode 100644 index 0000000000000000000000000000000000000000..121df61e6562a24431df74ed1d9947a34b70843f Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_14SQB_10009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_14SQC_50001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_14SQC_50001000.png new file mode 100644 index 0000000000000000000000000000000000000000..247f2adc2dde483cce6e4c5206f0080fdad8149a Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_14SQC_50001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_14SQC_50007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_14SQC_50007000.png new file mode 100644 index 0000000000000000000000000000000000000000..e2cbf4765e556390469b71c9796fa65c46530ab8 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_14SQC_50007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_14TNM_40004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_14TNM_40004000.png new file mode 100644 index 0000000000000000000000000000000000000000..ab3417e0dde556e976f66e34ef8e3f1fb447e958 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_14TNM_40004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_15RTP_70009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_15RTP_70009000.png new file mode 100644 index 0000000000000000000000000000000000000000..3c2ac1db672479d65d2825868caaf33fc80b5af0 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_15RTP_70009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_15RYQ_90007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_15RYQ_90007000.png new file mode 100644 index 0000000000000000000000000000000000000000..66b7f4ad9783bfa6efc0131ea4e557c8e04387f1 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_15RYQ_90007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_15STB_80005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_15STB_80005000.png new file mode 100644 index 0000000000000000000000000000000000000000..0bceae1eadab43ed85e14af69af29ac052876570 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_15STB_80005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_15SUD_30006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_15SUD_30006000.png new file mode 100644 index 0000000000000000000000000000000000000000..9dadde18086bbed781d54c9b7493bbc19a127147 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_15SUD_30006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_15TUE_40009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_15TUE_40009000.png new file mode 100644 index 0000000000000000000000000000000000000000..a1af442ce54d6fc55bcd38ee20c94e03963879a8 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_15TUE_40009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_15TWG_90000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_15TWG_90000.png new file mode 100644 index 0000000000000000000000000000000000000000..55fa18c2eff562489ae7fe6bc4e0db0ff106b782 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_15TWG_90000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_16RDU_70003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_16RDU_70003000.png new file mode 100644 index 0000000000000000000000000000000000000000..00425272a9834c00b6c1d67f85ea1a84689eb091 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_16RDU_70003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_16SEC_20009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_16SEC_20009000.png new file mode 100644 index 0000000000000000000000000000000000000000..45b5ff7e9ae971a7031706510f24d584a0163520 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_16SEC_20009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_16SEC_40009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_16SEC_40009000.png new file mode 100644 index 0000000000000000000000000000000000000000..364c9b652918cd39cf89d44c723a3f0d5d923caf Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_16SEC_40009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_16WDD_90002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_16WDD_90002000.png new file mode 100644 index 0000000000000000000000000000000000000000..cb2b084de36e157e46c7e45015213d7d00fd74f0 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_16WDD_90002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_16XDP_30000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_16XDP_30000.png new file mode 100644 index 0000000000000000000000000000000000000000..85d375165cf9030f5d526e1faabbdb2f060179a7 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_16XDP_30000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_16XEF_50002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_16XEF_50002000.png new file mode 100644 index 0000000000000000000000000000000000000000..af0b7273186ab2553a1521297fefcb6d857b5295 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_16XEF_50002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_16XEF_70002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_16XEF_70002000.png new file mode 100644 index 0000000000000000000000000000000000000000..ef8650088d0066248d0c59c6ad12c50913ba60a1 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_16XEF_70002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_17SMU_70005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_17SMU_70005000.png new file mode 100644 index 0000000000000000000000000000000000000000..8b52ebb40ef452c24a120fae300eb305ed9c7b8d Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_17SMU_70005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_17TLJ_10008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_17TLJ_10008000.png new file mode 100644 index 0000000000000000000000000000000000000000..83b9c46a2d507cf902807ae72a35f3317bdad7d0 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_17TLJ_10008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_17TMF_50006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_17TMF_50006000.png new file mode 100644 index 0000000000000000000000000000000000000000..aa007048511c6975ae3869c8f8f58a018aebb8c0 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_17TMF_50006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_17TNJ_30008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_17TNJ_30008000.png new file mode 100644 index 0000000000000000000000000000000000000000..af2c821c549a7d93188741dcc7c91328cd5147d6 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_17TNJ_30008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_17WPT_09000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_17WPT_09000.png new file mode 100644 index 0000000000000000000000000000000000000000..b6612ada8db515fa297716be3ac59f37219f8c6d Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_17WPT_09000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_18VXJ_10001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_18VXJ_10001000.png new file mode 100644 index 0000000000000000000000000000000000000000..f2529de576fa1f5388159415962e7f348bd0ed38 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_18VXJ_10001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_19XEL_06000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_19XEL_06000.png new file mode 100644 index 0000000000000000000000000000000000000000..9906ab80738eb848d3a7f34ba85d008cb71129be Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_19XEL_06000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_20UQD_70005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_20UQD_70005000.png new file mode 100644 index 0000000000000000000000000000000000000000..47bb7ed0d4430b2d7c9d359e4ccb9938f1c4c447 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_20UQD_70005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_21MWS_20004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_21MWS_20004000.png new file mode 100644 index 0000000000000000000000000000000000000000..b65ddfcdf8a80c8a1de3b9e437074a914badb9c3 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_21MWS_20004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_21MWS_60004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_21MWS_60004000.png new file mode 100644 index 0000000000000000000000000000000000000000..1fb460a5f407cf1b58fcb981b7b297cf35a61656 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_21MWS_60004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_21MXS_60008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_21MXS_60008000.png new file mode 100644 index 0000000000000000000000000000000000000000..d591cad8bc748bdf562afd8dde3f38ba49e4856c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_21MXS_60008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_21MXS_90003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_21MXS_90003000.png new file mode 100644 index 0000000000000000000000000000000000000000..d2df55df9372faff57acc983e6ca4a9395c11766 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_21MXS_90003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_21UVT_60000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_21UVT_60000.png new file mode 100644 index 0000000000000000000000000000000000000000..918f43374e1b0607532ad1f0a90134744ce3c188 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_21UVT_60000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_21XVL_50003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_21XVL_50003000.png new file mode 100644 index 0000000000000000000000000000000000000000..2c0ab460bb1839109221bbc312ca500f25b5314c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_21XVL_50003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_21XVL_90003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_21XVL_90003000.png new file mode 100644 index 0000000000000000000000000000000000000000..040fe2b8e26b9d5ddb08b1fc6e7f51e6a66267b5 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_21XVL_90003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_22NDF_10008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_22NDF_10008000.png new file mode 100644 index 0000000000000000000000000000000000000000..9f696b4819482b5a3d54e5580d4f7ade99b3d42f Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_22NDF_10008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_22VFN_60000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_22VFN_60000.png new file mode 100644 index 0000000000000000000000000000000000000000..7bede687733f1192242bd924bd7eb993e5d95dd2 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_22VFN_60000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_23KQB_20007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_23KQB_20007000.png new file mode 100644 index 0000000000000000000000000000000000000000..0737b316b0232fb3d5929cdf4030e3830d2cc491 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_23KQB_20007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_23VLH_40001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_23VLH_40001000.png new file mode 100644 index 0000000000000000000000000000000000000000..6238caed089e2c226b44673926b3c03ec7c54f4e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_23VLH_40001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_24KTA_10005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_24KTA_10005000.png new file mode 100644 index 0000000000000000000000000000000000000000..d714f95129efadad652a3e2d6f0261b04f06b6eb Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_24KTA_10005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_24KTB_20009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_24KTB_20009000.png new file mode 100644 index 0000000000000000000000000000000000000000..a36aed603340439b8d0f049f8e0a3c11c1e233b2 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_24KTB_20009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_24WVS_30001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_24WVS_30001000.png new file mode 100644 index 0000000000000000000000000000000000000000..f65e894254d145306eae7a805e830e867ea61763 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_24WVS_30001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_26WNB_80002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_26WNB_80002000.png new file mode 100644 index 0000000000000000000000000000000000000000..6dd1e64d0698685b60bfd07ec7b660ba3ffa9208 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_26WNB_80002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_26WNE_04000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_26WNE_04000.png new file mode 100644 index 0000000000000000000000000000000000000000..48bd72bff250ca5c883f1773820425e0f62d8a21 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_26WNE_04000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_26WPD_10005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_26WPD_10005000.png new file mode 100644 index 0000000000000000000000000000000000000000..ca219d8446cceab066d78a17789cfcc43e295e38 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_26WPD_10005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_26WPD_30006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_26WPD_30006000.png new file mode 100644 index 0000000000000000000000000000000000000000..230ab5a9cb957f55a8b132d0127d0d85d9e085a2 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_26WPD_30006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_26WPD_40000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_26WPD_40000.png new file mode 100644 index 0000000000000000000000000000000000000000..efc1c5515739d0d0598daae51267eca74280e565 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_26WPD_40000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_26XNF_80000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_26XNF_80000.png new file mode 100644 index 0000000000000000000000000000000000000000..bf3f3ea4b004146202a094beffac1fcc82c22514 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_26XNF_80000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_27WVT_10006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_27WVT_10006000.png new file mode 100644 index 0000000000000000000000000000000000000000..e2620d5e28e209ddc4826237574c7479c6e5253c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_27WVT_10006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_27WWN_10002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_27WWN_10002000.png new file mode 100644 index 0000000000000000000000000000000000000000..3514bc6ac5eb707371496a0379a46f3da2e906ca Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_27WWN_10002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_28PGC_04000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_28PGC_04000.png new file mode 100644 index 0000000000000000000000000000000000000000..0088339304ed3a4d8de9f6a88f9bbf6eeb26e9c5 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_28PGC_04000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_29PMN_90008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_29PMN_90008000.png new file mode 100644 index 0000000000000000000000000000000000000000..b4557e10c0b1f96491cc40ecee99021424fc7268 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_29PMN_90008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_29TQJ_50008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_29TQJ_50008000.png new file mode 100644 index 0000000000000000000000000000000000000000..b3c30f57fc215faa590981318f99b139ca438bd8 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_29TQJ_50008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_30SYE_10008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_30SYE_10008000.png new file mode 100644 index 0000000000000000000000000000000000000000..9917cc4620c039d83055d27ad12c1c20d9591312 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_30SYE_10008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_30TYP_70005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_30TYP_70005000.png new file mode 100644 index 0000000000000000000000000000000000000000..2f2f4ab4fa830fa12eb8dde326356de81c9afc9e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_30TYP_70005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_30UUF_10009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_30UUF_10009000.png new file mode 100644 index 0000000000000000000000000000000000000000..18762896eb0a90026aab99d74c01043f03d08273 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_30UUF_10009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_30UVU_50002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_30UVU_50002000.png new file mode 100644 index 0000000000000000000000000000000000000000..df1eeba939d07caa64f7e407174403d7650e6a41 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_30UVU_50002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_30UYD_10007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_30UYD_10007000.png new file mode 100644 index 0000000000000000000000000000000000000000..71430eb14d99d8b0a2dfbb2bc24e310387303a07 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_30UYD_10007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_31PGK_50008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_31PGK_50008000.png new file mode 100644 index 0000000000000000000000000000000000000000..1a12e79b533b7605f9f97cc08e5da0f61c2ff69e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_31PGK_50008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_31SED_20004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_31SED_20004000.png new file mode 100644 index 0000000000000000000000000000000000000000..c3ddcab831ef1eb52705460618c2da6df2c75a1e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_31SED_20004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_31TCH_90007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_31TCH_90007000.png new file mode 100644 index 0000000000000000000000000000000000000000..5dc2b2aacdce194e04ffe173cbbf72cfa9af6919 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_31TCH_90007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_31TEM_50006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_31TEM_50006000.png new file mode 100644 index 0000000000000000000000000000000000000000..77a285cb4df843ddb0334f7baa56f5468f35ebdb Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_31TEM_50006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_31TEN_10002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_31TEN_10002000.png new file mode 100644 index 0000000000000000000000000000000000000000..0880fed7133ac2c85a0c6401ce091918bcd81c1d Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_31TEN_10002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_31TEN_90000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_31TEN_90000.png new file mode 100644 index 0000000000000000000000000000000000000000..c5b02848bc711e2d14896fb597feb17a7f588892 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_31TEN_90000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_31TGL_50000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_31TGL_50000.png new file mode 100644 index 0000000000000000000000000000000000000000..0c37ea4a1bcf86552ef25a224249a7b50d208ddb Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_31TGL_50000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_31TGM_40003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_31TGM_40003000.png new file mode 100644 index 0000000000000000000000000000000000000000..e466d238d6566e3ed50fb30f11359b92894b73db Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_31TGM_40003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_31TGM_40009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_31TGM_40009000.png new file mode 100644 index 0000000000000000000000000000000000000000..adfb408578db8503678e2765eea59a8085c30fc9 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_31TGM_40009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_31TGM_50002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_31TGM_50002000.png new file mode 100644 index 0000000000000000000000000000000000000000..1915485ff19bc3c8ea3fa958b89490cdcc32f0fa Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_31TGM_50002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_31TGN_07000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_31TGN_07000.png new file mode 100644 index 0000000000000000000000000000000000000000..c83a24079829ee0cf24893bace3e8aded6d03bd6 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_31TGN_07000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_31UDQ_20009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_31UDQ_20009000.png new file mode 100644 index 0000000000000000000000000000000000000000..ad2dc442a0e2f1da8d21f2a200b9e9b02f9276b7 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_31UDQ_20009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_31UDR_10002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_31UDR_10002000.png new file mode 100644 index 0000000000000000000000000000000000000000..630ced904db5493497f9284ea27ca6b26a0fff92 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_31UDR_10002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_31UDR_30000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_31UDR_30000.png new file mode 100644 index 0000000000000000000000000000000000000000..f81dff50facb4fc2250c2cf0c7c6912e271d67fa Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_31UDR_30000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_31UFQ_50001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_31UFQ_50001000.png new file mode 100644 index 0000000000000000000000000000000000000000..cb4b95015501a3d94ed6b06f1b36e0bda3e0fea8 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_31UFQ_50001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_31UFR_80001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_31UFR_80001000.png new file mode 100644 index 0000000000000000000000000000000000000000..9171c8d2ecea44c87e9342eb0860896843b50873 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_31UFR_80001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_31UFS_30006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_31UFS_30006000.png new file mode 100644 index 0000000000000000000000000000000000000000..010a55dc6981175da1d70589483464938323bf07 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_31UFS_30006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_31UGS_10001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_31UGS_10001000.png new file mode 100644 index 0000000000000000000000000000000000000000..fb3f3f6b32de3b2fbdbb15dce182642d258b5513 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_31UGS_10001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_32SNE_30008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_32SNE_30008000.png new file mode 100644 index 0000000000000000000000000000000000000000..553636ac824a1e089268a566fd5551a24d0fed14 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_32SNE_30008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_32ULC_10005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_32ULC_10005000.png new file mode 100644 index 0000000000000000000000000000000000000000..443fc898917831232d484cfd21982fa1ce589842 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_32ULC_10005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_32UNA_10001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_32UNA_10001000.png new file mode 100644 index 0000000000000000000000000000000000000000..5c076ab8555aea4aa0a8c9d460c33dfdc2176b6c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_32UNA_10001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_32UND_08000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_32UND_08000.png new file mode 100644 index 0000000000000000000000000000000000000000..49e5c3970f1f880211087d59a21f253fabc6b859 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_32UND_08000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_32UND_20005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_32UND_20005000.png new file mode 100644 index 0000000000000000000000000000000000000000..d110fc13831cfaa464edbb5e96c1900f657c6582 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_32UND_20005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_32VLL_10009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_32VLL_10009000.png new file mode 100644 index 0000000000000000000000000000000000000000..d74c45e30b79b80a6d7479dc9dc5cee7a086eccd Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_32VLL_10009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_32VMQ_60003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_32VMQ_60003000.png new file mode 100644 index 0000000000000000000000000000000000000000..aa43215a78e9d936f2d55cf92d237321a74248cf Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_32VMQ_60003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_34UGD_90006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_34UGD_90006000.png new file mode 100644 index 0000000000000000000000000000000000000000..28eb1c0e5560cc3f88885c0905355df990daf41b Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_34UGD_90006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_34VCL_20000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_34VCL_20000.png new file mode 100644 index 0000000000000000000000000000000000000000..cb1fa9a0cdd805f0f7ac7861425d6f81b11b98fc Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_34VCL_20000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_34VFL_30009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_34VFL_30009000.png new file mode 100644 index 0000000000000000000000000000000000000000..ae677f437a7030ccb62c27d6c4c9d6ff51a99f50 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_34VFL_30009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_34VFL_50005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_34VFL_50005000.png new file mode 100644 index 0000000000000000000000000000000000000000..a5577736d33c54e21b435de58dc2cc2a4264aa44 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_34VFL_50005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_34VFQ_20004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_34VFQ_20004000.png new file mode 100644 index 0000000000000000000000000000000000000000..c68d1472e6fb945b29ff907212105adf8d7865d1 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_34VFQ_20004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_34VFQ_20006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_34VFQ_20006000.png new file mode 100644 index 0000000000000000000000000000000000000000..a07d1d14d62681df7c030526fc51aab1af71e951 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_34VFQ_20006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_34VFQ_50005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_34VFQ_50005000.png new file mode 100644 index 0000000000000000000000000000000000000000..b9cb89bbb2cf3ce5de1a9a56ffcc6b38d0e14c3e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_34VFQ_50005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_34WDB_60002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_34WDB_60002000.png new file mode 100644 index 0000000000000000000000000000000000000000..de67c3875ed9ffb575d2a284f5a7c21b95f5fe9c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_34WDB_60002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_34WDB_60008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_34WDB_60008000.png new file mode 100644 index 0000000000000000000000000000000000000000..4d7de349fe3031c59b55fe51417ba5e249da818d Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_34WDB_60008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_34WDB_70005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_34WDB_70005000.png new file mode 100644 index 0000000000000000000000000000000000000000..83d9f17d78753cd09c649f93b403cfdb7a0b0a42 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_34WDB_70005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_34WDB_70008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_34WDB_70008000.png new file mode 100644 index 0000000000000000000000000000000000000000..1bd687654d3f88b470c4efcde0fe9b9c9f65059a Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_34WDB_70008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_34WFS_70008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_34WFS_70008000.png new file mode 100644 index 0000000000000000000000000000000000000000..6abbb76929065e324ee3a3a300bf060cf3c6b1de Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_34WFS_70008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_35MNQ_90004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_35MNQ_90004000.png new file mode 100644 index 0000000000000000000000000000000000000000..559c22c99d2be3ea571ca2ae49d7b22560dfd733 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_35MNQ_90004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_35NQE_90000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_35NQE_90000.png new file mode 100644 index 0000000000000000000000000000000000000000..ae86ec7335d967207a4e8fa241e2a930c8e57636 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_35NQE_90000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_35TMH_70008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_35TMH_70008000.png new file mode 100644 index 0000000000000000000000000000000000000000..f01b729578a10933f0e41002922ac0c78c8f06f7 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_35TMH_70008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_35TPN_20004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_35TPN_20004000.png new file mode 100644 index 0000000000000000000000000000000000000000..af367b7d29e6e408ee5ab8487c33ec280de2ab49 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_35TPN_20004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_35ULU_90007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_35ULU_90007000.png new file mode 100644 index 0000000000000000000000000000000000000000..1817145c5b0750300ae3cd67ae789554f325a447 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_35ULU_90007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_35UNA_90000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_35UNA_90000.png new file mode 100644 index 0000000000000000000000000000000000000000..58e43af7a432cf87608dfb2120bf395994950241 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_35UNA_90000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_35UPV_00.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_35UPV_00.png new file mode 100644 index 0000000000000000000000000000000000000000..a9ff0e59080bc92e71a887a04a26735ad69957fc Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_35UPV_00.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_35UPV_50004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_35UPV_50004000.png new file mode 100644 index 0000000000000000000000000000000000000000..f8b5d31bca147b2d1cb9ecff7c1645e2fc3dff31 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_35UPV_50004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_35UPV_50007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_35UPV_50007000.png new file mode 100644 index 0000000000000000000000000000000000000000..5cca17abdc786d8050b3ea88d2a6e6f736d23c01 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_35UPV_50007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_35UPV_80003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_35UPV_80003000.png new file mode 100644 index 0000000000000000000000000000000000000000..c8a36429c5366d14251a25bb467ccca880387fc4 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_35UPV_80003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_35UPV_80005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_35UPV_80005000.png new file mode 100644 index 0000000000000000000000000000000000000000..b1eae82cffd7d9a9ef1df955554e2bb866dff706 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_35UPV_80005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_35UQV_05000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_35UQV_05000.png new file mode 100644 index 0000000000000000000000000000000000000000..0dc7b66c1dbb5532604666690444c53705f005a6 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_35UQV_05000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_35VMC_20009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_35VMC_20009000.png new file mode 100644 index 0000000000000000000000000000000000000000..a0326c95e34e7ac08405f554cf3e01b1b65f1789 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_35VMC_20009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_35VME_05000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_35VME_05000.png new file mode 100644 index 0000000000000000000000000000000000000000..bf9c07215b9be0b2867c8a7eac27892cf5f88046 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_35VME_05000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_35VME_06000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_35VME_06000.png new file mode 100644 index 0000000000000000000000000000000000000000..ea6a4b6c5bbc3d50c75ca3754f228f76e3f6d12c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_35VME_06000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_35WNP_30006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_35WNP_30006000.png new file mode 100644 index 0000000000000000000000000000000000000000..ea1b56a3f5463888cd2234ac169d544d609eec7a Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_35WNP_30006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_35WPM_50009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_35WPM_50009000.png new file mode 100644 index 0000000000000000000000000000000000000000..7c1f9505a9b8d15b14244798c24e4fc927073595 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_35WPM_50009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_35WPR_60002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_35WPR_60002000.png new file mode 100644 index 0000000000000000000000000000000000000000..7d80fafe55dfd77556eeef6fc8ef96013ec42984 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_35WPR_60002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_36KUA_30005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_36KUA_30005000.png new file mode 100644 index 0000000000000000000000000000000000000000..26a37a4354ff39953d586171cbef42a60021b8f2 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_36KUA_30005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_36KXE_50007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_36KXE_50007000.png new file mode 100644 index 0000000000000000000000000000000000000000..ab43c89cb021c51883f671f45180f71308d89c1e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_36KXE_50007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_36KXE_70005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_36KXE_70005000.png new file mode 100644 index 0000000000000000000000000000000000000000..41200ec7f10213e9ec97ec9be182f44fe934dab4 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_36KXE_70005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_36NUJ_70008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_36NUJ_70008000.png new file mode 100644 index 0000000000000000000000000000000000000000..9392f8d9bbe9c3f02e1082868afd05ac3f574ca6 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_36NUJ_70008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_36NYP_80003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_36NYP_80003000.png new file mode 100644 index 0000000000000000000000000000000000000000..cc687417007cb736b6573298f5b86523eaaf284e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_36NYP_80003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_36TWS_30005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_36TWS_30005000.png new file mode 100644 index 0000000000000000000000000000000000000000..8004b70b2299c04f81ccefd3d8b0959ff833a511 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_36TWS_30005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_36UVE_03000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_36UVE_03000.png new file mode 100644 index 0000000000000000000000000000000000000000..a54300262e527f22327adc51af03904e921b6405 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_36UVE_03000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_36VUH_10006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_36VUH_10006000.png new file mode 100644 index 0000000000000000000000000000000000000000..f02fbdda273576ec1b9bafe25337adfafd0742b7 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_36VUH_10006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_36VUN_10007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_36VUN_10007000.png new file mode 100644 index 0000000000000000000000000000000000000000..fe4e141831ea6cb113194b7e59ba555ce6d4617f Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_36VUN_10007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_36VVM_20006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_36VVM_20006000.png new file mode 100644 index 0000000000000000000000000000000000000000..96413e9044f75b6e9e5797dcec7d8aae87761b8f Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_36VVM_20006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_36VXQ_30001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_36VXQ_30001000.png new file mode 100644 index 0000000000000000000000000000000000000000..2854c0cc5877a0912fd12bf35857c0725d4405c7 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_36VXQ_30001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_36VXQ_50007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_36VXQ_50007000.png new file mode 100644 index 0000000000000000000000000000000000000000..762d11b9d3157620a72f16a253626f2f863bfc3b Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_36VXQ_50007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_36VXQ_90003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_36VXQ_90003000.png new file mode 100644 index 0000000000000000000000000000000000000000..3b2d67306f50f772b340cc5269e32f85eacb39b4 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_36VXQ_90003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_37KCA_30007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_37KCA_30007000.png new file mode 100644 index 0000000000000000000000000000000000000000..910ded00111068ff058878af7e5fa404c7797331 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_37KCA_30007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_37KCB_40007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_37KCB_40007000.png new file mode 100644 index 0000000000000000000000000000000000000000..dca8c3c03d030606305063bc38a68c6833f78f8b Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_37KCB_40007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_37LDG_60003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_37LDG_60003000.png new file mode 100644 index 0000000000000000000000000000000000000000..c26434f76778cdebbe7d5d4373dad70484ba6113 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_37LDG_60003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_37LDH_20004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_37LDH_20004000.png new file mode 100644 index 0000000000000000000000000000000000000000..78cb3d53425b1def7302be524d52893d0225b720 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_37LDH_20004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_37LDH_70004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_37LDH_70004000.png new file mode 100644 index 0000000000000000000000000000000000000000..a777d3268fd9572643ba89f998c97aeede769495 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_37LDH_70004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_37LDJ_90009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_37LDJ_90009000.png new file mode 100644 index 0000000000000000000000000000000000000000..1e855e091e1ef18c135c2a09e1e3fc3ab8d8695c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_37LDJ_90009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_37LDL_90001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_37LDL_90001000.png new file mode 100644 index 0000000000000000000000000000000000000000..c3bb19beb1a0842c4f889aa8b9757b37c635c518 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_37LDL_90001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_37LEJ_70009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_37LEJ_70009000.png new file mode 100644 index 0000000000000000000000000000000000000000..adacb9f62e7f1a3b66a03b883f05d3856788f8ee Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_37LEJ_70009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_37LEK_30004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_37LEK_30004000.png new file mode 100644 index 0000000000000000000000000000000000000000..15919c95f39fd7fce4bc811b956941a9b37c9160 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_37LEK_30004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_37LFD_60006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_37LFD_60006000.png new file mode 100644 index 0000000000000000000000000000000000000000..3d5b5c6b33931cb502818c2600e44f618a2f8cf6 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_37LFD_60006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_37LFD_60007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_37LFD_60007000.png new file mode 100644 index 0000000000000000000000000000000000000000..b87acb0ddde2f6f760b4cfd03b9228d9f089cdab Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_37LFD_60007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_37VCC_80005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_37VCC_80005000.png new file mode 100644 index 0000000000000000000000000000000000000000..bbeab1675caab502d0ff5ff0bbba1b3a12c7a0c0 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_37VCC_80005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_37VCG_10003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_37VCG_10003000.png new file mode 100644 index 0000000000000000000000000000000000000000..8a10313d6c8152c599eb2956e4e7929a2617d366 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_37VCG_10003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_37VCG_10009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_37VCG_10009000.png new file mode 100644 index 0000000000000000000000000000000000000000..41f02113a0bc1951da29a2c31407f649e8119eab Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_37VCG_10009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_37VCG_80001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_37VCG_80001000.png new file mode 100644 index 0000000000000000000000000000000000000000..0ee4e2536424363a8cd28e9617f65d293330fd41 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_37VCG_80001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_37VCK_60000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_37VCK_60000.png new file mode 100644 index 0000000000000000000000000000000000000000..a7f888e9cfb96950ca94bcf724e8bc77bb500a85 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_37VCK_60000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_37VCK_80005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_37VCK_80005000.png new file mode 100644 index 0000000000000000000000000000000000000000..6b47d0ca7ea019c020617d840ad80fb8a01c9847 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_37VCK_80005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_37VEC_80001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_37VEC_80001000.png new file mode 100644 index 0000000000000000000000000000000000000000..a1ade1b56ad8657bc328a397a5f641eb3d22d0db Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_37VEC_80001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_37VEE_90005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_37VEE_90005000.png new file mode 100644 index 0000000000000000000000000000000000000000..03e31e55a6f8c5652e2a7b6e289a8bbddc1a4e82 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_37VEE_90005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_37VFF_10007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_37VFF_10007000.png new file mode 100644 index 0000000000000000000000000000000000000000..d2aa3192adfa514a1d72d50998fcd1747047416d Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_37VFF_10007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_37VFL_10008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_37VFL_10008000.png new file mode 100644 index 0000000000000000000000000000000000000000..590830567583c74fe259e8c253cdb76f0e6a847d Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_37VFL_10008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_37WDP_80006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_37WDP_80006000.png new file mode 100644 index 0000000000000000000000000000000000000000..66c0918e02dea33d7135aff507b2ff546bf3a9ab Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_37WDP_80006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_37WEN_70003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_37WEN_70003000.png new file mode 100644 index 0000000000000000000000000000000000000000..68be7c79788f534f094b804fcba5f084ce56faa5 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_37WEN_70003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_37WEN_90003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_37WEN_90003000.png new file mode 100644 index 0000000000000000000000000000000000000000..33c05fe7f94111ddfd670231a12697c15f00e1bf Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_37WEN_90003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_37WEQ_30006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_37WEQ_30006000.png new file mode 100644 index 0000000000000000000000000000000000000000..450c466f501411fe252145306262ed765a65fc10 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_37WEQ_30006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_37WEQ_30007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_37WEQ_30007000.png new file mode 100644 index 0000000000000000000000000000000000000000..3895de574893b702d99f78a6a5742dd10610ea96 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_37WEQ_30007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_37WEQ_40002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_37WEQ_40002000.png new file mode 100644 index 0000000000000000000000000000000000000000..bbab93ed5dc13ee2e10ced5b99ae5b504bb0bbcd Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_37WEQ_40002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_37WEQ_80005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_37WEQ_80005000.png new file mode 100644 index 0000000000000000000000000000000000000000..d845df5d0672d5a5236b01ff1763f99a8bbf47cf Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_37WEQ_80005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_38JNT_50009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_38JNT_50009000.png new file mode 100644 index 0000000000000000000000000000000000000000..ef752a464cd94cb0138343ecedb6b9c34ae6b7e8 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_38JNT_50009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_38KQE_30009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_38KQE_30009000.png new file mode 100644 index 0000000000000000000000000000000000000000..2e74131e5ea43ad0425d56e4b9454d2574614d51 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_38KQE_30009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_38NMJ_40004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_38NMJ_40004000.png new file mode 100644 index 0000000000000000000000000000000000000000..146a46bde8e2a35b8fe0e6900585e751a9d072fa Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_38NMJ_40004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_38NMJ_50009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_38NMJ_50009000.png new file mode 100644 index 0000000000000000000000000000000000000000..30ba9a9e6a62d550363ea5bb122f3fa730cc912f Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_38NMJ_50009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_38NNJ_20003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_38NNJ_20003000.png new file mode 100644 index 0000000000000000000000000000000000000000..363fb3250f380520fb89a5f0f0b6d89c69ff000c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_38NNJ_20003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_38PKQ_10002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_38PKQ_10002000.png new file mode 100644 index 0000000000000000000000000000000000000000..971d38cdd5c9caf97d7eeeda758791b306c378ac Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_38PKQ_10002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_38PLQ_10003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_38PLQ_10003000.png new file mode 100644 index 0000000000000000000000000000000000000000..33ce1882fcf00ac9e73e290bf9cda5b9b57f2dbd Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_38PLQ_10003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_38PNQ_90002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_38PNQ_90002000.png new file mode 100644 index 0000000000000000000000000000000000000000..216e8ad1d4c62c227bde47832c260eabb8325ed1 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_38PNQ_90002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_38PRQ_50005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_38PRQ_50005000.png new file mode 100644 index 0000000000000000000000000000000000000000..397e2349be397ace8b031ed8a243deea4c7f4e7d Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_38PRQ_50005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_38PRR_90000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_38PRR_90000.png new file mode 100644 index 0000000000000000000000000000000000000000..703885697b9a4c3318ec4713439c0ca00a811ae3 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_38PRR_90000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_38UNG_50007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_38UNG_50007000.png new file mode 100644 index 0000000000000000000000000000000000000000..3f5f273e7ad666c359245361f94e8f4b966bf209 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_38UNG_50007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_38UPE_60000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_38UPE_60000.png new file mode 100644 index 0000000000000000000000000000000000000000..1ccdf97e0ca1781d2788d766b3c17cfc8c54c5f7 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_38UPE_60000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_38UQD_40000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_38UQD_40000.png new file mode 100644 index 0000000000000000000000000000000000000000..a89dfae50b88ec96d114d244d2b2a989c52de537 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_38UQD_40000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_38UQD_60005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_38UQD_60005000.png new file mode 100644 index 0000000000000000000000000000000000000000..c5ead4e6ab6eb64a4666d85186ca2c3af750ef2d Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_38UQD_60005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_38VLM_10006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_38VLM_10006000.png new file mode 100644 index 0000000000000000000000000000000000000000..51333b20df7605099328a3b4501e17ad8daa0bd2 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_38VLM_10006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_38VLM_10008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_38VLM_10008000.png new file mode 100644 index 0000000000000000000000000000000000000000..f54c7d0c70db609581273830551e142a9b12419e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_38VLM_10008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_38VLM_20001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_38VLM_20001000.png new file mode 100644 index 0000000000000000000000000000000000000000..a14dcc57440e312bdc629fc5e340718b91d9cc2a Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_38VLM_20001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_38VLM_20005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_38VLM_20005000.png new file mode 100644 index 0000000000000000000000000000000000000000..182c6d407feae9bc789294e6d13bbe5f91699f27 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_38VLM_20005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_38VLM_30003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_38VLM_30003000.png new file mode 100644 index 0000000000000000000000000000000000000000..5b2e2e696cd00bd62d7e44823aafdc5e7be8181f Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_38VLM_30003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_38VLR_40008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_38VLR_40008000.png new file mode 100644 index 0000000000000000000000000000000000000000..0ce3d80dd0b83d9f1c66df63256d519b0cf2c5a1 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_38VLR_40008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_38VNJ_02000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_38VNJ_02000.png new file mode 100644 index 0000000000000000000000000000000000000000..1425f00a0a3a0053afc1c4318b8a7399a46c39a5 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_38VNJ_02000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_38VPH_40001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_38VPH_40001000.png new file mode 100644 index 0000000000000000000000000000000000000000..035470b470baa155dcf18f8e36d848132fa3be1e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_38VPH_40001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_38VPH_70005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_38VPH_70005000.png new file mode 100644 index 0000000000000000000000000000000000000000..d3a16ccbb8fc4f6fb1dc925007fdb802ad17b87f Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_38VPH_70005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_38VPJ_90002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_38VPJ_90002000.png new file mode 100644 index 0000000000000000000000000000000000000000..258232d2558d32e8606c65b434128d656ddf7571 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_38VPJ_90002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_38VPM_20008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_38VPM_20008000.png new file mode 100644 index 0000000000000000000000000000000000000000..82774a4da21761ed404ba8525cafe5a520612e89 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_38VPM_20008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_38WMV_70001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_38WMV_70001000.png new file mode 100644 index 0000000000000000000000000000000000000000..cb848f7431b3082b3fa84da891520b6250f7572b Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_38WMV_70001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39TYG_50009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39TYG_50009000.png new file mode 100644 index 0000000000000000000000000000000000000000..79fd7c635475cde4ecee09157b61067cb215d0ef Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39TYG_50009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39UUT_60001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39UUT_60001000.png new file mode 100644 index 0000000000000000000000000000000000000000..e252c8daa2156de689c2554f7394735bc55723bf Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39UUT_60001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39UUT_80002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39UUT_80002000.png new file mode 100644 index 0000000000000000000000000000000000000000..8246be9b9ca5195dec2603562aa18caea004223b Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39UUT_80002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39UVB_20002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39UVB_20002000.png new file mode 100644 index 0000000000000000000000000000000000000000..c5d483a9824d007e3783fb41731a978759d35c5b Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39UVB_20002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39UWB_02000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39UWB_02000.png new file mode 100644 index 0000000000000000000000000000000000000000..0ba9f6b91258a7bb2467b4284942f1807ba09850 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39UWB_02000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39UWB_40000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39UWB_40000.png new file mode 100644 index 0000000000000000000000000000000000000000..1ef736e999b9a2de87ea5fc9ef66765f6d3bdb0f Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39UWB_40000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39UWU_40005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39UWU_40005000.png new file mode 100644 index 0000000000000000000000000000000000000000..4ef712d4b9a03abe77e88a88802754d7a90c16e1 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39UWU_40005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39UWV_01000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39UWV_01000.png new file mode 100644 index 0000000000000000000000000000000000000000..cf751614bfb10a6e2e26e1a449cca31e317b6d65 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39UWV_01000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39VUF_80000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39VUF_80000.png new file mode 100644 index 0000000000000000000000000000000000000000..8b9406a6860a97664dcc6af223401efba2d81693 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39VUF_80000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39VVC_02000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39VVC_02000.png new file mode 100644 index 0000000000000000000000000000000000000000..d942bd963f54297a7222520fef963a30f3c85ebe Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39VVC_02000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39VVC_30004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39VVC_30004000.png new file mode 100644 index 0000000000000000000000000000000000000000..a58df98fa2c8082db3c6482403bde221915d1c04 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39VVC_30004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39VVC_70005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39VVC_70005000.png new file mode 100644 index 0000000000000000000000000000000000000000..27bfb3a6f1614d310ecf6ab872ee289864764db3 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39VVC_70005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39VVC_90007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39VVC_90007000.png new file mode 100644 index 0000000000000000000000000000000000000000..d7e0c9a552b7195a3ca8c0e4ea4724589e173d4e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39VVC_90007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39VVD_10007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39VVD_10007000.png new file mode 100644 index 0000000000000000000000000000000000000000..1dbf569148b9e59b5a4523c94bb1decadfbaab58 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39VVD_10007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39VVD_20005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39VVD_20005000.png new file mode 100644 index 0000000000000000000000000000000000000000..a6faf3d300e551c28b008182561b463655235e72 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39VVD_20005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39VVE_50002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39VVE_50002000.png new file mode 100644 index 0000000000000000000000000000000000000000..06fd2af387c485298f27dd38b89afd38feb0f1d0 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39VVE_50002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39VVE_70002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39VVE_70002000.png new file mode 100644 index 0000000000000000000000000000000000000000..7f0ca77e0a5d51dbe706f0c5240bce9916b4f9e6 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39VVE_70002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39VVE_90000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39VVE_90000.png new file mode 100644 index 0000000000000000000000000000000000000000..7b5565972418e53b9874e9c85fdd5a1db394f7d4 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39VVE_90000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39VVL_30006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39VVL_30006000.png new file mode 100644 index 0000000000000000000000000000000000000000..ba20613e12999291445107175273cfc08f616cff Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39VVL_30006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39VWD_80001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39VWD_80001000.png new file mode 100644 index 0000000000000000000000000000000000000000..d6229d0fd90410c50e3e23f6914fbd81c6cf5b94 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39VWD_80001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39VWF_05000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39VWF_05000.png new file mode 100644 index 0000000000000000000000000000000000000000..463fd4ce7c74e1f0f20e9fe559759838a8d09b26 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39VWF_05000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39VWF_30008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39VWF_30008000.png new file mode 100644 index 0000000000000000000000000000000000000000..92bbee31bee86036ffbecc7459026832725a9252 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39VWF_30008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39VWF_40008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39VWF_40008000.png new file mode 100644 index 0000000000000000000000000000000000000000..7058c0242b8712ed16572da660c546fdd37907b7 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39VWF_40008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39VWF_90009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39VWF_90009000.png new file mode 100644 index 0000000000000000000000000000000000000000..ff8023c2bc9ae6b1274fde5e4411fcd6788d28b4 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39VWF_90009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39VWL_10000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39VWL_10000.png new file mode 100644 index 0000000000000000000000000000000000000000..dc154c097a9f2bb4b71ba25c3445326342c78443 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39VWL_10000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39VWL_40008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39VWL_40008000.png new file mode 100644 index 0000000000000000000000000000000000000000..ead78d868315b2e40d2b59c5401c0139e337df8f Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39VWL_40008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39VXE_10001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39VXE_10001000.png new file mode 100644 index 0000000000000000000000000000000000000000..9c88194f91e3d24227fd9011c150416a6c62e821 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39VXE_10001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39VXE_30000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39VXE_30000.png new file mode 100644 index 0000000000000000000000000000000000000000..7ed308a43cb2c5359ed2bfd3220f2f4e544eb97d Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39VXE_30000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39VXF_40008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39VXF_40008000.png new file mode 100644 index 0000000000000000000000000000000000000000..2f68bcbb8fe0175e8e54db701cce01208a316598 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39VXF_40008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39VXG_50001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39VXG_50001000.png new file mode 100644 index 0000000000000000000000000000000000000000..10f00a5b0b5d0217cb900df874cff6e3f1b722a7 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39VXG_50001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39VXG_70004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39VXG_70004000.png new file mode 100644 index 0000000000000000000000000000000000000000..1e8dc0bf36baf2cee3ce02509c15668e1e340cb2 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39VXG_70004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39VXG_80005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39VXG_80005000.png new file mode 100644 index 0000000000000000000000000000000000000000..08464db0032b3a50aff39b91c8e5b0559fcd0680 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39VXG_80005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39WVN_10005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39WVN_10005000.png new file mode 100644 index 0000000000000000000000000000000000000000..0394dc61664adc7bf2f8a6318c796f45a715ecec Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39WVN_10005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39WVN_20006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39WVN_20006000.png new file mode 100644 index 0000000000000000000000000000000000000000..e5e8dafbd2fc72721b62a76382e8d665638d0dbc Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39WVN_20006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39WVQ_07000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39WVQ_07000.png new file mode 100644 index 0000000000000000000000000000000000000000..5e8937e766039287c4197e8541e9f07cfe425cd7 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39WVQ_07000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39WXS_09000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39WXS_09000.png new file mode 100644 index 0000000000000000000000000000000000000000..6d57bdf4cffec35f81bffa617704335a4e229c9d Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_39WXS_09000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_40UCG_60008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_40UCG_60008000.png new file mode 100644 index 0000000000000000000000000000000000000000..bd428db26065a1fc62d266bbf5002e6d53a5e4ba Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_40UCG_60008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_40UCG_70001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_40UCG_70001000.png new file mode 100644 index 0000000000000000000000000000000000000000..2d8b3f1931a1ea2f054778475553546ce495ea63 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_40UCG_70001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_40UCG_70008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_40UCG_70008000.png new file mode 100644 index 0000000000000000000000000000000000000000..e43e7f9c13e5d123655b2218f3fde4e562d28f79 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_40UCG_70008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_40UEV_10005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_40UEV_10005000.png new file mode 100644 index 0000000000000000000000000000000000000000..5ed264349679685e0259d323a630bce525e1a322 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_40UEV_10005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_40UFG_50000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_40UFG_50000.png new file mode 100644 index 0000000000000000000000000000000000000000..47fbcb181a45d6432c807473c548f7fed519723b Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_40UFG_50000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_40UFG_90000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_40UFG_90000.png new file mode 100644 index 0000000000000000000000000000000000000000..c282649b6365a6bd1108af681eae0dbae48506d8 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_40UFG_90000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_40VCH_70005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_40VCH_70005000.png new file mode 100644 index 0000000000000000000000000000000000000000..448c6703da69d755a9d52b7a1ca742fb5f8a6781 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_40VCH_70005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_40VCH_80002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_40VCH_80002000.png new file mode 100644 index 0000000000000000000000000000000000000000..37e740a4f48c027a41e5d01c7d44fb3a56e21c21 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_40VCH_80002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_40VCM_40005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_40VCM_40005000.png new file mode 100644 index 0000000000000000000000000000000000000000..9c0571c9bf18d5e478b562790154bb1207569895 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_40VCM_40005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_40VCN_80004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_40VCN_80004000.png new file mode 100644 index 0000000000000000000000000000000000000000..59b4010f4f3b3d837a0177ff82939366d790404f Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_40VCN_80004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_40VCN_80008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_40VCN_80008000.png new file mode 100644 index 0000000000000000000000000000000000000000..030c41b197b1638ba7ca7db5cb6ac47a0b077e43 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_40VCN_80008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_40VCQ_40003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_40VCQ_40003000.png new file mode 100644 index 0000000000000000000000000000000000000000..a2bb2ba5f985c68abd799c2f8849888745defcf4 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_40VCQ_40003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_40VDN_04000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_40VDN_04000.png new file mode 100644 index 0000000000000000000000000000000000000000..89ef1d2c3402cfe8ca30277137b0819286792a47 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_40VDN_04000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_40VEK_60000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_40VEK_60000.png new file mode 100644 index 0000000000000000000000000000000000000000..3a26981f25e25f22bee9b1b6778e51b8a3f43294 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_40VEK_60000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_40VEQ_80006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_40VEQ_80006000.png new file mode 100644 index 0000000000000000000000000000000000000000..df4f4c49f7a0e53aeb02ee995765aee6fb098ba4 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_40VEQ_80006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_40VFQ_50006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_40VFQ_50006000.png new file mode 100644 index 0000000000000000000000000000000000000000..1261324ed768c79febf455ac211b75608f335e49 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_40VFQ_50006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_41UPU_70004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_41UPU_70004000.png new file mode 100644 index 0000000000000000000000000000000000000000..44fd19279e76bcd527c7c2be8253974dbaab6a96 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_41UPU_70004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_41UQT_10004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_41UQT_10004000.png new file mode 100644 index 0000000000000000000000000000000000000000..69cf45184574e39e2e06ee1fb6411b3600e43aa0 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_41UQT_10004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_41UQU_50004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_41UQU_50004000.png new file mode 100644 index 0000000000000000000000000000000000000000..4112b16c8ba2bde754d28f97a82b64e8de263474 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_41UQU_50004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_41UQU_50009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_41UQU_50009000.png new file mode 100644 index 0000000000000000000000000000000000000000..7719bce7e1c8b4a4ecc200800b8993a9b11d15c3 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_41UQU_50009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_41UQU_80008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_41UQU_80008000.png new file mode 100644 index 0000000000000000000000000000000000000000..bd38bf0686a2e731648e5018db2599133595c4d8 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_41UQU_80008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_41VMC_03000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_41VMC_03000.png new file mode 100644 index 0000000000000000000000000000000000000000..4bfcb8403d5bfb8b35c17a1b6c792756ee6ecd90 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_41VMC_03000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_41VME_40003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_41VME_40003000.png new file mode 100644 index 0000000000000000000000000000000000000000..c0b0cb550cfb0925d2b8a565c023d480d2bad84d Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_41VME_40003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_41VPH_10002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_41VPH_10002000.png new file mode 100644 index 0000000000000000000000000000000000000000..196033cddeb64640f603b13e94e4b55b07e80e50 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_41VPH_10002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_41WNS_90007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_41WNS_90007000.png new file mode 100644 index 0000000000000000000000000000000000000000..646b248bbf2d8e0adc6f5cf982808adb0b786765 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_41WNS_90007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_41WPQ_10002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_41WPQ_10002000.png new file mode 100644 index 0000000000000000000000000000000000000000..3b3b9e11e4749c154fd9c36122390d9f9db12697 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_41WPQ_10002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_42UVC_50000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_42UVC_50000.png new file mode 100644 index 0000000000000000000000000000000000000000..e6ce85d142456688a28741e18d580c51e6ba8529 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_42UVC_50000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_42UVE_10001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_42UVE_10001000.png new file mode 100644 index 0000000000000000000000000000000000000000..854e1dfb2eb66d8a672895a940fce3f47b2c39e7 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_42UVE_10001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_42UWG_50006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_42UWG_50006000.png new file mode 100644 index 0000000000000000000000000000000000000000..d4192509403c367fea0bee786fb20f32dce817b2 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_42UWG_50006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_42UXE_60009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_42UXE_60009000.png new file mode 100644 index 0000000000000000000000000000000000000000..f193908b01aa1b8da4e49813f0f654f97ae89fe5 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_42UXE_60009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_42UYE_10009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_42UYE_10009000.png new file mode 100644 index 0000000000000000000000000000000000000000..2d944df8af0b40bd65faf0b2c949a08c39a750ab Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_42UYE_10009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_42VWL_01000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_42VWL_01000.png new file mode 100644 index 0000000000000000000000000000000000000000..d521262b3f4b8a359817d2800074e51b154bb980 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_42VWL_01000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_42VWR_08000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_42VWR_08000.png new file mode 100644 index 0000000000000000000000000000000000000000..35e3a40357ef7e5e3f5dd52ea8732a8ceffd5534 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_42VWR_08000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_42VWR_10009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_42VWR_10009000.png new file mode 100644 index 0000000000000000000000000000000000000000..e6d3e3d6154a232101b58cf65eecd846136a02a0 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_42VWR_10009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_42VXJ_20006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_42VXJ_20006000.png new file mode 100644 index 0000000000000000000000000000000000000000..4ba564fe21f928916233dbfed74b8ca6891fa903 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_42VXJ_20006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_42VXK_06000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_42VXK_06000.png new file mode 100644 index 0000000000000000000000000000000000000000..9cd35fc21d3ae664f3de1e267cc8bb7223d49429 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_42VXK_06000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_43UCV_70002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_43UCV_70002000.png new file mode 100644 index 0000000000000000000000000000000000000000..2fd899e15f26940305629fe4f83656e424c8ee4a Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_43UCV_70002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_43VFJ_80003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_43VFJ_80003000.png new file mode 100644 index 0000000000000000000000000000000000000000..7d50fec7f20da1a323e49164bf0206b8546cdd84 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_43VFJ_80003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_43WFN_70001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_43WFN_70001000.png new file mode 100644 index 0000000000000000000000000000000000000000..82525102bfd9a372beec63d93737ccda60ba64f0 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_43WFN_70001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_43WFN_70003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_43WFN_70003000.png new file mode 100644 index 0000000000000000000000000000000000000000..b301e78158c24a0da84ae14f9661bc8187d22a37 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_43WFN_70003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_44RMS_70003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_44RMS_70003000.png new file mode 100644 index 0000000000000000000000000000000000000000..b4b0657433ad5394500fc492b50f49cfadb43b67 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_44RMS_70003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_44RMS_70006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_44RMS_70006000.png new file mode 100644 index 0000000000000000000000000000000000000000..61a52c0c8738eb572be377ed0f8a8eb55b76ffca Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_44RMS_70006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_44UNV_70006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_44UNV_70006000.png new file mode 100644 index 0000000000000000000000000000000000000000..6e305f24a5d81f04da45ba2d34a5ee940f9daaf4 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_44UNV_70006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_44VNH_70003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_44VNH_70003000.png new file mode 100644 index 0000000000000000000000000000000000000000..44a4c892d802a10b6a29623009bf67b264d27e3c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_44VNH_70003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_44WNT_20009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_44WNT_20009000.png new file mode 100644 index 0000000000000000000000000000000000000000..c55ad2605caf15c93fcd02c6cdbe526da9ec09b5 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_44WNT_20009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_44XNF_90000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_44XNF_90000.png new file mode 100644 index 0000000000000000000000000000000000000000..c66ec53ff788033c94ea317c962d1c3e61336231 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_44XNF_90000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_44XPF_70006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_44XPF_70006000.png new file mode 100644 index 0000000000000000000000000000000000000000..2a53b7d2f07e870a83b5e4ac19e4e384a8de0db0 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_44XPF_70006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_45VVC_50006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_45VVC_50006000.png new file mode 100644 index 0000000000000000000000000000000000000000..5da789a36539294664e74678fbe3197892715c46 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_45VVC_50006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_45WWQ_50007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_45WWQ_50007000.png new file mode 100644 index 0000000000000000000000000000000000000000..56fe1ec88c5194187291d83721c369bdd2a5bb6b Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_45WWQ_50007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_45WXQ_40008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_45WXQ_40008000.png new file mode 100644 index 0000000000000000000000000000000000000000..bae1e1785e813e21beb067a1923105fb157ca090 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_45WXQ_40008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_45XWA_40001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_45XWA_40001000.png new file mode 100644 index 0000000000000000000000000000000000000000..b818861b6d8eaafd2d66c7f2234ad9e31dc9c1b3 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_45XWA_40001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_45XWA_70003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_45XWA_70003000.png new file mode 100644 index 0000000000000000000000000000000000000000..7fe078589f84b04ba6db098b7058214e563f2d94 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_45XWA_70003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_46UDA_50007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_46UDA_50007000.png new file mode 100644 index 0000000000000000000000000000000000000000..45b52637cff5a40837ba1e8590d4e9ac4b72a9ff Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_46UDA_50007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_46WEV_01000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_46WEV_01000.png new file mode 100644 index 0000000000000000000000000000000000000000..a6372dadf1738eb536fbbd86b38bbbedbe282142 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_46WEV_01000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_47TPJ_40009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_47TPJ_40009000.png new file mode 100644 index 0000000000000000000000000000000000000000..39d3e73cca40ab8a477208914332679e5e483208 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_47TPJ_40009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_47UPU_50009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_47UPU_50009000.png new file mode 100644 index 0000000000000000000000000000000000000000..1ec4cc5f0d8109f048bee9c91017ae3aa68c0649 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_47UPU_50009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_47VPC_10002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_47VPC_10002000.png new file mode 100644 index 0000000000000000000000000000000000000000..ff0fc8f178e7dfcebe3f20e96d298849cdbab203 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_47VPC_10002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_47WMV_70006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_47WMV_70006000.png new file mode 100644 index 0000000000000000000000000000000000000000..c5f0cc2aaa3a6a0854875cf9ef30e7560d2913c1 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_47WMV_70006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_47WNU_02000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_47WNU_02000.png new file mode 100644 index 0000000000000000000000000000000000000000..4e9198bd6c5acec3917ed455affe3cdac323c6d4 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_47WNU_02000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_48PYT_00.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_48PYT_00.png new file mode 100644 index 0000000000000000000000000000000000000000..d6f2699afbcf5fda6f746645297940a30d4de2cd Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_48PYT_00.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_48VUJ_20001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_48VUJ_20001000.png new file mode 100644 index 0000000000000000000000000000000000000000..9270dfc148cd7fdd243a16bf8bc87b12707ab256 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_48VUJ_20001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_49UCS_10004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_49UCS_10004000.png new file mode 100644 index 0000000000000000000000000000000000000000..cbc36968a6decd8c823364ca0979fec27f699988 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_49UCS_10004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_49WDS_80004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_49WDS_80004000.png new file mode 100644 index 0000000000000000000000000000000000000000..6459b13e83579fd34295d76f6e0af6e9cac6bd52 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_49WDS_80004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_49WES_10005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_49WES_10005000.png new file mode 100644 index 0000000000000000000000000000000000000000..24fed70eb90cbbeafebcb55ddbd21636323331cc Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_49WES_10005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_50WPB_60002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_50WPB_60002000.png new file mode 100644 index 0000000000000000000000000000000000000000..149f3414390dffff0a4d38f8f9cdf0061b97df49 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_50WPB_60002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_50WPU_60008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_50WPU_60008000.png new file mode 100644 index 0000000000000000000000000000000000000000..d0272aab34efbceeeba8446ecd7d904ea1672a3f Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_50WPU_60008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_51JTK_50006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_51JTK_50006000.png new file mode 100644 index 0000000000000000000000000000000000000000..35468c30fcbf99bc34ceb135451a7e1273920d54 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_51JTK_50006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_51TVN_60000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_51TVN_60000.png new file mode 100644 index 0000000000000000000000000000000000000000..dbd7fb15a0c1a393b1c8ff7a24f26e27d94eaf89 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_51TVN_60000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_51VWK_50007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_51VWK_50007000.png new file mode 100644 index 0000000000000000000000000000000000000000..475f3a876374377259c13134d0179ea1fb3b6787 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_51VWK_50007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_52VEL_80004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_52VEL_80004000.png new file mode 100644 index 0000000000000000000000000000000000000000..57748e62c7dd91cf119b25c4666038cd40d4ae60 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_52VEL_80004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_52WFB_50001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_52WFB_50001000.png new file mode 100644 index 0000000000000000000000000000000000000000..564bd462d561bc98b99649578ee81b958610b9c4 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_52WFB_50001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_52WFU_80008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_52WFU_80008000.png new file mode 100644 index 0000000000000000000000000000000000000000..92bab50dc20cc81ca4b92c033f7f57ff6129e602 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_52WFU_80008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_54VXR_70009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_54VXR_70009000.png new file mode 100644 index 0000000000000000000000000000000000000000..4684799ef98f63e1d18ad77f1a6df0ce086bb5c7 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_54VXR_70009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_55WEU_20006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_55WEU_20006000.png new file mode 100644 index 0000000000000000000000000000000000000000..cffdefcef3bce42102f8557df04d32ba2db90365 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_55WEU_20006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_55WFM_70008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_55WFM_70008000.png new file mode 100644 index 0000000000000000000000000000000000000000..147a88d8447771dfac920e541f108581409c007f Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_55WFM_70008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_57UVA_90009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_57UVA_90009000.png new file mode 100644 index 0000000000000000000000000000000000000000..e2ab30d127f88f6ede95aaff515022b655775892 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_57UVA_90009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_58KEB_00.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_58KEB_00.png new file mode 100644 index 0000000000000000000000000000000000000000..c9c447041a67628f8a0215b541aeb8858ac776c0 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_58KEB_00.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_58WEC_40004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_58WEC_40004000.png new file mode 100644 index 0000000000000000000000000000000000000000..be290d3c1df54cef29d743cfcf767ca038191e8e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_58WEC_40004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_58WFB_20000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_58WFB_20000.png new file mode 100644 index 0000000000000000000000000000000000000000..0e7a8eb13b0ddcc0328dad4e0384aef85d62ce54 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_58WFB_20000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_60HUD_50006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_60HUD_50006000.png new file mode 100644 index 0000000000000000000000000000000000000000..8d7b04245a84e1a8d089c86082dd7f45643781ae Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/GT_60HUD_50006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_01WFN_70003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_01WFN_70003000.png new file mode 100644 index 0000000000000000000000000000000000000000..2b12116668ee49499cb55cb8ecff6472f90adda4 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_01WFN_70003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_03WVP_40005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_03WVP_40005000.png new file mode 100644 index 0000000000000000000000000000000000000000..902715e3995427a70b7ae9d15615f97542463a82 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_03WVP_40005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_03WVP_50009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_03WVP_50009000.png new file mode 100644 index 0000000000000000000000000000000000000000..975c33130649c12bd8d7b09935eb84a7b938a0c4 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_03WVP_50009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_03WWP_30006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_03WWP_30006000.png new file mode 100644 index 0000000000000000000000000000000000000000..9fc9c801ead27e655d7e697ffaed8177e937ea37 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_03WWP_30006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_04WFS_30001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_04WFS_30001000.png new file mode 100644 index 0000000000000000000000000000000000000000..fe3634ee454ca8f3deba692b5fa97b92b7bde3dd Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_04WFS_30001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_05WPT_90004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_05WPT_90004000.png new file mode 100644 index 0000000000000000000000000000000000000000..2b139f6258c1a0565e638a2851485e2d06cd7b70 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_05WPT_90004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_08WNA_10003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_08WNA_10003000.png new file mode 100644 index 0000000000000000000000000000000000000000..132fff0380c1e29b5a6997cb8f173acc9ad2bd27 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_08WNA_10003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_10VDM_10002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_10VDM_10002000.png new file mode 100644 index 0000000000000000000000000000000000000000..fed3c4898dc2d0fa28e641bb2289db723cc3353e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_10VDM_10002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_11TPM_30008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_11TPM_30008000.png new file mode 100644 index 0000000000000000000000000000000000000000..05b276de5d1f212648aec685733bd9f7509d45b4 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_11TPM_30008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_11UMT_10008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_11UMT_10008000.png new file mode 100644 index 0000000000000000000000000000000000000000..07ab7e3777951f770ef9a0650656f6823ee008a1 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_11UMT_10008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_11UPA_10002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_11UPA_10002000.png new file mode 100644 index 0000000000000000000000000000000000000000..496d96ba052ccc9426b8863b6fffc2c4e9ec21d8 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_11UPA_10002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_11VNC_90006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_11VNC_90006000.png new file mode 100644 index 0000000000000000000000000000000000000000..6ba38e42d3f4959512fb559240f9fff7aae6377e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_11VNC_90006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_11WNT_50006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_11WNT_50006000.png new file mode 100644 index 0000000000000000000000000000000000000000..ccbc8a678983caf48ee17ff6cd29486561244216 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_11WNT_50006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_11WNU_60003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_11WNU_60003000.png new file mode 100644 index 0000000000000000000000000000000000000000..e8804efec97487bea44a4123afb180377d792f61 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_11WNU_60003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_12UWF_30001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_12UWF_30001000.png new file mode 100644 index 0000000000000000000000000000000000000000..69d8f946269c9fb52cd6c27af5c9446c5c94c64c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_12UWF_30001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_12UWF_40000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_12UWF_40000.png new file mode 100644 index 0000000000000000000000000000000000000000..fb44e1a378eb0bf9937c5c5b7fe43d48edcbbb0b Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_12UWF_40000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_14RNQ_40006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_14RNQ_40006000.png new file mode 100644 index 0000000000000000000000000000000000000000..5adf51443d5585e620c889afb67abfcff05517fc Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_14RNQ_40006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_14RNQ_40008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_14RNQ_40008000.png new file mode 100644 index 0000000000000000000000000000000000000000..3c0a0cce018d5076fa0f92fe501389fccf27774a Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_14RNQ_40008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_14RPT_03000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_14RPT_03000.png new file mode 100644 index 0000000000000000000000000000000000000000..fa1aa6a10a345abdb686874e5a3c7b60e0b97862 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_14RPT_03000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_14RPT_20000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_14RPT_20000.png new file mode 100644 index 0000000000000000000000000000000000000000..0cc4b630a0eeebb6e455cf01ee933b7ad852f589 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_14RPT_20000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_14SQB_10009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_14SQB_10009000.png new file mode 100644 index 0000000000000000000000000000000000000000..c65e2a27088ccaffcfafeec7ed31c07592e900b5 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_14SQB_10009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_14SQC_50001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_14SQC_50001000.png new file mode 100644 index 0000000000000000000000000000000000000000..31b9665747ed1dd802d89dada92a131958431861 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_14SQC_50001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_14SQC_50007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_14SQC_50007000.png new file mode 100644 index 0000000000000000000000000000000000000000..349948a4e3f45b90d586d5929d248d13f70365f5 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_14SQC_50007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_14TNM_40004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_14TNM_40004000.png new file mode 100644 index 0000000000000000000000000000000000000000..6fab12965e4d676ecc6b6a9908721f5c64787205 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_14TNM_40004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_15RTP_70009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_15RTP_70009000.png new file mode 100644 index 0000000000000000000000000000000000000000..4072a865359b776a34851282788e38ec2c67f9a5 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_15RTP_70009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_15RYQ_90007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_15RYQ_90007000.png new file mode 100644 index 0000000000000000000000000000000000000000..5a0f20e0a048e5dcbce7dcd8a7343966887b8071 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_15RYQ_90007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_15STB_80005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_15STB_80005000.png new file mode 100644 index 0000000000000000000000000000000000000000..5735fa6b7d033b885a38fc04dde80868f588dc32 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_15STB_80005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_15SUD_30006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_15SUD_30006000.png new file mode 100644 index 0000000000000000000000000000000000000000..2ac62114a026e31c30542e1d2dca86e17e0cf995 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_15SUD_30006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_15TUE_40009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_15TUE_40009000.png new file mode 100644 index 0000000000000000000000000000000000000000..2edb5e140f913f3c8033bb8b3514d9f2ed57fa32 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_15TUE_40009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_15TWG_90000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_15TWG_90000.png new file mode 100644 index 0000000000000000000000000000000000000000..5195535c9ef41db564663a52f5a070fa818bb837 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_15TWG_90000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_16RDU_70003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_16RDU_70003000.png new file mode 100644 index 0000000000000000000000000000000000000000..50335fdb011164b45737b667cd423e24331d93d2 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_16RDU_70003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_16SEC_20009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_16SEC_20009000.png new file mode 100644 index 0000000000000000000000000000000000000000..4077ac9ee5cbd80b86b3d65ea6d79483c19f0170 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_16SEC_20009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_16SEC_40009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_16SEC_40009000.png new file mode 100644 index 0000000000000000000000000000000000000000..5477b33be03d5a4c4753692f6096b7f4e511dce7 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_16SEC_40009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_16WDD_90002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_16WDD_90002000.png new file mode 100644 index 0000000000000000000000000000000000000000..3c9c1c1a80e85fbfd022656244c6c1d2b68e3d9e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_16WDD_90002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_16XDP_30000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_16XDP_30000.png new file mode 100644 index 0000000000000000000000000000000000000000..ffffacc239a75e901b9bc30a664ae3235cc46ac0 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_16XDP_30000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_16XEF_50002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_16XEF_50002000.png new file mode 100644 index 0000000000000000000000000000000000000000..986fb5750562474296186319f7f510b1e99d3250 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_16XEF_50002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_16XEF_70002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_16XEF_70002000.png new file mode 100644 index 0000000000000000000000000000000000000000..ce560f793a437d896a2d563256bca1ba3db07586 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_16XEF_70002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_17SMU_70005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_17SMU_70005000.png new file mode 100644 index 0000000000000000000000000000000000000000..2180b57db11f4bcdecf61a5fad886a3fc85279ff Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_17SMU_70005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_17TLJ_10008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_17TLJ_10008000.png new file mode 100644 index 0000000000000000000000000000000000000000..4d7d9df9d2b59c81bcb242977b844a1d93bb2851 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_17TLJ_10008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_17TMF_50006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_17TMF_50006000.png new file mode 100644 index 0000000000000000000000000000000000000000..810860271ff307ccac0c9ee0251183ad1ebb7bfa Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_17TMF_50006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_17TNJ_30008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_17TNJ_30008000.png new file mode 100644 index 0000000000000000000000000000000000000000..126ab0d50e371f1654e267061e4a236fdf268e29 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_17TNJ_30008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_17WPT_09000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_17WPT_09000.png new file mode 100644 index 0000000000000000000000000000000000000000..198b2d74c9a18dc6c90d46c587b307bb77a302e9 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_17WPT_09000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_18VXJ_10001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_18VXJ_10001000.png new file mode 100644 index 0000000000000000000000000000000000000000..c4974675139c0cf4408c8cd83459267bbb0922b2 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_18VXJ_10001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_19XEL_06000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_19XEL_06000.png new file mode 100644 index 0000000000000000000000000000000000000000..68c9b9e685754fe0df8777587ed652d515382a41 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_19XEL_06000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_20UQD_70005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_20UQD_70005000.png new file mode 100644 index 0000000000000000000000000000000000000000..39647f8bb5afd146700c95865623ebd401947320 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_20UQD_70005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_21MWS_20004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_21MWS_20004000.png new file mode 100644 index 0000000000000000000000000000000000000000..e33292a64bfcc788492f1e9ebb27bbf21ca23fef Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_21MWS_20004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_21MWS_60004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_21MWS_60004000.png new file mode 100644 index 0000000000000000000000000000000000000000..e2f0ec3d1f4ec958cbf8126d6406c034bacfc8ff Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_21MWS_60004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_21MXS_60008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_21MXS_60008000.png new file mode 100644 index 0000000000000000000000000000000000000000..d0b26258829d6c727193efb96333f7ce8eeded1c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_21MXS_60008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_21MXS_90003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_21MXS_90003000.png new file mode 100644 index 0000000000000000000000000000000000000000..7754be08258722a62de686ad534d21a535a53f24 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_21MXS_90003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_21UVT_60000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_21UVT_60000.png new file mode 100644 index 0000000000000000000000000000000000000000..5cf359ce418451cea00ea240718e79cb42b8a5b0 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_21UVT_60000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_21XVL_50003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_21XVL_50003000.png new file mode 100644 index 0000000000000000000000000000000000000000..550b5a9984b6c177460d1c2887f3fe22f50a1004 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_21XVL_50003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_21XVL_90003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_21XVL_90003000.png new file mode 100644 index 0000000000000000000000000000000000000000..5f86a14a9028d38949cd67a3ce205632c766ba05 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_21XVL_90003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_22NDF_10008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_22NDF_10008000.png new file mode 100644 index 0000000000000000000000000000000000000000..729f5b18c040c10177999231490c9240cae957c6 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_22NDF_10008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_22VFN_60000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_22VFN_60000.png new file mode 100644 index 0000000000000000000000000000000000000000..3fd9f9b71174f64f10d07fd1ec59887d2f660868 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_22VFN_60000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_23KQB_20007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_23KQB_20007000.png new file mode 100644 index 0000000000000000000000000000000000000000..76ac4a933422a63fc895e26c0653fcc3d7305207 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_23KQB_20007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_23VLH_40001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_23VLH_40001000.png new file mode 100644 index 0000000000000000000000000000000000000000..9ca81bdc2bbdf482f0e021c2db7bf1bba4081802 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_23VLH_40001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_24KTA_10005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_24KTA_10005000.png new file mode 100644 index 0000000000000000000000000000000000000000..23118fb43486bbb62bfde14ca3895b2005bd6e87 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_24KTA_10005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_24KTB_20009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_24KTB_20009000.png new file mode 100644 index 0000000000000000000000000000000000000000..e3c39dd150e44accd555c6cbfe44e1f39c757e10 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_24KTB_20009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_24WVS_30001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_24WVS_30001000.png new file mode 100644 index 0000000000000000000000000000000000000000..51a93406f663a1eecd00515c9f1193fda68db359 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_24WVS_30001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_26WNB_80002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_26WNB_80002000.png new file mode 100644 index 0000000000000000000000000000000000000000..5e8d49c9ab7c4a96f03af6e159d807573a3092a1 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_26WNB_80002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_26WNE_04000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_26WNE_04000.png new file mode 100644 index 0000000000000000000000000000000000000000..dfeb78fb30a51515200460cd67f65c02a05024dc Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_26WNE_04000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_26WPD_10005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_26WPD_10005000.png new file mode 100644 index 0000000000000000000000000000000000000000..3339daf45ccc915554dcd2ce1f2927937679e953 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_26WPD_10005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_26WPD_30006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_26WPD_30006000.png new file mode 100644 index 0000000000000000000000000000000000000000..0902c64de629469e38c5b32b1e7a3f91b6b9f5c7 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_26WPD_30006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_26WPD_40000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_26WPD_40000.png new file mode 100644 index 0000000000000000000000000000000000000000..80c7e1b99422868ed2e49a555776a65571d22219 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_26WPD_40000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_26XNF_80000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_26XNF_80000.png new file mode 100644 index 0000000000000000000000000000000000000000..c3422003b19f50f31d57da4828c012260a3a10b3 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_26XNF_80000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_27WVT_10006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_27WVT_10006000.png new file mode 100644 index 0000000000000000000000000000000000000000..ba8fbec4a9e0608dd63099fdc40685e8406334d7 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_27WVT_10006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_27WWN_10002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_27WWN_10002000.png new file mode 100644 index 0000000000000000000000000000000000000000..bbecd6c624ea49e68c5d1af4a64462e26dcdf7f9 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_27WWN_10002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_28PGC_04000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_28PGC_04000.png new file mode 100644 index 0000000000000000000000000000000000000000..7c4e435182f4b91eae33e1ba266bd9124dd3b7b3 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_28PGC_04000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_29PMN_90008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_29PMN_90008000.png new file mode 100644 index 0000000000000000000000000000000000000000..c4fe9c02b744cdf87164f7b0124bf331a253efec Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_29PMN_90008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_29TQJ_50008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_29TQJ_50008000.png new file mode 100644 index 0000000000000000000000000000000000000000..3eb706cd3b29934afb266b7262538bb86caab779 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_29TQJ_50008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_30SYE_10008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_30SYE_10008000.png new file mode 100644 index 0000000000000000000000000000000000000000..a27786801d13eacff90f90430b58a36135025f99 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_30SYE_10008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_30TYP_70005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_30TYP_70005000.png new file mode 100644 index 0000000000000000000000000000000000000000..50cbaca8ab7071b16a1ff9c30494441487ea4a9b Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_30TYP_70005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_30UUF_10009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_30UUF_10009000.png new file mode 100644 index 0000000000000000000000000000000000000000..7ca18afced9770f7a3533134144dd42fbb13b57c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_30UUF_10009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_30UVU_50002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_30UVU_50002000.png new file mode 100644 index 0000000000000000000000000000000000000000..25b47411d8ba09d7a39ac1439df3367401801b5e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_30UVU_50002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_30UYD_10007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_30UYD_10007000.png new file mode 100644 index 0000000000000000000000000000000000000000..44dcc2c50c5c85ec72d2791fa9b4881d0f4175bf Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_30UYD_10007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_31PGK_50008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_31PGK_50008000.png new file mode 100644 index 0000000000000000000000000000000000000000..3f8ca7c25d74af4718af73208a27c4692eed5427 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_31PGK_50008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_31SED_20004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_31SED_20004000.png new file mode 100644 index 0000000000000000000000000000000000000000..5164ce6af3a11b28c0c677d142e75e72f497e10f Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_31SED_20004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_31TCH_90007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_31TCH_90007000.png new file mode 100644 index 0000000000000000000000000000000000000000..72e9c39bd4b4ae0a5250e0a9de55f704ce844802 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_31TCH_90007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_31TEM_50006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_31TEM_50006000.png new file mode 100644 index 0000000000000000000000000000000000000000..f98685d769e360d6235f9b4181526c0474a0c570 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_31TEM_50006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_31TEN_10002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_31TEN_10002000.png new file mode 100644 index 0000000000000000000000000000000000000000..c8b91236d08dfae0ea0e9dc50490f94ee4f402cd Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_31TEN_10002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_31TEN_90000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_31TEN_90000.png new file mode 100644 index 0000000000000000000000000000000000000000..5c85bb2b5292f4f5bdc6847386b0b45ed5d378f6 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_31TEN_90000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_31TGL_50000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_31TGL_50000.png new file mode 100644 index 0000000000000000000000000000000000000000..8b512b0a7d6dd4a3079a35c4cdb9af56255b97e0 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_31TGL_50000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_31TGM_40003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_31TGM_40003000.png new file mode 100644 index 0000000000000000000000000000000000000000..f6ddeabc4c7c0c9f58946ac637c650d7200b363a Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_31TGM_40003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_31TGM_40009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_31TGM_40009000.png new file mode 100644 index 0000000000000000000000000000000000000000..3ffb0fe698c23c09e7bcb5ec2f1603b791853f4e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_31TGM_40009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_31TGM_50002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_31TGM_50002000.png new file mode 100644 index 0000000000000000000000000000000000000000..3131de22310eac207017f739d6cde5d89e2a7b60 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_31TGM_50002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_31TGN_07000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_31TGN_07000.png new file mode 100644 index 0000000000000000000000000000000000000000..c50685667702a4d6af61f6d6ede2d793ab06c729 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_31TGN_07000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_31UDQ_20009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_31UDQ_20009000.png new file mode 100644 index 0000000000000000000000000000000000000000..f00ba8ac7bd86c825dd22011b960d3410636c392 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_31UDQ_20009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_31UDR_10002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_31UDR_10002000.png new file mode 100644 index 0000000000000000000000000000000000000000..fa9f32ecc76f56ab770e7d03b344136d58b290e9 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_31UDR_10002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_31UDR_30000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_31UDR_30000.png new file mode 100644 index 0000000000000000000000000000000000000000..d8621dbf70e0278e66c2a49f4705b2ee58fafb5f Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_31UDR_30000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_31UFQ_50001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_31UFQ_50001000.png new file mode 100644 index 0000000000000000000000000000000000000000..bfad3920592978c4a8e46a86c574b02e194b2a82 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_31UFQ_50001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_31UFR_80001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_31UFR_80001000.png new file mode 100644 index 0000000000000000000000000000000000000000..3ae1961244adc0aa142fe26124df4f75191f55d7 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_31UFR_80001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_31UFS_30006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_31UFS_30006000.png new file mode 100644 index 0000000000000000000000000000000000000000..b64410dd514074e335cc0ac3aeddae568eebb188 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_31UFS_30006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_31UGS_10001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_31UGS_10001000.png new file mode 100644 index 0000000000000000000000000000000000000000..1c321baeb2bacf21c01c461788f431bcd81ee8c4 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_31UGS_10001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_32SNE_30008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_32SNE_30008000.png new file mode 100644 index 0000000000000000000000000000000000000000..0d4cc35cebfe09d999233a737a6b453adc87f53a Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_32SNE_30008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_32ULC_10005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_32ULC_10005000.png new file mode 100644 index 0000000000000000000000000000000000000000..e63fc05e35e339599fe5ab5d4118759384afd045 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_32ULC_10005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_32UNA_10001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_32UNA_10001000.png new file mode 100644 index 0000000000000000000000000000000000000000..4b724669342276ea18ae6c773eb6780ac6fcefcc Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_32UNA_10001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_32UND_08000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_32UND_08000.png new file mode 100644 index 0000000000000000000000000000000000000000..d2aa9755c48ef44879fe95f2d45b0e6ea57d4b93 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_32UND_08000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_32UND_20005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_32UND_20005000.png new file mode 100644 index 0000000000000000000000000000000000000000..4f9f72084f7e3f39941ded008552aa0a41e03b89 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_32UND_20005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_32VLL_10009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_32VLL_10009000.png new file mode 100644 index 0000000000000000000000000000000000000000..29311cd7289102d1188805af7d1d8fa1b79c9e93 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_32VLL_10009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_32VMQ_60003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_32VMQ_60003000.png new file mode 100644 index 0000000000000000000000000000000000000000..b8ae872a7b914c346e9399f67a361c0847cf1612 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_32VMQ_60003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_34UGD_90006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_34UGD_90006000.png new file mode 100644 index 0000000000000000000000000000000000000000..b274ea52708c61fdad2be81ae6143fcb1bcabad8 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_34UGD_90006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_34VCL_20000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_34VCL_20000.png new file mode 100644 index 0000000000000000000000000000000000000000..9502080687f4f71348d5b3b726f801f5aae14b42 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_34VCL_20000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_34VFL_30009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_34VFL_30009000.png new file mode 100644 index 0000000000000000000000000000000000000000..dc7f34601f585ef52ae02f6445f6950b7d58ace4 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_34VFL_30009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_34VFL_50005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_34VFL_50005000.png new file mode 100644 index 0000000000000000000000000000000000000000..dd18aee9416dfc11892bf55b1b8d349665194665 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_34VFL_50005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_34VFQ_20004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_34VFQ_20004000.png new file mode 100644 index 0000000000000000000000000000000000000000..b0371e2c963d688acc476c59c39a4195be3fda56 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_34VFQ_20004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_34VFQ_20006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_34VFQ_20006000.png new file mode 100644 index 0000000000000000000000000000000000000000..243e3407df4b8228fea41d2d9fea6924efe46e26 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_34VFQ_20006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_34VFQ_50005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_34VFQ_50005000.png new file mode 100644 index 0000000000000000000000000000000000000000..cc63bcc81bcb30c2e698552768e79ec6f1e21754 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_34VFQ_50005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_34WDB_60002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_34WDB_60002000.png new file mode 100644 index 0000000000000000000000000000000000000000..77de56bd2b6e9dedffd0b8479db4eb22cd394f30 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_34WDB_60002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_34WDB_60008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_34WDB_60008000.png new file mode 100644 index 0000000000000000000000000000000000000000..f64a28b98a8cbe00265fcfa7b20519443be4536a Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_34WDB_60008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_34WDB_70005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_34WDB_70005000.png new file mode 100644 index 0000000000000000000000000000000000000000..b81718ada83ea802924620623eb694ad29e56560 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_34WDB_70005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_34WDB_70008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_34WDB_70008000.png new file mode 100644 index 0000000000000000000000000000000000000000..4de932c9b24402b38b5c5cbdeb1c6595d75fae08 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_34WDB_70008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_34WFS_70008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_34WFS_70008000.png new file mode 100644 index 0000000000000000000000000000000000000000..8f658ef40d4afeac0bfaf07cd7df5770ef1cfc87 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_34WFS_70008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_35MNQ_90004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_35MNQ_90004000.png new file mode 100644 index 0000000000000000000000000000000000000000..38cfaf9cc03787b4e695dfc85ed8dde81304d6cd Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_35MNQ_90004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_35NQE_90000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_35NQE_90000.png new file mode 100644 index 0000000000000000000000000000000000000000..c28cdc0de90c14c5ee3f53784d369809bda209fa Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_35NQE_90000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_35TMH_70008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_35TMH_70008000.png new file mode 100644 index 0000000000000000000000000000000000000000..5686f5a633845bded99f685717c85d7c20d8257a Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_35TMH_70008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_35TPN_20004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_35TPN_20004000.png new file mode 100644 index 0000000000000000000000000000000000000000..4c09a2ff2ed94ac42cc508a0b95910662ab35645 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_35TPN_20004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_35ULU_90007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_35ULU_90007000.png new file mode 100644 index 0000000000000000000000000000000000000000..c4e7e314826319db4e7382d10f4a70a2cd77e482 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_35ULU_90007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_35UNA_90000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_35UNA_90000.png new file mode 100644 index 0000000000000000000000000000000000000000..94e73d965c2d6980faa35c1aac0385764e4117f6 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_35UNA_90000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_35UPV_00.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_35UPV_00.png new file mode 100644 index 0000000000000000000000000000000000000000..90b92234435bf94d841f5fae4bc4b6bdcd692576 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_35UPV_00.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_35UPV_50004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_35UPV_50004000.png new file mode 100644 index 0000000000000000000000000000000000000000..e93551f006b81b6f835e0df7a5f5197a4ba8255d Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_35UPV_50004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_35UPV_50007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_35UPV_50007000.png new file mode 100644 index 0000000000000000000000000000000000000000..0bf4ba7d8ac5c989f382125345fe4304a6bc6920 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_35UPV_50007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_35UPV_80003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_35UPV_80003000.png new file mode 100644 index 0000000000000000000000000000000000000000..1b62aecd73b17fab64330e98296ded54a8e894e5 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_35UPV_80003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_35UPV_80005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_35UPV_80005000.png new file mode 100644 index 0000000000000000000000000000000000000000..4cc3dbc6f332e6b961e847a6aa7e57fb88672f05 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_35UPV_80005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_35UQV_05000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_35UQV_05000.png new file mode 100644 index 0000000000000000000000000000000000000000..49b5a3fdb5df4514e22c8de0a55d1a0dc979ec50 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_35UQV_05000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_35VMC_20009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_35VMC_20009000.png new file mode 100644 index 0000000000000000000000000000000000000000..0d312f7d92808342019b2da69edea9a2f5bcdcd8 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_35VMC_20009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_35VME_05000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_35VME_05000.png new file mode 100644 index 0000000000000000000000000000000000000000..c5dfa96c81e42cc97b7f77e12c3d303a199ab03a Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_35VME_05000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_35VME_06000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_35VME_06000.png new file mode 100644 index 0000000000000000000000000000000000000000..d7e71431ef981b180e5526809238fd5d38620056 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_35VME_06000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_35WNP_30006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_35WNP_30006000.png new file mode 100644 index 0000000000000000000000000000000000000000..9244fb3415a2aa0e9a755eeefcbd3a21174b8893 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_35WNP_30006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_35WPM_50009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_35WPM_50009000.png new file mode 100644 index 0000000000000000000000000000000000000000..08b07af5dd3f90b22f1af1691bdff32f8ceed986 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_35WPM_50009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_35WPR_60002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_35WPR_60002000.png new file mode 100644 index 0000000000000000000000000000000000000000..d33db1bf911166fd13cd338ad52a3f34b9ec523b Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_35WPR_60002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_36KUA_30005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_36KUA_30005000.png new file mode 100644 index 0000000000000000000000000000000000000000..8f1b3895e0f7801a374061029ea7e0b5c67de6c1 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_36KUA_30005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_36KXE_50007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_36KXE_50007000.png new file mode 100644 index 0000000000000000000000000000000000000000..7becd386938981935f171f6f33b37b953c16a87d Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_36KXE_50007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_36KXE_70005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_36KXE_70005000.png new file mode 100644 index 0000000000000000000000000000000000000000..22cfaeb2f6d396cd58c49f0179371a162448601d Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_36KXE_70005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_36NUJ_70008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_36NUJ_70008000.png new file mode 100644 index 0000000000000000000000000000000000000000..f5d24de9afeae0577b8b968001750ca72c30d74b Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_36NUJ_70008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_36NYP_80003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_36NYP_80003000.png new file mode 100644 index 0000000000000000000000000000000000000000..0c718e48385cd9f684d09146801a3c9646808782 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_36NYP_80003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_36TWS_30005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_36TWS_30005000.png new file mode 100644 index 0000000000000000000000000000000000000000..02655c542bf9ea695ccd553ed17584b9f16bf462 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_36TWS_30005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_36UVE_03000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_36UVE_03000.png new file mode 100644 index 0000000000000000000000000000000000000000..7eeb22f9cdf06ce7ae040760e6a0f3284e731e59 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_36UVE_03000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_36VUH_10006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_36VUH_10006000.png new file mode 100644 index 0000000000000000000000000000000000000000..c3b07a9c41b22f70ece11075b16ea471f67ea0ca Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_36VUH_10006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_36VUN_10007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_36VUN_10007000.png new file mode 100644 index 0000000000000000000000000000000000000000..916a7704b78752bad2466747584a08d3d17788cf Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_36VUN_10007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_36VVM_20006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_36VVM_20006000.png new file mode 100644 index 0000000000000000000000000000000000000000..2e9ef318a805ec801e136baab8b257c7ac060f69 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_36VVM_20006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_36VXQ_30001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_36VXQ_30001000.png new file mode 100644 index 0000000000000000000000000000000000000000..3cabe508218135202cfe4ebbb4a4165e9897d413 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_36VXQ_30001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_36VXQ_50007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_36VXQ_50007000.png new file mode 100644 index 0000000000000000000000000000000000000000..9249598bc44784c38d3d67affd06314c31ba3f66 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_36VXQ_50007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_36VXQ_90003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_36VXQ_90003000.png new file mode 100644 index 0000000000000000000000000000000000000000..3c0757a943155ac8c374ba13547f41df77bd354f Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_36VXQ_90003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_37KCA_30007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_37KCA_30007000.png new file mode 100644 index 0000000000000000000000000000000000000000..10a08fe51ca1dfd9488bc5603cfcc865ee2b2e14 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_37KCA_30007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_37KCB_40007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_37KCB_40007000.png new file mode 100644 index 0000000000000000000000000000000000000000..59eb347a549add235d67646523bbb69fb29e42b2 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_37KCB_40007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_37LDG_60003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_37LDG_60003000.png new file mode 100644 index 0000000000000000000000000000000000000000..a520dfcbc52c8d7569c505e5b8962f0af201d0ae Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_37LDG_60003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_37LDH_20004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_37LDH_20004000.png new file mode 100644 index 0000000000000000000000000000000000000000..ad2565572db70636d172c7241063162f7e2a8799 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_37LDH_20004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_37LDH_70004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_37LDH_70004000.png new file mode 100644 index 0000000000000000000000000000000000000000..744bfb812e9c0d370884510033238ba4c3575590 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_37LDH_70004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_37LDJ_90009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_37LDJ_90009000.png new file mode 100644 index 0000000000000000000000000000000000000000..12e23140287ddf3f8fcd1d40e250e3075858820e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_37LDJ_90009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_37LDL_90001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_37LDL_90001000.png new file mode 100644 index 0000000000000000000000000000000000000000..865bbc6d78bf04dc9c581ea92662daf24a1f6165 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_37LDL_90001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_37LEJ_70009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_37LEJ_70009000.png new file mode 100644 index 0000000000000000000000000000000000000000..799714cecc120b2e23046a2eb3f7ef6d7153dcae Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_37LEJ_70009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_37LEK_30004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_37LEK_30004000.png new file mode 100644 index 0000000000000000000000000000000000000000..a4e5a37a3051504773094291982ce55ffe8908c2 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_37LEK_30004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_37LFD_60006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_37LFD_60006000.png new file mode 100644 index 0000000000000000000000000000000000000000..4148a9c749730d96cb8e91e7206d3007aa21bf60 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_37LFD_60006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_37LFD_60007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_37LFD_60007000.png new file mode 100644 index 0000000000000000000000000000000000000000..e6ed23d0609060a4cbde86e2488d7f27dcb426d1 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_37LFD_60007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_37VCC_80005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_37VCC_80005000.png new file mode 100644 index 0000000000000000000000000000000000000000..c758ca142c3b384c7df59cc429afe0c1ca8cb095 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_37VCC_80005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_37VCG_10003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_37VCG_10003000.png new file mode 100644 index 0000000000000000000000000000000000000000..545f0107a45a95358d8343b29c75e1e430aaed12 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_37VCG_10003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_37VCG_10009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_37VCG_10009000.png new file mode 100644 index 0000000000000000000000000000000000000000..bebb4caf853906fc4c2740c215977a3ba21ebf42 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_37VCG_10009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_37VCG_80001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_37VCG_80001000.png new file mode 100644 index 0000000000000000000000000000000000000000..93ecd78dbf66cec27b03f96c247bffb0bbec63c9 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_37VCG_80001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_37VCK_60000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_37VCK_60000.png new file mode 100644 index 0000000000000000000000000000000000000000..e1082963706aa961ca4ee557d37cda4a10bb6380 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_37VCK_60000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_37VCK_80005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_37VCK_80005000.png new file mode 100644 index 0000000000000000000000000000000000000000..e61bc150303c65dee95ffe06e2de82aeed6eed9c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_37VCK_80005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_37VEC_80001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_37VEC_80001000.png new file mode 100644 index 0000000000000000000000000000000000000000..3f3f147a0d53c56a89c07fd4823b322a41cdd361 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_37VEC_80001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_37VEE_90005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_37VEE_90005000.png new file mode 100644 index 0000000000000000000000000000000000000000..2d9686ab76ee82032e972877730fe9aa2283bbab Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_37VEE_90005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_37VFF_10007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_37VFF_10007000.png new file mode 100644 index 0000000000000000000000000000000000000000..b0418340a51afbfaae71aa93315de95ed7acf2f7 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_37VFF_10007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_37VFL_10008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_37VFL_10008000.png new file mode 100644 index 0000000000000000000000000000000000000000..86ed05f51354f1d14e5f63089d901ccdc7ffc066 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_37VFL_10008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_37WDP_80006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_37WDP_80006000.png new file mode 100644 index 0000000000000000000000000000000000000000..697973918f48ea8751069fbb9080b95e935c21d5 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_37WDP_80006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_37WEN_70003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_37WEN_70003000.png new file mode 100644 index 0000000000000000000000000000000000000000..5c0ff63c70fcaa0c11d7e58bcb1d4536fd51a266 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_37WEN_70003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_37WEN_90003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_37WEN_90003000.png new file mode 100644 index 0000000000000000000000000000000000000000..f7b01b55b954b2ec27f71169e0b3859a5f73b27a Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_37WEN_90003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_37WEQ_30006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_37WEQ_30006000.png new file mode 100644 index 0000000000000000000000000000000000000000..0107aa2914e27007b790ffc0af028dde61898ba0 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_37WEQ_30006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_37WEQ_30007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_37WEQ_30007000.png new file mode 100644 index 0000000000000000000000000000000000000000..874769802d83c2f8d23015138a2b24a4afd852cf Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_37WEQ_30007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_37WEQ_40002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_37WEQ_40002000.png new file mode 100644 index 0000000000000000000000000000000000000000..411bba964d25f6d5956553d17851b8066ea09ef3 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_37WEQ_40002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_37WEQ_80005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_37WEQ_80005000.png new file mode 100644 index 0000000000000000000000000000000000000000..c90e392ae50bf914eac64c5e6901a5a25a367555 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_37WEQ_80005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_38JNT_50009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_38JNT_50009000.png new file mode 100644 index 0000000000000000000000000000000000000000..48e87403079be704f96ffd69fa16bca7eba2edd5 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_38JNT_50009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_38KQE_30009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_38KQE_30009000.png new file mode 100644 index 0000000000000000000000000000000000000000..cd1daa42d13a1db8797e0972fd6bfedf5e9faf53 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_38KQE_30009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_38NMJ_40004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_38NMJ_40004000.png new file mode 100644 index 0000000000000000000000000000000000000000..ac60656b056ef88be6703f1b855f1923c94664d0 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_38NMJ_40004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_38NMJ_50009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_38NMJ_50009000.png new file mode 100644 index 0000000000000000000000000000000000000000..ead85bf65bd6baec56ec8f097c4c30947398ba4d Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_38NMJ_50009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_38NNJ_20003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_38NNJ_20003000.png new file mode 100644 index 0000000000000000000000000000000000000000..f82e6375254aaedfdc95820722bdc7a8679b58ad Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_38NNJ_20003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_38PKQ_10002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_38PKQ_10002000.png new file mode 100644 index 0000000000000000000000000000000000000000..e8fd04d3b649cda0d8a3548368db2d31b2198ec8 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_38PKQ_10002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_38PLQ_10003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_38PLQ_10003000.png new file mode 100644 index 0000000000000000000000000000000000000000..0926f71ecbac7cc8292b32bbf3c514e5e7ba32fc Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_38PLQ_10003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_38PNQ_90002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_38PNQ_90002000.png new file mode 100644 index 0000000000000000000000000000000000000000..93ebc44e6b7168a929760ff47a85f1b002018949 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_38PNQ_90002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_38PRQ_50005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_38PRQ_50005000.png new file mode 100644 index 0000000000000000000000000000000000000000..bc57bd0431a524477824640de33504e822d1dc98 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_38PRQ_50005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_38PRR_90000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_38PRR_90000.png new file mode 100644 index 0000000000000000000000000000000000000000..9b3d4c60d1b25ac99a43445ca07ab7e03c678498 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_38PRR_90000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_38UNG_50007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_38UNG_50007000.png new file mode 100644 index 0000000000000000000000000000000000000000..5ddbf3fcc01545630c8114cba0f477e3eb78b6e2 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_38UNG_50007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_38UPE_60000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_38UPE_60000.png new file mode 100644 index 0000000000000000000000000000000000000000..c14152f1fb28c6e2efae320faf9927e9429a8553 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_38UPE_60000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_38UQD_40000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_38UQD_40000.png new file mode 100644 index 0000000000000000000000000000000000000000..268907dba4ee0f09410ec7cb7b47003d31a65d8a Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_38UQD_40000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_38UQD_60005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_38UQD_60005000.png new file mode 100644 index 0000000000000000000000000000000000000000..fc7b23880c540d4a71021aaa485707f0e53291b2 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_38UQD_60005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_38VLM_10006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_38VLM_10006000.png new file mode 100644 index 0000000000000000000000000000000000000000..02cedeb65464e0b31a03594b0f8f4a64e090b185 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_38VLM_10006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_38VLM_10008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_38VLM_10008000.png new file mode 100644 index 0000000000000000000000000000000000000000..50d39701729c725cae96d6565876defa2df5e2ee Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_38VLM_10008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_38VLM_20001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_38VLM_20001000.png new file mode 100644 index 0000000000000000000000000000000000000000..9769ddb817643927153160d6ee39c7591ef48d02 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_38VLM_20001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_38VLM_20005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_38VLM_20005000.png new file mode 100644 index 0000000000000000000000000000000000000000..791ecf26296e2c872696d3aa61729b4af5471aa2 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_38VLM_20005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_38VLM_30003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_38VLM_30003000.png new file mode 100644 index 0000000000000000000000000000000000000000..63a6f7eb9fa0e854735d31a35e938a7e06a15200 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_38VLM_30003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_38VLR_40008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_38VLR_40008000.png new file mode 100644 index 0000000000000000000000000000000000000000..28e3c55f7243250d83fc31022678f4c341f6ee6a Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_38VLR_40008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_38VNJ_02000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_38VNJ_02000.png new file mode 100644 index 0000000000000000000000000000000000000000..a6182be50ebcc141f6fbca32e10d5cfacc0c9fe7 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_38VNJ_02000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_38VPH_40001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_38VPH_40001000.png new file mode 100644 index 0000000000000000000000000000000000000000..7d71d7dc8dc2d41f02808f7c02f149455417ee44 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_38VPH_40001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_38VPH_70005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_38VPH_70005000.png new file mode 100644 index 0000000000000000000000000000000000000000..e12460c17a11b0f104abb4c4599a1e4e960cf333 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_38VPH_70005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_38VPJ_90002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_38VPJ_90002000.png new file mode 100644 index 0000000000000000000000000000000000000000..e82285562a1af8e063616b4080691b4d2b300081 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_38VPJ_90002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_38VPM_20008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_38VPM_20008000.png new file mode 100644 index 0000000000000000000000000000000000000000..842e1194d8ed0c8bead9aded604406898897c1ab Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_38VPM_20008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_38WMV_70001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_38WMV_70001000.png new file mode 100644 index 0000000000000000000000000000000000000000..d554c06397d22680a5969551d56d5d5395eacdad Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_38WMV_70001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39TYG_50009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39TYG_50009000.png new file mode 100644 index 0000000000000000000000000000000000000000..a7cb4d1b62b9a27fc4ae91a3da94886f5c9463da Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39TYG_50009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39UUT_60001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39UUT_60001000.png new file mode 100644 index 0000000000000000000000000000000000000000..b9ab86f8b9b6862b15bd58f0a3ad27f0640b0f9a Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39UUT_60001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39UUT_80002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39UUT_80002000.png new file mode 100644 index 0000000000000000000000000000000000000000..6f8350be726a69dc6b3cf672d07044d52c669567 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39UUT_80002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39UVB_20002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39UVB_20002000.png new file mode 100644 index 0000000000000000000000000000000000000000..d3606d621ebb6272a109122e8e005e3af3f7dbf7 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39UVB_20002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39UWB_02000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39UWB_02000.png new file mode 100644 index 0000000000000000000000000000000000000000..61332bb978882b471719722da9cfb92a052e5c2d Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39UWB_02000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39UWB_40000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39UWB_40000.png new file mode 100644 index 0000000000000000000000000000000000000000..6f1d55ca7a530a0386c1242e7e58d341fb9033b0 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39UWB_40000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39UWU_40005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39UWU_40005000.png new file mode 100644 index 0000000000000000000000000000000000000000..383d7ef74fd031cc97726887368d4aeaac7d13c9 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39UWU_40005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39UWV_01000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39UWV_01000.png new file mode 100644 index 0000000000000000000000000000000000000000..503993a25d4ff910090fc4f7033cc846a9866a08 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39UWV_01000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39VUF_80000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39VUF_80000.png new file mode 100644 index 0000000000000000000000000000000000000000..e3fb9a7f62567915c32a370bb4a1b06efc490317 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39VUF_80000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39VVC_02000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39VVC_02000.png new file mode 100644 index 0000000000000000000000000000000000000000..30093e4cc4936189b3608c78b50e43d534090797 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39VVC_02000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39VVC_30004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39VVC_30004000.png new file mode 100644 index 0000000000000000000000000000000000000000..ea7ed8242600ce1bf2b52a6c7457ad78d8a8f5b2 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39VVC_30004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39VVC_70005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39VVC_70005000.png new file mode 100644 index 0000000000000000000000000000000000000000..8e35fb00ac54729ef7d9e8b0704c0910ab4b4201 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39VVC_70005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39VVC_90007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39VVC_90007000.png new file mode 100644 index 0000000000000000000000000000000000000000..523e11125e848388b8aeb82576c253290f3675f9 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39VVC_90007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39VVD_10007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39VVD_10007000.png new file mode 100644 index 0000000000000000000000000000000000000000..4ba3edb1d4d83db48a019ec905d5635b6876a4de Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39VVD_10007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39VVD_20005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39VVD_20005000.png new file mode 100644 index 0000000000000000000000000000000000000000..d0a22fbef5ace6284172913698a6a8a62a9ac1d3 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39VVD_20005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39VVE_50002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39VVE_50002000.png new file mode 100644 index 0000000000000000000000000000000000000000..e9c16b70e06e3a7139fc9acd7009846f22026ed2 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39VVE_50002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39VVE_70002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39VVE_70002000.png new file mode 100644 index 0000000000000000000000000000000000000000..5b02d858c0de136525260148710fdb6f1e8a47db Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39VVE_70002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39VVE_90000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39VVE_90000.png new file mode 100644 index 0000000000000000000000000000000000000000..122eaec5cdfa832fa1b40fc5bcedd8a0c9e67627 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39VVE_90000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39VVL_30006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39VVL_30006000.png new file mode 100644 index 0000000000000000000000000000000000000000..6fe2d4c1f58ed8888cc087f251cc3343f83784a1 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39VVL_30006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39VWD_80001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39VWD_80001000.png new file mode 100644 index 0000000000000000000000000000000000000000..6b8e3c3f9deb9d43b8b829070730c66d41a4ac66 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39VWD_80001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39VWF_05000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39VWF_05000.png new file mode 100644 index 0000000000000000000000000000000000000000..3f59d513f95b8a0a995a00bc51366d5e393c17b4 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39VWF_05000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39VWF_30008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39VWF_30008000.png new file mode 100644 index 0000000000000000000000000000000000000000..082c3349fea1bae4a1aececb08dfeca5b5ec4848 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39VWF_30008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39VWF_40008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39VWF_40008000.png new file mode 100644 index 0000000000000000000000000000000000000000..34ea8d46d66b60d72000b826d8ff8c92cfbdf36f Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39VWF_40008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39VWF_90009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39VWF_90009000.png new file mode 100644 index 0000000000000000000000000000000000000000..96b52e9e1e74c8218a81b3bcbb69575980b5fdd7 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39VWF_90009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39VWL_10000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39VWL_10000.png new file mode 100644 index 0000000000000000000000000000000000000000..dc573d59c245315eee7dc882cf4d02bae724f61f Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39VWL_10000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39VWL_40008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39VWL_40008000.png new file mode 100644 index 0000000000000000000000000000000000000000..11683463c7e4b3c7f08ec3df540d85296d6a8a21 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39VWL_40008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39VXE_10001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39VXE_10001000.png new file mode 100644 index 0000000000000000000000000000000000000000..df7986b39be2e9a4b8f50ace598f185c2e7a090f Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39VXE_10001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39VXE_30000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39VXE_30000.png new file mode 100644 index 0000000000000000000000000000000000000000..657414b39a0f7158e9b15e212e8157afd814510e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39VXE_30000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39VXF_40008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39VXF_40008000.png new file mode 100644 index 0000000000000000000000000000000000000000..78170341937a679b87ac2c84b5287386a4c805a8 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39VXF_40008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39VXG_50001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39VXG_50001000.png new file mode 100644 index 0000000000000000000000000000000000000000..3aa1cb67120bcb1a30bd5155ab174fa41ec22458 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39VXG_50001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39VXG_70004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39VXG_70004000.png new file mode 100644 index 0000000000000000000000000000000000000000..5693bf6a75f0555a882a87f9d1da0a0dd7ea7514 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39VXG_70004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39VXG_80005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39VXG_80005000.png new file mode 100644 index 0000000000000000000000000000000000000000..448efbec98543e70b24929a5fae8865cbc604f23 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39VXG_80005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39WVN_10005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39WVN_10005000.png new file mode 100644 index 0000000000000000000000000000000000000000..5773c0797c4eefd53534c196cf64d58b43958ed5 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39WVN_10005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39WVN_20006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39WVN_20006000.png new file mode 100644 index 0000000000000000000000000000000000000000..ed2d79b8f32feb12eff1eb017a18d67e6d9360a4 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39WVN_20006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39WVQ_07000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39WVQ_07000.png new file mode 100644 index 0000000000000000000000000000000000000000..38c605df94ec145b33391ec5285a818e37ceb404 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39WVQ_07000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39WXS_09000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39WXS_09000.png new file mode 100644 index 0000000000000000000000000000000000000000..eb49740e0a816952efb7ca4ca6334af34e5bc712 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_39WXS_09000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_40UCG_60008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_40UCG_60008000.png new file mode 100644 index 0000000000000000000000000000000000000000..47183d5ff34fea168ecd879e54b1d94f50cf674a Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_40UCG_60008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_40UCG_70001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_40UCG_70001000.png new file mode 100644 index 0000000000000000000000000000000000000000..ce2ec9e7d1774d4955f9a5f89653bdfedfba60ed Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_40UCG_70001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_40UCG_70008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_40UCG_70008000.png new file mode 100644 index 0000000000000000000000000000000000000000..1e83a9ead1f69aa51c96e60ed33f3e65082ff6bb Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_40UCG_70008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_40UEV_10005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_40UEV_10005000.png new file mode 100644 index 0000000000000000000000000000000000000000..c6639d5b0a31db72003cbfeb614133c761a06e1f Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_40UEV_10005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_40UFG_50000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_40UFG_50000.png new file mode 100644 index 0000000000000000000000000000000000000000..fa202c1a60382374efed2898b38b04d33e844c74 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_40UFG_50000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_40UFG_90000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_40UFG_90000.png new file mode 100644 index 0000000000000000000000000000000000000000..49f1a5a4e7de5c491f6f6b2189e1d3dbaaa9ffc8 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_40UFG_90000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_40VCH_70005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_40VCH_70005000.png new file mode 100644 index 0000000000000000000000000000000000000000..d794a1bd69f94a789d3cd5d571ea24910f9b3173 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_40VCH_70005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_40VCH_80002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_40VCH_80002000.png new file mode 100644 index 0000000000000000000000000000000000000000..e595ee200d014c507f65339ea9fb40a34d027f83 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_40VCH_80002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_40VCM_40005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_40VCM_40005000.png new file mode 100644 index 0000000000000000000000000000000000000000..181b5326a492fb2baefee8df431be245d36be436 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_40VCM_40005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_40VCN_80004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_40VCN_80004000.png new file mode 100644 index 0000000000000000000000000000000000000000..efb8140bf4e954999ae941ccc2a733e3de7137a5 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_40VCN_80004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_40VCN_80008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_40VCN_80008000.png new file mode 100644 index 0000000000000000000000000000000000000000..f55d65173931f1cc8e60b25f2be9ed5ed441791b Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_40VCN_80008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_40VCQ_40003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_40VCQ_40003000.png new file mode 100644 index 0000000000000000000000000000000000000000..8fed26ff6bac843664afa0424d846676a1127978 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_40VCQ_40003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_40VDN_04000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_40VDN_04000.png new file mode 100644 index 0000000000000000000000000000000000000000..76f50d040acbb978a388b1b40f6aa9d127b8858c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_40VDN_04000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_40VEK_60000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_40VEK_60000.png new file mode 100644 index 0000000000000000000000000000000000000000..9085eb3248f90985a413ab0def1687b7251c8238 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_40VEK_60000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_40VEQ_80006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_40VEQ_80006000.png new file mode 100644 index 0000000000000000000000000000000000000000..d30120b94299eab4ac9c6561779c5619469fad6b Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_40VEQ_80006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_40VFQ_50006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_40VFQ_50006000.png new file mode 100644 index 0000000000000000000000000000000000000000..ca3ebf61b4be25fde25c793335a51b723ca926e6 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_40VFQ_50006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_41UPU_70004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_41UPU_70004000.png new file mode 100644 index 0000000000000000000000000000000000000000..2b9acd9a7b7641637df1ffc2e97f2115b0f83e57 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_41UPU_70004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_41UQT_10004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_41UQT_10004000.png new file mode 100644 index 0000000000000000000000000000000000000000..29bb33bf023e8e6d467bdc993227abc3ffe510c9 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_41UQT_10004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_41UQU_50004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_41UQU_50004000.png new file mode 100644 index 0000000000000000000000000000000000000000..41688b4eda5326f8a487c61f4ab7b306078da3b9 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_41UQU_50004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_41UQU_50009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_41UQU_50009000.png new file mode 100644 index 0000000000000000000000000000000000000000..36899e4361990d831072d227c711a2702e7c32b7 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_41UQU_50009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_41UQU_80008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_41UQU_80008000.png new file mode 100644 index 0000000000000000000000000000000000000000..34a20fe03bb06bf075662d9665de5a8c80590efb Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_41UQU_80008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_41VMC_03000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_41VMC_03000.png new file mode 100644 index 0000000000000000000000000000000000000000..3d47c97d29bf352498deee296ce3fa8e44139673 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_41VMC_03000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_41VME_40003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_41VME_40003000.png new file mode 100644 index 0000000000000000000000000000000000000000..a57d9bd317fa8fe6644914b0f0c5460e1518f555 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_41VME_40003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_41VPH_10002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_41VPH_10002000.png new file mode 100644 index 0000000000000000000000000000000000000000..5bc4654ed49ecede104ab0b026eb1f4b4ed8b819 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_41VPH_10002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_41WNS_90007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_41WNS_90007000.png new file mode 100644 index 0000000000000000000000000000000000000000..e3c6e1c05479212852942d175c8900c0974629da Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_41WNS_90007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_41WPQ_10002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_41WPQ_10002000.png new file mode 100644 index 0000000000000000000000000000000000000000..90faa2e253e8e017ad1f45068a75c9f891510cff Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_41WPQ_10002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_42UVC_50000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_42UVC_50000.png new file mode 100644 index 0000000000000000000000000000000000000000..00724219c67b5ca611a5036ec0d1050f93c5102a Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_42UVC_50000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_42UVE_10001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_42UVE_10001000.png new file mode 100644 index 0000000000000000000000000000000000000000..5adb05ad992ac6e2ce95de6a7926a4ee1725e7db Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_42UVE_10001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_42UWG_50006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_42UWG_50006000.png new file mode 100644 index 0000000000000000000000000000000000000000..3e62ebf2aa3a60e13fd9661022f1cd36ce616c31 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_42UWG_50006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_42UXE_60009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_42UXE_60009000.png new file mode 100644 index 0000000000000000000000000000000000000000..9809c364f5ab7ffc144bd0ae6c2fe9f461cf0f98 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_42UXE_60009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_42UYE_10009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_42UYE_10009000.png new file mode 100644 index 0000000000000000000000000000000000000000..4573687d9d979651e0b4f3d4db553aa10a1fd614 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_42UYE_10009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_42VWL_01000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_42VWL_01000.png new file mode 100644 index 0000000000000000000000000000000000000000..9151e59084104842c70c78e16c32fb29c7eadcd6 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_42VWL_01000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_42VWR_08000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_42VWR_08000.png new file mode 100644 index 0000000000000000000000000000000000000000..bd7c294e0c47e504a65976554926852c8833b27d Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_42VWR_08000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_42VWR_10009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_42VWR_10009000.png new file mode 100644 index 0000000000000000000000000000000000000000..71029f540066542b79cb0140dd89c116f68e1307 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_42VWR_10009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_42VXJ_20006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_42VXJ_20006000.png new file mode 100644 index 0000000000000000000000000000000000000000..8b63304c995f656d70de95627f3cd04185f8314e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_42VXJ_20006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_42VXK_06000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_42VXK_06000.png new file mode 100644 index 0000000000000000000000000000000000000000..1c7f99a5a68a9a38555ffbc4a8584fdc53f5fdd1 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_42VXK_06000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_43UCV_70002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_43UCV_70002000.png new file mode 100644 index 0000000000000000000000000000000000000000..6c5b54f24f2b896423699dd989b64927ca282ead Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_43UCV_70002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_43VFJ_80003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_43VFJ_80003000.png new file mode 100644 index 0000000000000000000000000000000000000000..cbab0a172b88b65bb68a42fa100c51f7d2a4b801 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_43VFJ_80003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_43WFN_70001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_43WFN_70001000.png new file mode 100644 index 0000000000000000000000000000000000000000..e695016ebef8107385c0b50d2d27fc7ec1720cb9 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_43WFN_70001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_43WFN_70003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_43WFN_70003000.png new file mode 100644 index 0000000000000000000000000000000000000000..b35e36f8ebb5ceb564a50abbcd77fe7c633c7536 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_43WFN_70003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_44RMS_70003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_44RMS_70003000.png new file mode 100644 index 0000000000000000000000000000000000000000..5f41d3e5952df1f2dbd3301e4e8f62c885db02c8 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_44RMS_70003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_44RMS_70006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_44RMS_70006000.png new file mode 100644 index 0000000000000000000000000000000000000000..0eda0155f1d9dc35726f6011fa5df2ed8b38098c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_44RMS_70006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_44UNV_70006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_44UNV_70006000.png new file mode 100644 index 0000000000000000000000000000000000000000..e9d5f7cde455656df2155d3b2050b13d936e9a64 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_44UNV_70006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_44VNH_70003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_44VNH_70003000.png new file mode 100644 index 0000000000000000000000000000000000000000..ccaeef65b93c8926ea85f18f6010203841c5ef9e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_44VNH_70003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_44WNT_20009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_44WNT_20009000.png new file mode 100644 index 0000000000000000000000000000000000000000..a0e82d3d5b1d67b095baff3dec0dfa7687069fb5 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_44WNT_20009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_44XNF_90000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_44XNF_90000.png new file mode 100644 index 0000000000000000000000000000000000000000..284648a391a8bf951460f4a719df9a359fa73848 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_44XNF_90000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_44XPF_70006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_44XPF_70006000.png new file mode 100644 index 0000000000000000000000000000000000000000..f36dd9d9dcfc96cf3d03e95062abec0925482403 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_44XPF_70006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_45VVC_50006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_45VVC_50006000.png new file mode 100644 index 0000000000000000000000000000000000000000..96a9cdbf7d14660f4867bb49758d1fd11b4e3c86 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_45VVC_50006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_45WWQ_50007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_45WWQ_50007000.png new file mode 100644 index 0000000000000000000000000000000000000000..2d5d9640822a1652d7f782cba5e102ad4d527251 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_45WWQ_50007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_45WXQ_40008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_45WXQ_40008000.png new file mode 100644 index 0000000000000000000000000000000000000000..9ca95820b9265e6ee8a2a785f3c88a9c3059d20d Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_45WXQ_40008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_45XWA_40001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_45XWA_40001000.png new file mode 100644 index 0000000000000000000000000000000000000000..48134b962c1af31efb850b887f9e2ccf3dcc3a21 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_45XWA_40001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_45XWA_70003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_45XWA_70003000.png new file mode 100644 index 0000000000000000000000000000000000000000..c8c7f4175b4095c80090be4e4a844e7f5ee64bae Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_45XWA_70003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_46UDA_50007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_46UDA_50007000.png new file mode 100644 index 0000000000000000000000000000000000000000..b75d2eec62c271f5204f26472d7d55d2288edd38 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_46UDA_50007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_46WEV_01000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_46WEV_01000.png new file mode 100644 index 0000000000000000000000000000000000000000..a5a009db99a36ec56beab5c08952d2971435944e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_46WEV_01000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_47TPJ_40009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_47TPJ_40009000.png new file mode 100644 index 0000000000000000000000000000000000000000..1db48ffa580749c55bd40d15ecfb183061ab2436 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_47TPJ_40009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_47UPU_50009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_47UPU_50009000.png new file mode 100644 index 0000000000000000000000000000000000000000..d89bd8cbd88b05fbc3f2eebfd53cb66fa44c81fc Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_47UPU_50009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_47VPC_10002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_47VPC_10002000.png new file mode 100644 index 0000000000000000000000000000000000000000..cafd1716fcdb33a0b60a26a4b8e420bda8acd156 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_47VPC_10002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_47WMV_70006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_47WMV_70006000.png new file mode 100644 index 0000000000000000000000000000000000000000..4ba1cd369115902c695f34b8fa37e6975fd04443 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_47WMV_70006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_47WNU_02000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_47WNU_02000.png new file mode 100644 index 0000000000000000000000000000000000000000..14bf539ac7de2c8317f74c64d12f2477e5c6c102 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_47WNU_02000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_48PYT_00.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_48PYT_00.png new file mode 100644 index 0000000000000000000000000000000000000000..3ff76c5c435b825ff513aee24eec6328c6211714 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_48PYT_00.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_48VUJ_20001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_48VUJ_20001000.png new file mode 100644 index 0000000000000000000000000000000000000000..f37ecac0e7b065034c85fbe249b4ffd501013bdc Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_48VUJ_20001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_49UCS_10004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_49UCS_10004000.png new file mode 100644 index 0000000000000000000000000000000000000000..6fa47df3e513b6d3977c8a4b5d2bec841d486ad9 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_49UCS_10004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_49WDS_80004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_49WDS_80004000.png new file mode 100644 index 0000000000000000000000000000000000000000..f895ec87b4eab1f5a62b64e0b3e4dea1ea42c47c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_49WDS_80004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_49WES_10005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_49WES_10005000.png new file mode 100644 index 0000000000000000000000000000000000000000..94a69e9a79af35c84a277d169885d6ed49140d88 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_49WES_10005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_50WPB_60002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_50WPB_60002000.png new file mode 100644 index 0000000000000000000000000000000000000000..897e28a76f94c9c3f4ef5057f8dda45b943fe336 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_50WPB_60002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_50WPU_60008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_50WPU_60008000.png new file mode 100644 index 0000000000000000000000000000000000000000..334a92087969bc8dcf4280716e99fa6a2cfb2558 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_50WPU_60008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_51JTK_50006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_51JTK_50006000.png new file mode 100644 index 0000000000000000000000000000000000000000..088df564b5de1d0bb53050fe376602f9c782316a Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_51JTK_50006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_51TVN_60000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_51TVN_60000.png new file mode 100644 index 0000000000000000000000000000000000000000..307fbedeb290dd1e7f2e21bdabccf28c4302bbab Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_51TVN_60000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_51VWK_50007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_51VWK_50007000.png new file mode 100644 index 0000000000000000000000000000000000000000..64423d89af1cb20074a2817d922ec4c8b3b3af4e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_51VWK_50007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_52VEL_80004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_52VEL_80004000.png new file mode 100644 index 0000000000000000000000000000000000000000..89b049264b141194e2f90b037740a737219427a5 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_52VEL_80004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_52WFB_50001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_52WFB_50001000.png new file mode 100644 index 0000000000000000000000000000000000000000..8f233d0e8976f2a9501f55868e0b33547d30662b Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_52WFB_50001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_52WFU_80008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_52WFU_80008000.png new file mode 100644 index 0000000000000000000000000000000000000000..c7d63baa5474defcf9acdcfcebe9e0f2267aa7f9 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_52WFU_80008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_54VXR_70009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_54VXR_70009000.png new file mode 100644 index 0000000000000000000000000000000000000000..ada6221ec21f95b6ae8f834103b614f640e56719 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_54VXR_70009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_55WEU_20006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_55WEU_20006000.png new file mode 100644 index 0000000000000000000000000000000000000000..26db790211e6af1f8270c6e9b832b81cf28aebd2 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_55WEU_20006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_55WFM_70008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_55WFM_70008000.png new file mode 100644 index 0000000000000000000000000000000000000000..16a8098b324c9804d0424643bbab88420591557c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_55WFM_70008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_57UVA_90009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_57UVA_90009000.png new file mode 100644 index 0000000000000000000000000000000000000000..35e9f0a459dfa3bb7f9d45b660d846a6f83010c3 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_57UVA_90009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_58KEB_00.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_58KEB_00.png new file mode 100644 index 0000000000000000000000000000000000000000..8c41a4267bd8581eab74dcace5c165979517a72f Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_58KEB_00.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_58WEC_40004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_58WEC_40004000.png new file mode 100644 index 0000000000000000000000000000000000000000..0ca2cdbbba0cd5299ce4a1305fc0f4429aae654f Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_58WEC_40004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_58WFB_20000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_58WFB_20000.png new file mode 100644 index 0000000000000000000000000000000000000000..b88cd904820101cf43af411438aad385112e66d3 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_58WFB_20000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_60HUD_50006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_60HUD_50006000.png new file mode 100644 index 0000000000000000000000000000000000000000..cdf4c9599629f1cb0033a51f09eadcbc8851dc4d Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/1500/Out_60HUD_50006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_01WFN_70003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_01WFN_70003000.png new file mode 100644 index 0000000000000000000000000000000000000000..9f58ab10cefa9c2e940b523339366fcfe4b2824b Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_01WFN_70003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_03WVP_40005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_03WVP_40005000.png new file mode 100644 index 0000000000000000000000000000000000000000..9540e72f391ca227d2e0fe394beff1f24603b793 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_03WVP_40005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_03WVP_50009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_03WVP_50009000.png new file mode 100644 index 0000000000000000000000000000000000000000..b822e4f2071c8550e87924f658ed8331d364f086 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_03WVP_50009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_03WWP_30006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_03WWP_30006000.png new file mode 100644 index 0000000000000000000000000000000000000000..43979a93cc51ab9da426ad9bc05989bcb2fae5d4 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_03WWP_30006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_04WFS_30001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_04WFS_30001000.png new file mode 100644 index 0000000000000000000000000000000000000000..c89fd358b9c545a3148c5623cbb224ac18b99f80 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_04WFS_30001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_05WPT_90004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_05WPT_90004000.png new file mode 100644 index 0000000000000000000000000000000000000000..0404f81447082fe6db17babf0b613c7ec42fdf1f Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_05WPT_90004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_08WNA_10003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_08WNA_10003000.png new file mode 100644 index 0000000000000000000000000000000000000000..74df778b6aad76180ac21b7c8320e1a8d7bb9336 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_08WNA_10003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_10VDM_10002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_10VDM_10002000.png new file mode 100644 index 0000000000000000000000000000000000000000..3b3d610273661b83f9e624978d7ecf81dcdcba73 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_10VDM_10002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_11TPM_30008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_11TPM_30008000.png new file mode 100644 index 0000000000000000000000000000000000000000..f5da7155c939a22ffeb140eefc88e64b5bde0c55 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_11TPM_30008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_11UMT_10008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_11UMT_10008000.png new file mode 100644 index 0000000000000000000000000000000000000000..5f2d25e585a1ef4bab5ccd86b28c7c6703d3f1c5 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_11UMT_10008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_11UPA_10002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_11UPA_10002000.png new file mode 100644 index 0000000000000000000000000000000000000000..b47101de6c54a9d872dfd05bdd0e86d575d5e160 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_11UPA_10002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_11VNC_90006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_11VNC_90006000.png new file mode 100644 index 0000000000000000000000000000000000000000..7a2ad846d3eb4f078f5e15b3dee50e3b7266ca2c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_11VNC_90006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_11WNT_50006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_11WNT_50006000.png new file mode 100644 index 0000000000000000000000000000000000000000..fab21628b67b1788d53b2bf03dcfd638314d7867 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_11WNT_50006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_11WNU_60003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_11WNU_60003000.png new file mode 100644 index 0000000000000000000000000000000000000000..059e4061f6d4a7d98d3e8e49c09213e6e403c43e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_11WNU_60003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_12UWF_30001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_12UWF_30001000.png new file mode 100644 index 0000000000000000000000000000000000000000..add7ca83577fbe0b502721baabefad8ba17e1cef Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_12UWF_30001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_12UWF_40000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_12UWF_40000.png new file mode 100644 index 0000000000000000000000000000000000000000..b8f9f21a01bf8e0c08a5d71e582b6b6d4e21ec25 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_12UWF_40000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_14RNQ_40006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_14RNQ_40006000.png new file mode 100644 index 0000000000000000000000000000000000000000..41e32917dbcb29dbd6cfe81e8b55d094b488b59f Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_14RNQ_40006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_14RNQ_40008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_14RNQ_40008000.png new file mode 100644 index 0000000000000000000000000000000000000000..05ab50f1a8815a05d275398cd940bbf5a499f3e4 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_14RNQ_40008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_14RPT_03000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_14RPT_03000.png new file mode 100644 index 0000000000000000000000000000000000000000..3510664e512470dfac58c09989afab478f73c8a6 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_14RPT_03000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_14RPT_20000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_14RPT_20000.png new file mode 100644 index 0000000000000000000000000000000000000000..c2f1bcbccc09850b43fa769a5df27eed9466d2e6 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_14RPT_20000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_14SQB_10009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_14SQB_10009000.png new file mode 100644 index 0000000000000000000000000000000000000000..fa3fef9c4237b898f7b665482b978f54b5a1b2be Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_14SQB_10009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_14SQC_50001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_14SQC_50001000.png new file mode 100644 index 0000000000000000000000000000000000000000..0a2428183db4a3d053e19bfe2f678f770668fd75 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_14SQC_50001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_14SQC_50007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_14SQC_50007000.png new file mode 100644 index 0000000000000000000000000000000000000000..59325da7969776a9a471952e252d1304da574ddb Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_14SQC_50007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_14TNM_40004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_14TNM_40004000.png new file mode 100644 index 0000000000000000000000000000000000000000..874a991a3118fb54273c1d27f648be31d44edd51 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_14TNM_40004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_15RTP_70009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_15RTP_70009000.png new file mode 100644 index 0000000000000000000000000000000000000000..7e286b40e6ce73f0a874eb943194560d419f4941 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_15RTP_70009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_15RYQ_90007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_15RYQ_90007000.png new file mode 100644 index 0000000000000000000000000000000000000000..c2ce4cc249c3f6874686d486a792be01506c96ef Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_15RYQ_90007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_15STB_80005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_15STB_80005000.png new file mode 100644 index 0000000000000000000000000000000000000000..b5d68a1903e14bbe9e4c693d88e94bd95f64c64e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_15STB_80005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_15SUD_30006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_15SUD_30006000.png new file mode 100644 index 0000000000000000000000000000000000000000..84e71e14910a86b09a68efc282dc581595b66187 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_15SUD_30006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_15TUE_40009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_15TUE_40009000.png new file mode 100644 index 0000000000000000000000000000000000000000..a4087833eeb1c3d84ade03a4b5f68c4a23df8900 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_15TUE_40009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_15TWG_90000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_15TWG_90000.png new file mode 100644 index 0000000000000000000000000000000000000000..ca3a027fbaa6ff5823c84212152513c4df016752 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_15TWG_90000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_16RDU_70003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_16RDU_70003000.png new file mode 100644 index 0000000000000000000000000000000000000000..ed9693f349cdaa2dcb9d72ab53b3c066fe2b8010 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_16RDU_70003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_16SEC_20009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_16SEC_20009000.png new file mode 100644 index 0000000000000000000000000000000000000000..507822fb585e77e7d9dd6f14a61c9b3902290da3 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_16SEC_20009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_16SEC_40009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_16SEC_40009000.png new file mode 100644 index 0000000000000000000000000000000000000000..1185a022aa1be706966ca7c2808b9eced048c617 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_16SEC_40009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_16WDD_90002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_16WDD_90002000.png new file mode 100644 index 0000000000000000000000000000000000000000..c7a909a0998700b92fbe8287fea602d20bf24f0f Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_16WDD_90002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_16XDP_30000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_16XDP_30000.png new file mode 100644 index 0000000000000000000000000000000000000000..e81a3e75948e03d2ed62b2c36b24631de2607e61 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_16XDP_30000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_16XEF_50002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_16XEF_50002000.png new file mode 100644 index 0000000000000000000000000000000000000000..d11f49629fd05345bca3a04a86c6a59e6892badb Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_16XEF_50002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_16XEF_70002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_16XEF_70002000.png new file mode 100644 index 0000000000000000000000000000000000000000..820c7d65f5acc3da52f88afa4cf0f45d8cc7dfa6 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_16XEF_70002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_17SMU_70005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_17SMU_70005000.png new file mode 100644 index 0000000000000000000000000000000000000000..20df9e004b72e3caa5f58064978f076a1896705e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_17SMU_70005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_17TLJ_10008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_17TLJ_10008000.png new file mode 100644 index 0000000000000000000000000000000000000000..741e967f5c068a605073f2127b22443d00b6e368 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_17TLJ_10008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_17TMF_50006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_17TMF_50006000.png new file mode 100644 index 0000000000000000000000000000000000000000..5084213e2f69eb7dc1845d93c308d8ca71371753 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_17TMF_50006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_17TNJ_30008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_17TNJ_30008000.png new file mode 100644 index 0000000000000000000000000000000000000000..7b85301a517f13f8cf652fc096de76021823b528 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_17TNJ_30008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_17WPT_09000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_17WPT_09000.png new file mode 100644 index 0000000000000000000000000000000000000000..abd84778afc989777d7703c29cd74a9bad062054 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_17WPT_09000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_18VXJ_10001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_18VXJ_10001000.png new file mode 100644 index 0000000000000000000000000000000000000000..b311130b1c8244518b5e8e2e3d53fab91ecf87ac Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_18VXJ_10001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_19XEL_06000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_19XEL_06000.png new file mode 100644 index 0000000000000000000000000000000000000000..41e401a07e7371b5683700443bb9c4552ea09646 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_19XEL_06000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_20UQD_70005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_20UQD_70005000.png new file mode 100644 index 0000000000000000000000000000000000000000..c6c48304cd3e5cebd2da96b32405d97f2658458a Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_20UQD_70005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_21MWS_20004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_21MWS_20004000.png new file mode 100644 index 0000000000000000000000000000000000000000..33141e783a5c878aae0f9eba1c4c8ee83ff4d85d Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_21MWS_20004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_21MWS_60004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_21MWS_60004000.png new file mode 100644 index 0000000000000000000000000000000000000000..1bcacda3ca74b1e74c5bb81b27c57a1eeed43435 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_21MWS_60004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_21MXS_60008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_21MXS_60008000.png new file mode 100644 index 0000000000000000000000000000000000000000..0938ef9f321d6c89ef7fadc8ed538819a93e70a2 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_21MXS_60008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_21MXS_90003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_21MXS_90003000.png new file mode 100644 index 0000000000000000000000000000000000000000..b6d6a8b4c182cfce2a90a2ddff2499ddce97b772 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_21MXS_90003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_21UVT_60000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_21UVT_60000.png new file mode 100644 index 0000000000000000000000000000000000000000..f899030ec3f55013fbfc4e925ec4c96059a805fa Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_21UVT_60000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_21XVL_50003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_21XVL_50003000.png new file mode 100644 index 0000000000000000000000000000000000000000..17b9c5b66c9ee2a13b49007d1bf853d9f5c1f747 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_21XVL_50003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_21XVL_90003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_21XVL_90003000.png new file mode 100644 index 0000000000000000000000000000000000000000..2487da1d93af07b234d623b7c058254e64b40c2f Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_21XVL_90003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_22NDF_10008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_22NDF_10008000.png new file mode 100644 index 0000000000000000000000000000000000000000..9e820d84de742103204cf1d4731bc135fc1b841a Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_22NDF_10008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_22VFN_60000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_22VFN_60000.png new file mode 100644 index 0000000000000000000000000000000000000000..7f744d1bc256308ed0d32b60a87403fa2039df55 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_22VFN_60000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_23KQB_20007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_23KQB_20007000.png new file mode 100644 index 0000000000000000000000000000000000000000..277507ab66ca545938ea4046b3628d3e35174dc1 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_23KQB_20007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_23VLH_40001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_23VLH_40001000.png new file mode 100644 index 0000000000000000000000000000000000000000..f988b4c0d57bd7dd2019b9d25b608a03966dfd7d Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_23VLH_40001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_24KTA_10005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_24KTA_10005000.png new file mode 100644 index 0000000000000000000000000000000000000000..d080739324b67c7f826e7b00494c7756ffee6cb7 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_24KTA_10005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_24KTB_20009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_24KTB_20009000.png new file mode 100644 index 0000000000000000000000000000000000000000..fc833ecd1915eb4fc70a91af7cdd06f2481567ae Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_24KTB_20009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_24WVS_30001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_24WVS_30001000.png new file mode 100644 index 0000000000000000000000000000000000000000..3861518ee9f49d73d50892caeac0e80ec05bb401 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_24WVS_30001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_26WNB_80002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_26WNB_80002000.png new file mode 100644 index 0000000000000000000000000000000000000000..d906c2c5941458bcd1681f6a57be494625f858f2 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_26WNB_80002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_26WNE_04000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_26WNE_04000.png new file mode 100644 index 0000000000000000000000000000000000000000..a7e0d0c65b769fda0729997387621362fc9a78e0 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_26WNE_04000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_26WPD_10005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_26WPD_10005000.png new file mode 100644 index 0000000000000000000000000000000000000000..19638e4b322d6cdeb06d44af1c7cd6f56b08088c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_26WPD_10005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_26WPD_30006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_26WPD_30006000.png new file mode 100644 index 0000000000000000000000000000000000000000..852d52269e41bd5408d10948f3c4af60d453dde3 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_26WPD_30006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_26WPD_40000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_26WPD_40000.png new file mode 100644 index 0000000000000000000000000000000000000000..9811f8db59435b1848e4899ebeb5335b5fe23b8f Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_26WPD_40000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_26XNF_80000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_26XNF_80000.png new file mode 100644 index 0000000000000000000000000000000000000000..6a048c14155342e5aaf99bfab7d09a2d8b4ee90d Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_26XNF_80000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_27WVT_10006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_27WVT_10006000.png new file mode 100644 index 0000000000000000000000000000000000000000..1fc12fc471304651f708bc8fb22805cf65f9335e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_27WVT_10006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_27WWN_10002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_27WWN_10002000.png new file mode 100644 index 0000000000000000000000000000000000000000..84650b66689f908df16d902466f515a2221b0856 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_27WWN_10002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_28PGC_04000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_28PGC_04000.png new file mode 100644 index 0000000000000000000000000000000000000000..f7822359a230a54dd6717a980db28ef13cc3f105 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_28PGC_04000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_29PMN_90008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_29PMN_90008000.png new file mode 100644 index 0000000000000000000000000000000000000000..f3fb1b3c311da5102fc98eb439fa69182d84d38c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_29PMN_90008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_29TQJ_50008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_29TQJ_50008000.png new file mode 100644 index 0000000000000000000000000000000000000000..b542591856a7d10b7050948804bd584a9b2f9fdd Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_29TQJ_50008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_30SYE_10008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_30SYE_10008000.png new file mode 100644 index 0000000000000000000000000000000000000000..be0aff46d280b70513b429b03d3ee9c2c3614d00 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_30SYE_10008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_30TYP_70005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_30TYP_70005000.png new file mode 100644 index 0000000000000000000000000000000000000000..327544a877ac88ef7e470f146216fdb9746dc11f Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_30TYP_70005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_30UUF_10009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_30UUF_10009000.png new file mode 100644 index 0000000000000000000000000000000000000000..1b86a1cd4cc99b728b1a2ef98df8982698085cc1 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_30UUF_10009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_30UVU_50002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_30UVU_50002000.png new file mode 100644 index 0000000000000000000000000000000000000000..4525cfcf52d63355b31303b75ed5ab94e3766328 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_30UVU_50002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_30UYD_10007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_30UYD_10007000.png new file mode 100644 index 0000000000000000000000000000000000000000..65d4d9b6b3847feb2f27040eee9b12adeef52764 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_30UYD_10007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_31PGK_50008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_31PGK_50008000.png new file mode 100644 index 0000000000000000000000000000000000000000..5b47c06387c2eeda93b4e5e89da47cbf75d09b2a Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_31PGK_50008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_31SED_20004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_31SED_20004000.png new file mode 100644 index 0000000000000000000000000000000000000000..47792ed58f261bacc68de937b4643f49ebd5cefa Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_31SED_20004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_31TCH_90007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_31TCH_90007000.png new file mode 100644 index 0000000000000000000000000000000000000000..e05c063aa6c224041b6f6ec7097f7a6a3d0d02c0 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_31TCH_90007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_31TEM_50006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_31TEM_50006000.png new file mode 100644 index 0000000000000000000000000000000000000000..66746397e4b85f3cebad5f2d9e7792e4c3a6bd8e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_31TEM_50006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_31TEN_10002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_31TEN_10002000.png new file mode 100644 index 0000000000000000000000000000000000000000..a9e0f23691ca00f8433aede4ef0d1322eebe1b01 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_31TEN_10002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_31TEN_90000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_31TEN_90000.png new file mode 100644 index 0000000000000000000000000000000000000000..7f44483c2107fe9f2da4802d75baefc6df64b4f1 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_31TEN_90000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_31TGL_50000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_31TGL_50000.png new file mode 100644 index 0000000000000000000000000000000000000000..3f38455c0298a685218c4e36a4c72c3fa0569b5a Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_31TGL_50000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_31TGM_40003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_31TGM_40003000.png new file mode 100644 index 0000000000000000000000000000000000000000..96d2641abd629e96eaaa60f553e460957ed0b761 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_31TGM_40003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_31TGM_40009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_31TGM_40009000.png new file mode 100644 index 0000000000000000000000000000000000000000..5a222a3847a059caf2e639cb6bc8d412414b0854 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_31TGM_40009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_31TGM_50002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_31TGM_50002000.png new file mode 100644 index 0000000000000000000000000000000000000000..93dfe04a781780689dc9e0042ca526c78c755a80 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_31TGM_50002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_31TGN_07000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_31TGN_07000.png new file mode 100644 index 0000000000000000000000000000000000000000..a41ef28c028c6f3c893552f783bd44e368644842 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_31TGN_07000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_31UDQ_20009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_31UDQ_20009000.png new file mode 100644 index 0000000000000000000000000000000000000000..2da0930458100fd36c8efe03a3be8d6fbdd1700a Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_31UDQ_20009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_31UDR_10002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_31UDR_10002000.png new file mode 100644 index 0000000000000000000000000000000000000000..49d022c05117b8bee646a5cd86b2ea55c1fd4142 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_31UDR_10002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_31UDR_30000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_31UDR_30000.png new file mode 100644 index 0000000000000000000000000000000000000000..5a48bb2e8becd4c3afb1f284a428007eae7473fa Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_31UDR_30000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_31UFQ_50001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_31UFQ_50001000.png new file mode 100644 index 0000000000000000000000000000000000000000..b65b05aab2a9373e4043d9ff317948663e5e15e0 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_31UFQ_50001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_31UFR_80001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_31UFR_80001000.png new file mode 100644 index 0000000000000000000000000000000000000000..28be7121e2541a811342532c740bac057af33b68 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_31UFR_80001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_31UFS_30006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_31UFS_30006000.png new file mode 100644 index 0000000000000000000000000000000000000000..af9e3b3fd4aba2df43dd2bbf6dd378301b4e2f1a Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_31UFS_30006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_31UGS_10001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_31UGS_10001000.png new file mode 100644 index 0000000000000000000000000000000000000000..3186e65bdfdf0ab53975bd9546573731f24f4d2a Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_31UGS_10001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_32SNE_30008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_32SNE_30008000.png new file mode 100644 index 0000000000000000000000000000000000000000..9e8fc115aa20f178a1136817cefbc9d5333c9086 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_32SNE_30008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_32ULC_10005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_32ULC_10005000.png new file mode 100644 index 0000000000000000000000000000000000000000..7e84c0c3832b5e1e0fa950dbae75b1bd1ac29be5 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_32ULC_10005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_32UNA_10001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_32UNA_10001000.png new file mode 100644 index 0000000000000000000000000000000000000000..bed0f1b78f80402cd7d2a1a1409fa39f9dacc949 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_32UNA_10001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_32UND_08000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_32UND_08000.png new file mode 100644 index 0000000000000000000000000000000000000000..d37e13972a2441b2ed0b517e3da43f6c25f60326 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_32UND_08000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_32UND_20005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_32UND_20005000.png new file mode 100644 index 0000000000000000000000000000000000000000..b990a816127fdbc1cf39965953ee5707afd373ae Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_32UND_20005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_32VLL_10009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_32VLL_10009000.png new file mode 100644 index 0000000000000000000000000000000000000000..2532f8f7f0fb82a2a6b9da32897f7183b6b5d2be Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_32VLL_10009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_32VMQ_60003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_32VMQ_60003000.png new file mode 100644 index 0000000000000000000000000000000000000000..afbb3c315810de0802cca4b61edb7dc4d8824701 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_32VMQ_60003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_34UGD_90006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_34UGD_90006000.png new file mode 100644 index 0000000000000000000000000000000000000000..af677631c778098b8b639465ca6b5fbf2c7d6337 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_34UGD_90006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_34VCL_20000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_34VCL_20000.png new file mode 100644 index 0000000000000000000000000000000000000000..3174d2839f767bf81e67f4b5fe6b2ccf78e1abf7 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_34VCL_20000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_34VFL_30009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_34VFL_30009000.png new file mode 100644 index 0000000000000000000000000000000000000000..7ea4cf8e66c7b0479c977f063581c4cee2740be0 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_34VFL_30009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_34VFL_50005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_34VFL_50005000.png new file mode 100644 index 0000000000000000000000000000000000000000..98d9468f5130a4dcb5092e063343155d84900b72 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_34VFL_50005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_34VFQ_20004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_34VFQ_20004000.png new file mode 100644 index 0000000000000000000000000000000000000000..4411bf4063f319a31cd677f6b97720b47c392136 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_34VFQ_20004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_34VFQ_20006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_34VFQ_20006000.png new file mode 100644 index 0000000000000000000000000000000000000000..3ef74da642f1c4db656b137b204aba9373c008de Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_34VFQ_20006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_34VFQ_50005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_34VFQ_50005000.png new file mode 100644 index 0000000000000000000000000000000000000000..90924b8eb224c8698bb90bb45917a35556782e4d Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_34VFQ_50005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_34WDB_60002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_34WDB_60002000.png new file mode 100644 index 0000000000000000000000000000000000000000..b6df9ac23386064c4ff38177ecba356628cc3163 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_34WDB_60002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_34WDB_60008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_34WDB_60008000.png new file mode 100644 index 0000000000000000000000000000000000000000..511dba5afa8e1952cadbf5a9a2d4e51c92d941b3 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_34WDB_60008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_34WDB_70005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_34WDB_70005000.png new file mode 100644 index 0000000000000000000000000000000000000000..1f34f55f9be0baa9e85939be4a5e711ea93ae872 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_34WDB_70005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_34WDB_70008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_34WDB_70008000.png new file mode 100644 index 0000000000000000000000000000000000000000..8d8cf5b2ca2a154c88132f6f5168219f988b0a78 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_34WDB_70008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_34WFS_70008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_34WFS_70008000.png new file mode 100644 index 0000000000000000000000000000000000000000..73354c2730c895f0cf35344040360feb93af4dd6 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_34WFS_70008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_35MNQ_90004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_35MNQ_90004000.png new file mode 100644 index 0000000000000000000000000000000000000000..e0a60f02763ca5884fd5fbafa2741f1056b4a420 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_35MNQ_90004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_35NQE_90000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_35NQE_90000.png new file mode 100644 index 0000000000000000000000000000000000000000..cc1b7e6687bfe2275f536a8907db2bdf6fd295d6 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_35NQE_90000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_35TMH_70008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_35TMH_70008000.png new file mode 100644 index 0000000000000000000000000000000000000000..050509336166915e550251b84ff014ab4a6f4d35 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_35TMH_70008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_35TPN_20004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_35TPN_20004000.png new file mode 100644 index 0000000000000000000000000000000000000000..5b1e11cace941b7f1fbad025374da7083dae6922 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_35TPN_20004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_35ULU_90007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_35ULU_90007000.png new file mode 100644 index 0000000000000000000000000000000000000000..877e3c26a6f0c45f52b4e75ed4eed79dba2436bf Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_35ULU_90007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_35UNA_90000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_35UNA_90000.png new file mode 100644 index 0000000000000000000000000000000000000000..c9130dc4bec9e1850f7ffa19530c64be8a58d9e8 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_35UNA_90000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_35UPV_00.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_35UPV_00.png new file mode 100644 index 0000000000000000000000000000000000000000..f8437880b2a2dfd64ea835448d167421792de081 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_35UPV_00.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_35UPV_50004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_35UPV_50004000.png new file mode 100644 index 0000000000000000000000000000000000000000..8508bcc3ba50c5eb405482f0ab98a20e29bef0f4 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_35UPV_50004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_35UPV_50007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_35UPV_50007000.png new file mode 100644 index 0000000000000000000000000000000000000000..244274b9369c4412e15f39b643e032274051eb50 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_35UPV_50007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_35UPV_80003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_35UPV_80003000.png new file mode 100644 index 0000000000000000000000000000000000000000..416066070199ebe4930c80c29026279d6c7c6dd3 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_35UPV_80003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_35UPV_80005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_35UPV_80005000.png new file mode 100644 index 0000000000000000000000000000000000000000..56e55edce64e0eb83c4f3df7767fc53138adee65 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_35UPV_80005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_35UQV_05000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_35UQV_05000.png new file mode 100644 index 0000000000000000000000000000000000000000..7599f7b8bced4776544413d13cf91363750c5a5e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_35UQV_05000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_35VMC_20009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_35VMC_20009000.png new file mode 100644 index 0000000000000000000000000000000000000000..b8c10f8e72f6bd81fa7b0058310b28c4b7b35524 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_35VMC_20009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_35VME_05000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_35VME_05000.png new file mode 100644 index 0000000000000000000000000000000000000000..b6dd15abcef8daad4d49d0c3e7d04fea41538fc0 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_35VME_05000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_35VME_06000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_35VME_06000.png new file mode 100644 index 0000000000000000000000000000000000000000..7d5f816f263a155ac10833237cc4d8a60659f93e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_35VME_06000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_35WNP_30006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_35WNP_30006000.png new file mode 100644 index 0000000000000000000000000000000000000000..845fece3bc8cf5d88b87881fcfb8bd616bb62d03 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_35WNP_30006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_35WPM_50009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_35WPM_50009000.png new file mode 100644 index 0000000000000000000000000000000000000000..2990863a32468b6b287b7dcd12c3ed58deb9ae4f Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_35WPM_50009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_35WPR_60002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_35WPR_60002000.png new file mode 100644 index 0000000000000000000000000000000000000000..6740ce385e41e9162e32991bf8f70d5f884ee78c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_35WPR_60002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_36KUA_30005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_36KUA_30005000.png new file mode 100644 index 0000000000000000000000000000000000000000..e7ef678712c3a9a2822778ae14f580bbe0028164 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_36KUA_30005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_36KXE_50007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_36KXE_50007000.png new file mode 100644 index 0000000000000000000000000000000000000000..e287320720051d988826788ba957fe0818e59c10 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_36KXE_50007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_36KXE_70005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_36KXE_70005000.png new file mode 100644 index 0000000000000000000000000000000000000000..1acb5330cb4a2f70902ddd136c39e88b78ac3e33 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_36KXE_70005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_36NUJ_70008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_36NUJ_70008000.png new file mode 100644 index 0000000000000000000000000000000000000000..668041ba3d78190348900aab89d1135a73189ef7 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_36NUJ_70008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_36NYP_80003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_36NYP_80003000.png new file mode 100644 index 0000000000000000000000000000000000000000..a4de7e1925115582c46a1c4e994ccd81a0e5ee86 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_36NYP_80003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_36TWS_30005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_36TWS_30005000.png new file mode 100644 index 0000000000000000000000000000000000000000..24fecb1e0b2b69813434573e8f6a0d27047ede48 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_36TWS_30005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_36UVE_03000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_36UVE_03000.png new file mode 100644 index 0000000000000000000000000000000000000000..0f69e3d05bc201ef4571b5062f93ef4c54fd89d2 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_36UVE_03000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_36VUH_10006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_36VUH_10006000.png new file mode 100644 index 0000000000000000000000000000000000000000..89e8da9c4f5192a154944dfeea8db1b2d9360921 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_36VUH_10006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_36VUN_10007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_36VUN_10007000.png new file mode 100644 index 0000000000000000000000000000000000000000..a8f4015d8f47e579776b06b02dc87980ff83479d Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_36VUN_10007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_36VVM_20006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_36VVM_20006000.png new file mode 100644 index 0000000000000000000000000000000000000000..fc93823bf1f1b17e8ba69b698f3c36c306641e38 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_36VVM_20006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_36VXQ_30001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_36VXQ_30001000.png new file mode 100644 index 0000000000000000000000000000000000000000..5bf588a0c10aacac080b27174ea8b9179f63444e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_36VXQ_30001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_36VXQ_50007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_36VXQ_50007000.png new file mode 100644 index 0000000000000000000000000000000000000000..79d93765eb1b24d9adb5aa9b07118104d28e180e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_36VXQ_50007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_36VXQ_90003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_36VXQ_90003000.png new file mode 100644 index 0000000000000000000000000000000000000000..e5b3a281bc64708209465c996e325901872e489c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_36VXQ_90003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_37KCA_30007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_37KCA_30007000.png new file mode 100644 index 0000000000000000000000000000000000000000..56dda9683aac05b32c06d8bcd1855c28b2444066 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_37KCA_30007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_37KCB_40007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_37KCB_40007000.png new file mode 100644 index 0000000000000000000000000000000000000000..ef9fa7618649a37464850ba8f63315c2a3b7a939 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_37KCB_40007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_37LDG_60003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_37LDG_60003000.png new file mode 100644 index 0000000000000000000000000000000000000000..af1bec31f9d498648d874c6dea826603113ec062 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_37LDG_60003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_37LDH_20004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_37LDH_20004000.png new file mode 100644 index 0000000000000000000000000000000000000000..7b7273e3862d06c7f87be3876dd2a719982535f9 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_37LDH_20004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_37LDH_70004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_37LDH_70004000.png new file mode 100644 index 0000000000000000000000000000000000000000..aced39e5b7653073bd41e248048a3a8c3caeaa6c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_37LDH_70004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_37LDJ_90009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_37LDJ_90009000.png new file mode 100644 index 0000000000000000000000000000000000000000..aff8da653c4d773897eccd96ed58e67e57e9b725 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_37LDJ_90009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_37LDL_90001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_37LDL_90001000.png new file mode 100644 index 0000000000000000000000000000000000000000..90c332e04c78ced1a31b515b62dcf7717677ad20 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_37LDL_90001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_37LEJ_70009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_37LEJ_70009000.png new file mode 100644 index 0000000000000000000000000000000000000000..ca2881faff982aedc8766ec184b432fe91e157e8 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_37LEJ_70009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_37LEK_30004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_37LEK_30004000.png new file mode 100644 index 0000000000000000000000000000000000000000..b0675da999c10f338d21ee6a41f08ecb4d325f74 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_37LEK_30004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_37LFD_60006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_37LFD_60006000.png new file mode 100644 index 0000000000000000000000000000000000000000..4a8a5571b7889965b8aef66828d5796ab3855864 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_37LFD_60006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_37LFD_60007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_37LFD_60007000.png new file mode 100644 index 0000000000000000000000000000000000000000..0aa81f10fb543d7c0ef7059e76f3c03fd357a6e9 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_37LFD_60007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_37VCC_80005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_37VCC_80005000.png new file mode 100644 index 0000000000000000000000000000000000000000..fc87916564741d5f05d83c78b3d152b0118de9c3 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_37VCC_80005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_37VCG_10003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_37VCG_10003000.png new file mode 100644 index 0000000000000000000000000000000000000000..5f74186f4083ca20ffc13b77f23a121cb5bee875 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_37VCG_10003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_37VCG_10009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_37VCG_10009000.png new file mode 100644 index 0000000000000000000000000000000000000000..15896442b86c3fd7562afb7073ed69e831c283c0 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_37VCG_10009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_37VCG_80001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_37VCG_80001000.png new file mode 100644 index 0000000000000000000000000000000000000000..e7351b83f4085ede74f8ecdc9efb46df4fac88d5 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_37VCG_80001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_37VCK_60000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_37VCK_60000.png new file mode 100644 index 0000000000000000000000000000000000000000..c380ff5ce83ad35bf7dab29d5eebe6d0444e7807 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_37VCK_60000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_37VCK_80005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_37VCK_80005000.png new file mode 100644 index 0000000000000000000000000000000000000000..91c690214e0a2b28f18673507cfd04c7ea43f043 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_37VCK_80005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_37VEC_80001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_37VEC_80001000.png new file mode 100644 index 0000000000000000000000000000000000000000..8250d7d2b41997b467699e9915fdb2fe6822035d Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_37VEC_80001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_37VEE_90005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_37VEE_90005000.png new file mode 100644 index 0000000000000000000000000000000000000000..1fc7c35a6420cc85f2aa1b8ac937ec5ecc9e56ad Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_37VEE_90005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_37VFF_10007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_37VFF_10007000.png new file mode 100644 index 0000000000000000000000000000000000000000..8ba4941718a6d2f22a130bcbc83f5708fecc472b Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_37VFF_10007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_37VFL_10008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_37VFL_10008000.png new file mode 100644 index 0000000000000000000000000000000000000000..f3df8c7e55703bbd75624befbfefdfa6928ef973 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_37VFL_10008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_37WDP_80006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_37WDP_80006000.png new file mode 100644 index 0000000000000000000000000000000000000000..f194db612397829012883fd38dc94b0501c2cace Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_37WDP_80006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_37WEN_70003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_37WEN_70003000.png new file mode 100644 index 0000000000000000000000000000000000000000..d4d171259b973f2e2bb5c8a4ca57d3d5004c0f42 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_37WEN_70003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_37WEN_90003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_37WEN_90003000.png new file mode 100644 index 0000000000000000000000000000000000000000..678fec0c44ed0ff8491694f75d667b0b19a1d2eb Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_37WEN_90003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_37WEQ_30006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_37WEQ_30006000.png new file mode 100644 index 0000000000000000000000000000000000000000..fe12d78d4c641ada95be093da417ce570becbb38 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_37WEQ_30006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_37WEQ_30007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_37WEQ_30007000.png new file mode 100644 index 0000000000000000000000000000000000000000..830fb712fe0e23bdd812bde0fe170645e1e3e71f Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_37WEQ_30007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_37WEQ_40002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_37WEQ_40002000.png new file mode 100644 index 0000000000000000000000000000000000000000..91417536d6a72f72bdf5f964e4269a93070345b9 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_37WEQ_40002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_37WEQ_80005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_37WEQ_80005000.png new file mode 100644 index 0000000000000000000000000000000000000000..4c995425d87bc6aedd5e3beeaa27054a9463b373 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_37WEQ_80005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_38JNT_50009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_38JNT_50009000.png new file mode 100644 index 0000000000000000000000000000000000000000..f37485bbbf6728d9e4b04015a5d50d47b51c2527 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_38JNT_50009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_38KQE_30009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_38KQE_30009000.png new file mode 100644 index 0000000000000000000000000000000000000000..d1800667cba7bb8b58b6aa66a656c8a190f22d4b Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_38KQE_30009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_38NMJ_40004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_38NMJ_40004000.png new file mode 100644 index 0000000000000000000000000000000000000000..9a6883f2612ef95a2b345cc535e7b5673c6cef36 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_38NMJ_40004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_38NMJ_50009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_38NMJ_50009000.png new file mode 100644 index 0000000000000000000000000000000000000000..48402207137e157fb58632098774101ac064fc35 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_38NMJ_50009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_38NNJ_20003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_38NNJ_20003000.png new file mode 100644 index 0000000000000000000000000000000000000000..404ab3e253646c73895de2f9bffc805edbead6b6 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_38NNJ_20003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_38PKQ_10002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_38PKQ_10002000.png new file mode 100644 index 0000000000000000000000000000000000000000..e6f01faadb8c2b42b7c563922d114b84e1b87856 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_38PKQ_10002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_38PLQ_10003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_38PLQ_10003000.png new file mode 100644 index 0000000000000000000000000000000000000000..bd523bafbaa7ec6c4404dd16710564d8577f5e41 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_38PLQ_10003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_38PNQ_90002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_38PNQ_90002000.png new file mode 100644 index 0000000000000000000000000000000000000000..3055db9dfd832a8ab71a42da1cca1f3f347df5bb Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_38PNQ_90002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_38PRQ_50005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_38PRQ_50005000.png new file mode 100644 index 0000000000000000000000000000000000000000..babd8d20516e0e1afa065535b4bfd36e6edff22d Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_38PRQ_50005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_38PRR_90000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_38PRR_90000.png new file mode 100644 index 0000000000000000000000000000000000000000..307b56d121a254dc432e3074806954e114ab0b10 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_38PRR_90000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_38UNG_50007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_38UNG_50007000.png new file mode 100644 index 0000000000000000000000000000000000000000..e5662dc1148c7ff86783427b9617202f46166a2a Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_38UNG_50007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_38UPE_60000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_38UPE_60000.png new file mode 100644 index 0000000000000000000000000000000000000000..6d77334057dac5281c84d3b2e2efa1a3c5a19365 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_38UPE_60000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_38UQD_40000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_38UQD_40000.png new file mode 100644 index 0000000000000000000000000000000000000000..b949d93c050f5b3dd22ad5c4d40474c516e25d45 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_38UQD_40000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_38UQD_60005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_38UQD_60005000.png new file mode 100644 index 0000000000000000000000000000000000000000..908fc0426005764e9379556401a165574344aa1e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_38UQD_60005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_38VLM_10006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_38VLM_10006000.png new file mode 100644 index 0000000000000000000000000000000000000000..8545b267780c4b180eafaf407bd5ec43d5095957 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_38VLM_10006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_38VLM_10008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_38VLM_10008000.png new file mode 100644 index 0000000000000000000000000000000000000000..f29cfffe7b7dd9927c1176011e8ffb6abe1a6092 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_38VLM_10008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_38VLM_20001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_38VLM_20001000.png new file mode 100644 index 0000000000000000000000000000000000000000..708a87314b7c4f6d56b36199d84f38f24cb3c35f Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_38VLM_20001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_38VLM_20005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_38VLM_20005000.png new file mode 100644 index 0000000000000000000000000000000000000000..5c6a1e1affbe77f4d8ecca4ac7307699f847ad82 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_38VLM_20005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_38VLM_30003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_38VLM_30003000.png new file mode 100644 index 0000000000000000000000000000000000000000..a7b1f86a2518a9e8d9d6f14b825863278dcd244f Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_38VLM_30003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_38VLR_40008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_38VLR_40008000.png new file mode 100644 index 0000000000000000000000000000000000000000..33a5a04632ff11b9b784e081e3858a2c9447d2f4 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_38VLR_40008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_38VNJ_02000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_38VNJ_02000.png new file mode 100644 index 0000000000000000000000000000000000000000..3e76593ceb42b2423b19a0fded40f582a3c44e1d Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_38VNJ_02000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_38VPH_40001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_38VPH_40001000.png new file mode 100644 index 0000000000000000000000000000000000000000..8517c50ebe12c86a35688331fb04584fa9680a5e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_38VPH_40001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_38VPH_70005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_38VPH_70005000.png new file mode 100644 index 0000000000000000000000000000000000000000..3ec2b0469da0d1e137ccf0fd465714691c7c65ea Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_38VPH_70005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_38VPJ_90002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_38VPJ_90002000.png new file mode 100644 index 0000000000000000000000000000000000000000..5ef5100438cd1d31e70e0a3afefb72f836215485 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_38VPJ_90002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_38VPM_20008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_38VPM_20008000.png new file mode 100644 index 0000000000000000000000000000000000000000..36d80781e24f70538cfe1bd616fa46b9a07ee091 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_38VPM_20008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_38WMV_70001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_38WMV_70001000.png new file mode 100644 index 0000000000000000000000000000000000000000..3abe88b6187b429a917959fa91b0346257daa43b Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_38WMV_70001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39TYG_50009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39TYG_50009000.png new file mode 100644 index 0000000000000000000000000000000000000000..3ce8e11697fc07c1c91f545cb6edf738d60efffa Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39TYG_50009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39UUT_60001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39UUT_60001000.png new file mode 100644 index 0000000000000000000000000000000000000000..b21ebee804852cba2972c32630566bced8a30f3a Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39UUT_60001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39UUT_80002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39UUT_80002000.png new file mode 100644 index 0000000000000000000000000000000000000000..b7655473aa532987d43f0301de6d341c039ede89 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39UUT_80002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39UVB_20002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39UVB_20002000.png new file mode 100644 index 0000000000000000000000000000000000000000..4c02051c9ec4716f03b9fffa477c300fd3aafad8 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39UVB_20002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39UWB_02000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39UWB_02000.png new file mode 100644 index 0000000000000000000000000000000000000000..569e834f25e2feb2799de771cdd3c2c53b674e62 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39UWB_02000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39UWB_40000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39UWB_40000.png new file mode 100644 index 0000000000000000000000000000000000000000..4491e346221c33186c3dcc22c5d3859798699079 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39UWB_40000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39UWU_40005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39UWU_40005000.png new file mode 100644 index 0000000000000000000000000000000000000000..2401468dff009f8fca9bf3a1dfe3f9f9880ad830 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39UWU_40005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39UWV_01000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39UWV_01000.png new file mode 100644 index 0000000000000000000000000000000000000000..1ebc6a1d0bec4c5a251d2011ad55f4882df7ecab Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39UWV_01000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39VUF_80000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39VUF_80000.png new file mode 100644 index 0000000000000000000000000000000000000000..c5e835cd43349d3631ea66a6553ba5665920cacd Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39VUF_80000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39VVC_02000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39VVC_02000.png new file mode 100644 index 0000000000000000000000000000000000000000..50087ee9b2e62777d55529476ae29df081fb11b1 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39VVC_02000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39VVC_30004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39VVC_30004000.png new file mode 100644 index 0000000000000000000000000000000000000000..af5be129e09dd65d33d5e138da2b3318e01917b5 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39VVC_30004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39VVC_70005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39VVC_70005000.png new file mode 100644 index 0000000000000000000000000000000000000000..5446cf88c4aba453a3464cf8489e9df3afa1454b Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39VVC_70005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39VVC_90007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39VVC_90007000.png new file mode 100644 index 0000000000000000000000000000000000000000..9c4b31ee67bbccb128e090ec5d292fff5f5b40d9 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39VVC_90007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39VVD_10007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39VVD_10007000.png new file mode 100644 index 0000000000000000000000000000000000000000..3605d56c5ada98f0e7f8039562b315364a65168b Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39VVD_10007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39VVD_20005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39VVD_20005000.png new file mode 100644 index 0000000000000000000000000000000000000000..55267a4327ccbc43bfc1f6fa38ba7c7630b4a2ac Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39VVD_20005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39VVE_50002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39VVE_50002000.png new file mode 100644 index 0000000000000000000000000000000000000000..2b637f1c9c30a5ed48b8bee9af4965a6fe531e8c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39VVE_50002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39VVE_70002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39VVE_70002000.png new file mode 100644 index 0000000000000000000000000000000000000000..09eea8df2e46a6cd6daf028dea562e316df4b6ae Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39VVE_70002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39VVE_90000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39VVE_90000.png new file mode 100644 index 0000000000000000000000000000000000000000..55c671e45266ee1ff06f7d9a33706137a75f1552 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39VVE_90000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39VVL_30006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39VVL_30006000.png new file mode 100644 index 0000000000000000000000000000000000000000..1cf25a8d781772d01d6c201c4b40b4367cfd5632 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39VVL_30006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39VWD_80001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39VWD_80001000.png new file mode 100644 index 0000000000000000000000000000000000000000..338485e3e5d62ed39eecf54046a31d53b122ac13 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39VWD_80001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39VWF_05000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39VWF_05000.png new file mode 100644 index 0000000000000000000000000000000000000000..a299f008e79522fdae11f159930e123c30e1622f Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39VWF_05000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39VWF_30008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39VWF_30008000.png new file mode 100644 index 0000000000000000000000000000000000000000..0f2a1be80aca91ca8ad860a57bd18023e2159d47 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39VWF_30008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39VWF_40008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39VWF_40008000.png new file mode 100644 index 0000000000000000000000000000000000000000..66f529de32ceafa119ac4c6e9e916e1522730fba Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39VWF_40008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39VWF_90009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39VWF_90009000.png new file mode 100644 index 0000000000000000000000000000000000000000..6a341ccd1f785469b8033e0f5d977ee91ae1f6a3 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39VWF_90009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39VWL_10000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39VWL_10000.png new file mode 100644 index 0000000000000000000000000000000000000000..78678e8c227088d092ebb4ded7afc237cb7fbb75 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39VWL_10000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39VWL_40008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39VWL_40008000.png new file mode 100644 index 0000000000000000000000000000000000000000..7800bada585c906b8c79fcb8075780422becae99 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39VWL_40008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39VXE_10001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39VXE_10001000.png new file mode 100644 index 0000000000000000000000000000000000000000..3efc10d173beff242c64012ca499b433228f2fc2 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39VXE_10001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39VXE_30000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39VXE_30000.png new file mode 100644 index 0000000000000000000000000000000000000000..037917943b12557e18f5ccd3befd6a8a27cb48d2 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39VXE_30000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39VXF_40008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39VXF_40008000.png new file mode 100644 index 0000000000000000000000000000000000000000..01fee7ee0dfbe951a7083b1edf64d91b04146981 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39VXF_40008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39VXG_50001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39VXG_50001000.png new file mode 100644 index 0000000000000000000000000000000000000000..d32631ace39aa26f51a1d2f31e3b8ebaa1e1f3b5 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39VXG_50001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39VXG_70004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39VXG_70004000.png new file mode 100644 index 0000000000000000000000000000000000000000..b21b807ddbd11eb5b68a8588be9b8728b75d3968 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39VXG_70004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39VXG_80005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39VXG_80005000.png new file mode 100644 index 0000000000000000000000000000000000000000..2d1faa3d8d5b9c4cdfb40941f753232512bb08e5 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39VXG_80005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39WVN_10005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39WVN_10005000.png new file mode 100644 index 0000000000000000000000000000000000000000..8ecbc5e979a39cc5a0824de563531ec73af35ecb Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39WVN_10005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39WVN_20006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39WVN_20006000.png new file mode 100644 index 0000000000000000000000000000000000000000..c92b4a56313a895150739d4f7bb731a9b44fe437 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39WVN_20006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39WVQ_07000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39WVQ_07000.png new file mode 100644 index 0000000000000000000000000000000000000000..1b5883c81e2bb25d6ab232b326439abcf210da5b Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39WVQ_07000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39WXS_09000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39WXS_09000.png new file mode 100644 index 0000000000000000000000000000000000000000..22c1b63a057bebe480331905781a5fc0b6cebda5 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_39WXS_09000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_40UCG_60008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_40UCG_60008000.png new file mode 100644 index 0000000000000000000000000000000000000000..bde33492cd25202f1f4f139f0b8ba569ecc5598d Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_40UCG_60008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_40UCG_70001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_40UCG_70001000.png new file mode 100644 index 0000000000000000000000000000000000000000..b39ed6d5204bfa7cfc75963c6ca82492b77cc809 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_40UCG_70001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_40UCG_70008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_40UCG_70008000.png new file mode 100644 index 0000000000000000000000000000000000000000..15c6108b539e858bd59dc1c9b4a81c6140d9951d Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_40UCG_70008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_40UEV_10005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_40UEV_10005000.png new file mode 100644 index 0000000000000000000000000000000000000000..48bb0ae2507314c5e3c9bc0c8e3ce1da43dd837f Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_40UEV_10005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_40UFG_50000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_40UFG_50000.png new file mode 100644 index 0000000000000000000000000000000000000000..c34bf89e406acdf3e3d642ce4d21c2347e3ba3ef Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_40UFG_50000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_40UFG_90000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_40UFG_90000.png new file mode 100644 index 0000000000000000000000000000000000000000..d8220131a70cc691f218dbec18572aae0fc54c88 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_40UFG_90000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_40VCH_70005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_40VCH_70005000.png new file mode 100644 index 0000000000000000000000000000000000000000..d989009a5d0f6a6086997fef55b82e8635c4ed2c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_40VCH_70005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_40VCH_80002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_40VCH_80002000.png new file mode 100644 index 0000000000000000000000000000000000000000..23e35e27a4bf72d82f2f201fd9edc04a0da7441c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_40VCH_80002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_40VCM_40005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_40VCM_40005000.png new file mode 100644 index 0000000000000000000000000000000000000000..6391cbd6aba127c305feedb97867cd91b4beba5f Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_40VCM_40005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_40VCN_80004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_40VCN_80004000.png new file mode 100644 index 0000000000000000000000000000000000000000..ade811e014241322f5b51ed4e858564b4ee77804 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_40VCN_80004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_40VCN_80008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_40VCN_80008000.png new file mode 100644 index 0000000000000000000000000000000000000000..30d4ccf64a57f09b34665cb0a62dd0ff8da32e80 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_40VCN_80008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_40VCQ_40003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_40VCQ_40003000.png new file mode 100644 index 0000000000000000000000000000000000000000..882e26e54fd7d1875fea4221d69f37a9c8c78eef Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_40VCQ_40003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_40VDN_04000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_40VDN_04000.png new file mode 100644 index 0000000000000000000000000000000000000000..da51c028933f91f26135c7fef3e99a2c4d3b970a Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_40VDN_04000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_40VEK_60000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_40VEK_60000.png new file mode 100644 index 0000000000000000000000000000000000000000..78a4516fc80fafa00a6ea83ec47c247242133f5e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_40VEK_60000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_40VEQ_80006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_40VEQ_80006000.png new file mode 100644 index 0000000000000000000000000000000000000000..f4524c69f592cae3c24ed79a2bc03850bea8f7a0 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_40VEQ_80006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_40VFQ_50006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_40VFQ_50006000.png new file mode 100644 index 0000000000000000000000000000000000000000..d4a98261b94c06ec2d215befaf20353b75a66897 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_40VFQ_50006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_41UPU_70004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_41UPU_70004000.png new file mode 100644 index 0000000000000000000000000000000000000000..9ae39bec63a65cff808c0333e3e22a4603a27334 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_41UPU_70004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_41UQT_10004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_41UQT_10004000.png new file mode 100644 index 0000000000000000000000000000000000000000..0eadbfbcc31a3fc2b9b76fd7d49d9dfdb4a3fd0b Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_41UQT_10004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_41UQU_50004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_41UQU_50004000.png new file mode 100644 index 0000000000000000000000000000000000000000..02161c8a3517e5f46ebf48b29ae86dfab2161df2 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_41UQU_50004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_41UQU_50009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_41UQU_50009000.png new file mode 100644 index 0000000000000000000000000000000000000000..de5794e3792a931739427c4f846dcae0b1f3575a Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_41UQU_50009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_41UQU_80008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_41UQU_80008000.png new file mode 100644 index 0000000000000000000000000000000000000000..30fa1e4b1f7277fbef1f1725d54d37544888af3c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_41UQU_80008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_41VMC_03000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_41VMC_03000.png new file mode 100644 index 0000000000000000000000000000000000000000..afa4a4e612194c06cbef21159770d9426ba0f1dd Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_41VMC_03000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_41VME_40003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_41VME_40003000.png new file mode 100644 index 0000000000000000000000000000000000000000..e73d8711252532d5cd6421dbcb920a3c9bc11c76 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_41VME_40003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_41VPH_10002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_41VPH_10002000.png new file mode 100644 index 0000000000000000000000000000000000000000..c0e48b154ca4bd6acfdb070f3421f68b993e40dd Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_41VPH_10002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_41WNS_90007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_41WNS_90007000.png new file mode 100644 index 0000000000000000000000000000000000000000..3da131b7fda9ec2cea7bc49f7f5ce89ce9313508 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_41WNS_90007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_41WPQ_10002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_41WPQ_10002000.png new file mode 100644 index 0000000000000000000000000000000000000000..43f97dc09980b51aa7b876f31e2af8690da30731 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_41WPQ_10002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_42UVC_50000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_42UVC_50000.png new file mode 100644 index 0000000000000000000000000000000000000000..a3ac5c2a0a70579bc170f96f25378cdc7e36328f Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_42UVC_50000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_42UVE_10001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_42UVE_10001000.png new file mode 100644 index 0000000000000000000000000000000000000000..53e7d76fd09b381c8f9c891ecf46742a6a3cec60 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_42UVE_10001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_42UWG_50006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_42UWG_50006000.png new file mode 100644 index 0000000000000000000000000000000000000000..ffab7afe0729c8b073527b120b742a3603eb0ab6 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_42UWG_50006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_42UXE_60009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_42UXE_60009000.png new file mode 100644 index 0000000000000000000000000000000000000000..7c812f40d905474eeb5b9a5aa1206bf5967eddb8 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_42UXE_60009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_42UYE_10009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_42UYE_10009000.png new file mode 100644 index 0000000000000000000000000000000000000000..aafa7d7819e92d9d06b5d98f86dbd1cdc0f97dcf Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_42UYE_10009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_42VWL_01000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_42VWL_01000.png new file mode 100644 index 0000000000000000000000000000000000000000..0e799cc03a191513448b3983b6477362a9edc13e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_42VWL_01000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_42VWR_08000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_42VWR_08000.png new file mode 100644 index 0000000000000000000000000000000000000000..9c76cf79309fb4ac251a9ba4628784d6f0503f82 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_42VWR_08000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_42VWR_10009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_42VWR_10009000.png new file mode 100644 index 0000000000000000000000000000000000000000..87ec1f7c08ecd539a5dfd79ec6009fc7adcd63e0 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_42VWR_10009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_42VXJ_20006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_42VXJ_20006000.png new file mode 100644 index 0000000000000000000000000000000000000000..75c068a81c3d433b4319c833aff1a2b4aa334841 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_42VXJ_20006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_42VXK_06000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_42VXK_06000.png new file mode 100644 index 0000000000000000000000000000000000000000..354584c11f5ae4dea50c39d6f108ebd0b674162e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_42VXK_06000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_43UCV_70002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_43UCV_70002000.png new file mode 100644 index 0000000000000000000000000000000000000000..c58977424e72acbf7691fdf5adb3c6ee9567143a Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_43UCV_70002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_43VFJ_80003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_43VFJ_80003000.png new file mode 100644 index 0000000000000000000000000000000000000000..aaf7ccd459384a4f092beea914482a85edfa7bce Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_43VFJ_80003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_43WFN_70001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_43WFN_70001000.png new file mode 100644 index 0000000000000000000000000000000000000000..44201b5bd27765f84e507704648b92cd6d8a3308 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_43WFN_70001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_43WFN_70003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_43WFN_70003000.png new file mode 100644 index 0000000000000000000000000000000000000000..15c4c8c4c7411f3093161be066ad56ee864a3d8a Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_43WFN_70003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_44RMS_70003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_44RMS_70003000.png new file mode 100644 index 0000000000000000000000000000000000000000..55202afd9093bb1d33c3c8b0fb017786953c3bc2 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_44RMS_70003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_44RMS_70006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_44RMS_70006000.png new file mode 100644 index 0000000000000000000000000000000000000000..f79f72d2988117c3846ec36856e764bfb4547f2c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_44RMS_70006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_44UNV_70006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_44UNV_70006000.png new file mode 100644 index 0000000000000000000000000000000000000000..dd5212f2c7e98e82a66a74b4700fb5a24ff1d5d6 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_44UNV_70006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_44VNH_70003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_44VNH_70003000.png new file mode 100644 index 0000000000000000000000000000000000000000..12a954f6685e9f9dd14a9d283a9d074bbc7a9ccf Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_44VNH_70003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_44WNT_20009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_44WNT_20009000.png new file mode 100644 index 0000000000000000000000000000000000000000..8f2045aa9c0072c54afb64317cb625f35b435cfc Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_44WNT_20009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_44XNF_90000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_44XNF_90000.png new file mode 100644 index 0000000000000000000000000000000000000000..a78bb201c04c51d2308f98510b877df1e4ec9fbf Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_44XNF_90000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_44XPF_70006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_44XPF_70006000.png new file mode 100644 index 0000000000000000000000000000000000000000..a244b8038f4a1ef9bbf5648c7c95d66036c4091e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_44XPF_70006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_45VVC_50006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_45VVC_50006000.png new file mode 100644 index 0000000000000000000000000000000000000000..c3cfe334e9f182f1080108568678b6a8db3ab1e7 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_45VVC_50006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_45WWQ_50007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_45WWQ_50007000.png new file mode 100644 index 0000000000000000000000000000000000000000..029613732c3b47747ffa3f5ceb7ba9a315acdb60 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_45WWQ_50007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_45WXQ_40008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_45WXQ_40008000.png new file mode 100644 index 0000000000000000000000000000000000000000..db7adc29af68692ff94cfb5564f2f46cb0db5220 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_45WXQ_40008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_45XWA_40001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_45XWA_40001000.png new file mode 100644 index 0000000000000000000000000000000000000000..00147fab9ef71819549b2cba82e950aeeb8401b2 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_45XWA_40001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_45XWA_70003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_45XWA_70003000.png new file mode 100644 index 0000000000000000000000000000000000000000..8f609e9aa1d171e953565ab8d38d555d985280e5 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_45XWA_70003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_46UDA_50007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_46UDA_50007000.png new file mode 100644 index 0000000000000000000000000000000000000000..9afde13ab480e71d3dfe4c614d570df9ecf6bffd Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_46UDA_50007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_46WEV_01000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_46WEV_01000.png new file mode 100644 index 0000000000000000000000000000000000000000..74d092b75b0a4e169986bedc15bc56b7d0f31663 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_46WEV_01000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_47TPJ_40009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_47TPJ_40009000.png new file mode 100644 index 0000000000000000000000000000000000000000..163770b3741e4a03b2042fd578392c470ecc50cb Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_47TPJ_40009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_47UPU_50009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_47UPU_50009000.png new file mode 100644 index 0000000000000000000000000000000000000000..3528742b39f80cc643a547b6e29ecbf75137f2a9 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_47UPU_50009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_47VPC_10002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_47VPC_10002000.png new file mode 100644 index 0000000000000000000000000000000000000000..67d0ee12292d803b451c9731e1ed47fdbabbdc4f Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_47VPC_10002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_47WMV_70006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_47WMV_70006000.png new file mode 100644 index 0000000000000000000000000000000000000000..2f5f573f99779ef3c6b82318da4cf40cef4ea9bd Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_47WMV_70006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_47WNU_02000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_47WNU_02000.png new file mode 100644 index 0000000000000000000000000000000000000000..c785d32b2c017fea9c19e030df1b1b459c1d5cff Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_47WNU_02000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_48PYT_00.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_48PYT_00.png new file mode 100644 index 0000000000000000000000000000000000000000..ff2f19a6219087084e9a717f53e30c2feed067cb Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_48PYT_00.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_48VUJ_20001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_48VUJ_20001000.png new file mode 100644 index 0000000000000000000000000000000000000000..4651b56d7ee0ea8806762d122e79fd58d03e6bbe Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_48VUJ_20001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_49UCS_10004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_49UCS_10004000.png new file mode 100644 index 0000000000000000000000000000000000000000..e5863d2c84590885fc93af53dd2f9ae3a0c0d811 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_49UCS_10004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_49WDS_80004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_49WDS_80004000.png new file mode 100644 index 0000000000000000000000000000000000000000..e3a42a5893d9f48dcca186a4ab99fc92ddf49b7c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_49WDS_80004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_49WES_10005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_49WES_10005000.png new file mode 100644 index 0000000000000000000000000000000000000000..5114c8222cf06e321fcd4e11dbf851e3800d7443 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_49WES_10005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_50WPB_60002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_50WPB_60002000.png new file mode 100644 index 0000000000000000000000000000000000000000..fbdc02fcfd125dc3fe4cb975de23122774eb0bf8 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_50WPB_60002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_50WPU_60008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_50WPU_60008000.png new file mode 100644 index 0000000000000000000000000000000000000000..25f207d3529f826ca2b9fe2445df666f8617bbbb Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_50WPU_60008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_51JTK_50006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_51JTK_50006000.png new file mode 100644 index 0000000000000000000000000000000000000000..e399bd4f8ec71aae714032fde0a9a4e1d6fbc03c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_51JTK_50006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_51TVN_60000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_51TVN_60000.png new file mode 100644 index 0000000000000000000000000000000000000000..54b1186fdf9ff4d1bd4fc6ac3f16be8ef4915d96 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_51TVN_60000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_51VWK_50007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_51VWK_50007000.png new file mode 100644 index 0000000000000000000000000000000000000000..df8911a933b24c5486e7a0f48475b86479490222 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_51VWK_50007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_52VEL_80004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_52VEL_80004000.png new file mode 100644 index 0000000000000000000000000000000000000000..ba105dc3c783cb6595656c0faf72b091cbb32a4f Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_52VEL_80004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_52WFB_50001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_52WFB_50001000.png new file mode 100644 index 0000000000000000000000000000000000000000..84b1babe48cb779669df6879547b8526cb91fa0d Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_52WFB_50001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_52WFU_80008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_52WFU_80008000.png new file mode 100644 index 0000000000000000000000000000000000000000..e5d1069a87d4e41070ebe98bb608d2449c958231 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_52WFU_80008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_54VXR_70009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_54VXR_70009000.png new file mode 100644 index 0000000000000000000000000000000000000000..794011421e14483f181886e4fe7d3930bc41771b Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_54VXR_70009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_55WEU_20006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_55WEU_20006000.png new file mode 100644 index 0000000000000000000000000000000000000000..d3fc39a39134ea1e1ed172c1b983ab048cd841ee Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_55WEU_20006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_55WFM_70008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_55WFM_70008000.png new file mode 100644 index 0000000000000000000000000000000000000000..7238166b80f21d559c21c58421bb69eb250b972e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_55WFM_70008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_57UVA_90009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_57UVA_90009000.png new file mode 100644 index 0000000000000000000000000000000000000000..45bd3e567cccae273fd982b7baa9ebdfe1866fdb Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_57UVA_90009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_58KEB_00.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_58KEB_00.png new file mode 100644 index 0000000000000000000000000000000000000000..30dc9f948e4a97ef7d53f1ba395756a4b42f2ac2 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_58KEB_00.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_58WEC_40004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_58WEC_40004000.png new file mode 100644 index 0000000000000000000000000000000000000000..b01d440c8c06e8ee1de18ae2f8d5314c204d851e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_58WEC_40004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_58WFB_20000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_58WFB_20000.png new file mode 100644 index 0000000000000000000000000000000000000000..4ce01ed6df75789098e138a2a184b7cb8df852bf Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_58WFB_20000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_60HUD_50006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_60HUD_50006000.png new file mode 100644 index 0000000000000000000000000000000000000000..9906a347ba8a82230b2ec3e71ef3c7a389c10087 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/GT_60HUD_50006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_01WFN_70003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_01WFN_70003000.png new file mode 100644 index 0000000000000000000000000000000000000000..d84bf811dd66075ad00d420309f77e5947acbd22 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_01WFN_70003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_03WVP_40005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_03WVP_40005000.png new file mode 100644 index 0000000000000000000000000000000000000000..8525ccf6211cad3f631d54344f84e2302f67e1f6 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_03WVP_40005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_03WVP_50009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_03WVP_50009000.png new file mode 100644 index 0000000000000000000000000000000000000000..83041cdc8cc3334b444178c9e5182cdce2417c23 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_03WVP_50009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_03WWP_30006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_03WWP_30006000.png new file mode 100644 index 0000000000000000000000000000000000000000..00b2ea2dc978d701c4646abd416aab80fc10484f Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_03WWP_30006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_04WFS_30001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_04WFS_30001000.png new file mode 100644 index 0000000000000000000000000000000000000000..98ef89062a4e956355e07f1515bef34dc1326171 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_04WFS_30001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_05WPT_90004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_05WPT_90004000.png new file mode 100644 index 0000000000000000000000000000000000000000..c708d4bc6c8a21a9c10f36e38caa4ebd8d8c5f16 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_05WPT_90004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_08WNA_10003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_08WNA_10003000.png new file mode 100644 index 0000000000000000000000000000000000000000..c4e470fb6e60360f8d1d73d0a595a5823d13c40e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_08WNA_10003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_10VDM_10002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_10VDM_10002000.png new file mode 100644 index 0000000000000000000000000000000000000000..772265f4bd664a30609b41eb25d09d97a2b5a561 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_10VDM_10002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_11TPM_30008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_11TPM_30008000.png new file mode 100644 index 0000000000000000000000000000000000000000..57523a3fef755a257d9f0e451f242b0054d92f70 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_11TPM_30008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_11UMT_10008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_11UMT_10008000.png new file mode 100644 index 0000000000000000000000000000000000000000..7c7dc85dd08dd475a870504270f87d458ac48f35 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_11UMT_10008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_11UPA_10002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_11UPA_10002000.png new file mode 100644 index 0000000000000000000000000000000000000000..e79fdb140573dc29111b7aa67ed6c46b782882cc Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_11UPA_10002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_11VNC_90006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_11VNC_90006000.png new file mode 100644 index 0000000000000000000000000000000000000000..92fba0f491904953d17ca3c4e019be3f95b544e2 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_11VNC_90006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_11WNT_50006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_11WNT_50006000.png new file mode 100644 index 0000000000000000000000000000000000000000..a2fccb22b4f5f2f7b39eeb6d9a36aabe7e562eac Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_11WNT_50006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_11WNU_60003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_11WNU_60003000.png new file mode 100644 index 0000000000000000000000000000000000000000..1800f0c261b884ef2355597aa0e7d5f247c5fd01 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_11WNU_60003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_12UWF_30001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_12UWF_30001000.png new file mode 100644 index 0000000000000000000000000000000000000000..54e75841b25ca1f1e928e21bf14f7d9bc8fb4cf0 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_12UWF_30001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_12UWF_40000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_12UWF_40000.png new file mode 100644 index 0000000000000000000000000000000000000000..65b827bce776855d07dc4cab641d642ad1a90352 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_12UWF_40000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_14RNQ_40006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_14RNQ_40006000.png new file mode 100644 index 0000000000000000000000000000000000000000..c01a5b1a712e76ba0612a240a1fa43f681368739 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_14RNQ_40006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_14RNQ_40008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_14RNQ_40008000.png new file mode 100644 index 0000000000000000000000000000000000000000..a0060768d9e1a771e10780360a1035e284b13050 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_14RNQ_40008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_14RPT_03000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_14RPT_03000.png new file mode 100644 index 0000000000000000000000000000000000000000..53a51a90b8e7afd347fd7b55ef16f8341afd6da5 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_14RPT_03000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_14RPT_20000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_14RPT_20000.png new file mode 100644 index 0000000000000000000000000000000000000000..ae51cd5cbfe5fbbdbb27e7569142643b6a8c98f0 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_14RPT_20000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_14SQB_10009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_14SQB_10009000.png new file mode 100644 index 0000000000000000000000000000000000000000..1eb9ef3e99532169566b1eab71c1ef323a13917d Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_14SQB_10009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_14SQC_50001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_14SQC_50001000.png new file mode 100644 index 0000000000000000000000000000000000000000..9d0ceb69d86f550b7d836df9834e138b04f2c8ac Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_14SQC_50001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_14SQC_50007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_14SQC_50007000.png new file mode 100644 index 0000000000000000000000000000000000000000..90753d8039c9ea636de81050e22dd31261c1b0e4 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_14SQC_50007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_14TNM_40004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_14TNM_40004000.png new file mode 100644 index 0000000000000000000000000000000000000000..07b737ea2e8e22a2d673d12ad5741c9afbb41573 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_14TNM_40004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_15RTP_70009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_15RTP_70009000.png new file mode 100644 index 0000000000000000000000000000000000000000..e2bded9853a475724da0775dd55acfcf20addd7c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_15RTP_70009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_15RYQ_90007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_15RYQ_90007000.png new file mode 100644 index 0000000000000000000000000000000000000000..2dfa784556ffebe45b5dbd52c13970776340def1 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_15RYQ_90007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_15STB_80005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_15STB_80005000.png new file mode 100644 index 0000000000000000000000000000000000000000..04a6db7a2cbaa5cf05ec4402017ee294a65ba599 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_15STB_80005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_15SUD_30006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_15SUD_30006000.png new file mode 100644 index 0000000000000000000000000000000000000000..4c9743feb9775b26422cfb3e30be9f8b260d5a32 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_15SUD_30006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_15TUE_40009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_15TUE_40009000.png new file mode 100644 index 0000000000000000000000000000000000000000..6047d351bb936e6b9ef91d97c03de54a7a256357 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_15TUE_40009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_15TWG_90000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_15TWG_90000.png new file mode 100644 index 0000000000000000000000000000000000000000..de1609cc98098e9d148e74b87190906ad7979ca2 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_15TWG_90000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_16RDU_70003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_16RDU_70003000.png new file mode 100644 index 0000000000000000000000000000000000000000..4a9cbf77a57823ff6d1ffde005423c4bf0bba2c9 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_16RDU_70003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_16SEC_20009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_16SEC_20009000.png new file mode 100644 index 0000000000000000000000000000000000000000..35bb2b3f8002110932a07aa3f9657da1df3aa5db Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_16SEC_20009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_16SEC_40009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_16SEC_40009000.png new file mode 100644 index 0000000000000000000000000000000000000000..57efdb38cf3b9bb4299b37088dadc00a927b4027 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_16SEC_40009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_16WDD_90002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_16WDD_90002000.png new file mode 100644 index 0000000000000000000000000000000000000000..addac1ff31b3126c6e682fb3aaec5fa5e359f939 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_16WDD_90002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_16XDP_30000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_16XDP_30000.png new file mode 100644 index 0000000000000000000000000000000000000000..1452c29392d2e54177731857fdaa1badb3a1bb59 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_16XDP_30000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_16XEF_50002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_16XEF_50002000.png new file mode 100644 index 0000000000000000000000000000000000000000..f516ba40f5a2a1dc5d17a569e77536fb7080a6a4 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_16XEF_50002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_16XEF_70002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_16XEF_70002000.png new file mode 100644 index 0000000000000000000000000000000000000000..9429e78e459943e9dfee425e2baf7f89bb1e9dd3 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_16XEF_70002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_17SMU_70005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_17SMU_70005000.png new file mode 100644 index 0000000000000000000000000000000000000000..3427ea70a6a4c86fdffe378b994f1a43f5f749ab Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_17SMU_70005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_17TLJ_10008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_17TLJ_10008000.png new file mode 100644 index 0000000000000000000000000000000000000000..8870a5d800baffcd6d5df9d68f99a1d2491d6bd8 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_17TLJ_10008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_17TMF_50006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_17TMF_50006000.png new file mode 100644 index 0000000000000000000000000000000000000000..8b229164b0fde153e85ba8c14cebb47da63ba2f9 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_17TMF_50006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_17TNJ_30008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_17TNJ_30008000.png new file mode 100644 index 0000000000000000000000000000000000000000..51d3ec9f95b2abb4eb913edd4524da62f7484ea7 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_17TNJ_30008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_17WPT_09000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_17WPT_09000.png new file mode 100644 index 0000000000000000000000000000000000000000..5c6202c2ac8e0bf2cee5b604701299c0ee2c5896 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_17WPT_09000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_18VXJ_10001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_18VXJ_10001000.png new file mode 100644 index 0000000000000000000000000000000000000000..e56efdb2b498f0ca8fe6ea9aee7fe49846397483 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_18VXJ_10001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_19XEL_06000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_19XEL_06000.png new file mode 100644 index 0000000000000000000000000000000000000000..8c40dd8c3c5ac74644e5cbce35610b3a547013d0 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_19XEL_06000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_20UQD_70005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_20UQD_70005000.png new file mode 100644 index 0000000000000000000000000000000000000000..e33e2a90250e2b963d7dc6f076b2d09ea8162d7f Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_20UQD_70005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_21MWS_20004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_21MWS_20004000.png new file mode 100644 index 0000000000000000000000000000000000000000..b9d09fb3dcf2304335c3d8feccc8014226e0a516 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_21MWS_20004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_21MWS_60004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_21MWS_60004000.png new file mode 100644 index 0000000000000000000000000000000000000000..1dfb1ef8e01845c78159255b0adbd6e4f9b763af Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_21MWS_60004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_21MXS_60008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_21MXS_60008000.png new file mode 100644 index 0000000000000000000000000000000000000000..411bea1db2d1925a15712a4c0240f4aeb010c3f0 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_21MXS_60008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_21MXS_90003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_21MXS_90003000.png new file mode 100644 index 0000000000000000000000000000000000000000..47d62764fedc4154fac0eff7dcfa7c4ba82090b3 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_21MXS_90003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_21UVT_60000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_21UVT_60000.png new file mode 100644 index 0000000000000000000000000000000000000000..bdfbb2878884fc20122e06ddfcf01522ea3912f0 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_21UVT_60000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_21XVL_50003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_21XVL_50003000.png new file mode 100644 index 0000000000000000000000000000000000000000..0b3d8347fec290ee0dec8c6aeea94ea592d643b1 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_21XVL_50003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_21XVL_90003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_21XVL_90003000.png new file mode 100644 index 0000000000000000000000000000000000000000..6e1836978265fabea30b4de8256f7a59e2a8ea74 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_21XVL_90003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_22NDF_10008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_22NDF_10008000.png new file mode 100644 index 0000000000000000000000000000000000000000..ebd7b878fd02bc548874a3f7570ddbdb4138c33d Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_22NDF_10008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_22VFN_60000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_22VFN_60000.png new file mode 100644 index 0000000000000000000000000000000000000000..820e9f8e24637ddf4b46e589fe574f1341c19f7d Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_22VFN_60000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_23KQB_20007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_23KQB_20007000.png new file mode 100644 index 0000000000000000000000000000000000000000..2bd86e8f18515de11bc3d59d76c0030d0e32edbc Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_23KQB_20007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_23VLH_40001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_23VLH_40001000.png new file mode 100644 index 0000000000000000000000000000000000000000..f7d050ded99764d1ec162c5ed446560516886c14 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_23VLH_40001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_24KTA_10005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_24KTA_10005000.png new file mode 100644 index 0000000000000000000000000000000000000000..bc1cc4427dc2ca57a20e31763d1acf1aa109b20c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_24KTA_10005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_24KTB_20009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_24KTB_20009000.png new file mode 100644 index 0000000000000000000000000000000000000000..ce97caa85972afc481de3d8513749c201ac875d3 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_24KTB_20009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_24WVS_30001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_24WVS_30001000.png new file mode 100644 index 0000000000000000000000000000000000000000..785c5b15bbe156f739cb261edff11d297a7cd770 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_24WVS_30001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_26WNB_80002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_26WNB_80002000.png new file mode 100644 index 0000000000000000000000000000000000000000..2c6e4f96dc207c39e026370d1e2bbe1dc7ba2446 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_26WNB_80002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_26WNE_04000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_26WNE_04000.png new file mode 100644 index 0000000000000000000000000000000000000000..e7366baa24999687f91970370dfce89b4cdddc3e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_26WNE_04000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_26WPD_10005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_26WPD_10005000.png new file mode 100644 index 0000000000000000000000000000000000000000..2cf8176afa50e3e869773d92cc6bb1af4c04434c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_26WPD_10005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_26WPD_30006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_26WPD_30006000.png new file mode 100644 index 0000000000000000000000000000000000000000..f41a9d3fffa195157b1b865b9011f9d4f50c3e65 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_26WPD_30006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_26WPD_40000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_26WPD_40000.png new file mode 100644 index 0000000000000000000000000000000000000000..0c03260787cee649c72c3ed2fb6615674ae1f74e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_26WPD_40000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_26XNF_80000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_26XNF_80000.png new file mode 100644 index 0000000000000000000000000000000000000000..6862ea18b7b9584809507892c41f7bf1f0a0197b Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_26XNF_80000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_27WVT_10006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_27WVT_10006000.png new file mode 100644 index 0000000000000000000000000000000000000000..8e12875e829894c3dc230eeae210feb5a6ca332e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_27WVT_10006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_27WWN_10002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_27WWN_10002000.png new file mode 100644 index 0000000000000000000000000000000000000000..8b2993e93e83463ce7cd652703e62f32c09722d4 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_27WWN_10002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_28PGC_04000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_28PGC_04000.png new file mode 100644 index 0000000000000000000000000000000000000000..0cd89a2b85d92b667ae4cfde3c2bda5810004ddf Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_28PGC_04000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_29PMN_90008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_29PMN_90008000.png new file mode 100644 index 0000000000000000000000000000000000000000..bdb1781a8f3a0a07da0447fa63081a78a1542eb7 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_29PMN_90008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_29TQJ_50008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_29TQJ_50008000.png new file mode 100644 index 0000000000000000000000000000000000000000..79b52ee54a785769c3e6364d163d58bf936f96a8 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_29TQJ_50008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_30SYE_10008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_30SYE_10008000.png new file mode 100644 index 0000000000000000000000000000000000000000..ab28f8df9d4b4e9be98c308f5184391e026f04e8 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_30SYE_10008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_30TYP_70005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_30TYP_70005000.png new file mode 100644 index 0000000000000000000000000000000000000000..acdeaa9cb8c559d7255333358f6355b4630a0ec1 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_30TYP_70005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_30UUF_10009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_30UUF_10009000.png new file mode 100644 index 0000000000000000000000000000000000000000..1baca2f8b0e973e1964f208f15bf9857455d5efd Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_30UUF_10009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_30UVU_50002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_30UVU_50002000.png new file mode 100644 index 0000000000000000000000000000000000000000..f0c736f6c4feac61758386ac2acbd56f23dfa62c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_30UVU_50002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_30UYD_10007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_30UYD_10007000.png new file mode 100644 index 0000000000000000000000000000000000000000..55ea0a3aef48ae9cc764d8efa8f5015acdda3e2f Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_30UYD_10007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_31PGK_50008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_31PGK_50008000.png new file mode 100644 index 0000000000000000000000000000000000000000..d434a49afa4f10ea4a0d22ea78151d2401c77026 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_31PGK_50008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_31SED_20004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_31SED_20004000.png new file mode 100644 index 0000000000000000000000000000000000000000..e83925e6e1d7e40bddda32e5bf96bf089f870001 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_31SED_20004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_31TCH_90007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_31TCH_90007000.png new file mode 100644 index 0000000000000000000000000000000000000000..acc664dc4f1d815c5910007c27de0aa87919945f Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_31TCH_90007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_31TEM_50006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_31TEM_50006000.png new file mode 100644 index 0000000000000000000000000000000000000000..0fd84c78d8b9d5d99e7a753842411ffed4c24d71 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_31TEM_50006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_31TEN_10002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_31TEN_10002000.png new file mode 100644 index 0000000000000000000000000000000000000000..2ea70172550e8135f553ff4a8c88d18ec0dfdbf8 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_31TEN_10002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_31TEN_90000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_31TEN_90000.png new file mode 100644 index 0000000000000000000000000000000000000000..511d77ad4cccef419fb756e1bf907d2c77e85852 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_31TEN_90000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_31TGL_50000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_31TGL_50000.png new file mode 100644 index 0000000000000000000000000000000000000000..dda2bc6082f2ff7d3a08d399368e43d7367d08e4 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_31TGL_50000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_31TGM_40003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_31TGM_40003000.png new file mode 100644 index 0000000000000000000000000000000000000000..2c132dbe802370bdd1f5dab0af0c07a066a3d532 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_31TGM_40003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_31TGM_40009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_31TGM_40009000.png new file mode 100644 index 0000000000000000000000000000000000000000..35c2272beef1def015fa205cc016501a8d452e54 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_31TGM_40009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_31TGM_50002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_31TGM_50002000.png new file mode 100644 index 0000000000000000000000000000000000000000..9be9a0dcafb573a18ec618f5c6b21d687a350301 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_31TGM_50002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_31TGN_07000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_31TGN_07000.png new file mode 100644 index 0000000000000000000000000000000000000000..5fdd08e92641fdfd33cfbe6ba3b0cd23186adc9b Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_31TGN_07000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_31UDQ_20009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_31UDQ_20009000.png new file mode 100644 index 0000000000000000000000000000000000000000..24a69ff75d72ca3c34ba221b7b1473990bab9146 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_31UDQ_20009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_31UDR_10002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_31UDR_10002000.png new file mode 100644 index 0000000000000000000000000000000000000000..015e4d4263cdb7a730e834e8a77837d69ec52de2 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_31UDR_10002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_31UDR_30000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_31UDR_30000.png new file mode 100644 index 0000000000000000000000000000000000000000..f98b14125c8a524cdccd686d91360fe423a90676 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_31UDR_30000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_31UFQ_50001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_31UFQ_50001000.png new file mode 100644 index 0000000000000000000000000000000000000000..88a397e71374e894b7427334ae865700dcd0db55 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_31UFQ_50001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_31UFR_80001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_31UFR_80001000.png new file mode 100644 index 0000000000000000000000000000000000000000..3c0b803ae42d0e382dfe26558640b260ece6ae42 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_31UFR_80001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_31UFS_30006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_31UFS_30006000.png new file mode 100644 index 0000000000000000000000000000000000000000..708bf65f3d2ecefcabc93965bed507a21f1c4c84 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_31UFS_30006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_31UGS_10001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_31UGS_10001000.png new file mode 100644 index 0000000000000000000000000000000000000000..d522a749ec11e2db277595054177f4d28532bd8a Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_31UGS_10001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_32SNE_30008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_32SNE_30008000.png new file mode 100644 index 0000000000000000000000000000000000000000..27fbbd187913122ae19a8a7465fb54e17e75cb9b Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_32SNE_30008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_32ULC_10005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_32ULC_10005000.png new file mode 100644 index 0000000000000000000000000000000000000000..691de3d5ef58e0b34f1048778d2e296b98d2b0e6 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_32ULC_10005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_32UNA_10001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_32UNA_10001000.png new file mode 100644 index 0000000000000000000000000000000000000000..59b0ec434a9c23598ed6efa89035011a6193a9ca Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_32UNA_10001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_32UND_08000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_32UND_08000.png new file mode 100644 index 0000000000000000000000000000000000000000..86c41160d1afe38155ada75439fd10e7282ddff7 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_32UND_08000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_32UND_20005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_32UND_20005000.png new file mode 100644 index 0000000000000000000000000000000000000000..09ed5dca643d3d91861b3e3215539aa7145174eb Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_32UND_20005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_32VLL_10009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_32VLL_10009000.png new file mode 100644 index 0000000000000000000000000000000000000000..122bedf94806dc182bd41f5e00c5b52051892b91 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_32VLL_10009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_32VMQ_60003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_32VMQ_60003000.png new file mode 100644 index 0000000000000000000000000000000000000000..0a73d1e2255e7d01e0428e42747bb4266dde2a15 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_32VMQ_60003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_34UGD_90006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_34UGD_90006000.png new file mode 100644 index 0000000000000000000000000000000000000000..dad19fdcf02d1e51ebb29d702a5b59a3639284f2 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_34UGD_90006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_34VCL_20000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_34VCL_20000.png new file mode 100644 index 0000000000000000000000000000000000000000..924969023de83d812e79904cadfe1c42c7f422c7 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_34VCL_20000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_34VFL_30009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_34VFL_30009000.png new file mode 100644 index 0000000000000000000000000000000000000000..147504ee4fcdefe8f014b0fe769d4dede64fb3a8 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_34VFL_30009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_34VFL_50005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_34VFL_50005000.png new file mode 100644 index 0000000000000000000000000000000000000000..8454b987cd12f822cac5aa01163f804925c4f11a Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_34VFL_50005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_34VFQ_20004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_34VFQ_20004000.png new file mode 100644 index 0000000000000000000000000000000000000000..b04d81c3e8936450aa30bcefa148b01d290e030c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_34VFQ_20004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_34VFQ_20006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_34VFQ_20006000.png new file mode 100644 index 0000000000000000000000000000000000000000..889cab1a286ed3a919cc472dbb757996b1755a1c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_34VFQ_20006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_34VFQ_50005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_34VFQ_50005000.png new file mode 100644 index 0000000000000000000000000000000000000000..205137e5961b42900c6c5a493867d3e03b1d3970 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_34VFQ_50005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_34WDB_60002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_34WDB_60002000.png new file mode 100644 index 0000000000000000000000000000000000000000..9e3dfb128435a0284b257fca3efbf69e3f82b218 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_34WDB_60002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_34WDB_60008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_34WDB_60008000.png new file mode 100644 index 0000000000000000000000000000000000000000..943960a1b3de88ad0f9c09a92aae5fdd647a3127 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_34WDB_60008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_34WDB_70005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_34WDB_70005000.png new file mode 100644 index 0000000000000000000000000000000000000000..cd1a2f5e6c9a8ed9954638c0b547caad201c3d5a Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_34WDB_70005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_34WDB_70008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_34WDB_70008000.png new file mode 100644 index 0000000000000000000000000000000000000000..e0aeac2c7f43801ddcbf5b2e087712bdb0f6d36c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_34WDB_70008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_34WFS_70008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_34WFS_70008000.png new file mode 100644 index 0000000000000000000000000000000000000000..76032255706301f3f2c391ffa17973eefee3ed2a Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_34WFS_70008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_35MNQ_90004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_35MNQ_90004000.png new file mode 100644 index 0000000000000000000000000000000000000000..f99c7d75cff35c1f275b25948e2fb5db26684960 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_35MNQ_90004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_35NQE_90000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_35NQE_90000.png new file mode 100644 index 0000000000000000000000000000000000000000..fddc722e1f506f9b691ffe218a3918158589407f Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_35NQE_90000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_35TMH_70008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_35TMH_70008000.png new file mode 100644 index 0000000000000000000000000000000000000000..e4774944d22719f636e8e54038bbaeefca165fc8 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_35TMH_70008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_35TPN_20004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_35TPN_20004000.png new file mode 100644 index 0000000000000000000000000000000000000000..444c766f8ef8805498f72630546e1575c2e8a8b0 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_35TPN_20004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_35ULU_90007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_35ULU_90007000.png new file mode 100644 index 0000000000000000000000000000000000000000..c973afa7c149cc460d9583e4ebb4158a6ba647b9 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_35ULU_90007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_35UNA_90000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_35UNA_90000.png new file mode 100644 index 0000000000000000000000000000000000000000..ee8ef0f0e4d1355c729f02dac80c91b85ac28fea Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_35UNA_90000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_35UPV_00.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_35UPV_00.png new file mode 100644 index 0000000000000000000000000000000000000000..d4955945218bb09c618cbdfa612469b7215f8991 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_35UPV_00.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_35UPV_50004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_35UPV_50004000.png new file mode 100644 index 0000000000000000000000000000000000000000..f10bc85d18a8ee1f9d53c8b922680f656739f6c9 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_35UPV_50004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_35UPV_50007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_35UPV_50007000.png new file mode 100644 index 0000000000000000000000000000000000000000..96e1f964a4855527190a2dd89dfc2b563efad2de Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_35UPV_50007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_35UPV_80003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_35UPV_80003000.png new file mode 100644 index 0000000000000000000000000000000000000000..fff79f4a8838b264eb8b87ef5566783b6c1bf92a Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_35UPV_80003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_35UPV_80005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_35UPV_80005000.png new file mode 100644 index 0000000000000000000000000000000000000000..da446037a067ce1237e32a764e6dd74de2eb3a85 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_35UPV_80005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_35UQV_05000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_35UQV_05000.png new file mode 100644 index 0000000000000000000000000000000000000000..039692f3515bb074d9afef35474523a07a786e07 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_35UQV_05000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_35VMC_20009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_35VMC_20009000.png new file mode 100644 index 0000000000000000000000000000000000000000..ea2f8c065c74830cf7984e9690f1371406d481f5 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_35VMC_20009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_35VME_05000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_35VME_05000.png new file mode 100644 index 0000000000000000000000000000000000000000..076e999721b9d0400d59330651a50a0fa09aa491 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_35VME_05000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_35VME_06000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_35VME_06000.png new file mode 100644 index 0000000000000000000000000000000000000000..d54409b3aadea705b0cc86edc1f7823de33f75b6 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_35VME_06000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_35WNP_30006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_35WNP_30006000.png new file mode 100644 index 0000000000000000000000000000000000000000..bca76cc9416438b0187f568e92187343489b96e4 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_35WNP_30006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_35WPM_50009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_35WPM_50009000.png new file mode 100644 index 0000000000000000000000000000000000000000..79375d14b5324d3b2d4dd782c7306aaa4be5b774 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_35WPM_50009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_35WPR_60002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_35WPR_60002000.png new file mode 100644 index 0000000000000000000000000000000000000000..5b7f4ed5b9385aa74fe09ed4a9fcc8b049251e13 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_35WPR_60002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_36KUA_30005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_36KUA_30005000.png new file mode 100644 index 0000000000000000000000000000000000000000..3bedaf8cc033fe119b1ffaa12581c9396a558679 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_36KUA_30005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_36KXE_50007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_36KXE_50007000.png new file mode 100644 index 0000000000000000000000000000000000000000..278a63bd903e624f2086741763a50733e6d0e6e6 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_36KXE_50007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_36KXE_70005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_36KXE_70005000.png new file mode 100644 index 0000000000000000000000000000000000000000..00f14193ea6f0f5506596dbdcac498862e88dd7f Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_36KXE_70005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_36NUJ_70008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_36NUJ_70008000.png new file mode 100644 index 0000000000000000000000000000000000000000..007a8d71a8e422c2bea6075d67444579ca1808be Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_36NUJ_70008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_36NYP_80003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_36NYP_80003000.png new file mode 100644 index 0000000000000000000000000000000000000000..5ff30a247571c1e79b847777ce37bb9e1fd92389 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_36NYP_80003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_36TWS_30005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_36TWS_30005000.png new file mode 100644 index 0000000000000000000000000000000000000000..bc4810966ab25a382eb1f2159f0ee5096b0a2507 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_36TWS_30005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_36UVE_03000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_36UVE_03000.png new file mode 100644 index 0000000000000000000000000000000000000000..ed9fb373d4c3f568cf1f7c5ecfac21b9d710da3a Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_36UVE_03000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_36VUH_10006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_36VUH_10006000.png new file mode 100644 index 0000000000000000000000000000000000000000..8e1c8919b74d5cc05ab67273725d40f7f1d8230a Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_36VUH_10006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_36VUN_10007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_36VUN_10007000.png new file mode 100644 index 0000000000000000000000000000000000000000..f085d3f16ba4724a610b9dc5946641b009ad393d Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_36VUN_10007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_36VVM_20006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_36VVM_20006000.png new file mode 100644 index 0000000000000000000000000000000000000000..0a42af1c3881e661afa98002baaff57efd049e37 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_36VVM_20006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_36VXQ_30001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_36VXQ_30001000.png new file mode 100644 index 0000000000000000000000000000000000000000..bd950a42998ad7854846da7bc687302376ce1d3e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_36VXQ_30001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_36VXQ_50007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_36VXQ_50007000.png new file mode 100644 index 0000000000000000000000000000000000000000..6dc4e744159de26c23538fb7c1f0295c611eec3b Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_36VXQ_50007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_36VXQ_90003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_36VXQ_90003000.png new file mode 100644 index 0000000000000000000000000000000000000000..46fc3c8010bbbc201b4787ef5e5dddb0778d0704 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_36VXQ_90003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_37KCA_30007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_37KCA_30007000.png new file mode 100644 index 0000000000000000000000000000000000000000..2e56ff520efa4757cc456197db6baeda1411acfc Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_37KCA_30007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_37KCB_40007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_37KCB_40007000.png new file mode 100644 index 0000000000000000000000000000000000000000..126c8fef6b200c24c55926f8867fc356752e2fb1 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_37KCB_40007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_37LDG_60003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_37LDG_60003000.png new file mode 100644 index 0000000000000000000000000000000000000000..d31adc1923a5dc53e72380fa3d8e1ef1aecc2fb5 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_37LDG_60003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_37LDH_20004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_37LDH_20004000.png new file mode 100644 index 0000000000000000000000000000000000000000..9a55f28e639f0c5f3dfafb67488a913fc2d22c81 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_37LDH_20004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_37LDH_70004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_37LDH_70004000.png new file mode 100644 index 0000000000000000000000000000000000000000..ece15466326aac8350838eb38543376602220cf4 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_37LDH_70004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_37LDJ_90009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_37LDJ_90009000.png new file mode 100644 index 0000000000000000000000000000000000000000..447742e33200a3183b8d41c87c21180fe6747373 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_37LDJ_90009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_37LDL_90001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_37LDL_90001000.png new file mode 100644 index 0000000000000000000000000000000000000000..9f23f15995dfc62031c2fb3e9b7d6adc1bb975a3 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_37LDL_90001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_37LEJ_70009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_37LEJ_70009000.png new file mode 100644 index 0000000000000000000000000000000000000000..1f3872b6e0129985fe28e49db1fffebd30f2be51 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_37LEJ_70009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_37LEK_30004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_37LEK_30004000.png new file mode 100644 index 0000000000000000000000000000000000000000..65e866e8b9e8d6c4cde4b73751785abe5f637dd6 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_37LEK_30004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_37LFD_60006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_37LFD_60006000.png new file mode 100644 index 0000000000000000000000000000000000000000..1dcd803e3e9075f99bb576dcb7d32b86a2181d0b Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_37LFD_60006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_37LFD_60007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_37LFD_60007000.png new file mode 100644 index 0000000000000000000000000000000000000000..b4b115c88afa2e8c1b641e569d6cdae0a602421e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_37LFD_60007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_37VCC_80005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_37VCC_80005000.png new file mode 100644 index 0000000000000000000000000000000000000000..ae64397a26fff9c5329770c04d0d52f88617baef Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_37VCC_80005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_37VCG_10003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_37VCG_10003000.png new file mode 100644 index 0000000000000000000000000000000000000000..8a7a855cd58ccffd88678f3ef2815f24a6d51edb Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_37VCG_10003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_37VCG_10009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_37VCG_10009000.png new file mode 100644 index 0000000000000000000000000000000000000000..cbf5d8a23071762c4fcaf0507c60ecf673048057 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_37VCG_10009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_37VCG_80001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_37VCG_80001000.png new file mode 100644 index 0000000000000000000000000000000000000000..edd9c1eb1c6b3c0e22d1310c9e6d87db7ec83c47 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_37VCG_80001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_37VCK_60000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_37VCK_60000.png new file mode 100644 index 0000000000000000000000000000000000000000..bd7d8bd76d4c55bcf1b63ecd7578c2f7548c4f60 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_37VCK_60000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_37VCK_80005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_37VCK_80005000.png new file mode 100644 index 0000000000000000000000000000000000000000..621981f1f8c05f3e9e1a17fbeab2e6f8e714db24 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_37VCK_80005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_37VEC_80001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_37VEC_80001000.png new file mode 100644 index 0000000000000000000000000000000000000000..0f13694096780c25af027bfdfe9789f1ceacef85 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_37VEC_80001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_37VEE_90005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_37VEE_90005000.png new file mode 100644 index 0000000000000000000000000000000000000000..36f680630cfb0ae7caae42cd6990a4a0b57ced59 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_37VEE_90005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_37VFF_10007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_37VFF_10007000.png new file mode 100644 index 0000000000000000000000000000000000000000..118992a06381481d17bd26fda81c293d2a1f8d4e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_37VFF_10007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_37VFL_10008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_37VFL_10008000.png new file mode 100644 index 0000000000000000000000000000000000000000..35e08dfe9658fd1c43029231fbd2dfccf59a6260 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_37VFL_10008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_37WDP_80006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_37WDP_80006000.png new file mode 100644 index 0000000000000000000000000000000000000000..166c86116848678ecf0d75ae95dc73da9c281670 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_37WDP_80006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_37WEN_70003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_37WEN_70003000.png new file mode 100644 index 0000000000000000000000000000000000000000..69fe60b1084d9f2c5712919bc845a2602178e2c2 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_37WEN_70003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_37WEN_90003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_37WEN_90003000.png new file mode 100644 index 0000000000000000000000000000000000000000..3635f0cdb9fbb8f4a7ed0877219c012d04e66e87 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_37WEN_90003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_37WEQ_30006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_37WEQ_30006000.png new file mode 100644 index 0000000000000000000000000000000000000000..e2e6abedc9f2779c0e87700a62ab80bdea4a5b4c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_37WEQ_30006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_37WEQ_30007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_37WEQ_30007000.png new file mode 100644 index 0000000000000000000000000000000000000000..6a2b52519eb0191b1aaee64c9fedf3a7cab7b9a9 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_37WEQ_30007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_37WEQ_40002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_37WEQ_40002000.png new file mode 100644 index 0000000000000000000000000000000000000000..c8d569b410898db7ad7a3f0b0afefe7a309d1969 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_37WEQ_40002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_37WEQ_80005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_37WEQ_80005000.png new file mode 100644 index 0000000000000000000000000000000000000000..ad5f0188ec428bfe7e46c9f3b0bf7be111369cd3 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_37WEQ_80005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_38JNT_50009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_38JNT_50009000.png new file mode 100644 index 0000000000000000000000000000000000000000..42ac7be27b36199f577a5ce5cc3a9a43d19c81e2 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_38JNT_50009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_38KQE_30009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_38KQE_30009000.png new file mode 100644 index 0000000000000000000000000000000000000000..bb4493d7b818d807f59b411749e29a744e331614 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_38KQE_30009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_38NMJ_40004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_38NMJ_40004000.png new file mode 100644 index 0000000000000000000000000000000000000000..44d5456bff9fbd155b8584d68d0438fe6c1977db Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_38NMJ_40004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_38NMJ_50009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_38NMJ_50009000.png new file mode 100644 index 0000000000000000000000000000000000000000..fcdbf2c68810e4c734dda1dc202b88eb0d41d4dd Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_38NMJ_50009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_38NNJ_20003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_38NNJ_20003000.png new file mode 100644 index 0000000000000000000000000000000000000000..1462746e9e7b44709818adc55342fff0b18acd0b Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_38NNJ_20003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_38PKQ_10002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_38PKQ_10002000.png new file mode 100644 index 0000000000000000000000000000000000000000..930b7cf5b41902aba9fa162d977e491b81060445 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_38PKQ_10002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_38PLQ_10003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_38PLQ_10003000.png new file mode 100644 index 0000000000000000000000000000000000000000..b25f82eb2a709003789747f121f1200393cd4e3e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_38PLQ_10003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_38PNQ_90002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_38PNQ_90002000.png new file mode 100644 index 0000000000000000000000000000000000000000..923790eb9c69528aa545b0672213593976d5bfea Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_38PNQ_90002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_38PRQ_50005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_38PRQ_50005000.png new file mode 100644 index 0000000000000000000000000000000000000000..401f41c6ed5c7f25870e366f0af757cd8d0ef262 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_38PRQ_50005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_38PRR_90000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_38PRR_90000.png new file mode 100644 index 0000000000000000000000000000000000000000..8db5f1e56aba7c4d58b9d33cbb9875ba447ef027 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_38PRR_90000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_38UNG_50007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_38UNG_50007000.png new file mode 100644 index 0000000000000000000000000000000000000000..71b0f9e6b093abe3fa3ea5e1c690e96618a8eced Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_38UNG_50007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_38UPE_60000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_38UPE_60000.png new file mode 100644 index 0000000000000000000000000000000000000000..75ea8c3267d35027e67b5efbc7591fb2c59354b1 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_38UPE_60000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_38UQD_40000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_38UQD_40000.png new file mode 100644 index 0000000000000000000000000000000000000000..067abcc1045358fb4168c5c67f07adb6cd382f55 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_38UQD_40000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_38UQD_60005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_38UQD_60005000.png new file mode 100644 index 0000000000000000000000000000000000000000..80d155cb72c80da6ac48cab83f2993dd8fe6d101 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_38UQD_60005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_38VLM_10006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_38VLM_10006000.png new file mode 100644 index 0000000000000000000000000000000000000000..6e5dc197baaa6634c432d662f1cb1ec5d180d58f Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_38VLM_10006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_38VLM_10008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_38VLM_10008000.png new file mode 100644 index 0000000000000000000000000000000000000000..0399e5713c6aa23531287c51796f21f7a6716b6d Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_38VLM_10008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_38VLM_20001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_38VLM_20001000.png new file mode 100644 index 0000000000000000000000000000000000000000..d567e727f4cd5446ac1488916f2a0f203b083d7c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_38VLM_20001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_38VLM_20005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_38VLM_20005000.png new file mode 100644 index 0000000000000000000000000000000000000000..e0ddb4a382238bb71e368c0243b38f8f85032edf Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_38VLM_20005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_38VLM_30003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_38VLM_30003000.png new file mode 100644 index 0000000000000000000000000000000000000000..29e4474071b7e0433825a0ebafed0a448d4d2a7a Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_38VLM_30003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_38VLR_40008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_38VLR_40008000.png new file mode 100644 index 0000000000000000000000000000000000000000..7ecbf5730561725ddf190448842ed4d553137921 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_38VLR_40008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_38VNJ_02000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_38VNJ_02000.png new file mode 100644 index 0000000000000000000000000000000000000000..1eb773a084395d0ff9d2aebfad689c3b8e62247f Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_38VNJ_02000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_38VPH_40001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_38VPH_40001000.png new file mode 100644 index 0000000000000000000000000000000000000000..f1297f98e4ec37084329d08292b3d3ea3ada41de Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_38VPH_40001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_38VPH_70005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_38VPH_70005000.png new file mode 100644 index 0000000000000000000000000000000000000000..024593a3e851689fc32c62553de3644843d4e41d Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_38VPH_70005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_38VPJ_90002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_38VPJ_90002000.png new file mode 100644 index 0000000000000000000000000000000000000000..6681ebc6957b9d4194457168667334a59ddafead Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_38VPJ_90002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_38VPM_20008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_38VPM_20008000.png new file mode 100644 index 0000000000000000000000000000000000000000..8719c8b83ccb7738e6f2dc457b8128c021bc481a Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_38VPM_20008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_38WMV_70001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_38WMV_70001000.png new file mode 100644 index 0000000000000000000000000000000000000000..193a546b71cc09e08e74dd4cf7697c096d25883d Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_38WMV_70001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39TYG_50009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39TYG_50009000.png new file mode 100644 index 0000000000000000000000000000000000000000..8ca63df558629234064df29be50314a4bd778f1f Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39TYG_50009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39UUT_60001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39UUT_60001000.png new file mode 100644 index 0000000000000000000000000000000000000000..7a1eed0e8fdfb7c8c5b585caf135f22fe149939f Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39UUT_60001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39UUT_80002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39UUT_80002000.png new file mode 100644 index 0000000000000000000000000000000000000000..6a49a8401e76f84754df9b55230c88324dd0cf8a Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39UUT_80002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39UVB_20002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39UVB_20002000.png new file mode 100644 index 0000000000000000000000000000000000000000..5cf3900daecf5c9d40a728fa6165632460f4b3f0 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39UVB_20002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39UWB_02000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39UWB_02000.png new file mode 100644 index 0000000000000000000000000000000000000000..05af9b50dcdd8557a5face713f3bdeebeea76471 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39UWB_02000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39UWB_40000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39UWB_40000.png new file mode 100644 index 0000000000000000000000000000000000000000..38fb0f3aeab25a48176e66440ca3d2b90a66f282 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39UWB_40000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39UWU_40005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39UWU_40005000.png new file mode 100644 index 0000000000000000000000000000000000000000..b2d2b3c78f4c623b681447dce7ee5ed568cf06f4 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39UWU_40005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39UWV_01000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39UWV_01000.png new file mode 100644 index 0000000000000000000000000000000000000000..3a113a0242b265722204e827687ce782b97df8f9 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39UWV_01000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39VUF_80000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39VUF_80000.png new file mode 100644 index 0000000000000000000000000000000000000000..2b05e96381f7a80ef86d44407d72af90c0e2612e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39VUF_80000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39VVC_02000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39VVC_02000.png new file mode 100644 index 0000000000000000000000000000000000000000..713454a5ee748d7397d99bcb91488af192dda0e3 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39VVC_02000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39VVC_30004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39VVC_30004000.png new file mode 100644 index 0000000000000000000000000000000000000000..6ac151209b843717cf63a03397db56e11f7622d3 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39VVC_30004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39VVC_70005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39VVC_70005000.png new file mode 100644 index 0000000000000000000000000000000000000000..9957b6f6dc967de64099497eb694d6c92b7d635e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39VVC_70005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39VVC_90007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39VVC_90007000.png new file mode 100644 index 0000000000000000000000000000000000000000..7d7fdc71175798219ba89536500dc1a37892bf51 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39VVC_90007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39VVD_10007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39VVD_10007000.png new file mode 100644 index 0000000000000000000000000000000000000000..bb0fb2e6ce7c2632460171d54daff012486267e0 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39VVD_10007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39VVD_20005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39VVD_20005000.png new file mode 100644 index 0000000000000000000000000000000000000000..0e9f48027abfa4e31be280c0d69f26e2965a1c28 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39VVD_20005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39VVE_50002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39VVE_50002000.png new file mode 100644 index 0000000000000000000000000000000000000000..8cfd3526136ff50b201df7940a952fb029299363 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39VVE_50002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39VVE_70002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39VVE_70002000.png new file mode 100644 index 0000000000000000000000000000000000000000..63d615669d154bff9bedb9a3f9c2bf3e6b1fa2bb Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39VVE_70002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39VVE_90000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39VVE_90000.png new file mode 100644 index 0000000000000000000000000000000000000000..699efbd8c1e38c8c2b9a37010f20e0c93377563b Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39VVE_90000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39VVL_30006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39VVL_30006000.png new file mode 100644 index 0000000000000000000000000000000000000000..4bccc4130fb16facd80b9b211803275c82a3933c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39VVL_30006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39VWD_80001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39VWD_80001000.png new file mode 100644 index 0000000000000000000000000000000000000000..8a519b56d88408909331533854e56e84f461cab3 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39VWD_80001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39VWF_05000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39VWF_05000.png new file mode 100644 index 0000000000000000000000000000000000000000..28205a411c148ed7cca932b89e713cbb775ab457 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39VWF_05000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39VWF_30008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39VWF_30008000.png new file mode 100644 index 0000000000000000000000000000000000000000..32dfda8ca5034363c6ec5e9b25ce8461d6064979 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39VWF_30008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39VWF_40008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39VWF_40008000.png new file mode 100644 index 0000000000000000000000000000000000000000..3b9a9a5b403910e507680f951bad103405b116be Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39VWF_40008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39VWF_90009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39VWF_90009000.png new file mode 100644 index 0000000000000000000000000000000000000000..81e5ab345e4322836bb3e398954e7d06884124ad Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39VWF_90009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39VWL_10000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39VWL_10000.png new file mode 100644 index 0000000000000000000000000000000000000000..a6a6943b856779b5d449173b140650a1ec4e4b94 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39VWL_10000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39VWL_40008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39VWL_40008000.png new file mode 100644 index 0000000000000000000000000000000000000000..3d3b6c5d626b66e03b9512f25b9761eb0eb033a6 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39VWL_40008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39VXE_10001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39VXE_10001000.png new file mode 100644 index 0000000000000000000000000000000000000000..321ffb420d54a0c6edb86b58d34d33d040f91eea Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39VXE_10001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39VXE_30000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39VXE_30000.png new file mode 100644 index 0000000000000000000000000000000000000000..27b65c367970d62ec3496b7e1b569d3d7f02532b Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39VXE_30000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39VXF_40008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39VXF_40008000.png new file mode 100644 index 0000000000000000000000000000000000000000..782bf714c679a70aa466823365b1c7aa32b47152 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39VXF_40008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39VXG_50001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39VXG_50001000.png new file mode 100644 index 0000000000000000000000000000000000000000..6b36ca9912bc276cda0edec38901002044f2aad7 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39VXG_50001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39VXG_70004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39VXG_70004000.png new file mode 100644 index 0000000000000000000000000000000000000000..e01c5a1342cf0fe4904453938a7113944a687ef3 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39VXG_70004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39VXG_80005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39VXG_80005000.png new file mode 100644 index 0000000000000000000000000000000000000000..c9d8b5b5910412ab5870dd8b8d2a48593b4ba87c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39VXG_80005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39WVN_10005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39WVN_10005000.png new file mode 100644 index 0000000000000000000000000000000000000000..26599137fae7876e1beb1a76ee878262633e77a2 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39WVN_10005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39WVN_20006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39WVN_20006000.png new file mode 100644 index 0000000000000000000000000000000000000000..3873c890eef57a9ac2ce51c6a84d7e191260c6b3 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39WVN_20006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39WVQ_07000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39WVQ_07000.png new file mode 100644 index 0000000000000000000000000000000000000000..e57a7854089e1f79adc811abe7fd821ab1bec953 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39WVQ_07000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39WXS_09000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39WXS_09000.png new file mode 100644 index 0000000000000000000000000000000000000000..f099fd76552035034160266c5fa4518449783a05 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_39WXS_09000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_40UCG_60008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_40UCG_60008000.png new file mode 100644 index 0000000000000000000000000000000000000000..6a0bbc76ba7163be79522485aca8d493a09c20be Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_40UCG_60008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_40UCG_70001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_40UCG_70001000.png new file mode 100644 index 0000000000000000000000000000000000000000..a5611d662ce7007983d22d766f92fba39b5d1699 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_40UCG_70001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_40UCG_70008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_40UCG_70008000.png new file mode 100644 index 0000000000000000000000000000000000000000..c35328dfd5b121c68587ecdea776ac7a97a2a3fd Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_40UCG_70008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_40UEV_10005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_40UEV_10005000.png new file mode 100644 index 0000000000000000000000000000000000000000..8994ae9e165d2d24d3a07988170a7e1ed6ac3266 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_40UEV_10005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_40UFG_50000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_40UFG_50000.png new file mode 100644 index 0000000000000000000000000000000000000000..71e5048d5d970336adfb1c8decd7dabc579d3a75 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_40UFG_50000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_40UFG_90000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_40UFG_90000.png new file mode 100644 index 0000000000000000000000000000000000000000..dd28fd151c9192051e64964995f9e009892563b0 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_40UFG_90000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_40VCH_70005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_40VCH_70005000.png new file mode 100644 index 0000000000000000000000000000000000000000..17c6db8189af6f9bc4328e53b750347581ffff90 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_40VCH_70005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_40VCH_80002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_40VCH_80002000.png new file mode 100644 index 0000000000000000000000000000000000000000..81728bcd06f4daf0b4971c9df4b9f8036ea42cf5 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_40VCH_80002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_40VCM_40005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_40VCM_40005000.png new file mode 100644 index 0000000000000000000000000000000000000000..e7348cf52360253553d8d9992fc7158c795c8763 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_40VCM_40005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_40VCN_80004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_40VCN_80004000.png new file mode 100644 index 0000000000000000000000000000000000000000..92f218715a80ccb731f670c89326b58e400882c9 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_40VCN_80004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_40VCN_80008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_40VCN_80008000.png new file mode 100644 index 0000000000000000000000000000000000000000..ab31cc51be22abb46af1a817e3c111efa450f05c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_40VCN_80008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_40VCQ_40003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_40VCQ_40003000.png new file mode 100644 index 0000000000000000000000000000000000000000..9f4253084d8cc77608dcc6459b7fce333b35d7a5 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_40VCQ_40003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_40VDN_04000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_40VDN_04000.png new file mode 100644 index 0000000000000000000000000000000000000000..8457a1f582c979a207f9d473ebe80d3a62b780ed Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_40VDN_04000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_40VEK_60000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_40VEK_60000.png new file mode 100644 index 0000000000000000000000000000000000000000..6ad842cde3fb23879376e3d18a6e9b186febea1f Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_40VEK_60000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_40VEQ_80006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_40VEQ_80006000.png new file mode 100644 index 0000000000000000000000000000000000000000..02802c186db4690aeeabc02aa433bbc2ea8f3d21 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_40VEQ_80006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_40VFQ_50006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_40VFQ_50006000.png new file mode 100644 index 0000000000000000000000000000000000000000..620b6a76c66de66ae7d96056b04c560a16947b3d Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_40VFQ_50006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_41UPU_70004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_41UPU_70004000.png new file mode 100644 index 0000000000000000000000000000000000000000..91d04fa165d59d5a26d96079dcab9daa9d7cbb9e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_41UPU_70004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_41UQT_10004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_41UQT_10004000.png new file mode 100644 index 0000000000000000000000000000000000000000..03d97ca5837875769a6788d0ed0c367124006036 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_41UQT_10004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_41UQU_50004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_41UQU_50004000.png new file mode 100644 index 0000000000000000000000000000000000000000..b7ea03c9107ae5c784a184f43955b0573f50e42f Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_41UQU_50004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_41UQU_50009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_41UQU_50009000.png new file mode 100644 index 0000000000000000000000000000000000000000..9f8857e1de1397a19f38ecc726f5e7e4a6e424ed Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_41UQU_50009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_41UQU_80008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_41UQU_80008000.png new file mode 100644 index 0000000000000000000000000000000000000000..560da39669a9fe572c1e1dc4a77ae3c2b66de973 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_41UQU_80008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_41VMC_03000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_41VMC_03000.png new file mode 100644 index 0000000000000000000000000000000000000000..0d3af607906c5f5add5c0cece2e35980b2fa3830 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_41VMC_03000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_41VME_40003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_41VME_40003000.png new file mode 100644 index 0000000000000000000000000000000000000000..f7601c0e7b9b196da576df7deefb6e6188a7e407 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_41VME_40003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_41VPH_10002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_41VPH_10002000.png new file mode 100644 index 0000000000000000000000000000000000000000..e44ea4c072c0cc28140d01d44a6b66085e5a7985 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_41VPH_10002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_41WNS_90007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_41WNS_90007000.png new file mode 100644 index 0000000000000000000000000000000000000000..efb4b3519f9f032ae54440d17780601b8df1e3e3 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_41WNS_90007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_41WPQ_10002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_41WPQ_10002000.png new file mode 100644 index 0000000000000000000000000000000000000000..2b8cc8076ea1242f945e7f2916d047fab8aa9307 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_41WPQ_10002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_42UVC_50000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_42UVC_50000.png new file mode 100644 index 0000000000000000000000000000000000000000..e6c913b4765758135cb4a7c23b44ff7e64b93e47 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_42UVC_50000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_42UVE_10001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_42UVE_10001000.png new file mode 100644 index 0000000000000000000000000000000000000000..78ce7e7aed1e4be00399a6301b43866561d858b3 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_42UVE_10001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_42UWG_50006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_42UWG_50006000.png new file mode 100644 index 0000000000000000000000000000000000000000..5d5b1eb2989068166dce91599785b93877cd72b0 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_42UWG_50006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_42UXE_60009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_42UXE_60009000.png new file mode 100644 index 0000000000000000000000000000000000000000..f9d46c197a7a0f2025e44c8744367ce69b9569bc Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_42UXE_60009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_42UYE_10009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_42UYE_10009000.png new file mode 100644 index 0000000000000000000000000000000000000000..f2023481fe5eceac3f272b40bcc4a8ff43167684 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_42UYE_10009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_42VWL_01000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_42VWL_01000.png new file mode 100644 index 0000000000000000000000000000000000000000..7f1d492106904758788b7c4b47e2c83830090d06 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_42VWL_01000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_42VWR_08000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_42VWR_08000.png new file mode 100644 index 0000000000000000000000000000000000000000..d12e9e3a82da037d20fa51f243cca57478547e41 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_42VWR_08000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_42VWR_10009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_42VWR_10009000.png new file mode 100644 index 0000000000000000000000000000000000000000..317b8fda168165c5aebaf1621c0ba0f12d79fd43 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_42VWR_10009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_42VXJ_20006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_42VXJ_20006000.png new file mode 100644 index 0000000000000000000000000000000000000000..18094eec65eb66a6115d92d6b7f9062001111d1b Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_42VXJ_20006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_42VXK_06000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_42VXK_06000.png new file mode 100644 index 0000000000000000000000000000000000000000..c32ee99f45cadc8dee2f04327d24d8798bdb78e6 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_42VXK_06000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_43UCV_70002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_43UCV_70002000.png new file mode 100644 index 0000000000000000000000000000000000000000..405953e2c0314f857d91e2215ccd2c69fbcba690 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_43UCV_70002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_43VFJ_80003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_43VFJ_80003000.png new file mode 100644 index 0000000000000000000000000000000000000000..17d49f27aa83905a1ef6fb653f64b87546a87ffd Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_43VFJ_80003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_43WFN_70001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_43WFN_70001000.png new file mode 100644 index 0000000000000000000000000000000000000000..29170c7cf1d76048d57f16f40c7e1a8c9c6c06c9 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_43WFN_70001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_43WFN_70003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_43WFN_70003000.png new file mode 100644 index 0000000000000000000000000000000000000000..839024c2d74bee66779c20aaff9bd61943d0bb35 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_43WFN_70003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_44RMS_70003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_44RMS_70003000.png new file mode 100644 index 0000000000000000000000000000000000000000..f6caddb2ccb5cc8a54997318210d4335f7712d64 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_44RMS_70003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_44RMS_70006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_44RMS_70006000.png new file mode 100644 index 0000000000000000000000000000000000000000..92e6444af07ad5c55d2b473f3ab522c9f5900d90 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_44RMS_70006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_44UNV_70006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_44UNV_70006000.png new file mode 100644 index 0000000000000000000000000000000000000000..d5b8f6bd312859eb276156e4dedb9b966e77210a Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_44UNV_70006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_44VNH_70003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_44VNH_70003000.png new file mode 100644 index 0000000000000000000000000000000000000000..85952bc9e76f355914c5535967523a860337ba22 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_44VNH_70003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_44WNT_20009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_44WNT_20009000.png new file mode 100644 index 0000000000000000000000000000000000000000..98ef543d87b74447d90413b2b0b5044c52a204f9 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_44WNT_20009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_44XNF_90000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_44XNF_90000.png new file mode 100644 index 0000000000000000000000000000000000000000..463494d0f54ea7f04bf7fabedc13dd71dfd3a54f Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_44XNF_90000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_44XPF_70006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_44XPF_70006000.png new file mode 100644 index 0000000000000000000000000000000000000000..3dc73d470b1ae3f5e1b64c19aea0647487074b04 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_44XPF_70006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_45VVC_50006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_45VVC_50006000.png new file mode 100644 index 0000000000000000000000000000000000000000..eb4eefb3f2c8c7aa1fa96151ad17385adb85364a Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_45VVC_50006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_45WWQ_50007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_45WWQ_50007000.png new file mode 100644 index 0000000000000000000000000000000000000000..c10493f37694e701a6ce4f08d0a3839523b0ab67 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_45WWQ_50007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_45WXQ_40008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_45WXQ_40008000.png new file mode 100644 index 0000000000000000000000000000000000000000..7d8ad98465e160b7fadf4d2805a55e79e5b289ab Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_45WXQ_40008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_45XWA_40001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_45XWA_40001000.png new file mode 100644 index 0000000000000000000000000000000000000000..fd8f5dc5ac6dc0dd9fc8ba34db4ae31961659580 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_45XWA_40001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_45XWA_70003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_45XWA_70003000.png new file mode 100644 index 0000000000000000000000000000000000000000..36307fd835a7dbf996abc0e7c096a8bd043ab9e1 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_45XWA_70003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_46UDA_50007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_46UDA_50007000.png new file mode 100644 index 0000000000000000000000000000000000000000..e14ab1abdd5a1c9dde782fd941e88d727d4402d5 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_46UDA_50007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_46WEV_01000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_46WEV_01000.png new file mode 100644 index 0000000000000000000000000000000000000000..f5b42fbbee6e6a03c215b77c1a253e093ed625e1 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_46WEV_01000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_47TPJ_40009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_47TPJ_40009000.png new file mode 100644 index 0000000000000000000000000000000000000000..fcd4869e24c2c3921561d65a99615fc64d40b021 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_47TPJ_40009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_47UPU_50009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_47UPU_50009000.png new file mode 100644 index 0000000000000000000000000000000000000000..df5082f477280995e80994085808072f46acf7e7 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_47UPU_50009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_47VPC_10002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_47VPC_10002000.png new file mode 100644 index 0000000000000000000000000000000000000000..917aa08f86b985eab31d7cae6fb2da8b37906d05 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_47VPC_10002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_47WMV_70006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_47WMV_70006000.png new file mode 100644 index 0000000000000000000000000000000000000000..23f0245e5be75c76dd248067800733f4b496302e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_47WMV_70006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_47WNU_02000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_47WNU_02000.png new file mode 100644 index 0000000000000000000000000000000000000000..1d8cef32a0db469847f19635fee52956a60d5307 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_47WNU_02000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_48PYT_00.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_48PYT_00.png new file mode 100644 index 0000000000000000000000000000000000000000..0e52c5e723545f9eb4cecc157b2718fdd80b8547 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_48PYT_00.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_48VUJ_20001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_48VUJ_20001000.png new file mode 100644 index 0000000000000000000000000000000000000000..49354232acc4d2c1721c8d9ea3e645a615e8cb0a Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_48VUJ_20001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_49UCS_10004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_49UCS_10004000.png new file mode 100644 index 0000000000000000000000000000000000000000..9ae98f628f99670ad642fcc46290011b905ed866 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_49UCS_10004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_49WDS_80004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_49WDS_80004000.png new file mode 100644 index 0000000000000000000000000000000000000000..a6b800a9680283da0ee95ffd3785247d8c4ec425 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_49WDS_80004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_49WES_10005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_49WES_10005000.png new file mode 100644 index 0000000000000000000000000000000000000000..7ead6a035ecbe15229f46828d0d2fc608d56fc7c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_49WES_10005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_50WPB_60002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_50WPB_60002000.png new file mode 100644 index 0000000000000000000000000000000000000000..3dce77f7e2a72b872aa3db3a0c38ab57da06dc83 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_50WPB_60002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_50WPU_60008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_50WPU_60008000.png new file mode 100644 index 0000000000000000000000000000000000000000..108b5a0f50c5c3893cf5a41f9db25b2b8bd4f4c4 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_50WPU_60008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_51JTK_50006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_51JTK_50006000.png new file mode 100644 index 0000000000000000000000000000000000000000..465d75bfea95ce6c9f8bea9b71455b04acd2c3f4 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_51JTK_50006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_51TVN_60000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_51TVN_60000.png new file mode 100644 index 0000000000000000000000000000000000000000..dd62b951f750ff10b63c90023493d54bc2c4777d Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_51TVN_60000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_51VWK_50007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_51VWK_50007000.png new file mode 100644 index 0000000000000000000000000000000000000000..b2dc7a206e5932840018c7d6ed1766b9e2168afd Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_51VWK_50007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_52VEL_80004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_52VEL_80004000.png new file mode 100644 index 0000000000000000000000000000000000000000..d5a8768a4fd3cec1a823f9548215b9751dfcb78b Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_52VEL_80004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_52WFB_50001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_52WFB_50001000.png new file mode 100644 index 0000000000000000000000000000000000000000..f8a8e82b936a4174142194b1addb95efd128c7fd Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_52WFB_50001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_52WFU_80008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_52WFU_80008000.png new file mode 100644 index 0000000000000000000000000000000000000000..9d384d07ea8401c93bb290dd74b3c66ba9f27917 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_52WFU_80008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_54VXR_70009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_54VXR_70009000.png new file mode 100644 index 0000000000000000000000000000000000000000..0110456df189846f058eed3651b4916114b03ebc Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_54VXR_70009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_55WEU_20006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_55WEU_20006000.png new file mode 100644 index 0000000000000000000000000000000000000000..831189749717881d229f3f0ccc14122993dd7221 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_55WEU_20006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_55WFM_70008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_55WFM_70008000.png new file mode 100644 index 0000000000000000000000000000000000000000..7ffed9a12427833bf8bb640e6a41ed21d67ee53d Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_55WFM_70008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_57UVA_90009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_57UVA_90009000.png new file mode 100644 index 0000000000000000000000000000000000000000..e2ac7b28a858cd97c4e4a9e227938bd6b4e6323b Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_57UVA_90009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_58KEB_00.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_58KEB_00.png new file mode 100644 index 0000000000000000000000000000000000000000..8a1ae82c8cff7c7a1272e1b4103ea645e643d7ce Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_58KEB_00.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_58WEC_40004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_58WEC_40004000.png new file mode 100644 index 0000000000000000000000000000000000000000..e886772e7648fd4e4c180f68fadccf647e002893 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_58WEC_40004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_58WFB_20000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_58WFB_20000.png new file mode 100644 index 0000000000000000000000000000000000000000..d6dabcdc6a0fd8cf1334817f5c332cbea1396382 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_58WFB_20000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_60HUD_50006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_60HUD_50006000.png new file mode 100644 index 0000000000000000000000000000000000000000..07eb0232e290d471b4e11c3c2d91f161fc4a2674 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2000/Out_60HUD_50006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_01WFN_70003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_01WFN_70003000.png new file mode 100644 index 0000000000000000000000000000000000000000..931d2e1836420ca9d5a4c9ed26c760e6ade84604 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_01WFN_70003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_03WVP_40005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_03WVP_40005000.png new file mode 100644 index 0000000000000000000000000000000000000000..cef21574bd37b48413f8164d64a9a0c8e0d57c12 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_03WVP_40005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_03WVP_50009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_03WVP_50009000.png new file mode 100644 index 0000000000000000000000000000000000000000..2b8c697fa4d3fbac66bc1d0fb9325c3a16d34f06 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_03WVP_50009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_03WWP_30006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_03WWP_30006000.png new file mode 100644 index 0000000000000000000000000000000000000000..30ecde0f4b4976d3fe64ddc5e4db9461b923815e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_03WWP_30006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_04WFS_30001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_04WFS_30001000.png new file mode 100644 index 0000000000000000000000000000000000000000..132bda6ef1eb6e8fa4819bcf75d5fb8348bfcebe Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_04WFS_30001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_05WPT_90004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_05WPT_90004000.png new file mode 100644 index 0000000000000000000000000000000000000000..317833945c13405cc0f27acc5e87f7bbb0312b94 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_05WPT_90004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_08WNA_10003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_08WNA_10003000.png new file mode 100644 index 0000000000000000000000000000000000000000..8e02cea4cb1e7f7f225d78077ec9afb633eba75b Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_08WNA_10003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_10VDM_10002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_10VDM_10002000.png new file mode 100644 index 0000000000000000000000000000000000000000..040200e629638d6335b7165e98f157d9b1c25080 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_10VDM_10002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_11TPM_30008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_11TPM_30008000.png new file mode 100644 index 0000000000000000000000000000000000000000..0cb81eb9ed16a97227be9fb62f088a7e6f768f1a Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_11TPM_30008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_11UMT_10008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_11UMT_10008000.png new file mode 100644 index 0000000000000000000000000000000000000000..6b24cefb373c55fa9bc88cc1bce7a3478ae053a3 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_11UMT_10008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_11UPA_10002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_11UPA_10002000.png new file mode 100644 index 0000000000000000000000000000000000000000..1df320710957e67dcd13b23b8fae6f6eb489804e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_11UPA_10002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_11VNC_90006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_11VNC_90006000.png new file mode 100644 index 0000000000000000000000000000000000000000..a53ff27a8619654840dd90a3157fe01fec6db608 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_11VNC_90006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_11WNT_50006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_11WNT_50006000.png new file mode 100644 index 0000000000000000000000000000000000000000..bf94281843a38e64a6b9782b03edc784cac4de9a Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_11WNT_50006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_11WNU_60003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_11WNU_60003000.png new file mode 100644 index 0000000000000000000000000000000000000000..63e7afff1fb25d37291d5d3769b0fd41fc566501 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_11WNU_60003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_12UWF_30001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_12UWF_30001000.png new file mode 100644 index 0000000000000000000000000000000000000000..5ed4c062c14b74611f3aa4244abdd57cc598deea Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_12UWF_30001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_12UWF_40000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_12UWF_40000.png new file mode 100644 index 0000000000000000000000000000000000000000..5d3443a8205e9299909c4f33420492a981b19496 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_12UWF_40000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_14RNQ_40006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_14RNQ_40006000.png new file mode 100644 index 0000000000000000000000000000000000000000..baca500cec9d9064b9e90b5425dd91c2e4538e4a Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_14RNQ_40006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_14RNQ_40008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_14RNQ_40008000.png new file mode 100644 index 0000000000000000000000000000000000000000..474507b42daf0d97e91d80e86bcff91d50c8d75a Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_14RNQ_40008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_14RPT_03000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_14RPT_03000.png new file mode 100644 index 0000000000000000000000000000000000000000..28bd5a8d2050ae08cd48acaf548b41a38a8cbfc0 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_14RPT_03000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_14RPT_20000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_14RPT_20000.png new file mode 100644 index 0000000000000000000000000000000000000000..3991ffab7140da4fd3bbda3325a278a091aac10b Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_14RPT_20000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_14SQB_10009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_14SQB_10009000.png new file mode 100644 index 0000000000000000000000000000000000000000..82281eaa6cb6933cf8c82774fd285c121250aae5 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_14SQB_10009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_14SQC_50001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_14SQC_50001000.png new file mode 100644 index 0000000000000000000000000000000000000000..0d43266fe03f3878fde8233302b158bf097abc74 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_14SQC_50001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_14SQC_50007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_14SQC_50007000.png new file mode 100644 index 0000000000000000000000000000000000000000..203958b557eaba265ec558559e8abcffabfd5ad2 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_14SQC_50007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_14TNM_40004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_14TNM_40004000.png new file mode 100644 index 0000000000000000000000000000000000000000..5055671ca17b8d90a90834ffa255fc58a816aa6c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_14TNM_40004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_15RTP_70009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_15RTP_70009000.png new file mode 100644 index 0000000000000000000000000000000000000000..125f9782fb007ab238c77446c14424bec04d2f2a Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_15RTP_70009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_15RYQ_90007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_15RYQ_90007000.png new file mode 100644 index 0000000000000000000000000000000000000000..27bd453b4e78d595c013da12d04c6b0355d69db5 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_15RYQ_90007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_15STB_80005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_15STB_80005000.png new file mode 100644 index 0000000000000000000000000000000000000000..4c0d288b10bdb549137e4d18dedab8b1723dc923 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_15STB_80005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_15SUD_30006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_15SUD_30006000.png new file mode 100644 index 0000000000000000000000000000000000000000..a0de0ff4c363ce733e9029c6e231a32579481f0c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_15SUD_30006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_15TUE_40009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_15TUE_40009000.png new file mode 100644 index 0000000000000000000000000000000000000000..0afa928aca93176ffb9b0ff5e4c5f53d6b49d8a6 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_15TUE_40009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_15TWG_90000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_15TWG_90000.png new file mode 100644 index 0000000000000000000000000000000000000000..3c45b565cea518b9de80f00f22a685c01c26a15e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_15TWG_90000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_16RDU_70003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_16RDU_70003000.png new file mode 100644 index 0000000000000000000000000000000000000000..5c08677c173a36a6ee4234e6988edce6f8e25e4d Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_16RDU_70003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_16SEC_20009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_16SEC_20009000.png new file mode 100644 index 0000000000000000000000000000000000000000..fcf6863c66b4b43441021bbeba4582690797192d Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_16SEC_20009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_16SEC_40009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_16SEC_40009000.png new file mode 100644 index 0000000000000000000000000000000000000000..9c40289e02db0b5292e4873200ec6cfe2e7c53c7 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_16SEC_40009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_16WDD_90002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_16WDD_90002000.png new file mode 100644 index 0000000000000000000000000000000000000000..282a4b9f6085c21f4858421e74e9cc73b5140beb Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_16WDD_90002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_16XDP_30000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_16XDP_30000.png new file mode 100644 index 0000000000000000000000000000000000000000..acde84617047c1ca15f94ff1940d84b286a6785b Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_16XDP_30000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_16XEF_50002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_16XEF_50002000.png new file mode 100644 index 0000000000000000000000000000000000000000..38751a0b7da1a9797443ec2a803404e9d7f5cee4 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_16XEF_50002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_16XEF_70002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_16XEF_70002000.png new file mode 100644 index 0000000000000000000000000000000000000000..3ba6ee5d111bbc77545de5eeda20d840533c5227 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_16XEF_70002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_17SMU_70005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_17SMU_70005000.png new file mode 100644 index 0000000000000000000000000000000000000000..689d7c2f26bbf33fec7f7beace1865d76b039f5e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_17SMU_70005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_17TLJ_10008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_17TLJ_10008000.png new file mode 100644 index 0000000000000000000000000000000000000000..e01a7f20c4c951cf1d90f54358f1ef71a84ee845 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_17TLJ_10008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_17TMF_50006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_17TMF_50006000.png new file mode 100644 index 0000000000000000000000000000000000000000..7525ab58d61931f7b69de4e2d9d7535f2c72199c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_17TMF_50006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_17TNJ_30008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_17TNJ_30008000.png new file mode 100644 index 0000000000000000000000000000000000000000..ecd281a6a96d5a2bbaca37cc1606c54f3f771007 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_17TNJ_30008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_17WPT_09000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_17WPT_09000.png new file mode 100644 index 0000000000000000000000000000000000000000..3bf207c3af8a10b47fef18a971a2c591e4854015 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_17WPT_09000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_18VXJ_10001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_18VXJ_10001000.png new file mode 100644 index 0000000000000000000000000000000000000000..e0ca56eb0cbe6293b54524bf209630dda09ef70a Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_18VXJ_10001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_19XEL_06000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_19XEL_06000.png new file mode 100644 index 0000000000000000000000000000000000000000..7e8bfa529acac13bfb9420733dfa823bf785644a Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_19XEL_06000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_20UQD_70005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_20UQD_70005000.png new file mode 100644 index 0000000000000000000000000000000000000000..595090056ad50526a493b919d83e4829409c82a9 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_20UQD_70005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_21MWS_20004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_21MWS_20004000.png new file mode 100644 index 0000000000000000000000000000000000000000..ab8f35a86f9c5f3a8dda3b520cd27aed52076670 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_21MWS_20004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_21MWS_60004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_21MWS_60004000.png new file mode 100644 index 0000000000000000000000000000000000000000..8b853cba1a45187bd70f88e72161ff89f8d2103b Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_21MWS_60004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_21MXS_60008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_21MXS_60008000.png new file mode 100644 index 0000000000000000000000000000000000000000..c4d5ce373921b973a2ce329d5bd15802a91f545b Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_21MXS_60008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_21MXS_90003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_21MXS_90003000.png new file mode 100644 index 0000000000000000000000000000000000000000..d15dcffdd4082714cc530062372fabb47c2dda3c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_21MXS_90003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_21UVT_60000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_21UVT_60000.png new file mode 100644 index 0000000000000000000000000000000000000000..ecce187a0b9be05e71c418189e29e8d8b0d5b8b6 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_21UVT_60000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_21XVL_50003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_21XVL_50003000.png new file mode 100644 index 0000000000000000000000000000000000000000..a3b80a6a15a095aae9436bd4fc06103c20135862 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_21XVL_50003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_21XVL_90003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_21XVL_90003000.png new file mode 100644 index 0000000000000000000000000000000000000000..f0e885e9deab776610479977491b9349ae5e8c6d Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_21XVL_90003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_22NDF_10008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_22NDF_10008000.png new file mode 100644 index 0000000000000000000000000000000000000000..4ece7ccc56f3a80a2b8b1eb969cdba7ee5e57384 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_22NDF_10008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_22VFN_60000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_22VFN_60000.png new file mode 100644 index 0000000000000000000000000000000000000000..12159939fc3231919848797d085d426f89ced02f Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_22VFN_60000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_23KQB_20007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_23KQB_20007000.png new file mode 100644 index 0000000000000000000000000000000000000000..304964d37039d1025a96e0e8e22d8a62f2eb2dfe Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_23KQB_20007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_23VLH_40001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_23VLH_40001000.png new file mode 100644 index 0000000000000000000000000000000000000000..585c61e6be13e709c718faedb132fa5321b76a1f Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_23VLH_40001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_24KTA_10005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_24KTA_10005000.png new file mode 100644 index 0000000000000000000000000000000000000000..cb5af751183db3e1f82dd59cebdabb44678aace8 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_24KTA_10005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_24KTB_20009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_24KTB_20009000.png new file mode 100644 index 0000000000000000000000000000000000000000..b19f5e42da6af2de657481c95af2f29c86fd898b Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_24KTB_20009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_24WVS_30001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_24WVS_30001000.png new file mode 100644 index 0000000000000000000000000000000000000000..303f91f533c31e5d4993bd049466a32e68b4d7d9 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_24WVS_30001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_26WNB_80002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_26WNB_80002000.png new file mode 100644 index 0000000000000000000000000000000000000000..2fda0e61f7d1199a4e2bea32389668c7044134af Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_26WNB_80002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_26WNE_04000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_26WNE_04000.png new file mode 100644 index 0000000000000000000000000000000000000000..48d0dfc5bad41c5d510b766641705244bd25a13c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_26WNE_04000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_26WPD_10005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_26WPD_10005000.png new file mode 100644 index 0000000000000000000000000000000000000000..c36d84ba7b7012a8534441a2dcee8c0dac2e0eac Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_26WPD_10005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_26WPD_30006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_26WPD_30006000.png new file mode 100644 index 0000000000000000000000000000000000000000..4070c32e3459e0f2d68d012c27fe5fd7c58cbd92 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_26WPD_30006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_26WPD_40000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_26WPD_40000.png new file mode 100644 index 0000000000000000000000000000000000000000..1a4bafe583f51a7273837f20e801cb0b7031cb30 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_26WPD_40000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_26XNF_80000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_26XNF_80000.png new file mode 100644 index 0000000000000000000000000000000000000000..efc08661477d9897b99c0d2eed1844e536868123 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_26XNF_80000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_27WVT_10006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_27WVT_10006000.png new file mode 100644 index 0000000000000000000000000000000000000000..970cf64f7b3bcbce7338a31220053fe4e1917fda Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_27WVT_10006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_27WWN_10002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_27WWN_10002000.png new file mode 100644 index 0000000000000000000000000000000000000000..f78fe16e89a72d728769435b84137e227a5c8ccc Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_27WWN_10002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_28PGC_04000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_28PGC_04000.png new file mode 100644 index 0000000000000000000000000000000000000000..e52b61d33a10e169771b8425d25c6a6ed2aa173b Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_28PGC_04000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_29PMN_90008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_29PMN_90008000.png new file mode 100644 index 0000000000000000000000000000000000000000..2c9739ae3b05e62d39c148aa1b9d3fddee92387a Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_29PMN_90008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_29TQJ_50008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_29TQJ_50008000.png new file mode 100644 index 0000000000000000000000000000000000000000..7aa4290eb5112bdd98fe6646fc653ef0fd6ee369 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_29TQJ_50008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_30SYE_10008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_30SYE_10008000.png new file mode 100644 index 0000000000000000000000000000000000000000..9529b43b3d79c092372349236251ee8378063d36 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_30SYE_10008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_30TYP_70005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_30TYP_70005000.png new file mode 100644 index 0000000000000000000000000000000000000000..3a49822ee312bac5bf51ce018e444ca58ec5af1c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_30TYP_70005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_30UUF_10009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_30UUF_10009000.png new file mode 100644 index 0000000000000000000000000000000000000000..f817b566f19b29521985f81f2980a722fe7ba797 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_30UUF_10009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_30UVU_50002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_30UVU_50002000.png new file mode 100644 index 0000000000000000000000000000000000000000..35b2b22d4de27c850ffeaf67177f604c97d8fb9c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_30UVU_50002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_30UYD_10007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_30UYD_10007000.png new file mode 100644 index 0000000000000000000000000000000000000000..1c782461f7fd5372ff41514556ce177bed584b69 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_30UYD_10007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_31PGK_50008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_31PGK_50008000.png new file mode 100644 index 0000000000000000000000000000000000000000..c4d9d69ef15229f17105519071984adbb074ad81 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_31PGK_50008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_31SED_20004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_31SED_20004000.png new file mode 100644 index 0000000000000000000000000000000000000000..f1d89cb62ce3daf4bd9371ee8ee7c389a9fd359b Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_31SED_20004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_31TCH_90007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_31TCH_90007000.png new file mode 100644 index 0000000000000000000000000000000000000000..925f2cfa87578e8890df0caeba2ac94e0e580bad Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_31TCH_90007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_31TEM_50006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_31TEM_50006000.png new file mode 100644 index 0000000000000000000000000000000000000000..821c0582bbef3e2c8bcd6b24c05de53a3920268f Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_31TEM_50006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_31TEN_10002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_31TEN_10002000.png new file mode 100644 index 0000000000000000000000000000000000000000..1572f22bf09f974871ed27cf78c23a95c3f92e33 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_31TEN_10002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_31TEN_90000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_31TEN_90000.png new file mode 100644 index 0000000000000000000000000000000000000000..36ea84c439bfa9b3ae7b9bf5c6dfda4d29b90c25 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_31TEN_90000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_31TGL_50000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_31TGL_50000.png new file mode 100644 index 0000000000000000000000000000000000000000..adeb27a51b6aec48e651a460f925c50d2d75e944 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_31TGL_50000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_31TGM_40003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_31TGM_40003000.png new file mode 100644 index 0000000000000000000000000000000000000000..2600f3ee43a6535b36d9d87129027df81e8dd3eb Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_31TGM_40003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_31TGM_40009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_31TGM_40009000.png new file mode 100644 index 0000000000000000000000000000000000000000..ce38941b32d7b50eb082c518eef917afcfb79cfd Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_31TGM_40009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_31TGM_50002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_31TGM_50002000.png new file mode 100644 index 0000000000000000000000000000000000000000..6041488a1f7b324802280f5c5ad4def6cc2113e4 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_31TGM_50002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_31TGN_07000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_31TGN_07000.png new file mode 100644 index 0000000000000000000000000000000000000000..dc0953a5cdd3bae4ac84a051544062c97731715e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_31TGN_07000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_31UDQ_20009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_31UDQ_20009000.png new file mode 100644 index 0000000000000000000000000000000000000000..a0ffd02ca74da8dfeb5fddf64e518209b512f914 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_31UDQ_20009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_31UDR_10002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_31UDR_10002000.png new file mode 100644 index 0000000000000000000000000000000000000000..b14cd3df46aceda314ccf03681319feaf3eeef6e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_31UDR_10002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_31UDR_30000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_31UDR_30000.png new file mode 100644 index 0000000000000000000000000000000000000000..6c0702a1c478499d591b08ba2470e2279d7b3319 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_31UDR_30000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_31UFQ_50001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_31UFQ_50001000.png new file mode 100644 index 0000000000000000000000000000000000000000..f8461009049b6588553e82c534042fd9fc897756 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_31UFQ_50001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_31UFR_80001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_31UFR_80001000.png new file mode 100644 index 0000000000000000000000000000000000000000..73cf62be8a6cf70034b6766676ca2158bb13e724 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_31UFR_80001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_31UFS_30006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_31UFS_30006000.png new file mode 100644 index 0000000000000000000000000000000000000000..6437d7529e83dc5640865bdb2df9139115cc8987 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_31UFS_30006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_31UGS_10001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_31UGS_10001000.png new file mode 100644 index 0000000000000000000000000000000000000000..daeffadd681bbf74b981ceadcb313d3d546b760f Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_31UGS_10001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_32SNE_30008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_32SNE_30008000.png new file mode 100644 index 0000000000000000000000000000000000000000..2dcab593ad1be19613566ede60934d7e993786d5 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_32SNE_30008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_32ULC_10005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_32ULC_10005000.png new file mode 100644 index 0000000000000000000000000000000000000000..331b4b16db91af8f7a1b76af2d1da65ba532e75d Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_32ULC_10005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_32UNA_10001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_32UNA_10001000.png new file mode 100644 index 0000000000000000000000000000000000000000..5d71915e7832fc4541f84459bfc8370037729111 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_32UNA_10001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_32UND_08000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_32UND_08000.png new file mode 100644 index 0000000000000000000000000000000000000000..18b0ca5196443414acea1f96f9be1fe17062a19d Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_32UND_08000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_32UND_20005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_32UND_20005000.png new file mode 100644 index 0000000000000000000000000000000000000000..feabb0ebb698119cb338dc5033cc2adb27063e8d Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_32UND_20005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_32VLL_10009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_32VLL_10009000.png new file mode 100644 index 0000000000000000000000000000000000000000..f82cee9e3ad356d81eee934bfc103d10719fca8c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_32VLL_10009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_32VMQ_60003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_32VMQ_60003000.png new file mode 100644 index 0000000000000000000000000000000000000000..9e5e4cd61f432a81491c3d8b97a7a32ee86acdf3 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_32VMQ_60003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_34UGD_90006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_34UGD_90006000.png new file mode 100644 index 0000000000000000000000000000000000000000..ca120e80852d181094cc0919dee7019753ff8afc Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_34UGD_90006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_34VCL_20000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_34VCL_20000.png new file mode 100644 index 0000000000000000000000000000000000000000..44743960ab3c4166ec3b9ae2d0656d081986f68b Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_34VCL_20000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_34VFL_30009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_34VFL_30009000.png new file mode 100644 index 0000000000000000000000000000000000000000..082925005f3186bb471f377c19aa927006826795 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_34VFL_30009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_34VFL_50005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_34VFL_50005000.png new file mode 100644 index 0000000000000000000000000000000000000000..d81b86f6a3c09ab9a98bbf92016a52e718164dd7 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_34VFL_50005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_34VFQ_20004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_34VFQ_20004000.png new file mode 100644 index 0000000000000000000000000000000000000000..7f20762dae70d2d15d66271ce1e50e38907cced9 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_34VFQ_20004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_34VFQ_20006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_34VFQ_20006000.png new file mode 100644 index 0000000000000000000000000000000000000000..c9a64fd60cb9f9c7809a7dae9a89de495ac9ed62 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_34VFQ_20006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_34VFQ_50005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_34VFQ_50005000.png new file mode 100644 index 0000000000000000000000000000000000000000..ccc21177e38d77fbac98878d1a360676d83849a3 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_34VFQ_50005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_34WDB_60002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_34WDB_60002000.png new file mode 100644 index 0000000000000000000000000000000000000000..78bc0d1689f326cc3e971e4b0c20c4be32b1e40f Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_34WDB_60002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_34WDB_60008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_34WDB_60008000.png new file mode 100644 index 0000000000000000000000000000000000000000..bd0a3fb6dca62c7892ca7914b6d07508c5be01e7 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_34WDB_60008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_34WDB_70005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_34WDB_70005000.png new file mode 100644 index 0000000000000000000000000000000000000000..0c24c725da2195d12c2e6d088acc3eed60925022 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_34WDB_70005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_34WDB_70008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_34WDB_70008000.png new file mode 100644 index 0000000000000000000000000000000000000000..1223cacd3f3a684ce1e138e722da3c0421b083e0 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_34WDB_70008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_34WFS_70008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_34WFS_70008000.png new file mode 100644 index 0000000000000000000000000000000000000000..be34a675bfe1136c64e0eeeb8277779aeabc87cc Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_34WFS_70008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_35MNQ_90004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_35MNQ_90004000.png new file mode 100644 index 0000000000000000000000000000000000000000..17bc50b7be04c4b91d3d8b1ebdb0f6b2383945fb Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_35MNQ_90004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_35NQE_90000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_35NQE_90000.png new file mode 100644 index 0000000000000000000000000000000000000000..e4afcddb91359a74a952131751671fea2b0d29cf Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_35NQE_90000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_35TMH_70008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_35TMH_70008000.png new file mode 100644 index 0000000000000000000000000000000000000000..e9d7834e660da829cf960bd1f2f6474149384848 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_35TMH_70008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_35TPN_20004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_35TPN_20004000.png new file mode 100644 index 0000000000000000000000000000000000000000..f4d39f76e557bc12092868c0c711b6a197ad574c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_35TPN_20004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_35ULU_90007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_35ULU_90007000.png new file mode 100644 index 0000000000000000000000000000000000000000..6b27f04c2db6d7b47d4b944008234b255c302ea2 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_35ULU_90007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_35UNA_90000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_35UNA_90000.png new file mode 100644 index 0000000000000000000000000000000000000000..54e65610f4f76dbaa42b23d90e4ba72c1c9b3465 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_35UNA_90000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_35UPV_00.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_35UPV_00.png new file mode 100644 index 0000000000000000000000000000000000000000..a684608f1532d3f42fe69d67612bbebceb6b2808 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_35UPV_00.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_35UPV_50004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_35UPV_50004000.png new file mode 100644 index 0000000000000000000000000000000000000000..59d801a02f882b69921a1f9926b56a285edced61 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_35UPV_50004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_35UPV_50007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_35UPV_50007000.png new file mode 100644 index 0000000000000000000000000000000000000000..6ebff456adcf970bbc4cf8f533232989435bd181 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_35UPV_50007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_35UPV_80003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_35UPV_80003000.png new file mode 100644 index 0000000000000000000000000000000000000000..6ef36955f233518e23e691a663b0206bb9f50ded Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_35UPV_80003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_35UPV_80005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_35UPV_80005000.png new file mode 100644 index 0000000000000000000000000000000000000000..8e93bf0eed0ea8d2c4ade098114c1322f9def880 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_35UPV_80005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_35UQV_05000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_35UQV_05000.png new file mode 100644 index 0000000000000000000000000000000000000000..e1e0761dbf61491b6d9cb3a37c1d27725bcdb513 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_35UQV_05000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_35VMC_20009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_35VMC_20009000.png new file mode 100644 index 0000000000000000000000000000000000000000..b7cd5c6e8031b6b5446a27c9e927d501db0cc5ec Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_35VMC_20009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_35VME_05000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_35VME_05000.png new file mode 100644 index 0000000000000000000000000000000000000000..6f654247e68128b5468fbb8e044a8a6af8617f3d Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_35VME_05000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_35VME_06000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_35VME_06000.png new file mode 100644 index 0000000000000000000000000000000000000000..2801a197a95dc3dcd7bceb4597a53e06b0ab172c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_35VME_06000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_35WNP_30006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_35WNP_30006000.png new file mode 100644 index 0000000000000000000000000000000000000000..458f86cafbd99de7f3f92ff86cf17a9f1bf5ff5c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_35WNP_30006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_35WPM_50009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_35WPM_50009000.png new file mode 100644 index 0000000000000000000000000000000000000000..98d28128e8b642bf3967cda40aa374b1eed6c783 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_35WPM_50009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_35WPR_60002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_35WPR_60002000.png new file mode 100644 index 0000000000000000000000000000000000000000..4811822f69fa4525dfe4ff226488a9e1ca4c341b Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_35WPR_60002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_36KUA_30005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_36KUA_30005000.png new file mode 100644 index 0000000000000000000000000000000000000000..0b987dd03872d5c94939114479b6ada983d618b3 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_36KUA_30005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_36KXE_50007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_36KXE_50007000.png new file mode 100644 index 0000000000000000000000000000000000000000..fc9a51fb6b504c372b740f13f27806ae3d3def81 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_36KXE_50007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_36KXE_70005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_36KXE_70005000.png new file mode 100644 index 0000000000000000000000000000000000000000..fa11814fc1e0627982ce183bdc77c487815ea1ff Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_36KXE_70005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_36NUJ_70008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_36NUJ_70008000.png new file mode 100644 index 0000000000000000000000000000000000000000..8ed34af664f7fa9f67ed58d523456b8c32638f52 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_36NUJ_70008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_36NYP_80003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_36NYP_80003000.png new file mode 100644 index 0000000000000000000000000000000000000000..20058be34455f3de0dc9d76091f40a41a661a5af Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_36NYP_80003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_36TWS_30005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_36TWS_30005000.png new file mode 100644 index 0000000000000000000000000000000000000000..271ecff6d67173965c64243104156f156adf4b99 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_36TWS_30005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_36UVE_03000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_36UVE_03000.png new file mode 100644 index 0000000000000000000000000000000000000000..cd6d1c8e324028fb81034c6f8276329ee7a425c9 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_36UVE_03000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_36VUH_10006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_36VUH_10006000.png new file mode 100644 index 0000000000000000000000000000000000000000..fe93383f31f2ee8238f09e8e5a401705b95d08a7 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_36VUH_10006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_36VUN_10007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_36VUN_10007000.png new file mode 100644 index 0000000000000000000000000000000000000000..573f07e6f36f53a72565f049f11c1c81424eb3f8 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_36VUN_10007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_36VVM_20006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_36VVM_20006000.png new file mode 100644 index 0000000000000000000000000000000000000000..11d040c9d79629ffd98967d6c06534f7379f617f Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_36VVM_20006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_36VXQ_30001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_36VXQ_30001000.png new file mode 100644 index 0000000000000000000000000000000000000000..b2cc28956a2b27baad0d5b74b5141d144b692769 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_36VXQ_30001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_36VXQ_50007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_36VXQ_50007000.png new file mode 100644 index 0000000000000000000000000000000000000000..7dab57c5d6f9798603d08c178cc9101e603853db Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_36VXQ_50007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_36VXQ_90003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_36VXQ_90003000.png new file mode 100644 index 0000000000000000000000000000000000000000..a37d59acc9ee0ca0828dbc9a9a1fbe4cb76b691f Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_36VXQ_90003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_37KCA_30007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_37KCA_30007000.png new file mode 100644 index 0000000000000000000000000000000000000000..3984f28f6690ecaa0ffae3de753c882230813393 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_37KCA_30007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_37KCB_40007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_37KCB_40007000.png new file mode 100644 index 0000000000000000000000000000000000000000..3a6925ec93447db57aa638e4ce3115c3e5f5d68e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_37KCB_40007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_37LDG_60003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_37LDG_60003000.png new file mode 100644 index 0000000000000000000000000000000000000000..ed74bb606302860378a59192d396952471515efa Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_37LDG_60003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_37LDH_20004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_37LDH_20004000.png new file mode 100644 index 0000000000000000000000000000000000000000..349314f5c1dac79547b2bc8dc67b5370f7223c6b Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_37LDH_20004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_37LDH_70004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_37LDH_70004000.png new file mode 100644 index 0000000000000000000000000000000000000000..ee634c52c3e87f22a13fa6b612afd383f46bb5f1 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_37LDH_70004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_37LDJ_90009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_37LDJ_90009000.png new file mode 100644 index 0000000000000000000000000000000000000000..df2c831144b88b71b692da18c55860f4f7a77f12 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_37LDJ_90009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_37LDL_90001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_37LDL_90001000.png new file mode 100644 index 0000000000000000000000000000000000000000..d70572fa65bac92ac2338c6201a51038adab5441 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_37LDL_90001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_37LEJ_70009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_37LEJ_70009000.png new file mode 100644 index 0000000000000000000000000000000000000000..86d9c249955f39675297381df2ac4f0149a59052 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_37LEJ_70009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_37LEK_30004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_37LEK_30004000.png new file mode 100644 index 0000000000000000000000000000000000000000..5a64c400053e6981dee51721b04c178e6c41b439 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_37LEK_30004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_37LFD_60006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_37LFD_60006000.png new file mode 100644 index 0000000000000000000000000000000000000000..a31c29a4e3c06e9b02048997938ea59a1412f500 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_37LFD_60006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_37LFD_60007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_37LFD_60007000.png new file mode 100644 index 0000000000000000000000000000000000000000..aa3b0f08216e3b14a9736b0f48bbb4310d89fc30 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_37LFD_60007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_37VCC_80005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_37VCC_80005000.png new file mode 100644 index 0000000000000000000000000000000000000000..bee4dc074f0ef820c1966fc864f9279788f738c7 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_37VCC_80005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_37VCG_10003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_37VCG_10003000.png new file mode 100644 index 0000000000000000000000000000000000000000..64059473e6ad244563a9e7626e379d4411269184 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_37VCG_10003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_37VCG_10009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_37VCG_10009000.png new file mode 100644 index 0000000000000000000000000000000000000000..d899b2beba94ae6e3a3c2520fe06ad42c1c90d6a Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_37VCG_10009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_37VCG_80001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_37VCG_80001000.png new file mode 100644 index 0000000000000000000000000000000000000000..a0e7114b6dc14cba9a7da615664aba39f619792e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_37VCG_80001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_37VCK_60000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_37VCK_60000.png new file mode 100644 index 0000000000000000000000000000000000000000..a83ff08489c729c9ddacfed6ae6419d4394432c8 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_37VCK_60000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_37VCK_80005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_37VCK_80005000.png new file mode 100644 index 0000000000000000000000000000000000000000..5e799b6f460f4911911e54572679e45ac01a7050 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_37VCK_80005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_37VEC_80001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_37VEC_80001000.png new file mode 100644 index 0000000000000000000000000000000000000000..02f4dc8567fa4686f3547db8b0f2f4c1d069b182 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_37VEC_80001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_37VEE_90005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_37VEE_90005000.png new file mode 100644 index 0000000000000000000000000000000000000000..e626ea14e8532ab386cdd57c35e2339baa4b3fba Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_37VEE_90005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_37VFF_10007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_37VFF_10007000.png new file mode 100644 index 0000000000000000000000000000000000000000..8e8685acd7cd418a59fc1c18e275e76152450a9b Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_37VFF_10007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_37VFL_10008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_37VFL_10008000.png new file mode 100644 index 0000000000000000000000000000000000000000..17c3231aa68e6f89ccffe1979163ed39ae373262 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_37VFL_10008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_37WDP_80006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_37WDP_80006000.png new file mode 100644 index 0000000000000000000000000000000000000000..c9280a0b6d35cd83a287858a4c115ffed031d672 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_37WDP_80006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_37WEN_70003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_37WEN_70003000.png new file mode 100644 index 0000000000000000000000000000000000000000..65ce931aba47d584461ec891329bb7befee58985 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_37WEN_70003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_37WEN_90003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_37WEN_90003000.png new file mode 100644 index 0000000000000000000000000000000000000000..7714800ca31fcb754ecb62e8070aaf13fd308d6d Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_37WEN_90003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_37WEQ_30006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_37WEQ_30006000.png new file mode 100644 index 0000000000000000000000000000000000000000..0f7d2b14fc642148d048e3e0250342ffebc2f8bf Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_37WEQ_30006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_37WEQ_30007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_37WEQ_30007000.png new file mode 100644 index 0000000000000000000000000000000000000000..3a3d02ed5643c1a39424f9ab5d23d9e8beb03e86 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_37WEQ_30007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_37WEQ_40002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_37WEQ_40002000.png new file mode 100644 index 0000000000000000000000000000000000000000..c60c3fe2003d05f56cd293f496bff0169461d354 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_37WEQ_40002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_37WEQ_80005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_37WEQ_80005000.png new file mode 100644 index 0000000000000000000000000000000000000000..d7d9cb07b10cacb50ae2e459e1323784767ce9f5 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_37WEQ_80005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_38JNT_50009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_38JNT_50009000.png new file mode 100644 index 0000000000000000000000000000000000000000..c689b58d8a7195e660b3d211e421c0b001b8835c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_38JNT_50009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_38KQE_30009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_38KQE_30009000.png new file mode 100644 index 0000000000000000000000000000000000000000..aa7cf03a60a40a8cd29a2fdef0f8a76dfe1408d0 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_38KQE_30009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_38NMJ_40004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_38NMJ_40004000.png new file mode 100644 index 0000000000000000000000000000000000000000..15c3e676028a17e36035a339f1acf32ed6f3049a Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_38NMJ_40004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_38NMJ_50009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_38NMJ_50009000.png new file mode 100644 index 0000000000000000000000000000000000000000..2fafa51219c24840405798f8fab77a4c26b54dfe Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_38NMJ_50009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_38NNJ_20003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_38NNJ_20003000.png new file mode 100644 index 0000000000000000000000000000000000000000..10a539c65e6c395d726ee8fad26241ecbc961c75 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_38NNJ_20003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_38PKQ_10002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_38PKQ_10002000.png new file mode 100644 index 0000000000000000000000000000000000000000..3694c10c089c59e0f8fc778dbf52b176414904ca Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_38PKQ_10002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_38PLQ_10003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_38PLQ_10003000.png new file mode 100644 index 0000000000000000000000000000000000000000..72e246ae50f9a998a20d6b34a46bb286a63a0ea2 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_38PLQ_10003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_38PNQ_90002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_38PNQ_90002000.png new file mode 100644 index 0000000000000000000000000000000000000000..a336b2c0e62c579808a59bc763c62bb32555bff4 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_38PNQ_90002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_38PRQ_50005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_38PRQ_50005000.png new file mode 100644 index 0000000000000000000000000000000000000000..a4b6b0f17e0a65aa3ace28af76df47465df44d7d Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_38PRQ_50005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_38PRR_90000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_38PRR_90000.png new file mode 100644 index 0000000000000000000000000000000000000000..6dea7b851773b1797ed1796d748dd807b9e975f4 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_38PRR_90000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_38UNG_50007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_38UNG_50007000.png new file mode 100644 index 0000000000000000000000000000000000000000..6f15112c3ca3cf7dc389d29e6a80e9b6f57b2c3d Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_38UNG_50007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_38UPE_60000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_38UPE_60000.png new file mode 100644 index 0000000000000000000000000000000000000000..c2fabcba7c0400f454169e826df99bf850c5dc4c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_38UPE_60000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_38UQD_40000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_38UQD_40000.png new file mode 100644 index 0000000000000000000000000000000000000000..9ce55f9832b7427be80c49d86254e2392aa2ec7a Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_38UQD_40000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_38UQD_60005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_38UQD_60005000.png new file mode 100644 index 0000000000000000000000000000000000000000..39aa86a71b8b255e1dece7ed7f738ce06cc120ee Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_38UQD_60005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_38VLM_10006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_38VLM_10006000.png new file mode 100644 index 0000000000000000000000000000000000000000..bfc78c8595b698fb8523fa262ef28cf3ba69629e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_38VLM_10006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_38VLM_10008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_38VLM_10008000.png new file mode 100644 index 0000000000000000000000000000000000000000..de758b65bf2c77ba49f606cf7bf94200a142fc30 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_38VLM_10008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_38VLM_20001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_38VLM_20001000.png new file mode 100644 index 0000000000000000000000000000000000000000..2751c17d7179abed01ffdd471847d163061b22ae Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_38VLM_20001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_38VLM_20005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_38VLM_20005000.png new file mode 100644 index 0000000000000000000000000000000000000000..f2c4ef78676ab1fc6d70e8ffd292188b508d007b Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_38VLM_20005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_38VLM_30003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_38VLM_30003000.png new file mode 100644 index 0000000000000000000000000000000000000000..087219664afdabdab816d34a267c76d8de57a204 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_38VLM_30003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_38VLR_40008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_38VLR_40008000.png new file mode 100644 index 0000000000000000000000000000000000000000..61319b00024ea7bd5193fa084150d02e646f806e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_38VLR_40008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_38VNJ_02000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_38VNJ_02000.png new file mode 100644 index 0000000000000000000000000000000000000000..b5b3735041473f7375f4d6737ef42c80c71c5b94 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_38VNJ_02000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_38VPH_40001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_38VPH_40001000.png new file mode 100644 index 0000000000000000000000000000000000000000..aa29ff479b8aed9d7d44124f8c7169c31978466c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_38VPH_40001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_38VPH_70005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_38VPH_70005000.png new file mode 100644 index 0000000000000000000000000000000000000000..104a23715178fa0901f84b3a4ed4cce1ce732909 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_38VPH_70005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_38VPJ_90002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_38VPJ_90002000.png new file mode 100644 index 0000000000000000000000000000000000000000..05e274add5d3974fc7086946a70267ef5048b53d Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_38VPJ_90002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_38VPM_20008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_38VPM_20008000.png new file mode 100644 index 0000000000000000000000000000000000000000..d9ab4d8f9ebe6b70098c700e47c7fa48d9a87498 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_38VPM_20008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_38WMV_70001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_38WMV_70001000.png new file mode 100644 index 0000000000000000000000000000000000000000..e63a4e759e28a1e161510df4e4ae83b73463e575 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_38WMV_70001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39TYG_50009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39TYG_50009000.png new file mode 100644 index 0000000000000000000000000000000000000000..666830a239a129e553f876a5a660a96ac58210d1 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39TYG_50009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39UUT_60001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39UUT_60001000.png new file mode 100644 index 0000000000000000000000000000000000000000..033c69900822c93f1fe348c399244cd730f6e5a5 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39UUT_60001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39UUT_80002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39UUT_80002000.png new file mode 100644 index 0000000000000000000000000000000000000000..fe77bd2489d6e1fab043851e65e4b27e505ded42 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39UUT_80002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39UVB_20002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39UVB_20002000.png new file mode 100644 index 0000000000000000000000000000000000000000..0e33cb55d44122c8f34147beb50eb5b43eebb66e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39UVB_20002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39UWB_02000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39UWB_02000.png new file mode 100644 index 0000000000000000000000000000000000000000..5639b7699921e5cf67466eb869a1573646cf9a43 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39UWB_02000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39UWB_40000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39UWB_40000.png new file mode 100644 index 0000000000000000000000000000000000000000..0f51a101b9564935895bdbfb941d74a2da954752 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39UWB_40000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39UWU_40005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39UWU_40005000.png new file mode 100644 index 0000000000000000000000000000000000000000..32d72259cde38996c70e640e41297c6bd6cea553 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39UWU_40005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39UWV_01000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39UWV_01000.png new file mode 100644 index 0000000000000000000000000000000000000000..1afed1624169cad2142d3c1985a1e5ecf38e2ceb Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39UWV_01000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39VUF_80000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39VUF_80000.png new file mode 100644 index 0000000000000000000000000000000000000000..c5b19cee73e2f8034c73453a96c79a6658625889 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39VUF_80000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39VVC_02000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39VVC_02000.png new file mode 100644 index 0000000000000000000000000000000000000000..ae59e56d78fa2f63c66f0541241cbc722abf697d Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39VVC_02000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39VVC_30004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39VVC_30004000.png new file mode 100644 index 0000000000000000000000000000000000000000..17772135c02b1c3c3c459e917e6b3c0f69491e1e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39VVC_30004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39VVC_70005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39VVC_70005000.png new file mode 100644 index 0000000000000000000000000000000000000000..c0362e1f341ff53ad88b5ffcaf1fcb5afdd1da95 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39VVC_70005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39VVC_90007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39VVC_90007000.png new file mode 100644 index 0000000000000000000000000000000000000000..5b87b6ef958c2b14cb1d9d47c68054168dcc2f7c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39VVC_90007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39VVD_10007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39VVD_10007000.png new file mode 100644 index 0000000000000000000000000000000000000000..9814387cc5e9ac15b9fbc0481b61017f41d799b6 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39VVD_10007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39VVD_20005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39VVD_20005000.png new file mode 100644 index 0000000000000000000000000000000000000000..aa380f7bed28cbfddb53e8f64ef29aef4924c5b0 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39VVD_20005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39VVE_50002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39VVE_50002000.png new file mode 100644 index 0000000000000000000000000000000000000000..79a0085b634aa740d1d2b9d7095fbd004f296442 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39VVE_50002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39VVE_70002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39VVE_70002000.png new file mode 100644 index 0000000000000000000000000000000000000000..42745b244eb1205594e2b26128766dd6f46486d8 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39VVE_70002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39VVE_90000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39VVE_90000.png new file mode 100644 index 0000000000000000000000000000000000000000..933a8825ac47086d44da27a3099a56413b36414f Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39VVE_90000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39VVL_30006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39VVL_30006000.png new file mode 100644 index 0000000000000000000000000000000000000000..1f1445b364a792aacbaafa4190230c18fe04aa5e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39VVL_30006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39VWD_80001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39VWD_80001000.png new file mode 100644 index 0000000000000000000000000000000000000000..d15524f6e84238fd2eacc1aa6b4ec8e47483ff6a Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39VWD_80001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39VWF_05000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39VWF_05000.png new file mode 100644 index 0000000000000000000000000000000000000000..6d0d16a260fcbdc67f153b3132884702dd6da375 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39VWF_05000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39VWF_30008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39VWF_30008000.png new file mode 100644 index 0000000000000000000000000000000000000000..61821785a69209fdcd6c48e8a86e5ddf14f2bf34 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39VWF_30008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39VWF_40008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39VWF_40008000.png new file mode 100644 index 0000000000000000000000000000000000000000..be36178390ee9f0b581d25a6286162b4bcd86838 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39VWF_40008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39VWF_90009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39VWF_90009000.png new file mode 100644 index 0000000000000000000000000000000000000000..66802227f63dac128008b83c720960bb8f3e5726 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39VWF_90009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39VWL_10000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39VWL_10000.png new file mode 100644 index 0000000000000000000000000000000000000000..dc6316d899a38381e8b68d17610a5b71846559e6 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39VWL_10000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39VWL_40008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39VWL_40008000.png new file mode 100644 index 0000000000000000000000000000000000000000..2f8cd29191ff90a089515b33bc80217566d729ea Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39VWL_40008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39VXE_10001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39VXE_10001000.png new file mode 100644 index 0000000000000000000000000000000000000000..b2df56ed7a30f5d8be8eac1b2f18cf312abe8080 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39VXE_10001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39VXE_30000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39VXE_30000.png new file mode 100644 index 0000000000000000000000000000000000000000..2c53175a795697ca6e3cbddd94f42a9997378329 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39VXE_30000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39VXF_40008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39VXF_40008000.png new file mode 100644 index 0000000000000000000000000000000000000000..863e9ab0e74984e6b083521a600193f5ad06e410 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39VXF_40008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39VXG_50001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39VXG_50001000.png new file mode 100644 index 0000000000000000000000000000000000000000..74394942134577b9f075a98d4f3f7470e60152a0 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39VXG_50001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39VXG_70004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39VXG_70004000.png new file mode 100644 index 0000000000000000000000000000000000000000..0c59453d8aa89ed32003510999b71388e2c292ae Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39VXG_70004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39VXG_80005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39VXG_80005000.png new file mode 100644 index 0000000000000000000000000000000000000000..e25d7d8922cdd09db70a97802f13420bcb6ae5b9 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39VXG_80005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39WVN_10005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39WVN_10005000.png new file mode 100644 index 0000000000000000000000000000000000000000..716255ea520c60c738561b50a152e1d21ddeaecb Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39WVN_10005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39WVN_20006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39WVN_20006000.png new file mode 100644 index 0000000000000000000000000000000000000000..e96330bfb0e594ea2f80a7e3060d331ff7262216 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39WVN_20006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39WVQ_07000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39WVQ_07000.png new file mode 100644 index 0000000000000000000000000000000000000000..e75c10257971dbbf08692656d4f94ee9b9d644e6 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39WVQ_07000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39WXS_09000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39WXS_09000.png new file mode 100644 index 0000000000000000000000000000000000000000..48a4334f2488e08e97fbe58b4202896b0d87dfd7 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_39WXS_09000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_40UCG_60008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_40UCG_60008000.png new file mode 100644 index 0000000000000000000000000000000000000000..6a2fc1999293a63c8f90aab1f887d0245ea03f93 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_40UCG_60008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_40UCG_70001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_40UCG_70001000.png new file mode 100644 index 0000000000000000000000000000000000000000..bae3a0fd62ac7c8fcf0a33f10d0811d49b05dd94 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_40UCG_70001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_40UCG_70008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_40UCG_70008000.png new file mode 100644 index 0000000000000000000000000000000000000000..fcef6451ed48688b9a9b5012ed4701baab360fd6 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_40UCG_70008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_40UEV_10005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_40UEV_10005000.png new file mode 100644 index 0000000000000000000000000000000000000000..9dd787944840d9a8434e536b65464289eea38e11 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_40UEV_10005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_40UFG_50000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_40UFG_50000.png new file mode 100644 index 0000000000000000000000000000000000000000..5336829a5cc6dd75b6b695e6be582b0275de8d0c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_40UFG_50000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_40UFG_90000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_40UFG_90000.png new file mode 100644 index 0000000000000000000000000000000000000000..37f87d27e6d03efe94c2ba6930bfdf48f7f67fd1 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_40UFG_90000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_40VCH_70005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_40VCH_70005000.png new file mode 100644 index 0000000000000000000000000000000000000000..c29a310917598f8b52addf0e5765a72a971c0dd3 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_40VCH_70005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_40VCH_80002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_40VCH_80002000.png new file mode 100644 index 0000000000000000000000000000000000000000..a60540c2e02a60622f29e21d39da88f8d7b5006f Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_40VCH_80002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_40VCM_40005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_40VCM_40005000.png new file mode 100644 index 0000000000000000000000000000000000000000..d3eebb4061eb561842474dda4cccf7840d5b57ce Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_40VCM_40005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_40VCN_80004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_40VCN_80004000.png new file mode 100644 index 0000000000000000000000000000000000000000..f71ecfd1c00466db2a4ec28b4cdb94ed4c0a032d Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_40VCN_80004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_40VCN_80008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_40VCN_80008000.png new file mode 100644 index 0000000000000000000000000000000000000000..6b9b4596aff0b931641714c5f9886e3336304bc8 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_40VCN_80008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_40VCQ_40003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_40VCQ_40003000.png new file mode 100644 index 0000000000000000000000000000000000000000..e597901c1cf97d5c310498db91265065f12ecb0e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_40VCQ_40003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_40VDN_04000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_40VDN_04000.png new file mode 100644 index 0000000000000000000000000000000000000000..7515c0c9854e5f4289a84f3e5b31d40584c47711 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_40VDN_04000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_40VEK_60000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_40VEK_60000.png new file mode 100644 index 0000000000000000000000000000000000000000..336956f622c3995c814a7299cd5ecb61e17b5d4f Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_40VEK_60000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_40VEQ_80006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_40VEQ_80006000.png new file mode 100644 index 0000000000000000000000000000000000000000..a97cfa66b4fc530a476a8e05961f6fad66406fa1 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_40VEQ_80006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_40VFQ_50006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_40VFQ_50006000.png new file mode 100644 index 0000000000000000000000000000000000000000..8c37c7fb608ab098fbb11639a1ef8fadcddcf1d3 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_40VFQ_50006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_41UPU_70004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_41UPU_70004000.png new file mode 100644 index 0000000000000000000000000000000000000000..20b70ae0898e58c707911ec8fa8b9777eb5c904e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_41UPU_70004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_41UQT_10004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_41UQT_10004000.png new file mode 100644 index 0000000000000000000000000000000000000000..60c97e4323c5d47d513091310f6cae5fa7b37f3c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_41UQT_10004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_41UQU_50004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_41UQU_50004000.png new file mode 100644 index 0000000000000000000000000000000000000000..b64e7710cac29c3297a601282458b07cd8703752 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_41UQU_50004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_41UQU_50009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_41UQU_50009000.png new file mode 100644 index 0000000000000000000000000000000000000000..03bd401541da1cc7c89cde953c3fef1b777ef927 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_41UQU_50009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_41UQU_80008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_41UQU_80008000.png new file mode 100644 index 0000000000000000000000000000000000000000..250cdaa200a7e0d325139a19b3f17d9c30d1a059 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_41UQU_80008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_41VMC_03000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_41VMC_03000.png new file mode 100644 index 0000000000000000000000000000000000000000..d42bc760971d3622af78eea9da524b96f9a14450 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_41VMC_03000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_41VME_40003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_41VME_40003000.png new file mode 100644 index 0000000000000000000000000000000000000000..921e2a70c01096444c055693c7a16f27515cdc94 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_41VME_40003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_41VPH_10002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_41VPH_10002000.png new file mode 100644 index 0000000000000000000000000000000000000000..bac8fada8e3f239150de228b1a36d03f1e1864c6 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_41VPH_10002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_41WNS_90007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_41WNS_90007000.png new file mode 100644 index 0000000000000000000000000000000000000000..72b897f36f56c4911ee6ce9adefca372acb23051 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_41WNS_90007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_41WPQ_10002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_41WPQ_10002000.png new file mode 100644 index 0000000000000000000000000000000000000000..ee15633a1ba3e0e6cfdb8cd1b84b7670c8a309c2 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_41WPQ_10002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_42UVC_50000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_42UVC_50000.png new file mode 100644 index 0000000000000000000000000000000000000000..b461a4e1cd07fe2b33815b73eb4806861a85cfc0 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_42UVC_50000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_42UVE_10001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_42UVE_10001000.png new file mode 100644 index 0000000000000000000000000000000000000000..1ebd3474bdd46552e2e3f34a66b7c7fc24f739f1 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_42UVE_10001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_42UWG_50006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_42UWG_50006000.png new file mode 100644 index 0000000000000000000000000000000000000000..f060386bbd149c4f7d1aa89eac444c8b06e94932 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_42UWG_50006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_42UXE_60009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_42UXE_60009000.png new file mode 100644 index 0000000000000000000000000000000000000000..80ad6c4d1e4ed48dbe09f4e9aefa22ea1f4841e4 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_42UXE_60009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_42UYE_10009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_42UYE_10009000.png new file mode 100644 index 0000000000000000000000000000000000000000..fd28274f261d0300af3f7af3ee13b577f5fdb514 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_42UYE_10009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_42VWL_01000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_42VWL_01000.png new file mode 100644 index 0000000000000000000000000000000000000000..3af3f3b4fdc63a7ccfd1190faed401cc66a25a1d Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_42VWL_01000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_42VWR_08000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_42VWR_08000.png new file mode 100644 index 0000000000000000000000000000000000000000..386a162ed91ca757e0cf734cab8f7235087ea074 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_42VWR_08000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_42VWR_10009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_42VWR_10009000.png new file mode 100644 index 0000000000000000000000000000000000000000..b01bd29d7e8b14b1822a48283b280a6a6d6006a8 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_42VWR_10009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_42VXJ_20006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_42VXJ_20006000.png new file mode 100644 index 0000000000000000000000000000000000000000..423c917b9cf26d776f608750eed196f8eb24329d Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_42VXJ_20006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_42VXK_06000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_42VXK_06000.png new file mode 100644 index 0000000000000000000000000000000000000000..ee5bbd5c5772b6d17a2ba5cd8e9d033d9cc15a1c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_42VXK_06000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_43UCV_70002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_43UCV_70002000.png new file mode 100644 index 0000000000000000000000000000000000000000..5a9021df35fc41fbd6ce76afccd6ce25110acb15 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_43UCV_70002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_43VFJ_80003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_43VFJ_80003000.png new file mode 100644 index 0000000000000000000000000000000000000000..a57bba22ea773f66238abb67d878d878fbafba5b Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_43VFJ_80003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_43WFN_70001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_43WFN_70001000.png new file mode 100644 index 0000000000000000000000000000000000000000..b099a14ac14ed553f8c7b344aa628d7c955c9ad2 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_43WFN_70001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_43WFN_70003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_43WFN_70003000.png new file mode 100644 index 0000000000000000000000000000000000000000..77960d15bb97d608601762803fac72f7c6ccfd4c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_43WFN_70003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_44RMS_70003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_44RMS_70003000.png new file mode 100644 index 0000000000000000000000000000000000000000..ca7f102961117b304786135f03789df639ab1be8 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_44RMS_70003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_44RMS_70006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_44RMS_70006000.png new file mode 100644 index 0000000000000000000000000000000000000000..b3f8ecdc088fcc8379199dd7af1ffd181e981f76 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_44RMS_70006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_44UNV_70006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_44UNV_70006000.png new file mode 100644 index 0000000000000000000000000000000000000000..f48e3b5563c9a97f2e4a9dcd6c99936750f073ce Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_44UNV_70006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_44VNH_70003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_44VNH_70003000.png new file mode 100644 index 0000000000000000000000000000000000000000..71c475b3025a63a7290ad10f48ecbc603beea4be Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_44VNH_70003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_44WNT_20009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_44WNT_20009000.png new file mode 100644 index 0000000000000000000000000000000000000000..b52aa17072405ccb882ef5c9d30dc93d34df469a Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_44WNT_20009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_44XNF_90000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_44XNF_90000.png new file mode 100644 index 0000000000000000000000000000000000000000..bcc47c29994b8837dc0b4442a44650a870e212b6 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_44XNF_90000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_44XPF_70006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_44XPF_70006000.png new file mode 100644 index 0000000000000000000000000000000000000000..94e66ebe31546e5c280c9c7025eab883fba8c781 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_44XPF_70006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_45VVC_50006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_45VVC_50006000.png new file mode 100644 index 0000000000000000000000000000000000000000..41032777e3320fb83812a2978a2f0b616adb125a Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_45VVC_50006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_45WWQ_50007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_45WWQ_50007000.png new file mode 100644 index 0000000000000000000000000000000000000000..818601dd3e1c5fd879bcf3da097bfbef15a9262d Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_45WWQ_50007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_45WXQ_40008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_45WXQ_40008000.png new file mode 100644 index 0000000000000000000000000000000000000000..4e944c9242b6a9ee0565f523d568c738e9ea644e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_45WXQ_40008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_45XWA_40001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_45XWA_40001000.png new file mode 100644 index 0000000000000000000000000000000000000000..12df267250c6eefbdfc7d096514190fcc84d4cdc Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_45XWA_40001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_45XWA_70003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_45XWA_70003000.png new file mode 100644 index 0000000000000000000000000000000000000000..70129ea65117c02eaba26dd4fda39cc97374fe27 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_45XWA_70003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_46UDA_50007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_46UDA_50007000.png new file mode 100644 index 0000000000000000000000000000000000000000..5ea00801a3b5148a708677eac8e4cd0487fac3d6 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_46UDA_50007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_46WEV_01000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_46WEV_01000.png new file mode 100644 index 0000000000000000000000000000000000000000..bc1ab9c2768966d702474c8b06fb3f03ed9f02ca Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_46WEV_01000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_47TPJ_40009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_47TPJ_40009000.png new file mode 100644 index 0000000000000000000000000000000000000000..37d5ef7b49bcf1d08412248f1b8a81bca66e0a33 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_47TPJ_40009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_47UPU_50009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_47UPU_50009000.png new file mode 100644 index 0000000000000000000000000000000000000000..c2a05d2305977d9ef900f38b9952aa5c0a2e0f37 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_47UPU_50009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_47VPC_10002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_47VPC_10002000.png new file mode 100644 index 0000000000000000000000000000000000000000..7430e30c9451b4354b2997e6706bf78f5ac9cc5f Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_47VPC_10002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_47WMV_70006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_47WMV_70006000.png new file mode 100644 index 0000000000000000000000000000000000000000..5a794f6cc5214cee49bc2e911dc4424c4636a72a Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_47WMV_70006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_47WNU_02000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_47WNU_02000.png new file mode 100644 index 0000000000000000000000000000000000000000..5498df3f2875cea79558d7c786998f03790f695b Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_47WNU_02000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_48PYT_00.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_48PYT_00.png new file mode 100644 index 0000000000000000000000000000000000000000..8218d6c051a1f61950bb3fca5f4b70a402410553 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_48PYT_00.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_48VUJ_20001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_48VUJ_20001000.png new file mode 100644 index 0000000000000000000000000000000000000000..332c4862c0be5a463d517e535b57b7399a5bcc2e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_48VUJ_20001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_49UCS_10004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_49UCS_10004000.png new file mode 100644 index 0000000000000000000000000000000000000000..fe0a148b98e2d6272fa9014308718d808bda4a2c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_49UCS_10004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_49WDS_80004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_49WDS_80004000.png new file mode 100644 index 0000000000000000000000000000000000000000..0d5f8faafde15660824d564ff21a56ed354f17cd Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_49WDS_80004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_49WES_10005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_49WES_10005000.png new file mode 100644 index 0000000000000000000000000000000000000000..0344234f284b2e2374fc38971a52317cab772c8a Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_49WES_10005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_50WPB_60002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_50WPB_60002000.png new file mode 100644 index 0000000000000000000000000000000000000000..1340e7feff0cdac21d7bcd959ce870ef94f2385d Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_50WPB_60002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_50WPU_60008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_50WPU_60008000.png new file mode 100644 index 0000000000000000000000000000000000000000..907c5d401f696a917718fdcb3f3c479e7de498d5 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_50WPU_60008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_51JTK_50006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_51JTK_50006000.png new file mode 100644 index 0000000000000000000000000000000000000000..c9ac2d2f184f02826932fbee2e16581297a6ed60 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_51JTK_50006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_51TVN_60000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_51TVN_60000.png new file mode 100644 index 0000000000000000000000000000000000000000..08db276fdf591b1d1a095488119500ae07241e3b Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_51TVN_60000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_51VWK_50007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_51VWK_50007000.png new file mode 100644 index 0000000000000000000000000000000000000000..db371ab627c36915ce36b8bc2a50fe5232f674f8 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_51VWK_50007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_52VEL_80004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_52VEL_80004000.png new file mode 100644 index 0000000000000000000000000000000000000000..3a0bc9a54a8d4ceb0995968c90eabac725aa995e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_52VEL_80004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_52WFB_50001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_52WFB_50001000.png new file mode 100644 index 0000000000000000000000000000000000000000..6d6072a59c824110afc3980c80bb099746ace8e5 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_52WFB_50001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_52WFU_80008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_52WFU_80008000.png new file mode 100644 index 0000000000000000000000000000000000000000..e8b0f8633dfc7d8ff2c418e14a1f9bde3da3f002 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_52WFU_80008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_54VXR_70009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_54VXR_70009000.png new file mode 100644 index 0000000000000000000000000000000000000000..57580f0b267becd3e67aea4a3b06bedf4f2a69c9 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_54VXR_70009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_55WEU_20006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_55WEU_20006000.png new file mode 100644 index 0000000000000000000000000000000000000000..873b87e511ae7cad0e568734c782d3ad4c2d5eb1 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_55WEU_20006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_55WFM_70008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_55WFM_70008000.png new file mode 100644 index 0000000000000000000000000000000000000000..c725aa00d7ae871d1fb6c14f038d8b3bf962c8a2 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_55WFM_70008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_57UVA_90009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_57UVA_90009000.png new file mode 100644 index 0000000000000000000000000000000000000000..fad7e6b8ca951b0bc68f1e43b3c307dc27bbce24 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_57UVA_90009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_58KEB_00.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_58KEB_00.png new file mode 100644 index 0000000000000000000000000000000000000000..0747b21e3c16e429e3a8681b53448593c6e452bd Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_58KEB_00.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_58WEC_40004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_58WEC_40004000.png new file mode 100644 index 0000000000000000000000000000000000000000..1e7fcdfaa49f94e065ccad892b8de540a5c357db Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_58WEC_40004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_58WFB_20000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_58WFB_20000.png new file mode 100644 index 0000000000000000000000000000000000000000..9fa4bf37a7b89f90a08008835b80bd3627f59793 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_58WFB_20000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_60HUD_50006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_60HUD_50006000.png new file mode 100644 index 0000000000000000000000000000000000000000..8e70d0c4b8edb6b88ff53d57af85081fc5dfaf2d Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/GT_60HUD_50006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_01WFN_70003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_01WFN_70003000.png new file mode 100644 index 0000000000000000000000000000000000000000..f752566fcddbd7e4d2f91b0a48b44bef2f07e642 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_01WFN_70003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_03WVP_40005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_03WVP_40005000.png new file mode 100644 index 0000000000000000000000000000000000000000..aa0afaf7486b3da880a298c28f4f079ca5611333 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_03WVP_40005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_03WVP_50009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_03WVP_50009000.png new file mode 100644 index 0000000000000000000000000000000000000000..ac6f7d28565ff90fb560ebeedb25249c08d21ea1 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_03WVP_50009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_03WWP_30006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_03WWP_30006000.png new file mode 100644 index 0000000000000000000000000000000000000000..082387510606049d5779d28ee798e7f829263905 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_03WWP_30006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_04WFS_30001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_04WFS_30001000.png new file mode 100644 index 0000000000000000000000000000000000000000..ae785069902727581ceb92493fc0f1da2a960b5b Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_04WFS_30001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_05WPT_90004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_05WPT_90004000.png new file mode 100644 index 0000000000000000000000000000000000000000..8be48b3c70e83ac52d1fc5e1fd1cf07e06e73f31 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_05WPT_90004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_08WNA_10003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_08WNA_10003000.png new file mode 100644 index 0000000000000000000000000000000000000000..3298ea277a94b77d547a695088c5b00e3ef56157 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_08WNA_10003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_10VDM_10002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_10VDM_10002000.png new file mode 100644 index 0000000000000000000000000000000000000000..b3589aba519f3416d94ddcab4c8a17b64aa4f7ca Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_10VDM_10002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_11TPM_30008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_11TPM_30008000.png new file mode 100644 index 0000000000000000000000000000000000000000..fae97179a333f9b3c1300344be082f59981821da Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_11TPM_30008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_11UMT_10008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_11UMT_10008000.png new file mode 100644 index 0000000000000000000000000000000000000000..331bedccde6ad65520feab9609f50ba8c7d0b21c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_11UMT_10008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_11UPA_10002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_11UPA_10002000.png new file mode 100644 index 0000000000000000000000000000000000000000..92d6b0c2184fcecb8e1a69e7e59f974f3d19a8d8 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_11UPA_10002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_11VNC_90006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_11VNC_90006000.png new file mode 100644 index 0000000000000000000000000000000000000000..11762046df7d85999d7f9ddf7a5ed52b4f6db746 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_11VNC_90006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_11WNT_50006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_11WNT_50006000.png new file mode 100644 index 0000000000000000000000000000000000000000..7c628b07c87b299a4566b97d73f664998bb9d225 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_11WNT_50006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_11WNU_60003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_11WNU_60003000.png new file mode 100644 index 0000000000000000000000000000000000000000..15999bfbeb009045fbc1b6fddbbba7ac36ec959d Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_11WNU_60003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_12UWF_30001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_12UWF_30001000.png new file mode 100644 index 0000000000000000000000000000000000000000..a61061f8356c221c6e8ce212ed729d1fde679186 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_12UWF_30001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_12UWF_40000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_12UWF_40000.png new file mode 100644 index 0000000000000000000000000000000000000000..d34142816cd8fae1cb01d30f63c8d8f88eb3fe44 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_12UWF_40000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_14RNQ_40006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_14RNQ_40006000.png new file mode 100644 index 0000000000000000000000000000000000000000..085e85603deb6300eafd1e897a53d101a5ac4189 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_14RNQ_40006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_14RNQ_40008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_14RNQ_40008000.png new file mode 100644 index 0000000000000000000000000000000000000000..9bcb5619f35c9649a26e6ac21f9439ee49f22b29 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_14RNQ_40008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_14RPT_03000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_14RPT_03000.png new file mode 100644 index 0000000000000000000000000000000000000000..9e80a2b8b8d70ca8bbf16d19bf7ad3d33506472c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_14RPT_03000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_14RPT_20000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_14RPT_20000.png new file mode 100644 index 0000000000000000000000000000000000000000..589ded5bdc65c027d48ff342734f481e2ac9562f Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_14RPT_20000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_14SQB_10009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_14SQB_10009000.png new file mode 100644 index 0000000000000000000000000000000000000000..d7afdcb53d22c490fe596a57c5a5e2a18ac266d8 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_14SQB_10009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_14SQC_50001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_14SQC_50001000.png new file mode 100644 index 0000000000000000000000000000000000000000..a12bfd74e097f4f9cf5b93962384e7b8313dbd38 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_14SQC_50001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_14SQC_50007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_14SQC_50007000.png new file mode 100644 index 0000000000000000000000000000000000000000..26bc7e1cab561bf995ec5d6b050d0dfda035f240 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_14SQC_50007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_14TNM_40004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_14TNM_40004000.png new file mode 100644 index 0000000000000000000000000000000000000000..d97fef26d1631155a2b437ac8a239609992b0921 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_14TNM_40004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_15RTP_70009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_15RTP_70009000.png new file mode 100644 index 0000000000000000000000000000000000000000..b647e93aebc66007f05b5eb0169f6e2538ee6335 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_15RTP_70009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_15RYQ_90007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_15RYQ_90007000.png new file mode 100644 index 0000000000000000000000000000000000000000..1eb64c687fba10b685eec01e7583063ede6daf1c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_15RYQ_90007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_15STB_80005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_15STB_80005000.png new file mode 100644 index 0000000000000000000000000000000000000000..9c9b613263584ac62075620f54685b5688e44f52 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_15STB_80005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_15SUD_30006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_15SUD_30006000.png new file mode 100644 index 0000000000000000000000000000000000000000..b9629f13593b3001e2b7a9ba6cf6bb3bc8216c67 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_15SUD_30006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_15TUE_40009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_15TUE_40009000.png new file mode 100644 index 0000000000000000000000000000000000000000..d4765d418ffcc6b5cbce35c924d968a7e72df994 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_15TUE_40009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_15TWG_90000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_15TWG_90000.png new file mode 100644 index 0000000000000000000000000000000000000000..7be465dca34d483ec8d78bb57b57b0382fcaf3a8 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_15TWG_90000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_16RDU_70003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_16RDU_70003000.png new file mode 100644 index 0000000000000000000000000000000000000000..f2697d04e5f18403c2abaeeb24704190bd529712 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_16RDU_70003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_16SEC_20009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_16SEC_20009000.png new file mode 100644 index 0000000000000000000000000000000000000000..538e4e8009708cab28da1d2a7e14856617225e24 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_16SEC_20009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_16SEC_40009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_16SEC_40009000.png new file mode 100644 index 0000000000000000000000000000000000000000..0bcb386291b80afc5797ef4de47cdcf320be65e0 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_16SEC_40009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_16WDD_90002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_16WDD_90002000.png new file mode 100644 index 0000000000000000000000000000000000000000..bad1437b9f3e2c78ee3b2eb29fc3096f89bfded9 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_16WDD_90002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_16XDP_30000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_16XDP_30000.png new file mode 100644 index 0000000000000000000000000000000000000000..36f856ab1394e0d6e5f507b4d95e1d3e4c552078 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_16XDP_30000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_16XEF_50002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_16XEF_50002000.png new file mode 100644 index 0000000000000000000000000000000000000000..97d3a859b3872bb62ff362686cb047140ee9e968 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_16XEF_50002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_16XEF_70002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_16XEF_70002000.png new file mode 100644 index 0000000000000000000000000000000000000000..e88bbe423ece38925538928e711ef0832a5e7405 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_16XEF_70002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_17SMU_70005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_17SMU_70005000.png new file mode 100644 index 0000000000000000000000000000000000000000..577257c097c0f86cf45c8834339f9c220eb51591 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_17SMU_70005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_17TLJ_10008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_17TLJ_10008000.png new file mode 100644 index 0000000000000000000000000000000000000000..dd5003621af020bf85355389302abd095bcf58b2 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_17TLJ_10008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_17TMF_50006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_17TMF_50006000.png new file mode 100644 index 0000000000000000000000000000000000000000..7de2dc59714a6992c3423b4064a82ed7da187166 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_17TMF_50006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_17TNJ_30008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_17TNJ_30008000.png new file mode 100644 index 0000000000000000000000000000000000000000..43854fb3d92b2eb61631e98e213798b0b297ae9b Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_17TNJ_30008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_17WPT_09000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_17WPT_09000.png new file mode 100644 index 0000000000000000000000000000000000000000..f49eaca7489644ea293d9656cc65bc32851e8a8e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_17WPT_09000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_18VXJ_10001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_18VXJ_10001000.png new file mode 100644 index 0000000000000000000000000000000000000000..c6f9bb33c7f58dae8671e7f28eca94227d0a5a23 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_18VXJ_10001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_19XEL_06000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_19XEL_06000.png new file mode 100644 index 0000000000000000000000000000000000000000..1c1e1aa461de9bd86dbdf6de07c459dae146ee92 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_19XEL_06000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_20UQD_70005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_20UQD_70005000.png new file mode 100644 index 0000000000000000000000000000000000000000..9783d5e2b950dd11039b26b44864c10d51de3938 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_20UQD_70005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_21MWS_20004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_21MWS_20004000.png new file mode 100644 index 0000000000000000000000000000000000000000..5059943c6b1595d27f1af82151f4fe778588ef9a Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_21MWS_20004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_21MWS_60004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_21MWS_60004000.png new file mode 100644 index 0000000000000000000000000000000000000000..412f8743a537b77a1f42a4ca4597988ad0222841 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_21MWS_60004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_21MXS_60008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_21MXS_60008000.png new file mode 100644 index 0000000000000000000000000000000000000000..30dffb4f3745b39acf736c539ca88908884f0bdc Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_21MXS_60008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_21MXS_90003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_21MXS_90003000.png new file mode 100644 index 0000000000000000000000000000000000000000..eae7251352908a67d933a5e8fc4415d975ace6c2 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_21MXS_90003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_21UVT_60000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_21UVT_60000.png new file mode 100644 index 0000000000000000000000000000000000000000..c99ada662106b3ff034a223f1529ce520715d919 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_21UVT_60000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_21XVL_50003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_21XVL_50003000.png new file mode 100644 index 0000000000000000000000000000000000000000..3fe92cf1d0f0454244fac138b2457517fc2ee05f Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_21XVL_50003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_21XVL_90003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_21XVL_90003000.png new file mode 100644 index 0000000000000000000000000000000000000000..532215560c6dbcc56f28badd9b09d745eca001a1 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_21XVL_90003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_22NDF_10008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_22NDF_10008000.png new file mode 100644 index 0000000000000000000000000000000000000000..02dc162d311af9db2aaae81bd68539feff0c9bf2 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_22NDF_10008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_22VFN_60000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_22VFN_60000.png new file mode 100644 index 0000000000000000000000000000000000000000..d6f206ee1d34c730d8934983c2b7db6ac5489f73 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_22VFN_60000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_23KQB_20007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_23KQB_20007000.png new file mode 100644 index 0000000000000000000000000000000000000000..a18e675f37c3cfa691d6d3d172cf72845044508d Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_23KQB_20007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_23VLH_40001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_23VLH_40001000.png new file mode 100644 index 0000000000000000000000000000000000000000..510988569698e6f6c88b6246755ec12bc2d9f0d0 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_23VLH_40001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_24KTA_10005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_24KTA_10005000.png new file mode 100644 index 0000000000000000000000000000000000000000..cc88fba2253480eb0fcd00e52c7c5203a28abd86 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_24KTA_10005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_24KTB_20009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_24KTB_20009000.png new file mode 100644 index 0000000000000000000000000000000000000000..8aceebb7249604571d70c965acbf9cf335e45479 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_24KTB_20009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_24WVS_30001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_24WVS_30001000.png new file mode 100644 index 0000000000000000000000000000000000000000..5c3edd9603706342843f853da227b81835bde504 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_24WVS_30001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_26WNB_80002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_26WNB_80002000.png new file mode 100644 index 0000000000000000000000000000000000000000..07dcb438f7ad335bda8745d514df611a8f484db5 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_26WNB_80002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_26WNE_04000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_26WNE_04000.png new file mode 100644 index 0000000000000000000000000000000000000000..e52a0c45d044d63fc1860a485b30679311a33f10 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_26WNE_04000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_26WPD_10005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_26WPD_10005000.png new file mode 100644 index 0000000000000000000000000000000000000000..267aa6ead3b77589e8349a1cff9d1a902132227d Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_26WPD_10005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_26WPD_30006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_26WPD_30006000.png new file mode 100644 index 0000000000000000000000000000000000000000..29ee22d55e165a3dbf00a1d1c4d60b4fd7489816 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_26WPD_30006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_26WPD_40000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_26WPD_40000.png new file mode 100644 index 0000000000000000000000000000000000000000..9e72419a4800790a59c94bb8aea5f575c41c6ecf Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_26WPD_40000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_26XNF_80000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_26XNF_80000.png new file mode 100644 index 0000000000000000000000000000000000000000..096e6e3aa7f32e5f0c1bf6706d062969e253fcfc Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_26XNF_80000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_27WVT_10006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_27WVT_10006000.png new file mode 100644 index 0000000000000000000000000000000000000000..1c579db6c57294ab292bc8b113a5dff0ce3e40ee Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_27WVT_10006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_27WWN_10002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_27WWN_10002000.png new file mode 100644 index 0000000000000000000000000000000000000000..65455f7459df61794f5cd6f4c264b86db15ac08c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_27WWN_10002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_28PGC_04000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_28PGC_04000.png new file mode 100644 index 0000000000000000000000000000000000000000..da05a0245920e72bb4256c6c9e4488dd008f54fc Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_28PGC_04000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_29PMN_90008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_29PMN_90008000.png new file mode 100644 index 0000000000000000000000000000000000000000..326e47a15eaddba873a9f034460e896256cc7c7a Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_29PMN_90008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_29TQJ_50008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_29TQJ_50008000.png new file mode 100644 index 0000000000000000000000000000000000000000..e82beb347041733ec9e4687f1bbf5ad401924d07 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_29TQJ_50008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_30SYE_10008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_30SYE_10008000.png new file mode 100644 index 0000000000000000000000000000000000000000..9df6e1ab6e1b1d70868b39349479e1b82c836751 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_30SYE_10008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_30TYP_70005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_30TYP_70005000.png new file mode 100644 index 0000000000000000000000000000000000000000..c582269c294cdfd0582a21acc972fe1ff6d2adfb Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_30TYP_70005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_30UUF_10009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_30UUF_10009000.png new file mode 100644 index 0000000000000000000000000000000000000000..47443de34442ad3b40a24ef5b5db2cac33f94926 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_30UUF_10009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_30UVU_50002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_30UVU_50002000.png new file mode 100644 index 0000000000000000000000000000000000000000..8e42036c4c5d57a74790570d54fdcd15d6372159 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_30UVU_50002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_30UYD_10007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_30UYD_10007000.png new file mode 100644 index 0000000000000000000000000000000000000000..f3857abd99c23115983c752cb9ff09f22deb8538 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_30UYD_10007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_31PGK_50008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_31PGK_50008000.png new file mode 100644 index 0000000000000000000000000000000000000000..1bf77e15754427b68af9674f207e95a2dee95c27 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_31PGK_50008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_31SED_20004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_31SED_20004000.png new file mode 100644 index 0000000000000000000000000000000000000000..377aff45754f0589b0059a32bafca6df371afd1c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_31SED_20004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_31TCH_90007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_31TCH_90007000.png new file mode 100644 index 0000000000000000000000000000000000000000..e84425c1db4c184336acd17a04b7012f31490864 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_31TCH_90007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_31TEM_50006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_31TEM_50006000.png new file mode 100644 index 0000000000000000000000000000000000000000..b249a8cab394b3a6abb416bf883bb733392ae529 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_31TEM_50006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_31TEN_10002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_31TEN_10002000.png new file mode 100644 index 0000000000000000000000000000000000000000..1d8daaf47e63f0d9f6d9da8c62b0ada501adb6d8 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_31TEN_10002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_31TEN_90000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_31TEN_90000.png new file mode 100644 index 0000000000000000000000000000000000000000..060d193d892be93403fde10cdc0c260fb3dd31e9 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_31TEN_90000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_31TGL_50000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_31TGL_50000.png new file mode 100644 index 0000000000000000000000000000000000000000..ad07b282ea7cf8be77fb01448d21f87f4caf81cc Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_31TGL_50000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_31TGM_40003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_31TGM_40003000.png new file mode 100644 index 0000000000000000000000000000000000000000..4f79982b211f6681d4b1e15a8582e5aca2c8cc25 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_31TGM_40003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_31TGM_40009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_31TGM_40009000.png new file mode 100644 index 0000000000000000000000000000000000000000..51ea6d45f213b972af3dd62d95a84b47a07deb21 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_31TGM_40009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_31TGM_50002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_31TGM_50002000.png new file mode 100644 index 0000000000000000000000000000000000000000..c87cd747db31b2ee3e4abc1de0d3eeb8b9c40568 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_31TGM_50002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_31TGN_07000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_31TGN_07000.png new file mode 100644 index 0000000000000000000000000000000000000000..31be5c597a959ee065fd2f9463269a553cf70aa6 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_31TGN_07000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_31UDQ_20009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_31UDQ_20009000.png new file mode 100644 index 0000000000000000000000000000000000000000..0453c298b90d9ace83cf4d238ce3c0bd22793789 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_31UDQ_20009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_31UDR_10002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_31UDR_10002000.png new file mode 100644 index 0000000000000000000000000000000000000000..d96639d836df2cc42cd23fc9e3533b88d0084348 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_31UDR_10002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_31UDR_30000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_31UDR_30000.png new file mode 100644 index 0000000000000000000000000000000000000000..d282664ea5cff647179a52e079fd3cc4aa94ec3c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_31UDR_30000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_31UFQ_50001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_31UFQ_50001000.png new file mode 100644 index 0000000000000000000000000000000000000000..1d720dfdfec3a2e2ef92b0cce0e6698832baed50 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_31UFQ_50001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_31UFR_80001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_31UFR_80001000.png new file mode 100644 index 0000000000000000000000000000000000000000..efda63b14c864a411adea3b2aded082775f2fd71 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_31UFR_80001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_31UFS_30006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_31UFS_30006000.png new file mode 100644 index 0000000000000000000000000000000000000000..71622da75c1b500093987962dda2c8be12d1ba31 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_31UFS_30006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_31UGS_10001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_31UGS_10001000.png new file mode 100644 index 0000000000000000000000000000000000000000..62d40257d16d323bcdab2ae7df8b58be2df749a1 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_31UGS_10001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_32SNE_30008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_32SNE_30008000.png new file mode 100644 index 0000000000000000000000000000000000000000..2158d0937cff0c95d93d6937dc1af3f184d3bf2a Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_32SNE_30008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_32ULC_10005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_32ULC_10005000.png new file mode 100644 index 0000000000000000000000000000000000000000..ac8a635ade53f73d26d1446aaed55a17aa273272 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_32ULC_10005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_32UNA_10001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_32UNA_10001000.png new file mode 100644 index 0000000000000000000000000000000000000000..a57288db13d906ac13ad34531f51604fedba183c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_32UNA_10001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_32UND_08000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_32UND_08000.png new file mode 100644 index 0000000000000000000000000000000000000000..59e9d2d6773133727156ced0dc5a4e9aa51c68ef Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_32UND_08000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_32UND_20005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_32UND_20005000.png new file mode 100644 index 0000000000000000000000000000000000000000..b647f7b1809f2f96e6054c2c6cd421628abffec4 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_32UND_20005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_32VLL_10009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_32VLL_10009000.png new file mode 100644 index 0000000000000000000000000000000000000000..c55406840778b7bcacaee24b87265b04e795156c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_32VLL_10009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_32VMQ_60003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_32VMQ_60003000.png new file mode 100644 index 0000000000000000000000000000000000000000..361c73ec7e1e5b9c0e987ed379ec1662a8b27bc3 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_32VMQ_60003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_34UGD_90006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_34UGD_90006000.png new file mode 100644 index 0000000000000000000000000000000000000000..9db74e30e15c00c866e17639ad2d29e1d5838e97 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_34UGD_90006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_34VCL_20000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_34VCL_20000.png new file mode 100644 index 0000000000000000000000000000000000000000..253bfd98558b63af1430ca5306b86f1e15a8462b Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_34VCL_20000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_34VFL_30009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_34VFL_30009000.png new file mode 100644 index 0000000000000000000000000000000000000000..71aec8b606866642433f0483b80c804f1789163b Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_34VFL_30009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_34VFL_50005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_34VFL_50005000.png new file mode 100644 index 0000000000000000000000000000000000000000..be1ec0cc041f37375c27d8208235d75fda5c2a5c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_34VFL_50005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_34VFQ_20004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_34VFQ_20004000.png new file mode 100644 index 0000000000000000000000000000000000000000..db5d2432169925c91483656d37c534867c339014 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_34VFQ_20004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_34VFQ_20006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_34VFQ_20006000.png new file mode 100644 index 0000000000000000000000000000000000000000..bc9e7b0cf84ce8d9057596c2da2a75aba49e4133 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_34VFQ_20006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_34VFQ_50005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_34VFQ_50005000.png new file mode 100644 index 0000000000000000000000000000000000000000..e27fc2223382a5965e442bf8517e9c385b5008c3 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_34VFQ_50005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_34WDB_60002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_34WDB_60002000.png new file mode 100644 index 0000000000000000000000000000000000000000..810e6d67c38e8360efeb119ec7f6449ccc85f314 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_34WDB_60002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_34WDB_60008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_34WDB_60008000.png new file mode 100644 index 0000000000000000000000000000000000000000..a5729ec93dd6c7ecdf4ec2540dbbd1e6291d94aa Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_34WDB_60008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_34WDB_70005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_34WDB_70005000.png new file mode 100644 index 0000000000000000000000000000000000000000..ce648bf8f0c23d1722f22396703194cf51238db3 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_34WDB_70005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_34WDB_70008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_34WDB_70008000.png new file mode 100644 index 0000000000000000000000000000000000000000..2bd7ec91042147b3cf783961214ea2dcca7d4aff Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_34WDB_70008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_34WFS_70008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_34WFS_70008000.png new file mode 100644 index 0000000000000000000000000000000000000000..60fb537a8ea691a6212f7131efca8d8ae61ca6ee Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_34WFS_70008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_35MNQ_90004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_35MNQ_90004000.png new file mode 100644 index 0000000000000000000000000000000000000000..12b2c883573e0de22e10b01ccce2e9e4741ad53e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_35MNQ_90004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_35NQE_90000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_35NQE_90000.png new file mode 100644 index 0000000000000000000000000000000000000000..7a5c52cd72d7a36b435e99d56e7ec37b36e60932 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_35NQE_90000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_35TMH_70008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_35TMH_70008000.png new file mode 100644 index 0000000000000000000000000000000000000000..b7ddaaa9f0a1c01cfae47fecdfd4ccb276e9de63 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_35TMH_70008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_35TPN_20004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_35TPN_20004000.png new file mode 100644 index 0000000000000000000000000000000000000000..bfb9070b962ec746ebba9c18ce09fe5fed95cf43 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_35TPN_20004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_35ULU_90007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_35ULU_90007000.png new file mode 100644 index 0000000000000000000000000000000000000000..811dcce700871cf2ccc71c55cb68fc2776e69a46 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_35ULU_90007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_35UNA_90000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_35UNA_90000.png new file mode 100644 index 0000000000000000000000000000000000000000..49e792d95c787ba2244e6c833a5a740873389270 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_35UNA_90000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_35UPV_00.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_35UPV_00.png new file mode 100644 index 0000000000000000000000000000000000000000..4dcea348d8bfca5420f1de155776ba09604037cc Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_35UPV_00.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_35UPV_50004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_35UPV_50004000.png new file mode 100644 index 0000000000000000000000000000000000000000..cb6fc4ce8b7a00c33c3583ce95e1960f395fb5da Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_35UPV_50004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_35UPV_50007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_35UPV_50007000.png new file mode 100644 index 0000000000000000000000000000000000000000..31c47e9ec1d344328234b7eb446f74e7a340eff3 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_35UPV_50007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_35UPV_80003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_35UPV_80003000.png new file mode 100644 index 0000000000000000000000000000000000000000..b2150392984a3850644ef01178ef077cb24835a5 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_35UPV_80003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_35UPV_80005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_35UPV_80005000.png new file mode 100644 index 0000000000000000000000000000000000000000..4482db43af47ce607d2a8034dfb006a7355b24e3 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_35UPV_80005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_35UQV_05000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_35UQV_05000.png new file mode 100644 index 0000000000000000000000000000000000000000..cb9c49c63359d526cea6f448c5cd7516e000f6e2 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_35UQV_05000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_35VMC_20009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_35VMC_20009000.png new file mode 100644 index 0000000000000000000000000000000000000000..0d71db1867d6dbd327b1c3b70d7de1fd7d9fda52 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_35VMC_20009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_35VME_05000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_35VME_05000.png new file mode 100644 index 0000000000000000000000000000000000000000..ff6cac869012001531ad3d18bd941f9435f94ab8 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_35VME_05000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_35VME_06000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_35VME_06000.png new file mode 100644 index 0000000000000000000000000000000000000000..2c9825abc7ce0510ab47e1b9f1979502f2b1572b Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_35VME_06000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_35WNP_30006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_35WNP_30006000.png new file mode 100644 index 0000000000000000000000000000000000000000..17008a7e9d24b17698d5894acf81a3f099c7e059 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_35WNP_30006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_35WPM_50009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_35WPM_50009000.png new file mode 100644 index 0000000000000000000000000000000000000000..ebd52d80a00a69c076dd54daf7b6fbb5fd387769 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_35WPM_50009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_35WPR_60002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_35WPR_60002000.png new file mode 100644 index 0000000000000000000000000000000000000000..912c30c30f64f4f9d56da2fa8dd75640904d84ae Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_35WPR_60002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_36KUA_30005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_36KUA_30005000.png new file mode 100644 index 0000000000000000000000000000000000000000..d7ef41e7f1eac3430d51e208d7f1976a26a3cd38 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_36KUA_30005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_36KXE_50007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_36KXE_50007000.png new file mode 100644 index 0000000000000000000000000000000000000000..00809a8b87eb79e86b247636f4986b2756110be9 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_36KXE_50007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_36KXE_70005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_36KXE_70005000.png new file mode 100644 index 0000000000000000000000000000000000000000..c174da4ee20bd283606a06ca8d0a0c736817dbd0 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_36KXE_70005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_36NUJ_70008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_36NUJ_70008000.png new file mode 100644 index 0000000000000000000000000000000000000000..04f1b4833e11ec03350f178afc5fe60d303c3cae Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_36NUJ_70008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_36NYP_80003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_36NYP_80003000.png new file mode 100644 index 0000000000000000000000000000000000000000..d69af0915181e9a09191174c8d3a3c7e3ed0bd29 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_36NYP_80003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_36TWS_30005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_36TWS_30005000.png new file mode 100644 index 0000000000000000000000000000000000000000..beade51a75fc57b4ebcd90eccee747c6e341b126 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_36TWS_30005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_36UVE_03000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_36UVE_03000.png new file mode 100644 index 0000000000000000000000000000000000000000..329613bd6d9f0a77d585635a70bad456d8d28e87 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_36UVE_03000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_36VUH_10006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_36VUH_10006000.png new file mode 100644 index 0000000000000000000000000000000000000000..8d5e2bfee85a45e04300bc4d57acb6a709b20fce Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_36VUH_10006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_36VUN_10007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_36VUN_10007000.png new file mode 100644 index 0000000000000000000000000000000000000000..1ab4b123574aeb47f1241ee53a466a4993a9fa81 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_36VUN_10007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_36VVM_20006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_36VVM_20006000.png new file mode 100644 index 0000000000000000000000000000000000000000..6d8ebb73901712a813da8f385445f5cdc06eb2f8 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_36VVM_20006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_36VXQ_30001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_36VXQ_30001000.png new file mode 100644 index 0000000000000000000000000000000000000000..5ecd8c212257f1be903bab92f53c35421c1c5e14 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_36VXQ_30001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_36VXQ_50007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_36VXQ_50007000.png new file mode 100644 index 0000000000000000000000000000000000000000..b47ebd9e3ccf9e85f8f9d03334ea912d435700be Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_36VXQ_50007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_36VXQ_90003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_36VXQ_90003000.png new file mode 100644 index 0000000000000000000000000000000000000000..026ef6bc99e7fb92929bbcfed3c9b321d311a879 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_36VXQ_90003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_37KCA_30007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_37KCA_30007000.png new file mode 100644 index 0000000000000000000000000000000000000000..6744a788f37b2c0f4e4f290e66692d84fc2a932a Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_37KCA_30007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_37KCB_40007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_37KCB_40007000.png new file mode 100644 index 0000000000000000000000000000000000000000..2a7adeec55a7368f7f3009818570c81daab33801 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_37KCB_40007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_37LDG_60003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_37LDG_60003000.png new file mode 100644 index 0000000000000000000000000000000000000000..7c864453a19986b00d030be68f831384fcf93e40 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_37LDG_60003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_37LDH_20004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_37LDH_20004000.png new file mode 100644 index 0000000000000000000000000000000000000000..251791d3130d9c8f719a9c431454bf0b694bf16d Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_37LDH_20004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_37LDH_70004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_37LDH_70004000.png new file mode 100644 index 0000000000000000000000000000000000000000..be767ea5ff99c98f212f225a7fd1f6f7cc9f3675 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_37LDH_70004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_37LDJ_90009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_37LDJ_90009000.png new file mode 100644 index 0000000000000000000000000000000000000000..4b2450eb105e30b0793e0b43c5cbd36567e6442f Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_37LDJ_90009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_37LDL_90001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_37LDL_90001000.png new file mode 100644 index 0000000000000000000000000000000000000000..23d0e92658caa12591dbfd92bfd55eb84d20428c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_37LDL_90001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_37LEJ_70009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_37LEJ_70009000.png new file mode 100644 index 0000000000000000000000000000000000000000..904845a4f457017ee1def56f1ffa1f6f20aaa5f3 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_37LEJ_70009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_37LEK_30004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_37LEK_30004000.png new file mode 100644 index 0000000000000000000000000000000000000000..a79ae32b5525062e318ff70374b5d137dec7f4bb Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_37LEK_30004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_37LFD_60006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_37LFD_60006000.png new file mode 100644 index 0000000000000000000000000000000000000000..351d332ab0a07ea84aae682b87e3cc4ede38d641 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_37LFD_60006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_37LFD_60007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_37LFD_60007000.png new file mode 100644 index 0000000000000000000000000000000000000000..e46a5c25a5d932f7399c5215f9938b102ae207ac Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_37LFD_60007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_37VCC_80005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_37VCC_80005000.png new file mode 100644 index 0000000000000000000000000000000000000000..4a7e9ff75cefeb2b3be813e7a13f4ae14ff654a4 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_37VCC_80005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_37VCG_10003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_37VCG_10003000.png new file mode 100644 index 0000000000000000000000000000000000000000..da927ae0824b4477f6a2910d50c2d9e59508b5cc Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_37VCG_10003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_37VCG_10009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_37VCG_10009000.png new file mode 100644 index 0000000000000000000000000000000000000000..e81d760caeb542a503fb51e58566dad51875801f Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_37VCG_10009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_37VCG_80001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_37VCG_80001000.png new file mode 100644 index 0000000000000000000000000000000000000000..be85e76828851c63e0aba328b00a60e74049b975 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_37VCG_80001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_37VCK_60000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_37VCK_60000.png new file mode 100644 index 0000000000000000000000000000000000000000..4deb90eb0399041bd65fd88a46e8c685a9c639dc Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_37VCK_60000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_37VCK_80005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_37VCK_80005000.png new file mode 100644 index 0000000000000000000000000000000000000000..62f3e5102c62cdf0f480a8f6b27a8b8d0e4a788a Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_37VCK_80005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_37VEC_80001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_37VEC_80001000.png new file mode 100644 index 0000000000000000000000000000000000000000..ca48827c8f6c95f9ae1906913d598bc719f2e8fa Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_37VEC_80001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_37VEE_90005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_37VEE_90005000.png new file mode 100644 index 0000000000000000000000000000000000000000..817994bc7df2cd0a7e9c79226169049f61ed3e5c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_37VEE_90005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_37VFF_10007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_37VFF_10007000.png new file mode 100644 index 0000000000000000000000000000000000000000..fcbe443abc9a5d4ff404ffae4c8faa265622252c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_37VFF_10007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_37VFL_10008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_37VFL_10008000.png new file mode 100644 index 0000000000000000000000000000000000000000..a61c54cb1448b3bfbd2fe984920b49f6ffdf1eb5 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_37VFL_10008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_37WDP_80006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_37WDP_80006000.png new file mode 100644 index 0000000000000000000000000000000000000000..70f253f0c33c88d22e404c4caec4570a7e6516ab Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_37WDP_80006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_37WEN_70003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_37WEN_70003000.png new file mode 100644 index 0000000000000000000000000000000000000000..39d7c621ecb663f3357df5a3697b5573f2a7bc3c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_37WEN_70003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_37WEN_90003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_37WEN_90003000.png new file mode 100644 index 0000000000000000000000000000000000000000..6e930a6e449bb3afe966717c2ee417dde72ade33 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_37WEN_90003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_37WEQ_30006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_37WEQ_30006000.png new file mode 100644 index 0000000000000000000000000000000000000000..b399c823ceb9a781b9e9d103f866fe6c43c59ae4 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_37WEQ_30006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_37WEQ_30007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_37WEQ_30007000.png new file mode 100644 index 0000000000000000000000000000000000000000..36317c5aaeed5e4230e71691a1fdfe4627489d30 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_37WEQ_30007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_37WEQ_40002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_37WEQ_40002000.png new file mode 100644 index 0000000000000000000000000000000000000000..137efd64770d8797e3d812fc0bd0e49d85790594 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_37WEQ_40002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_37WEQ_80005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_37WEQ_80005000.png new file mode 100644 index 0000000000000000000000000000000000000000..758d89c613cf5788c56d5d546ada000f087fd964 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_37WEQ_80005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_38JNT_50009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_38JNT_50009000.png new file mode 100644 index 0000000000000000000000000000000000000000..1ab19f98fe0e4704ffa16880f9a79bf930338d8b Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_38JNT_50009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_38KQE_30009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_38KQE_30009000.png new file mode 100644 index 0000000000000000000000000000000000000000..99a35e48121f9b6923c3dd3383918e8543cef092 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_38KQE_30009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_38NMJ_40004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_38NMJ_40004000.png new file mode 100644 index 0000000000000000000000000000000000000000..e9c4a9807a0e47d4a675031af55eede246013046 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_38NMJ_40004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_38NMJ_50009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_38NMJ_50009000.png new file mode 100644 index 0000000000000000000000000000000000000000..f4f2766c44269b0dfb77e31f23103daf0d8c6361 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_38NMJ_50009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_38NNJ_20003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_38NNJ_20003000.png new file mode 100644 index 0000000000000000000000000000000000000000..d9bf6390441d66aa90cf91c9ecf1ca7f09dd6253 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_38NNJ_20003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_38PKQ_10002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_38PKQ_10002000.png new file mode 100644 index 0000000000000000000000000000000000000000..cc61e437777dd1cf875851e6392627cd19823a5b Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_38PKQ_10002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_38PLQ_10003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_38PLQ_10003000.png new file mode 100644 index 0000000000000000000000000000000000000000..3ab9cda7cfb77f6f9be3034f3af1009e181d51cd Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_38PLQ_10003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_38PNQ_90002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_38PNQ_90002000.png new file mode 100644 index 0000000000000000000000000000000000000000..3fc4166dc0979e4c2ead620e41631c375c9d5f15 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_38PNQ_90002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_38PRQ_50005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_38PRQ_50005000.png new file mode 100644 index 0000000000000000000000000000000000000000..71cd7e818d9a98408082928b032b263dca57eaee Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_38PRQ_50005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_38PRR_90000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_38PRR_90000.png new file mode 100644 index 0000000000000000000000000000000000000000..f0e4a2250275a8bdd3570d543d7c613ac80638f8 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_38PRR_90000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_38UNG_50007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_38UNG_50007000.png new file mode 100644 index 0000000000000000000000000000000000000000..e7b41ada8f52b562712ed0b2ae7a2c3d471f3945 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_38UNG_50007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_38UPE_60000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_38UPE_60000.png new file mode 100644 index 0000000000000000000000000000000000000000..540f490b4d7fa5ee79c6816df47e42fa1770216c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_38UPE_60000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_38UQD_40000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_38UQD_40000.png new file mode 100644 index 0000000000000000000000000000000000000000..fa8b58912dc68219c64bdea2108c9e0ef7b74609 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_38UQD_40000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_38UQD_60005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_38UQD_60005000.png new file mode 100644 index 0000000000000000000000000000000000000000..5d56d5979db17ab0dcd1a1200ed1156b729024c3 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_38UQD_60005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_38VLM_10006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_38VLM_10006000.png new file mode 100644 index 0000000000000000000000000000000000000000..3cbd54d7169c7cd2ada72e39c1a4e94f5598f941 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_38VLM_10006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_38VLM_10008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_38VLM_10008000.png new file mode 100644 index 0000000000000000000000000000000000000000..40cc5fd8c92df5ae5796aac0f6bd8a736b334fb0 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_38VLM_10008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_38VLM_20001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_38VLM_20001000.png new file mode 100644 index 0000000000000000000000000000000000000000..a5c5175021f6bdf4ababed2e3797bed41bedea80 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_38VLM_20001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_38VLM_20005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_38VLM_20005000.png new file mode 100644 index 0000000000000000000000000000000000000000..f633a2dc2a6f46bf4baa8d8059882b571f99fec4 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_38VLM_20005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_38VLM_30003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_38VLM_30003000.png new file mode 100644 index 0000000000000000000000000000000000000000..710c50acd426a5295cc3b9f34bdda70b9c20ab9a Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_38VLM_30003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_38VLR_40008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_38VLR_40008000.png new file mode 100644 index 0000000000000000000000000000000000000000..e0fd716e9297111b4acdca6790491f2e74d2e065 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_38VLR_40008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_38VNJ_02000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_38VNJ_02000.png new file mode 100644 index 0000000000000000000000000000000000000000..9fce113651a4ebfeb0d69d5bcce75345dd3e74c1 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_38VNJ_02000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_38VPH_40001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_38VPH_40001000.png new file mode 100644 index 0000000000000000000000000000000000000000..e8cad7e8c1477cc3e82989cd80fbeb7f66a0c56c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_38VPH_40001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_38VPH_70005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_38VPH_70005000.png new file mode 100644 index 0000000000000000000000000000000000000000..16793b0c8b588100c25e4f9ef33348cfe5e1ab7d Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_38VPH_70005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_38VPJ_90002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_38VPJ_90002000.png new file mode 100644 index 0000000000000000000000000000000000000000..1d12f2c63209e834318d9c738da0dcee46e5d356 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_38VPJ_90002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_38VPM_20008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_38VPM_20008000.png new file mode 100644 index 0000000000000000000000000000000000000000..3580ddadca90eb1c9a58964bd2366a02dcc14600 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_38VPM_20008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_38WMV_70001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_38WMV_70001000.png new file mode 100644 index 0000000000000000000000000000000000000000..7b72a40720012b70cee088301f4d3e49084220c8 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_38WMV_70001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39TYG_50009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39TYG_50009000.png new file mode 100644 index 0000000000000000000000000000000000000000..f8f84eec02c94092e00753334edeb98b6fd06384 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39TYG_50009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39UUT_60001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39UUT_60001000.png new file mode 100644 index 0000000000000000000000000000000000000000..64558113250a31864b69df02608207d9b0712b81 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39UUT_60001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39UUT_80002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39UUT_80002000.png new file mode 100644 index 0000000000000000000000000000000000000000..f0d1d71fb85e1250f8b4092396261b755dbe338f Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39UUT_80002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39UVB_20002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39UVB_20002000.png new file mode 100644 index 0000000000000000000000000000000000000000..889cac94f60241a3137756d19509dead4468049e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39UVB_20002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39UWB_02000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39UWB_02000.png new file mode 100644 index 0000000000000000000000000000000000000000..8da48df955532ee94ab8a9f4f437946e0a5e1fa7 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39UWB_02000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39UWB_40000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39UWB_40000.png new file mode 100644 index 0000000000000000000000000000000000000000..eb31bf4d59654fe9c2d6ee7bd9e1d06eec970f38 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39UWB_40000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39UWU_40005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39UWU_40005000.png new file mode 100644 index 0000000000000000000000000000000000000000..b7fd51fe9f508444b0e86b0560b2af2ffae2cb6d Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39UWU_40005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39UWV_01000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39UWV_01000.png new file mode 100644 index 0000000000000000000000000000000000000000..17ccaf443bb91836c8cdacc9bc399c9df9718d1a Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39UWV_01000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39VUF_80000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39VUF_80000.png new file mode 100644 index 0000000000000000000000000000000000000000..1062529ab9c979d84e26b8fd08a9bcd6274c4219 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39VUF_80000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39VVC_02000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39VVC_02000.png new file mode 100644 index 0000000000000000000000000000000000000000..585cfb6a2042ae1b4a027ac9198bc19af6fb48e4 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39VVC_02000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39VVC_30004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39VVC_30004000.png new file mode 100644 index 0000000000000000000000000000000000000000..6e05af237512c81b26b31fd63cb7d6fb7425564b Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39VVC_30004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39VVC_70005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39VVC_70005000.png new file mode 100644 index 0000000000000000000000000000000000000000..f821feb4bdb83da9c406d2aae395bdc1cab9feec Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39VVC_70005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39VVC_90007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39VVC_90007000.png new file mode 100644 index 0000000000000000000000000000000000000000..edbbc5ffcc872cc11e28c1f963ee4a77f0a88d9f Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39VVC_90007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39VVD_10007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39VVD_10007000.png new file mode 100644 index 0000000000000000000000000000000000000000..4e0d3f9360f06a818b4c70b3b899d3b61539a721 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39VVD_10007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39VVD_20005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39VVD_20005000.png new file mode 100644 index 0000000000000000000000000000000000000000..f936eff00b7b3455705011bccad151dee0bdd65e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39VVD_20005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39VVE_50002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39VVE_50002000.png new file mode 100644 index 0000000000000000000000000000000000000000..ec11f673322832b81d6218a4933f8b22622b641a Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39VVE_50002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39VVE_70002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39VVE_70002000.png new file mode 100644 index 0000000000000000000000000000000000000000..b6568a6bcf794476d39b35bb6d8bf4f978623a4b Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39VVE_70002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39VVE_90000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39VVE_90000.png new file mode 100644 index 0000000000000000000000000000000000000000..2d5404f1f9e747c8e6f081c48396c3e98631bf45 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39VVE_90000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39VVL_30006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39VVL_30006000.png new file mode 100644 index 0000000000000000000000000000000000000000..d3bc5641e907195ca539d4b5c6bf5d6959d4ea09 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39VVL_30006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39VWD_80001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39VWD_80001000.png new file mode 100644 index 0000000000000000000000000000000000000000..e0cc849b4ace4e81f8348583d20fd62afc414822 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39VWD_80001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39VWF_05000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39VWF_05000.png new file mode 100644 index 0000000000000000000000000000000000000000..eeaf0b84f07e4a9bfa30516c9efd2061fa6f6a9e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39VWF_05000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39VWF_30008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39VWF_30008000.png new file mode 100644 index 0000000000000000000000000000000000000000..ebb645b301adda779215b8c4b6f699c44fbea366 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39VWF_30008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39VWF_40008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39VWF_40008000.png new file mode 100644 index 0000000000000000000000000000000000000000..ae92e2831c6a5e4030752f02be7454973f389313 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39VWF_40008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39VWF_90009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39VWF_90009000.png new file mode 100644 index 0000000000000000000000000000000000000000..cc6c19e97f8b286be4dccdbd210c651574ed8a62 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39VWF_90009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39VWL_10000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39VWL_10000.png new file mode 100644 index 0000000000000000000000000000000000000000..e3477351d5d56f6162ac4a69c4d6450849c5e2a0 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39VWL_10000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39VWL_40008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39VWL_40008000.png new file mode 100644 index 0000000000000000000000000000000000000000..a679561096b4678bac8a27280e15f916b1e3e8ff Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39VWL_40008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39VXE_10001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39VXE_10001000.png new file mode 100644 index 0000000000000000000000000000000000000000..7de3ce1820bd52f50b8ff5e406579538fe52851b Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39VXE_10001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39VXE_30000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39VXE_30000.png new file mode 100644 index 0000000000000000000000000000000000000000..6e33abbc2b9b5e0dcde3c5f6374ec823b6dc039a Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39VXE_30000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39VXF_40008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39VXF_40008000.png new file mode 100644 index 0000000000000000000000000000000000000000..edc5a0d874078f2829899e6386c59a727e525961 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39VXF_40008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39VXG_50001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39VXG_50001000.png new file mode 100644 index 0000000000000000000000000000000000000000..380b409704810ffeb6084d2d5eb77574fab55c0d Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39VXG_50001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39VXG_70004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39VXG_70004000.png new file mode 100644 index 0000000000000000000000000000000000000000..6c65711976be309ac8686819991fabf40940481f Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39VXG_70004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39VXG_80005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39VXG_80005000.png new file mode 100644 index 0000000000000000000000000000000000000000..bc3b3b146eddbe1209cd3d91d7703c1f81e9cb5d Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39VXG_80005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39WVN_10005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39WVN_10005000.png new file mode 100644 index 0000000000000000000000000000000000000000..7e2fd970b647ef38db3a255ba6d8bc88c7177783 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39WVN_10005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39WVN_20006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39WVN_20006000.png new file mode 100644 index 0000000000000000000000000000000000000000..209f1530961ad313b82a0d3e71202e21764074b5 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39WVN_20006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39WVQ_07000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39WVQ_07000.png new file mode 100644 index 0000000000000000000000000000000000000000..80fe68442fa8710c9b3804c836db7669e5670f2e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39WVQ_07000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39WXS_09000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39WXS_09000.png new file mode 100644 index 0000000000000000000000000000000000000000..224a724a7431e3738f778ae9022562b8e14378f5 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_39WXS_09000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_40UCG_60008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_40UCG_60008000.png new file mode 100644 index 0000000000000000000000000000000000000000..2361e601ec319dc92ca705155ecf8953ae40488d Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_40UCG_60008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_40UCG_70001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_40UCG_70001000.png new file mode 100644 index 0000000000000000000000000000000000000000..a01e09661676f7812f17b33ec23bc2598817028c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_40UCG_70001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_40UCG_70008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_40UCG_70008000.png new file mode 100644 index 0000000000000000000000000000000000000000..d1c5408b30e778959ee7975dd112ec333089ecb0 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_40UCG_70008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_40UEV_10005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_40UEV_10005000.png new file mode 100644 index 0000000000000000000000000000000000000000..5b81dcf8c20089a5640e262562535a7880066128 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_40UEV_10005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_40UFG_50000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_40UFG_50000.png new file mode 100644 index 0000000000000000000000000000000000000000..c539b74daa0f708e92a3baa2e1996ce4824f5343 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_40UFG_50000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_40UFG_90000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_40UFG_90000.png new file mode 100644 index 0000000000000000000000000000000000000000..c2c25c2e9b4053c679204fb145c79f270c9262dd Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_40UFG_90000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_40VCH_70005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_40VCH_70005000.png new file mode 100644 index 0000000000000000000000000000000000000000..9675eaabcd571ab6b2664c476351324f89489063 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_40VCH_70005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_40VCH_80002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_40VCH_80002000.png new file mode 100644 index 0000000000000000000000000000000000000000..c9728f5036d980a2e8bd99cb4b138e0768e1e58c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_40VCH_80002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_40VCM_40005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_40VCM_40005000.png new file mode 100644 index 0000000000000000000000000000000000000000..c04ae4d631d432fa2f99f95bd60efb2655c94b85 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_40VCM_40005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_40VCN_80004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_40VCN_80004000.png new file mode 100644 index 0000000000000000000000000000000000000000..9966310b7c5236f58d855f53caf9e03fb2402960 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_40VCN_80004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_40VCN_80008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_40VCN_80008000.png new file mode 100644 index 0000000000000000000000000000000000000000..268fbba532f760083c64fb3f0c83b0dd6223f444 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_40VCN_80008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_40VCQ_40003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_40VCQ_40003000.png new file mode 100644 index 0000000000000000000000000000000000000000..6ef451db5465dc8add2e99730db436a78b0b25c3 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_40VCQ_40003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_40VDN_04000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_40VDN_04000.png new file mode 100644 index 0000000000000000000000000000000000000000..a5f79b6c6d71d5981df741c73d6123b9bc080683 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_40VDN_04000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_40VEK_60000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_40VEK_60000.png new file mode 100644 index 0000000000000000000000000000000000000000..062815cc5847980e05a4491877048af0f2d94e9f Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_40VEK_60000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_40VEQ_80006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_40VEQ_80006000.png new file mode 100644 index 0000000000000000000000000000000000000000..eef28c194a66db65578244844a956eb59f031c2c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_40VEQ_80006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_40VFQ_50006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_40VFQ_50006000.png new file mode 100644 index 0000000000000000000000000000000000000000..5c3801f182c5a785288685677039037a484a3cc0 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_40VFQ_50006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_41UPU_70004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_41UPU_70004000.png new file mode 100644 index 0000000000000000000000000000000000000000..eb7b3019a80bed47432921f3f3e16060a89feeb2 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_41UPU_70004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_41UQT_10004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_41UQT_10004000.png new file mode 100644 index 0000000000000000000000000000000000000000..5119852016a23700fe58a725e04b5fe42e921421 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_41UQT_10004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_41UQU_50004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_41UQU_50004000.png new file mode 100644 index 0000000000000000000000000000000000000000..a162129f3eea51693867e5369d2d69edae35b50d Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_41UQU_50004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_41UQU_50009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_41UQU_50009000.png new file mode 100644 index 0000000000000000000000000000000000000000..75834724d4120a8f4f7a46746450db5ed89a65db Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_41UQU_50009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_41UQU_80008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_41UQU_80008000.png new file mode 100644 index 0000000000000000000000000000000000000000..85318d1c0acf2264f0714ad9f8e90ac8225774b6 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_41UQU_80008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_41VMC_03000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_41VMC_03000.png new file mode 100644 index 0000000000000000000000000000000000000000..9995ad573f5e24a8f9f5dc4c45a608f839d1a314 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_41VMC_03000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_41VME_40003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_41VME_40003000.png new file mode 100644 index 0000000000000000000000000000000000000000..69c4ef866350bcb9ac1a9ae11d1653eadb72eaaf Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_41VME_40003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_41VPH_10002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_41VPH_10002000.png new file mode 100644 index 0000000000000000000000000000000000000000..acf5fd3960969206b15f98cd1a7e331c28bd2617 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_41VPH_10002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_41WNS_90007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_41WNS_90007000.png new file mode 100644 index 0000000000000000000000000000000000000000..d1fc375a556aa12016faecb60da66e7f22c542ba Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_41WNS_90007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_41WPQ_10002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_41WPQ_10002000.png new file mode 100644 index 0000000000000000000000000000000000000000..4db76f961c9db3d49a704b6ab736ce4030a446a8 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_41WPQ_10002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_42UVC_50000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_42UVC_50000.png new file mode 100644 index 0000000000000000000000000000000000000000..3bc69a8e3cffb6b75061f1371f397d57112ea18b Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_42UVC_50000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_42UVE_10001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_42UVE_10001000.png new file mode 100644 index 0000000000000000000000000000000000000000..56e8ef81a7d0348257494d85144d75de1010bc1c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_42UVE_10001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_42UWG_50006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_42UWG_50006000.png new file mode 100644 index 0000000000000000000000000000000000000000..d3af4f1baa82053ab5731a2c594c48aabcbfaaf7 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_42UWG_50006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_42UXE_60009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_42UXE_60009000.png new file mode 100644 index 0000000000000000000000000000000000000000..4f499abdc0dae739a59eb68648753a8e4f644b3f Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_42UXE_60009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_42UYE_10009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_42UYE_10009000.png new file mode 100644 index 0000000000000000000000000000000000000000..44eb8ce0d417195ce04f67d772e248c36f0388de Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_42UYE_10009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_42VWL_01000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_42VWL_01000.png new file mode 100644 index 0000000000000000000000000000000000000000..9171f607818c1bc665cf38cb90126dbd49d8c337 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_42VWL_01000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_42VWR_08000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_42VWR_08000.png new file mode 100644 index 0000000000000000000000000000000000000000..527561694aa2f3db6f55946dc92bb551632ca309 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_42VWR_08000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_42VWR_10009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_42VWR_10009000.png new file mode 100644 index 0000000000000000000000000000000000000000..b8a566fc09299ba52afcf1c260acbeff5587d632 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_42VWR_10009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_42VXJ_20006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_42VXJ_20006000.png new file mode 100644 index 0000000000000000000000000000000000000000..aa2b98979f0d12c7199f7259f8a8858a6c6984ea Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_42VXJ_20006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_42VXK_06000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_42VXK_06000.png new file mode 100644 index 0000000000000000000000000000000000000000..65246a228834f3bf22c0740ae1986d4469c203ae Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_42VXK_06000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_43UCV_70002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_43UCV_70002000.png new file mode 100644 index 0000000000000000000000000000000000000000..373491ea3c905975c4d1914e3b76383744ae8bc2 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_43UCV_70002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_43VFJ_80003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_43VFJ_80003000.png new file mode 100644 index 0000000000000000000000000000000000000000..8e6371640f1b1a233a12c479275342ad87bf21ea Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_43VFJ_80003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_43WFN_70001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_43WFN_70001000.png new file mode 100644 index 0000000000000000000000000000000000000000..291c6da1e1180d4b698c66a1a97d1a75287a71f1 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_43WFN_70001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_43WFN_70003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_43WFN_70003000.png new file mode 100644 index 0000000000000000000000000000000000000000..e65b3fc2d19029bfe31a670d16af27f197c0fe85 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_43WFN_70003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_44RMS_70003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_44RMS_70003000.png new file mode 100644 index 0000000000000000000000000000000000000000..3d82b4466e80c6c86e38764463f7c24a048f2147 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_44RMS_70003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_44RMS_70006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_44RMS_70006000.png new file mode 100644 index 0000000000000000000000000000000000000000..10765e27a9e21a7267668a50543849f7d3c2ca97 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_44RMS_70006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_44UNV_70006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_44UNV_70006000.png new file mode 100644 index 0000000000000000000000000000000000000000..7e9264c60a407f42b339a4b31650a4164da302b1 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_44UNV_70006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_44VNH_70003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_44VNH_70003000.png new file mode 100644 index 0000000000000000000000000000000000000000..4ef20c2c47fba3df9371645a2610038454ff6756 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_44VNH_70003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_44WNT_20009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_44WNT_20009000.png new file mode 100644 index 0000000000000000000000000000000000000000..d87aabd13488150e142ca01a88416dce556e76a0 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_44WNT_20009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_44XNF_90000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_44XNF_90000.png new file mode 100644 index 0000000000000000000000000000000000000000..ceb7a66ae1e620f7e9efa14b5bb18016eb8655e9 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_44XNF_90000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_44XPF_70006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_44XPF_70006000.png new file mode 100644 index 0000000000000000000000000000000000000000..3f33a262a5a64ac3f20a43cfc3f5bb09611f549a Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_44XPF_70006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_45VVC_50006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_45VVC_50006000.png new file mode 100644 index 0000000000000000000000000000000000000000..d13cb561b14c31883de8f0d2adc29053b03b7a19 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_45VVC_50006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_45WWQ_50007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_45WWQ_50007000.png new file mode 100644 index 0000000000000000000000000000000000000000..9ddf1696e52d6cb934f0afb3242bc0368826b3ea Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_45WWQ_50007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_45WXQ_40008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_45WXQ_40008000.png new file mode 100644 index 0000000000000000000000000000000000000000..b8bbd1203bfbb1c3a0bbbdac459a0720055cde73 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_45WXQ_40008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_45XWA_40001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_45XWA_40001000.png new file mode 100644 index 0000000000000000000000000000000000000000..bc3dcc443c4ef7fecc3f6752e839da2779f21cf0 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_45XWA_40001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_45XWA_70003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_45XWA_70003000.png new file mode 100644 index 0000000000000000000000000000000000000000..6f2395074d339ac2afa1a95dcef625161f89e7f9 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_45XWA_70003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_46UDA_50007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_46UDA_50007000.png new file mode 100644 index 0000000000000000000000000000000000000000..bcc1483a958f62abd167f710b8551dcea60a7e3c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_46UDA_50007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_46WEV_01000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_46WEV_01000.png new file mode 100644 index 0000000000000000000000000000000000000000..a3c3dc2567bc53ca52b30caa9d17cf1ebfd733a4 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_46WEV_01000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_47TPJ_40009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_47TPJ_40009000.png new file mode 100644 index 0000000000000000000000000000000000000000..0f87f62865fae8030df8975a4b9b11ec7dc3ee0b Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_47TPJ_40009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_47UPU_50009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_47UPU_50009000.png new file mode 100644 index 0000000000000000000000000000000000000000..dbb5451c0fe81651c6825f8bdd266ce7fcb3bfab Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_47UPU_50009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_47VPC_10002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_47VPC_10002000.png new file mode 100644 index 0000000000000000000000000000000000000000..86a94d4ac55470ac2081d24a079acc1cab1102c8 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_47VPC_10002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_47WMV_70006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_47WMV_70006000.png new file mode 100644 index 0000000000000000000000000000000000000000..af610fd6a5300bfcbe2fc63e0fcc1a07c3c29a07 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_47WMV_70006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_47WNU_02000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_47WNU_02000.png new file mode 100644 index 0000000000000000000000000000000000000000..414f8e79bfb57c86d36980ce7a53a876bfe7a7b9 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_47WNU_02000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_48PYT_00.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_48PYT_00.png new file mode 100644 index 0000000000000000000000000000000000000000..f04816506ff42c48f2adb4fddaa7e5b7f850942a Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_48PYT_00.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_48VUJ_20001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_48VUJ_20001000.png new file mode 100644 index 0000000000000000000000000000000000000000..cbf7aff9af6ceb69e1cc5d37708b740038a15130 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_48VUJ_20001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_49UCS_10004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_49UCS_10004000.png new file mode 100644 index 0000000000000000000000000000000000000000..fbb04ebc8640b2878a85f6725cafd5d6ec625f7c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_49UCS_10004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_49WDS_80004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_49WDS_80004000.png new file mode 100644 index 0000000000000000000000000000000000000000..c2e4dfb0b359be434265ed7ce89076d46c7af5d2 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_49WDS_80004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_49WES_10005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_49WES_10005000.png new file mode 100644 index 0000000000000000000000000000000000000000..a9253d69545f7405155d850d9c66a2a786fac0d9 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_49WES_10005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_50WPB_60002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_50WPB_60002000.png new file mode 100644 index 0000000000000000000000000000000000000000..bfc51d6302df5fec3d28d8ee4e2643ed1e94a31d Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_50WPB_60002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_50WPU_60008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_50WPU_60008000.png new file mode 100644 index 0000000000000000000000000000000000000000..97becd36baea767d913f4a4ffd4ac325bd06e98d Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_50WPU_60008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_51JTK_50006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_51JTK_50006000.png new file mode 100644 index 0000000000000000000000000000000000000000..ef4f059275d3ce409206c3627809e1db88c569be Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_51JTK_50006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_51TVN_60000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_51TVN_60000.png new file mode 100644 index 0000000000000000000000000000000000000000..835b8b84fff1282d9283eee3d24facaa7dd8ebaa Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_51TVN_60000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_51VWK_50007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_51VWK_50007000.png new file mode 100644 index 0000000000000000000000000000000000000000..c330846670594f38c6feb4a7cf2e1ef288f7f590 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_51VWK_50007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_52VEL_80004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_52VEL_80004000.png new file mode 100644 index 0000000000000000000000000000000000000000..9d89b733d976750c5dca3f85147a4163989fa8f0 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_52VEL_80004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_52WFB_50001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_52WFB_50001000.png new file mode 100644 index 0000000000000000000000000000000000000000..cc20ad2a3defe5f67756820b25563922b1924664 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_52WFB_50001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_52WFU_80008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_52WFU_80008000.png new file mode 100644 index 0000000000000000000000000000000000000000..fb4e13956fac3a27d5a68b39336a268df6bb81ca Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_52WFU_80008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_54VXR_70009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_54VXR_70009000.png new file mode 100644 index 0000000000000000000000000000000000000000..9fc3a7ead7a18e7f168563ad7e0d13c80e307bd2 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_54VXR_70009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_55WEU_20006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_55WEU_20006000.png new file mode 100644 index 0000000000000000000000000000000000000000..b63fdd796be7b91846bb8d966b6d06644c0aa022 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_55WEU_20006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_55WFM_70008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_55WFM_70008000.png new file mode 100644 index 0000000000000000000000000000000000000000..d0f0874cda15dcc80a877c5b27941e9d79ce37af Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_55WFM_70008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_57UVA_90009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_57UVA_90009000.png new file mode 100644 index 0000000000000000000000000000000000000000..2927184f4f1e8987d82e20280d2c3d0774d718f3 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_57UVA_90009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_58KEB_00.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_58KEB_00.png new file mode 100644 index 0000000000000000000000000000000000000000..da336967bd4da3dd1a85fbe81679e9d723da9a62 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_58KEB_00.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_58WEC_40004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_58WEC_40004000.png new file mode 100644 index 0000000000000000000000000000000000000000..7df68947b107a392309c279620813af89280e864 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_58WEC_40004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_58WFB_20000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_58WFB_20000.png new file mode 100644 index 0000000000000000000000000000000000000000..ea54379c9e210b88f6d8bb12ab8e7d3ad8314452 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_58WFB_20000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_60HUD_50006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_60HUD_50006000.png new file mode 100644 index 0000000000000000000000000000000000000000..80e552aae629dc0483a677b12bc19af8484121bd Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/2500/Out_60HUD_50006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_01WFN_70003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_01WFN_70003000.png new file mode 100644 index 0000000000000000000000000000000000000000..a62a8d9bbe4103227189959cddb2a1bff6cfde2e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_01WFN_70003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_03WVP_40005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_03WVP_40005000.png new file mode 100644 index 0000000000000000000000000000000000000000..09146cae106977e9dc08ad588f176f0d04d52591 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_03WVP_40005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_03WVP_50009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_03WVP_50009000.png new file mode 100644 index 0000000000000000000000000000000000000000..bf5bdbd71f6c282ffbee1b9532482a721a23d89c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_03WVP_50009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_03WWP_30006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_03WWP_30006000.png new file mode 100644 index 0000000000000000000000000000000000000000..b952a8685646789ceecfa5d43936442f5f330fe9 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_03WWP_30006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_04WFS_30001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_04WFS_30001000.png new file mode 100644 index 0000000000000000000000000000000000000000..e670a0bf80a403c2f0d97fb68b4c658eba717462 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_04WFS_30001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_05WPT_90004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_05WPT_90004000.png new file mode 100644 index 0000000000000000000000000000000000000000..49f19f7db657ed15f0f565141cb338f22efb7cb9 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_05WPT_90004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_08WNA_10003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_08WNA_10003000.png new file mode 100644 index 0000000000000000000000000000000000000000..742dccf79bcd7d0a56eaa5ec02087856ea78bdb6 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_08WNA_10003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_10VDM_10002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_10VDM_10002000.png new file mode 100644 index 0000000000000000000000000000000000000000..40562c31729739b1c8f4de7be7d8d48ca668ecf9 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_10VDM_10002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_11TPM_30008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_11TPM_30008000.png new file mode 100644 index 0000000000000000000000000000000000000000..863ca534da16504087a3651dc2cfb0359d4dd637 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_11TPM_30008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_11UMT_10008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_11UMT_10008000.png new file mode 100644 index 0000000000000000000000000000000000000000..30b71e0307efe95e56e0a237e99ec03ff00898b8 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_11UMT_10008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_11UPA_10002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_11UPA_10002000.png new file mode 100644 index 0000000000000000000000000000000000000000..50b0a2e3d3553a4c1f9fac6c46c2fc46494d42fe Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_11UPA_10002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_11VNC_90006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_11VNC_90006000.png new file mode 100644 index 0000000000000000000000000000000000000000..8f6b67425daf98e7c3b2bae17e81e0493c3f050b Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_11VNC_90006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_11WNT_50006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_11WNT_50006000.png new file mode 100644 index 0000000000000000000000000000000000000000..2ceac4a7fa1e2facf3e7ab1fe7d1f69bfaebe5a9 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_11WNT_50006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_11WNU_60003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_11WNU_60003000.png new file mode 100644 index 0000000000000000000000000000000000000000..ef4f0efa446d39eb29ab93af8a222d1f213584c5 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_11WNU_60003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_12UWF_30001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_12UWF_30001000.png new file mode 100644 index 0000000000000000000000000000000000000000..628cd9b13857eac2c4c89acd6fdade0c73ea0a87 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_12UWF_30001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_12UWF_40000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_12UWF_40000.png new file mode 100644 index 0000000000000000000000000000000000000000..ad8701a4c81d7e14472168193ac27164119e17ef Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_12UWF_40000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_14RNQ_40006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_14RNQ_40006000.png new file mode 100644 index 0000000000000000000000000000000000000000..bff87464f32add18e10635aa416cec979836f251 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_14RNQ_40006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_14RNQ_40008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_14RNQ_40008000.png new file mode 100644 index 0000000000000000000000000000000000000000..b2234980e9259df91e6b4976d032c2a9d6997d52 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_14RNQ_40008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_14RPT_03000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_14RPT_03000.png new file mode 100644 index 0000000000000000000000000000000000000000..a3e6a848599a180597510be93ba7508c86a2f2fc Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_14RPT_03000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_14RPT_20000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_14RPT_20000.png new file mode 100644 index 0000000000000000000000000000000000000000..0f062ae11a284f5c61f0a2356ffd1f8e5c7e8e9b Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_14RPT_20000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_14SQB_10009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_14SQB_10009000.png new file mode 100644 index 0000000000000000000000000000000000000000..94e50d7072142424a2673e3df07e17d4b35c03a0 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_14SQB_10009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_14SQC_50001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_14SQC_50001000.png new file mode 100644 index 0000000000000000000000000000000000000000..c9f8a06e9a835aea33e863f5d62acaa18ccce928 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_14SQC_50001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_14SQC_50007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_14SQC_50007000.png new file mode 100644 index 0000000000000000000000000000000000000000..578a4ca1164ddb3e2bd8a4969fad95731b5d6708 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_14SQC_50007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_14TNM_40004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_14TNM_40004000.png new file mode 100644 index 0000000000000000000000000000000000000000..e9feee364693f902d8dc79939f61578158920ab0 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_14TNM_40004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_15RTP_70009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_15RTP_70009000.png new file mode 100644 index 0000000000000000000000000000000000000000..d7eb387a3b8305ce7068590bf3b778f763f0feb2 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_15RTP_70009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_15RYQ_90007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_15RYQ_90007000.png new file mode 100644 index 0000000000000000000000000000000000000000..4b27349568e6e3c60d5c7d2a2381141d009e672b Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_15RYQ_90007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_15STB_80005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_15STB_80005000.png new file mode 100644 index 0000000000000000000000000000000000000000..24fac4244e02405f16b5d7063f8e9bdf12a83671 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_15STB_80005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_15SUD_30006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_15SUD_30006000.png new file mode 100644 index 0000000000000000000000000000000000000000..5549fa2286eb27812c7d723f916514dd4c24ae29 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_15SUD_30006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_15TUE_40009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_15TUE_40009000.png new file mode 100644 index 0000000000000000000000000000000000000000..19144b5f2ca4980112ac6c9a63aa2d6e6c0a0961 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_15TUE_40009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_15TWG_90000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_15TWG_90000.png new file mode 100644 index 0000000000000000000000000000000000000000..a3735fe07b356e0599ddeb70c25e704a6b38319d Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_15TWG_90000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_16RDU_70003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_16RDU_70003000.png new file mode 100644 index 0000000000000000000000000000000000000000..cf6b9516ddb36ac0a744b6a461e6fab260f9ff98 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_16RDU_70003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_16SEC_20009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_16SEC_20009000.png new file mode 100644 index 0000000000000000000000000000000000000000..aad502b0e66a3d87169fe3a814dc688e4fdffda0 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_16SEC_20009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_16SEC_40009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_16SEC_40009000.png new file mode 100644 index 0000000000000000000000000000000000000000..4806aa424fd73120db4a13b5869dc5adc560d918 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_16SEC_40009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_16WDD_90002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_16WDD_90002000.png new file mode 100644 index 0000000000000000000000000000000000000000..9294e875ddc7c443e4d6371aa42d7102226809de Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_16WDD_90002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_16XDP_30000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_16XDP_30000.png new file mode 100644 index 0000000000000000000000000000000000000000..237a5d447edd9ba184e8f2d45491553b1a3f7428 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_16XDP_30000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_16XEF_50002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_16XEF_50002000.png new file mode 100644 index 0000000000000000000000000000000000000000..4d823746c330ed850abbe41ab2892b958e456d1a Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_16XEF_50002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_16XEF_70002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_16XEF_70002000.png new file mode 100644 index 0000000000000000000000000000000000000000..ce3d645a755fb356ecc8f07f1bf4be3d901025a1 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_16XEF_70002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_17SMU_70005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_17SMU_70005000.png new file mode 100644 index 0000000000000000000000000000000000000000..ff64bbcbff6081c78cb575b29162972657b237e8 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_17SMU_70005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_17TLJ_10008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_17TLJ_10008000.png new file mode 100644 index 0000000000000000000000000000000000000000..e69e7bad25df016fa643dfcd34d21982b6e14891 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_17TLJ_10008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_17TMF_50006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_17TMF_50006000.png new file mode 100644 index 0000000000000000000000000000000000000000..50084865efa793d4230f75c5aeb40d5a582a1261 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_17TMF_50006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_17TNJ_30008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_17TNJ_30008000.png new file mode 100644 index 0000000000000000000000000000000000000000..a0a8e983a8cb50fa9086275ceb1e3da30c741ee1 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_17TNJ_30008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_17WPT_09000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_17WPT_09000.png new file mode 100644 index 0000000000000000000000000000000000000000..fe9b644d086216a6d2f65961d89b077a4e065fdd Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_17WPT_09000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_18VXJ_10001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_18VXJ_10001000.png new file mode 100644 index 0000000000000000000000000000000000000000..e64a03a198a24056f3c5489ae3cbf57c96a43bf7 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_18VXJ_10001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_19XEL_06000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_19XEL_06000.png new file mode 100644 index 0000000000000000000000000000000000000000..42d12b0408ba53dd9d14f76140cf75400c72149f Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_19XEL_06000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_20UQD_70005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_20UQD_70005000.png new file mode 100644 index 0000000000000000000000000000000000000000..f2f0189e33217007be13d21bf2590327bdcc55b8 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_20UQD_70005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_21MWS_20004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_21MWS_20004000.png new file mode 100644 index 0000000000000000000000000000000000000000..36d4d01b336ad4e415eb8c6b2a638336bc2468c3 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_21MWS_20004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_21MWS_60004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_21MWS_60004000.png new file mode 100644 index 0000000000000000000000000000000000000000..64dd65e64ed331ec57be8494bc5f33e3fc5cbd3c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_21MWS_60004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_21MXS_60008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_21MXS_60008000.png new file mode 100644 index 0000000000000000000000000000000000000000..6774d681b7150a5ca74036e7166eaeb6b9c61dcc Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_21MXS_60008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_21MXS_90003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_21MXS_90003000.png new file mode 100644 index 0000000000000000000000000000000000000000..589978d053fea7d8c03a20e10c8b0b247eacee5e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_21MXS_90003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_21UVT_60000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_21UVT_60000.png new file mode 100644 index 0000000000000000000000000000000000000000..dcfb472bed2204c662dbc45bdfc0fc313652d9ca Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_21UVT_60000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_21XVL_50003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_21XVL_50003000.png new file mode 100644 index 0000000000000000000000000000000000000000..acab6b8c685e3122dbfdf0d852f0b05468685f04 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_21XVL_50003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_21XVL_90003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_21XVL_90003000.png new file mode 100644 index 0000000000000000000000000000000000000000..0aefc8ea0b4ee193418e3114eed75ec7ac03c6a4 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_21XVL_90003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_22NDF_10008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_22NDF_10008000.png new file mode 100644 index 0000000000000000000000000000000000000000..b96233c64a966bf95850250e72ec5a439a4fbdfc Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_22NDF_10008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_22VFN_60000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_22VFN_60000.png new file mode 100644 index 0000000000000000000000000000000000000000..7806a6ddfab66dd689967f186ae58fdc5c052982 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_22VFN_60000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_23KQB_20007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_23KQB_20007000.png new file mode 100644 index 0000000000000000000000000000000000000000..bace9a1644814bae6580d33318f5b146429cd097 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_23KQB_20007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_23VLH_40001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_23VLH_40001000.png new file mode 100644 index 0000000000000000000000000000000000000000..1e7263fc229b7c4a73fc991886198de232359b99 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_23VLH_40001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_24KTA_10005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_24KTA_10005000.png new file mode 100644 index 0000000000000000000000000000000000000000..41e238e5421b1ddce2b0a43315b9fe1ba4987554 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_24KTA_10005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_24KTB_20009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_24KTB_20009000.png new file mode 100644 index 0000000000000000000000000000000000000000..a32daf851b8e5d5624f1f654c5e2dc2a933e26ac Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_24KTB_20009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_24WVS_30001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_24WVS_30001000.png new file mode 100644 index 0000000000000000000000000000000000000000..5a6b161b4ffd26b9dbb4120809b84641a22db1ae Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_24WVS_30001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_26WNB_80002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_26WNB_80002000.png new file mode 100644 index 0000000000000000000000000000000000000000..a3c648991d279a3c819923ddce3e7b64196a6f23 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_26WNB_80002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_26WNE_04000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_26WNE_04000.png new file mode 100644 index 0000000000000000000000000000000000000000..7bfcf2400d5ee7e71cb527773d814fda86cc0cd0 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_26WNE_04000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_26WPD_10005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_26WPD_10005000.png new file mode 100644 index 0000000000000000000000000000000000000000..ec800cf28a8cdfa07113eeac9ecfef640289237a Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_26WPD_10005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_26WPD_30006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_26WPD_30006000.png new file mode 100644 index 0000000000000000000000000000000000000000..cf393b63fac6a801f942353fe5fab0903c46dd7b Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_26WPD_30006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_26WPD_40000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_26WPD_40000.png new file mode 100644 index 0000000000000000000000000000000000000000..68338aa8d5bf920ecc86df64e9dc668d5fc02c9d Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_26WPD_40000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_26XNF_80000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_26XNF_80000.png new file mode 100644 index 0000000000000000000000000000000000000000..b45846cfcdfd6c9ebbd290ef520b876247e5cbda Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_26XNF_80000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_27WVT_10006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_27WVT_10006000.png new file mode 100644 index 0000000000000000000000000000000000000000..b2e30144b7fb6bf4ad541168a202f673bab5432c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_27WVT_10006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_27WWN_10002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_27WWN_10002000.png new file mode 100644 index 0000000000000000000000000000000000000000..1b75a079cae62409eb021563a5c5690cbba83e85 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_27WWN_10002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_28PGC_04000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_28PGC_04000.png new file mode 100644 index 0000000000000000000000000000000000000000..048699cebbaf0cd709e32722cc5cb88dcb986253 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_28PGC_04000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_29PMN_90008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_29PMN_90008000.png new file mode 100644 index 0000000000000000000000000000000000000000..a036146adb7f5fbc3e05451ded1dc4bfd1136c45 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_29PMN_90008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_29TQJ_50008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_29TQJ_50008000.png new file mode 100644 index 0000000000000000000000000000000000000000..3224c8b94a8c896d7fbfdfe47deae65851e44e7c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_29TQJ_50008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_30SYE_10008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_30SYE_10008000.png new file mode 100644 index 0000000000000000000000000000000000000000..47d7c1d4f056c70f7cfcba6909625af255cda920 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_30SYE_10008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_30TYP_70005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_30TYP_70005000.png new file mode 100644 index 0000000000000000000000000000000000000000..ead8f667ad8b20056b37672313b41366fe513825 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_30TYP_70005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_30UUF_10009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_30UUF_10009000.png new file mode 100644 index 0000000000000000000000000000000000000000..ef7c4880733eaf6d04dda8893cc8d39ddab92bae Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_30UUF_10009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_30UVU_50002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_30UVU_50002000.png new file mode 100644 index 0000000000000000000000000000000000000000..adb8a30c90b1da54474fea3e9c422504b3225774 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_30UVU_50002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_30UYD_10007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_30UYD_10007000.png new file mode 100644 index 0000000000000000000000000000000000000000..196941410504b20172abce6d266657c4bfd3ced2 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_30UYD_10007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_31PGK_50008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_31PGK_50008000.png new file mode 100644 index 0000000000000000000000000000000000000000..fdb60905f04a4f6626ab998470fbc953c662adce Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_31PGK_50008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_31SED_20004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_31SED_20004000.png new file mode 100644 index 0000000000000000000000000000000000000000..e1582eae46204659842f7a1a297b4444e7187720 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_31SED_20004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_31TCH_90007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_31TCH_90007000.png new file mode 100644 index 0000000000000000000000000000000000000000..369e725d0b86018283d00a7276af194554b01e65 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_31TCH_90007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_31TEM_50006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_31TEM_50006000.png new file mode 100644 index 0000000000000000000000000000000000000000..7df40c4894d2a6c32e88c785ff79570f57ab1be5 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_31TEM_50006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_31TEN_10002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_31TEN_10002000.png new file mode 100644 index 0000000000000000000000000000000000000000..a111396aedc3478f1d42e817077a8ddcf1f616ad Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_31TEN_10002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_31TEN_90000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_31TEN_90000.png new file mode 100644 index 0000000000000000000000000000000000000000..1a08d7218392e335641545c5b59b568c778eb59f Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_31TEN_90000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_31TGL_50000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_31TGL_50000.png new file mode 100644 index 0000000000000000000000000000000000000000..fea313863daf2177046c642f7df2a2980c6fa7d8 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_31TGL_50000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_31TGM_40003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_31TGM_40003000.png new file mode 100644 index 0000000000000000000000000000000000000000..a349a306cfcbe7d30299bc2c0234d77ef015e14d Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_31TGM_40003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_31TGM_40009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_31TGM_40009000.png new file mode 100644 index 0000000000000000000000000000000000000000..7f23bc4d883c472e223b36c4ba3492473029ccf1 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_31TGM_40009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_31TGM_50002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_31TGM_50002000.png new file mode 100644 index 0000000000000000000000000000000000000000..2fc0b46976d0b230fa955f377c862449bfce1d15 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_31TGM_50002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_31TGN_07000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_31TGN_07000.png new file mode 100644 index 0000000000000000000000000000000000000000..ca2195e694e311c90adf4c1ff63d4fcf8a131dc0 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_31TGN_07000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_31UDQ_20009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_31UDQ_20009000.png new file mode 100644 index 0000000000000000000000000000000000000000..a02d7b7af3e95762450fe1aabbef1fe59605d779 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_31UDQ_20009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_31UDR_10002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_31UDR_10002000.png new file mode 100644 index 0000000000000000000000000000000000000000..06fc35cf36b0e56c878675bfff1a7f4b8d103105 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_31UDR_10002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_31UDR_30000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_31UDR_30000.png new file mode 100644 index 0000000000000000000000000000000000000000..5a0305f1fac194dcbd17772fe139029c934d663f Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_31UDR_30000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_31UFQ_50001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_31UFQ_50001000.png new file mode 100644 index 0000000000000000000000000000000000000000..0f296a29d69ef9365d80aa1974677394e352cca4 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_31UFQ_50001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_31UFR_80001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_31UFR_80001000.png new file mode 100644 index 0000000000000000000000000000000000000000..f32f4a91e5c745ae9e066c2cd63e7841ec573c04 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_31UFR_80001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_31UFS_30006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_31UFS_30006000.png new file mode 100644 index 0000000000000000000000000000000000000000..ec7aa119af32e30618298b49eb7dc6a6d9976cb6 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_31UFS_30006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_31UGS_10001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_31UGS_10001000.png new file mode 100644 index 0000000000000000000000000000000000000000..e4ccff946ca2a56ae1ec1cbe78ad97d28c2578bc Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_31UGS_10001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_32SNE_30008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_32SNE_30008000.png new file mode 100644 index 0000000000000000000000000000000000000000..f641fdf1342448318317a104d14d3578f7b82ace Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_32SNE_30008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_32ULC_10005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_32ULC_10005000.png new file mode 100644 index 0000000000000000000000000000000000000000..919107e03322c8b5c4f82173a0aae56927e8e597 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_32ULC_10005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_32UNA_10001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_32UNA_10001000.png new file mode 100644 index 0000000000000000000000000000000000000000..4763d96bf836e6baee571b8ea24b82c31b4e24cb Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_32UNA_10001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_32UND_08000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_32UND_08000.png new file mode 100644 index 0000000000000000000000000000000000000000..6c3afbc1f59a4e6f7776f0aca7ecd0c85ab22f92 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_32UND_08000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_32UND_20005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_32UND_20005000.png new file mode 100644 index 0000000000000000000000000000000000000000..77400665e68eb1c1d7a0439604273f995278f19a Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_32UND_20005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_32VLL_10009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_32VLL_10009000.png new file mode 100644 index 0000000000000000000000000000000000000000..30e3d6b0e6eecbc4007a4770761bf58baf5f96b5 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_32VLL_10009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_32VMQ_60003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_32VMQ_60003000.png new file mode 100644 index 0000000000000000000000000000000000000000..768aee1fbc25da910442a89f7dfb4bb5e3809079 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_32VMQ_60003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_34UGD_90006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_34UGD_90006000.png new file mode 100644 index 0000000000000000000000000000000000000000..1e332aa0d2c22479eb4d500c9982e152e65bf8ed Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_34UGD_90006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_34VCL_20000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_34VCL_20000.png new file mode 100644 index 0000000000000000000000000000000000000000..12fdb983123302bf0619925f581d0a116a63d103 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_34VCL_20000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_34VFL_30009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_34VFL_30009000.png new file mode 100644 index 0000000000000000000000000000000000000000..078486fe19c1cb10f211153f8253a44ad705eafc Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_34VFL_30009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_34VFL_50005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_34VFL_50005000.png new file mode 100644 index 0000000000000000000000000000000000000000..adca220b495c26ee420554135cea9ef077aec828 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_34VFL_50005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_34VFQ_20004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_34VFQ_20004000.png new file mode 100644 index 0000000000000000000000000000000000000000..924d3e799925c7d3c348d1454cf5e35cad6d6176 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_34VFQ_20004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_34VFQ_20006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_34VFQ_20006000.png new file mode 100644 index 0000000000000000000000000000000000000000..2f84c73f16e5d2ffc7496d014e8d2d970bce7b17 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_34VFQ_20006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_34VFQ_50005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_34VFQ_50005000.png new file mode 100644 index 0000000000000000000000000000000000000000..881b02b8d3cdc9bc351b1fbc7ead03c5c75f5939 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_34VFQ_50005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_34WDB_60002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_34WDB_60002000.png new file mode 100644 index 0000000000000000000000000000000000000000..a9c10ca5613434e31439d9f3c5acb8b702416885 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_34WDB_60002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_34WDB_60008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_34WDB_60008000.png new file mode 100644 index 0000000000000000000000000000000000000000..639a7a1a5b86e9875355efe8f251b2ea46783e76 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_34WDB_60008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_34WDB_70005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_34WDB_70005000.png new file mode 100644 index 0000000000000000000000000000000000000000..939a43d982a560d39821cd644ea1c12f8f590a31 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_34WDB_70005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_34WDB_70008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_34WDB_70008000.png new file mode 100644 index 0000000000000000000000000000000000000000..e5d351aa5557f774f555f123498174aaa931c3a9 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_34WDB_70008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_34WFS_70008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_34WFS_70008000.png new file mode 100644 index 0000000000000000000000000000000000000000..4a07e517bb8641c99c9454e3bc1d3c738fea0e91 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_34WFS_70008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_35MNQ_90004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_35MNQ_90004000.png new file mode 100644 index 0000000000000000000000000000000000000000..38b8c66773a8cb60377eae61ee00a2d43f87b3cd Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_35MNQ_90004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_35NQE_90000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_35NQE_90000.png new file mode 100644 index 0000000000000000000000000000000000000000..9610926dc5fdb7e1617c6244f2e25dc150d2ea04 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_35NQE_90000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_35TMH_70008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_35TMH_70008000.png new file mode 100644 index 0000000000000000000000000000000000000000..ef99330d765bb5471b3aef99b149cf228b5d79c4 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_35TMH_70008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_35TPN_20004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_35TPN_20004000.png new file mode 100644 index 0000000000000000000000000000000000000000..030d23dc7b96498cc79f31a3da01f72397d6d682 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_35TPN_20004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_35ULU_90007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_35ULU_90007000.png new file mode 100644 index 0000000000000000000000000000000000000000..2aca01d75dbbc854961b401b49a1bb3ad9d4bde7 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_35ULU_90007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_35UNA_90000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_35UNA_90000.png new file mode 100644 index 0000000000000000000000000000000000000000..cd5e3756e66b9ba784e95ef0ec7aeaa52b301fb9 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_35UNA_90000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_35UPV_00.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_35UPV_00.png new file mode 100644 index 0000000000000000000000000000000000000000..82bee2d61ac5d53955c05e15706fedc5db05a641 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_35UPV_00.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_35UPV_50004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_35UPV_50004000.png new file mode 100644 index 0000000000000000000000000000000000000000..81b637763573b46df4ad605bd7244ee8e71d3ad2 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_35UPV_50004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_35UPV_50007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_35UPV_50007000.png new file mode 100644 index 0000000000000000000000000000000000000000..1e0297484537f93b656d038ef84300abadfc7344 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_35UPV_50007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_35UPV_80003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_35UPV_80003000.png new file mode 100644 index 0000000000000000000000000000000000000000..fd96eb3bc20deae4355b17aa4e4c99d7d8edabc4 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_35UPV_80003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_35UPV_80005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_35UPV_80005000.png new file mode 100644 index 0000000000000000000000000000000000000000..f5315c7db3df1bae579aab31e8a54d4d939134c0 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_35UPV_80005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_35UQV_05000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_35UQV_05000.png new file mode 100644 index 0000000000000000000000000000000000000000..85959cb39731c8d61ae8be22e3933e0638022a81 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_35UQV_05000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_35VMC_20009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_35VMC_20009000.png new file mode 100644 index 0000000000000000000000000000000000000000..94d3588f10286e54a8ef31e0f6dc53b188afef25 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_35VMC_20009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_35VME_05000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_35VME_05000.png new file mode 100644 index 0000000000000000000000000000000000000000..26f62df34413b66afb511352317a433c92e16142 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_35VME_05000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_35VME_06000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_35VME_06000.png new file mode 100644 index 0000000000000000000000000000000000000000..19cfe4d0690200e6ea3745ec544eeffb638fca68 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_35VME_06000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_35WNP_30006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_35WNP_30006000.png new file mode 100644 index 0000000000000000000000000000000000000000..afe0d649bdcde53c05581c030cf824da9181b319 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_35WNP_30006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_35WPM_50009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_35WPM_50009000.png new file mode 100644 index 0000000000000000000000000000000000000000..1f38d2738188b85b53289f6bedccf5c260bed449 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_35WPM_50009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_35WPR_60002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_35WPR_60002000.png new file mode 100644 index 0000000000000000000000000000000000000000..b340aac3bb0ca73eb5d6d0ce5f3a967b27ae8b44 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_35WPR_60002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_36KUA_30005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_36KUA_30005000.png new file mode 100644 index 0000000000000000000000000000000000000000..d1caba2412b8761b02cdf2f5486b3d3756182c64 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_36KUA_30005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_36KXE_50007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_36KXE_50007000.png new file mode 100644 index 0000000000000000000000000000000000000000..fbefbbba9cbc69f08eaf4ad04d77acd74933eb38 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_36KXE_50007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_36KXE_70005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_36KXE_70005000.png new file mode 100644 index 0000000000000000000000000000000000000000..32a31474d8ffbf04958aae4257ffe59e8691a1e6 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_36KXE_70005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_36NUJ_70008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_36NUJ_70008000.png new file mode 100644 index 0000000000000000000000000000000000000000..8a0c2bb4a53dcde6e1541b80501ac42f0ab4ad16 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_36NUJ_70008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_36NYP_80003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_36NYP_80003000.png new file mode 100644 index 0000000000000000000000000000000000000000..651c63e7e283bf535822a57fd2058b007e9c4fc9 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_36NYP_80003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_36TWS_30005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_36TWS_30005000.png new file mode 100644 index 0000000000000000000000000000000000000000..6fe5eabb7d1fbb3e56bca784dce54db353284990 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_36TWS_30005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_36UVE_03000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_36UVE_03000.png new file mode 100644 index 0000000000000000000000000000000000000000..d915e1140579f3e8d42af82b6dac4bd495c737f8 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_36UVE_03000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_36VUH_10006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_36VUH_10006000.png new file mode 100644 index 0000000000000000000000000000000000000000..a8da5a158e7d0d64af6d8cad930a680b8290dc45 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_36VUH_10006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_36VUN_10007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_36VUN_10007000.png new file mode 100644 index 0000000000000000000000000000000000000000..713b2749722f2df3508f4e58f45098b2369a7262 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_36VUN_10007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_36VVM_20006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_36VVM_20006000.png new file mode 100644 index 0000000000000000000000000000000000000000..233e12c96f9008295d29bc947b96a3cbe9a0c062 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_36VVM_20006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_36VXQ_30001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_36VXQ_30001000.png new file mode 100644 index 0000000000000000000000000000000000000000..4f7c21e3b4f59f9c00ca706aa5b31e8e02efd3a4 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_36VXQ_30001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_36VXQ_50007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_36VXQ_50007000.png new file mode 100644 index 0000000000000000000000000000000000000000..d46459004c641316b37c2122c54fb5d3793fdf90 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_36VXQ_50007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_36VXQ_90003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_36VXQ_90003000.png new file mode 100644 index 0000000000000000000000000000000000000000..e27d0274efd0dec1e85490bbd6feea77f51bb887 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_36VXQ_90003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_37KCA_30007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_37KCA_30007000.png new file mode 100644 index 0000000000000000000000000000000000000000..eb60fbd1a29751e5aff0ff522ee45690ded4150a Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_37KCA_30007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_37KCB_40007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_37KCB_40007000.png new file mode 100644 index 0000000000000000000000000000000000000000..e578136302a06e56952608fb19c22d6965b6efc5 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_37KCB_40007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_37LDG_60003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_37LDG_60003000.png new file mode 100644 index 0000000000000000000000000000000000000000..053fc6608df111e3e63a3e748ef0e9d3f3404d62 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_37LDG_60003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_37LDH_20004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_37LDH_20004000.png new file mode 100644 index 0000000000000000000000000000000000000000..838bb7c23f53b57fbe015be34bb992083b140be8 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_37LDH_20004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_37LDH_70004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_37LDH_70004000.png new file mode 100644 index 0000000000000000000000000000000000000000..bde17074524178b2fde5d54aab8d05a77d5e7362 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_37LDH_70004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_37LDJ_90009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_37LDJ_90009000.png new file mode 100644 index 0000000000000000000000000000000000000000..cde045d4cd9b6ffae91a79948e5f777ccd71170d Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_37LDJ_90009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_37LDL_90001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_37LDL_90001000.png new file mode 100644 index 0000000000000000000000000000000000000000..117501bbaa2851d1d65a2b51f8591921eca8aa8b Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_37LDL_90001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_37LEJ_70009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_37LEJ_70009000.png new file mode 100644 index 0000000000000000000000000000000000000000..c6e96546c6a33f4d5479634d0c511940711edb86 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_37LEJ_70009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_37LEK_30004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_37LEK_30004000.png new file mode 100644 index 0000000000000000000000000000000000000000..afc157bb9795f9322da1bba663cadfc6384cab1a Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_37LEK_30004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_37LFD_60006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_37LFD_60006000.png new file mode 100644 index 0000000000000000000000000000000000000000..f772c0d024c194241cacccd2c7b0eb74e6ffad0a Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_37LFD_60006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_37LFD_60007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_37LFD_60007000.png new file mode 100644 index 0000000000000000000000000000000000000000..408210a982d3193c92db37e70852f9145caa85ad Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_37LFD_60007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_37VCC_80005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_37VCC_80005000.png new file mode 100644 index 0000000000000000000000000000000000000000..f4796e6a359e18da25c4dcc05ca249976c6a7fc8 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_37VCC_80005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_37VCG_10003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_37VCG_10003000.png new file mode 100644 index 0000000000000000000000000000000000000000..d2d0a474d7cfbb681581e5905c720642f850a132 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_37VCG_10003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_37VCG_10009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_37VCG_10009000.png new file mode 100644 index 0000000000000000000000000000000000000000..e72b54f9260c684c40c1fe796d22791a3f960f23 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_37VCG_10009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_37VCG_80001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_37VCG_80001000.png new file mode 100644 index 0000000000000000000000000000000000000000..1b00b1a947c112e78ebee2cc4f4d39cd2fb433f0 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_37VCG_80001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_37VCK_60000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_37VCK_60000.png new file mode 100644 index 0000000000000000000000000000000000000000..357bd418d2e359a0fef5fd6d75edad8b70e9c09f Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_37VCK_60000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_37VCK_80005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_37VCK_80005000.png new file mode 100644 index 0000000000000000000000000000000000000000..653215b145814bc61c6a9456b186082e75b9bed7 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_37VCK_80005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_37VEC_80001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_37VEC_80001000.png new file mode 100644 index 0000000000000000000000000000000000000000..5563ac8145841c70e33f160077121dde88b0f752 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_37VEC_80001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_37VEE_90005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_37VEE_90005000.png new file mode 100644 index 0000000000000000000000000000000000000000..feb6911db5265600b3ea9c88d27915830a084d31 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_37VEE_90005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_37VFF_10007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_37VFF_10007000.png new file mode 100644 index 0000000000000000000000000000000000000000..58ab16cb94db483cd086e22b5614f80904a94a8e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_37VFF_10007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_37VFL_10008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_37VFL_10008000.png new file mode 100644 index 0000000000000000000000000000000000000000..0529316d5c81b0369507a49730a5895fd9282f06 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_37VFL_10008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_37WDP_80006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_37WDP_80006000.png new file mode 100644 index 0000000000000000000000000000000000000000..55fb46ac6947a31f264780e4eaff7b1c1f7d1aab Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_37WDP_80006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_37WEN_70003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_37WEN_70003000.png new file mode 100644 index 0000000000000000000000000000000000000000..bb8029f45ad858189fded14b9a49cb770c25f3fb Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_37WEN_70003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_37WEN_90003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_37WEN_90003000.png new file mode 100644 index 0000000000000000000000000000000000000000..92c8d296eaa86949f6b8a035bb377c79ea5c3dd1 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_37WEN_90003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_37WEQ_30006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_37WEQ_30006000.png new file mode 100644 index 0000000000000000000000000000000000000000..ccfe98557178562f7b79a61304c62dfae703de40 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_37WEQ_30006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_37WEQ_30007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_37WEQ_30007000.png new file mode 100644 index 0000000000000000000000000000000000000000..418266225733c47f6d6eb8612d6dd465c115c50f Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_37WEQ_30007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_37WEQ_40002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_37WEQ_40002000.png new file mode 100644 index 0000000000000000000000000000000000000000..2129b67e9f3aa351f50196c9b557dff9802af560 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_37WEQ_40002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_37WEQ_80005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_37WEQ_80005000.png new file mode 100644 index 0000000000000000000000000000000000000000..580865ac1cebe54de3b8b8cda7528157c8912626 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_37WEQ_80005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_38JNT_50009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_38JNT_50009000.png new file mode 100644 index 0000000000000000000000000000000000000000..c54f71be791575629bae4b69509e221a73fa7fd9 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_38JNT_50009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_38KQE_30009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_38KQE_30009000.png new file mode 100644 index 0000000000000000000000000000000000000000..e1df739c025d64225c026603a41a3ab4ad12aaaa Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_38KQE_30009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_38NMJ_40004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_38NMJ_40004000.png new file mode 100644 index 0000000000000000000000000000000000000000..94ba4b245e462696026f1d27c8d957ecedfebea8 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_38NMJ_40004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_38NMJ_50009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_38NMJ_50009000.png new file mode 100644 index 0000000000000000000000000000000000000000..d646ccf1e531fc67353a6e93cb6e9f9b39408bf0 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_38NMJ_50009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_38NNJ_20003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_38NNJ_20003000.png new file mode 100644 index 0000000000000000000000000000000000000000..915f8b31ae51db77bce286e17298932517521706 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_38NNJ_20003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_38PKQ_10002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_38PKQ_10002000.png new file mode 100644 index 0000000000000000000000000000000000000000..cdd91ef9a0ac8063825fd43d5b339714ea2a9d5e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_38PKQ_10002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_38PLQ_10003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_38PLQ_10003000.png new file mode 100644 index 0000000000000000000000000000000000000000..09bd5369782b1b6eec4f7a13e506a5ba07b4b8f6 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_38PLQ_10003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_38PNQ_90002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_38PNQ_90002000.png new file mode 100644 index 0000000000000000000000000000000000000000..f342b438fbd5fcc181b89f83f0567810c94595c1 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_38PNQ_90002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_38PRQ_50005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_38PRQ_50005000.png new file mode 100644 index 0000000000000000000000000000000000000000..c0b0cc9df85831735649b2a792612c21ecfd35a3 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_38PRQ_50005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_38PRR_90000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_38PRR_90000.png new file mode 100644 index 0000000000000000000000000000000000000000..9433dedb23cf3cf6d2d54b04fd438ccf0cda0554 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_38PRR_90000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_38UNG_50007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_38UNG_50007000.png new file mode 100644 index 0000000000000000000000000000000000000000..521208d27816c7c4f204dc7cb51e9ee96b853598 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_38UNG_50007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_38UPE_60000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_38UPE_60000.png new file mode 100644 index 0000000000000000000000000000000000000000..dd1be5f3e977f2f0c447d80ae3de7a2cea13ce3e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_38UPE_60000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_38UQD_40000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_38UQD_40000.png new file mode 100644 index 0000000000000000000000000000000000000000..fd87adc3b9695a147dba06bcd2dd40ca86eb8aaf Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_38UQD_40000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_38UQD_60005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_38UQD_60005000.png new file mode 100644 index 0000000000000000000000000000000000000000..107582bd70a1393a6c617b2b6ac70ff0e2eaa204 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_38UQD_60005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_38VLM_10006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_38VLM_10006000.png new file mode 100644 index 0000000000000000000000000000000000000000..e1666fda2857eb99591031261b5d4749c4da7f4f Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_38VLM_10006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_38VLM_10008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_38VLM_10008000.png new file mode 100644 index 0000000000000000000000000000000000000000..6101088447116feb6e50cd46f27b834cee67a3e6 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_38VLM_10008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_38VLM_20001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_38VLM_20001000.png new file mode 100644 index 0000000000000000000000000000000000000000..5173f7b3903ccb04251211ad2b88bc8bd7febdd0 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_38VLM_20001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_38VLM_20005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_38VLM_20005000.png new file mode 100644 index 0000000000000000000000000000000000000000..235f558b9f40f7cd983091f2b50f1fd0c01661d4 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_38VLM_20005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_38VLM_30003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_38VLM_30003000.png new file mode 100644 index 0000000000000000000000000000000000000000..74b283a0e88fc84154d48ac08b7d5c9f6b497aa5 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_38VLM_30003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_38VLR_40008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_38VLR_40008000.png new file mode 100644 index 0000000000000000000000000000000000000000..3c02797fadd55162b884368be1e37847ba2f9182 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_38VLR_40008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_38VNJ_02000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_38VNJ_02000.png new file mode 100644 index 0000000000000000000000000000000000000000..db295060d948884205fcb6b989aba69f23155881 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_38VNJ_02000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_38VPH_40001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_38VPH_40001000.png new file mode 100644 index 0000000000000000000000000000000000000000..85720255e628140f44500b3df7dc0a374de629c0 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_38VPH_40001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_38VPH_70005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_38VPH_70005000.png new file mode 100644 index 0000000000000000000000000000000000000000..f82744aa06b0ff95f172303de0f639411501a206 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_38VPH_70005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_38VPJ_90002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_38VPJ_90002000.png new file mode 100644 index 0000000000000000000000000000000000000000..1a97b050f0345d741daa30ab6cca3b3d8c6678ac Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_38VPJ_90002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_38VPM_20008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_38VPM_20008000.png new file mode 100644 index 0000000000000000000000000000000000000000..e6ee60d9f0fbc4c3f2c01e5ff15cc824d3f74d3e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_38VPM_20008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_38WMV_70001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_38WMV_70001000.png new file mode 100644 index 0000000000000000000000000000000000000000..2237597bd19781c0915d6d39900dcbd2ebe25339 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_38WMV_70001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39TYG_50009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39TYG_50009000.png new file mode 100644 index 0000000000000000000000000000000000000000..116d444b360d44f0b0751101a890e2440fd3b98a Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39TYG_50009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39UUT_60001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39UUT_60001000.png new file mode 100644 index 0000000000000000000000000000000000000000..9a0a684e60fe0059f713294844ba2652c99d27ed Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39UUT_60001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39UUT_80002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39UUT_80002000.png new file mode 100644 index 0000000000000000000000000000000000000000..1b9ddfb2bc250ed9eec3edf7e22a246a7328cdda Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39UUT_80002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39UVB_20002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39UVB_20002000.png new file mode 100644 index 0000000000000000000000000000000000000000..e6ebe4b863338f8ffc427c560be204fb67ad61e7 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39UVB_20002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39UWB_02000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39UWB_02000.png new file mode 100644 index 0000000000000000000000000000000000000000..18ba4c123167e93c6538616cf6c3cab0275efd8f Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39UWB_02000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39UWB_40000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39UWB_40000.png new file mode 100644 index 0000000000000000000000000000000000000000..7b87f743f9d6561057db4188890a8ad07bba79e7 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39UWB_40000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39UWU_40005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39UWU_40005000.png new file mode 100644 index 0000000000000000000000000000000000000000..8ef3e7daa37cdd2859ad4638792cd28bdfa39a20 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39UWU_40005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39UWV_01000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39UWV_01000.png new file mode 100644 index 0000000000000000000000000000000000000000..ef5e9fbd92190cf3d6995ca83f4516f5de155e10 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39UWV_01000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39VUF_80000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39VUF_80000.png new file mode 100644 index 0000000000000000000000000000000000000000..835218361b412474825b00a14cd9712839321a4e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39VUF_80000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39VVC_02000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39VVC_02000.png new file mode 100644 index 0000000000000000000000000000000000000000..0241aae12161fb023125570d1f97124cec9c9173 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39VVC_02000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39VVC_30004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39VVC_30004000.png new file mode 100644 index 0000000000000000000000000000000000000000..4b75cbad87a2c1808cc490cf6feed6c88409301d Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39VVC_30004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39VVC_70005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39VVC_70005000.png new file mode 100644 index 0000000000000000000000000000000000000000..300de360b564381c86b54725e4a710d7db71a72c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39VVC_70005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39VVC_90007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39VVC_90007000.png new file mode 100644 index 0000000000000000000000000000000000000000..c4b2a4fceaca96f30428db46c957c3f9dd0af76c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39VVC_90007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39VVD_10007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39VVD_10007000.png new file mode 100644 index 0000000000000000000000000000000000000000..8cc98877802dca3d433cdeee15026bc1484c4de8 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39VVD_10007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39VVD_20005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39VVD_20005000.png new file mode 100644 index 0000000000000000000000000000000000000000..e51f8164f7b6c231e217558c8056fa6593d5a59c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39VVD_20005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39VVE_50002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39VVE_50002000.png new file mode 100644 index 0000000000000000000000000000000000000000..6187be0ffeacb9064597644adcf6a7522362301c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39VVE_50002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39VVE_70002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39VVE_70002000.png new file mode 100644 index 0000000000000000000000000000000000000000..c87fc2073e4ab01246f6f1d6aecb45e7d7dc5fe8 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39VVE_70002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39VVE_90000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39VVE_90000.png new file mode 100644 index 0000000000000000000000000000000000000000..4eb77b9803d9efb9c724cf9e7cabc93652fe67ed Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39VVE_90000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39VVL_30006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39VVL_30006000.png new file mode 100644 index 0000000000000000000000000000000000000000..3c903029e00017f0f829a09040ba40c10104f6ed Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39VVL_30006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39VWD_80001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39VWD_80001000.png new file mode 100644 index 0000000000000000000000000000000000000000..26b645ff3f7c47e558f09f83c96c63d916da2b5a Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39VWD_80001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39VWF_05000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39VWF_05000.png new file mode 100644 index 0000000000000000000000000000000000000000..9bc97ac9b92c7dafb77adfa748fe3806250644b4 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39VWF_05000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39VWF_30008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39VWF_30008000.png new file mode 100644 index 0000000000000000000000000000000000000000..1b48eb554913e9a2a1c067e1fb290594e061f708 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39VWF_30008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39VWF_40008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39VWF_40008000.png new file mode 100644 index 0000000000000000000000000000000000000000..2e9cca27f01d6e6d7174f5d0ea78ec9771214e66 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39VWF_40008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39VWF_90009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39VWF_90009000.png new file mode 100644 index 0000000000000000000000000000000000000000..50020ad1530c0aebfb775f5ef7aea2c306f87f55 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39VWF_90009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39VWL_10000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39VWL_10000.png new file mode 100644 index 0000000000000000000000000000000000000000..2e776a8dec45f69f5b98f4e8c609679293bfd6b1 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39VWL_10000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39VWL_40008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39VWL_40008000.png new file mode 100644 index 0000000000000000000000000000000000000000..ec58484cfda8f56a412a323ebc30d8fb1a736293 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39VWL_40008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39VXE_10001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39VXE_10001000.png new file mode 100644 index 0000000000000000000000000000000000000000..7b0a5badfe59a394643e554af0aae4000137fab8 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39VXE_10001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39VXE_30000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39VXE_30000.png new file mode 100644 index 0000000000000000000000000000000000000000..38b6cafc0c6a0125d085555df4825f56d474b265 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39VXE_30000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39VXF_40008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39VXF_40008000.png new file mode 100644 index 0000000000000000000000000000000000000000..2ec7f37504bdc626499ba6f3a2996ac879ef6aff Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39VXF_40008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39VXG_50001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39VXG_50001000.png new file mode 100644 index 0000000000000000000000000000000000000000..8b8f6cfc45454a7e401004019e4d2244519c11e3 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39VXG_50001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39VXG_70004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39VXG_70004000.png new file mode 100644 index 0000000000000000000000000000000000000000..7eeb2ac48c4f03b1e73ab57de5c68b86a617bae2 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39VXG_70004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39VXG_80005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39VXG_80005000.png new file mode 100644 index 0000000000000000000000000000000000000000..d75d71a2b5788c5ce9d4976b35d319521f366459 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39VXG_80005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39WVN_10005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39WVN_10005000.png new file mode 100644 index 0000000000000000000000000000000000000000..04f15ca39ce02fb1896b6cf7ab339cf8984d97f0 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39WVN_10005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39WVN_20006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39WVN_20006000.png new file mode 100644 index 0000000000000000000000000000000000000000..4a7dd00baab94ab240ae463d5fcef8200304dd4b Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39WVN_20006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39WVQ_07000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39WVQ_07000.png new file mode 100644 index 0000000000000000000000000000000000000000..15aaf3b740f0e4938e5e288d0f394bc77a88b25e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39WVQ_07000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39WXS_09000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39WXS_09000.png new file mode 100644 index 0000000000000000000000000000000000000000..9b71c34478e4af22f939b0b18952c6b9492516e6 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_39WXS_09000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_40UCG_60008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_40UCG_60008000.png new file mode 100644 index 0000000000000000000000000000000000000000..cbc61942359624d790a575b6c921915c255ede4f Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_40UCG_60008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_40UCG_70001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_40UCG_70001000.png new file mode 100644 index 0000000000000000000000000000000000000000..f854c4be8b655a9e4ffeee2bb909b50a9565c6c1 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_40UCG_70001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_40UCG_70008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_40UCG_70008000.png new file mode 100644 index 0000000000000000000000000000000000000000..c6913d08af2bf896eb45c54b2df7ec3879c66e4e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_40UCG_70008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_40UEV_10005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_40UEV_10005000.png new file mode 100644 index 0000000000000000000000000000000000000000..07653d4a2bf844774e8cbe3f570e5d405ba5ecc3 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_40UEV_10005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_40UFG_50000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_40UFG_50000.png new file mode 100644 index 0000000000000000000000000000000000000000..8bb4543fd4c683b7e51281d823f765745c8fc5a1 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_40UFG_50000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_40UFG_90000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_40UFG_90000.png new file mode 100644 index 0000000000000000000000000000000000000000..287d2065a9065e5a3a16f16a56ae3ab1aa36747a Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_40UFG_90000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_40VCH_70005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_40VCH_70005000.png new file mode 100644 index 0000000000000000000000000000000000000000..081fcec7c0a0474066878dec0dd59eca85f6c100 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_40VCH_70005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_40VCH_80002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_40VCH_80002000.png new file mode 100644 index 0000000000000000000000000000000000000000..121d7861df9ec216da2374b362e2e46710617624 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_40VCH_80002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_40VCM_40005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_40VCM_40005000.png new file mode 100644 index 0000000000000000000000000000000000000000..299cd99c38fab189a247616c8767da92be747bee Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_40VCM_40005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_40VCN_80004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_40VCN_80004000.png new file mode 100644 index 0000000000000000000000000000000000000000..c657986ea96cfe9f6a0d5e22df8999f93530092b Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_40VCN_80004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_40VCN_80008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_40VCN_80008000.png new file mode 100644 index 0000000000000000000000000000000000000000..eb25a374d4edaeac14b788b9098cc213ea90f1b8 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_40VCN_80008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_40VCQ_40003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_40VCQ_40003000.png new file mode 100644 index 0000000000000000000000000000000000000000..5b40702ed67a5355fd8b969bdb14868fd4c4e9b2 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_40VCQ_40003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_40VDN_04000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_40VDN_04000.png new file mode 100644 index 0000000000000000000000000000000000000000..9c85571d78d523d310826a8639cd46f0ff93fdca Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_40VDN_04000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_40VEK_60000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_40VEK_60000.png new file mode 100644 index 0000000000000000000000000000000000000000..c7f47e6e9414657819da0e19ef675ba01e0c7eb0 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_40VEK_60000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_40VEQ_80006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_40VEQ_80006000.png new file mode 100644 index 0000000000000000000000000000000000000000..7cef6e03932a172f4dd0ec834bf92fd3d649c68e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_40VEQ_80006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_40VFQ_50006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_40VFQ_50006000.png new file mode 100644 index 0000000000000000000000000000000000000000..cf99b2d9dfeafd180acf9bca521bf916f12bbe0e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_40VFQ_50006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_41UPU_70004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_41UPU_70004000.png new file mode 100644 index 0000000000000000000000000000000000000000..7f8b27aa8d07bcc47ea950425e73d5692a62be87 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_41UPU_70004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_41UQT_10004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_41UQT_10004000.png new file mode 100644 index 0000000000000000000000000000000000000000..5f1b119217e88ece6cf9cf1207b3f36c33f654c7 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_41UQT_10004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_41UQU_50004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_41UQU_50004000.png new file mode 100644 index 0000000000000000000000000000000000000000..52a2fd5cefabecfd0eb2a04350a198a03683c511 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_41UQU_50004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_41UQU_50009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_41UQU_50009000.png new file mode 100644 index 0000000000000000000000000000000000000000..9c91741e6eb53426da342c4c2dff4d1488717efa Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_41UQU_50009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_41UQU_80008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_41UQU_80008000.png new file mode 100644 index 0000000000000000000000000000000000000000..f2b17926682104655da89e42d09b67c9836a9401 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_41UQU_80008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_41VMC_03000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_41VMC_03000.png new file mode 100644 index 0000000000000000000000000000000000000000..dc688c98109733b8536ec07baf29d5b5f0fd1fb4 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_41VMC_03000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_41VME_40003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_41VME_40003000.png new file mode 100644 index 0000000000000000000000000000000000000000..870b4203de21b6945d8c8f267fcc967a6254eb83 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_41VME_40003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_41VPH_10002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_41VPH_10002000.png new file mode 100644 index 0000000000000000000000000000000000000000..0424ffc763551813e198f01bd9c73a193933083c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_41VPH_10002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_41WNS_90007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_41WNS_90007000.png new file mode 100644 index 0000000000000000000000000000000000000000..4865891fce17ca5b5ceaa158e7bba8de031de1e3 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_41WNS_90007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_41WPQ_10002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_41WPQ_10002000.png new file mode 100644 index 0000000000000000000000000000000000000000..16f639034ebb0a72601f2c31661025b9a73676d8 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_41WPQ_10002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_42UVC_50000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_42UVC_50000.png new file mode 100644 index 0000000000000000000000000000000000000000..d28bc632caa6b2c1a795642da59ac34da142f404 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_42UVC_50000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_42UVE_10001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_42UVE_10001000.png new file mode 100644 index 0000000000000000000000000000000000000000..611884f2afae1b5884d6fe9f328e3703727fc26a Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_42UVE_10001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_42UWG_50006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_42UWG_50006000.png new file mode 100644 index 0000000000000000000000000000000000000000..1c58750bf067e4aaa0713b82151b42b3a4411ff8 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_42UWG_50006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_42UXE_60009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_42UXE_60009000.png new file mode 100644 index 0000000000000000000000000000000000000000..c46a0e2116ff5257c5324048248e4372e7550430 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_42UXE_60009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_42UYE_10009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_42UYE_10009000.png new file mode 100644 index 0000000000000000000000000000000000000000..cd5e396edc9a6aa6766df54f5e14d4d34d03a313 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_42UYE_10009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_42VWL_01000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_42VWL_01000.png new file mode 100644 index 0000000000000000000000000000000000000000..6cdfc3a70b40238f03b7b5b84bca6119e84df7a9 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_42VWL_01000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_42VWR_08000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_42VWR_08000.png new file mode 100644 index 0000000000000000000000000000000000000000..14f5c1383e2eec6dac4b1f375cade2723ff53e5f Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_42VWR_08000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_42VWR_10009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_42VWR_10009000.png new file mode 100644 index 0000000000000000000000000000000000000000..ec6f67fcb48c1931a1b9a1f6381c85f4c645dace Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_42VWR_10009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_42VXJ_20006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_42VXJ_20006000.png new file mode 100644 index 0000000000000000000000000000000000000000..068ce0e4912d2a84d630f4464b0835213bb78a10 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_42VXJ_20006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_42VXK_06000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_42VXK_06000.png new file mode 100644 index 0000000000000000000000000000000000000000..e2ff5bd97a5a9e41085b5e75c3aba94f5fabc4d2 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_42VXK_06000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_43UCV_70002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_43UCV_70002000.png new file mode 100644 index 0000000000000000000000000000000000000000..1d62a8e42319ebc02d82df87fe8f90985b87ef11 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_43UCV_70002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_43VFJ_80003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_43VFJ_80003000.png new file mode 100644 index 0000000000000000000000000000000000000000..1cd9d6b675f9483134ed641d5cc78b80f02ce6f3 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_43VFJ_80003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_43WFN_70001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_43WFN_70001000.png new file mode 100644 index 0000000000000000000000000000000000000000..123aa2585a56bef943ac00bb0cc43939b15b9218 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_43WFN_70001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_43WFN_70003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_43WFN_70003000.png new file mode 100644 index 0000000000000000000000000000000000000000..2089fc517b1872056bd40972a94dfc6aed5b6110 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_43WFN_70003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_44RMS_70003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_44RMS_70003000.png new file mode 100644 index 0000000000000000000000000000000000000000..398a6ba7b14e75a5abb0addf3c124052e2797fc8 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_44RMS_70003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_44RMS_70006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_44RMS_70006000.png new file mode 100644 index 0000000000000000000000000000000000000000..22017f18f492439706f4575bf107d2ae5860f1c9 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_44RMS_70006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_44UNV_70006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_44UNV_70006000.png new file mode 100644 index 0000000000000000000000000000000000000000..10bf82dab8adb07c990820aa64b3a2cb4ef753e8 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_44UNV_70006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_44VNH_70003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_44VNH_70003000.png new file mode 100644 index 0000000000000000000000000000000000000000..e9bc8a530783c5ef1dfa75dbd6c6951ccc3e34c1 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_44VNH_70003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_44WNT_20009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_44WNT_20009000.png new file mode 100644 index 0000000000000000000000000000000000000000..5f8124914461c429ebf1f0c4257af233d2089be1 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_44WNT_20009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_44XNF_90000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_44XNF_90000.png new file mode 100644 index 0000000000000000000000000000000000000000..ce87bd7e5fb41c3c3ea466caa63ac8d3f24badfc Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_44XNF_90000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_44XPF_70006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_44XPF_70006000.png new file mode 100644 index 0000000000000000000000000000000000000000..990b5c02adb0ce8fe519473af83b275806a6e2a4 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_44XPF_70006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_45VVC_50006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_45VVC_50006000.png new file mode 100644 index 0000000000000000000000000000000000000000..db8e32b6be8f424e6acff6b83f0aa973986a11f6 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_45VVC_50006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_45WWQ_50007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_45WWQ_50007000.png new file mode 100644 index 0000000000000000000000000000000000000000..28355144b997840b90b1800901a33082137745c5 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_45WWQ_50007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_45WXQ_40008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_45WXQ_40008000.png new file mode 100644 index 0000000000000000000000000000000000000000..f26af399f36f26ca734de8ccecfe20603da289bf Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_45WXQ_40008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_45XWA_40001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_45XWA_40001000.png new file mode 100644 index 0000000000000000000000000000000000000000..c1e878bedcd47c00d4e868b4ccb70050be301910 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_45XWA_40001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_45XWA_70003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_45XWA_70003000.png new file mode 100644 index 0000000000000000000000000000000000000000..b32157eedfecb907dc9fb8b344e7a5314c1eb78b Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_45XWA_70003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_46UDA_50007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_46UDA_50007000.png new file mode 100644 index 0000000000000000000000000000000000000000..afc143a10c24b6790784a817531361260b8a2530 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_46UDA_50007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_46WEV_01000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_46WEV_01000.png new file mode 100644 index 0000000000000000000000000000000000000000..ad230be15dd03c87ae01bec7ac6ea3c279fd61db Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_46WEV_01000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_47TPJ_40009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_47TPJ_40009000.png new file mode 100644 index 0000000000000000000000000000000000000000..776ed0b90b25f71d48ea63b191348bcc03e77d63 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_47TPJ_40009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_47UPU_50009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_47UPU_50009000.png new file mode 100644 index 0000000000000000000000000000000000000000..b0b78793b22672955ae8d70a17e9d2de4105c81e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_47UPU_50009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_47VPC_10002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_47VPC_10002000.png new file mode 100644 index 0000000000000000000000000000000000000000..16336aa0ca4a3db797f129d4d2b79bbc465ca660 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_47VPC_10002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_47WMV_70006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_47WMV_70006000.png new file mode 100644 index 0000000000000000000000000000000000000000..5d0d7a011cc992dff8b68b2a3b38fc7896a4b817 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_47WMV_70006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_47WNU_02000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_47WNU_02000.png new file mode 100644 index 0000000000000000000000000000000000000000..c1c69b872a1f3ccfd04602b8b69c0225fb7ed4ee Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_47WNU_02000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_48PYT_00.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_48PYT_00.png new file mode 100644 index 0000000000000000000000000000000000000000..f55b61006b1ed0f305159527666f42c51e8a86e8 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_48PYT_00.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_48VUJ_20001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_48VUJ_20001000.png new file mode 100644 index 0000000000000000000000000000000000000000..beffe3a235ce9a930fa4183681b5300cfdf78898 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_48VUJ_20001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_49UCS_10004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_49UCS_10004000.png new file mode 100644 index 0000000000000000000000000000000000000000..4db4255d22b546022b6b2f274c08038e3f14448e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_49UCS_10004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_49WDS_80004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_49WDS_80004000.png new file mode 100644 index 0000000000000000000000000000000000000000..2b6dc6a2bdbbb552b8edaec37429882c1bd14916 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_49WDS_80004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_49WES_10005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_49WES_10005000.png new file mode 100644 index 0000000000000000000000000000000000000000..026a70fde221d499f2e1ebf51ebf6320df839c1c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_49WES_10005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_50WPB_60002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_50WPB_60002000.png new file mode 100644 index 0000000000000000000000000000000000000000..976971f5f3253bb29f4907900e06698593494e4d Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_50WPB_60002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_50WPU_60008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_50WPU_60008000.png new file mode 100644 index 0000000000000000000000000000000000000000..fbe59fb4ba87787b244826dc473f95240dfebafa Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_50WPU_60008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_51JTK_50006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_51JTK_50006000.png new file mode 100644 index 0000000000000000000000000000000000000000..6b2a028f3a0a72b6ba6aba492955544c9ee68945 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_51JTK_50006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_51TVN_60000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_51TVN_60000.png new file mode 100644 index 0000000000000000000000000000000000000000..f39100a24ac0628e47358035757f7184b2a1b00c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_51TVN_60000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_51VWK_50007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_51VWK_50007000.png new file mode 100644 index 0000000000000000000000000000000000000000..2c6bbf2908f357a254116453335fb387c43cb2c7 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_51VWK_50007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_52VEL_80004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_52VEL_80004000.png new file mode 100644 index 0000000000000000000000000000000000000000..1134adf463d2a5da1e4a7b85c9c638aa1061d149 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_52VEL_80004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_52WFB_50001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_52WFB_50001000.png new file mode 100644 index 0000000000000000000000000000000000000000..cc034c31e333ab82a0ad0b1aca4723661ddb3cb0 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_52WFB_50001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_52WFU_80008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_52WFU_80008000.png new file mode 100644 index 0000000000000000000000000000000000000000..34982785a6085628f55cf6b98df431f2d7c54a5b Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_52WFU_80008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_54VXR_70009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_54VXR_70009000.png new file mode 100644 index 0000000000000000000000000000000000000000..868f6869e37a96b7aa22d278255731a48c0e5bdc Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_54VXR_70009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_55WEU_20006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_55WEU_20006000.png new file mode 100644 index 0000000000000000000000000000000000000000..f6bb21b858b473d2d372a45265f895fccff32d56 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_55WEU_20006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_55WFM_70008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_55WFM_70008000.png new file mode 100644 index 0000000000000000000000000000000000000000..09c1e0e1d2d46afb5e4afda3682f68a3cfee74a4 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_55WFM_70008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_57UVA_90009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_57UVA_90009000.png new file mode 100644 index 0000000000000000000000000000000000000000..682931328d79af283b6b34d38b7bdc53d77a983f Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_57UVA_90009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_58KEB_00.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_58KEB_00.png new file mode 100644 index 0000000000000000000000000000000000000000..90695ce2e041f3b13431297f9e170ea739b6849d Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_58KEB_00.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_58WEC_40004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_58WEC_40004000.png new file mode 100644 index 0000000000000000000000000000000000000000..df8b1012453e6d7bd06279e2c816efbdc916e451 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_58WEC_40004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_58WFB_20000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_58WFB_20000.png new file mode 100644 index 0000000000000000000000000000000000000000..7eebe1c1c77b918d254dbbe856370e815cfd8c72 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_58WFB_20000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_60HUD_50006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_60HUD_50006000.png new file mode 100644 index 0000000000000000000000000000000000000000..bac1ba1fdf7f2cd97859b954fb94e1dd9df56bba Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/GT_60HUD_50006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_01WFN_70003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_01WFN_70003000.png new file mode 100644 index 0000000000000000000000000000000000000000..936f29d7cd7867e798b25441a28ba51285c166d0 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_01WFN_70003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_03WVP_40005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_03WVP_40005000.png new file mode 100644 index 0000000000000000000000000000000000000000..ffc95bd2b95bf5c71de7abd373367ae6431ae46e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_03WVP_40005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_03WVP_50009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_03WVP_50009000.png new file mode 100644 index 0000000000000000000000000000000000000000..bb77ffd21243a024ae6cd347d2a14913ae71b772 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_03WVP_50009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_03WWP_30006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_03WWP_30006000.png new file mode 100644 index 0000000000000000000000000000000000000000..dec83f7349a716237b4981f67a64d15176b838ad Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_03WWP_30006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_04WFS_30001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_04WFS_30001000.png new file mode 100644 index 0000000000000000000000000000000000000000..f8be963089c87f48672fe0e4b0ccb6a67be0126c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_04WFS_30001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_05WPT_90004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_05WPT_90004000.png new file mode 100644 index 0000000000000000000000000000000000000000..643fb45e17a9289d9f32c5509986f8e25d87b718 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_05WPT_90004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_08WNA_10003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_08WNA_10003000.png new file mode 100644 index 0000000000000000000000000000000000000000..328f8a27c8b3c52675cf64f74da06579be96c3b2 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_08WNA_10003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_10VDM_10002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_10VDM_10002000.png new file mode 100644 index 0000000000000000000000000000000000000000..8f02f34e001a274e68b400e5a548fb900d212a41 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_10VDM_10002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_11TPM_30008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_11TPM_30008000.png new file mode 100644 index 0000000000000000000000000000000000000000..14ce3be0c7e7bb0e6300f4001624c6e12bbda5ab Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_11TPM_30008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_11UMT_10008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_11UMT_10008000.png new file mode 100644 index 0000000000000000000000000000000000000000..ae97f504b8191ba9039b9a27e54a9787af1cee86 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_11UMT_10008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_11UPA_10002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_11UPA_10002000.png new file mode 100644 index 0000000000000000000000000000000000000000..78ed3e7450e26fbc5b4c54832b35a076495dd575 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_11UPA_10002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_11VNC_90006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_11VNC_90006000.png new file mode 100644 index 0000000000000000000000000000000000000000..03be625b091c3dc944d849655198648c439e5231 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_11VNC_90006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_11WNT_50006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_11WNT_50006000.png new file mode 100644 index 0000000000000000000000000000000000000000..3115731c705ac36d51e5f88f98bf11968bb22822 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_11WNT_50006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_11WNU_60003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_11WNU_60003000.png new file mode 100644 index 0000000000000000000000000000000000000000..3dea56ce31930d2866357b2f4fe1b21de014b5b7 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_11WNU_60003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_12UWF_30001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_12UWF_30001000.png new file mode 100644 index 0000000000000000000000000000000000000000..bbcc1af64adf48c5fb66e57dc8f78c03c8b46dba Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_12UWF_30001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_12UWF_40000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_12UWF_40000.png new file mode 100644 index 0000000000000000000000000000000000000000..a35e2b3a33e92fe76136ea4bdc6727b2675c35ac Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_12UWF_40000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_14RNQ_40006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_14RNQ_40006000.png new file mode 100644 index 0000000000000000000000000000000000000000..6335fa634b521429c467f17e242f90d480ba141e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_14RNQ_40006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_14RNQ_40008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_14RNQ_40008000.png new file mode 100644 index 0000000000000000000000000000000000000000..7db5459328fcec147981ed4453d126cdbf093d53 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_14RNQ_40008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_14RPT_03000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_14RPT_03000.png new file mode 100644 index 0000000000000000000000000000000000000000..b155cb4ea8a8c298920f53d0543b4d602a612bd8 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_14RPT_03000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_14RPT_20000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_14RPT_20000.png new file mode 100644 index 0000000000000000000000000000000000000000..b6b7af417c3b293b2a9ad8dd43f98e2393f67c77 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_14RPT_20000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_14SQB_10009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_14SQB_10009000.png new file mode 100644 index 0000000000000000000000000000000000000000..07c2197049f9789346dda2b1cc2b95035b6ed5b4 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_14SQB_10009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_14SQC_50001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_14SQC_50001000.png new file mode 100644 index 0000000000000000000000000000000000000000..12f99ebe810f03fb31dcd31e1c1b44cf8e49ce55 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_14SQC_50001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_14SQC_50007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_14SQC_50007000.png new file mode 100644 index 0000000000000000000000000000000000000000..7872ad2288b7e82bb97c131ea3b1c33b39a53878 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_14SQC_50007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_14TNM_40004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_14TNM_40004000.png new file mode 100644 index 0000000000000000000000000000000000000000..11d6f0e17e33077343601c6fdbd979690a9dc038 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_14TNM_40004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_15RTP_70009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_15RTP_70009000.png new file mode 100644 index 0000000000000000000000000000000000000000..3a18678918d73a1b25c13ff26636e34cff1303e3 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_15RTP_70009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_15RYQ_90007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_15RYQ_90007000.png new file mode 100644 index 0000000000000000000000000000000000000000..478fc9bb2d798d8fed60d8fba4872d78191ef847 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_15RYQ_90007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_15STB_80005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_15STB_80005000.png new file mode 100644 index 0000000000000000000000000000000000000000..ec46ee11526cc50877c75829ae1d5012b22ea0f0 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_15STB_80005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_15SUD_30006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_15SUD_30006000.png new file mode 100644 index 0000000000000000000000000000000000000000..1b94968788466825e1518da6682f793d70193b2d Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_15SUD_30006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_15TUE_40009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_15TUE_40009000.png new file mode 100644 index 0000000000000000000000000000000000000000..1a6f940abebd5ed21ef166298c9b2523022b65a8 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_15TUE_40009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_15TWG_90000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_15TWG_90000.png new file mode 100644 index 0000000000000000000000000000000000000000..07761ef93dbb2addd342ff40e0af8bea83da4d40 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_15TWG_90000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_16RDU_70003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_16RDU_70003000.png new file mode 100644 index 0000000000000000000000000000000000000000..83ab3d65ed697fb6b726df20067d5454cd4d19a5 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_16RDU_70003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_16SEC_20009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_16SEC_20009000.png new file mode 100644 index 0000000000000000000000000000000000000000..001ff8c84270fcc6ec7bce914e8ae3aee054b469 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_16SEC_20009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_16SEC_40009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_16SEC_40009000.png new file mode 100644 index 0000000000000000000000000000000000000000..16ad7b071a246f8af0d135948ec7ba91331ee220 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_16SEC_40009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_16WDD_90002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_16WDD_90002000.png new file mode 100644 index 0000000000000000000000000000000000000000..bbb3050473913f38e34b17bca0d6ebab9d80061b Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_16WDD_90002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_16XDP_30000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_16XDP_30000.png new file mode 100644 index 0000000000000000000000000000000000000000..75c53ccd72042b748b453187c411cf8f125440c1 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_16XDP_30000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_16XEF_50002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_16XEF_50002000.png new file mode 100644 index 0000000000000000000000000000000000000000..e3344905276f0981c89ae65404041b79590ca951 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_16XEF_50002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_16XEF_70002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_16XEF_70002000.png new file mode 100644 index 0000000000000000000000000000000000000000..5b3b454ef9fdd8f655377ca9e270dac99339402f Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_16XEF_70002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_17SMU_70005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_17SMU_70005000.png new file mode 100644 index 0000000000000000000000000000000000000000..3cede2f45114d643041299cb04a87a7c9a170b30 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_17SMU_70005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_17TLJ_10008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_17TLJ_10008000.png new file mode 100644 index 0000000000000000000000000000000000000000..43deb2a0af9df8c0f52bb8fee3306395d970e2a2 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_17TLJ_10008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_17TMF_50006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_17TMF_50006000.png new file mode 100644 index 0000000000000000000000000000000000000000..2c2763c2d915d7293dc960a9c0c275376690a8d2 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_17TMF_50006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_17TNJ_30008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_17TNJ_30008000.png new file mode 100644 index 0000000000000000000000000000000000000000..ed9db7f70d93ab944a91c40bfb0d0c9bff49f3dd Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_17TNJ_30008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_17WPT_09000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_17WPT_09000.png new file mode 100644 index 0000000000000000000000000000000000000000..97b27a8d5bf47fd7010d88b04629ef83d7c2db82 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_17WPT_09000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_18VXJ_10001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_18VXJ_10001000.png new file mode 100644 index 0000000000000000000000000000000000000000..8874f33498e0401e430a8b8f5feb456bafd6ab27 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_18VXJ_10001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_19XEL_06000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_19XEL_06000.png new file mode 100644 index 0000000000000000000000000000000000000000..651771852829a9f59080b9cd046719dd2a930099 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_19XEL_06000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_20UQD_70005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_20UQD_70005000.png new file mode 100644 index 0000000000000000000000000000000000000000..1323033b4d8f9d08143fbad75eee7b6f41cb717a Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_20UQD_70005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_21MWS_20004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_21MWS_20004000.png new file mode 100644 index 0000000000000000000000000000000000000000..dc7953007d71a3bae5894031e66ac6316caae00b Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_21MWS_20004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_21MWS_60004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_21MWS_60004000.png new file mode 100644 index 0000000000000000000000000000000000000000..b975a592d5fac55ad914584ed04499736881ab0a Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_21MWS_60004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_21MXS_60008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_21MXS_60008000.png new file mode 100644 index 0000000000000000000000000000000000000000..8a028109909f9fb133795fd16813db921763d348 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_21MXS_60008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_21MXS_90003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_21MXS_90003000.png new file mode 100644 index 0000000000000000000000000000000000000000..57befdbf0a36e84e63d1070eadcf15216c60e732 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_21MXS_90003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_21UVT_60000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_21UVT_60000.png new file mode 100644 index 0000000000000000000000000000000000000000..c72e8f64d1d59455b763b21cdaa07acbb6d4b016 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_21UVT_60000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_21XVL_50003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_21XVL_50003000.png new file mode 100644 index 0000000000000000000000000000000000000000..0d071e6d4b4ac113f835346c56eabee052fa5f62 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_21XVL_50003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_21XVL_90003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_21XVL_90003000.png new file mode 100644 index 0000000000000000000000000000000000000000..ebe89fd8a76a12921db4550a71620c2ab5bd40e0 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_21XVL_90003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_22NDF_10008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_22NDF_10008000.png new file mode 100644 index 0000000000000000000000000000000000000000..0e2641f90eb449e5858977587a37078190a48dbc Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_22NDF_10008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_22VFN_60000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_22VFN_60000.png new file mode 100644 index 0000000000000000000000000000000000000000..25c00067de7b9fa077ea4cc33475b9274ca81598 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_22VFN_60000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_23KQB_20007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_23KQB_20007000.png new file mode 100644 index 0000000000000000000000000000000000000000..27f690b95a390d954a426548948ad29cc7ee669f Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_23KQB_20007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_23VLH_40001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_23VLH_40001000.png new file mode 100644 index 0000000000000000000000000000000000000000..6a1f365416b9914e710bee894edee2c83882282d Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_23VLH_40001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_24KTA_10005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_24KTA_10005000.png new file mode 100644 index 0000000000000000000000000000000000000000..296d716e90f7ad27e0eab4a967993b64437e1610 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_24KTA_10005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_24KTB_20009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_24KTB_20009000.png new file mode 100644 index 0000000000000000000000000000000000000000..4ec5cc5639cc1bd46344473c5aeb2c5c2c145ba5 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_24KTB_20009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_24WVS_30001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_24WVS_30001000.png new file mode 100644 index 0000000000000000000000000000000000000000..2f56bd82a10dc0e4ed383fef54239157df2bbf51 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_24WVS_30001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_26WNB_80002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_26WNB_80002000.png new file mode 100644 index 0000000000000000000000000000000000000000..8ba2382975d07d6862c2eff01b9c1d374d52b2ab Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_26WNB_80002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_26WNE_04000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_26WNE_04000.png new file mode 100644 index 0000000000000000000000000000000000000000..696e2e8ce34f5c9265de18412808c28b5d62f8a9 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_26WNE_04000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_26WPD_10005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_26WPD_10005000.png new file mode 100644 index 0000000000000000000000000000000000000000..c4c128860bc22c4173703a3a9dcb5c1fda059c67 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_26WPD_10005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_26WPD_30006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_26WPD_30006000.png new file mode 100644 index 0000000000000000000000000000000000000000..1c113df08acb0284e0866359de5b42ad6263bccf Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_26WPD_30006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_26WPD_40000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_26WPD_40000.png new file mode 100644 index 0000000000000000000000000000000000000000..56c07a1f07a973dca5cba7e54d2707988f8e5979 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_26WPD_40000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_26XNF_80000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_26XNF_80000.png new file mode 100644 index 0000000000000000000000000000000000000000..9dca9c211dfdc85c23805ac11098d1cd37eb8c7b Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_26XNF_80000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_27WVT_10006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_27WVT_10006000.png new file mode 100644 index 0000000000000000000000000000000000000000..3f7f3cd392accf800d538156d64d3649ade43994 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_27WVT_10006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_27WWN_10002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_27WWN_10002000.png new file mode 100644 index 0000000000000000000000000000000000000000..8f069d43c3751aac92e20b52b051afd907b98a29 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_27WWN_10002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_28PGC_04000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_28PGC_04000.png new file mode 100644 index 0000000000000000000000000000000000000000..e7bbfaad473c6997ef502d1070914a347e97ce61 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_28PGC_04000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_29PMN_90008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_29PMN_90008000.png new file mode 100644 index 0000000000000000000000000000000000000000..1867bc0c514841a499c8eb384a7783be582061a5 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_29PMN_90008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_29TQJ_50008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_29TQJ_50008000.png new file mode 100644 index 0000000000000000000000000000000000000000..a4ae5291a8438c2f60970a83db0ada0048ce22f4 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_29TQJ_50008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_30SYE_10008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_30SYE_10008000.png new file mode 100644 index 0000000000000000000000000000000000000000..5a00591295d74dfc3d170c901ff0bab2a7d718c2 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_30SYE_10008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_30TYP_70005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_30TYP_70005000.png new file mode 100644 index 0000000000000000000000000000000000000000..ffb38c934487b86388f16b7dc2f0ca5bef959dad Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_30TYP_70005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_30UUF_10009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_30UUF_10009000.png new file mode 100644 index 0000000000000000000000000000000000000000..1d708b3f1c93a210beff55563b9dd55dc1b27c74 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_30UUF_10009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_30UVU_50002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_30UVU_50002000.png new file mode 100644 index 0000000000000000000000000000000000000000..3d82e2e897fc0db7600c51745799f9ef38332f4b Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_30UVU_50002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_30UYD_10007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_30UYD_10007000.png new file mode 100644 index 0000000000000000000000000000000000000000..43602a0e929f0df0c04f24e6ea5f813c5d4497eb Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_30UYD_10007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_31PGK_50008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_31PGK_50008000.png new file mode 100644 index 0000000000000000000000000000000000000000..9b0e112a0f0dea8d2e39390c391440ff5e32402b Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_31PGK_50008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_31SED_20004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_31SED_20004000.png new file mode 100644 index 0000000000000000000000000000000000000000..d12f3e5289cde7daf24b41ef5eeb38afea94a204 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_31SED_20004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_31TCH_90007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_31TCH_90007000.png new file mode 100644 index 0000000000000000000000000000000000000000..2e931a722e2a6ead23ea5105f2cc4aad6c0a08c7 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_31TCH_90007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_31TEM_50006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_31TEM_50006000.png new file mode 100644 index 0000000000000000000000000000000000000000..61fc377659ecbd5ebc2f2a8d324b4716bb4a7a01 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_31TEM_50006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_31TEN_10002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_31TEN_10002000.png new file mode 100644 index 0000000000000000000000000000000000000000..e785bdcbfbe0da2728a25b4feefaddef0746f28c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_31TEN_10002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_31TEN_90000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_31TEN_90000.png new file mode 100644 index 0000000000000000000000000000000000000000..d8362b6a2c8522efccaf34a81ce0d96c60a91a32 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_31TEN_90000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_31TGL_50000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_31TGL_50000.png new file mode 100644 index 0000000000000000000000000000000000000000..48f2745b99ee1b0ee8b2eefb2df92f68283bfff1 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_31TGL_50000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_31TGM_40003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_31TGM_40003000.png new file mode 100644 index 0000000000000000000000000000000000000000..1e48d2945a7f6025c3d2761255a44e44b28d5b2d Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_31TGM_40003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_31TGM_40009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_31TGM_40009000.png new file mode 100644 index 0000000000000000000000000000000000000000..0bb88ce6731d8bea999713c9780d36fa9cb5842f Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_31TGM_40009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_31TGM_50002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_31TGM_50002000.png new file mode 100644 index 0000000000000000000000000000000000000000..c32ce07739988d31a7dfcbf41c24648910fd54f3 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_31TGM_50002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_31TGN_07000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_31TGN_07000.png new file mode 100644 index 0000000000000000000000000000000000000000..9a5e8a743705c7ff600bc420b7a727a616e5091b Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_31TGN_07000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_31UDQ_20009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_31UDQ_20009000.png new file mode 100644 index 0000000000000000000000000000000000000000..b0c2cb6a662aaecb83f48b2cd0f4d4e16b8ee659 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_31UDQ_20009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_31UDR_10002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_31UDR_10002000.png new file mode 100644 index 0000000000000000000000000000000000000000..dce61800a22c085c8ff1dbd5d07324d0645b040d Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_31UDR_10002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_31UDR_30000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_31UDR_30000.png new file mode 100644 index 0000000000000000000000000000000000000000..940c9433b0f6462f97a44d92e5a331ab14b4468f Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_31UDR_30000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_31UFQ_50001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_31UFQ_50001000.png new file mode 100644 index 0000000000000000000000000000000000000000..f90d4a38a0a866eb2411d6e6ebad5b9676c8dd9c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_31UFQ_50001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_31UFR_80001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_31UFR_80001000.png new file mode 100644 index 0000000000000000000000000000000000000000..033b45b00cdd2544b5e15ab59f6469275b0b6d24 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_31UFR_80001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_31UFS_30006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_31UFS_30006000.png new file mode 100644 index 0000000000000000000000000000000000000000..a159746a5e4fe28f3f8ea85526705b9cff84f5c7 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_31UFS_30006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_31UGS_10001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_31UGS_10001000.png new file mode 100644 index 0000000000000000000000000000000000000000..481e1c96b458b24b7a8157f001e6b7d7bbfbc8a9 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_31UGS_10001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_32SNE_30008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_32SNE_30008000.png new file mode 100644 index 0000000000000000000000000000000000000000..82adb9147c472baa0746dd902cee8e620229456f Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_32SNE_30008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_32ULC_10005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_32ULC_10005000.png new file mode 100644 index 0000000000000000000000000000000000000000..1da3d407fc273b62b1e399315f32223baa4a6024 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_32ULC_10005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_32UNA_10001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_32UNA_10001000.png new file mode 100644 index 0000000000000000000000000000000000000000..27c41eca31adfca1d218a069e52965bf2e487a7b Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_32UNA_10001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_32UND_08000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_32UND_08000.png new file mode 100644 index 0000000000000000000000000000000000000000..0dc6f8d82bc7ad02723c68293ef1b6c07a8a28e8 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_32UND_08000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_32UND_20005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_32UND_20005000.png new file mode 100644 index 0000000000000000000000000000000000000000..4d467c11ea39c7aeae77dfaad13702b9fc5a1018 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_32UND_20005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_32VLL_10009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_32VLL_10009000.png new file mode 100644 index 0000000000000000000000000000000000000000..e170e008d7acf63f17e251eac11e73de61784d2f Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_32VLL_10009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_32VMQ_60003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_32VMQ_60003000.png new file mode 100644 index 0000000000000000000000000000000000000000..a7c923faa2420d327f35cc9c0ee0365985e0a3c4 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_32VMQ_60003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_34UGD_90006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_34UGD_90006000.png new file mode 100644 index 0000000000000000000000000000000000000000..6318ade7afc1c41211b75f9f4c05d91f5678abab Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_34UGD_90006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_34VCL_20000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_34VCL_20000.png new file mode 100644 index 0000000000000000000000000000000000000000..d107629dcc45fe1e0bf128fd7b94b2301c85916c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_34VCL_20000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_34VFL_30009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_34VFL_30009000.png new file mode 100644 index 0000000000000000000000000000000000000000..78708c43f69039d6a941709b49405090f124abe8 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_34VFL_30009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_34VFL_50005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_34VFL_50005000.png new file mode 100644 index 0000000000000000000000000000000000000000..57d79fd7247266da9a811438aeee66cb98dec4a2 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_34VFL_50005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_34VFQ_20004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_34VFQ_20004000.png new file mode 100644 index 0000000000000000000000000000000000000000..2d0f472fcc423128d4aa67bcc4f815a8a580e4b1 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_34VFQ_20004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_34VFQ_20006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_34VFQ_20006000.png new file mode 100644 index 0000000000000000000000000000000000000000..a3fe88ac1a001f73dc7ebf897d4431187dea1a12 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_34VFQ_20006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_34VFQ_50005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_34VFQ_50005000.png new file mode 100644 index 0000000000000000000000000000000000000000..0277773e627037e0d19b5a82d24fa06a6b5086ea Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_34VFQ_50005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_34WDB_60002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_34WDB_60002000.png new file mode 100644 index 0000000000000000000000000000000000000000..d8404f9586a7b24f08c2bd37ca0d97218afe72b6 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_34WDB_60002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_34WDB_60008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_34WDB_60008000.png new file mode 100644 index 0000000000000000000000000000000000000000..332daea9e6dda92c359f24dcce1a3ec0b806bb13 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_34WDB_60008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_34WDB_70005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_34WDB_70005000.png new file mode 100644 index 0000000000000000000000000000000000000000..b8a9d0b0a377e80a1fc4fe65875704e3862af3b8 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_34WDB_70005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_34WDB_70008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_34WDB_70008000.png new file mode 100644 index 0000000000000000000000000000000000000000..6c75f46926c3c10bdc8dc23857dfc7c90ee4bbf6 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_34WDB_70008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_34WFS_70008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_34WFS_70008000.png new file mode 100644 index 0000000000000000000000000000000000000000..8d59f95639e2c9b7911475139d23b3d2b46b6999 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_34WFS_70008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_35MNQ_90004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_35MNQ_90004000.png new file mode 100644 index 0000000000000000000000000000000000000000..691cb195ca0ca17c0fd154720e6e7c8152c74622 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_35MNQ_90004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_35NQE_90000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_35NQE_90000.png new file mode 100644 index 0000000000000000000000000000000000000000..9fb4233befc0d5762bc16859aca261e895da2cf4 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_35NQE_90000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_35TMH_70008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_35TMH_70008000.png new file mode 100644 index 0000000000000000000000000000000000000000..fb0445cb4d236e86c64b16f76677b07eaaaa9c97 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_35TMH_70008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_35TPN_20004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_35TPN_20004000.png new file mode 100644 index 0000000000000000000000000000000000000000..0447bf1f4835647996b73b181049153ad5180ed3 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_35TPN_20004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_35ULU_90007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_35ULU_90007000.png new file mode 100644 index 0000000000000000000000000000000000000000..4ff15e63e359c9fe7f8ac7b1ee804b74e42ee9c1 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_35ULU_90007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_35UNA_90000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_35UNA_90000.png new file mode 100644 index 0000000000000000000000000000000000000000..fcb7a66f2c554177a72c1e728e9c7bbe124a7538 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_35UNA_90000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_35UPV_00.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_35UPV_00.png new file mode 100644 index 0000000000000000000000000000000000000000..981881ad22ace89ef24a3e3e7c84b81bc661829b Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_35UPV_00.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_35UPV_50004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_35UPV_50004000.png new file mode 100644 index 0000000000000000000000000000000000000000..400dea8ade187d1b0adf9c6c87b1a82f51bae5b0 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_35UPV_50004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_35UPV_50007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_35UPV_50007000.png new file mode 100644 index 0000000000000000000000000000000000000000..3fb80517591e204dcfd7cba8f94284a747f824e4 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_35UPV_50007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_35UPV_80003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_35UPV_80003000.png new file mode 100644 index 0000000000000000000000000000000000000000..3bee417d424a72debef9bd0024bf1277f429f570 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_35UPV_80003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_35UPV_80005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_35UPV_80005000.png new file mode 100644 index 0000000000000000000000000000000000000000..15804ee545a3cc1d2b6adfdc7878511307338920 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_35UPV_80005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_35UQV_05000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_35UQV_05000.png new file mode 100644 index 0000000000000000000000000000000000000000..8f1046fdf225e9712aa8c194a0ba658afa0b846e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_35UQV_05000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_35VMC_20009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_35VMC_20009000.png new file mode 100644 index 0000000000000000000000000000000000000000..18b06a71623d8300de8e6bc65068af7a65db9725 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_35VMC_20009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_35VME_05000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_35VME_05000.png new file mode 100644 index 0000000000000000000000000000000000000000..fd844d770c64b9c9f08a7951973d6a57e2b2892b Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_35VME_05000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_35VME_06000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_35VME_06000.png new file mode 100644 index 0000000000000000000000000000000000000000..a6de4b379e63a1913bca76392f05e68edadd6c7a Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_35VME_06000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_35WNP_30006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_35WNP_30006000.png new file mode 100644 index 0000000000000000000000000000000000000000..879a42fe9c568e56fb740d79db61fa18213d13a9 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_35WNP_30006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_35WPM_50009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_35WPM_50009000.png new file mode 100644 index 0000000000000000000000000000000000000000..c0165e8503c23f207be8f6150d6d21a662421c21 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_35WPM_50009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_35WPR_60002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_35WPR_60002000.png new file mode 100644 index 0000000000000000000000000000000000000000..fe082eb07fb2125510334627ecfad78bd03b3408 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_35WPR_60002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_36KUA_30005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_36KUA_30005000.png new file mode 100644 index 0000000000000000000000000000000000000000..7c24db62b701924ae9a162bfd22ec5310739ebb0 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_36KUA_30005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_36KXE_50007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_36KXE_50007000.png new file mode 100644 index 0000000000000000000000000000000000000000..1b85f99e3bec250b657c116c0fc229a85f9f3b24 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_36KXE_50007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_36KXE_70005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_36KXE_70005000.png new file mode 100644 index 0000000000000000000000000000000000000000..2395c2dd40400019241fe509919b4140d2e37757 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_36KXE_70005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_36NUJ_70008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_36NUJ_70008000.png new file mode 100644 index 0000000000000000000000000000000000000000..7ec596515a8df1230679bfb45be7a9cc8aa552e6 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_36NUJ_70008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_36NYP_80003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_36NYP_80003000.png new file mode 100644 index 0000000000000000000000000000000000000000..2d7c445245c6d5420fe8908a9eaac12a3493da00 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_36NYP_80003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_36TWS_30005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_36TWS_30005000.png new file mode 100644 index 0000000000000000000000000000000000000000..23c1964418e355f2559989e243807601d86234c6 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_36TWS_30005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_36UVE_03000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_36UVE_03000.png new file mode 100644 index 0000000000000000000000000000000000000000..285a62eac9992acab24252ee1702353c314898d5 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_36UVE_03000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_36VUH_10006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_36VUH_10006000.png new file mode 100644 index 0000000000000000000000000000000000000000..d9d831715c7d53dd60d09722a6319f4f3d2be86f Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_36VUH_10006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_36VUN_10007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_36VUN_10007000.png new file mode 100644 index 0000000000000000000000000000000000000000..d6db42dfe85f4c766c26d51ef2021a9e527b50f1 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_36VUN_10007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_36VVM_20006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_36VVM_20006000.png new file mode 100644 index 0000000000000000000000000000000000000000..d4d9a98e5879a2190020e48e8b2f8ac4f89e06a3 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_36VVM_20006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_36VXQ_30001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_36VXQ_30001000.png new file mode 100644 index 0000000000000000000000000000000000000000..8b5b11f5aea4fbd2268235fd44751f34a872ac34 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_36VXQ_30001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_36VXQ_50007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_36VXQ_50007000.png new file mode 100644 index 0000000000000000000000000000000000000000..89f223bab4bb7c9b807d556b8e1adaaa9dc01979 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_36VXQ_50007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_36VXQ_90003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_36VXQ_90003000.png new file mode 100644 index 0000000000000000000000000000000000000000..cb8ea710c7911135313c27964aca0b7c8cb375ec Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_36VXQ_90003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_37KCA_30007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_37KCA_30007000.png new file mode 100644 index 0000000000000000000000000000000000000000..8b685fec2fdcf71ec521ee84d1ef2c1f2ea94a4f Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_37KCA_30007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_37KCB_40007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_37KCB_40007000.png new file mode 100644 index 0000000000000000000000000000000000000000..bbcf43e0a8f28c6aab6acfe4a38ed486530b3ea3 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_37KCB_40007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_37LDG_60003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_37LDG_60003000.png new file mode 100644 index 0000000000000000000000000000000000000000..5b7781b7ca2c763d6cef6afd0d37f4bc5ab9da40 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_37LDG_60003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_37LDH_20004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_37LDH_20004000.png new file mode 100644 index 0000000000000000000000000000000000000000..6facc8e56d3b33df0c9f9e79a60445b2a407853e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_37LDH_20004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_37LDH_70004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_37LDH_70004000.png new file mode 100644 index 0000000000000000000000000000000000000000..7b38eda963751f5f843aa55164e1d1082e197785 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_37LDH_70004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_37LDJ_90009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_37LDJ_90009000.png new file mode 100644 index 0000000000000000000000000000000000000000..6232f2134a3cb988ac9b391b4ef5bcee80c6470f Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_37LDJ_90009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_37LDL_90001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_37LDL_90001000.png new file mode 100644 index 0000000000000000000000000000000000000000..1a9067b0b1f975ae6b9926a2d0b33f1e2779a304 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_37LDL_90001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_37LEJ_70009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_37LEJ_70009000.png new file mode 100644 index 0000000000000000000000000000000000000000..0a46ac8b7b563d26b9894f0e8156658ba98fea19 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_37LEJ_70009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_37LEK_30004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_37LEK_30004000.png new file mode 100644 index 0000000000000000000000000000000000000000..1ba73899c8a1dfea327d18cb2cbc0db7f9e591fe Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_37LEK_30004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_37LFD_60006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_37LFD_60006000.png new file mode 100644 index 0000000000000000000000000000000000000000..134a077c75cc98a3044f27ad0cff008ea9160a5a Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_37LFD_60006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_37LFD_60007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_37LFD_60007000.png new file mode 100644 index 0000000000000000000000000000000000000000..f2d9aeeb9211c8b0fc183447fdfc482276c7d694 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_37LFD_60007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_37VCC_80005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_37VCC_80005000.png new file mode 100644 index 0000000000000000000000000000000000000000..9dd085be7f37ac23ca43b44eb1093b221dbe0de3 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_37VCC_80005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_37VCG_10003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_37VCG_10003000.png new file mode 100644 index 0000000000000000000000000000000000000000..dd5133b987a3b7e59e08383fcec743192eae622f Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_37VCG_10003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_37VCG_10009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_37VCG_10009000.png new file mode 100644 index 0000000000000000000000000000000000000000..834f063750fa0ba7024af9f6b14f02c941894c50 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_37VCG_10009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_37VCG_80001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_37VCG_80001000.png new file mode 100644 index 0000000000000000000000000000000000000000..994a7713a72250343a8cb3cce97dfb8970092d2d Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_37VCG_80001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_37VCK_60000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_37VCK_60000.png new file mode 100644 index 0000000000000000000000000000000000000000..ecedddf25ef16c9bf66bc36c079a91dfd91fd7a4 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_37VCK_60000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_37VCK_80005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_37VCK_80005000.png new file mode 100644 index 0000000000000000000000000000000000000000..2e9a37f6a3b5a8fc85e56d5577d9435bfbbf8942 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_37VCK_80005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_37VEC_80001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_37VEC_80001000.png new file mode 100644 index 0000000000000000000000000000000000000000..5a454e6272f036cc30372bf53d69fa92dea7c5eb Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_37VEC_80001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_37VEE_90005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_37VEE_90005000.png new file mode 100644 index 0000000000000000000000000000000000000000..f290d7bb832cc4d8c09b09de2ada42f95a3d1f3e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_37VEE_90005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_37VFF_10007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_37VFF_10007000.png new file mode 100644 index 0000000000000000000000000000000000000000..b4d1499978034030c1da6fc476dff45989a21388 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_37VFF_10007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_37VFL_10008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_37VFL_10008000.png new file mode 100644 index 0000000000000000000000000000000000000000..f70b7ea2e0f3db9a2d209c222abe2e7dd31110b7 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_37VFL_10008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_37WDP_80006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_37WDP_80006000.png new file mode 100644 index 0000000000000000000000000000000000000000..9534930885d69c3f7f9c78b107e745e87b9270a9 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_37WDP_80006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_37WEN_70003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_37WEN_70003000.png new file mode 100644 index 0000000000000000000000000000000000000000..16391401c327d0b2b09138ec9dd610d824e7ca9d Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_37WEN_70003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_37WEN_90003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_37WEN_90003000.png new file mode 100644 index 0000000000000000000000000000000000000000..4d60c6ed6c6dc420f08a501acb51b28cdd7cae69 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_37WEN_90003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_37WEQ_30006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_37WEQ_30006000.png new file mode 100644 index 0000000000000000000000000000000000000000..8b5be4fae1bcd44872db0a08e1bbeae77b82e824 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_37WEQ_30006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_37WEQ_30007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_37WEQ_30007000.png new file mode 100644 index 0000000000000000000000000000000000000000..71eadd3e5f88542518612bdd21c56854896c4858 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_37WEQ_30007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_37WEQ_40002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_37WEQ_40002000.png new file mode 100644 index 0000000000000000000000000000000000000000..4391c95b296dcb3918796e584092f659b3258d98 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_37WEQ_40002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_37WEQ_80005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_37WEQ_80005000.png new file mode 100644 index 0000000000000000000000000000000000000000..9b2f6e1d4c944ba986e3306015c6ac429eaa8c21 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_37WEQ_80005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_38JNT_50009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_38JNT_50009000.png new file mode 100644 index 0000000000000000000000000000000000000000..91fdf94ac8b7e22e6ac15968645e86445d0b7ccb Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_38JNT_50009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_38KQE_30009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_38KQE_30009000.png new file mode 100644 index 0000000000000000000000000000000000000000..fdbd0aabf437ec75d56a3aca8274724787066535 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_38KQE_30009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_38NMJ_40004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_38NMJ_40004000.png new file mode 100644 index 0000000000000000000000000000000000000000..fe99a0e973101f234f9325aad5b54dfb459e5a09 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_38NMJ_40004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_38NMJ_50009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_38NMJ_50009000.png new file mode 100644 index 0000000000000000000000000000000000000000..a01a05e89e5f8cba2512467ce4576ce792d609de Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_38NMJ_50009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_38NNJ_20003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_38NNJ_20003000.png new file mode 100644 index 0000000000000000000000000000000000000000..379a63070fd409836106307d2258fced847b1fce Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_38NNJ_20003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_38PKQ_10002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_38PKQ_10002000.png new file mode 100644 index 0000000000000000000000000000000000000000..bacb61bc4ff8f9a40d4a3115cc2f0f2339ec0ead Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_38PKQ_10002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_38PLQ_10003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_38PLQ_10003000.png new file mode 100644 index 0000000000000000000000000000000000000000..209e9ce19e421aa7af811e7aef2e28b462ddc001 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_38PLQ_10003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_38PNQ_90002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_38PNQ_90002000.png new file mode 100644 index 0000000000000000000000000000000000000000..0fc9517dbceac621bcd965c36ec985e6ce9fe40e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_38PNQ_90002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_38PRQ_50005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_38PRQ_50005000.png new file mode 100644 index 0000000000000000000000000000000000000000..263c0c36c92c504420fb03b9c941402e91e511fd Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_38PRQ_50005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_38PRR_90000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_38PRR_90000.png new file mode 100644 index 0000000000000000000000000000000000000000..16b158f505a2c52c804ec725e58d397d300e057d Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_38PRR_90000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_38UNG_50007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_38UNG_50007000.png new file mode 100644 index 0000000000000000000000000000000000000000..f77545923751a5a4d0d1ce5f143c3755655c267c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_38UNG_50007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_38UPE_60000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_38UPE_60000.png new file mode 100644 index 0000000000000000000000000000000000000000..0a31de12a9d9500521be636aa7cf8c41e563d2d1 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_38UPE_60000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_38UQD_40000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_38UQD_40000.png new file mode 100644 index 0000000000000000000000000000000000000000..df7b99e84a507592d3d99cd0524712a9e385b6f1 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_38UQD_40000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_38UQD_60005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_38UQD_60005000.png new file mode 100644 index 0000000000000000000000000000000000000000..de2c42d26608f039bf2d4555ee70689630045128 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_38UQD_60005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_38VLM_10006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_38VLM_10006000.png new file mode 100644 index 0000000000000000000000000000000000000000..b4c36534d673e8ee20699bb2fa331e3aef008d62 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_38VLM_10006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_38VLM_10008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_38VLM_10008000.png new file mode 100644 index 0000000000000000000000000000000000000000..cfdaefd4a406844c4921bc797ee7c2689c0776c7 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_38VLM_10008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_38VLM_20001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_38VLM_20001000.png new file mode 100644 index 0000000000000000000000000000000000000000..7c8bff2aa6217fa954813b75c453acb64e5a2d09 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_38VLM_20001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_38VLM_20005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_38VLM_20005000.png new file mode 100644 index 0000000000000000000000000000000000000000..d26b4174843df5102925850760a37136f12f6af4 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_38VLM_20005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_38VLM_30003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_38VLM_30003000.png new file mode 100644 index 0000000000000000000000000000000000000000..e34f397c5f18822f1ab1f416603447de18e762fc Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_38VLM_30003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_38VLR_40008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_38VLR_40008000.png new file mode 100644 index 0000000000000000000000000000000000000000..2c1d4127b976b6c7a0452915f4d3f4adaa84d05e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_38VLR_40008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_38VNJ_02000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_38VNJ_02000.png new file mode 100644 index 0000000000000000000000000000000000000000..73e0e4ee0847ebae1c3dc2461afccb0c09e2a92a Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_38VNJ_02000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_38VPH_40001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_38VPH_40001000.png new file mode 100644 index 0000000000000000000000000000000000000000..a1f0b92fd481c69af9182017c799e29f985cacf7 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_38VPH_40001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_38VPH_70005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_38VPH_70005000.png new file mode 100644 index 0000000000000000000000000000000000000000..09f17840f88b551cf3cb93ab24b9451ebe12fbbc Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_38VPH_70005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_38VPJ_90002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_38VPJ_90002000.png new file mode 100644 index 0000000000000000000000000000000000000000..d7921a8c95a6239e90d92d48f836c25ac43d54cb Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_38VPJ_90002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_38VPM_20008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_38VPM_20008000.png new file mode 100644 index 0000000000000000000000000000000000000000..560c3e82ebff843cb7e4eed436ca078a62a0abb1 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_38VPM_20008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_38WMV_70001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_38WMV_70001000.png new file mode 100644 index 0000000000000000000000000000000000000000..0205bb0d8e196a8bfd827925cb15412c07f9804a Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_38WMV_70001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39TYG_50009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39TYG_50009000.png new file mode 100644 index 0000000000000000000000000000000000000000..5fdc745643d77889c2f855b22be862841290a1be Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39TYG_50009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39UUT_60001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39UUT_60001000.png new file mode 100644 index 0000000000000000000000000000000000000000..98406789397030c5bfe644c6114c025b80c33b1a Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39UUT_60001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39UUT_80002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39UUT_80002000.png new file mode 100644 index 0000000000000000000000000000000000000000..acc16341ce09b33c0863e733bdaac5063bffc53d Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39UUT_80002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39UVB_20002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39UVB_20002000.png new file mode 100644 index 0000000000000000000000000000000000000000..88c3591efcd2e359e8a5b0c659e6d5d33ffcbe1a Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39UVB_20002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39UWB_02000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39UWB_02000.png new file mode 100644 index 0000000000000000000000000000000000000000..c5a3984627d56142a1c084ba602a6aae4bf3fc00 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39UWB_02000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39UWB_40000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39UWB_40000.png new file mode 100644 index 0000000000000000000000000000000000000000..afa814cd3da77eb7719b33985abf1ab3d83a1e75 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39UWB_40000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39UWU_40005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39UWU_40005000.png new file mode 100644 index 0000000000000000000000000000000000000000..5c8e6dd039fc1f8d863460a71ea2cfc76598ac22 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39UWU_40005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39UWV_01000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39UWV_01000.png new file mode 100644 index 0000000000000000000000000000000000000000..3f2bef903f296adb572870d24c387bb486e4ec38 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39UWV_01000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39VUF_80000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39VUF_80000.png new file mode 100644 index 0000000000000000000000000000000000000000..6c9847a8495b29897be0c35ee1738257f66e758e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39VUF_80000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39VVC_02000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39VVC_02000.png new file mode 100644 index 0000000000000000000000000000000000000000..6f8b5c10c28a1f67ccf8f2fa83189cfe80e8220b Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39VVC_02000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39VVC_30004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39VVC_30004000.png new file mode 100644 index 0000000000000000000000000000000000000000..78a7b0fb01ef35ccd492a869822f6e17fd32d046 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39VVC_30004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39VVC_70005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39VVC_70005000.png new file mode 100644 index 0000000000000000000000000000000000000000..1b075cf49ee0bdec08613154d0c34d1594c21953 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39VVC_70005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39VVC_90007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39VVC_90007000.png new file mode 100644 index 0000000000000000000000000000000000000000..c0f2dc49cbefb23f6b61e284ddd9580bb3cea7f0 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39VVC_90007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39VVD_10007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39VVD_10007000.png new file mode 100644 index 0000000000000000000000000000000000000000..6c5b38323b8363e3b74c6a6b6efa607564953600 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39VVD_10007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39VVD_20005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39VVD_20005000.png new file mode 100644 index 0000000000000000000000000000000000000000..cc79e4f532727178167c426b29d47d07a6a3142e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39VVD_20005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39VVE_50002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39VVE_50002000.png new file mode 100644 index 0000000000000000000000000000000000000000..e5a1b5ad8793b9f4686f8b72bf4483cdd4057468 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39VVE_50002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39VVE_70002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39VVE_70002000.png new file mode 100644 index 0000000000000000000000000000000000000000..4b9a11690dc9b5227bb0cca91e5b6c9607705098 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39VVE_70002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39VVE_90000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39VVE_90000.png new file mode 100644 index 0000000000000000000000000000000000000000..b96988854dd24556e7651cf19581b8348eef1bdf Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39VVE_90000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39VVL_30006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39VVL_30006000.png new file mode 100644 index 0000000000000000000000000000000000000000..8454ba27e19272afcbaae1cd982db9dd8a29a520 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39VVL_30006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39VWD_80001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39VWD_80001000.png new file mode 100644 index 0000000000000000000000000000000000000000..194375d8bc815deef634fef4ca34dbff23293329 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39VWD_80001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39VWF_05000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39VWF_05000.png new file mode 100644 index 0000000000000000000000000000000000000000..a3e7d15909cdbb6c070db8bc1112924ec323463e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39VWF_05000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39VWF_30008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39VWF_30008000.png new file mode 100644 index 0000000000000000000000000000000000000000..407bcb209eabab48228198d66daccab2a7e159a6 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39VWF_30008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39VWF_40008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39VWF_40008000.png new file mode 100644 index 0000000000000000000000000000000000000000..727d3a649afb319bedcd686f73595559ad8d9d62 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39VWF_40008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39VWF_90009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39VWF_90009000.png new file mode 100644 index 0000000000000000000000000000000000000000..9f8ae8a80103c89762de4e15fcba79d3e6f332b8 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39VWF_90009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39VWL_10000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39VWL_10000.png new file mode 100644 index 0000000000000000000000000000000000000000..a80b0942809974f2f52c796b826ab5ff330147b7 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39VWL_10000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39VWL_40008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39VWL_40008000.png new file mode 100644 index 0000000000000000000000000000000000000000..d8500b1c12d0ca164455f2aa18935d89b140c5d5 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39VWL_40008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39VXE_10001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39VXE_10001000.png new file mode 100644 index 0000000000000000000000000000000000000000..132d048e4a5b0d16b69b8a2b963c7fd297d5e5c6 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39VXE_10001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39VXE_30000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39VXE_30000.png new file mode 100644 index 0000000000000000000000000000000000000000..d5de8a0dd4ed8f910edd0486d3d37c5eefa3d491 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39VXE_30000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39VXF_40008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39VXF_40008000.png new file mode 100644 index 0000000000000000000000000000000000000000..765a4cdafb4dba5a9a5c55055996eeda0fa3dd14 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39VXF_40008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39VXG_50001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39VXG_50001000.png new file mode 100644 index 0000000000000000000000000000000000000000..ee50db39c1975fb1f467008e40b3d164ea655e05 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39VXG_50001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39VXG_70004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39VXG_70004000.png new file mode 100644 index 0000000000000000000000000000000000000000..787ed5de966a5eea2f4564d254df5524cb778fcd Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39VXG_70004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39VXG_80005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39VXG_80005000.png new file mode 100644 index 0000000000000000000000000000000000000000..0fa3ac3b21f1ead3dc5bb182315e1a346b9cc4ed Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39VXG_80005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39WVN_10005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39WVN_10005000.png new file mode 100644 index 0000000000000000000000000000000000000000..f9e0c17d90d6662ec1ffe0d5c1cfaee31ba70c72 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39WVN_10005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39WVN_20006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39WVN_20006000.png new file mode 100644 index 0000000000000000000000000000000000000000..fbfb7174e5d74e34416b68c472bbc587cb584797 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39WVN_20006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39WVQ_07000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39WVQ_07000.png new file mode 100644 index 0000000000000000000000000000000000000000..f9211797a48e653b51bb7aeea600d22c08147d20 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39WVQ_07000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39WXS_09000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39WXS_09000.png new file mode 100644 index 0000000000000000000000000000000000000000..5306edfc94f9aff6e073ea14b372ec2e22dc475c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_39WXS_09000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_40UCG_60008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_40UCG_60008000.png new file mode 100644 index 0000000000000000000000000000000000000000..55267d498247017a06707080efeb855d465013ff Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_40UCG_60008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_40UCG_70001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_40UCG_70001000.png new file mode 100644 index 0000000000000000000000000000000000000000..92790a2dfc7aa0fa131661b49e5f9f2e732dc2ee Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_40UCG_70001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_40UCG_70008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_40UCG_70008000.png new file mode 100644 index 0000000000000000000000000000000000000000..cb49bdee3bc826c3270b45f5cf9b0d5c5294f671 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_40UCG_70008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_40UEV_10005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_40UEV_10005000.png new file mode 100644 index 0000000000000000000000000000000000000000..55c1ddd20c7fda013dc0d5bd19e7596dbd943d18 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_40UEV_10005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_40UFG_50000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_40UFG_50000.png new file mode 100644 index 0000000000000000000000000000000000000000..4ae0a3ccd9f2fcac7f853b8a69fc0012519eddd9 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_40UFG_50000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_40UFG_90000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_40UFG_90000.png new file mode 100644 index 0000000000000000000000000000000000000000..c979c15fd170ebfee9e68986ab65755721baf16c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_40UFG_90000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_40VCH_70005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_40VCH_70005000.png new file mode 100644 index 0000000000000000000000000000000000000000..3b20e8482f0bdd880a3669ab99d93debfe214ff6 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_40VCH_70005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_40VCH_80002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_40VCH_80002000.png new file mode 100644 index 0000000000000000000000000000000000000000..6085a66a004d74070e44878f79c6db8753ed0f88 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_40VCH_80002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_40VCM_40005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_40VCM_40005000.png new file mode 100644 index 0000000000000000000000000000000000000000..dac5ee055017e807c6366b4107e904bff50d354f Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_40VCM_40005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_40VCN_80004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_40VCN_80004000.png new file mode 100644 index 0000000000000000000000000000000000000000..c00fd0d2b2573254437b3f001afa03f3078b2dda Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_40VCN_80004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_40VCN_80008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_40VCN_80008000.png new file mode 100644 index 0000000000000000000000000000000000000000..cc1c152ab397fe23f0c8c7602456fe9bf9868557 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_40VCN_80008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_40VCQ_40003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_40VCQ_40003000.png new file mode 100644 index 0000000000000000000000000000000000000000..ad84d8909a2e17b5bfa617d353ff660948f2d6ff Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_40VCQ_40003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_40VDN_04000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_40VDN_04000.png new file mode 100644 index 0000000000000000000000000000000000000000..63cd57b148fd1a2cd5434907ef51ecb4f726bdcb Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_40VDN_04000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_40VEK_60000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_40VEK_60000.png new file mode 100644 index 0000000000000000000000000000000000000000..790c3013747002f674dcc60e7586a66055bc6a0e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_40VEK_60000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_40VEQ_80006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_40VEQ_80006000.png new file mode 100644 index 0000000000000000000000000000000000000000..46f73cd3222a46c7ec9c4081cd6124e5eca40458 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_40VEQ_80006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_40VFQ_50006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_40VFQ_50006000.png new file mode 100644 index 0000000000000000000000000000000000000000..d0fbe9560166550f6fea8c320617679cd5017fe6 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_40VFQ_50006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_41UPU_70004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_41UPU_70004000.png new file mode 100644 index 0000000000000000000000000000000000000000..2a69afc9d3eaae0fc883f6e3a4d85a7d50577368 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_41UPU_70004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_41UQT_10004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_41UQT_10004000.png new file mode 100644 index 0000000000000000000000000000000000000000..a6a4a65f96aadf4dd81c8b2bd597ee992bbcea1f Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_41UQT_10004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_41UQU_50004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_41UQU_50004000.png new file mode 100644 index 0000000000000000000000000000000000000000..12666528fe246e8fc68a9d8ae2f3e1907292b6e6 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_41UQU_50004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_41UQU_50009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_41UQU_50009000.png new file mode 100644 index 0000000000000000000000000000000000000000..9a031945aa5df1aad102859abd22bab7e4aa0738 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_41UQU_50009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_41UQU_80008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_41UQU_80008000.png new file mode 100644 index 0000000000000000000000000000000000000000..c0c71b789700d1525238af221d6a24938c55e60b Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_41UQU_80008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_41VMC_03000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_41VMC_03000.png new file mode 100644 index 0000000000000000000000000000000000000000..5992f878e1028c35d37ddfc1d83a65ef2275a6e8 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_41VMC_03000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_41VME_40003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_41VME_40003000.png new file mode 100644 index 0000000000000000000000000000000000000000..b6e181e78119142f55e139d2b4172bd44ee03cb9 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_41VME_40003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_41VPH_10002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_41VPH_10002000.png new file mode 100644 index 0000000000000000000000000000000000000000..717ec9277992d8f77f2f57f30a8af01506fdd1de Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_41VPH_10002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_41WNS_90007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_41WNS_90007000.png new file mode 100644 index 0000000000000000000000000000000000000000..c8f9e614b28e3e256b4bb3165f27a505997f5f16 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_41WNS_90007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_41WPQ_10002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_41WPQ_10002000.png new file mode 100644 index 0000000000000000000000000000000000000000..6bf422897a443df675d91e05dd363c1e0828306e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_41WPQ_10002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_42UVC_50000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_42UVC_50000.png new file mode 100644 index 0000000000000000000000000000000000000000..a6371be237d547aff9ffcdfcf7f4affb2987a165 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_42UVC_50000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_42UVE_10001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_42UVE_10001000.png new file mode 100644 index 0000000000000000000000000000000000000000..399bd9b34eb263ca797d6dba561540822bb8cee0 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_42UVE_10001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_42UWG_50006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_42UWG_50006000.png new file mode 100644 index 0000000000000000000000000000000000000000..2a201fe0840a080f467c6ca65c42412cdc581537 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_42UWG_50006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_42UXE_60009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_42UXE_60009000.png new file mode 100644 index 0000000000000000000000000000000000000000..cb34f85f8e27c5bd8d6ec807fbea9bd39498fc33 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_42UXE_60009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_42UYE_10009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_42UYE_10009000.png new file mode 100644 index 0000000000000000000000000000000000000000..304b0f232e3fa1e4f0970be8de8079a6aef35d8e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_42UYE_10009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_42VWL_01000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_42VWL_01000.png new file mode 100644 index 0000000000000000000000000000000000000000..2a8b5104c14e936c673738d01900614c872134a3 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_42VWL_01000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_42VWR_08000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_42VWR_08000.png new file mode 100644 index 0000000000000000000000000000000000000000..6466bed9e5ee1eebe5867e7294d1dabe15f77ef2 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_42VWR_08000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_42VWR_10009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_42VWR_10009000.png new file mode 100644 index 0000000000000000000000000000000000000000..77a6675eeb54f621a48721da0f4f6b4edf03b472 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_42VWR_10009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_42VXJ_20006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_42VXJ_20006000.png new file mode 100644 index 0000000000000000000000000000000000000000..cd15366f2424656a8e7aa777035c722777ce3715 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_42VXJ_20006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_42VXK_06000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_42VXK_06000.png new file mode 100644 index 0000000000000000000000000000000000000000..3a4d2a240f25efaba2eeb599e3726041f3957e06 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_42VXK_06000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_43UCV_70002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_43UCV_70002000.png new file mode 100644 index 0000000000000000000000000000000000000000..6ccc651a4e54f076f86ac655281a394bb48d6e29 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_43UCV_70002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_43VFJ_80003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_43VFJ_80003000.png new file mode 100644 index 0000000000000000000000000000000000000000..5e354ed559184ad848f306b5543e72d5decea646 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_43VFJ_80003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_43WFN_70001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_43WFN_70001000.png new file mode 100644 index 0000000000000000000000000000000000000000..15733f11e90a34f5e9c698d91b0b7eb3009d2173 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_43WFN_70001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_43WFN_70003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_43WFN_70003000.png new file mode 100644 index 0000000000000000000000000000000000000000..faa4b56d8a99c2c6476f89c365a4f2d29fdd3264 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_43WFN_70003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_44RMS_70003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_44RMS_70003000.png new file mode 100644 index 0000000000000000000000000000000000000000..9f2e1b8f57f4e02d2e3f3ea86f19c6994673f6f3 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_44RMS_70003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_44RMS_70006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_44RMS_70006000.png new file mode 100644 index 0000000000000000000000000000000000000000..12de6d8fa454dbd97820c9a281dac96fa6b1e471 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_44RMS_70006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_44UNV_70006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_44UNV_70006000.png new file mode 100644 index 0000000000000000000000000000000000000000..b171e7d1720d477061ef624fa513f3d4721e9a96 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_44UNV_70006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_44VNH_70003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_44VNH_70003000.png new file mode 100644 index 0000000000000000000000000000000000000000..94c16c61e07a6c3bdde783216b37347f3de220bb Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_44VNH_70003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_44WNT_20009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_44WNT_20009000.png new file mode 100644 index 0000000000000000000000000000000000000000..c64a17ab8cb73163a12a94d5b839b643f1940fd4 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_44WNT_20009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_44XNF_90000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_44XNF_90000.png new file mode 100644 index 0000000000000000000000000000000000000000..e7e2ca2c24e5c44d2575680c2b25fd5ecf909491 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_44XNF_90000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_44XPF_70006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_44XPF_70006000.png new file mode 100644 index 0000000000000000000000000000000000000000..8db5eccfe0ef611b5f64df208eb5342d8a06dacc Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_44XPF_70006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_45VVC_50006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_45VVC_50006000.png new file mode 100644 index 0000000000000000000000000000000000000000..19b4ce9b0eabbd1ea4042acbebe540ec0c6f9fe5 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_45VVC_50006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_45WWQ_50007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_45WWQ_50007000.png new file mode 100644 index 0000000000000000000000000000000000000000..60956702a25ca808a42658d61c2b3912635b6b4f Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_45WWQ_50007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_45WXQ_40008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_45WXQ_40008000.png new file mode 100644 index 0000000000000000000000000000000000000000..51b596e8ccd8d66d1fd223bd1eff093426fa92e2 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_45WXQ_40008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_45XWA_40001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_45XWA_40001000.png new file mode 100644 index 0000000000000000000000000000000000000000..ad68233a2403f8206ffe10e38142f8659e8c03ce Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_45XWA_40001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_45XWA_70003000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_45XWA_70003000.png new file mode 100644 index 0000000000000000000000000000000000000000..a6e200926504739d61dc04b92b97217afb9fe300 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_45XWA_70003000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_46UDA_50007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_46UDA_50007000.png new file mode 100644 index 0000000000000000000000000000000000000000..84d29ae50adcb004a44177d9ac008d4f5bf5327e Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_46UDA_50007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_46WEV_01000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_46WEV_01000.png new file mode 100644 index 0000000000000000000000000000000000000000..4e4d778fb916ccf3bbd477ab869fa8c5664496a5 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_46WEV_01000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_47TPJ_40009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_47TPJ_40009000.png new file mode 100644 index 0000000000000000000000000000000000000000..008f9b19e931862aeb1056b55ee26ba7ccd00077 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_47TPJ_40009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_47UPU_50009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_47UPU_50009000.png new file mode 100644 index 0000000000000000000000000000000000000000..a299f38e82d69e13786dc7968041807d05d10af3 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_47UPU_50009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_47VPC_10002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_47VPC_10002000.png new file mode 100644 index 0000000000000000000000000000000000000000..f60a3bb5f8cfce76a2788629fa8e25867978a580 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_47VPC_10002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_47WMV_70006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_47WMV_70006000.png new file mode 100644 index 0000000000000000000000000000000000000000..185df653767dec2f2ebbd4449212cc557492bf45 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_47WMV_70006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_47WNU_02000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_47WNU_02000.png new file mode 100644 index 0000000000000000000000000000000000000000..17ada55c6d0227b4fb6d5a36f32988c7cdf3231d Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_47WNU_02000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_48PYT_00.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_48PYT_00.png new file mode 100644 index 0000000000000000000000000000000000000000..703cf48e2448f0cd01ed92781c15475b10bf0da0 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_48PYT_00.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_48VUJ_20001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_48VUJ_20001000.png new file mode 100644 index 0000000000000000000000000000000000000000..5be1fc2e50b61563d83afb260db266982a177658 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_48VUJ_20001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_49UCS_10004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_49UCS_10004000.png new file mode 100644 index 0000000000000000000000000000000000000000..d2be5472077b6d5142e35fed6c73cc59c52473ca Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_49UCS_10004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_49WDS_80004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_49WDS_80004000.png new file mode 100644 index 0000000000000000000000000000000000000000..f4a2c495e35397053fafc49d15c477907d589fe1 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_49WDS_80004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_49WES_10005000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_49WES_10005000.png new file mode 100644 index 0000000000000000000000000000000000000000..6cef39a07e8fe2b1fddc970590870117307b2875 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_49WES_10005000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_50WPB_60002000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_50WPB_60002000.png new file mode 100644 index 0000000000000000000000000000000000000000..9c8fb5e511e88f0b36741bb01981f9f8fcafb551 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_50WPB_60002000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_50WPU_60008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_50WPU_60008000.png new file mode 100644 index 0000000000000000000000000000000000000000..3dba035071e16825732e052ebadd7d9e77169ad5 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_50WPU_60008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_51JTK_50006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_51JTK_50006000.png new file mode 100644 index 0000000000000000000000000000000000000000..ff649d5dbc1c75d65213d23b7621029040752339 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_51JTK_50006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_51TVN_60000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_51TVN_60000.png new file mode 100644 index 0000000000000000000000000000000000000000..285cc605c19ce66186847175614968fd477da9f6 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_51TVN_60000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_51VWK_50007000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_51VWK_50007000.png new file mode 100644 index 0000000000000000000000000000000000000000..d81516995899bcb0cc6e21240bc3a041d04cfe3f Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_51VWK_50007000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_52VEL_80004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_52VEL_80004000.png new file mode 100644 index 0000000000000000000000000000000000000000..059f9f1fa1d60715049c6f680d635b67b03e6e01 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_52VEL_80004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_52WFB_50001000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_52WFB_50001000.png new file mode 100644 index 0000000000000000000000000000000000000000..490cf5003dcfcbd6939ac3dc5b90da2d82f2fe69 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_52WFB_50001000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_52WFU_80008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_52WFU_80008000.png new file mode 100644 index 0000000000000000000000000000000000000000..193886569aa49f9252689f0da1aae6e7e1746373 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_52WFU_80008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_54VXR_70009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_54VXR_70009000.png new file mode 100644 index 0000000000000000000000000000000000000000..6aa346124b36612077ff8c4ca07347a51fc25cae Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_54VXR_70009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_55WEU_20006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_55WEU_20006000.png new file mode 100644 index 0000000000000000000000000000000000000000..482c7e3151d74d3ece705a260709797e44bdb04c Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_55WEU_20006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_55WFM_70008000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_55WFM_70008000.png new file mode 100644 index 0000000000000000000000000000000000000000..a3d8ed586337d2069eb936fe82efffbcee4161ef Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_55WFM_70008000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_57UVA_90009000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_57UVA_90009000.png new file mode 100644 index 0000000000000000000000000000000000000000..5f7669143db7e0812f72dd9da03ba6d1b25bf855 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_57UVA_90009000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_58KEB_00.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_58KEB_00.png new file mode 100644 index 0000000000000000000000000000000000000000..04813a8f96afded2b1ab15e7fd41ecadd0049b45 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_58KEB_00.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_58WEC_40004000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_58WEC_40004000.png new file mode 100644 index 0000000000000000000000000000000000000000..ed57912f3beb8fce1d353301d74b8b5bc10c40c6 Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_58WEC_40004000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_58WFB_20000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_58WFB_20000.png new file mode 100644 index 0000000000000000000000000000000000000000..88fc4c3eaa613be43773d65482b6b5c22477034f Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_58WFB_20000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_60HUD_50006000.png b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_60HUD_50006000.png new file mode 100644 index 0000000000000000000000000000000000000000..6977d29563d975e3eb781a4e70f8152bfbc8a1bc Binary files /dev/null and b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/results/val/3000/Out_60HUD_50006000.png differ diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/tb_logger/events.out.tfevents.1687617930.gt-ubuntu22-04-cmd-v1-0-128gb-100m b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/tb_logger/events.out.tfevents.1687617930.gt-ubuntu22-04-cmd-v1-0-128gb-100m new file mode 100644 index 0000000000000000000000000000000000000000..48ab7e158dc5d6959ca08b73f34b0691ba92e06e --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/tb_logger/events.out.tfevents.1687617930.gt-ubuntu22-04-cmd-v1-0-128gb-100m @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:73ee7859bf734cac2b56553ddefe2c3fb1aa9280b0dd2671500f1385bc530538 +size 444866264 diff --git a/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/train.log b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/train.log new file mode 100644 index 0000000000000000000000000000000000000000..33fe366628128689be19e5a55b8cf5aa5321fdc5 --- /dev/null +++ b/experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530/train.log @@ -0,0 +1,9598 @@ +23-06-24 14:45:30.317 - INFO: Create the log file in directory experiments/train_nafnet_double_encoder_splitcaCond_splitcaUnet_sigmoid_old_5000_230624_144530. + +23-06-24 14:45:30.475 - INFO: Dataset [Sen2_MTC_Old_Multi() form data.dataset] is created. +23-06-24 14:45:30.622 - INFO: Dataset [Sen2_MTC_Old_Multi() form data.dataset] is created. +23-06-24 14:45:30.622 - INFO: Dataset for train have 2504 samples. +23-06-24 14:45:30.623 - INFO: Dataset for val have 0 samples. +23-06-24 14:45:30.770 - INFO: Network [Network() form models.network_x0_dpm_solver] is created. +23-06-24 14:45:30.770 - INFO: Network [Network] weights initialize using [kaiming] method. +23-06-24 14:45:30.890 - WARNING: Config is a str, converts to a dict {'name': 'mae'} +23-06-24 14:45:31.097 - INFO: Metric [mae() form models.metric] is created. +23-06-24 14:45:31.097 - WARNING: Config is a str, converts to a dict {'name': 'mse_loss'} +23-06-24 14:45:31.097 - INFO: Loss [mse_loss() form models.loss] is created. +23-06-24 14:45:38.798 - INFO: Model [Palette() form models.model] is created. +23-06-24 14:45:38.798 - INFO: Begin model train. +23-06-24 14:48:29.127 - INFO: train/mse_loss: 447.2548909050207 +23-06-24 14:48:29.128 - INFO: epoch: 1 +23-06-24 14:48:29.128 - INFO: iters: 2504 +23-06-24 14:51:17.254 - INFO: train/mse_loss: 47.03934685033731 +23-06-24 14:51:17.255 - INFO: epoch: 2 +23-06-24 14:51:17.255 - INFO: iters: 5008 +23-06-24 14:54:05.167 - INFO: train/mse_loss: 11.414991148744528 +23-06-24 14:54:05.168 - INFO: epoch: 3 +23-06-24 14:54:05.168 - INFO: iters: 7512 +23-06-24 14:56:51.866 - INFO: train/mse_loss: 5.075076728771737 +23-06-24 14:56:54.225 - INFO: train/mse_loss: 5.07193270125709 +23-06-24 14:56:54.225 - INFO: epoch: 4 +23-06-24 14:56:54.226 - INFO: iters: 10016 +23-06-24 14:59:42.647 - INFO: train/mse_loss: 2.92131758802615 +23-06-24 14:59:42.648 - INFO: epoch: 5 +23-06-24 14:59:42.648 - INFO: iters: 12520 +23-06-24 15:02:30.655 - INFO: train/mse_loss: 1.9057774172423365 +23-06-24 15:02:30.655 - INFO: epoch: 6 +23-06-24 15:02:30.655 - INFO: iters: 15024 +23-06-24 15:05:19.291 - INFO: train/mse_loss: 1.34476111167536 +23-06-24 15:05:19.292 - INFO: epoch: 7 +23-06-24 15:05:19.292 - INFO: iters: 17528 +23-06-24 15:08:07.858 - INFO: train/mse_loss: 0.9996628385145687 +23-06-24 15:08:10.878 - INFO: train/mse_loss: 0.9974323346401556 +23-06-24 15:08:10.878 - INFO: epoch: 8 +23-06-24 15:08:10.878 - INFO: iters: 20032 +23-06-24 15:10:59.369 - INFO: train/mse_loss: 0.7650942391100021 +23-06-24 15:10:59.370 - INFO: epoch: 9 +23-06-24 15:10:59.370 - INFO: iters: 22536 +23-06-24 15:13:47.937 - INFO: train/mse_loss: 0.6184217970782575 +23-06-24 15:13:47.938 - INFO: epoch: 10 +23-06-24 15:13:47.938 - INFO: iters: 25040 +23-06-24 15:16:36.062 - INFO: train/mse_loss: 0.5190121056363225 +23-06-24 15:16:36.063 - INFO: epoch: 11 +23-06-24 15:16:36.063 - INFO: iters: 27544 +23-06-24 15:19:21.669 - INFO: train/mse_loss: 0.4262639798636545 +23-06-24 15:19:25.756 - INFO: train/mse_loss: 0.427410554581176 +23-06-24 15:19:25.756 - INFO: epoch: 12 +23-06-24 15:19:25.756 - INFO: iters: 30048 +23-06-24 15:22:14.502 - INFO: train/mse_loss: 0.3639317800918707 +23-06-24 15:22:14.503 - INFO: epoch: 13 +23-06-24 15:22:14.503 - INFO: iters: 32552 +23-06-24 15:25:02.677 - INFO: train/mse_loss: 0.31447705464622083 +23-06-24 15:25:02.678 - INFO: epoch: 14 +23-06-24 15:25:02.678 - INFO: iters: 35056 +23-06-24 15:27:50.995 - INFO: train/mse_loss: 0.2686623495322066 +23-06-24 15:27:50.995 - INFO: epoch: 15 +23-06-24 15:27:50.995 - INFO: iters: 37560 +23-06-24 15:30:35.441 - INFO: train/mse_loss: 0.2352861391716316 +23-06-24 15:30:40.609 - INFO: train/mse_loss: 0.23638813050029378 +23-06-24 15:30:40.610 - INFO: epoch: 16 +23-06-24 15:30:40.610 - INFO: iters: 40064 +23-06-24 15:33:28.734 - INFO: train/mse_loss: 0.21292330424625652 +23-06-24 15:33:28.735 - INFO: epoch: 17 +23-06-24 15:33:28.735 - INFO: iters: 42568 +23-06-24 15:36:16.958 - INFO: train/mse_loss: 0.1863486142680287 +23-06-24 15:36:16.959 - INFO: epoch: 18 +23-06-24 15:36:16.959 - INFO: iters: 45072 +23-06-24 15:39:05.100 - INFO: train/mse_loss: 0.1633843451785965 +23-06-24 15:39:05.101 - INFO: epoch: 19 +23-06-24 15:39:05.101 - INFO: iters: 47576 +23-06-24 15:41:47.486 - INFO: train/mse_loss: 0.1519903620034948 +23-06-24 15:41:53.928 - INFO: train/mse_loss: 0.15083212905322402 +23-06-24 15:41:53.929 - INFO: epoch: 20 +23-06-24 15:41:53.929 - INFO: iters: 50080 +23-06-24 15:44:42.183 - INFO: train/mse_loss: 0.1354034819399206 +23-06-24 15:44:42.183 - INFO: epoch: 21 +23-06-24 15:44:42.183 - INFO: iters: 52584 +23-06-24 15:47:30.347 - INFO: train/mse_loss: 0.12182759017513964 +23-06-24 15:47:30.348 - INFO: epoch: 22 +23-06-24 15:47:30.348 - INFO: iters: 55088 +23-06-24 15:50:18.577 - INFO: train/mse_loss: 0.11340750425387496 +23-06-24 15:50:18.577 - INFO: epoch: 23 +23-06-24 15:50:18.577 - INFO: iters: 57592 +23-06-24 15:53:00.117 - INFO: train/mse_loss: 0.10551802583806143 +23-06-24 15:53:08.507 - INFO: train/mse_loss: 0.10589981757509061 +23-06-24 15:53:08.507 - INFO: epoch: 24 +23-06-24 15:53:08.507 - INFO: iters: 60096 +23-06-24 15:55:57.483 - INFO: train/mse_loss: 0.09384237085811246 +23-06-24 15:55:57.483 - INFO: epoch: 25 +23-06-24 15:55:57.483 - INFO: iters: 62600 +23-06-24 15:58:46.073 - INFO: train/mse_loss: 0.08756606168925953 +23-06-24 15:58:46.073 - INFO: epoch: 26 +23-06-24 15:58:46.073 - INFO: iters: 65104 +23-06-24 16:01:34.618 - INFO: train/mse_loss: 0.07820875801074618 +23-06-24 16:01:34.619 - INFO: epoch: 27 +23-06-24 16:01:34.619 - INFO: iters: 67608 +23-06-24 16:04:15.179 - INFO: train/mse_loss: 0.07563437591228996 +23-06-24 16:04:23.307 - INFO: train/mse_loss: 0.07558793187760317 +23-06-24 16:04:23.307 - INFO: epoch: 28 +23-06-24 16:04:23.307 - INFO: iters: 70112 +23-06-24 16:07:11.674 - INFO: train/mse_loss: 0.07245176203382282 +23-06-24 16:07:11.674 - INFO: epoch: 29 +23-06-24 16:07:11.675 - INFO: iters: 72616 +23-06-24 16:09:59.793 - INFO: train/mse_loss: 0.06937071078192121 +23-06-24 16:09:59.793 - INFO: epoch: 30 +23-06-24 16:09:59.793 - INFO: iters: 75120 +23-06-24 16:12:47.689 - INFO: train/mse_loss: 0.06276969218882508 +23-06-24 16:12:47.690 - INFO: epoch: 31 +23-06-24 16:12:47.690 - INFO: iters: 77624 +23-06-24 16:15:26.955 - INFO: train/mse_loss: 0.057445923832279665 +23-06-24 16:15:36.091 - INFO: train/mse_loss: 0.05761656989328587 +23-06-24 16:15:36.092 - INFO: epoch: 32 +23-06-24 16:15:36.092 - INFO: iters: 80128 +23-06-24 16:18:24.385 - INFO: train/mse_loss: 0.05669086399122168 +23-06-24 16:18:24.385 - INFO: epoch: 33 +23-06-24 16:18:24.385 - INFO: iters: 82632 +23-06-24 16:21:12.309 - INFO: train/mse_loss: 0.05244543841971566 +23-06-24 16:21:12.309 - INFO: epoch: 34 +23-06-24 16:21:12.309 - INFO: iters: 85136 +23-06-24 16:24:00.735 - INFO: train/mse_loss: 0.04867152720332717 +23-06-24 16:24:00.736 - INFO: epoch: 35 +23-06-24 16:24:00.736 - INFO: iters: 87640 +23-06-24 16:26:38.915 - INFO: train/mse_loss: 0.047465691702850796 +23-06-24 16:26:50.113 - INFO: train/mse_loss: 0.04792632735051667 +23-06-24 16:26:50.113 - INFO: epoch: 36 +23-06-24 16:26:50.113 - INFO: iters: 90144 +23-06-24 16:29:38.613 - INFO: train/mse_loss: 0.04392432225064728 +23-06-24 16:29:38.614 - INFO: epoch: 37 +23-06-24 16:29:38.614 - INFO: iters: 92648 +23-06-24 16:32:27.115 - INFO: train/mse_loss: 0.041596492309087574 +23-06-24 16:32:27.115 - INFO: epoch: 38 +23-06-24 16:32:27.116 - INFO: iters: 95152 +23-06-24 16:35:15.662 - INFO: train/mse_loss: 0.04008288316714306 +23-06-24 16:35:15.663 - INFO: epoch: 39 +23-06-24 16:35:15.663 - INFO: iters: 97656 +23-06-24 16:37:52.888 - INFO: train/mse_loss: 0.040531110082063254 +23-06-24 16:38:04.064 - INFO: train/mse_loss: 0.03994118040219283 +23-06-24 16:38:04.064 - INFO: epoch: 40 +23-06-24 16:38:04.064 - INFO: iters: 100160 +23-06-24 16:40:52.571 - INFO: train/mse_loss: 0.03742446929525834 +23-06-24 16:40:52.572 - INFO: epoch: 41 +23-06-24 16:40:52.572 - INFO: iters: 102664 +23-06-24 16:43:40.619 - INFO: train/mse_loss: 0.03596087803427404 +23-06-24 16:43:40.620 - INFO: epoch: 42 +23-06-24 16:43:40.620 - INFO: iters: 105168 +23-06-24 16:46:31.156 - INFO: train/mse_loss: 0.03553906760621851 +23-06-24 16:46:31.157 - INFO: epoch: 43 +23-06-24 16:46:31.157 - INFO: iters: 107672 +23-06-24 16:49:07.732 - INFO: train/mse_loss: 0.03223976652902836 +23-06-24 16:49:20.254 - INFO: train/mse_loss: 0.03243423684741171 +23-06-24 16:49:20.255 - INFO: epoch: 44 +23-06-24 16:49:20.255 - INFO: iters: 110176 +23-06-24 16:52:08.988 - INFO: train/mse_loss: 0.03315929842654604 +23-06-24 16:52:08.989 - INFO: epoch: 45 +23-06-24 16:52:08.989 - INFO: iters: 112680 +23-06-24 16:54:57.152 - INFO: train/mse_loss: 0.030335571497869186 +23-06-24 16:54:57.152 - INFO: epoch: 46 +23-06-24 16:54:57.152 - INFO: iters: 115184 +23-06-24 16:57:45.862 - INFO: train/mse_loss: 0.02883373828122791 +23-06-24 16:57:45.862 - INFO: epoch: 47 +23-06-24 16:57:45.862 - INFO: iters: 117688 +23-06-24 17:00:21.512 - INFO: train/mse_loss: 0.028549032301922364 +23-06-24 17:00:34.993 - INFO: train/mse_loss: 0.02839310924573162 +23-06-24 17:00:34.993 - INFO: epoch: 48 +23-06-24 17:00:34.993 - INFO: iters: 120192 +23-06-24 17:03:23.431 - INFO: train/mse_loss: 0.02761767753742088 +23-06-24 17:03:23.431 - INFO: epoch: 49 +23-06-24 17:03:23.432 - INFO: iters: 122696 +23-06-24 17:06:12.235 - INFO: train/mse_loss: 0.026881891618164393 +23-06-24 17:06:12.236 - INFO: epoch: 50 +23-06-24 17:06:12.236 - INFO: iters: 125200 +23-06-24 17:09:00.116 - INFO: train/mse_loss: 0.025858431456449886 +23-06-24 17:09:00.117 - INFO: epoch: 51 +23-06-24 17:09:00.117 - INFO: iters: 127704 +23-06-24 17:11:33.728 - INFO: train/mse_loss: 0.024826545161211324 +23-06-24 17:11:48.119 - INFO: train/mse_loss: 0.024661077653614288 +23-06-24 17:11:48.119 - INFO: epoch: 52 +23-06-24 17:11:48.119 - INFO: iters: 130208 +23-06-24 17:14:36.502 - INFO: train/mse_loss: 0.024653553308103794 +23-06-24 17:14:36.503 - INFO: epoch: 53 +23-06-24 17:14:36.503 - INFO: iters: 132712 +23-06-24 17:17:24.554 - INFO: train/mse_loss: 0.02286307296504418 +23-06-24 17:17:24.555 - INFO: epoch: 54 +23-06-24 17:17:24.555 - INFO: iters: 135216 +23-06-24 17:20:12.894 - INFO: train/mse_loss: 0.022327807318335904 +23-06-24 17:20:12.895 - INFO: epoch: 55 +23-06-24 17:20:12.895 - INFO: iters: 137720 +23-06-24 17:22:46.137 - INFO: train/mse_loss: 0.022040930955687113 +23-06-24 17:23:02.073 - INFO: train/mse_loss: 0.021987965461402276 +23-06-24 17:23:02.074 - INFO: epoch: 56 +23-06-24 17:23:02.074 - INFO: iters: 140224 +23-06-24 17:25:49.713 - INFO: train/mse_loss: 0.02060245515439457 +23-06-24 17:25:49.714 - INFO: epoch: 57 +23-06-24 17:25:49.714 - INFO: iters: 142728 +23-06-24 17:28:38.059 - INFO: train/mse_loss: 0.021643680172225538 +23-06-24 17:28:38.060 - INFO: epoch: 58 +23-06-24 17:28:38.060 - INFO: iters: 145232 +23-06-24 17:31:27.030 - INFO: train/mse_loss: 0.021845634613102807 +23-06-24 17:31:27.030 - INFO: epoch: 59 +23-06-24 17:31:27.031 - INFO: iters: 147736 +23-06-24 17:33:59.647 - INFO: train/mse_loss: 0.020240142957929377 +23-06-24 17:34:17.197 - INFO: train/mse_loss: 0.01993412841349459 +23-06-24 17:34:17.198 - INFO: epoch: 60 +23-06-24 17:34:17.199 - INFO: iters: 150240 +23-06-24 17:37:05.408 - INFO: train/mse_loss: 0.019498571164358536 +23-06-24 17:37:05.409 - INFO: epoch: 61 +23-06-24 17:37:05.409 - INFO: iters: 152744 +23-06-24 17:39:55.603 - INFO: train/mse_loss: 0.020410735954563268 +23-06-24 17:39:55.604 - INFO: epoch: 62 +23-06-24 17:39:55.604 - INFO: iters: 155248 +23-06-24 17:42:43.638 - INFO: train/mse_loss: 0.01948892356107791 +23-06-24 17:42:43.639 - INFO: epoch: 63 +23-06-24 17:42:43.639 - INFO: iters: 157752 +23-06-24 17:45:14.363 - INFO: train/mse_loss: 0.01774520514817955 +23-06-24 17:45:33.059 - INFO: train/mse_loss: 0.017899962064747612 +23-06-24 17:45:33.059 - INFO: epoch: 64 +23-06-24 17:45:33.059 - INFO: iters: 160256 +23-06-24 17:48:21.238 - INFO: train/mse_loss: 0.01737801544665814 +23-06-24 17:48:21.238 - INFO: epoch: 65 +23-06-24 17:48:21.238 - INFO: iters: 162760 +23-06-24 17:51:08.849 - INFO: train/mse_loss: 0.017162104541905962 +23-06-24 17:51:08.850 - INFO: epoch: 66 +23-06-24 17:51:08.850 - INFO: iters: 165264 +23-06-24 17:53:57.003 - INFO: train/mse_loss: 0.019209597450190078 +23-06-24 17:53:57.004 - INFO: epoch: 67 +23-06-24 17:53:57.004 - INFO: iters: 167768 +23-06-24 17:56:27.028 - INFO: train/mse_loss: 0.01692832422385987 +23-06-24 17:56:45.783 - INFO: train/mse_loss: 0.016737382890234073 +23-06-24 17:56:45.784 - INFO: epoch: 68 +23-06-24 17:56:45.784 - INFO: iters: 170272 +23-06-24 17:59:34.143 - INFO: train/mse_loss: 0.015832426020512564 +23-06-24 17:59:34.144 - INFO: epoch: 69 +23-06-24 17:59:34.144 - INFO: iters: 172776 +23-06-24 18:02:22.334 - INFO: train/mse_loss: 0.01715752649635743 +23-06-24 18:02:22.335 - INFO: epoch: 70 +23-06-24 18:02:22.335 - INFO: iters: 175280 +23-06-24 18:05:10.156 - INFO: train/mse_loss: 0.013852090519754745 +23-06-24 18:05:10.157 - INFO: epoch: 71 +23-06-24 18:05:10.157 - INFO: iters: 177784 +23-06-24 18:07:39.944 - INFO: train/mse_loss: 0.019761721467404268 +23-06-24 18:08:00.624 - INFO: train/mse_loss: 0.019079831412460762 +23-06-24 18:08:00.624 - INFO: epoch: 72 +23-06-24 18:08:00.625 - INFO: iters: 180288 +23-06-24 18:10:48.710 - INFO: train/mse_loss: 0.016412682274874215 +23-06-24 18:10:48.711 - INFO: epoch: 73 +23-06-24 18:10:48.711 - INFO: iters: 182792 +23-06-24 18:13:36.927 - INFO: train/mse_loss: 0.013705959289182966 +23-06-24 18:13:36.927 - INFO: epoch: 74 +23-06-24 18:13:36.927 - INFO: iters: 185296 +23-06-24 18:16:24.933 - INFO: train/mse_loss: 0.015278793692874451 +23-06-24 18:16:24.934 - INFO: epoch: 75 +23-06-24 18:16:24.935 - INFO: iters: 187800 +23-06-24 18:18:52.656 - INFO: train/mse_loss: 0.014115490701726892 +23-06-24 18:19:13.530 - INFO: train/mse_loss: 0.013963991968026652 +23-06-24 18:19:13.531 - INFO: epoch: 76 +23-06-24 18:19:13.531 - INFO: iters: 190304 +23-06-24 18:22:01.906 - INFO: train/mse_loss: 0.015093698484686236 +23-06-24 18:22:01.907 - INFO: epoch: 77 +23-06-24 18:22:01.907 - INFO: iters: 192808 +23-06-24 18:24:50.433 - INFO: train/mse_loss: 0.013481683129022202 +23-06-24 18:24:50.433 - INFO: epoch: 78 +23-06-24 18:24:50.433 - INFO: iters: 195312 +23-06-24 18:27:38.510 - INFO: train/mse_loss: 0.013630290194369924 +23-06-24 18:27:38.511 - INFO: epoch: 79 +23-06-24 18:27:38.511 - INFO: iters: 197816 +23-06-24 18:30:04.853 - INFO: train/mse_loss: 0.01331386355267012 +23-06-24 18:30:27.433 - INFO: train/mse_loss: 0.013135646590397666 +23-06-24 18:30:27.434 - INFO: epoch: 80 +23-06-24 18:30:27.434 - INFO: iters: 200320 +23-06-24 18:33:15.321 - INFO: train/mse_loss: 0.015454147725154797 +23-06-24 18:33:15.322 - INFO: epoch: 81 +23-06-24 18:33:15.322 - INFO: iters: 202824 +23-06-24 18:36:03.980 - INFO: train/mse_loss: 0.013406576875882883 +23-06-24 18:36:03.981 - INFO: epoch: 82 +23-06-24 18:36:03.981 - INFO: iters: 205328 +23-06-24 18:38:53.576 - INFO: train/mse_loss: 0.012783378102301885 +23-06-24 18:38:53.577 - INFO: epoch: 83 +23-06-24 18:38:53.577 - INFO: iters: 207832 +23-06-24 18:41:20.976 - INFO: train/mse_loss: 0.014121878118945004 +23-06-24 18:41:45.189 - INFO: train/mse_loss: 0.014126773679646822 +23-06-24 18:41:45.190 - INFO: epoch: 84 +23-06-24 18:41:45.190 - INFO: iters: 210336 +23-06-24 18:44:33.710 - INFO: train/mse_loss: 0.012854062882177652 +23-06-24 18:44:33.710 - INFO: epoch: 85 +23-06-24 18:44:33.710 - INFO: iters: 212840 +23-06-24 18:47:21.643 - INFO: train/mse_loss: 0.012951878506464128 +23-06-24 18:47:21.644 - INFO: epoch: 86 +23-06-24 18:47:21.644 - INFO: iters: 215344 +23-06-24 18:50:10.860 - INFO: train/mse_loss: 0.01259548260648839 +23-06-24 18:50:10.860 - INFO: epoch: 87 +23-06-24 18:50:10.860 - INFO: iters: 217848 +23-06-24 18:52:35.517 - INFO: train/mse_loss: 0.012882340865618234 +23-06-24 18:53:00.044 - INFO: train/mse_loss: 0.012512770133277479 +23-06-24 18:53:00.044 - INFO: epoch: 88 +23-06-24 18:53:00.045 - INFO: iters: 220352 +23-06-24 18:55:48.008 - INFO: train/mse_loss: 0.012112497906989088 +23-06-24 18:55:48.009 - INFO: epoch: 89 +23-06-24 18:55:48.009 - INFO: iters: 222856 +23-06-24 18:58:36.873 - INFO: train/mse_loss: 0.015804214257235154 +23-06-24 18:58:36.873 - INFO: epoch: 90 +23-06-24 18:58:36.873 - INFO: iters: 225360 +23-06-24 19:01:25.204 - INFO: train/mse_loss: 0.012110947631299496 +23-06-24 19:01:25.205 - INFO: epoch: 91 +23-06-24 19:01:25.205 - INFO: iters: 227864 +23-06-24 19:03:48.908 - INFO: train/mse_loss: 0.011934922160476112 +23-06-24 19:04:14.464 - INFO: train/mse_loss: 0.011708192760868671 +23-06-24 19:04:14.464 - INFO: epoch: 92 +23-06-24 19:04:14.464 - INFO: iters: 230368 +23-06-24 19:07:02.720 - INFO: train/mse_loss: 0.011159918461435329 +23-06-24 19:07:02.720 - INFO: epoch: 93 +23-06-24 19:07:02.721 - INFO: iters: 232872 +23-06-24 19:09:51.845 - INFO: train/mse_loss: 0.012537637979875262 +23-06-24 19:09:51.846 - INFO: epoch: 94 +23-06-24 19:09:51.846 - INFO: iters: 235376 +23-06-24 19:12:41.082 - INFO: train/mse_loss: 0.01208068282840351 +23-06-24 19:12:41.083 - INFO: epoch: 95 +23-06-24 19:12:41.083 - INFO: iters: 237880 +23-06-24 19:15:03.711 - INFO: train/mse_loss: 0.01015007098398681 +23-06-24 19:15:30.221 - INFO: train/mse_loss: 0.010898171410785792 +23-06-24 19:15:30.221 - INFO: epoch: 96 +23-06-24 19:15:30.221 - INFO: iters: 240384 +23-06-24 19:18:18.476 - INFO: train/mse_loss: 0.012529640372235555 +23-06-24 19:18:18.477 - INFO: epoch: 97 +23-06-24 19:18:18.477 - INFO: iters: 242888 +23-06-24 19:21:06.354 - INFO: train/mse_loss: 0.010811327163653729 +23-06-24 19:21:06.355 - INFO: epoch: 98 +23-06-24 19:21:06.355 - INFO: iters: 245392 +23-06-24 19:23:54.473 - INFO: train/mse_loss: 0.01113401941609935 +23-06-24 19:23:54.474 - INFO: epoch: 99 +23-06-24 19:23:54.474 - INFO: iters: 247896 +23-06-24 19:26:16.502 - INFO: train/mse_loss: 0.010666333316000242 +23-06-24 19:26:44.035 - INFO: train/mse_loss: 0.010560226467506479 +23-06-24 19:26:44.035 - INFO: epoch: 100 +23-06-24 19:26:44.035 - INFO: iters: 250400 +23-06-24 19:29:32.019 - INFO: train/mse_loss: 0.00990327446165081 +23-06-24 19:29:32.020 - INFO: epoch: 101 +23-06-24 19:29:32.021 - INFO: iters: 252904 +23-06-24 19:32:20.437 - INFO: train/mse_loss: 0.010706390334537234 +23-06-24 19:32:20.438 - INFO: epoch: 102 +23-06-24 19:32:20.438 - INFO: iters: 255408 +23-06-24 19:35:09.372 - INFO: train/mse_loss: 0.010318821084837372 +23-06-24 19:35:09.372 - INFO: epoch: 103 +23-06-24 19:35:09.373 - INFO: iters: 257912 +23-06-24 19:37:30.438 - INFO: train/mse_loss: 0.010793250646456448 +23-06-24 19:37:59.548 - INFO: train/mse_loss: 0.010599858765773023 +23-06-24 19:37:59.548 - INFO: epoch: 104 +23-06-24 19:37:59.549 - INFO: iters: 260416 +23-06-24 19:40:48.450 - INFO: train/mse_loss: 0.011795293989058691 +23-06-24 19:40:48.451 - INFO: epoch: 105 +23-06-24 19:40:48.451 - INFO: iters: 262920 +23-06-24 19:43:38.077 - INFO: train/mse_loss: 0.010284893867818596 +23-06-24 19:43:38.078 - INFO: epoch: 106 +23-06-24 19:43:38.078 - INFO: iters: 265424 +23-06-24 19:46:26.189 - INFO: train/mse_loss: 0.009892983998085697 +23-06-24 19:46:26.189 - INFO: epoch: 107 +23-06-24 19:46:26.189 - INFO: iters: 267928 +23-06-24 19:48:45.478 - INFO: train/mse_loss: 0.009472477479035962 +23-06-24 19:49:15.254 - INFO: train/mse_loss: 0.009878003403705102 +23-06-24 19:49:15.254 - INFO: epoch: 108 +23-06-24 19:49:15.255 - INFO: iters: 270432 +23-06-24 19:52:03.413 - INFO: train/mse_loss: 0.010154954508875316 +23-06-24 19:52:03.413 - INFO: epoch: 109 +23-06-24 19:52:03.414 - INFO: iters: 272936 +23-06-24 19:54:51.316 - INFO: train/mse_loss: 0.009569262673620123 +23-06-24 19:54:51.316 - INFO: epoch: 110 +23-06-24 19:54:51.316 - INFO: iters: 275440 +23-06-24 19:57:39.142 - INFO: train/mse_loss: 0.01048167445176183 +23-06-24 19:57:39.143 - INFO: epoch: 111 +23-06-24 19:57:39.143 - INFO: iters: 277944 +23-06-24 19:59:56.867 - INFO: train/mse_loss: 0.009480564672036045 +23-06-24 20:00:27.680 - INFO: train/mse_loss: 0.009342806930014024 +23-06-24 20:00:27.680 - INFO: epoch: 112 +23-06-24 20:00:27.680 - INFO: iters: 280448 +23-06-24 20:03:15.626 - INFO: train/mse_loss: 0.009617983763769697 +23-06-24 20:03:15.627 - INFO: epoch: 113 +23-06-24 20:03:15.627 - INFO: iters: 282952 +23-06-24 20:06:03.779 - INFO: train/mse_loss: 0.008768575804563947 +23-06-24 20:06:03.779 - INFO: epoch: 114 +23-06-24 20:06:03.780 - INFO: iters: 285456 +23-06-24 20:08:52.109 - INFO: train/mse_loss: 0.01003711170162827 +23-06-24 20:08:52.109 - INFO: epoch: 115 +23-06-24 20:08:52.109 - INFO: iters: 287960 +23-06-24 20:11:09.227 - INFO: train/mse_loss: 0.009258029714007588 +23-06-24 20:11:40.795 - INFO: train/mse_loss: 0.009160183661709578 +23-06-24 20:11:40.796 - INFO: epoch: 116 +23-06-24 20:11:40.796 - INFO: iters: 290464 +23-06-24 20:14:29.302 - INFO: train/mse_loss: 0.008896871538350757 +23-06-24 20:14:29.303 - INFO: epoch: 117 +23-06-24 20:14:29.303 - INFO: iters: 292968 +23-06-24 20:17:17.231 - INFO: train/mse_loss: 0.008807034172956793 +23-06-24 20:17:17.232 - INFO: epoch: 118 +23-06-24 20:17:17.232 - INFO: iters: 295472 +23-06-24 20:20:06.113 - INFO: train/mse_loss: 0.010544859732801731 +23-06-24 20:20:06.114 - INFO: epoch: 119 +23-06-24 20:20:06.114 - INFO: iters: 297976 +23-06-24 20:22:21.805 - INFO: train/mse_loss: 0.008788730468777681 +23-06-24 20:22:54.534 - INFO: train/mse_loss: 0.008691543972078032 +23-06-24 20:22:54.535 - INFO: epoch: 120 +23-06-24 20:22:54.535 - INFO: iters: 300480 +23-06-24 20:25:42.406 - INFO: train/mse_loss: 0.009725781870238221 +23-06-24 20:25:42.407 - INFO: epoch: 121 +23-06-24 20:25:42.407 - INFO: iters: 302984 +23-06-24 20:28:30.844 - INFO: train/mse_loss: 0.00858883107134614 +23-06-24 20:28:30.845 - INFO: epoch: 122 +23-06-24 20:28:30.845 - INFO: iters: 305488 +23-06-24 20:31:19.202 - INFO: train/mse_loss: 0.008833809060969958 +23-06-24 20:31:19.202 - INFO: epoch: 123 +23-06-24 20:31:19.202 - INFO: iters: 307992 +23-06-24 20:33:33.841 - INFO: train/mse_loss: 0.008446216601804196 +23-06-24 20:34:08.495 - INFO: train/mse_loss: 0.008119864902569177 +23-06-24 20:34:08.496 - INFO: epoch: 124 +23-06-24 20:34:08.496 - INFO: iters: 310496 +23-06-24 20:36:56.359 - INFO: train/mse_loss: 0.008150677059065943 +23-06-24 20:36:56.360 - INFO: epoch: 125 +23-06-24 20:36:56.360 - INFO: iters: 313000 +23-06-24 20:39:44.336 - INFO: train/mse_loss: 0.00997180704952786 +23-06-24 20:39:44.337 - INFO: epoch: 126 +23-06-24 20:39:44.337 - INFO: iters: 315504 +23-06-24 20:42:32.075 - INFO: train/mse_loss: 0.009018450143773811 +23-06-24 20:42:32.075 - INFO: epoch: 127 +23-06-24 20:42:32.076 - INFO: iters: 318008 +23-06-24 20:44:46.433 - INFO: train/mse_loss: 0.007911610864963099 +23-06-24 20:45:21.265 - INFO: train/mse_loss: 0.008013442992574919 +23-06-24 20:45:21.266 - INFO: epoch: 128 +23-06-24 20:45:21.266 - INFO: iters: 320512 +23-06-24 20:48:09.150 - INFO: train/mse_loss: 0.007928820525537046 +23-06-24 20:48:09.151 - INFO: epoch: 129 +23-06-24 20:48:09.151 - INFO: iters: 323016 +23-06-24 20:50:57.126 - INFO: train/mse_loss: 0.00913794091813409 +23-06-24 20:50:57.126 - INFO: epoch: 130 +23-06-24 20:50:57.126 - INFO: iters: 325520 +23-06-24 20:53:45.261 - INFO: train/mse_loss: 0.008281824582913955 +23-06-24 20:53:45.261 - INFO: epoch: 131 +23-06-24 20:53:45.261 - INFO: iters: 328024 +23-06-24 20:55:57.823 - INFO: train/mse_loss: 0.007939460446024954 +23-06-24 20:56:34.055 - INFO: train/mse_loss: 0.007737618938725168 +23-06-24 20:56:34.055 - INFO: epoch: 132 +23-06-24 20:56:34.055 - INFO: iters: 330528 +23-06-24 20:59:22.121 - INFO: train/mse_loss: 0.008891550968356502 +23-06-24 20:59:22.121 - INFO: epoch: 133 +23-06-24 20:59:22.122 - INFO: iters: 333032 +23-06-24 21:02:09.914 - INFO: train/mse_loss: 0.007823165110386788 +23-06-24 21:02:09.914 - INFO: epoch: 134 +23-06-24 21:02:09.914 - INFO: iters: 335536 +23-06-24 21:04:57.586 - INFO: train/mse_loss: 0.008380834089842039 +23-06-24 21:04:57.587 - INFO: epoch: 135 +23-06-24 21:04:57.587 - INFO: iters: 338040 +23-06-24 21:07:08.989 - INFO: train/mse_loss: 0.007891079583870513 +23-06-24 21:07:45.981 - INFO: train/mse_loss: 0.008180732624575544 +23-06-24 21:07:45.981 - INFO: epoch: 136 +23-06-24 21:07:45.981 - INFO: iters: 340544 +23-06-24 21:10:34.054 - INFO: train/mse_loss: 0.008104691726747697 +23-06-24 21:10:34.055 - INFO: epoch: 137 +23-06-24 21:10:34.055 - INFO: iters: 343048 +23-06-24 21:13:22.771 - INFO: train/mse_loss: 0.00842570832234245 +23-06-24 21:13:22.772 - INFO: epoch: 138 +23-06-24 21:13:22.772 - INFO: iters: 345552 +23-06-24 21:16:10.673 - INFO: train/mse_loss: 0.009850143323304316 +23-06-24 21:16:10.673 - INFO: epoch: 139 +23-06-24 21:16:10.674 - INFO: iters: 348056 +23-06-24 21:18:20.885 - INFO: train/mse_loss: 0.008065769121188808 +23-06-24 21:18:59.037 - INFO: train/mse_loss: 0.007813370064311563 +23-06-24 21:18:59.037 - INFO: epoch: 140 +23-06-24 21:18:59.038 - INFO: iters: 350560 +23-06-24 21:21:48.588 - INFO: train/mse_loss: 0.007851359526665446 +23-06-24 21:21:48.589 - INFO: epoch: 141 +23-06-24 21:21:48.589 - INFO: iters: 353064 +23-06-24 21:24:40.635 - INFO: train/mse_loss: 0.00842795161212 +23-06-24 21:24:40.637 - INFO: epoch: 142 +23-06-24 21:24:40.637 - INFO: iters: 355568 +23-06-24 21:27:29.424 - INFO: train/mse_loss: 0.007390810259299489 +23-06-24 21:27:29.425 - INFO: epoch: 143 +23-06-24 21:27:29.425 - INFO: iters: 358072 +23-06-24 21:29:38.665 - INFO: train/mse_loss: 0.007885113973904756 +23-06-24 21:30:18.319 - INFO: train/mse_loss: 0.0077268255535310835 +23-06-24 21:30:18.319 - INFO: epoch: 144 +23-06-24 21:30:18.319 - INFO: iters: 360576 +23-06-24 21:33:06.503 - INFO: train/mse_loss: 0.00704464025292605 +23-06-24 21:33:06.504 - INFO: epoch: 145 +23-06-24 21:33:06.504 - INFO: iters: 363080 +23-06-24 21:35:54.617 - INFO: train/mse_loss: 0.0071541517675399015 +23-06-24 21:35:54.617 - INFO: epoch: 146 +23-06-24 21:35:54.618 - INFO: iters: 365584 +23-06-24 21:38:42.476 - INFO: train/mse_loss: 0.00756375008774475 +23-06-24 21:38:42.476 - INFO: epoch: 147 +23-06-24 21:38:42.476 - INFO: iters: 368088 +23-06-24 21:40:50.712 - INFO: train/mse_loss: 0.007054006668181786 +23-06-24 21:41:30.836 - INFO: train/mse_loss: 0.00712877744139312 +23-06-24 21:41:30.836 - INFO: epoch: 148 +23-06-24 21:41:30.836 - INFO: iters: 370592 +23-06-24 21:44:18.673 - INFO: train/mse_loss: 0.007927441510547417 +23-06-24 21:44:18.674 - INFO: epoch: 149 +23-06-24 21:44:18.674 - INFO: iters: 373096 +23-06-24 21:47:06.726 - INFO: train/mse_loss: 0.007941564244512742 +23-06-24 21:47:06.727 - INFO: epoch: 150 +23-06-24 21:47:06.727 - INFO: iters: 375600 +23-06-24 21:49:54.936 - INFO: train/mse_loss: 0.007530568815476169 +23-06-24 21:49:54.937 - INFO: epoch: 151 +23-06-24 21:49:54.937 - INFO: iters: 378104 +23-06-24 21:52:02.329 - INFO: train/mse_loss: 0.008363749516562005 +23-06-24 21:52:43.561 - INFO: train/mse_loss: 0.00832721137310774 +23-06-24 21:52:43.561 - INFO: epoch: 152 +23-06-24 21:52:43.561 - INFO: iters: 380608 +23-06-24 21:55:31.559 - INFO: train/mse_loss: 0.006697282702409136 +23-06-24 21:55:31.560 - INFO: epoch: 153 +23-06-24 21:55:31.561 - INFO: iters: 383112 +23-06-24 21:58:20.263 - INFO: train/mse_loss: 0.007520749819830965 +23-06-24 21:58:20.264 - INFO: epoch: 154 +23-06-24 21:58:20.264 - INFO: iters: 385616 +23-06-24 22:01:08.342 - INFO: train/mse_loss: 0.014363856570342906 +23-06-24 22:01:08.342 - INFO: epoch: 155 +23-06-24 22:01:08.342 - INFO: iters: 388120 +23-06-24 22:03:15.295 - INFO: train/mse_loss: 0.00841966838813684 +23-06-24 22:03:57.830 - INFO: train/mse_loss: 0.008274448295376791 +23-06-24 22:03:57.830 - INFO: epoch: 156 +23-06-24 22:03:57.830 - INFO: iters: 390624 +23-06-24 22:06:45.719 - INFO: train/mse_loss: 0.00914116871034423 +23-06-24 22:06:45.720 - INFO: epoch: 157 +23-06-24 22:06:45.720 - INFO: iters: 393128 +23-06-24 22:09:34.863 - INFO: train/mse_loss: 0.007423340119034671 +23-06-24 22:09:34.865 - INFO: epoch: 158 +23-06-24 22:09:34.865 - INFO: iters: 395632 +23-06-24 22:12:22.926 - INFO: train/mse_loss: 0.007424195538075587 +23-06-24 22:12:22.926 - INFO: epoch: 159 +23-06-24 22:12:22.926 - INFO: iters: 398136 +23-06-24 22:14:27.958 - INFO: train/mse_loss: 0.008307200386848445 +23-06-24 22:15:11.393 - INFO: train/mse_loss: 0.008278516147987912 +23-06-24 22:15:11.394 - INFO: epoch: 160 +23-06-24 22:15:11.394 - INFO: iters: 400640 +23-06-24 22:17:59.269 - INFO: train/mse_loss: 0.0072724688946962735 +23-06-24 22:17:59.269 - INFO: epoch: 161 +23-06-24 22:17:59.269 - INFO: iters: 403144 +23-06-24 22:20:47.158 - INFO: train/mse_loss: 0.007037026670050269 +23-06-24 22:20:47.158 - INFO: epoch: 162 +23-06-24 22:20:47.159 - INFO: iters: 405648 +23-06-24 22:23:35.322 - INFO: train/mse_loss: 0.0069121017140119125 +23-06-24 22:23:35.322 - INFO: epoch: 163 +23-06-24 22:23:35.322 - INFO: iters: 408152 +23-06-24 22:25:39.443 - INFO: train/mse_loss: 0.006521584659621313 +23-06-24 22:26:23.941 - INFO: train/mse_loss: 0.007264111389647039 +23-06-24 22:26:23.942 - INFO: epoch: 164 +23-06-24 22:26:23.942 - INFO: iters: 410656 +23-06-24 22:29:12.158 - INFO: train/mse_loss: 0.007585859415642084 +23-06-24 22:29:12.159 - INFO: epoch: 165 +23-06-24 22:29:12.159 - INFO: iters: 413160 +23-06-24 22:32:00.236 - INFO: train/mse_loss: 0.006907723312929701 +23-06-24 22:32:00.237 - INFO: epoch: 166 +23-06-24 22:32:00.237 - INFO: iters: 415664 +23-06-24 22:34:47.907 - INFO: train/mse_loss: 0.006645737388825859 +23-06-24 22:34:47.907 - INFO: epoch: 167 +23-06-24 22:34:47.908 - INFO: iters: 418168 +23-06-24 22:36:51.130 - INFO: train/mse_loss: 0.006478839577277349 +23-06-24 22:37:37.021 - INFO: train/mse_loss: 0.006949311940552899 +23-06-24 22:37:37.021 - INFO: epoch: 168 +23-06-24 22:37:37.021 - INFO: iters: 420672 +23-06-24 22:40:24.913 - INFO: train/mse_loss: 0.006971045972975774 +23-06-24 22:40:24.914 - INFO: epoch: 169 +23-06-24 22:40:24.914 - INFO: iters: 423176 +23-06-24 22:43:13.089 - INFO: train/mse_loss: 0.006613665130941537 +23-06-24 22:43:13.089 - INFO: epoch: 170 +23-06-24 22:43:13.089 - INFO: iters: 425680 +23-06-24 22:46:04.615 - INFO: train/mse_loss: 0.007233390194801286 +23-06-24 22:46:04.615 - INFO: epoch: 171 +23-06-24 22:46:04.615 - INFO: iters: 428184 +23-06-24 22:48:06.947 - INFO: train/mse_loss: 0.006349891007750701 +23-06-24 22:48:54.047 - INFO: train/mse_loss: 0.006924483725003684 +23-06-24 22:48:54.047 - INFO: epoch: 172 +23-06-24 22:48:54.048 - INFO: iters: 430688 +23-06-24 22:51:41.932 - INFO: train/mse_loss: 0.007050320077627992 +23-06-24 22:51:41.933 - INFO: epoch: 173 +23-06-24 22:51:41.933 - INFO: iters: 433192 +23-06-24 22:54:30.516 - INFO: train/mse_loss: 0.006121913552099761 +23-06-24 22:54:30.517 - INFO: epoch: 174 +23-06-24 22:54:30.517 - INFO: iters: 435696 +23-06-24 22:57:19.115 - INFO: train/mse_loss: 0.007519005536705779 +23-06-24 22:57:19.115 - INFO: epoch: 175 +23-06-24 22:57:19.116 - INFO: iters: 438200 +23-06-24 22:59:20.201 - INFO: train/mse_loss: 0.006799544103236662 +23-06-24 23:00:08.125 - INFO: train/mse_loss: 0.006724093668014049 +23-06-24 23:00:08.125 - INFO: epoch: 176 +23-06-24 23:00:08.126 - INFO: iters: 440704 +23-06-24 23:02:56.186 - INFO: train/mse_loss: 0.007426989812272996 +23-06-24 23:02:56.187 - INFO: epoch: 177 +23-06-24 23:02:56.187 - INFO: iters: 443208 +23-06-24 23:05:44.993 - INFO: train/mse_loss: 0.006638213016908056 +23-06-24 23:05:44.994 - INFO: epoch: 178 +23-06-24 23:05:44.994 - INFO: iters: 445712 +23-06-24 23:08:33.257 - INFO: train/mse_loss: 0.0071366596706628135 +23-06-24 23:08:33.257 - INFO: epoch: 179 +23-06-24 23:08:33.258 - INFO: iters: 448216 +23-06-24 23:10:33.447 - INFO: train/mse_loss: 0.006385310799418009 +23-06-24 23:11:22.599 - INFO: train/mse_loss: 0.0062552588462186885 +23-06-24 23:11:22.599 - INFO: epoch: 180 +23-06-24 23:11:22.599 - INFO: iters: 450720 +23-06-24 23:14:10.689 - INFO: train/mse_loss: 0.006621649886776036 +23-06-24 23:14:10.689 - INFO: epoch: 181 +23-06-24 23:14:10.689 - INFO: iters: 453224 +23-06-24 23:17:03.091 - INFO: train/mse_loss: 0.006807028733271237 +23-06-24 23:17:03.091 - INFO: epoch: 182 +23-06-24 23:17:03.092 - INFO: iters: 455728 +23-06-24 23:19:53.591 - INFO: train/mse_loss: 0.00670397732207498 +23-06-24 23:19:53.591 - INFO: epoch: 183 +23-06-24 23:19:53.591 - INFO: iters: 458232 +23-06-24 23:21:52.584 - INFO: train/mse_loss: 0.00652949528650663 +23-06-24 23:22:43.125 - INFO: train/mse_loss: 0.006629871202263826 +23-06-24 23:22:43.125 - INFO: epoch: 184 +23-06-24 23:22:43.125 - INFO: iters: 460736 +23-06-24 23:25:31.970 - INFO: train/mse_loss: 0.0068702170001967745 +23-06-24 23:25:31.971 - INFO: epoch: 185 +23-06-24 23:25:31.971 - INFO: iters: 463240 +23-06-24 23:28:20.984 - INFO: train/mse_loss: 0.007442507109554193 +23-06-24 23:28:20.985 - INFO: epoch: 186 +23-06-24 23:28:20.985 - INFO: iters: 465744 +23-06-24 23:31:09.768 - INFO: train/mse_loss: 0.006280823309456531 +23-06-24 23:31:09.769 - INFO: epoch: 187 +23-06-24 23:31:09.769 - INFO: iters: 468248 +23-06-24 23:33:08.098 - INFO: train/mse_loss: 0.006159322496852306 +23-06-24 23:33:59.305 - INFO: train/mse_loss: 0.006416264475849918 +23-06-24 23:33:59.305 - INFO: epoch: 188 +23-06-24 23:33:59.305 - INFO: iters: 470752 +23-06-24 23:36:47.285 - INFO: train/mse_loss: 0.006167544477497237 +23-06-24 23:36:47.286 - INFO: epoch: 189 +23-06-24 23:36:47.286 - INFO: iters: 473256 +23-06-24 23:39:35.188 - INFO: train/mse_loss: 0.006896233224063017 +23-06-24 23:39:35.188 - INFO: epoch: 190 +23-06-24 23:39:35.188 - INFO: iters: 475760 +23-06-24 23:42:22.972 - INFO: train/mse_loss: 0.006078137980458645 +23-06-24 23:42:22.973 - INFO: epoch: 191 +23-06-24 23:42:22.973 - INFO: iters: 478264 +23-06-24 23:44:19.686 - INFO: train/mse_loss: 0.00641737746564062 +23-06-24 23:45:11.778 - INFO: train/mse_loss: 0.006395003633401074 +23-06-24 23:45:11.778 - INFO: epoch: 192 +23-06-24 23:45:11.778 - INFO: iters: 480768 +23-06-24 23:48:00.712 - INFO: train/mse_loss: 0.006211024170485548 +23-06-24 23:48:00.713 - INFO: epoch: 193 +23-06-24 23:48:00.713 - INFO: iters: 483272 +23-06-24 23:50:48.552 - INFO: train/mse_loss: 0.00630899439506328 +23-06-24 23:50:48.553 - INFO: epoch: 194 +23-06-24 23:50:48.553 - INFO: iters: 485776 +23-06-24 23:53:37.263 - INFO: train/mse_loss: 0.006340293352828382 +23-06-24 23:53:37.265 - INFO: epoch: 195 +23-06-24 23:53:37.265 - INFO: iters: 488280 +23-06-24 23:55:32.950 - INFO: train/mse_loss: 0.00684938671684629 +23-06-24 23:56:26.952 - INFO: train/mse_loss: 0.00671857594439504 +23-06-24 23:56:26.952 - INFO: epoch: 196 +23-06-24 23:56:26.953 - INFO: iters: 490784 +23-06-24 23:59:15.774 - INFO: train/mse_loss: 0.006435526502556718 +23-06-24 23:59:15.774 - INFO: epoch: 197 +23-06-24 23:59:15.774 - INFO: iters: 493288 +23-06-25 00:02:05.290 - INFO: train/mse_loss: 0.006139940736940303 +23-06-25 00:02:05.290 - INFO: epoch: 198 +23-06-25 00:02:05.291 - INFO: iters: 495792 +23-06-25 00:04:53.505 - INFO: train/mse_loss: 0.005927974477219886 +23-06-25 00:04:53.506 - INFO: epoch: 199 +23-06-25 00:04:53.506 - INFO: iters: 498296 +23-06-25 00:06:47.849 - INFO: train/mse_loss: 0.006240000041035559 +23-06-25 00:07:42.018 - INFO: train/mse_loss: 0.006162771431449503 +23-06-25 00:07:42.018 - INFO: epoch: 200 +23-06-25 00:07:42.018 - INFO: iters: 500800 +23-06-25 00:10:29.769 - INFO: train/mse_loss: 0.005827376611542682 +23-06-25 00:10:29.769 - INFO: epoch: 201 +23-06-25 00:10:29.769 - INFO: iters: 503304 +23-06-25 00:13:18.030 - INFO: train/mse_loss: 0.006604140383390763 +23-06-25 00:13:18.031 - INFO: epoch: 202 +23-06-25 00:13:18.031 - INFO: iters: 505808 +23-06-25 00:16:06.447 - INFO: train/mse_loss: 0.006003567693790736 +23-06-25 00:16:06.447 - INFO: epoch: 203 +23-06-25 00:16:06.447 - INFO: iters: 508312 +23-06-25 00:17:59.805 - INFO: train/mse_loss: 0.006029058225183655 +23-06-25 00:18:56.401 - INFO: train/mse_loss: 0.0061253789948454256 +23-06-25 00:18:56.401 - INFO: epoch: 204 +23-06-25 00:18:56.401 - INFO: iters: 510816 +23-06-25 00:21:48.805 - INFO: train/mse_loss: 0.006341690733915748 +23-06-25 00:21:48.806 - INFO: epoch: 205 +23-06-25 00:21:48.806 - INFO: iters: 513320 +23-06-25 00:24:36.885 - INFO: train/mse_loss: 0.00566720790616549 +23-06-25 00:24:36.885 - INFO: epoch: 206 +23-06-25 00:24:36.885 - INFO: iters: 515824 +23-06-25 00:27:26.221 - INFO: train/mse_loss: 0.0059582542764921535 +23-06-25 00:27:26.221 - INFO: epoch: 207 +23-06-25 00:27:26.221 - INFO: iters: 518328 +23-06-25 00:29:19.364 - INFO: train/mse_loss: 0.0052877675305214224 +23-06-25 00:30:17.635 - INFO: train/mse_loss: 0.00559015027485407 +23-06-25 00:30:17.636 - INFO: epoch: 208 +23-06-25 00:30:17.636 - INFO: iters: 520832 +23-06-25 00:33:05.601 - INFO: train/mse_loss: 0.005733802384985521 +23-06-25 00:33:05.601 - INFO: epoch: 209 +23-06-25 00:33:05.602 - INFO: iters: 523336 +23-06-25 00:35:53.439 - INFO: train/mse_loss: 0.006859825966439356 +23-06-25 00:35:53.440 - INFO: epoch: 210 +23-06-25 00:35:53.440 - INFO: iters: 525840 +23-06-25 00:38:41.448 - INFO: train/mse_loss: 0.006075119337858484 +23-06-25 00:38:41.449 - INFO: epoch: 211 +23-06-25 00:38:41.449 - INFO: iters: 528344 +23-06-25 00:40:32.718 - INFO: train/mse_loss: 0.006831254518775333 +23-06-25 00:41:31.256 - INFO: train/mse_loss: 0.006539561176529755 +23-06-25 00:41:31.257 - INFO: epoch: 212 +23-06-25 00:41:31.257 - INFO: iters: 530848 +23-06-25 00:44:19.143 - INFO: train/mse_loss: 0.006487147970357166 +23-06-25 00:44:19.144 - INFO: epoch: 213 +23-06-25 00:44:19.144 - INFO: iters: 533352 +23-06-25 00:47:07.436 - INFO: train/mse_loss: 0.005622898955225421 +23-06-25 00:47:07.436 - INFO: epoch: 214 +23-06-25 00:47:07.437 - INFO: iters: 535856 +23-06-25 00:49:55.388 - INFO: train/mse_loss: 0.0056939220179419835 +23-06-25 00:49:55.388 - INFO: epoch: 215 +23-06-25 00:49:55.388 - INFO: iters: 538360 +23-06-25 00:51:45.568 - INFO: train/mse_loss: 0.0059431833669361545 +23-06-25 00:52:43.901 - INFO: train/mse_loss: 0.0061561085972577905 +23-06-25 00:52:43.902 - INFO: epoch: 216 +23-06-25 00:52:43.902 - INFO: iters: 540864 +23-06-25 00:55:31.948 - INFO: train/mse_loss: 0.005707209422134054 +23-06-25 00:55:31.948 - INFO: epoch: 217 +23-06-25 00:55:31.948 - INFO: iters: 543368 +23-06-25 00:58:20.115 - INFO: train/mse_loss: 0.005784848776345435 +23-06-25 00:58:20.115 - INFO: epoch: 218 +23-06-25 00:58:20.115 - INFO: iters: 545872 +23-06-25 01:01:08.094 - INFO: train/mse_loss: 0.00543630494663236 +23-06-25 01:01:08.095 - INFO: epoch: 219 +23-06-25 01:01:08.095 - INFO: iters: 548376 +23-06-25 01:02:57.370 - INFO: train/mse_loss: 0.005365041085734523 +23-06-25 01:03:57.430 - INFO: train/mse_loss: 0.00543228215753687 +23-06-25 01:03:57.430 - INFO: epoch: 220 +23-06-25 01:03:57.430 - INFO: iters: 550880 +23-06-25 01:06:46.243 - INFO: train/mse_loss: 0.005077044728372734 +23-06-25 01:06:46.243 - INFO: epoch: 221 +23-06-25 01:06:46.243 - INFO: iters: 553384 +23-06-25 01:09:34.220 - INFO: train/mse_loss: 0.005933281819755658 +23-06-25 01:09:34.221 - INFO: epoch: 222 +23-06-25 01:09:34.221 - INFO: iters: 555888 +23-06-25 01:12:22.327 - INFO: train/mse_loss: 0.005661399158003469 +23-06-25 01:12:22.327 - INFO: epoch: 223 +23-06-25 01:12:22.328 - INFO: iters: 558392 +23-06-25 01:14:11.080 - INFO: train/mse_loss: 0.005906831052626914 +23-06-25 01:15:11.732 - INFO: train/mse_loss: 0.005908048905866643 +23-06-25 01:15:11.732 - INFO: epoch: 224 +23-06-25 01:15:11.733 - INFO: iters: 560896 +23-06-25 01:18:00.413 - INFO: train/mse_loss: 0.005759150019665353 +23-06-25 01:18:00.414 - INFO: epoch: 225 +23-06-25 01:18:00.414 - INFO: iters: 563400 +23-06-25 01:20:48.535 - INFO: train/mse_loss: 0.006111700641967285 +23-06-25 01:20:48.535 - INFO: epoch: 226 +23-06-25 01:20:48.535 - INFO: iters: 565904 +23-06-25 01:23:36.569 - INFO: train/mse_loss: 0.005514209130451607 +23-06-25 01:23:36.569 - INFO: epoch: 227 +23-06-25 01:23:36.569 - INFO: iters: 568408 +23-06-25 01:25:23.267 - INFO: train/mse_loss: 0.005186745448239222 +23-06-25 01:26:25.435 - INFO: train/mse_loss: 0.005703270048893893 +23-06-25 01:26:25.435 - INFO: epoch: 228 +23-06-25 01:26:25.435 - INFO: iters: 570912 +23-06-25 01:29:13.748 - INFO: train/mse_loss: 0.005566185165476352 +23-06-25 01:29:13.748 - INFO: epoch: 229 +23-06-25 01:29:13.748 - INFO: iters: 573416 +23-06-25 01:32:02.308 - INFO: train/mse_loss: 0.005313124378232625 +23-06-25 01:32:02.308 - INFO: epoch: 230 +23-06-25 01:32:02.309 - INFO: iters: 575920 +23-06-25 01:34:50.053 - INFO: train/mse_loss: 0.005945772453309439 +23-06-25 01:34:50.053 - INFO: epoch: 231 +23-06-25 01:34:50.053 - INFO: iters: 578424 +23-06-25 01:36:35.854 - INFO: train/mse_loss: 0.004988306385186042 +23-06-25 01:37:38.437 - INFO: train/mse_loss: 0.0051186323275986 +23-06-25 01:37:38.437 - INFO: epoch: 232 +23-06-25 01:37:38.437 - INFO: iters: 580928 +23-06-25 01:40:26.390 - INFO: train/mse_loss: 0.005239755583230775 +23-06-25 01:40:26.391 - INFO: epoch: 233 +23-06-25 01:40:26.391 - INFO: iters: 583432 +23-06-25 01:43:14.436 - INFO: train/mse_loss: 0.005580626419944742 +23-06-25 01:43:14.437 - INFO: epoch: 234 +23-06-25 01:43:14.437 - INFO: iters: 585936 +23-06-25 01:46:03.550 - INFO: train/mse_loss: 0.005588521224300797 +23-06-25 01:46:03.550 - INFO: epoch: 235 +23-06-25 01:46:03.550 - INFO: iters: 588440 +23-06-25 01:47:48.815 - INFO: train/mse_loss: 0.005309544638611185 +23-06-25 01:48:52.566 - INFO: train/mse_loss: 0.005229620895268151 +23-06-25 01:48:52.566 - INFO: epoch: 236 +23-06-25 01:48:52.567 - INFO: iters: 590944 +23-06-25 01:51:40.957 - INFO: train/mse_loss: 0.005778779553178067 +23-06-25 01:51:40.958 - INFO: epoch: 237 +23-06-25 01:51:40.958 - INFO: iters: 593448 +23-06-25 01:54:29.310 - INFO: train/mse_loss: 0.0057639902626452875 +23-06-25 01:54:29.310 - INFO: epoch: 238 +23-06-25 01:54:29.310 - INFO: iters: 595952 +23-06-25 01:57:20.103 - INFO: train/mse_loss: 0.006382135290521593 +23-06-25 01:57:20.103 - INFO: epoch: 239 +23-06-25 01:57:20.103 - INFO: iters: 598456 +23-06-25 01:59:03.797 - INFO: train/mse_loss: 0.004756817144192176 +23-06-25 02:00:08.798 - INFO: train/mse_loss: 0.0045940755656697215 +23-06-25 02:00:08.798 - INFO: epoch: 240 +23-06-25 02:00:08.798 - INFO: iters: 600960 +23-06-25 02:02:56.822 - INFO: train/mse_loss: 0.005091063934899033 +23-06-25 02:02:56.823 - INFO: epoch: 241 +23-06-25 02:02:56.823 - INFO: iters: 603464 +23-06-25 02:05:44.708 - INFO: train/mse_loss: 0.005540227110589893 +23-06-25 02:05:44.709 - INFO: epoch: 242 +23-06-25 02:05:44.709 - INFO: iters: 605968 +23-06-25 02:08:33.459 - INFO: train/mse_loss: 0.005253159709962102 +23-06-25 02:08:33.460 - INFO: epoch: 243 +23-06-25 02:08:33.460 - INFO: iters: 608472 +23-06-25 02:10:16.003 - INFO: train/mse_loss: 0.005536649144542311 +23-06-25 02:11:21.952 - INFO: train/mse_loss: 0.0051742432134660385 +23-06-25 02:11:21.953 - INFO: epoch: 244 +23-06-25 02:11:21.953 - INFO: iters: 610976 +23-06-25 02:14:11.432 - INFO: train/mse_loss: 0.005485373779018514 +23-06-25 02:14:11.433 - INFO: epoch: 245 +23-06-25 02:14:11.433 - INFO: iters: 613480 +23-06-25 02:17:02.368 - INFO: train/mse_loss: 0.005629872456535149 +23-06-25 02:17:02.369 - INFO: epoch: 246 +23-06-25 02:17:02.369 - INFO: iters: 615984 +23-06-25 02:19:54.854 - INFO: train/mse_loss: 0.005227973499445441 +23-06-25 02:19:54.855 - INFO: epoch: 247 +23-06-25 02:19:54.855 - INFO: iters: 618488 +23-06-25 02:21:37.113 - INFO: train/mse_loss: 0.006007744017840614 +23-06-25 02:22:44.166 - INFO: train/mse_loss: 0.006035140568997485 +23-06-25 02:22:44.166 - INFO: epoch: 248 +23-06-25 02:22:44.166 - INFO: iters: 620992 +23-06-25 02:25:32.969 - INFO: train/mse_loss: 0.005233813461419135 +23-06-25 02:25:32.969 - INFO: epoch: 249 +23-06-25 02:25:32.969 - INFO: iters: 623496 +23-06-25 02:28:21.645 - INFO: train/mse_loss: 0.004953356068462324 +23-06-25 02:28:21.645 - INFO: epoch: 250 +23-06-25 02:28:21.645 - INFO: iters: 626000 +23-06-25 02:31:10.450 - INFO: train/mse_loss: 0.004599320248495371 +23-06-25 02:31:10.451 - INFO: epoch: 251 +23-06-25 02:31:10.451 - INFO: iters: 628504 +23-06-25 02:32:50.867 - INFO: train/mse_loss: 0.005358982645099694 +23-06-25 02:33:58.950 - INFO: train/mse_loss: 0.005290330120975288 +23-06-25 02:33:58.951 - INFO: epoch: 252 +23-06-25 02:33:58.951 - INFO: iters: 631008 +23-06-25 02:36:46.660 - INFO: train/mse_loss: 0.005572722534077783 +23-06-25 02:36:46.661 - INFO: epoch: 253 +23-06-25 02:36:46.661 - INFO: iters: 633512 +23-06-25 02:39:35.306 - INFO: train/mse_loss: 0.005007515631663723 +23-06-25 02:39:35.306 - INFO: epoch: 254 +23-06-25 02:39:35.307 - INFO: iters: 636016 +23-06-25 02:42:23.367 - INFO: train/mse_loss: 0.004953147402366463 +23-06-25 02:42:23.367 - INFO: epoch: 255 +23-06-25 02:42:23.367 - INFO: iters: 638520 +23-06-25 02:44:02.952 - INFO: train/mse_loss: 0.004304964753572602 +23-06-25 02:45:12.248 - INFO: train/mse_loss: 0.004497768660522284 +23-06-25 02:45:12.248 - INFO: epoch: 256 +23-06-25 02:45:12.248 - INFO: iters: 641024 +23-06-25 02:48:00.535 - INFO: train/mse_loss: 0.005331917036214647 +23-06-25 02:48:00.536 - INFO: epoch: 257 +23-06-25 02:48:00.536 - INFO: iters: 643528 +23-06-25 02:50:48.708 - INFO: train/mse_loss: 0.005207168936994248 +23-06-25 02:50:48.708 - INFO: epoch: 258 +23-06-25 02:50:48.708 - INFO: iters: 646032 +23-06-25 02:53:37.705 - INFO: train/mse_loss: 0.00535920880416545 +23-06-25 02:53:37.706 - INFO: epoch: 259 +23-06-25 02:53:37.706 - INFO: iters: 648536 +23-06-25 02:55:16.026 - INFO: train/mse_loss: 0.00510168283964034 +23-06-25 02:56:26.160 - INFO: train/mse_loss: 0.005045658575531583 +23-06-25 02:56:26.160 - INFO: epoch: 260 +23-06-25 02:56:26.160 - INFO: iters: 651040 +23-06-25 02:59:14.359 - INFO: train/mse_loss: 0.004656433663033425 +23-06-25 02:59:14.360 - INFO: epoch: 261 +23-06-25 02:59:14.360 - INFO: iters: 653544 +23-06-25 03:02:04.122 - INFO: train/mse_loss: 0.005250277423177855 +23-06-25 03:02:04.123 - INFO: epoch: 262 +23-06-25 03:02:04.123 - INFO: iters: 656048 +23-06-25 03:04:51.903 - INFO: train/mse_loss: 0.005516111508931239 +23-06-25 03:04:51.904 - INFO: epoch: 263 +23-06-25 03:04:51.904 - INFO: iters: 658552 +23-06-25 03:06:29.331 - INFO: train/mse_loss: 0.004288651994609619 +23-06-25 03:07:40.791 - INFO: train/mse_loss: 0.004583594428312878 +23-06-25 03:07:40.792 - INFO: epoch: 264 +23-06-25 03:07:40.792 - INFO: iters: 661056 +23-06-25 03:10:29.035 - INFO: train/mse_loss: 0.005106728190716844 +23-06-25 03:10:29.035 - INFO: epoch: 265 +23-06-25 03:10:29.035 - INFO: iters: 663560 +23-06-25 03:13:16.971 - INFO: train/mse_loss: 0.005247452451041141 +23-06-25 03:13:16.972 - INFO: epoch: 266 +23-06-25 03:13:16.972 - INFO: iters: 666064 +23-06-25 03:16:05.003 - INFO: train/mse_loss: 0.004934761844301662 +23-06-25 03:16:05.003 - INFO: epoch: 267 +23-06-25 03:16:05.003 - INFO: iters: 668568 +23-06-25 03:17:41.373 - INFO: train/mse_loss: 0.004968001550797103 +23-06-25 03:18:53.570 - INFO: train/mse_loss: 0.0049553232184929635 +23-06-25 03:18:53.570 - INFO: epoch: 268 +23-06-25 03:18:53.570 - INFO: iters: 671072 +23-06-25 03:21:41.978 - INFO: train/mse_loss: 0.005147313590893468 +23-06-25 03:21:41.979 - INFO: epoch: 269 +23-06-25 03:21:41.979 - INFO: iters: 673576 +23-06-25 03:24:30.205 - INFO: train/mse_loss: 0.005061331925877986 +23-06-25 03:24:30.206 - INFO: epoch: 270 +23-06-25 03:24:30.206 - INFO: iters: 676080 +23-06-25 03:27:18.279 - INFO: train/mse_loss: 0.00505213636589555 +23-06-25 03:27:18.279 - INFO: epoch: 271 +23-06-25 03:27:18.279 - INFO: iters: 678584 +23-06-25 03:28:53.330 - INFO: train/mse_loss: 0.004366169576427904 +23-06-25 03:30:07.007 - INFO: train/mse_loss: 0.004631793907153221 +23-06-25 03:30:07.007 - INFO: epoch: 272 +23-06-25 03:30:07.007 - INFO: iters: 681088 +23-06-25 03:32:55.323 - INFO: train/mse_loss: 0.0045907135622147415 +23-06-25 03:32:55.323 - INFO: epoch: 273 +23-06-25 03:32:55.323 - INFO: iters: 683592 +23-06-25 03:35:43.116 - INFO: train/mse_loss: 0.005207686882150678 +23-06-25 03:35:43.117 - INFO: epoch: 274 +23-06-25 03:35:43.117 - INFO: iters: 686096 +23-06-25 03:38:30.945 - INFO: train/mse_loss: 0.004570662582549043 +23-06-25 03:38:30.947 - INFO: epoch: 275 +23-06-25 03:38:30.947 - INFO: iters: 688600 +23-06-25 03:40:04.984 - INFO: train/mse_loss: 0.0044583277291219145 +23-06-25 03:41:19.891 - INFO: train/mse_loss: 0.005055697685771119 +23-06-25 03:41:19.891 - INFO: epoch: 276 +23-06-25 03:41:19.891 - INFO: iters: 691104 +23-06-25 03:44:08.524 - INFO: train/mse_loss: 0.004533952844817155 +23-06-25 03:44:08.525 - INFO: epoch: 277 +23-06-25 03:44:08.525 - INFO: iters: 693608 +23-06-25 03:46:56.328 - INFO: train/mse_loss: 0.0051189663097672995 +23-06-25 03:46:56.329 - INFO: epoch: 278 +23-06-25 03:46:56.329 - INFO: iters: 696112 +23-06-25 03:49:44.585 - INFO: train/mse_loss: 0.004829873111078176 +23-06-25 03:49:44.585 - INFO: epoch: 279 +23-06-25 03:49:44.585 - INFO: iters: 698616 +23-06-25 03:51:17.696 - INFO: train/mse_loss: 0.005240968289930438 +23-06-25 03:52:33.470 - INFO: train/mse_loss: 0.005622872702640514 +23-06-25 03:52:33.470 - INFO: epoch: 280 +23-06-25 03:52:33.471 - INFO: iters: 701120 +23-06-25 03:55:21.253 - INFO: train/mse_loss: 0.004717455926565483 +23-06-25 03:55:21.254 - INFO: epoch: 281 +23-06-25 03:55:21.254 - INFO: iters: 703624 +23-06-25 03:58:09.049 - INFO: train/mse_loss: 0.004706250557589669 +23-06-25 03:58:09.049 - INFO: epoch: 282 +23-06-25 03:58:09.049 - INFO: iters: 706128 +23-06-25 04:00:57.437 - INFO: train/mse_loss: 0.004966698627853499 +23-06-25 04:00:57.438 - INFO: epoch: 283 +23-06-25 04:00:57.438 - INFO: iters: 708632 +23-06-25 04:02:29.190 - INFO: train/mse_loss: 0.004663409484136436 +23-06-25 04:03:45.647 - INFO: train/mse_loss: 0.004397353283486689 +23-06-25 04:03:45.647 - INFO: epoch: 284 +23-06-25 04:03:45.647 - INFO: iters: 711136 +23-06-25 04:06:33.877 - INFO: train/mse_loss: 0.0044770980634676 +23-06-25 04:06:33.877 - INFO: epoch: 285 +23-06-25 04:06:33.877 - INFO: iters: 713640 +23-06-25 04:09:21.869 - INFO: train/mse_loss: 0.004613535345930713 +23-06-25 04:09:21.869 - INFO: epoch: 286 +23-06-25 04:09:21.869 - INFO: iters: 716144 +23-06-25 04:12:09.560 - INFO: train/mse_loss: 0.0047087320558036475 +23-06-25 04:12:09.560 - INFO: epoch: 287 +23-06-25 04:12:09.560 - INFO: iters: 718648 +23-06-25 04:13:40.348 - INFO: train/mse_loss: 0.0045027516185741365 +23-06-25 04:14:58.021 - INFO: train/mse_loss: 0.004567067984628459 +23-06-25 04:14:58.021 - INFO: epoch: 288 +23-06-25 04:14:58.021 - INFO: iters: 721152 +23-06-25 04:17:45.528 - INFO: train/mse_loss: 0.004589365713057307 +23-06-25 04:17:45.529 - INFO: epoch: 289 +23-06-25 04:17:45.529 - INFO: iters: 723656 +23-06-25 04:20:33.497 - INFO: train/mse_loss: 0.004239110251183446 +23-06-25 04:20:33.497 - INFO: epoch: 290 +23-06-25 04:20:33.497 - INFO: iters: 726160 +23-06-25 04:23:21.312 - INFO: train/mse_loss: 0.005007089503606359 +23-06-25 04:23:21.313 - INFO: epoch: 291 +23-06-25 04:23:21.313 - INFO: iters: 728664 +23-06-25 04:24:51.664 - INFO: train/mse_loss: 0.005022091109272159 +23-06-25 04:26:10.216 - INFO: train/mse_loss: 0.005063894987344361 +23-06-25 04:26:10.217 - INFO: epoch: 292 +23-06-25 04:26:10.217 - INFO: iters: 731168 +23-06-25 04:28:58.385 - INFO: train/mse_loss: 0.004396784992236942 +23-06-25 04:28:58.386 - INFO: epoch: 293 +23-06-25 04:28:58.387 - INFO: iters: 733672 +23-06-25 04:31:46.237 - INFO: train/mse_loss: 0.004676160697539608 +23-06-25 04:31:46.238 - INFO: epoch: 294 +23-06-25 04:31:46.238 - INFO: iters: 736176 +23-06-25 04:34:33.765 - INFO: train/mse_loss: 0.004716688389934528 +23-06-25 04:34:33.766 - INFO: epoch: 295 +23-06-25 04:34:33.766 - INFO: iters: 738680 +23-06-25 04:36:02.262 - INFO: train/mse_loss: 0.00432257493181775 +23-06-25 04:37:22.267 - INFO: train/mse_loss: 0.004736549746521865 +23-06-25 04:37:22.267 - INFO: epoch: 296 +23-06-25 04:37:22.267 - INFO: iters: 741184 +23-06-25 04:40:10.011 - INFO: train/mse_loss: 0.004435561968537327 +23-06-25 04:40:10.011 - INFO: epoch: 297 +23-06-25 04:40:10.012 - INFO: iters: 743688 +23-06-25 04:42:57.925 - INFO: train/mse_loss: 0.005314499969942311 +23-06-25 04:42:57.925 - INFO: epoch: 298 +23-06-25 04:42:57.925 - INFO: iters: 746192 +23-06-25 04:45:45.358 - INFO: train/mse_loss: 0.00415064988489718 +23-06-25 04:45:45.359 - INFO: epoch: 299 +23-06-25 04:45:45.359 - INFO: iters: 748696 +23-06-25 04:47:12.937 - INFO: train/mse_loss: 0.005002964983631405 +23-06-25 04:48:33.660 - INFO: train/mse_loss: 0.004464361630677701 +23-06-25 04:48:33.660 - INFO: epoch: 300 +23-06-25 04:48:33.660 - INFO: iters: 751200 +23-06-25 04:51:21.557 - INFO: train/mse_loss: 0.004101905728520724 +23-06-25 04:51:21.558 - INFO: epoch: 301 +23-06-25 04:51:21.558 - INFO: iters: 753704 +23-06-25 04:54:09.456 - INFO: train/mse_loss: 0.004412105818020221 +23-06-25 04:54:09.456 - INFO: epoch: 302 +23-06-25 04:54:09.457 - INFO: iters: 756208 +23-06-25 04:56:57.390 - INFO: train/mse_loss: 0.004394601342065956 +23-06-25 04:56:57.391 - INFO: epoch: 303 +23-06-25 04:56:57.391 - INFO: iters: 758712 +23-06-25 04:58:25.363 - INFO: train/mse_loss: 0.004232531743158835 +23-06-25 04:59:47.554 - INFO: train/mse_loss: 0.00426227485459036 +23-06-25 04:59:47.554 - INFO: epoch: 304 +23-06-25 04:59:47.554 - INFO: iters: 761216 +23-06-25 05:02:35.623 - INFO: train/mse_loss: 0.0043345697022551975 +23-06-25 05:02:35.624 - INFO: epoch: 305 +23-06-25 05:02:35.625 - INFO: iters: 763720 +23-06-25 05:05:23.376 - INFO: train/mse_loss: 0.004693181217520144 +23-06-25 05:05:23.377 - INFO: epoch: 306 +23-06-25 05:05:23.377 - INFO: iters: 766224 +23-06-25 05:08:11.370 - INFO: train/mse_loss: 0.004533977060691832 +23-06-25 05:08:11.370 - INFO: epoch: 307 +23-06-25 05:08:11.371 - INFO: iters: 768728 +23-06-25 05:09:37.976 - INFO: train/mse_loss: 0.004347004428353606 +23-06-25 05:11:01.702 - INFO: train/mse_loss: 0.004355945833809912 +23-06-25 05:11:01.703 - INFO: epoch: 308 +23-06-25 05:11:01.703 - INFO: iters: 771232 +23-06-25 05:13:49.833 - INFO: train/mse_loss: 0.004206786851975888 +23-06-25 05:13:49.833 - INFO: epoch: 309 +23-06-25 05:13:49.833 - INFO: iters: 773736 +23-06-25 05:16:38.721 - INFO: train/mse_loss: 0.004247400466316996 +23-06-25 05:16:38.723 - INFO: epoch: 310 +23-06-25 05:16:38.723 - INFO: iters: 776240 +23-06-25 05:19:28.212 - INFO: train/mse_loss: 0.005092371039065761 +23-06-25 05:19:28.213 - INFO: epoch: 311 +23-06-25 05:19:28.213 - INFO: iters: 778744 +23-06-25 05:20:53.349 - INFO: train/mse_loss: 0.004449811887150263 +23-06-25 05:22:17.539 - INFO: train/mse_loss: 0.004393226257674158 +23-06-25 05:22:17.540 - INFO: epoch: 312 +23-06-25 05:22:17.540 - INFO: iters: 781248 +23-06-25 05:25:05.140 - INFO: train/mse_loss: 0.0047896153586633955 +23-06-25 05:25:05.140 - INFO: epoch: 313 +23-06-25 05:25:05.140 - INFO: iters: 783752 +23-06-25 05:27:52.827 - INFO: train/mse_loss: 0.004805048968205556 +23-06-25 05:27:52.828 - INFO: epoch: 314 +23-06-25 05:27:52.828 - INFO: iters: 786256 +23-06-25 05:30:40.279 - INFO: train/mse_loss: 0.0040019085301984895 +23-06-25 05:30:40.279 - INFO: epoch: 315 +23-06-25 05:30:40.279 - INFO: iters: 788760 +23-06-25 05:32:03.619 - INFO: train/mse_loss: 0.004568225917436423 +23-06-25 05:33:29.191 - INFO: train/mse_loss: 0.004318419920902449 +23-06-25 05:33:29.191 - INFO: epoch: 316 +23-06-25 05:33:29.191 - INFO: iters: 791264 +23-06-25 05:36:16.610 - INFO: train/mse_loss: 0.0044675259531056066 +23-06-25 05:36:16.611 - INFO: epoch: 317 +23-06-25 05:36:16.611 - INFO: iters: 793768 +23-06-25 05:39:04.383 - INFO: train/mse_loss: 0.004131217238704522 +23-06-25 05:39:04.383 - INFO: epoch: 318 +23-06-25 05:39:04.384 - INFO: iters: 796272 +23-06-25 05:41:51.963 - INFO: train/mse_loss: 0.003719757880105045 +23-06-25 05:41:51.963 - INFO: epoch: 319 +23-06-25 05:41:51.963 - INFO: iters: 798776 +23-06-25 05:43:14.095 - INFO: train/mse_loss: 0.004664163049645235 +23-06-25 05:44:40.546 - INFO: train/mse_loss: 0.004585159605535598 +23-06-25 05:44:40.547 - INFO: epoch: 320 +23-06-25 05:44:40.547 - INFO: iters: 801280 +23-06-25 05:47:29.809 - INFO: train/mse_loss: 0.0046122362822318035 +23-06-25 05:47:29.810 - INFO: epoch: 321 +23-06-25 05:47:29.810 - INFO: iters: 803784 +23-06-25 05:50:17.463 - INFO: train/mse_loss: 0.0046119328659658615 +23-06-25 05:50:17.464 - INFO: epoch: 322 +23-06-25 05:50:17.464 - INFO: iters: 806288 +23-06-25 05:53:05.134 - INFO: train/mse_loss: 0.004517930337025549 +23-06-25 05:53:05.135 - INFO: epoch: 323 +23-06-25 05:53:05.136 - INFO: iters: 808792 +23-06-25 05:54:26.560 - INFO: train/mse_loss: 0.004237152888155881 +23-06-25 05:55:54.086 - INFO: train/mse_loss: 0.0041632750168288 +23-06-25 05:55:54.087 - INFO: epoch: 324 +23-06-25 05:55:54.087 - INFO: iters: 811296 +23-06-25 05:58:42.940 - INFO: train/mse_loss: 0.0037665742988022754 +23-06-25 05:58:42.941 - INFO: epoch: 325 +23-06-25 05:58:42.941 - INFO: iters: 813800 +23-06-25 06:01:30.716 - INFO: train/mse_loss: 0.004211490341170599 +23-06-25 06:01:30.717 - INFO: epoch: 326 +23-06-25 06:01:30.717 - INFO: iters: 816304 +23-06-25 06:04:18.405 - INFO: train/mse_loss: 0.004154899779829187 +23-06-25 06:04:18.406 - INFO: epoch: 327 +23-06-25 06:04:18.406 - INFO: iters: 818808 +23-06-25 06:05:38.522 - INFO: train/mse_loss: 0.004024237552938996 +23-06-25 06:07:06.802 - INFO: train/mse_loss: 0.0043537943161274205 +23-06-25 06:07:06.802 - INFO: epoch: 328 +23-06-25 06:07:06.802 - INFO: iters: 821312 +23-06-25 06:09:54.627 - INFO: train/mse_loss: 0.004303027800218866 +23-06-25 06:09:54.628 - INFO: epoch: 329 +23-06-25 06:09:54.629 - INFO: iters: 823816 +23-06-25 06:12:42.576 - INFO: train/mse_loss: 0.0044109018020385415 +23-06-25 06:12:42.577 - INFO: epoch: 330 +23-06-25 06:12:42.577 - INFO: iters: 826320 +23-06-25 06:15:31.653 - INFO: train/mse_loss: 0.004087436907424832 +23-06-25 06:15:31.654 - INFO: epoch: 331 +23-06-25 06:15:31.654 - INFO: iters: 828824 +23-06-25 06:16:50.586 - INFO: train/mse_loss: 0.0039016858644492064 +23-06-25 06:18:19.857 - INFO: train/mse_loss: 0.004202932655326308 +23-06-25 06:18:19.857 - INFO: epoch: 332 +23-06-25 06:18:19.858 - INFO: iters: 831328 +23-06-25 06:21:07.657 - INFO: train/mse_loss: 0.00435945174259583 +23-06-25 06:21:07.658 - INFO: epoch: 333 +23-06-25 06:21:07.658 - INFO: iters: 833832 +23-06-25 06:23:55.097 - INFO: train/mse_loss: 0.004231564785404422 +23-06-25 06:23:55.097 - INFO: epoch: 334 +23-06-25 06:23:55.097 - INFO: iters: 836336 +23-06-25 06:26:42.718 - INFO: train/mse_loss: 0.00423427088038859 +23-06-25 06:26:42.719 - INFO: epoch: 335 +23-06-25 06:26:42.719 - INFO: iters: 838840 +23-06-25 06:28:00.455 - INFO: train/mse_loss: 0.004642025905597056 +23-06-25 06:29:30.623 - INFO: train/mse_loss: 0.004306618197517583 +23-06-25 06:29:30.623 - INFO: epoch: 336 +23-06-25 06:29:30.623 - INFO: iters: 841344 +23-06-25 06:32:18.170 - INFO: train/mse_loss: 0.004146262644433057 +23-06-25 06:32:18.171 - INFO: epoch: 337 +23-06-25 06:32:18.171 - INFO: iters: 843848 +23-06-25 06:35:06.357 - INFO: train/mse_loss: 0.00491813953427342 +23-06-25 06:35:06.358 - INFO: epoch: 338 +23-06-25 06:35:06.358 - INFO: iters: 846352 +23-06-25 06:37:54.214 - INFO: train/mse_loss: 0.004028048320188405 +23-06-25 06:37:54.214 - INFO: epoch: 339 +23-06-25 06:37:54.214 - INFO: iters: 848856 +23-06-25 06:39:11.543 - INFO: train/mse_loss: 0.004416830225528537 +23-06-25 06:40:43.080 - INFO: train/mse_loss: 0.004076709495500302 +23-06-25 06:40:43.080 - INFO: epoch: 340 +23-06-25 06:40:43.080 - INFO: iters: 851360 +23-06-25 06:43:31.767 - INFO: train/mse_loss: 0.003819715614377048 +23-06-25 06:43:31.768 - INFO: epoch: 341 +23-06-25 06:43:31.768 - INFO: iters: 853864 +23-06-25 06:46:19.727 - INFO: train/mse_loss: 0.00408188067413807 +23-06-25 06:46:19.727 - INFO: epoch: 342 +23-06-25 06:46:19.727 - INFO: iters: 856368 +23-06-25 06:49:07.623 - INFO: train/mse_loss: 0.0035448606734494337 +23-06-25 06:49:07.624 - INFO: epoch: 343 +23-06-25 06:49:07.624 - INFO: iters: 858872 +23-06-25 06:50:23.232 - INFO: train/mse_loss: 0.00452911322820826 +23-06-25 06:51:55.879 - INFO: train/mse_loss: 0.004917154975306873 +23-06-25 06:51:55.879 - INFO: epoch: 344 +23-06-25 06:51:55.879 - INFO: iters: 861376 +23-06-25 06:54:43.666 - INFO: train/mse_loss: 0.0041963660936302745 +23-06-25 06:54:43.667 - INFO: epoch: 345 +23-06-25 06:54:43.667 - INFO: iters: 863880 +23-06-25 06:57:31.079 - INFO: train/mse_loss: 0.0039019661311345834 +23-06-25 06:57:31.080 - INFO: epoch: 346 +23-06-25 06:57:31.080 - INFO: iters: 866384 +23-06-25 07:00:18.741 - INFO: train/mse_loss: 0.0045676170468937375 +23-06-25 07:00:18.742 - INFO: epoch: 347 +23-06-25 07:00:18.742 - INFO: iters: 868888 +23-06-25 07:01:33.371 - INFO: train/mse_loss: 0.00399902945705991 +23-06-25 07:03:07.551 - INFO: train/mse_loss: 0.004322528270796274 +23-06-25 07:03:07.552 - INFO: epoch: 348 +23-06-25 07:03:07.552 - INFO: iters: 871392 +23-06-25 07:05:55.222 - INFO: train/mse_loss: 0.0039916860542971245 +23-06-25 07:05:55.222 - INFO: epoch: 349 +23-06-25 07:05:55.222 - INFO: iters: 873896 +23-06-25 07:08:42.589 - INFO: train/mse_loss: 0.003727855415607151 +23-06-25 07:08:42.590 - INFO: epoch: 350 +23-06-25 07:08:42.590 - INFO: iters: 876400 +23-06-25 07:11:30.265 - INFO: train/mse_loss: 0.00395699709165877 +23-06-25 07:11:30.266 - INFO: epoch: 351 +23-06-25 07:11:30.267 - INFO: iters: 878904 +23-06-25 07:12:43.918 - INFO: train/mse_loss: 0.003932006728502303 +23-06-25 07:14:18.593 - INFO: train/mse_loss: 0.004185225862560395 +23-06-25 07:14:18.594 - INFO: epoch: 352 +23-06-25 07:14:18.594 - INFO: iters: 881408 +23-06-25 07:17:06.115 - INFO: train/mse_loss: 0.004105358207880999 +23-06-25 07:17:06.115 - INFO: epoch: 353 +23-06-25 07:17:06.115 - INFO: iters: 883912 +23-06-25 07:19:53.523 - INFO: train/mse_loss: 0.004565992437975523 +23-06-25 07:19:53.523 - INFO: epoch: 354 +23-06-25 07:19:53.524 - INFO: iters: 886416 +23-06-25 07:22:42.623 - INFO: train/mse_loss: 0.004356424520223642 +23-06-25 07:22:42.623 - INFO: epoch: 355 +23-06-25 07:22:42.623 - INFO: iters: 888920 +23-06-25 07:23:55.143 - INFO: train/mse_loss: 0.003741572082422122 +23-06-25 07:25:34.266 - INFO: train/mse_loss: 0.0037930229252513747 +23-06-25 07:25:34.266 - INFO: epoch: 356 +23-06-25 07:25:34.266 - INFO: iters: 891424 +23-06-25 07:28:27.171 - INFO: train/mse_loss: 0.003910616263018225 +23-06-25 07:28:27.172 - INFO: epoch: 357 +23-06-25 07:28:27.172 - INFO: iters: 893928 +23-06-25 07:31:15.170 - INFO: train/mse_loss: 0.004697435900357704 +23-06-25 07:31:15.171 - INFO: epoch: 358 +23-06-25 07:31:15.171 - INFO: iters: 896432 +23-06-25 07:34:03.958 - INFO: train/mse_loss: 0.00414261929155253 +23-06-25 07:34:03.959 - INFO: epoch: 359 +23-06-25 07:34:03.959 - INFO: iters: 898936 +23-06-25 07:35:15.311 - INFO: train/mse_loss: 0.004392994093337566 +23-06-25 07:36:51.895 - INFO: train/mse_loss: 0.004308004171019212 +23-06-25 07:36:51.895 - INFO: epoch: 360 +23-06-25 07:36:51.895 - INFO: iters: 901440 +23-06-25 07:39:39.361 - INFO: train/mse_loss: 0.004245261478344925 +23-06-25 07:39:39.361 - INFO: epoch: 361 +23-06-25 07:39:39.361 - INFO: iters: 903944 +23-06-25 07:42:27.254 - INFO: train/mse_loss: 0.0038446001381205676 +23-06-25 07:42:27.255 - INFO: epoch: 362 +23-06-25 07:42:27.255 - INFO: iters: 906448 +23-06-25 07:45:16.071 - INFO: train/mse_loss: 0.0038998036741311796 +23-06-25 07:45:16.072 - INFO: epoch: 363 +23-06-25 07:45:16.072 - INFO: iters: 908952 +23-06-25 07:46:26.872 - INFO: train/mse_loss: 0.0035439250681492435 +23-06-25 07:48:06.206 - INFO: train/mse_loss: 0.0037279334901192318 +23-06-25 07:48:06.207 - INFO: epoch: 364 +23-06-25 07:48:06.207 - INFO: iters: 911456 +23-06-25 07:50:53.947 - INFO: train/mse_loss: 0.003742127381369305 +23-06-25 07:50:53.947 - INFO: epoch: 365 +23-06-25 07:50:53.947 - INFO: iters: 913960 +23-06-25 07:53:41.729 - INFO: train/mse_loss: 0.004966630914676994 +23-06-25 07:53:41.730 - INFO: epoch: 366 +23-06-25 07:53:41.730 - INFO: iters: 916464 +23-06-25 07:56:29.579 - INFO: train/mse_loss: 0.0038469530676994413 +23-06-25 07:56:29.580 - INFO: epoch: 367 +23-06-25 07:56:29.580 - INFO: iters: 918968 +23-06-25 07:57:38.899 - INFO: train/mse_loss: 0.003737346631972942 +23-06-25 07:59:17.529 - INFO: train/mse_loss: 0.004150254381508135 +23-06-25 07:59:17.529 - INFO: epoch: 368 +23-06-25 07:59:17.530 - INFO: iters: 921472 +23-06-25 08:02:05.131 - INFO: train/mse_loss: 0.003777687399151226 +23-06-25 08:02:05.131 - INFO: epoch: 369 +23-06-25 08:02:05.132 - INFO: iters: 923976 +23-06-25 08:04:52.845 - INFO: train/mse_loss: 0.004035510946237765 +23-06-25 08:04:52.845 - INFO: epoch: 370 +23-06-25 08:04:52.845 - INFO: iters: 926480 +23-06-25 08:07:41.012 - INFO: train/mse_loss: 0.004308697532493466 +23-06-25 08:07:41.012 - INFO: epoch: 371 +23-06-25 08:07:41.013 - INFO: iters: 928984 +23-06-25 08:08:49.398 - INFO: train/mse_loss: 0.003785624318228169 +23-06-25 08:10:29.727 - INFO: train/mse_loss: 0.004239209149532711 +23-06-25 08:10:29.728 - INFO: epoch: 372 +23-06-25 08:10:29.728 - INFO: iters: 931488 +23-06-25 08:13:17.277 - INFO: train/mse_loss: 0.004137820689180218 +23-06-25 08:13:17.278 - INFO: epoch: 373 +23-06-25 08:13:17.278 - INFO: iters: 933992 +23-06-25 08:16:04.819 - INFO: train/mse_loss: 0.0043772566299617715 +23-06-25 08:16:04.819 - INFO: epoch: 374 +23-06-25 08:16:04.820 - INFO: iters: 936496 +23-06-25 08:18:52.375 - INFO: train/mse_loss: 0.0037849353352627053 +23-06-25 08:18:52.376 - INFO: epoch: 375 +23-06-25 08:18:52.376 - INFO: iters: 939000 +23-06-25 08:20:01.751 - INFO: train/mse_loss: 0.005048205962404608 +23-06-25 08:21:44.099 - INFO: train/mse_loss: 0.004288900672969893 +23-06-25 08:21:44.100 - INFO: epoch: 376 +23-06-25 08:21:44.100 - INFO: iters: 941504 +23-06-25 08:24:31.571 - INFO: train/mse_loss: 0.004291994281830237 +23-06-25 08:24:31.572 - INFO: epoch: 377 +23-06-25 08:24:31.572 - INFO: iters: 944008 +23-06-25 08:27:19.785 - INFO: train/mse_loss: 0.003770438959069264 +23-06-25 08:27:19.786 - INFO: epoch: 378 +23-06-25 08:27:19.786 - INFO: iters: 946512 +23-06-25 08:30:08.092 - INFO: train/mse_loss: 0.0036458886773756945 +23-06-25 08:30:08.092 - INFO: epoch: 379 +23-06-25 08:30:08.092 - INFO: iters: 949016 +23-06-25 08:31:14.229 - INFO: train/mse_loss: 0.004009477391922317 +23-06-25 08:32:56.246 - INFO: train/mse_loss: 0.0036909414459757816 +23-06-25 08:32:56.246 - INFO: epoch: 380 +23-06-25 08:32:56.246 - INFO: iters: 951520 +23-06-25 08:35:44.272 - INFO: train/mse_loss: 0.0038893499029294468 +23-06-25 08:35:44.272 - INFO: epoch: 381 +23-06-25 08:35:44.273 - INFO: iters: 954024 +23-06-25 08:38:32.317 - INFO: train/mse_loss: 0.003996908098991853 +23-06-25 08:38:32.317 - INFO: epoch: 382 +23-06-25 08:38:32.317 - INFO: iters: 956528 +23-06-25 08:41:19.751 - INFO: train/mse_loss: 0.003919896710970507 +23-06-25 08:41:19.752 - INFO: epoch: 383 +23-06-25 08:41:19.752 - INFO: iters: 959032 +23-06-25 08:42:24.814 - INFO: train/mse_loss: 0.0038344320458213775 +23-06-25 08:44:07.789 - INFO: train/mse_loss: 0.003933538564483817 +23-06-25 08:44:07.790 - INFO: epoch: 384 +23-06-25 08:44:07.790 - INFO: iters: 961536 +23-06-25 08:46:55.796 - INFO: train/mse_loss: 0.004086919099883959 +23-06-25 08:46:55.797 - INFO: epoch: 385 +23-06-25 08:46:55.797 - INFO: iters: 964040 +23-06-25 08:49:43.298 - INFO: train/mse_loss: 0.003638538075968052 +23-06-25 08:49:43.298 - INFO: epoch: 386 +23-06-25 08:49:43.299 - INFO: iters: 966544 +23-06-25 08:52:31.113 - INFO: train/mse_loss: 0.0038094381376291616 +23-06-25 08:52:31.113 - INFO: epoch: 387 +23-06-25 08:52:31.113 - INFO: iters: 969048 +23-06-25 08:53:35.049 - INFO: train/mse_loss: 0.0034948285089946595 +23-06-25 08:55:19.563 - INFO: train/mse_loss: 0.0035878290621617352 +23-06-25 08:55:19.564 - INFO: epoch: 388 +23-06-25 08:55:19.564 - INFO: iters: 971552 +23-06-25 08:58:07.045 - INFO: train/mse_loss: 0.004224996002146992 +23-06-25 08:58:07.046 - INFO: epoch: 389 +23-06-25 08:58:07.046 - INFO: iters: 974056 +23-06-25 09:00:55.674 - INFO: train/mse_loss: 0.0035782490671722417 +23-06-25 09:00:55.674 - INFO: epoch: 390 +23-06-25 09:00:55.675 - INFO: iters: 976560 +23-06-25 09:03:43.294 - INFO: train/mse_loss: 0.0034213409924242918 +23-06-25 09:03:43.294 - INFO: epoch: 391 +23-06-25 09:03:43.294 - INFO: iters: 979064 +23-06-25 09:04:46.486 - INFO: train/mse_loss: 0.0034932817360306652 +23-06-25 09:06:31.714 - INFO: train/mse_loss: 0.003667103704630424 +23-06-25 09:06:31.715 - INFO: epoch: 392 +23-06-25 09:06:31.715 - INFO: iters: 981568 +23-06-25 09:09:19.302 - INFO: train/mse_loss: 0.0036856638135227817 +23-06-25 09:09:19.302 - INFO: epoch: 393 +23-06-25 09:09:19.302 - INFO: iters: 984072 +23-06-25 09:12:06.983 - INFO: train/mse_loss: 0.003991135429909316 +23-06-25 09:12:06.983 - INFO: epoch: 394 +23-06-25 09:12:06.983 - INFO: iters: 986576 +23-06-25 09:14:55.205 - INFO: train/mse_loss: 0.004366584653302598 +23-06-25 09:14:55.205 - INFO: epoch: 395 +23-06-25 09:14:55.205 - INFO: iters: 989080 +23-06-25 09:15:57.159 - INFO: train/mse_loss: 0.0036580648111260456 +23-06-25 09:17:43.363 - INFO: train/mse_loss: 0.003756573413329098 +23-06-25 09:17:43.363 - INFO: epoch: 396 +23-06-25 09:17:43.363 - INFO: iters: 991584 +23-06-25 09:20:32.568 - INFO: train/mse_loss: 0.0034875588647027412 +23-06-25 09:20:32.569 - INFO: epoch: 397 +23-06-25 09:20:32.569 - INFO: iters: 994088 +23-06-25 09:23:20.290 - INFO: train/mse_loss: 0.004395983010804215 +23-06-25 09:23:20.290 - INFO: epoch: 398 +23-06-25 09:23:20.291 - INFO: iters: 996592 +23-06-25 09:26:09.050 - INFO: train/mse_loss: 0.0036769199397819587 +23-06-25 09:26:09.051 - INFO: epoch: 399 +23-06-25 09:26:09.051 - INFO: iters: 999096 +23-06-25 09:27:09.764 - INFO: train/mse_loss: 0.0034531282520630455 +23-06-25 09:28:56.897 - INFO: train/mse_loss: 0.003326019859491898 +23-06-25 09:28:56.897 - INFO: epoch: 400 +23-06-25 09:28:56.897 - INFO: iters: 1001600 +23-06-25 09:31:44.841 - INFO: train/mse_loss: 0.00375147613201338 +23-06-25 09:31:44.841 - INFO: epoch: 401 +23-06-25 09:31:44.842 - INFO: iters: 1004104 +23-06-25 09:34:33.118 - INFO: train/mse_loss: 0.0035989675853109826 +23-06-25 09:34:33.118 - INFO: epoch: 402 +23-06-25 09:34:33.118 - INFO: iters: 1006608 +23-06-25 09:37:22.234 - INFO: train/mse_loss: 0.0033003007978224717 +23-06-25 09:37:22.235 - INFO: epoch: 403 +23-06-25 09:37:22.235 - INFO: iters: 1009112 +23-06-25 09:38:21.936 - INFO: train/mse_loss: 0.003960645818445194 +23-06-25 09:40:10.383 - INFO: train/mse_loss: 0.0038207313685585708 +23-06-25 09:40:10.383 - INFO: epoch: 404 +23-06-25 09:40:10.383 - INFO: iters: 1011616 +23-06-25 09:42:58.238 - INFO: train/mse_loss: 0.0035010670083381545 +23-06-25 09:42:58.239 - INFO: epoch: 405 +23-06-25 09:42:58.239 - INFO: iters: 1014120 +23-06-25 09:45:45.789 - INFO: train/mse_loss: 0.0037090909186030586 +23-06-25 09:45:45.790 - INFO: epoch: 406 +23-06-25 09:45:45.790 - INFO: iters: 1016624 +23-06-25 09:48:34.307 - INFO: train/mse_loss: 0.004187304396390582 +23-06-25 09:48:34.307 - INFO: epoch: 407 +23-06-25 09:48:34.307 - INFO: iters: 1019128 +23-06-25 09:49:32.950 - INFO: train/mse_loss: 0.004712006918778387 +23-06-25 09:51:23.715 - INFO: train/mse_loss: 0.004853690945775435 +23-06-25 09:51:23.715 - INFO: epoch: 408 +23-06-25 09:51:23.716 - INFO: iters: 1021632 +23-06-25 09:54:11.609 - INFO: train/mse_loss: 0.0036440318957649577 +23-06-25 09:54:11.610 - INFO: epoch: 409 +23-06-25 09:54:11.610 - INFO: iters: 1024136 +23-06-25 09:56:59.230 - INFO: train/mse_loss: 0.003823712449922515 +23-06-25 09:56:59.231 - INFO: epoch: 410 +23-06-25 09:56:59.231 - INFO: iters: 1026640 +23-06-25 09:59:47.346 - INFO: train/mse_loss: 0.0039068022932553775 +23-06-25 09:59:47.347 - INFO: epoch: 411 +23-06-25 09:59:47.347 - INFO: iters: 1029144 +23-06-25 10:00:44.991 - INFO: train/mse_loss: 0.003846919341404513 +23-06-25 10:02:35.863 - INFO: train/mse_loss: 0.003651885997902709 +23-06-25 10:02:35.863 - INFO: epoch: 412 +23-06-25 10:02:35.863 - INFO: iters: 1031648 +23-06-25 10:05:24.757 - INFO: train/mse_loss: 0.0038105912377147345 +23-06-25 10:05:24.757 - INFO: epoch: 413 +23-06-25 10:05:24.757 - INFO: iters: 1034152 +23-06-25 10:08:13.662 - INFO: train/mse_loss: 0.003916617609730092 +23-06-25 10:08:13.663 - INFO: epoch: 414 +23-06-25 10:08:13.663 - INFO: iters: 1036656 +23-06-25 10:11:02.266 - INFO: train/mse_loss: 0.0036832323731533206 +23-06-25 10:11:02.266 - INFO: epoch: 415 +23-06-25 10:11:02.266 - INFO: iters: 1039160 +23-06-25 10:11:59.075 - INFO: train/mse_loss: 0.003986143494867498 +23-06-25 10:13:51.126 - INFO: train/mse_loss: 0.004086392574211636 +23-06-25 10:13:51.126 - INFO: epoch: 416 +23-06-25 10:13:51.126 - INFO: iters: 1041664 +23-06-25 10:16:38.696 - INFO: train/mse_loss: 0.003475962175850789 +23-06-25 10:16:38.697 - INFO: epoch: 417 +23-06-25 10:16:38.697 - INFO: iters: 1044168 +23-06-25 10:19:28.384 - INFO: train/mse_loss: 0.0034308356441968024 +23-06-25 10:19:28.385 - INFO: epoch: 418 +23-06-25 10:19:28.385 - INFO: iters: 1046672 +23-06-25 10:22:16.423 - INFO: train/mse_loss: 0.0033224109644308304 +23-06-25 10:22:16.424 - INFO: epoch: 419 +23-06-25 10:22:16.424 - INFO: iters: 1049176 +23-06-25 10:23:11.975 - INFO: train/mse_loss: 0.0038611158226770394 +23-06-25 10:25:04.899 - INFO: train/mse_loss: 0.003885018700263656 +23-06-25 10:25:04.899 - INFO: epoch: 420 +23-06-25 10:25:04.904 - INFO: iters: 1051680 +23-06-25 10:27:52.355 - INFO: train/mse_loss: 0.003678001323938013 +23-06-25 10:27:52.357 - INFO: epoch: 421 +23-06-25 10:27:52.357 - INFO: iters: 1054184 +23-06-25 10:30:40.166 - INFO: train/mse_loss: 0.00384854622811567 +23-06-25 10:30:40.167 - INFO: epoch: 422 +23-06-25 10:30:40.167 - INFO: iters: 1056688 +23-06-25 10:33:27.850 - INFO: train/mse_loss: 0.003725218341519205 +23-06-25 10:33:27.851 - INFO: epoch: 423 +23-06-25 10:33:27.851 - INFO: iters: 1059192 +23-06-25 10:34:22.261 - INFO: train/mse_loss: 0.003187787706392015 +23-06-25 10:36:16.112 - INFO: train/mse_loss: 0.003262488132777115 +23-06-25 10:36:16.113 - INFO: epoch: 424 +23-06-25 10:36:16.113 - INFO: iters: 1061696 +23-06-25 10:39:03.666 - INFO: train/mse_loss: 0.0035679487473578354 +23-06-25 10:39:03.667 - INFO: epoch: 425 +23-06-25 10:39:03.667 - INFO: iters: 1064200 +23-06-25 10:41:51.577 - INFO: train/mse_loss: 0.0034821945891236536 +23-06-25 10:41:51.578 - INFO: epoch: 426 +23-06-25 10:41:51.578 - INFO: iters: 1066704 +23-06-25 10:44:39.749 - INFO: train/mse_loss: 0.0038834370642204206 +23-06-25 10:44:39.750 - INFO: epoch: 427 +23-06-25 10:44:39.750 - INFO: iters: 1069208 +23-06-25 10:45:33.090 - INFO: train/mse_loss: 0.0034222034702190395 +23-06-25 10:47:28.082 - INFO: train/mse_loss: 0.0038803773950755642 +23-06-25 10:47:28.082 - INFO: epoch: 428 +23-06-25 10:47:28.082 - INFO: iters: 1071712 +23-06-25 10:50:15.719 - INFO: train/mse_loss: 0.003622284003223974 +23-06-25 10:50:15.719 - INFO: epoch: 429 +23-06-25 10:50:15.719 - INFO: iters: 1074216 +23-06-25 10:53:03.515 - INFO: train/mse_loss: 0.0034850073648027527 +23-06-25 10:53:03.516 - INFO: epoch: 430 +23-06-25 10:53:03.516 - INFO: iters: 1076720 +23-06-25 10:55:51.317 - INFO: train/mse_loss: 0.003996428406124893 +23-06-25 10:55:51.318 - INFO: epoch: 431 +23-06-25 10:55:51.318 - INFO: iters: 1079224 +23-06-25 10:56:43.509 - INFO: train/mse_loss: 0.00327576088392627 +23-06-25 10:58:40.431 - INFO: train/mse_loss: 0.003500068743234149 +23-06-25 10:58:40.431 - INFO: epoch: 432 +23-06-25 10:58:40.432 - INFO: iters: 1081728 +23-06-25 11:01:28.174 - INFO: train/mse_loss: 0.003768919396940202 +23-06-25 11:01:28.175 - INFO: epoch: 433 +23-06-25 11:01:28.175 - INFO: iters: 1084232 +23-06-25 11:04:17.936 - INFO: train/mse_loss: 0.0034088698346331453 +23-06-25 11:04:17.937 - INFO: epoch: 434 +23-06-25 11:04:17.937 - INFO: iters: 1086736 +23-06-25 11:07:06.229 - INFO: train/mse_loss: 0.0032380375570019546 +23-06-25 11:07:06.230 - INFO: epoch: 435 +23-06-25 11:07:06.230 - INFO: iters: 1089240 +23-06-25 11:07:57.411 - INFO: train/mse_loss: 0.0032674874987845357 +23-06-25 11:09:54.599 - INFO: train/mse_loss: 0.0034469368398195497 +23-06-25 11:09:54.600 - INFO: epoch: 436 +23-06-25 11:09:54.600 - INFO: iters: 1091744 +23-06-25 11:12:42.452 - INFO: train/mse_loss: 0.0035614990729677934 +23-06-25 11:12:42.453 - INFO: epoch: 437 +23-06-25 11:12:42.453 - INFO: iters: 1094248 +23-06-25 11:15:30.381 - INFO: train/mse_loss: 0.0035981303092074424 +23-06-25 11:15:30.382 - INFO: epoch: 438 +23-06-25 11:15:30.382 - INFO: iters: 1096752 +23-06-25 11:18:18.436 - INFO: train/mse_loss: 0.0034744664505957225 +23-06-25 11:18:18.436 - INFO: epoch: 439 +23-06-25 11:18:18.437 - INFO: iters: 1099256 +23-06-25 11:19:08.894 - INFO: train/mse_loss: 0.0038182291112119154 +23-06-25 11:21:07.549 - INFO: train/mse_loss: 0.003500901900541287 +23-06-25 11:21:07.549 - INFO: epoch: 440 +23-06-25 11:21:07.549 - INFO: iters: 1101760 +23-06-25 11:23:55.509 - INFO: train/mse_loss: 0.0034954000138692535 +23-06-25 11:23:55.509 - INFO: epoch: 441 +23-06-25 11:23:55.510 - INFO: iters: 1104264 +23-06-25 11:26:43.305 - INFO: train/mse_loss: 0.003607889304470164 +23-06-25 11:26:43.306 - INFO: epoch: 442 +23-06-25 11:26:43.306 - INFO: iters: 1106768 +23-06-25 11:29:31.130 - INFO: train/mse_loss: 0.003438902782654158 +23-06-25 11:29:31.131 - INFO: epoch: 443 +23-06-25 11:29:31.131 - INFO: iters: 1109272 +23-06-25 11:30:20.216 - INFO: train/mse_loss: 0.003033963460628721 +23-06-25 11:32:19.336 - INFO: train/mse_loss: 0.0033033535835859827 +23-06-25 11:32:19.336 - INFO: epoch: 444 +23-06-25 11:32:19.336 - INFO: iters: 1111776 +23-06-25 11:35:06.873 - INFO: train/mse_loss: 0.003479871459077663 +23-06-25 11:35:06.873 - INFO: epoch: 445 +23-06-25 11:35:06.874 - INFO: iters: 1114280 +23-06-25 11:37:54.699 - INFO: train/mse_loss: 0.0039034248173486787 +23-06-25 11:37:54.700 - INFO: epoch: 446 +23-06-25 11:37:54.700 - INFO: iters: 1116784 +23-06-25 11:40:42.643 - INFO: train/mse_loss: 0.003377893257859392 +23-06-25 11:40:42.644 - INFO: epoch: 447 +23-06-25 11:40:42.644 - INFO: iters: 1119288 +23-06-25 11:41:30.723 - INFO: train/mse_loss: 0.003210091419266851 +23-06-25 11:43:35.026 - INFO: train/mse_loss: 0.003050237544254361 +23-06-25 11:43:35.027 - INFO: epoch: 448 +23-06-25 11:43:35.027 - INFO: iters: 1121792 +23-06-25 11:46:23.093 - INFO: train/mse_loss: 0.0034574250234648014 +23-06-25 11:46:23.094 - INFO: epoch: 449 +23-06-25 11:46:23.094 - INFO: iters: 1124296 +23-06-25 11:49:11.198 - INFO: train/mse_loss: 0.0034721723501793685 +23-06-25 11:49:11.199 - INFO: epoch: 450 +23-06-25 11:49:11.199 - INFO: iters: 1126800 +23-06-25 11:51:59.169 - INFO: train/mse_loss: 0.003631753247445479 +23-06-25 11:51:59.170 - INFO: epoch: 451 +23-06-25 11:51:59.170 - INFO: iters: 1129304 +23-06-25 11:52:46.132 - INFO: train/mse_loss: 0.004057362381283237 +23-06-25 11:54:47.397 - INFO: train/mse_loss: 0.0036141125637050063 +23-06-25 11:54:47.397 - INFO: epoch: 452 +23-06-25 11:54:47.397 - INFO: iters: 1131808 +23-06-25 11:57:35.230 - INFO: train/mse_loss: 0.00317438421384119 +23-06-25 11:57:35.231 - INFO: epoch: 453 +23-06-25 11:57:35.231 - INFO: iters: 1134312 +23-06-25 12:00:22.942 - INFO: train/mse_loss: 0.0033730599834336738 +23-06-25 12:00:22.943 - INFO: epoch: 454 +23-06-25 12:00:22.943 - INFO: iters: 1136816 +23-06-25 12:03:10.522 - INFO: train/mse_loss: 0.003277136378150921 +23-06-25 12:03:10.522 - INFO: epoch: 455 +23-06-25 12:03:10.522 - INFO: iters: 1139320 +23-06-25 12:03:56.227 - INFO: train/mse_loss: 0.003319152054267333 +23-06-25 12:05:59.060 - INFO: train/mse_loss: 0.0031251895106427325 +23-06-25 12:05:59.061 - INFO: epoch: 456 +23-06-25 12:05:59.061 - INFO: iters: 1141824 +23-06-25 12:08:46.595 - INFO: train/mse_loss: 0.003156145858673599 +23-06-25 12:08:46.596 - INFO: epoch: 457 +23-06-25 12:08:46.596 - INFO: iters: 1144328 +23-06-25 12:11:34.199 - INFO: train/mse_loss: 0.0034921746232365364 +23-06-25 12:11:34.199 - INFO: epoch: 458 +23-06-25 12:11:34.199 - INFO: iters: 1146832 +23-06-25 12:14:21.684 - INFO: train/mse_loss: 0.0034996633534691633 +23-06-25 12:14:21.685 - INFO: epoch: 459 +23-06-25 12:14:21.685 - INFO: iters: 1149336 +23-06-25 12:15:06.359 - INFO: train/mse_loss: 0.004705217103081116 +23-06-25 12:17:09.952 - INFO: train/mse_loss: 0.003588942139924239 +23-06-25 12:17:09.952 - INFO: epoch: 460 +23-06-25 12:17:09.952 - INFO: iters: 1151840 +23-06-25 12:19:57.703 - INFO: train/mse_loss: 0.0032022711523353293 +23-06-25 12:19:57.704 - INFO: epoch: 461 +23-06-25 12:19:57.704 - INFO: iters: 1154344 +23-06-25 12:22:45.162 - INFO: train/mse_loss: 0.003067155616334119 +23-06-25 12:22:45.163 - INFO: epoch: 462 +23-06-25 12:22:45.163 - INFO: iters: 1156848 +23-06-25 12:25:32.762 - INFO: train/mse_loss: 0.0036267122274603898 +23-06-25 12:25:32.763 - INFO: epoch: 463 +23-06-25 12:25:32.763 - INFO: iters: 1159352 +23-06-25 12:26:16.727 - INFO: train/mse_loss: 0.00323676547455245 +23-06-25 12:28:21.534 - INFO: train/mse_loss: 0.003367405556612455 +23-06-25 12:28:21.535 - INFO: epoch: 464 +23-06-25 12:28:21.535 - INFO: iters: 1161856 +23-06-25 12:31:09.413 - INFO: train/mse_loss: 0.0031413419463020118 +23-06-25 12:31:09.414 - INFO: epoch: 465 +23-06-25 12:31:09.414 - INFO: iters: 1164360 +23-06-25 12:33:57.189 - INFO: train/mse_loss: 0.0034344195181462236 +23-06-25 12:33:57.189 - INFO: epoch: 466 +23-06-25 12:33:57.189 - INFO: iters: 1166864 +23-06-25 12:36:44.814 - INFO: train/mse_loss: 0.0035915833246260406 +23-06-25 12:36:44.814 - INFO: epoch: 467 +23-06-25 12:36:44.815 - INFO: iters: 1169368 +23-06-25 12:37:27.362 - INFO: train/mse_loss: 0.003448372261740173 +23-06-25 12:39:33.522 - INFO: train/mse_loss: 0.0032836585718477827 +23-06-25 12:39:33.522 - INFO: epoch: 468 +23-06-25 12:39:33.523 - INFO: iters: 1171872 +23-06-25 12:42:20.949 - INFO: train/mse_loss: 0.0036039519043395314 +23-06-25 12:42:20.950 - INFO: epoch: 469 +23-06-25 12:42:20.950 - INFO: iters: 1174376 +23-06-25 12:45:08.542 - INFO: train/mse_loss: 0.0038975818371310973 +23-06-25 12:45:08.543 - INFO: epoch: 470 +23-06-25 12:45:08.543 - INFO: iters: 1176880 +23-06-25 12:47:56.393 - INFO: train/mse_loss: 0.003236134658186747 +23-06-25 12:47:56.393 - INFO: epoch: 471 +23-06-25 12:47:56.394 - INFO: iters: 1179384 +23-06-25 12:48:37.977 - INFO: train/mse_loss: 0.0030010043833912773 +23-06-25 12:50:45.045 - INFO: train/mse_loss: 0.003340624704266699 +23-06-25 12:50:45.046 - INFO: epoch: 472 +23-06-25 12:50:45.046 - INFO: iters: 1181888 +23-06-25 12:53:32.342 - INFO: train/mse_loss: 0.003511300119318473 +23-06-25 12:53:32.342 - INFO: epoch: 473 +23-06-25 12:53:32.342 - INFO: iters: 1184392 +23-06-25 12:56:21.125 - INFO: train/mse_loss: 0.0035971781825081418 +23-06-25 12:56:21.126 - INFO: epoch: 474 +23-06-25 12:56:21.126 - INFO: iters: 1186896 +23-06-25 12:59:08.601 - INFO: train/mse_loss: 0.003473648696932525 +23-06-25 12:59:08.601 - INFO: epoch: 475 +23-06-25 12:59:08.601 - INFO: iters: 1189400 +23-06-25 12:59:48.944 - INFO: train/mse_loss: 0.00461786547365288 +23-06-25 13:01:56.682 - INFO: train/mse_loss: 0.0035597131957267277 +23-06-25 13:01:56.682 - INFO: epoch: 476 +23-06-25 13:01:56.682 - INFO: iters: 1191904 +23-06-25 13:04:44.345 - INFO: train/mse_loss: 0.0035612565233184698 +23-06-25 13:04:44.346 - INFO: epoch: 477 +23-06-25 13:04:44.346 - INFO: iters: 1194408 +23-06-25 13:07:32.000 - INFO: train/mse_loss: 0.003675358137115836 +23-06-25 13:07:32.001 - INFO: epoch: 478 +23-06-25 13:07:32.001 - INFO: iters: 1196912 +23-06-25 13:10:19.659 - INFO: train/mse_loss: 0.0033813297898083114 +23-06-25 13:10:19.660 - INFO: epoch: 479 +23-06-25 13:10:19.660 - INFO: iters: 1199416 +23-06-25 13:10:59.222 - INFO: train/mse_loss: 0.002929938261792676 +23-06-25 13:13:07.981 - INFO: train/mse_loss: 0.002911645140626822 +23-06-25 13:13:07.982 - INFO: epoch: 480 +23-06-25 13:13:07.982 - INFO: iters: 1201920 +23-06-25 13:15:55.970 - INFO: train/mse_loss: 0.003947209345158963 +23-06-25 13:15:55.971 - INFO: epoch: 481 +23-06-25 13:15:55.971 - INFO: iters: 1204424 +23-06-25 13:18:43.478 - INFO: train/mse_loss: 0.003400661355887239 +23-06-25 13:18:43.479 - INFO: epoch: 482 +23-06-25 13:18:43.479 - INFO: iters: 1206928 +23-06-25 13:21:31.066 - INFO: train/mse_loss: 0.003172026485198746 +23-06-25 13:21:31.066 - INFO: epoch: 483 +23-06-25 13:21:31.066 - INFO: iters: 1209432 +23-06-25 13:22:09.462 - INFO: train/mse_loss: 0.0037768377765068704 +23-06-25 13:24:19.685 - INFO: train/mse_loss: 0.00352808782427658 +23-06-25 13:24:19.685 - INFO: epoch: 484 +23-06-25 13:24:19.685 - INFO: iters: 1211936 +23-06-25 13:27:07.457 - INFO: train/mse_loss: 0.003313798056439327 +23-06-25 13:27:07.457 - INFO: epoch: 485 +23-06-25 13:27:07.457 - INFO: iters: 1214440 +23-06-25 13:29:55.947 - INFO: train/mse_loss: 0.0036051940167703615 +23-06-25 13:29:55.948 - INFO: epoch: 486 +23-06-25 13:29:55.948 - INFO: iters: 1216944 +23-06-25 13:32:43.698 - INFO: train/mse_loss: 0.0032582214284768572 +23-06-25 13:32:43.698 - INFO: epoch: 487 +23-06-25 13:32:43.699 - INFO: iters: 1219448 +23-06-25 13:33:21.078 - INFO: train/mse_loss: 0.0028074829167672906 +23-06-25 13:35:33.748 - INFO: train/mse_loss: 0.0030503624878353633 +23-06-25 13:35:33.748 - INFO: epoch: 488 +23-06-25 13:35:33.749 - INFO: iters: 1221952 +23-06-25 13:38:21.386 - INFO: train/mse_loss: 0.0029542098069539704 +23-06-25 13:38:21.386 - INFO: epoch: 489 +23-06-25 13:38:21.386 - INFO: iters: 1224456 +23-06-25 13:41:08.964 - INFO: train/mse_loss: 0.0036773180199293092 +23-06-25 13:41:08.964 - INFO: epoch: 490 +23-06-25 13:41:08.965 - INFO: iters: 1226960 +23-06-25 13:43:56.571 - INFO: train/mse_loss: 0.003483415301963568 +23-06-25 13:43:56.571 - INFO: epoch: 491 +23-06-25 13:43:56.572 - INFO: iters: 1229464 +23-06-25 13:44:32.840 - INFO: train/mse_loss: 0.0028136693803009704 +23-06-25 13:46:45.816 - INFO: train/mse_loss: 0.003614398874543286 +23-06-25 13:46:45.816 - INFO: epoch: 492 +23-06-25 13:46:45.816 - INFO: iters: 1231968 +23-06-25 13:49:34.181 - INFO: train/mse_loss: 0.003299793325953733 +23-06-25 13:49:34.182 - INFO: epoch: 493 +23-06-25 13:49:34.182 - INFO: iters: 1234472 +23-06-25 13:52:22.005 - INFO: train/mse_loss: 0.003183737010010682 +23-06-25 13:52:22.005 - INFO: epoch: 494 +23-06-25 13:52:22.006 - INFO: iters: 1236976 +23-06-25 13:55:10.917 - INFO: train/mse_loss: 0.003080512464683229 +23-06-25 13:55:10.918 - INFO: epoch: 495 +23-06-25 13:55:10.918 - INFO: iters: 1239480 +23-06-25 13:55:46.296 - INFO: train/mse_loss: 0.003340135163699205 +23-06-25 13:57:59.949 - INFO: train/mse_loss: 0.003186026578412031 +23-06-25 13:57:59.950 - INFO: epoch: 496 +23-06-25 13:57:59.950 - INFO: iters: 1241984 +23-06-25 14:00:47.765 - INFO: train/mse_loss: 0.003532488579332186 +23-06-25 14:00:47.766 - INFO: epoch: 497 +23-06-25 14:00:47.766 - INFO: iters: 1244488 +23-06-25 14:03:35.371 - INFO: train/mse_loss: 0.003158047289837497 +23-06-25 14:03:35.371 - INFO: epoch: 498 +23-06-25 14:03:35.371 - INFO: iters: 1246992 +23-06-25 14:06:23.007 - INFO: train/mse_loss: 0.0030657499033686954 +23-06-25 14:06:23.008 - INFO: epoch: 499 +23-06-25 14:06:23.008 - INFO: iters: 1249496 +23-06-25 14:06:57.192 - INFO: train/mse_loss: 0.00302883137815765 +23-06-25 14:09:11.268 - INFO: train/mse_loss: 0.003275969275310576 +23-06-25 14:09:11.268 - INFO: epoch: 500 +23-06-25 14:09:11.268 - INFO: iters: 1252000 +23-06-25 14:09:11.268 - INFO: Saving the self at the end of epoch 500 +23-06-25 14:09:11.847 - INFO: + + +------------------------------Validation Start------------------------------ +23-06-25 14:15:33.803 - INFO: val/mae: 0.6420320272445679 +23-06-25 14:15:33.803 - INFO: +------------------------------Validation End------------------------------ + + +23-06-25 14:18:21.869 - INFO: train/mse_loss: 0.0032027237579976314 +23-06-25 14:18:21.870 - INFO: epoch: 501 +23-06-25 14:18:21.870 - INFO: iters: 1254817 +23-06-25 14:21:09.203 - INFO: train/mse_loss: 0.003218818105572757 +23-06-25 14:21:09.204 - INFO: epoch: 502 +23-06-25 14:21:09.204 - INFO: iters: 1257321 +23-06-25 14:23:56.697 - INFO: train/mse_loss: 0.003520061003829772 +23-06-25 14:23:56.697 - INFO: epoch: 503 +23-06-25 14:23:56.697 - INFO: iters: 1259825 +23-06-25 14:26:44.062 - INFO: train/mse_loss: 0.0031296522483027305 +23-06-25 14:26:44.062 - INFO: epoch: 504 +23-06-25 14:26:44.063 - INFO: iters: 1262329 +23-06-25 14:29:31.532 - INFO: train/mse_loss: 0.0029937120464320977 +23-06-25 14:29:31.533 - INFO: epoch: 505 +23-06-25 14:29:31.533 - INFO: iters: 1264833 +23-06-25 14:32:19.500 - INFO: train/mse_loss: 0.0031405191414040357 +23-06-25 14:32:19.501 - INFO: epoch: 506 +23-06-25 14:32:19.501 - INFO: iters: 1267337 +23-06-25 14:35:08.966 - INFO: train/mse_loss: 0.003566226425071875 +23-06-25 14:35:08.967 - INFO: epoch: 507 +23-06-25 14:35:08.967 - INFO: iters: 1269841 +23-06-25 14:37:56.490 - INFO: train/mse_loss: 0.00316672590888513 +23-06-25 14:37:56.490 - INFO: epoch: 508 +23-06-25 14:37:56.490 - INFO: iters: 1272345 +23-06-25 14:40:45.230 - INFO: train/mse_loss: 0.0029775832761852698 +23-06-25 14:40:45.230 - INFO: epoch: 509 +23-06-25 14:40:45.230 - INFO: iters: 1274849 +23-06-25 14:43:32.881 - INFO: train/mse_loss: 0.002943504774108374 +23-06-25 14:43:32.881 - INFO: epoch: 510 +23-06-25 14:43:32.881 - INFO: iters: 1277353 +23-06-25 14:46:20.322 - INFO: train/mse_loss: 0.0031589842219197284 +23-06-25 14:46:20.322 - INFO: epoch: 511 +23-06-25 14:46:20.322 - INFO: iters: 1279857 +23-06-25 14:49:07.518 - INFO: train/mse_loss: 0.0033032212712498497 +23-06-25 14:49:07.519 - INFO: epoch: 512 +23-06-25 14:49:07.519 - INFO: iters: 1282361 +23-06-25 14:51:54.774 - INFO: train/mse_loss: 0.0038650301186525567 +23-06-25 14:51:54.774 - INFO: epoch: 513 +23-06-25 14:51:54.775 - INFO: iters: 1284865 +23-06-25 14:54:43.371 - INFO: train/mse_loss: 0.003026859660725148 +23-06-25 14:54:43.371 - INFO: epoch: 514 +23-06-25 14:54:43.371 - INFO: iters: 1287369 +23-06-25 14:57:31.874 - INFO: train/mse_loss: 0.003611746235949972 +23-06-25 14:57:31.875 - INFO: epoch: 515 +23-06-25 14:57:31.875 - INFO: iters: 1289873 +23-06-25 15:00:20.386 - INFO: train/mse_loss: 0.0031617548124799237 +23-06-25 15:00:20.386 - INFO: epoch: 516 +23-06-25 15:00:20.387 - INFO: iters: 1292377 +23-06-25 15:03:08.454 - INFO: train/mse_loss: 0.0032293063859208325 +23-06-25 15:03:08.454 - INFO: epoch: 517 +23-06-25 15:03:08.454 - INFO: iters: 1294881 +23-06-25 15:05:55.636 - INFO: train/mse_loss: 0.0033421220691925205 +23-06-25 15:05:55.637 - INFO: epoch: 518 +23-06-25 15:05:55.637 - INFO: iters: 1297385 +23-06-25 15:08:43.584 - INFO: train/mse_loss: 0.0029554778093341203 +23-06-25 15:08:43.585 - INFO: epoch: 519 +23-06-25 15:08:43.585 - INFO: iters: 1299889 +23-06-25 15:11:31.922 - INFO: train/mse_loss: 0.0031067965077623107 +23-06-25 15:11:31.923 - INFO: epoch: 520 +23-06-25 15:11:31.923 - INFO: iters: 1302393 +23-06-25 15:14:19.419 - INFO: train/mse_loss: 0.0031986531000748014 +23-06-25 15:14:19.420 - INFO: epoch: 521 +23-06-25 15:14:19.421 - INFO: iters: 1304897 +23-06-25 15:17:06.806 - INFO: train/mse_loss: 0.0031279262516814206 +23-06-25 15:17:06.807 - INFO: epoch: 522 +23-06-25 15:17:06.807 - INFO: iters: 1307401 +23-06-25 15:19:54.283 - INFO: train/mse_loss: 0.002895751075012782 +23-06-25 15:19:54.283 - INFO: epoch: 523 +23-06-25 15:19:54.283 - INFO: iters: 1309905 +23-06-25 15:22:41.696 - INFO: train/mse_loss: 0.0031629611240378535 +23-06-25 15:22:41.696 - INFO: epoch: 524 +23-06-25 15:22:41.696 - INFO: iters: 1312409 +23-06-25 15:25:29.226 - INFO: train/mse_loss: 0.0030740292751402875 +23-06-25 15:25:29.227 - INFO: epoch: 525 +23-06-25 15:25:29.227 - INFO: iters: 1314913 +23-06-25 15:28:16.678 - INFO: train/mse_loss: 0.0031358997542827653 +23-06-25 15:28:16.679 - INFO: epoch: 526 +23-06-25 15:28:16.679 - INFO: iters: 1317417 +23-06-25 15:31:04.435 - INFO: train/mse_loss: 0.003395474319846128 +23-06-25 15:31:04.436 - INFO: epoch: 527 +23-06-25 15:31:04.436 - INFO: iters: 1319921 +23-06-25 15:33:52.096 - INFO: train/mse_loss: 0.0031345637024978337 +23-06-25 15:33:52.097 - INFO: epoch: 528 +23-06-25 15:33:52.097 - INFO: iters: 1322425 +23-06-25 15:36:39.679 - INFO: train/mse_loss: 0.00314117418010734 +23-06-25 15:36:39.680 - INFO: epoch: 529 +23-06-25 15:36:39.680 - INFO: iters: 1324929 +23-06-25 15:39:27.193 - INFO: train/mse_loss: 0.002970136081674895 +23-06-25 15:39:27.193 - INFO: epoch: 530 +23-06-25 15:39:27.193 - INFO: iters: 1327433 +23-06-25 15:42:14.627 - INFO: train/mse_loss: 0.0029595296862669077 +23-06-25 15:42:14.628 - INFO: epoch: 531 +23-06-25 15:42:14.628 - INFO: iters: 1329937 +23-06-25 15:45:02.353 - INFO: train/mse_loss: 0.0031886192140193246 +23-06-25 15:45:02.354 - INFO: epoch: 532 +23-06-25 15:45:02.354 - INFO: iters: 1332441 +23-06-25 15:47:49.803 - INFO: train/mse_loss: 0.0033985762724864144 +23-06-25 15:47:49.804 - INFO: epoch: 533 +23-06-25 15:47:49.804 - INFO: iters: 1334945 +23-06-25 15:50:37.457 - INFO: train/mse_loss: 0.003303818279332794 +23-06-25 15:50:37.458 - INFO: epoch: 534 +23-06-25 15:50:37.458 - INFO: iters: 1337449 +23-06-25 15:53:25.027 - INFO: train/mse_loss: 0.0030382087728687036 +23-06-25 15:53:25.028 - INFO: epoch: 535 +23-06-25 15:53:25.028 - INFO: iters: 1339953 +23-06-25 15:56:12.735 - INFO: train/mse_loss: 0.0028936804235784913 +23-06-25 15:56:12.735 - INFO: epoch: 536 +23-06-25 15:56:12.735 - INFO: iters: 1342457 +23-06-25 15:59:05.783 - INFO: train/mse_loss: 0.0030154586822083132 +23-06-25 15:59:05.784 - INFO: epoch: 537 +23-06-25 15:59:05.784 - INFO: iters: 1344961 +23-06-25 16:01:53.807 - INFO: train/mse_loss: 0.00299607725931516 +23-06-25 16:01:53.809 - INFO: epoch: 538 +23-06-25 16:01:53.809 - INFO: iters: 1347465 +23-06-25 16:04:41.434 - INFO: train/mse_loss: 0.0029534041920986276 +23-06-25 16:04:41.434 - INFO: epoch: 539 +23-06-25 16:04:41.434 - INFO: iters: 1349969 +23-06-25 16:07:29.082 - INFO: train/mse_loss: 0.003010770877095731 +23-06-25 16:07:29.082 - INFO: epoch: 540 +23-06-25 16:07:29.082 - INFO: iters: 1352473 +23-06-25 16:10:16.575 - INFO: train/mse_loss: 0.003080184931848972 +23-06-25 16:10:16.576 - INFO: epoch: 541 +23-06-25 16:10:16.576 - INFO: iters: 1354977 +23-06-25 16:13:04.308 - INFO: train/mse_loss: 0.00311652461911876 +23-06-25 16:13:04.308 - INFO: epoch: 542 +23-06-25 16:13:04.309 - INFO: iters: 1357481 +23-06-25 16:15:51.602 - INFO: train/mse_loss: 0.003128921213082243 +23-06-25 16:15:51.602 - INFO: epoch: 543 +23-06-25 16:15:51.602 - INFO: iters: 1359985 +23-06-25 16:18:39.297 - INFO: train/mse_loss: 0.002721515770729322 +23-06-25 16:18:39.298 - INFO: epoch: 544 +23-06-25 16:18:39.298 - INFO: iters: 1362489 +23-06-25 16:21:27.096 - INFO: train/mse_loss: 0.003085881553459377 +23-06-25 16:21:27.096 - INFO: epoch: 545 +23-06-25 16:21:27.097 - INFO: iters: 1364993 +23-06-25 16:24:14.684 - INFO: train/mse_loss: 0.002913831399914365 +23-06-25 16:24:14.684 - INFO: epoch: 546 +23-06-25 16:24:14.684 - INFO: iters: 1367497 +23-06-25 16:27:02.270 - INFO: train/mse_loss: 0.0029442821498796607 +23-06-25 16:27:02.270 - INFO: epoch: 547 +23-06-25 16:27:02.271 - INFO: iters: 1370001 +23-06-25 16:29:49.559 - INFO: train/mse_loss: 0.0033933102348878883 +23-06-25 16:29:49.560 - INFO: epoch: 548 +23-06-25 16:29:49.560 - INFO: iters: 1372505 +23-06-25 16:32:37.143 - INFO: train/mse_loss: 0.003353382317206492 +23-06-25 16:32:37.143 - INFO: epoch: 549 +23-06-25 16:32:37.144 - INFO: iters: 1375009 +23-06-25 16:35:24.572 - INFO: train/mse_loss: 0.002877709862311927 +23-06-25 16:35:24.573 - INFO: epoch: 550 +23-06-25 16:35:24.573 - INFO: iters: 1377513 +23-06-25 16:38:12.265 - INFO: train/mse_loss: 0.0029006338183256313 +23-06-25 16:38:12.266 - INFO: epoch: 551 +23-06-25 16:38:12.266 - INFO: iters: 1380017 +23-06-25 16:40:59.786 - INFO: train/mse_loss: 0.0029599428137454887 +23-06-25 16:40:59.787 - INFO: epoch: 552 +23-06-25 16:40:59.787 - INFO: iters: 1382521 +23-06-25 16:43:47.300 - INFO: train/mse_loss: 0.002820090043355529 +23-06-25 16:43:47.301 - INFO: epoch: 553 +23-06-25 16:43:47.301 - INFO: iters: 1385025 +23-06-25 16:46:34.768 - INFO: train/mse_loss: 0.0027245124366830666 +23-06-25 16:46:34.768 - INFO: epoch: 554 +23-06-25 16:46:34.769 - INFO: iters: 1387529 +23-06-25 16:49:23.153 - INFO: train/mse_loss: 0.003066622794564135 +23-06-25 16:49:23.154 - INFO: epoch: 555 +23-06-25 16:49:23.154 - INFO: iters: 1390033 +23-06-25 16:52:12.711 - INFO: train/mse_loss: 0.0031079618976609154 +23-06-25 16:52:12.712 - INFO: epoch: 556 +23-06-25 16:52:12.712 - INFO: iters: 1392537 +23-06-25 16:55:00.647 - INFO: train/mse_loss: 0.0032315049402284832 +23-06-25 16:55:00.647 - INFO: epoch: 557 +23-06-25 16:55:00.647 - INFO: iters: 1395041 +23-06-25 16:57:48.161 - INFO: train/mse_loss: 0.003069101059556412 +23-06-25 16:57:48.162 - INFO: epoch: 558 +23-06-25 16:57:48.162 - INFO: iters: 1397545 +23-06-25 17:00:35.930 - INFO: train/mse_loss: 0.002887258171877517 +23-06-25 17:00:35.930 - INFO: epoch: 559 +23-06-25 17:00:35.930 - INFO: iters: 1400049 +23-06-25 17:03:23.424 - INFO: train/mse_loss: 0.003041822549934609 +23-06-25 17:03:23.424 - INFO: epoch: 560 +23-06-25 17:03:23.424 - INFO: iters: 1402553 +23-06-25 17:06:11.235 - INFO: train/mse_loss: 0.0030231162367876582 +23-06-25 17:06:11.236 - INFO: epoch: 561 +23-06-25 17:06:11.236 - INFO: iters: 1405057 +23-06-25 17:09:00.450 - INFO: train/mse_loss: 0.0034641476285557585 +23-06-25 17:09:00.450 - INFO: epoch: 562 +23-06-25 17:09:00.450 - INFO: iters: 1407561 +23-06-25 17:11:48.473 - INFO: train/mse_loss: 0.0030328658167287684 +23-06-25 17:11:48.475 - INFO: epoch: 563 +23-06-25 17:11:48.475 - INFO: iters: 1410065 +23-06-25 17:14:36.983 - INFO: train/mse_loss: 0.002918185635704916 +23-06-25 17:14:36.983 - INFO: epoch: 564 +23-06-25 17:14:36.983 - INFO: iters: 1412569 +23-06-25 17:17:24.392 - INFO: train/mse_loss: 0.0031239036935569045 +23-06-25 17:17:24.392 - INFO: epoch: 565 +23-06-25 17:17:24.393 - INFO: iters: 1415073 +23-06-25 17:20:11.822 - INFO: train/mse_loss: 0.0030292205842800987 +23-06-25 17:20:11.822 - INFO: epoch: 566 +23-06-25 17:20:11.822 - INFO: iters: 1417577 +23-06-25 17:22:59.355 - INFO: train/mse_loss: 0.0026503851943717785 +23-06-25 17:22:59.356 - INFO: epoch: 567 +23-06-25 17:22:59.356 - INFO: iters: 1420081 +23-06-25 17:25:47.737 - INFO: train/mse_loss: 0.0027370212178233974 +23-06-25 17:25:47.738 - INFO: epoch: 568 +23-06-25 17:25:47.738 - INFO: iters: 1422585 +23-06-25 17:28:35.948 - INFO: train/mse_loss: 0.003067578376529697 +23-06-25 17:28:35.949 - INFO: epoch: 569 +23-06-25 17:28:35.949 - INFO: iters: 1425089 +23-06-25 17:31:24.108 - INFO: train/mse_loss: 0.003090944002046229 +23-06-25 17:31:24.109 - INFO: epoch: 570 +23-06-25 17:31:24.109 - INFO: iters: 1427593 +23-06-25 17:34:11.648 - INFO: train/mse_loss: 0.00310083729818987 +23-06-25 17:34:11.649 - INFO: epoch: 571 +23-06-25 17:34:11.649 - INFO: iters: 1430097 +23-06-25 17:36:59.329 - INFO: train/mse_loss: 0.00305267948264512 +23-06-25 17:36:59.329 - INFO: epoch: 572 +23-06-25 17:36:59.329 - INFO: iters: 1432601 +23-06-25 17:39:46.928 - INFO: train/mse_loss: 0.003004229530474891 +23-06-25 17:39:46.929 - INFO: epoch: 573 +23-06-25 17:39:46.929 - INFO: iters: 1435105 +23-06-25 17:42:34.814 - INFO: train/mse_loss: 0.003017372382170976 +23-06-25 17:42:34.814 - INFO: epoch: 574 +23-06-25 17:42:34.814 - INFO: iters: 1437609 +23-06-25 17:45:22.653 - INFO: train/mse_loss: 0.0030928386424403315 +23-06-25 17:45:22.653 - INFO: epoch: 575 +23-06-25 17:45:22.653 - INFO: iters: 1440113 +23-06-25 17:48:10.800 - INFO: train/mse_loss: 0.002867812468200184 +23-06-25 17:48:10.801 - INFO: epoch: 576 +23-06-25 17:48:10.801 - INFO: iters: 1442617 +23-06-25 17:50:59.131 - INFO: train/mse_loss: 0.003003316734301539 +23-06-25 17:50:59.131 - INFO: epoch: 577 +23-06-25 17:50:59.132 - INFO: iters: 1445121 +23-06-25 17:53:47.097 - INFO: train/mse_loss: 0.0030043128578099436 +23-06-25 17:53:47.098 - INFO: epoch: 578 +23-06-25 17:53:47.098 - INFO: iters: 1447625 +23-06-25 17:56:34.862 - INFO: train/mse_loss: 0.003077109317152431 +23-06-25 17:56:34.863 - INFO: epoch: 579 +23-06-25 17:56:34.863 - INFO: iters: 1450129 +23-06-25 17:59:23.216 - INFO: train/mse_loss: 0.0027364316813353177 +23-06-25 17:59:23.217 - INFO: epoch: 580 +23-06-25 17:59:23.217 - INFO: iters: 1452633 +23-06-25 18:02:10.940 - INFO: train/mse_loss: 0.0026762029241633634 +23-06-25 18:02:10.941 - INFO: epoch: 581 +23-06-25 18:02:10.941 - INFO: iters: 1455137 +23-06-25 18:04:59.389 - INFO: train/mse_loss: 0.0032209683445463782 +23-06-25 18:04:59.390 - INFO: epoch: 582 +23-06-25 18:04:59.390 - INFO: iters: 1457641 +23-06-25 18:07:47.196 - INFO: train/mse_loss: 0.0030195376160331426 +23-06-25 18:07:47.197 - INFO: epoch: 583 +23-06-25 18:07:47.197 - INFO: iters: 1460145 +23-06-25 18:10:34.767 - INFO: train/mse_loss: 0.002874837733787327 +23-06-25 18:10:34.767 - INFO: epoch: 584 +23-06-25 18:10:34.768 - INFO: iters: 1462649 +23-06-25 18:13:22.366 - INFO: train/mse_loss: 0.003434559436345372 +23-06-25 18:13:22.366 - INFO: epoch: 585 +23-06-25 18:13:22.366 - INFO: iters: 1465153 +23-06-25 18:16:09.838 - INFO: train/mse_loss: 0.0028619275303013005 +23-06-25 18:16:09.839 - INFO: epoch: 586 +23-06-25 18:16:09.839 - INFO: iters: 1467657 +23-06-25 18:18:57.544 - INFO: train/mse_loss: 0.002579243080251621 +23-06-25 18:18:57.545 - INFO: epoch: 587 +23-06-25 18:18:57.545 - INFO: iters: 1470161 +23-06-25 18:21:45.209 - INFO: train/mse_loss: 0.0027341886240164763 +23-06-25 18:21:45.210 - INFO: epoch: 588 +23-06-25 18:21:45.210 - INFO: iters: 1472665 +23-06-25 18:24:33.070 - INFO: train/mse_loss: 0.002749491325087143 +23-06-25 18:24:33.071 - INFO: epoch: 589 +23-06-25 18:24:33.071 - INFO: iters: 1475169 +23-06-25 18:27:20.874 - INFO: train/mse_loss: 0.0027370790087323364 +23-06-25 18:27:20.875 - INFO: epoch: 590 +23-06-25 18:27:20.875 - INFO: iters: 1477673 +23-06-25 18:30:08.749 - INFO: train/mse_loss: 0.00266227119742854 +23-06-25 18:30:08.749 - INFO: epoch: 591 +23-06-25 18:30:08.749 - INFO: iters: 1480177 +23-06-25 18:32:56.201 - INFO: train/mse_loss: 0.003573026900111248 +23-06-25 18:32:56.202 - INFO: epoch: 592 +23-06-25 18:32:56.204 - INFO: iters: 1482681 +23-06-25 18:35:44.421 - INFO: train/mse_loss: 0.0027376134089899425 +23-06-25 18:35:44.422 - INFO: epoch: 593 +23-06-25 18:35:44.422 - INFO: iters: 1485185 +23-06-25 18:38:32.052 - INFO: train/mse_loss: 0.003162538346361381 +23-06-25 18:38:32.053 - INFO: epoch: 594 +23-06-25 18:38:32.053 - INFO: iters: 1487689 +23-06-25 18:41:19.716 - INFO: train/mse_loss: 0.002874014113982098 +23-06-25 18:41:19.716 - INFO: epoch: 595 +23-06-25 18:41:19.717 - INFO: iters: 1490193 +23-06-25 18:44:07.378 - INFO: train/mse_loss: 0.002811430782725374 +23-06-25 18:44:07.378 - INFO: epoch: 596 +23-06-25 18:44:07.379 - INFO: iters: 1492697 +23-06-25 18:46:55.081 - INFO: train/mse_loss: 0.002778068444648454 +23-06-25 18:46:55.082 - INFO: epoch: 597 +23-06-25 18:46:55.082 - INFO: iters: 1495201 +23-06-25 18:49:42.783 - INFO: train/mse_loss: 0.0027726081773838084 +23-06-25 18:49:42.784 - INFO: epoch: 598 +23-06-25 18:49:42.784 - INFO: iters: 1497705 +23-06-25 18:52:30.460 - INFO: train/mse_loss: 0.002819275896707639 +23-06-25 18:52:30.460 - INFO: epoch: 599 +23-06-25 18:52:30.461 - INFO: iters: 1500209 +23-06-25 18:55:18.030 - INFO: train/mse_loss: 0.0026930003365971886 +23-06-25 18:55:18.030 - INFO: epoch: 600 +23-06-25 18:55:18.030 - INFO: iters: 1502713 +23-06-25 18:58:05.683 - INFO: train/mse_loss: 0.002736665574966159 +23-06-25 18:58:05.683 - INFO: epoch: 601 +23-06-25 18:58:05.683 - INFO: iters: 1505217 +23-06-25 19:00:53.554 - INFO: train/mse_loss: 0.002826418268669861 +23-06-25 19:00:53.554 - INFO: epoch: 602 +23-06-25 19:00:53.555 - INFO: iters: 1507721 +23-06-25 19:03:41.219 - INFO: train/mse_loss: 0.0027512104167549396 +23-06-25 19:03:41.219 - INFO: epoch: 603 +23-06-25 19:03:41.220 - INFO: iters: 1510225 +23-06-25 19:06:28.904 - INFO: train/mse_loss: 0.002691776988233407 +23-06-25 19:06:28.905 - INFO: epoch: 604 +23-06-25 19:06:28.905 - INFO: iters: 1512729 +23-06-25 19:09:19.834 - INFO: train/mse_loss: 0.0033388446087386616 +23-06-25 19:09:19.834 - INFO: epoch: 605 +23-06-25 19:09:19.835 - INFO: iters: 1515233 +23-06-25 19:12:07.680 - INFO: train/mse_loss: 0.0027776261493667794 +23-06-25 19:12:07.681 - INFO: epoch: 606 +23-06-25 19:12:07.681 - INFO: iters: 1517737 +23-06-25 19:14:55.456 - INFO: train/mse_loss: 0.0027394355871690848 +23-06-25 19:14:55.457 - INFO: epoch: 607 +23-06-25 19:14:55.457 - INFO: iters: 1520241 +23-06-25 19:17:42.985 - INFO: train/mse_loss: 0.002572760020141689 +23-06-25 19:17:42.985 - INFO: epoch: 608 +23-06-25 19:17:42.985 - INFO: iters: 1522745 +23-06-25 19:20:30.241 - INFO: train/mse_loss: 0.0030217072130523073 +23-06-25 19:20:30.241 - INFO: epoch: 609 +23-06-25 19:20:30.242 - INFO: iters: 1525249 +23-06-25 19:23:17.544 - INFO: train/mse_loss: 0.002818323986845823 +23-06-25 19:23:17.544 - INFO: epoch: 610 +23-06-25 19:23:17.545 - INFO: iters: 1527753 +23-06-25 19:26:05.701 - INFO: train/mse_loss: 0.002805735314296136 +23-06-25 19:26:05.702 - INFO: epoch: 611 +23-06-25 19:26:05.702 - INFO: iters: 1530257 +23-06-25 19:28:54.561 - INFO: train/mse_loss: 0.0028373620261961875 +23-06-25 19:28:54.561 - INFO: epoch: 612 +23-06-25 19:28:54.562 - INFO: iters: 1532761 +23-06-25 19:31:45.366 - INFO: train/mse_loss: 0.0027738722586504424 +23-06-25 19:31:45.367 - INFO: epoch: 613 +23-06-25 19:31:45.367 - INFO: iters: 1535265 +23-06-25 19:34:32.940 - INFO: train/mse_loss: 0.0026128125528004555 +23-06-25 19:34:32.941 - INFO: epoch: 614 +23-06-25 19:34:32.941 - INFO: iters: 1537769 +23-06-25 19:37:20.317 - INFO: train/mse_loss: 0.0031099390196123013 +23-06-25 19:37:20.318 - INFO: epoch: 615 +23-06-25 19:37:20.318 - INFO: iters: 1540273 +23-06-25 19:40:07.930 - INFO: train/mse_loss: 0.002765524923948708 +23-06-25 19:40:07.931 - INFO: epoch: 616 +23-06-25 19:40:07.931 - INFO: iters: 1542777 +23-06-25 19:42:55.900 - INFO: train/mse_loss: 0.003010865421586346 +23-06-25 19:42:55.901 - INFO: epoch: 617 +23-06-25 19:42:55.901 - INFO: iters: 1545281 +23-06-25 19:45:44.446 - INFO: train/mse_loss: 0.0031297425572096873 +23-06-25 19:45:44.447 - INFO: epoch: 618 +23-06-25 19:45:44.447 - INFO: iters: 1547785 +23-06-25 19:48:33.154 - INFO: train/mse_loss: 0.0027543854869577808 +23-06-25 19:48:33.155 - INFO: epoch: 619 +23-06-25 19:48:33.155 - INFO: iters: 1550289 +23-06-25 19:51:20.791 - INFO: train/mse_loss: 0.002707391570228488 +23-06-25 19:51:20.792 - INFO: epoch: 620 +23-06-25 19:51:20.792 - INFO: iters: 1552793 +23-06-25 19:54:08.702 - INFO: train/mse_loss: 0.0028944672873844734 +23-06-25 19:54:08.702 - INFO: epoch: 621 +23-06-25 19:54:08.702 - INFO: iters: 1555297 +23-06-25 19:56:56.170 - INFO: train/mse_loss: 0.0026265694573819162 +23-06-25 19:56:56.171 - INFO: epoch: 622 +23-06-25 19:56:56.171 - INFO: iters: 1557801 +23-06-25 19:59:43.969 - INFO: train/mse_loss: 0.0026182101532882347 +23-06-25 19:59:43.971 - INFO: epoch: 623 +23-06-25 19:59:43.971 - INFO: iters: 1560305 +23-06-25 20:02:31.947 - INFO: train/mse_loss: 0.0027634235212025933 +23-06-25 20:02:31.948 - INFO: epoch: 624 +23-06-25 20:02:31.948 - INFO: iters: 1562809 +23-06-25 20:05:19.701 - INFO: train/mse_loss: 0.002874047018977376 +23-06-25 20:05:19.702 - INFO: epoch: 625 +23-06-25 20:05:19.702 - INFO: iters: 1565313 +23-06-25 20:08:07.113 - INFO: train/mse_loss: 0.002736564759855358 +23-06-25 20:08:07.113 - INFO: epoch: 626 +23-06-25 20:08:07.113 - INFO: iters: 1567817 +23-06-25 20:10:54.780 - INFO: train/mse_loss: 0.002800152001429361 +23-06-25 20:10:54.781 - INFO: epoch: 627 +23-06-25 20:10:54.781 - INFO: iters: 1570321 +23-06-25 20:13:42.416 - INFO: train/mse_loss: 0.0028715211592730693 +23-06-25 20:13:42.417 - INFO: epoch: 628 +23-06-25 20:13:42.417 - INFO: iters: 1572825 +23-06-25 20:16:29.930 - INFO: train/mse_loss: 0.002924624947271646 +23-06-25 20:16:29.931 - INFO: epoch: 629 +23-06-25 20:16:29.931 - INFO: iters: 1575329 +23-06-25 20:19:17.525 - INFO: train/mse_loss: 0.00270370677479516 +23-06-25 20:19:17.525 - INFO: epoch: 630 +23-06-25 20:19:17.525 - INFO: iters: 1577833 +23-06-25 20:22:05.861 - INFO: train/mse_loss: 0.002519821185029496 +23-06-25 20:22:05.861 - INFO: epoch: 631 +23-06-25 20:22:05.861 - INFO: iters: 1580337 +23-06-25 20:24:53.618 - INFO: train/mse_loss: 0.0027141869901277766 +23-06-25 20:24:53.618 - INFO: epoch: 632 +23-06-25 20:24:53.618 - INFO: iters: 1582841 +23-06-25 20:27:41.157 - INFO: train/mse_loss: 0.0025414654714674256 +23-06-25 20:27:41.158 - INFO: epoch: 633 +23-06-25 20:27:41.158 - INFO: iters: 1585345 +23-06-25 20:30:28.768 - INFO: train/mse_loss: 0.0026337267279017943 +23-06-25 20:30:28.768 - INFO: epoch: 634 +23-06-25 20:30:28.768 - INFO: iters: 1587849 +23-06-25 20:33:16.037 - INFO: train/mse_loss: 0.0026308760359755362 +23-06-25 20:33:16.037 - INFO: epoch: 635 +23-06-25 20:33:16.037 - INFO: iters: 1590353 +23-06-25 20:36:04.391 - INFO: train/mse_loss: 0.0027525033956146638 +23-06-25 20:36:04.392 - INFO: epoch: 636 +23-06-25 20:36:04.392 - INFO: iters: 1592857 +23-06-25 20:38:52.465 - INFO: train/mse_loss: 0.0034776588663095816 +23-06-25 20:38:52.466 - INFO: epoch: 637 +23-06-25 20:38:52.466 - INFO: iters: 1595361 +23-06-25 20:41:40.328 - INFO: train/mse_loss: 0.0026756892685210125 +23-06-25 20:41:40.328 - INFO: epoch: 638 +23-06-25 20:41:40.329 - INFO: iters: 1597865 +23-06-25 20:44:28.078 - INFO: train/mse_loss: 0.0027271299803340895 +23-06-25 20:44:28.078 - INFO: epoch: 639 +23-06-25 20:44:28.078 - INFO: iters: 1600369 +23-06-25 20:47:15.762 - INFO: train/mse_loss: 0.0025630722829578117 +23-06-25 20:47:15.762 - INFO: epoch: 640 +23-06-25 20:47:15.762 - INFO: iters: 1602873 +23-06-25 20:50:04.112 - INFO: train/mse_loss: 0.002674175338773503 +23-06-25 20:50:04.112 - INFO: epoch: 641 +23-06-25 20:50:04.112 - INFO: iters: 1605377 +23-06-25 20:52:51.843 - INFO: train/mse_loss: 0.0025697694466517754 +23-06-25 20:52:51.843 - INFO: epoch: 642 +23-06-25 20:52:51.843 - INFO: iters: 1607881 +23-06-25 20:55:39.432 - INFO: train/mse_loss: 0.002854630717049582 +23-06-25 20:55:39.433 - INFO: epoch: 643 +23-06-25 20:55:39.433 - INFO: iters: 1610385 +23-06-25 20:58:28.724 - INFO: train/mse_loss: 0.002835980153080231 +23-06-25 20:58:28.724 - INFO: epoch: 644 +23-06-25 20:58:28.724 - INFO: iters: 1612889 +23-06-25 21:01:16.770 - INFO: train/mse_loss: 0.00305752965347163 +23-06-25 21:01:16.771 - INFO: epoch: 645 +23-06-25 21:01:16.772 - INFO: iters: 1615393 +23-06-25 21:04:05.738 - INFO: train/mse_loss: 0.0026815139856665566 +23-06-25 21:04:05.739 - INFO: epoch: 646 +23-06-25 21:04:05.739 - INFO: iters: 1617897 +23-06-25 21:06:53.557 - INFO: train/mse_loss: 0.0025065644412114027 +23-06-25 21:06:53.557 - INFO: epoch: 647 +23-06-25 21:06:53.557 - INFO: iters: 1620401 +23-06-25 21:09:42.288 - INFO: train/mse_loss: 0.0028589390022620655 +23-06-25 21:09:42.288 - INFO: epoch: 648 +23-06-25 21:09:42.288 - INFO: iters: 1622905 +23-06-25 21:12:29.713 - INFO: train/mse_loss: 0.00259554169766349 +23-06-25 21:12:29.714 - INFO: epoch: 649 +23-06-25 21:12:29.714 - INFO: iters: 1625409 +23-06-25 21:15:17.441 - INFO: train/mse_loss: 0.00260595947867795 +23-06-25 21:15:17.442 - INFO: epoch: 650 +23-06-25 21:15:17.442 - INFO: iters: 1627913 +23-06-25 21:18:05.680 - INFO: train/mse_loss: 0.0027919679122512787 +23-06-25 21:18:05.681 - INFO: epoch: 651 +23-06-25 21:18:05.681 - INFO: iters: 1630417 +23-06-25 21:20:53.252 - INFO: train/mse_loss: 0.0025496326813536784 +23-06-25 21:20:53.252 - INFO: epoch: 652 +23-06-25 21:20:53.252 - INFO: iters: 1632921 +23-06-25 21:23:40.820 - INFO: train/mse_loss: 0.0026631074843737786 +23-06-25 21:23:40.820 - INFO: epoch: 653 +23-06-25 21:23:40.820 - INFO: iters: 1635425 +23-06-25 21:26:28.589 - INFO: train/mse_loss: 0.002697797034853718 +23-06-25 21:26:28.590 - INFO: epoch: 654 +23-06-25 21:26:28.590 - INFO: iters: 1637929 +23-06-25 21:29:16.117 - INFO: train/mse_loss: 0.002579339301420417 +23-06-25 21:29:16.117 - INFO: epoch: 655 +23-06-25 21:29:16.117 - INFO: iters: 1640433 +23-06-25 21:32:04.244 - INFO: train/mse_loss: 0.00269250266407185 +23-06-25 21:32:04.245 - INFO: epoch: 656 +23-06-25 21:32:04.245 - INFO: iters: 1642937 +23-06-25 21:34:51.611 - INFO: train/mse_loss: 0.002635234278982309 +23-06-25 21:34:51.611 - INFO: epoch: 657 +23-06-25 21:34:51.611 - INFO: iters: 1645441 +23-06-25 21:37:39.020 - INFO: train/mse_loss: 0.002424094123399843 +23-06-25 21:37:39.021 - INFO: epoch: 658 +23-06-25 21:37:39.021 - INFO: iters: 1647945 +23-06-25 21:40:26.854 - INFO: train/mse_loss: 0.0029121710323377517 +23-06-25 21:40:26.855 - INFO: epoch: 659 +23-06-25 21:40:26.855 - INFO: iters: 1650449 +23-06-25 21:43:14.352 - INFO: train/mse_loss: 0.0026712331711835325 +23-06-25 21:43:14.353 - INFO: epoch: 660 +23-06-25 21:43:14.353 - INFO: iters: 1652953 +23-06-25 21:46:01.895 - INFO: train/mse_loss: 0.0026164790952039624 +23-06-25 21:46:01.896 - INFO: epoch: 661 +23-06-25 21:46:01.896 - INFO: iters: 1655457 +23-06-25 21:48:49.369 - INFO: train/mse_loss: 0.0028935641994307076 +23-06-25 21:48:49.370 - INFO: epoch: 662 +23-06-25 21:48:49.370 - INFO: iters: 1657961 +23-06-25 21:51:36.869 - INFO: train/mse_loss: 0.0026564004201703843 +23-06-25 21:51:36.870 - INFO: epoch: 663 +23-06-25 21:51:36.870 - INFO: iters: 1660465 +23-06-25 21:54:24.620 - INFO: train/mse_loss: 0.0026781761819071256 +23-06-25 21:54:24.620 - INFO: epoch: 664 +23-06-25 21:54:24.620 - INFO: iters: 1662969 +23-06-25 21:57:12.449 - INFO: train/mse_loss: 0.0027433313290252327 +23-06-25 21:57:12.449 - INFO: epoch: 665 +23-06-25 21:57:12.450 - INFO: iters: 1665473 +23-06-25 21:59:59.875 - INFO: train/mse_loss: 0.0028982116729571535 +23-06-25 21:59:59.876 - INFO: epoch: 666 +23-06-25 21:59:59.876 - INFO: iters: 1667977 +23-06-25 22:02:47.419 - INFO: train/mse_loss: 0.00273533866122609 +23-06-25 22:02:47.420 - INFO: epoch: 667 +23-06-25 22:02:47.420 - INFO: iters: 1670481 +23-06-25 22:05:35.131 - INFO: train/mse_loss: 0.002463769640389699 +23-06-25 22:05:35.131 - INFO: epoch: 668 +23-06-25 22:05:35.132 - INFO: iters: 1672985 +23-06-25 22:08:22.970 - INFO: train/mse_loss: 0.0026694306776079294 +23-06-25 22:08:22.970 - INFO: epoch: 669 +23-06-25 22:08:22.970 - INFO: iters: 1675489 +23-06-25 22:11:10.453 - INFO: train/mse_loss: 0.002682856836589797 +23-06-25 22:11:10.453 - INFO: epoch: 670 +23-06-25 22:11:10.453 - INFO: iters: 1677993 +23-06-25 22:13:58.327 - INFO: train/mse_loss: 0.0027287266147992435 +23-06-25 22:13:58.327 - INFO: epoch: 671 +23-06-25 22:13:58.327 - INFO: iters: 1680497 +23-06-25 22:16:45.958 - INFO: train/mse_loss: 0.0024954189601080557 +23-06-25 22:16:45.958 - INFO: epoch: 672 +23-06-25 22:16:45.958 - INFO: iters: 1683001 +23-06-25 22:19:33.573 - INFO: train/mse_loss: 0.0027214726619124887 +23-06-25 22:19:33.573 - INFO: epoch: 673 +23-06-25 22:19:33.573 - INFO: iters: 1685505 +23-06-25 22:22:21.110 - INFO: train/mse_loss: 0.002891143188274766 +23-06-25 22:22:21.111 - INFO: epoch: 674 +23-06-25 22:22:21.111 - INFO: iters: 1688009 +23-06-25 22:25:08.749 - INFO: train/mse_loss: 0.0026295495123941654 +23-06-25 22:25:08.750 - INFO: epoch: 675 +23-06-25 22:25:08.750 - INFO: iters: 1690513 +23-06-25 22:27:56.292 - INFO: train/mse_loss: 0.0026271008901646176 +23-06-25 22:27:56.292 - INFO: epoch: 676 +23-06-25 22:27:56.293 - INFO: iters: 1693017 +23-06-25 22:30:43.793 - INFO: train/mse_loss: 0.0027216825379094423 +23-06-25 22:30:43.794 - INFO: epoch: 677 +23-06-25 22:30:43.794 - INFO: iters: 1695521 +23-06-25 22:33:31.529 - INFO: train/mse_loss: 0.002625160204163327 +23-06-25 22:33:31.529 - INFO: epoch: 678 +23-06-25 22:33:31.529 - INFO: iters: 1698025 +23-06-25 22:36:19.301 - INFO: train/mse_loss: 0.003068742681125078 +23-06-25 22:36:19.302 - INFO: epoch: 679 +23-06-25 22:36:19.302 - INFO: iters: 1700529 +23-06-25 22:39:06.984 - INFO: train/mse_loss: 0.0027348959644417315 +23-06-25 22:39:06.985 - INFO: epoch: 680 +23-06-25 22:39:06.985 - INFO: iters: 1703033 +23-06-25 22:41:56.141 - INFO: train/mse_loss: 0.002533038587721523 +23-06-25 22:41:56.142 - INFO: epoch: 681 +23-06-25 22:41:56.142 - INFO: iters: 1705537 +23-06-25 22:44:44.396 - INFO: train/mse_loss: 0.0025787647508944684 +23-06-25 22:44:44.397 - INFO: epoch: 682 +23-06-25 22:44:44.397 - INFO: iters: 1708041 +23-06-25 22:47:31.920 - INFO: train/mse_loss: 0.0025977852267805284 +23-06-25 22:47:31.921 - INFO: epoch: 683 +23-06-25 22:47:31.921 - INFO: iters: 1710545 +23-06-25 22:50:19.651 - INFO: train/mse_loss: 0.0025317708159404134 +23-06-25 22:50:19.652 - INFO: epoch: 684 +23-06-25 22:50:19.652 - INFO: iters: 1713049 +23-06-25 22:53:07.251 - INFO: train/mse_loss: 0.0024528745024393612 +23-06-25 22:53:07.251 - INFO: epoch: 685 +23-06-25 22:53:07.252 - INFO: iters: 1715553 +23-06-25 22:55:55.169 - INFO: train/mse_loss: 0.002664783194597168 +23-06-25 22:55:55.170 - INFO: epoch: 686 +23-06-25 22:55:55.170 - INFO: iters: 1718057 +23-06-25 22:58:42.957 - INFO: train/mse_loss: 0.002575936031709321 +23-06-25 22:58:42.957 - INFO: epoch: 687 +23-06-25 22:58:42.957 - INFO: iters: 1720561 +23-06-25 23:01:31.153 - INFO: train/mse_loss: 0.002602679869003844 +23-06-25 23:01:31.153 - INFO: epoch: 688 +23-06-25 23:01:31.153 - INFO: iters: 1723065 +23-06-25 23:04:18.624 - INFO: train/mse_loss: 0.0031769800162799776 +23-06-25 23:04:18.625 - INFO: epoch: 689 +23-06-25 23:04:18.625 - INFO: iters: 1725569 +23-06-25 23:07:06.314 - INFO: train/mse_loss: 0.0027973301552114086 +23-06-25 23:07:06.315 - INFO: epoch: 690 +23-06-25 23:07:06.315 - INFO: iters: 1728073 +23-06-25 23:09:53.975 - INFO: train/mse_loss: 0.0027872157391360085 +23-06-25 23:09:53.976 - INFO: epoch: 691 +23-06-25 23:09:53.976 - INFO: iters: 1730577 +23-06-25 23:12:41.624 - INFO: train/mse_loss: 0.0025885796338801807 +23-06-25 23:12:41.625 - INFO: epoch: 692 +23-06-25 23:12:41.625 - INFO: iters: 1733081 +23-06-25 23:15:29.243 - INFO: train/mse_loss: 0.0024044140059420595 +23-06-25 23:15:29.244 - INFO: epoch: 693 +23-06-25 23:15:29.245 - INFO: iters: 1735585 +23-06-25 23:18:16.988 - INFO: train/mse_loss: 0.0024023826669949217 +23-06-25 23:18:16.989 - INFO: epoch: 694 +23-06-25 23:18:16.989 - INFO: iters: 1738089 +23-06-25 23:21:04.465 - INFO: train/mse_loss: 0.002503724263857503 +23-06-25 23:21:04.465 - INFO: epoch: 695 +23-06-25 23:21:04.465 - INFO: iters: 1740593 +23-06-25 23:23:52.054 - INFO: train/mse_loss: 0.002711746990070723 +23-06-25 23:23:52.054 - INFO: epoch: 696 +23-06-25 23:23:52.054 - INFO: iters: 1743097 +23-06-25 23:26:39.458 - INFO: train/mse_loss: 0.0028529573806945364 +23-06-25 23:26:39.458 - INFO: epoch: 697 +23-06-25 23:26:39.459 - INFO: iters: 1745601 +23-06-25 23:29:27.089 - INFO: train/mse_loss: 0.00263608557141621 +23-06-25 23:29:27.090 - INFO: epoch: 698 +23-06-25 23:29:27.090 - INFO: iters: 1748105 +23-06-25 23:32:14.790 - INFO: train/mse_loss: 0.003002399568276379 +23-06-25 23:32:14.790 - INFO: epoch: 699 +23-06-25 23:32:14.790 - INFO: iters: 1750609 +23-06-25 23:35:02.575 - INFO: train/mse_loss: 0.002698884215600158 +23-06-25 23:35:02.576 - INFO: epoch: 700 +23-06-25 23:35:02.576 - INFO: iters: 1753113 +23-06-25 23:37:50.334 - INFO: train/mse_loss: 0.002612144524304452 +23-06-25 23:37:50.335 - INFO: epoch: 701 +23-06-25 23:37:50.335 - INFO: iters: 1755617 +23-06-25 23:40:37.870 - INFO: train/mse_loss: 0.0026759707444040967 +23-06-25 23:40:37.871 - INFO: epoch: 702 +23-06-25 23:40:37.871 - INFO: iters: 1758121 +23-06-25 23:43:25.398 - INFO: train/mse_loss: 0.0025467152590863407 +23-06-25 23:43:25.398 - INFO: epoch: 703 +23-06-25 23:43:25.398 - INFO: iters: 1760625 +23-06-25 23:46:12.700 - INFO: train/mse_loss: 0.0025342560667818348 +23-06-25 23:46:12.701 - INFO: epoch: 704 +23-06-25 23:46:12.701 - INFO: iters: 1763129 +23-06-25 23:49:00.255 - INFO: train/mse_loss: 0.002779077614111582 +23-06-25 23:49:00.256 - INFO: epoch: 705 +23-06-25 23:49:00.256 - INFO: iters: 1765633 +23-06-25 23:51:48.012 - INFO: train/mse_loss: 0.002464851127013552 +23-06-25 23:51:48.013 - INFO: epoch: 706 +23-06-25 23:51:48.013 - INFO: iters: 1768137 +23-06-25 23:54:36.124 - INFO: train/mse_loss: 0.0024819288567562523 +23-06-25 23:54:36.125 - INFO: epoch: 707 +23-06-25 23:54:36.126 - INFO: iters: 1770641 +23-06-25 23:57:23.712 - INFO: train/mse_loss: 0.0026175327115162566 +23-06-25 23:57:23.712 - INFO: epoch: 708 +23-06-25 23:57:23.712 - INFO: iters: 1773145 +23-06-26 00:00:11.313 - INFO: train/mse_loss: 0.002553849549482044 +23-06-26 00:00:11.314 - INFO: epoch: 709 +23-06-26 00:00:11.314 - INFO: iters: 1775649 +23-06-26 00:02:58.996 - INFO: train/mse_loss: 0.0024860945324556303 +23-06-26 00:02:58.997 - INFO: epoch: 710 +23-06-26 00:02:58.997 - INFO: iters: 1778153 +23-06-26 00:05:46.796 - INFO: train/mse_loss: 0.0025772570841425 +23-06-26 00:05:46.797 - INFO: epoch: 711 +23-06-26 00:05:46.797 - INFO: iters: 1780657 +23-06-26 00:08:34.335 - INFO: train/mse_loss: 0.0023509731805234696 +23-06-26 00:08:34.335 - INFO: epoch: 712 +23-06-26 00:08:34.335 - INFO: iters: 1783161 +23-06-26 00:11:22.374 - INFO: train/mse_loss: 0.00280987873532848 +23-06-26 00:11:22.374 - INFO: epoch: 713 +23-06-26 00:11:22.374 - INFO: iters: 1785665 +23-06-26 00:14:10.019 - INFO: train/mse_loss: 0.002538733558875089 +23-06-26 00:14:10.020 - INFO: epoch: 714 +23-06-26 00:14:10.020 - INFO: iters: 1788169 +23-06-26 00:16:57.594 - INFO: train/mse_loss: 0.0023656741897471415 +23-06-26 00:16:57.595 - INFO: epoch: 715 +23-06-26 00:16:57.595 - INFO: iters: 1790673 +23-06-26 00:19:45.128 - INFO: train/mse_loss: 0.002463549639235218 +23-06-26 00:19:45.129 - INFO: epoch: 716 +23-06-26 00:19:45.129 - INFO: iters: 1793177 +23-06-26 00:22:32.998 - INFO: train/mse_loss: 0.002446487180913944 +23-06-26 00:22:32.998 - INFO: epoch: 717 +23-06-26 00:22:32.998 - INFO: iters: 1795681 +23-06-26 00:25:20.428 - INFO: train/mse_loss: 0.002724106593902547 +23-06-26 00:25:20.428 - INFO: epoch: 718 +23-06-26 00:25:20.429 - INFO: iters: 1798185 +23-06-26 00:28:08.264 - INFO: train/mse_loss: 0.002377708473379691 +23-06-26 00:28:08.264 - INFO: epoch: 719 +23-06-26 00:28:08.265 - INFO: iters: 1800689 +23-06-26 00:30:56.645 - INFO: train/mse_loss: 0.00267512285795521 +23-06-26 00:30:56.646 - INFO: epoch: 720 +23-06-26 00:30:56.646 - INFO: iters: 1803193 +23-06-26 00:33:45.684 - INFO: train/mse_loss: 0.00289089432114158 +23-06-26 00:33:45.685 - INFO: epoch: 721 +23-06-26 00:33:45.685 - INFO: iters: 1805697 +23-06-26 00:36:34.623 - INFO: train/mse_loss: 0.002689895560978332 +23-06-26 00:36:34.624 - INFO: epoch: 722 +23-06-26 00:36:34.624 - INFO: iters: 1808201 +23-06-26 00:39:22.593 - INFO: train/mse_loss: 0.0026010003008957085 +23-06-26 00:39:22.593 - INFO: epoch: 723 +23-06-26 00:39:22.594 - INFO: iters: 1810705 +23-06-26 00:42:10.341 - INFO: train/mse_loss: 0.0025326471443633185 +23-06-26 00:42:10.341 - INFO: epoch: 724 +23-06-26 00:42:10.342 - INFO: iters: 1813209 +23-06-26 00:44:57.819 - INFO: train/mse_loss: 0.002586259808653174 +23-06-26 00:44:57.819 - INFO: epoch: 725 +23-06-26 00:44:57.820 - INFO: iters: 1815713 +23-06-26 00:47:45.458 - INFO: train/mse_loss: 0.002500297901698183 +23-06-26 00:47:45.459 - INFO: epoch: 726 +23-06-26 00:47:45.459 - INFO: iters: 1818217 +23-06-26 00:50:33.117 - INFO: train/mse_loss: 0.0025912473017659287 +23-06-26 00:50:33.118 - INFO: epoch: 727 +23-06-26 00:50:33.118 - INFO: iters: 1820721 +23-06-26 00:53:20.460 - INFO: train/mse_loss: 0.0027691333042532086 +23-06-26 00:53:20.461 - INFO: epoch: 728 +23-06-26 00:53:20.461 - INFO: iters: 1823225 +23-06-26 00:56:09.700 - INFO: train/mse_loss: 0.00271632286482684 +23-06-26 00:56:09.701 - INFO: epoch: 729 +23-06-26 00:56:09.701 - INFO: iters: 1825729 +23-06-26 00:58:58.667 - INFO: train/mse_loss: 0.002388770880620962 +23-06-26 00:58:58.667 - INFO: epoch: 730 +23-06-26 00:58:58.667 - INFO: iters: 1828233 +23-06-26 01:01:46.709 - INFO: train/mse_loss: 0.0028381394374871645 +23-06-26 01:01:46.710 - INFO: epoch: 731 +23-06-26 01:01:46.710 - INFO: iters: 1830737 +23-06-26 01:04:34.601 - INFO: train/mse_loss: 0.002362265456698466 +23-06-26 01:04:34.601 - INFO: epoch: 732 +23-06-26 01:04:34.601 - INFO: iters: 1833241 +23-06-26 01:07:22.375 - INFO: train/mse_loss: 0.002443778518655787 +23-06-26 01:07:22.376 - INFO: epoch: 733 +23-06-26 01:07:22.376 - INFO: iters: 1835745 +23-06-26 01:10:10.195 - INFO: train/mse_loss: 0.0027068878253237506 +23-06-26 01:10:10.196 - INFO: epoch: 734 +23-06-26 01:10:10.196 - INFO: iters: 1838249 +23-06-26 01:12:57.535 - INFO: train/mse_loss: 0.0024877574178390205 +23-06-26 01:12:57.535 - INFO: epoch: 735 +23-06-26 01:12:57.536 - INFO: iters: 1840753 +23-06-26 01:15:45.510 - INFO: train/mse_loss: 0.002394657034743815 +23-06-26 01:15:45.511 - INFO: epoch: 736 +23-06-26 01:15:45.511 - INFO: iters: 1843257 +23-06-26 01:18:33.118 - INFO: train/mse_loss: 0.0022200465212745693 +23-06-26 01:18:33.118 - INFO: epoch: 737 +23-06-26 01:18:33.118 - INFO: iters: 1845761 +23-06-26 01:21:20.618 - INFO: train/mse_loss: 0.002423434437753948 +23-06-26 01:21:20.618 - INFO: epoch: 738 +23-06-26 01:21:20.618 - INFO: iters: 1848265 +23-06-26 01:24:08.071 - INFO: train/mse_loss: 0.002547329233121722 +23-06-26 01:24:08.071 - INFO: epoch: 739 +23-06-26 01:24:08.072 - INFO: iters: 1850769 +23-06-26 01:26:55.471 - INFO: train/mse_loss: 0.002560424215432566 +23-06-26 01:26:55.472 - INFO: epoch: 740 +23-06-26 01:26:55.472 - INFO: iters: 1853273 +23-06-26 01:29:43.223 - INFO: train/mse_loss: 0.0024679819235024743 +23-06-26 01:29:43.223 - INFO: epoch: 741 +23-06-26 01:29:43.224 - INFO: iters: 1855777 +23-06-26 01:32:30.846 - INFO: train/mse_loss: 0.002439817690778488 +23-06-26 01:32:30.847 - INFO: epoch: 742 +23-06-26 01:32:30.847 - INFO: iters: 1858281 +23-06-26 01:35:18.535 - INFO: train/mse_loss: 0.0025902341314094565 +23-06-26 01:35:18.535 - INFO: epoch: 743 +23-06-26 01:35:18.535 - INFO: iters: 1860785 +23-06-26 01:38:06.003 - INFO: train/mse_loss: 0.002790593275110038 +23-06-26 01:38:06.003 - INFO: epoch: 744 +23-06-26 01:38:06.003 - INFO: iters: 1863289 +23-06-26 01:40:53.618 - INFO: train/mse_loss: 0.0025590164131282594 +23-06-26 01:40:53.619 - INFO: epoch: 745 +23-06-26 01:40:53.619 - INFO: iters: 1865793 +23-06-26 01:43:41.273 - INFO: train/mse_loss: 0.0022529924476962573 +23-06-26 01:43:41.274 - INFO: epoch: 746 +23-06-26 01:43:41.274 - INFO: iters: 1868297 +23-06-26 01:46:29.005 - INFO: train/mse_loss: 0.00289326343598356 +23-06-26 01:46:29.006 - INFO: epoch: 747 +23-06-26 01:46:29.006 - INFO: iters: 1870801 +23-06-26 01:49:16.930 - INFO: train/mse_loss: 0.0025682756913447983 +23-06-26 01:49:16.931 - INFO: epoch: 748 +23-06-26 01:49:16.931 - INFO: iters: 1873305 +23-06-26 01:52:04.670 - INFO: train/mse_loss: 0.0024859476261757337 +23-06-26 01:52:04.670 - INFO: epoch: 749 +23-06-26 01:52:04.671 - INFO: iters: 1875809 +23-06-26 01:54:53.092 - INFO: train/mse_loss: 0.0024821219155743432 +23-06-26 01:54:53.093 - INFO: epoch: 750 +23-06-26 01:54:53.093 - INFO: iters: 1878313 +23-06-26 01:57:40.586 - INFO: train/mse_loss: 0.0027771119904978136 +23-06-26 01:57:40.587 - INFO: epoch: 751 +23-06-26 01:57:40.587 - INFO: iters: 1880817 +23-06-26 02:00:28.287 - INFO: train/mse_loss: 0.0028316828190905457 +23-06-26 02:00:28.287 - INFO: epoch: 752 +23-06-26 02:00:28.287 - INFO: iters: 1883321 +23-06-26 02:03:16.166 - INFO: train/mse_loss: 0.0025868519641140614 +23-06-26 02:03:16.166 - INFO: epoch: 753 +23-06-26 02:03:16.166 - INFO: iters: 1885825 +23-06-26 02:06:04.267 - INFO: train/mse_loss: 0.002450122811330167 +23-06-26 02:06:04.268 - INFO: epoch: 754 +23-06-26 02:06:04.268 - INFO: iters: 1888329 +23-06-26 02:08:52.009 - INFO: train/mse_loss: 0.002478251536823095 +23-06-26 02:08:52.010 - INFO: epoch: 755 +23-06-26 02:08:52.010 - INFO: iters: 1890833 +23-06-26 02:11:39.816 - INFO: train/mse_loss: 0.0023089825996188834 +23-06-26 02:11:39.816 - INFO: epoch: 756 +23-06-26 02:11:39.816 - INFO: iters: 1893337 +23-06-26 02:14:27.778 - INFO: train/mse_loss: 0.002431093328134023 +23-06-26 02:14:27.779 - INFO: epoch: 757 +23-06-26 02:14:27.779 - INFO: iters: 1895841 +23-06-26 02:17:15.513 - INFO: train/mse_loss: 0.002489774494235532 +23-06-26 02:17:15.513 - INFO: epoch: 758 +23-06-26 02:17:15.513 - INFO: iters: 1898345 +23-06-26 02:20:03.103 - INFO: train/mse_loss: 0.0023266517651303054 +23-06-26 02:20:03.104 - INFO: epoch: 759 +23-06-26 02:20:03.104 - INFO: iters: 1900849 +23-06-26 02:22:50.928 - INFO: train/mse_loss: 0.0024120009709938097 +23-06-26 02:22:50.928 - INFO: epoch: 760 +23-06-26 02:22:50.929 - INFO: iters: 1903353 +23-06-26 02:25:38.561 - INFO: train/mse_loss: 0.002407956976270952 +23-06-26 02:25:38.561 - INFO: epoch: 761 +23-06-26 02:25:38.561 - INFO: iters: 1905857 +23-06-26 02:28:26.417 - INFO: train/mse_loss: 0.0025646540584762733 +23-06-26 02:28:26.417 - INFO: epoch: 762 +23-06-26 02:28:26.417 - INFO: iters: 1908361 +23-06-26 02:31:14.077 - INFO: train/mse_loss: 0.0025659869452893803 +23-06-26 02:31:14.077 - INFO: epoch: 763 +23-06-26 02:31:14.078 - INFO: iters: 1910865 +23-06-26 02:34:01.682 - INFO: train/mse_loss: 0.0026335272894868742 +23-06-26 02:34:01.683 - INFO: epoch: 764 +23-06-26 02:34:01.683 - INFO: iters: 1913369 +23-06-26 02:36:49.171 - INFO: train/mse_loss: 0.0024173060274376465 +23-06-26 02:36:49.172 - INFO: epoch: 765 +23-06-26 02:36:49.172 - INFO: iters: 1915873 +23-06-26 02:39:36.653 - INFO: train/mse_loss: 0.0025796353227098864 +23-06-26 02:39:36.654 - INFO: epoch: 766 +23-06-26 02:39:36.654 - INFO: iters: 1918377 +23-06-26 02:42:24.428 - INFO: train/mse_loss: 0.002628453566466634 +23-06-26 02:42:24.429 - INFO: epoch: 767 +23-06-26 02:42:24.429 - INFO: iters: 1920881 +23-06-26 02:45:12.073 - INFO: train/mse_loss: 0.002491695036666807 +23-06-26 02:45:12.073 - INFO: epoch: 768 +23-06-26 02:45:12.074 - INFO: iters: 1923385 +23-06-26 02:47:59.885 - INFO: train/mse_loss: 0.002396856923736394 +23-06-26 02:47:59.886 - INFO: epoch: 769 +23-06-26 02:47:59.886 - INFO: iters: 1925889 +23-06-26 02:50:47.918 - INFO: train/mse_loss: 0.002528073602748779 +23-06-26 02:50:47.919 - INFO: epoch: 770 +23-06-26 02:50:47.919 - INFO: iters: 1928393 +23-06-26 02:53:35.769 - INFO: train/mse_loss: 0.002235892544926022 +23-06-26 02:53:35.770 - INFO: epoch: 771 +23-06-26 02:53:35.770 - INFO: iters: 1930897 +23-06-26 02:56:23.196 - INFO: train/mse_loss: 0.002225078982687868 +23-06-26 02:56:23.196 - INFO: epoch: 772 +23-06-26 02:56:23.196 - INFO: iters: 1933401 +23-06-26 02:59:10.598 - INFO: train/mse_loss: 0.002489361769375436 +23-06-26 02:59:10.598 - INFO: epoch: 773 +23-06-26 02:59:10.598 - INFO: iters: 1935905 +23-06-26 03:01:58.281 - INFO: train/mse_loss: 0.002348587903850221 +23-06-26 03:01:58.281 - INFO: epoch: 774 +23-06-26 03:01:58.281 - INFO: iters: 1938409 +23-06-26 03:04:45.873 - INFO: train/mse_loss: 0.0024009776370861706 +23-06-26 03:04:45.874 - INFO: epoch: 775 +23-06-26 03:04:45.874 - INFO: iters: 1940913 +23-06-26 03:07:33.372 - INFO: train/mse_loss: 0.002399847285037997 +23-06-26 03:07:33.373 - INFO: epoch: 776 +23-06-26 03:07:33.373 - INFO: iters: 1943417 +23-06-26 03:10:20.959 - INFO: train/mse_loss: 0.002283748542590918 +23-06-26 03:10:20.959 - INFO: epoch: 777 +23-06-26 03:10:20.959 - INFO: iters: 1945921 +23-06-26 03:13:08.757 - INFO: train/mse_loss: 0.0025709390003507892 +23-06-26 03:13:08.758 - INFO: epoch: 778 +23-06-26 03:13:08.758 - INFO: iters: 1948425 +23-06-26 03:15:56.710 - INFO: train/mse_loss: 0.002500583544543114 +23-06-26 03:15:56.711 - INFO: epoch: 779 +23-06-26 03:15:56.711 - INFO: iters: 1950929 +23-06-26 03:18:44.832 - INFO: train/mse_loss: 0.0027544824142431536 +23-06-26 03:18:44.832 - INFO: epoch: 780 +23-06-26 03:18:44.833 - INFO: iters: 1953433 +23-06-26 03:21:32.603 - INFO: train/mse_loss: 0.0023854318240020696 +23-06-26 03:21:32.603 - INFO: epoch: 781 +23-06-26 03:21:32.603 - INFO: iters: 1955937 +23-06-26 03:24:20.538 - INFO: train/mse_loss: 0.002455371609418846 +23-06-26 03:24:20.538 - INFO: epoch: 782 +23-06-26 03:24:20.538 - INFO: iters: 1958441 +23-06-26 03:27:08.375 - INFO: train/mse_loss: 0.0022159438656892973 +23-06-26 03:27:08.376 - INFO: epoch: 783 +23-06-26 03:27:08.376 - INFO: iters: 1960945 +23-06-26 03:29:56.345 - INFO: train/mse_loss: 0.0022145098357196575 +23-06-26 03:29:56.346 - INFO: epoch: 784 +23-06-26 03:29:56.346 - INFO: iters: 1963449 +23-06-26 03:32:44.692 - INFO: train/mse_loss: 0.0025624417649290432 +23-06-26 03:32:44.693 - INFO: epoch: 785 +23-06-26 03:32:44.693 - INFO: iters: 1965953 +23-06-26 03:35:32.193 - INFO: train/mse_loss: 0.002357756347803119 +23-06-26 03:35:32.194 - INFO: epoch: 786 +23-06-26 03:35:32.194 - INFO: iters: 1968457 +23-06-26 03:38:19.724 - INFO: train/mse_loss: 0.002485990744476882 +23-06-26 03:38:19.725 - INFO: epoch: 787 +23-06-26 03:38:19.725 - INFO: iters: 1970961 +23-06-26 03:41:07.440 - INFO: train/mse_loss: 0.002315580156057502 +23-06-26 03:41:07.441 - INFO: epoch: 788 +23-06-26 03:41:07.441 - INFO: iters: 1973465 +23-06-26 03:43:55.124 - INFO: train/mse_loss: 0.0026045539537251305 +23-06-26 03:43:55.125 - INFO: epoch: 789 +23-06-26 03:43:55.125 - INFO: iters: 1975969 +23-06-26 03:46:42.627 - INFO: train/mse_loss: 0.0025791809780704683 +23-06-26 03:46:42.628 - INFO: epoch: 790 +23-06-26 03:46:42.628 - INFO: iters: 1978473 +23-06-26 03:49:30.395 - INFO: train/mse_loss: 0.002408196105801771 +23-06-26 03:49:30.395 - INFO: epoch: 791 +23-06-26 03:49:30.395 - INFO: iters: 1980977 +23-06-26 03:52:18.430 - INFO: train/mse_loss: 0.002466307915620708 +23-06-26 03:52:18.431 - INFO: epoch: 792 +23-06-26 03:52:18.431 - INFO: iters: 1983481 +23-06-26 03:55:06.235 - INFO: train/mse_loss: 0.0023594780205064615 +23-06-26 03:55:06.236 - INFO: epoch: 793 +23-06-26 03:55:06.236 - INFO: iters: 1985985 +23-06-26 03:57:53.914 - INFO: train/mse_loss: 0.002308756909734858 +23-06-26 03:57:53.915 - INFO: epoch: 794 +23-06-26 03:57:53.915 - INFO: iters: 1988489 +23-06-26 04:00:41.541 - INFO: train/mse_loss: 0.0023954704988929337 +23-06-26 04:00:41.541 - INFO: epoch: 795 +23-06-26 04:00:41.541 - INFO: iters: 1990993 +23-06-26 04:03:30.157 - INFO: train/mse_loss: 0.0023320849766187107 +23-06-26 04:03:30.157 - INFO: epoch: 796 +23-06-26 04:03:30.157 - INFO: iters: 1993497 +23-06-26 04:06:18.118 - INFO: train/mse_loss: 0.0024192563435523964 +23-06-26 04:06:18.119 - INFO: epoch: 797 +23-06-26 04:06:18.119 - INFO: iters: 1996001 +23-06-26 04:09:05.955 - INFO: train/mse_loss: 0.002268782160177934 +23-06-26 04:09:05.956 - INFO: epoch: 798 +23-06-26 04:09:05.956 - INFO: iters: 1998505 +23-06-26 04:11:53.637 - INFO: train/mse_loss: 0.002340021711690857 +23-06-26 04:11:53.637 - INFO: epoch: 799 +23-06-26 04:11:53.637 - INFO: iters: 2001009 +23-06-26 04:14:41.152 - INFO: train/mse_loss: 0.002314226486877845 +23-06-26 04:14:41.153 - INFO: epoch: 800 +23-06-26 04:14:41.153 - INFO: iters: 2003513 +23-06-26 04:17:28.817 - INFO: train/mse_loss: 0.002369658108212994 +23-06-26 04:17:28.817 - INFO: epoch: 801 +23-06-26 04:17:28.817 - INFO: iters: 2006017 +23-06-26 04:20:16.325 - INFO: train/mse_loss: 0.0022820798911157244 +23-06-26 04:20:16.325 - INFO: epoch: 802 +23-06-26 04:20:16.325 - INFO: iters: 2008521 +23-06-26 04:23:04.116 - INFO: train/mse_loss: 0.0022023520904768724 +23-06-26 04:23:04.116 - INFO: epoch: 803 +23-06-26 04:23:04.117 - INFO: iters: 2011025 +23-06-26 04:25:51.594 - INFO: train/mse_loss: 0.002497120177002844 +23-06-26 04:25:51.595 - INFO: epoch: 804 +23-06-26 04:25:51.595 - INFO: iters: 2013529 +23-06-26 04:28:39.070 - INFO: train/mse_loss: 0.002547998955590835 +23-06-26 04:28:39.071 - INFO: epoch: 805 +23-06-26 04:28:39.071 - INFO: iters: 2016033 +23-06-26 04:31:26.782 - INFO: train/mse_loss: 0.0022687213778043516 +23-06-26 04:31:26.782 - INFO: epoch: 806 +23-06-26 04:31:26.782 - INFO: iters: 2018537 +23-06-26 04:34:14.271 - INFO: train/mse_loss: 0.0022312636969212337 +23-06-26 04:34:14.272 - INFO: epoch: 807 +23-06-26 04:34:14.272 - INFO: iters: 2021041 +23-06-26 04:37:02.690 - INFO: train/mse_loss: 0.0024317398201674223 +23-06-26 04:37:02.691 - INFO: epoch: 808 +23-06-26 04:37:02.691 - INFO: iters: 2023545 +23-06-26 04:39:50.111 - INFO: train/mse_loss: 0.0023637798686583227 +23-06-26 04:39:50.112 - INFO: epoch: 809 +23-06-26 04:39:50.112 - INFO: iters: 2026049 +23-06-26 04:42:37.690 - INFO: train/mse_loss: 0.0023961063993636505 +23-06-26 04:42:37.690 - INFO: epoch: 810 +23-06-26 04:42:37.690 - INFO: iters: 2028553 +23-06-26 04:45:25.235 - INFO: train/mse_loss: 0.0023258158964247775 +23-06-26 04:45:25.236 - INFO: epoch: 811 +23-06-26 04:45:25.236 - INFO: iters: 2031057 +23-06-26 04:48:14.665 - INFO: train/mse_loss: 0.0027023904769794462 +23-06-26 04:48:14.666 - INFO: epoch: 812 +23-06-26 04:48:14.666 - INFO: iters: 2033561 +23-06-26 04:51:02.934 - INFO: train/mse_loss: 0.002344146742449758 +23-06-26 04:51:02.935 - INFO: epoch: 813 +23-06-26 04:51:02.935 - INFO: iters: 2036065 +23-06-26 04:53:50.767 - INFO: train/mse_loss: 0.002294926215692188 +23-06-26 04:53:50.768 - INFO: epoch: 814 +23-06-26 04:53:50.768 - INFO: iters: 2038569 +23-06-26 04:56:38.690 - INFO: train/mse_loss: 0.002300501052556506 +23-06-26 04:56:38.690 - INFO: epoch: 815 +23-06-26 04:56:38.690 - INFO: iters: 2041073 +23-06-26 04:59:25.956 - INFO: train/mse_loss: 0.002425389870377882 +23-06-26 04:59:25.956 - INFO: epoch: 816 +23-06-26 04:59:25.957 - INFO: iters: 2043577 +23-06-26 05:02:13.366 - INFO: train/mse_loss: 0.002613303019849661 +23-06-26 05:02:13.367 - INFO: epoch: 817 +23-06-26 05:02:13.367 - INFO: iters: 2046081 +23-06-26 05:05:01.951 - INFO: train/mse_loss: 0.0024605846176066768 +23-06-26 05:05:01.952 - INFO: epoch: 818 +23-06-26 05:05:01.952 - INFO: iters: 2048585 +23-06-26 05:07:49.892 - INFO: train/mse_loss: 0.002311087632626176 +23-06-26 05:07:49.892 - INFO: epoch: 819 +23-06-26 05:07:49.892 - INFO: iters: 2051089 +23-06-26 05:10:37.270 - INFO: train/mse_loss: 0.002233981899284838 +23-06-26 05:10:37.270 - INFO: epoch: 820 +23-06-26 05:10:37.270 - INFO: iters: 2053593 +23-06-26 05:13:25.290 - INFO: train/mse_loss: 0.0024077609012546105 +23-06-26 05:13:25.290 - INFO: epoch: 821 +23-06-26 05:13:25.290 - INFO: iters: 2056097 +23-06-26 05:16:13.883 - INFO: train/mse_loss: 0.0022487424201698015 +23-06-26 05:16:13.883 - INFO: epoch: 822 +23-06-26 05:16:13.884 - INFO: iters: 2058601 +23-06-26 05:19:01.327 - INFO: train/mse_loss: 0.002298628241429998 +23-06-26 05:19:01.328 - INFO: epoch: 823 +23-06-26 05:19:01.328 - INFO: iters: 2061105 +23-06-26 05:21:49.644 - INFO: train/mse_loss: 0.002285910351871373 +23-06-26 05:21:49.645 - INFO: epoch: 824 +23-06-26 05:21:49.645 - INFO: iters: 2063609 +23-06-26 05:24:38.243 - INFO: train/mse_loss: 0.0023262499427696625 +23-06-26 05:24:38.244 - INFO: epoch: 825 +23-06-26 05:24:38.244 - INFO: iters: 2066113 +23-06-26 05:27:26.191 - INFO: train/mse_loss: 0.0025935214821445627 +23-06-26 05:27:26.191 - INFO: epoch: 826 +23-06-26 05:27:26.192 - INFO: iters: 2068617 +23-06-26 05:30:13.685 - INFO: train/mse_loss: 0.0023756516242277818 +23-06-26 05:30:13.686 - INFO: epoch: 827 +23-06-26 05:30:13.686 - INFO: iters: 2071121 +23-06-26 05:33:01.146 - INFO: train/mse_loss: 0.002873588555355589 +23-06-26 05:33:01.146 - INFO: epoch: 828 +23-06-26 05:33:01.146 - INFO: iters: 2073625 +23-06-26 05:35:48.788 - INFO: train/mse_loss: 0.002360606284145587 +23-06-26 05:35:48.788 - INFO: epoch: 829 +23-06-26 05:35:48.788 - INFO: iters: 2076129 +23-06-26 05:38:37.140 - INFO: train/mse_loss: 0.00213548296038954 +23-06-26 05:38:37.140 - INFO: epoch: 830 +23-06-26 05:38:37.140 - INFO: iters: 2078633 +23-06-26 05:41:25.197 - INFO: train/mse_loss: 0.002259821228767796 +23-06-26 05:41:25.197 - INFO: epoch: 831 +23-06-26 05:41:25.197 - INFO: iters: 2081137 +23-06-26 05:44:12.593 - INFO: train/mse_loss: 0.0023306817418490998 +23-06-26 05:44:12.594 - INFO: epoch: 832 +23-06-26 05:44:12.594 - INFO: iters: 2083641 +23-06-26 05:47:00.295 - INFO: train/mse_loss: 0.0021799168357560144 +23-06-26 05:47:00.295 - INFO: epoch: 833 +23-06-26 05:47:00.295 - INFO: iters: 2086145 +23-06-26 05:49:47.730 - INFO: train/mse_loss: 0.0024436761670858977 +23-06-26 05:49:47.731 - INFO: epoch: 834 +23-06-26 05:49:47.731 - INFO: iters: 2088649 +23-06-26 05:52:35.850 - INFO: train/mse_loss: 0.002650216215672477 +23-06-26 05:52:35.850 - INFO: epoch: 835 +23-06-26 05:52:35.850 - INFO: iters: 2091153 +23-06-26 05:55:23.674 - INFO: train/mse_loss: 0.0028090657799849854 +23-06-26 05:55:23.674 - INFO: epoch: 836 +23-06-26 05:55:23.674 - INFO: iters: 2093657 +23-06-26 05:58:10.875 - INFO: train/mse_loss: 0.002370683953706056 +23-06-26 05:58:10.876 - INFO: epoch: 837 +23-06-26 05:58:10.876 - INFO: iters: 2096161 +23-06-26 06:00:59.814 - INFO: train/mse_loss: 0.002395736872956466 +23-06-26 06:00:59.815 - INFO: epoch: 838 +23-06-26 06:00:59.815 - INFO: iters: 2098665 +23-06-26 06:03:47.343 - INFO: train/mse_loss: 0.0023698283726879105 +23-06-26 06:03:47.344 - INFO: epoch: 839 +23-06-26 06:03:47.344 - INFO: iters: 2101169 +23-06-26 06:06:34.819 - INFO: train/mse_loss: 0.002204098749330071 +23-06-26 06:06:34.819 - INFO: epoch: 840 +23-06-26 06:06:34.820 - INFO: iters: 2103673 +23-06-26 06:09:22.142 - INFO: train/mse_loss: 0.0025572498632481875 +23-06-26 06:09:22.143 - INFO: epoch: 841 +23-06-26 06:09:22.143 - INFO: iters: 2106177 +23-06-26 06:12:09.992 - INFO: train/mse_loss: 0.0022397610541513434 +23-06-26 06:12:09.993 - INFO: epoch: 842 +23-06-26 06:12:09.993 - INFO: iters: 2108681 +23-06-26 06:14:57.451 - INFO: train/mse_loss: 0.002224963894984224 +23-06-26 06:14:57.452 - INFO: epoch: 843 +23-06-26 06:14:57.452 - INFO: iters: 2111185 +23-06-26 06:17:45.153 - INFO: train/mse_loss: 0.002396273722585005 +23-06-26 06:17:45.154 - INFO: epoch: 844 +23-06-26 06:17:45.154 - INFO: iters: 2113689 +23-06-26 06:20:32.623 - INFO: train/mse_loss: 0.0022005514703325024 +23-06-26 06:20:32.623 - INFO: epoch: 845 +23-06-26 06:20:32.623 - INFO: iters: 2116193 +23-06-26 06:23:21.431 - INFO: train/mse_loss: 0.0022200932590508114 +23-06-26 06:23:21.431 - INFO: epoch: 846 +23-06-26 06:23:21.431 - INFO: iters: 2118697 +23-06-26 06:26:10.187 - INFO: train/mse_loss: 0.0024270958231074717 +23-06-26 06:26:10.187 - INFO: epoch: 847 +23-06-26 06:26:10.187 - INFO: iters: 2121201 +23-06-26 06:28:57.587 - INFO: train/mse_loss: 0.0023140502878250526 +23-06-26 06:28:57.587 - INFO: epoch: 848 +23-06-26 06:28:57.587 - INFO: iters: 2123705 +23-06-26 06:31:45.198 - INFO: train/mse_loss: 0.002384981049742466 +23-06-26 06:31:45.198 - INFO: epoch: 849 +23-06-26 06:31:45.198 - INFO: iters: 2126209 +23-06-26 06:34:32.826 - INFO: train/mse_loss: 0.0026631282144836104 +23-06-26 06:34:32.827 - INFO: epoch: 850 +23-06-26 06:34:32.827 - INFO: iters: 2128713 +23-06-26 06:37:20.465 - INFO: train/mse_loss: 0.0022357593328816987 +23-06-26 06:37:20.465 - INFO: epoch: 851 +23-06-26 06:37:20.466 - INFO: iters: 2131217 +23-06-26 06:40:07.990 - INFO: train/mse_loss: 0.002422916702182291 +23-06-26 06:40:07.991 - INFO: epoch: 852 +23-06-26 06:40:07.991 - INFO: iters: 2133721 +23-06-26 06:42:55.376 - INFO: train/mse_loss: 0.002267018951938306 +23-06-26 06:42:55.377 - INFO: epoch: 853 +23-06-26 06:42:55.377 - INFO: iters: 2136225 +23-06-26 06:45:42.808 - INFO: train/mse_loss: 0.0026582566568979058 +23-06-26 06:45:42.809 - INFO: epoch: 854 +23-06-26 06:45:42.809 - INFO: iters: 2138729 +23-06-26 06:48:30.300 - INFO: train/mse_loss: 0.0022631717528537893 +23-06-26 06:48:30.301 - INFO: epoch: 855 +23-06-26 06:48:30.301 - INFO: iters: 2141233 +23-06-26 06:51:17.974 - INFO: train/mse_loss: 0.0022801305388677686 +23-06-26 06:51:17.975 - INFO: epoch: 856 +23-06-26 06:51:17.975 - INFO: iters: 2143737 +23-06-26 06:54:06.030 - INFO: train/mse_loss: 0.0022703397274463654 +23-06-26 06:54:06.030 - INFO: epoch: 857 +23-06-26 06:54:06.030 - INFO: iters: 2146241 +23-06-26 06:56:53.929 - INFO: train/mse_loss: 0.0022791922787954205 +23-06-26 06:56:53.930 - INFO: epoch: 858 +23-06-26 06:56:53.930 - INFO: iters: 2148745 +23-06-26 06:59:43.061 - INFO: train/mse_loss: 0.0022562824027127803 +23-06-26 06:59:43.062 - INFO: epoch: 859 +23-06-26 06:59:43.062 - INFO: iters: 2151249 +23-06-26 07:02:30.435 - INFO: train/mse_loss: 0.00225144337316731 +23-06-26 07:02:30.436 - INFO: epoch: 860 +23-06-26 07:02:30.436 - INFO: iters: 2153753 +23-06-26 07:05:18.446 - INFO: train/mse_loss: 0.0022688018222794698 +23-06-26 07:05:18.446 - INFO: epoch: 861 +23-06-26 07:05:18.446 - INFO: iters: 2156257 +23-06-26 07:08:05.784 - INFO: train/mse_loss: 0.002281712367014882 +23-06-26 07:08:05.785 - INFO: epoch: 862 +23-06-26 07:08:05.785 - INFO: iters: 2158761 +23-06-26 07:10:53.122 - INFO: train/mse_loss: 0.0023079764969370213 +23-06-26 07:10:53.122 - INFO: epoch: 863 +23-06-26 07:10:53.122 - INFO: iters: 2161265 +23-06-26 07:13:40.543 - INFO: train/mse_loss: 0.0022841305512869463 +23-06-26 07:13:40.543 - INFO: epoch: 864 +23-06-26 07:13:40.543 - INFO: iters: 2163769 +23-06-26 07:16:28.314 - INFO: train/mse_loss: 0.002293185337064282 +23-06-26 07:16:28.315 - INFO: epoch: 865 +23-06-26 07:16:28.315 - INFO: iters: 2166273 +23-06-26 07:19:15.754 - INFO: train/mse_loss: 0.002199576068193482 +23-06-26 07:19:15.755 - INFO: epoch: 866 +23-06-26 07:19:15.755 - INFO: iters: 2168777 +23-06-26 07:22:03.079 - INFO: train/mse_loss: 0.002197039003607433 +23-06-26 07:22:03.079 - INFO: epoch: 867 +23-06-26 07:22:03.079 - INFO: iters: 2171281 +23-06-26 07:24:53.758 - INFO: train/mse_loss: 0.0023688600863889455 +23-06-26 07:24:53.759 - INFO: epoch: 868 +23-06-26 07:24:53.759 - INFO: iters: 2173785 +23-06-26 07:27:41.687 - INFO: train/mse_loss: 0.002751534418820347 +23-06-26 07:27:41.689 - INFO: epoch: 869 +23-06-26 07:27:41.689 - INFO: iters: 2176289 +23-06-26 07:30:29.159 - INFO: train/mse_loss: 0.0022120026493305193 +23-06-26 07:30:29.159 - INFO: epoch: 870 +23-06-26 07:30:29.159 - INFO: iters: 2178793 +23-06-26 07:33:16.331 - INFO: train/mse_loss: 0.0021954790591232525 +23-06-26 07:33:16.332 - INFO: epoch: 871 +23-06-26 07:33:16.332 - INFO: iters: 2181297 +23-06-26 07:36:05.506 - INFO: train/mse_loss: 0.002850877869979868 +23-06-26 07:36:05.507 - INFO: epoch: 872 +23-06-26 07:36:05.507 - INFO: iters: 2183801 +23-06-26 07:38:52.916 - INFO: train/mse_loss: 0.0024155728258981038 +23-06-26 07:38:52.916 - INFO: epoch: 873 +23-06-26 07:38:52.916 - INFO: iters: 2186305 +23-06-26 07:41:41.890 - INFO: train/mse_loss: 0.0023085987996890214 +23-06-26 07:41:41.890 - INFO: epoch: 874 +23-06-26 07:41:41.890 - INFO: iters: 2188809 +23-06-26 07:44:29.318 - INFO: train/mse_loss: 0.0022446371610469807 +23-06-26 07:44:29.319 - INFO: epoch: 875 +23-06-26 07:44:29.319 - INFO: iters: 2191313 +23-06-26 07:47:16.659 - INFO: train/mse_loss: 0.002198300505884158 +23-06-26 07:47:16.660 - INFO: epoch: 876 +23-06-26 07:47:16.660 - INFO: iters: 2193817 +23-06-26 07:50:04.087 - INFO: train/mse_loss: 0.002267089581820733 +23-06-26 07:50:04.087 - INFO: epoch: 877 +23-06-26 07:50:04.087 - INFO: iters: 2196321 +23-06-26 07:52:51.531 - INFO: train/mse_loss: 0.002255541858815264 +23-06-26 07:52:51.532 - INFO: epoch: 878 +23-06-26 07:52:51.532 - INFO: iters: 2198825 +23-06-26 07:55:39.214 - INFO: train/mse_loss: 0.002333940029852449 +23-06-26 07:55:39.214 - INFO: epoch: 879 +23-06-26 07:55:39.215 - INFO: iters: 2201329 +23-06-26 07:58:29.125 - INFO: train/mse_loss: 0.0022056599983725305 +23-06-26 07:58:29.126 - INFO: epoch: 880 +23-06-26 07:58:29.126 - INFO: iters: 2203833 +23-06-26 08:01:17.097 - INFO: train/mse_loss: 0.002223659167661311 +23-06-26 08:01:17.097 - INFO: epoch: 881 +23-06-26 08:01:17.097 - INFO: iters: 2206337 +23-06-26 08:04:04.696 - INFO: train/mse_loss: 0.002211125501537154 +23-06-26 08:04:04.696 - INFO: epoch: 882 +23-06-26 08:04:04.696 - INFO: iters: 2208841 +23-06-26 08:06:52.143 - INFO: train/mse_loss: 0.002234343234404993 +23-06-26 08:06:52.143 - INFO: epoch: 883 +23-06-26 08:06:52.143 - INFO: iters: 2211345 +23-06-26 08:09:40.071 - INFO: train/mse_loss: 0.002304134295528796 +23-06-26 08:09:40.072 - INFO: epoch: 884 +23-06-26 08:09:40.072 - INFO: iters: 2213849 +23-06-26 08:12:27.866 - INFO: train/mse_loss: 0.002279780646109174 +23-06-26 08:12:27.867 - INFO: epoch: 885 +23-06-26 08:12:27.868 - INFO: iters: 2216353 +23-06-26 08:15:15.558 - INFO: train/mse_loss: 0.0026008714847385694 +23-06-26 08:15:15.559 - INFO: epoch: 886 +23-06-26 08:15:15.559 - INFO: iters: 2218857 +23-06-26 08:18:04.384 - INFO: train/mse_loss: 0.002436364736458578 +23-06-26 08:18:04.384 - INFO: epoch: 887 +23-06-26 08:18:04.384 - INFO: iters: 2221361 +23-06-26 08:20:52.405 - INFO: train/mse_loss: 0.0021964380202945857 +23-06-26 08:20:52.406 - INFO: epoch: 888 +23-06-26 08:20:52.406 - INFO: iters: 2223865 +23-06-26 08:23:39.812 - INFO: train/mse_loss: 0.002376174954987598 +23-06-26 08:23:39.812 - INFO: epoch: 889 +23-06-26 08:23:39.813 - INFO: iters: 2226369 +23-06-26 08:26:28.577 - INFO: train/mse_loss: 0.0021486104936145555 +23-06-26 08:26:28.578 - INFO: epoch: 890 +23-06-26 08:26:28.578 - INFO: iters: 2228873 +23-06-26 08:29:17.895 - INFO: train/mse_loss: 0.0021477634821402522 +23-06-26 08:29:17.896 - INFO: epoch: 891 +23-06-26 08:29:17.896 - INFO: iters: 2231377 +23-06-26 08:32:05.495 - INFO: train/mse_loss: 0.0021682247943869723 +23-06-26 08:32:05.496 - INFO: epoch: 892 +23-06-26 08:32:05.496 - INFO: iters: 2233881 +23-06-26 08:34:55.344 - INFO: train/mse_loss: 0.0023018675954854743 +23-06-26 08:34:55.345 - INFO: epoch: 893 +23-06-26 08:34:55.345 - INFO: iters: 2236385 +23-06-26 08:37:42.801 - INFO: train/mse_loss: 0.0021042239752943263 +23-06-26 08:37:42.801 - INFO: epoch: 894 +23-06-26 08:37:42.801 - INFO: iters: 2238889 +23-06-26 08:40:30.215 - INFO: train/mse_loss: 0.002227574477705676 +23-06-26 08:40:30.215 - INFO: epoch: 895 +23-06-26 08:40:30.215 - INFO: iters: 2241393 +23-06-26 08:43:17.592 - INFO: train/mse_loss: 0.0022929362261284014 +23-06-26 08:43:17.592 - INFO: epoch: 896 +23-06-26 08:43:17.592 - INFO: iters: 2243897 +23-06-26 08:46:04.859 - INFO: train/mse_loss: 0.002435163477065262 +23-06-26 08:46:04.859 - INFO: epoch: 897 +23-06-26 08:46:04.859 - INFO: iters: 2246401 +23-06-26 08:48:52.381 - INFO: train/mse_loss: 0.00229562057394939 +23-06-26 08:48:52.381 - INFO: epoch: 898 +23-06-26 08:48:52.381 - INFO: iters: 2248905 +23-06-26 08:51:39.664 - INFO: train/mse_loss: 0.0022097449242390287 +23-06-26 08:51:39.664 - INFO: epoch: 899 +23-06-26 08:51:39.665 - INFO: iters: 2251409 +23-06-26 08:54:27.125 - INFO: train/mse_loss: 0.0021857688595472388 +23-06-26 08:54:27.126 - INFO: epoch: 900 +23-06-26 08:54:27.126 - INFO: iters: 2253913 +23-06-26 08:57:14.707 - INFO: train/mse_loss: 0.002355889519326948 +23-06-26 08:57:14.707 - INFO: epoch: 901 +23-06-26 08:57:14.707 - INFO: iters: 2256417 +23-06-26 09:00:02.144 - INFO: train/mse_loss: 0.0021588620709288068 +23-06-26 09:00:02.145 - INFO: epoch: 902 +23-06-26 09:00:02.145 - INFO: iters: 2258921 +23-06-26 09:02:49.485 - INFO: train/mse_loss: 0.002360903584887794 +23-06-26 09:02:49.486 - INFO: epoch: 903 +23-06-26 09:02:49.486 - INFO: iters: 2261425 +23-06-26 09:05:36.790 - INFO: train/mse_loss: 0.0025815133101339586 +23-06-26 09:05:36.791 - INFO: epoch: 904 +23-06-26 09:05:36.791 - INFO: iters: 2263929 +23-06-26 09:08:24.771 - INFO: train/mse_loss: 0.002295931247018349 +23-06-26 09:08:24.772 - INFO: epoch: 905 +23-06-26 09:08:24.773 - INFO: iters: 2266433 +23-06-26 09:11:12.552 - INFO: train/mse_loss: 0.0021581775834263205 +23-06-26 09:11:12.553 - INFO: epoch: 906 +23-06-26 09:11:12.554 - INFO: iters: 2268937 +23-06-26 09:14:00.087 - INFO: train/mse_loss: 0.0020674172249182275 +23-06-26 09:14:00.087 - INFO: epoch: 907 +23-06-26 09:14:00.088 - INFO: iters: 2271441 +23-06-26 09:16:48.804 - INFO: train/mse_loss: 0.002147527810107298 +23-06-26 09:16:48.805 - INFO: epoch: 908 +23-06-26 09:16:48.805 - INFO: iters: 2273945 +23-06-26 09:19:37.684 - INFO: train/mse_loss: 0.0021825282062335424 +23-06-26 09:19:37.685 - INFO: epoch: 909 +23-06-26 09:19:37.685 - INFO: iters: 2276449 +23-06-26 09:22:25.593 - INFO: train/mse_loss: 0.002310297037485969 +23-06-26 09:22:25.594 - INFO: epoch: 910 +23-06-26 09:22:25.594 - INFO: iters: 2278953 +23-06-26 09:25:13.302 - INFO: train/mse_loss: 0.0021879797356542403 +23-06-26 09:25:13.303 - INFO: epoch: 911 +23-06-26 09:25:13.303 - INFO: iters: 2281457 +23-06-26 09:28:00.902 - INFO: train/mse_loss: 0.0022116671481836265 +23-06-26 09:28:00.902 - INFO: epoch: 912 +23-06-26 09:28:00.902 - INFO: iters: 2283961 +23-06-26 09:30:48.686 - INFO: train/mse_loss: 0.002547954675740006 +23-06-26 09:30:48.687 - INFO: epoch: 913 +23-06-26 09:30:48.687 - INFO: iters: 2286465 +23-06-26 09:33:37.018 - INFO: train/mse_loss: 0.0021685466734534756 +23-06-26 09:33:37.019 - INFO: epoch: 914 +23-06-26 09:33:37.019 - INFO: iters: 2288969 +23-06-26 09:36:26.240 - INFO: train/mse_loss: 0.002339774774336896 +23-06-26 09:36:26.241 - INFO: epoch: 915 +23-06-26 09:36:26.241 - INFO: iters: 2291473 +23-06-26 09:39:13.779 - INFO: train/mse_loss: 0.002241346457513412 +23-06-26 09:39:13.780 - INFO: epoch: 916 +23-06-26 09:39:13.781 - INFO: iters: 2293977 +23-06-26 09:42:01.990 - INFO: train/mse_loss: 0.00209390193602582 +23-06-26 09:42:01.990 - INFO: epoch: 917 +23-06-26 09:42:01.990 - INFO: iters: 2296481 +23-06-26 09:44:50.739 - INFO: train/mse_loss: 0.002139447779675868 +23-06-26 09:44:50.739 - INFO: epoch: 918 +23-06-26 09:44:50.739 - INFO: iters: 2298985 +23-06-26 09:47:38.768 - INFO: train/mse_loss: 0.0022140725974377374 +23-06-26 09:47:38.769 - INFO: epoch: 919 +23-06-26 09:47:38.769 - INFO: iters: 2301489 +23-06-26 09:50:28.268 - INFO: train/mse_loss: 0.0025292548063484887 +23-06-26 09:50:28.269 - INFO: epoch: 920 +23-06-26 09:50:28.269 - INFO: iters: 2303993 +23-06-26 09:53:16.840 - INFO: train/mse_loss: 0.0024139153809783556 +23-06-26 09:53:16.841 - INFO: epoch: 921 +23-06-26 09:53:16.841 - INFO: iters: 2306497 +23-06-26 09:56:04.453 - INFO: train/mse_loss: 0.002160446187027525 +23-06-26 09:56:04.453 - INFO: epoch: 922 +23-06-26 09:56:04.453 - INFO: iters: 2309001 +23-06-26 09:58:53.646 - INFO: train/mse_loss: 0.002873252324288348 +23-06-26 09:58:53.647 - INFO: epoch: 923 +23-06-26 09:58:53.647 - INFO: iters: 2311505 +23-06-26 10:01:41.988 - INFO: train/mse_loss: 0.002198823748681599 +23-06-26 10:01:41.989 - INFO: epoch: 924 +23-06-26 10:01:41.989 - INFO: iters: 2314009 +23-06-26 10:04:30.365 - INFO: train/mse_loss: 0.0020462407028680437 +23-06-26 10:04:30.365 - INFO: epoch: 925 +23-06-26 10:04:30.366 - INFO: iters: 2316513 +23-06-26 10:07:19.727 - INFO: train/mse_loss: 0.002145090826806395 +23-06-26 10:07:19.728 - INFO: epoch: 926 +23-06-26 10:07:19.728 - INFO: iters: 2319017 +23-06-26 10:10:08.585 - INFO: train/mse_loss: 0.0022816069830676167 +23-06-26 10:10:08.586 - INFO: epoch: 927 +23-06-26 10:10:08.586 - INFO: iters: 2321521 +23-06-26 10:12:58.352 - INFO: train/mse_loss: 0.002202280550472105 +23-06-26 10:12:58.353 - INFO: epoch: 928 +23-06-26 10:12:58.353 - INFO: iters: 2324025 +23-06-26 10:15:48.080 - INFO: train/mse_loss: 0.00215437799579086 +23-06-26 10:15:48.081 - INFO: epoch: 929 +23-06-26 10:15:48.081 - INFO: iters: 2326529 +23-06-26 10:18:36.886 - INFO: train/mse_loss: 0.0021199048578608246 +23-06-26 10:18:36.887 - INFO: epoch: 930 +23-06-26 10:18:36.887 - INFO: iters: 2329033 +23-06-26 10:21:25.408 - INFO: train/mse_loss: 0.0022860079510554003 +23-06-26 10:21:25.409 - INFO: epoch: 931 +23-06-26 10:21:25.409 - INFO: iters: 2331537 +23-06-26 10:24:14.772 - INFO: train/mse_loss: 0.0020270028122560905 +23-06-26 10:24:14.773 - INFO: epoch: 932 +23-06-26 10:24:14.773 - INFO: iters: 2334041 +23-06-26 10:27:03.347 - INFO: train/mse_loss: 0.0021327707668046315 +23-06-26 10:27:03.348 - INFO: epoch: 933 +23-06-26 10:27:03.348 - INFO: iters: 2336545 +23-06-26 10:29:51.965 - INFO: train/mse_loss: 0.002131809278900107 +23-06-26 10:29:51.966 - INFO: epoch: 934 +23-06-26 10:29:51.966 - INFO: iters: 2339049 +23-06-26 10:32:40.957 - INFO: train/mse_loss: 0.0020665997622933345 +23-06-26 10:32:40.958 - INFO: epoch: 935 +23-06-26 10:32:40.958 - INFO: iters: 2341553 +23-06-26 10:35:29.491 - INFO: train/mse_loss: 0.0021388685537543826 +23-06-26 10:35:29.491 - INFO: epoch: 936 +23-06-26 10:35:29.491 - INFO: iters: 2344057 +23-06-26 10:38:17.853 - INFO: train/mse_loss: 0.002163369370737491 +23-06-26 10:38:17.854 - INFO: epoch: 937 +23-06-26 10:38:17.854 - INFO: iters: 2346561 +23-06-26 10:41:06.054 - INFO: train/mse_loss: 0.002129862416191949 +23-06-26 10:41:06.054 - INFO: epoch: 938 +23-06-26 10:41:06.054 - INFO: iters: 2349065 +23-06-26 10:43:54.977 - INFO: train/mse_loss: 0.0020743191525631676 +23-06-26 10:43:54.978 - INFO: epoch: 939 +23-06-26 10:43:54.978 - INFO: iters: 2351569 +23-06-26 10:46:43.442 - INFO: train/mse_loss: 0.0020258215690454164 +23-06-26 10:46:43.443 - INFO: epoch: 940 +23-06-26 10:46:43.444 - INFO: iters: 2354073 +23-06-26 10:49:31.809 - INFO: train/mse_loss: 0.0022437888262317345 +23-06-26 10:49:31.809 - INFO: epoch: 941 +23-06-26 10:49:31.809 - INFO: iters: 2356577 +23-06-26 10:52:19.663 - INFO: train/mse_loss: 0.0023641331541982774 +23-06-26 10:52:19.663 - INFO: epoch: 942 +23-06-26 10:52:19.663 - INFO: iters: 2359081 +23-06-26 10:55:07.922 - INFO: train/mse_loss: 0.0022139376425109923 +23-06-26 10:55:07.923 - INFO: epoch: 943 +23-06-26 10:55:07.923 - INFO: iters: 2361585 +23-06-26 10:57:56.265 - INFO: train/mse_loss: 0.0025923230834811115 +23-06-26 10:57:56.266 - INFO: epoch: 944 +23-06-26 10:57:56.266 - INFO: iters: 2364089 +23-06-26 11:00:44.423 - INFO: train/mse_loss: 0.002185604908092977 +23-06-26 11:00:44.424 - INFO: epoch: 945 +23-06-26 11:00:44.424 - INFO: iters: 2366593 +23-06-26 11:03:32.486 - INFO: train/mse_loss: 0.002140141842617525 +23-06-26 11:03:32.486 - INFO: epoch: 946 +23-06-26 11:03:32.486 - INFO: iters: 2369097 +23-06-26 11:06:20.769 - INFO: train/mse_loss: 0.002199146183603369 +23-06-26 11:06:20.770 - INFO: epoch: 947 +23-06-26 11:06:20.770 - INFO: iters: 2371601 +23-06-26 11:09:08.604 - INFO: train/mse_loss: 0.00229429223309881 +23-06-26 11:09:08.604 - INFO: epoch: 948 +23-06-26 11:09:08.605 - INFO: iters: 2374105 +23-06-26 11:11:56.552 - INFO: train/mse_loss: 0.0021305631596249893 +23-06-26 11:11:56.553 - INFO: epoch: 949 +23-06-26 11:11:56.553 - INFO: iters: 2376609 +23-06-26 11:14:44.578 - INFO: train/mse_loss: 0.0021675079356144053 +23-06-26 11:14:44.579 - INFO: epoch: 950 +23-06-26 11:14:44.579 - INFO: iters: 2379113 +23-06-26 11:17:33.063 - INFO: train/mse_loss: 0.0022440181073238746 +23-06-26 11:17:33.064 - INFO: epoch: 951 +23-06-26 11:17:33.064 - INFO: iters: 2381617 +23-06-26 11:20:21.046 - INFO: train/mse_loss: 0.002310658276554185 +23-06-26 11:20:21.046 - INFO: epoch: 952 +23-06-26 11:20:21.046 - INFO: iters: 2384121 +23-06-26 11:23:09.497 - INFO: train/mse_loss: 0.0021313004745780444 +23-06-26 11:23:09.497 - INFO: epoch: 953 +23-06-26 11:23:09.497 - INFO: iters: 2386625 +23-06-26 11:25:57.688 - INFO: train/mse_loss: 0.0020789437244434993 +23-06-26 11:25:57.689 - INFO: epoch: 954 +23-06-26 11:25:57.689 - INFO: iters: 2389129 +23-06-26 11:28:45.952 - INFO: train/mse_loss: 0.0022180404522628805 +23-06-26 11:28:45.953 - INFO: epoch: 955 +23-06-26 11:28:45.953 - INFO: iters: 2391633 +23-06-26 11:31:34.464 - INFO: train/mse_loss: 0.002216319552996157 +23-06-26 11:31:34.464 - INFO: epoch: 956 +23-06-26 11:31:34.464 - INFO: iters: 2394137 +23-06-26 11:34:22.972 - INFO: train/mse_loss: 0.002156645689083757 +23-06-26 11:34:22.972 - INFO: epoch: 957 +23-06-26 11:34:22.972 - INFO: iters: 2396641 +23-06-26 11:37:11.258 - INFO: train/mse_loss: 0.002192360916570686 +23-06-26 11:37:11.258 - INFO: epoch: 958 +23-06-26 11:37:11.259 - INFO: iters: 2399145 +23-06-26 11:39:59.935 - INFO: train/mse_loss: 0.0021098653589503263 +23-06-26 11:39:59.936 - INFO: epoch: 959 +23-06-26 11:39:59.936 - INFO: iters: 2401649 +23-06-26 11:42:49.949 - INFO: train/mse_loss: 0.0021600786517686644 +23-06-26 11:42:49.949 - INFO: epoch: 960 +23-06-26 11:42:49.950 - INFO: iters: 2404153 +23-06-26 11:45:38.218 - INFO: train/mse_loss: 0.002112545864693761 +23-06-26 11:45:38.218 - INFO: epoch: 961 +23-06-26 11:45:38.218 - INFO: iters: 2406657 +23-06-26 11:48:26.421 - INFO: train/mse_loss: 0.002110008584386029 +23-06-26 11:48:26.421 - INFO: epoch: 962 +23-06-26 11:48:26.421 - INFO: iters: 2409161 +23-06-26 11:51:14.877 - INFO: train/mse_loss: 0.0020508691741037556 +23-06-26 11:51:14.877 - INFO: epoch: 963 +23-06-26 11:51:14.877 - INFO: iters: 2411665 +23-06-26 11:54:03.141 - INFO: train/mse_loss: 0.0021837715821239516 +23-06-26 11:54:03.141 - INFO: epoch: 964 +23-06-26 11:54:03.141 - INFO: iters: 2414169 +23-06-26 11:56:50.951 - INFO: train/mse_loss: 0.002284631091794862 +23-06-26 11:56:50.951 - INFO: epoch: 965 +23-06-26 11:56:50.951 - INFO: iters: 2416673 +23-06-26 11:59:39.521 - INFO: train/mse_loss: 0.002189620844677638 +23-06-26 11:59:39.522 - INFO: epoch: 966 +23-06-26 11:59:39.522 - INFO: iters: 2419177 +23-06-26 12:02:28.013 - INFO: train/mse_loss: 0.0024133601304762563 +23-06-26 12:02:28.013 - INFO: epoch: 967 +23-06-26 12:02:28.013 - INFO: iters: 2421681 +23-06-26 12:05:16.373 - INFO: train/mse_loss: 0.0022455744213609103 +23-06-26 12:05:16.373 - INFO: epoch: 968 +23-06-26 12:05:16.373 - INFO: iters: 2424185 +23-06-26 12:08:04.361 - INFO: train/mse_loss: 0.0021106591801525066 +23-06-26 12:08:04.362 - INFO: epoch: 969 +23-06-26 12:08:04.362 - INFO: iters: 2426689 +23-06-26 12:10:52.327 - INFO: train/mse_loss: 0.002094663121512892 +23-06-26 12:10:52.329 - INFO: epoch: 970 +23-06-26 12:10:52.329 - INFO: iters: 2429193 +23-06-26 12:13:40.617 - INFO: train/mse_loss: 0.002544305612929701 +23-06-26 12:13:40.617 - INFO: epoch: 971 +23-06-26 12:13:40.618 - INFO: iters: 2431697 +23-06-26 12:16:28.715 - INFO: train/mse_loss: 0.0021081578033714417 +23-06-26 12:16:28.716 - INFO: epoch: 972 +23-06-26 12:16:28.716 - INFO: iters: 2434201 +23-06-26 12:19:17.634 - INFO: train/mse_loss: 0.0020762405842884826 +23-06-26 12:19:17.634 - INFO: epoch: 973 +23-06-26 12:19:17.635 - INFO: iters: 2436705 +23-06-26 12:22:05.939 - INFO: train/mse_loss: 0.002159175243021879 +23-06-26 12:22:05.940 - INFO: epoch: 974 +23-06-26 12:22:05.940 - INFO: iters: 2439209 +23-06-26 12:24:53.805 - INFO: train/mse_loss: 0.0021453004054421674 +23-06-26 12:24:53.805 - INFO: epoch: 975 +23-06-26 12:24:53.806 - INFO: iters: 2441713 +23-06-26 12:27:43.644 - INFO: train/mse_loss: 0.0021518448962065313 +23-06-26 12:27:43.645 - INFO: epoch: 976 +23-06-26 12:27:43.645 - INFO: iters: 2444217 +23-06-26 12:30:32.634 - INFO: train/mse_loss: 0.0022770503385977363 +23-06-26 12:30:32.635 - INFO: epoch: 977 +23-06-26 12:30:32.635 - INFO: iters: 2446721 +23-06-26 12:33:20.997 - INFO: train/mse_loss: 0.0021413400566157774 +23-06-26 12:33:20.998 - INFO: epoch: 978 +23-06-26 12:33:20.998 - INFO: iters: 2449225 +23-06-26 12:36:08.891 - INFO: train/mse_loss: 0.002115501959721882 +23-06-26 12:36:08.891 - INFO: epoch: 979 +23-06-26 12:36:08.891 - INFO: iters: 2451729 +23-06-26 12:38:57.959 - INFO: train/mse_loss: 0.0021211221704807003 +23-06-26 12:38:57.959 - INFO: epoch: 980 +23-06-26 12:38:57.959 - INFO: iters: 2454233 +23-06-26 12:41:46.577 - INFO: train/mse_loss: 0.002136906469092011 +23-06-26 12:41:46.578 - INFO: epoch: 981 +23-06-26 12:41:46.578 - INFO: iters: 2456737 +23-06-26 12:44:34.909 - INFO: train/mse_loss: 0.0024822287721940266 +23-06-26 12:44:34.910 - INFO: epoch: 982 +23-06-26 12:44:34.910 - INFO: iters: 2459241 +23-06-26 12:47:23.640 - INFO: train/mse_loss: 0.002075168968233378 +23-06-26 12:47:23.641 - INFO: epoch: 983 +23-06-26 12:47:23.641 - INFO: iters: 2461745 +23-06-26 12:50:12.654 - INFO: train/mse_loss: 0.0022893911943556713 +23-06-26 12:50:12.654 - INFO: epoch: 984 +23-06-26 12:50:12.654 - INFO: iters: 2464249 +23-06-26 12:53:01.181 - INFO: train/mse_loss: 0.0020772386089371988 +23-06-26 12:53:01.181 - INFO: epoch: 985 +23-06-26 12:53:01.181 - INFO: iters: 2466753 +23-06-26 12:55:49.533 - INFO: train/mse_loss: 0.0021378434935998255 +23-06-26 12:55:49.534 - INFO: epoch: 986 +23-06-26 12:55:49.534 - INFO: iters: 2469257 +23-06-26 12:58:37.717 - INFO: train/mse_loss: 0.002129025583247693 +23-06-26 12:58:37.718 - INFO: epoch: 987 +23-06-26 12:58:37.718 - INFO: iters: 2471761 +23-06-26 13:01:26.596 - INFO: train/mse_loss: 0.002043877290517163 +23-06-26 13:01:26.597 - INFO: epoch: 988 +23-06-26 13:01:26.597 - INFO: iters: 2474265 +23-06-26 13:04:15.160 - INFO: train/mse_loss: 0.002053571318033726 +23-06-26 13:04:15.160 - INFO: epoch: 989 +23-06-26 13:04:15.161 - INFO: iters: 2476769 +23-06-26 13:07:03.092 - INFO: train/mse_loss: 0.002023175673986288 +23-06-26 13:07:03.093 - INFO: epoch: 990 +23-06-26 13:07:03.093 - INFO: iters: 2479273 +23-06-26 13:09:51.085 - INFO: train/mse_loss: 0.0021022468788204148 +23-06-26 13:09:51.086 - INFO: epoch: 991 +23-06-26 13:09:51.086 - INFO: iters: 2481777 +23-06-26 13:12:39.119 - INFO: train/mse_loss: 0.0020411772277435293 +23-06-26 13:12:39.120 - INFO: epoch: 992 +23-06-26 13:12:39.120 - INFO: iters: 2484281 +23-06-26 13:15:27.357 - INFO: train/mse_loss: 0.0020755700420769757 +23-06-26 13:15:27.357 - INFO: epoch: 993 +23-06-26 13:15:27.357 - INFO: iters: 2486785 +23-06-26 13:18:15.230 - INFO: train/mse_loss: 0.002089070095405423 +23-06-26 13:18:15.231 - INFO: epoch: 994 +23-06-26 13:18:15.231 - INFO: iters: 2489289 +23-06-26 13:21:03.402 - INFO: train/mse_loss: 0.0021017554493921514 +23-06-26 13:21:03.402 - INFO: epoch: 995 +23-06-26 13:21:03.402 - INFO: iters: 2491793 +23-06-26 13:23:52.241 - INFO: train/mse_loss: 0.002191285948832921 +23-06-26 13:23:52.242 - INFO: epoch: 996 +23-06-26 13:23:52.242 - INFO: iters: 2494297 +23-06-26 13:26:40.772 - INFO: train/mse_loss: 0.002164289650407593 +23-06-26 13:26:40.773 - INFO: epoch: 997 +23-06-26 13:26:40.773 - INFO: iters: 2496801 +23-06-26 13:29:28.449 - INFO: train/mse_loss: 0.0021217427747963835 +23-06-26 13:29:28.449 - INFO: epoch: 998 +23-06-26 13:29:28.450 - INFO: iters: 2499305 +23-06-26 13:32:17.421 - INFO: train/mse_loss: 0.002057113301063986 +23-06-26 13:32:17.421 - INFO: epoch: 999 +23-06-26 13:32:17.421 - INFO: iters: 2501809 +23-06-26 13:35:05.655 - INFO: train/mse_loss: 0.002059097680562256 +23-06-26 13:35:05.655 - INFO: epoch: 1000 +23-06-26 13:35:05.656 - INFO: iters: 2504313 +23-06-26 13:35:05.656 - INFO: Saving the self at the end of epoch 1000 +23-06-26 13:35:06.180 - INFO: + + +------------------------------Validation Start------------------------------ +23-06-26 13:42:16.603 - INFO: val/mae: 0.3367105722427368 +23-06-26 13:42:16.603 - INFO: +------------------------------Validation End------------------------------ + + +23-06-26 13:45:03.978 - INFO: train/mse_loss: 0.0021196367530027234 +23-06-26 13:45:03.979 - INFO: epoch: 1001 +23-06-26 13:45:03.979 - INFO: iters: 2507130 +23-06-26 13:47:52.358 - INFO: train/mse_loss: 0.0020939885129476676 +23-06-26 13:47:52.359 - INFO: epoch: 1002 +23-06-26 13:47:52.359 - INFO: iters: 2509634 +23-06-26 13:50:40.177 - INFO: train/mse_loss: 0.0021435278917874057 +23-06-26 13:50:40.178 - INFO: epoch: 1003 +23-06-26 13:50:40.178 - INFO: iters: 2512138 +23-06-26 13:53:27.973 - INFO: train/mse_loss: 0.0021176031778027977 +23-06-26 13:53:27.973 - INFO: epoch: 1004 +23-06-26 13:53:27.973 - INFO: iters: 2514642 +23-06-26 13:56:15.742 - INFO: train/mse_loss: 0.002059362716779422 +23-06-26 13:56:15.743 - INFO: epoch: 1005 +23-06-26 13:56:15.743 - INFO: iters: 2517146 +23-06-26 13:59:03.673 - INFO: train/mse_loss: 0.002162157757075343 +23-06-26 13:59:03.674 - INFO: epoch: 1006 +23-06-26 13:59:03.674 - INFO: iters: 2519650 +23-06-26 14:01:51.693 - INFO: train/mse_loss: 0.002049926274527495 +23-06-26 14:01:51.693 - INFO: epoch: 1007 +23-06-26 14:01:51.693 - INFO: iters: 2522154 +23-06-26 14:04:39.794 - INFO: train/mse_loss: 0.0022266808789024074 +23-06-26 14:04:39.795 - INFO: epoch: 1008 +23-06-26 14:04:39.795 - INFO: iters: 2524658 +23-06-26 14:07:28.611 - INFO: train/mse_loss: 0.0020962361309204264 +23-06-26 14:07:28.611 - INFO: epoch: 1009 +23-06-26 14:07:28.613 - INFO: iters: 2527162 +23-06-26 14:10:17.266 - INFO: train/mse_loss: 0.0020053482344061634 +23-06-26 14:10:17.266 - INFO: epoch: 1010 +23-06-26 14:10:17.267 - INFO: iters: 2529666 +23-06-26 14:13:05.558 - INFO: train/mse_loss: 0.0020183885056070223 +23-06-26 14:13:05.558 - INFO: epoch: 1011 +23-06-26 14:13:05.558 - INFO: iters: 2532170 +23-06-26 14:15:54.200 - INFO: train/mse_loss: 0.0020451328353420757 +23-06-26 14:15:54.201 - INFO: epoch: 1012 +23-06-26 14:15:54.201 - INFO: iters: 2534674 +23-06-26 14:18:42.301 - INFO: train/mse_loss: 0.002221405237411765 +23-06-26 14:18:42.301 - INFO: epoch: 1013 +23-06-26 14:18:42.301 - INFO: iters: 2537178 +23-06-26 14:21:30.741 - INFO: train/mse_loss: 0.0022383649930575143 +23-06-26 14:21:30.742 - INFO: epoch: 1014 +23-06-26 14:21:30.742 - INFO: iters: 2539682 +23-06-26 14:24:18.792 - INFO: train/mse_loss: 0.002066195841667394 +23-06-26 14:24:18.793 - INFO: epoch: 1015 +23-06-26 14:24:18.793 - INFO: iters: 2542186 +23-06-26 14:27:07.112 - INFO: train/mse_loss: 0.002126897791416917 +23-06-26 14:27:07.113 - INFO: epoch: 1016 +23-06-26 14:27:07.113 - INFO: iters: 2544690 +23-06-26 14:29:55.646 - INFO: train/mse_loss: 0.0020952675470743126 +23-06-26 14:29:55.646 - INFO: epoch: 1017 +23-06-26 14:29:55.647 - INFO: iters: 2547194 +23-06-26 14:32:43.651 - INFO: train/mse_loss: 0.0021594837121963026 +23-06-26 14:32:43.651 - INFO: epoch: 1018 +23-06-26 14:32:43.652 - INFO: iters: 2549698 +23-06-26 14:35:32.557 - INFO: train/mse_loss: 0.002226646778697428 +23-06-26 14:35:32.557 - INFO: epoch: 1019 +23-06-26 14:35:32.557 - INFO: iters: 2552202 +23-06-26 14:38:20.690 - INFO: train/mse_loss: 0.002000558009845749 +23-06-26 14:38:20.690 - INFO: epoch: 1020 +23-06-26 14:38:20.690 - INFO: iters: 2554706 +23-06-26 14:41:08.665 - INFO: train/mse_loss: 0.0021640460385149492 +23-06-26 14:41:08.666 - INFO: epoch: 1021 +23-06-26 14:41:08.666 - INFO: iters: 2557210 +23-06-26 14:43:58.220 - INFO: train/mse_loss: 0.0021627736331808704 +23-06-26 14:43:58.221 - INFO: epoch: 1022 +23-06-26 14:43:58.221 - INFO: iters: 2559714 +23-06-26 14:46:46.249 - INFO: train/mse_loss: 0.0020481508408194057 +23-06-26 14:46:46.249 - INFO: epoch: 1023 +23-06-26 14:46:46.250 - INFO: iters: 2562218 +23-06-26 14:49:34.085 - INFO: train/mse_loss: 0.0025220232414670837 +23-06-26 14:49:34.085 - INFO: epoch: 1024 +23-06-26 14:49:34.085 - INFO: iters: 2564722 +23-06-26 14:52:22.900 - INFO: train/mse_loss: 0.0022438009473727274 +23-06-26 14:52:22.901 - INFO: epoch: 1025 +23-06-26 14:52:22.901 - INFO: iters: 2567226 +23-06-26 14:55:11.100 - INFO: train/mse_loss: 0.002181967207864403 +23-06-26 14:55:11.101 - INFO: epoch: 1026 +23-06-26 14:55:11.101 - INFO: iters: 2569730 +23-06-26 14:57:59.644 - INFO: train/mse_loss: 0.002041550175013086 +23-06-26 14:57:59.645 - INFO: epoch: 1027 +23-06-26 14:57:59.645 - INFO: iters: 2572234 +23-06-26 15:00:47.956 - INFO: train/mse_loss: 0.0021246733244719763 +23-06-26 15:00:47.957 - INFO: epoch: 1028 +23-06-26 15:00:47.957 - INFO: iters: 2574738 +23-06-26 15:03:37.122 - INFO: train/mse_loss: 0.0019753107499069396 +23-06-26 15:03:37.122 - INFO: epoch: 1029 +23-06-26 15:03:37.122 - INFO: iters: 2577242 +23-06-26 15:06:26.298 - INFO: train/mse_loss: 0.002113160388819433 +23-06-26 15:06:26.298 - INFO: epoch: 1030 +23-06-26 15:06:26.299 - INFO: iters: 2579746 +23-06-26 15:09:15.240 - INFO: train/mse_loss: 0.0020183602460665992 +23-06-26 15:09:15.241 - INFO: epoch: 1031 +23-06-26 15:09:15.241 - INFO: iters: 2582250 +23-06-26 15:12:03.074 - INFO: train/mse_loss: 0.0024373264125616737 +23-06-26 15:12:03.075 - INFO: epoch: 1032 +23-06-26 15:12:03.075 - INFO: iters: 2584754 +23-06-26 15:14:51.090 - INFO: train/mse_loss: 0.0021080345890972726 +23-06-26 15:14:51.090 - INFO: epoch: 1033 +23-06-26 15:14:51.090 - INFO: iters: 2587258 +23-06-26 15:17:39.237 - INFO: train/mse_loss: 0.002024485805137351 +23-06-26 15:17:39.238 - INFO: epoch: 1034 +23-06-26 15:17:39.238 - INFO: iters: 2589762 +23-06-26 15:20:26.711 - INFO: train/mse_loss: 0.0019700416053582827 +23-06-26 15:20:26.711 - INFO: epoch: 1035 +23-06-26 15:20:26.712 - INFO: iters: 2592266 +23-06-26 15:23:14.707 - INFO: train/mse_loss: 0.0022098424680048996 +23-06-26 15:23:14.707 - INFO: epoch: 1036 +23-06-26 15:23:14.708 - INFO: iters: 2594770 +23-06-26 15:26:03.053 - INFO: train/mse_loss: 0.0020188565013376765 +23-06-26 15:26:03.053 - INFO: epoch: 1037 +23-06-26 15:26:03.053 - INFO: iters: 2597274 +23-06-26 15:28:50.778 - INFO: train/mse_loss: 0.001928697505701012 +23-06-26 15:28:50.779 - INFO: epoch: 1038 +23-06-26 15:28:50.779 - INFO: iters: 2599778 +23-06-26 15:31:38.652 - INFO: train/mse_loss: 0.002113408609903373 +23-06-26 15:31:38.653 - INFO: epoch: 1039 +23-06-26 15:31:38.653 - INFO: iters: 2602282 +23-06-26 15:34:28.371 - INFO: train/mse_loss: 0.0020218799703385524 +23-06-26 15:34:28.372 - INFO: epoch: 1040 +23-06-26 15:34:28.372 - INFO: iters: 2604786 +23-06-26 15:37:16.624 - INFO: train/mse_loss: 0.002085284478910351 +23-06-26 15:37:16.625 - INFO: epoch: 1041 +23-06-26 15:37:16.625 - INFO: iters: 2607290 +23-06-26 15:40:04.508 - INFO: train/mse_loss: 0.002163991673675458 +23-06-26 15:40:04.509 - INFO: epoch: 1042 +23-06-26 15:40:04.509 - INFO: iters: 2609794 +23-06-26 15:42:53.179 - INFO: train/mse_loss: 0.0023155791925626415 +23-06-26 15:42:53.180 - INFO: epoch: 1043 +23-06-26 15:42:53.180 - INFO: iters: 2612298 +23-06-26 15:45:41.110 - INFO: train/mse_loss: 0.002011441622679226 +23-06-26 15:45:41.110 - INFO: epoch: 1044 +23-06-26 15:45:41.111 - INFO: iters: 2614802 +23-06-26 15:48:29.582 - INFO: train/mse_loss: 0.0021114061858442524 +23-06-26 15:48:29.583 - INFO: epoch: 1045 +23-06-26 15:48:29.583 - INFO: iters: 2617306 +23-06-26 15:51:17.471 - INFO: train/mse_loss: 0.002055526524893761 +23-06-26 15:51:17.473 - INFO: epoch: 1046 +23-06-26 15:51:17.473 - INFO: iters: 2619810 +23-06-26 15:54:05.592 - INFO: train/mse_loss: 0.002051492199709359 +23-06-26 15:54:05.592 - INFO: epoch: 1047 +23-06-26 15:54:05.592 - INFO: iters: 2622314 +23-06-26 15:56:53.235 - INFO: train/mse_loss: 0.002286870694777277 +23-06-26 15:56:53.236 - INFO: epoch: 1048 +23-06-26 15:56:53.236 - INFO: iters: 2624818 +23-06-26 15:59:40.935 - INFO: train/mse_loss: 0.002074336608910499 +23-06-26 15:59:40.936 - INFO: epoch: 1049 +23-06-26 15:59:40.936 - INFO: iters: 2627322 +23-06-26 16:02:28.539 - INFO: train/mse_loss: 0.0021558469008898344 +23-06-26 16:02:28.539 - INFO: epoch: 1050 +23-06-26 16:02:28.539 - INFO: iters: 2629826 +23-06-26 16:05:16.146 - INFO: train/mse_loss: 0.002020312391724378 +23-06-26 16:05:16.146 - INFO: epoch: 1051 +23-06-26 16:05:16.147 - INFO: iters: 2632330 +23-06-26 16:08:03.902 - INFO: train/mse_loss: 0.001957542373993681 +23-06-26 16:08:03.902 - INFO: epoch: 1052 +23-06-26 16:08:03.902 - INFO: iters: 2634834 +23-06-26 16:10:51.610 - INFO: train/mse_loss: 0.001978246714754667 +23-06-26 16:10:51.611 - INFO: epoch: 1053 +23-06-26 16:10:51.611 - INFO: iters: 2637338 +23-06-26 16:13:39.527 - INFO: train/mse_loss: 0.002024314917487125 +23-06-26 16:13:39.527 - INFO: epoch: 1054 +23-06-26 16:13:39.528 - INFO: iters: 2639842 +23-06-26 16:16:30.733 - INFO: train/mse_loss: 0.002074753901677224 +23-06-26 16:16:30.734 - INFO: epoch: 1055 +23-06-26 16:16:30.734 - INFO: iters: 2642346 +23-06-26 16:19:18.591 - INFO: train/mse_loss: 0.0020517085181599773 +23-06-26 16:19:18.592 - INFO: epoch: 1056 +23-06-26 16:19:18.592 - INFO: iters: 2644850 +23-06-26 16:22:06.239 - INFO: train/mse_loss: 0.002139704266619592 +23-06-26 16:22:06.240 - INFO: epoch: 1057 +23-06-26 16:22:06.240 - INFO: iters: 2647354 +23-06-26 16:24:54.091 - INFO: train/mse_loss: 0.002119255757082801 +23-06-26 16:24:54.092 - INFO: epoch: 1058 +23-06-26 16:24:54.092 - INFO: iters: 2649858 +23-06-26 16:27:41.691 - INFO: train/mse_loss: 0.002094136341623724 +23-06-26 16:27:41.692 - INFO: epoch: 1059 +23-06-26 16:27:41.693 - INFO: iters: 2652362 +23-06-26 16:30:29.513 - INFO: train/mse_loss: 0.0021015715966828333 +23-06-26 16:30:29.513 - INFO: epoch: 1060 +23-06-26 16:30:29.514 - INFO: iters: 2654866 +23-06-26 16:33:17.498 - INFO: train/mse_loss: 0.0019877314944706926 +23-06-26 16:33:17.499 - INFO: epoch: 1061 +23-06-26 16:33:17.499 - INFO: iters: 2657370 +23-06-26 16:36:05.157 - INFO: train/mse_loss: 0.0020769567562850377 +23-06-26 16:36:05.157 - INFO: epoch: 1062 +23-06-26 16:36:05.157 - INFO: iters: 2659874 +23-06-26 16:38:52.401 - INFO: train/mse_loss: 0.002001289659873032 +23-06-26 16:38:52.402 - INFO: epoch: 1063 +23-06-26 16:38:52.402 - INFO: iters: 2662378 +23-06-26 16:41:40.332 - INFO: train/mse_loss: 0.0019316454825271218 +23-06-26 16:41:40.333 - INFO: epoch: 1064 +23-06-26 16:41:40.333 - INFO: iters: 2664882 +23-06-26 16:44:28.047 - INFO: train/mse_loss: 0.0020770772052303957 +23-06-26 16:44:28.047 - INFO: epoch: 1065 +23-06-26 16:44:28.047 - INFO: iters: 2667386 +23-06-26 16:47:15.882 - INFO: train/mse_loss: 0.0020412844765675476 +23-06-26 16:47:15.883 - INFO: epoch: 1066 +23-06-26 16:47:15.883 - INFO: iters: 2669890 +23-06-26 16:50:03.517 - INFO: train/mse_loss: 0.002019418973866969 +23-06-26 16:50:03.517 - INFO: epoch: 1067 +23-06-26 16:50:03.517 - INFO: iters: 2672394 +23-06-26 16:52:50.918 - INFO: train/mse_loss: 0.002046868867856769 +23-06-26 16:52:50.919 - INFO: epoch: 1068 +23-06-26 16:52:50.919 - INFO: iters: 2674898 +23-06-26 16:55:38.642 - INFO: train/mse_loss: 0.0020170424845048817 +23-06-26 16:55:38.643 - INFO: epoch: 1069 +23-06-26 16:55:38.643 - INFO: iters: 2677402 +23-06-26 16:58:26.232 - INFO: train/mse_loss: 0.0020320508762979852 +23-06-26 16:58:26.233 - INFO: epoch: 1070 +23-06-26 16:58:26.233 - INFO: iters: 2679906 +23-06-26 17:01:14.345 - INFO: train/mse_loss: 0.0020256926359150545 +23-06-26 17:01:14.346 - INFO: epoch: 1071 +23-06-26 17:01:14.346 - INFO: iters: 2682410 +23-06-26 17:04:01.943 - INFO: train/mse_loss: 0.002105712002818696 +23-06-26 17:04:01.944 - INFO: epoch: 1072 +23-06-26 17:04:01.944 - INFO: iters: 2684914 +23-06-26 17:06:49.701 - INFO: train/mse_loss: 0.001964534449684151 +23-06-26 17:06:49.701 - INFO: epoch: 1073 +23-06-26 17:06:49.701 - INFO: iters: 2687418 +23-06-26 17:09:37.237 - INFO: train/mse_loss: 0.0019021064465933929 +23-06-26 17:09:37.238 - INFO: epoch: 1074 +23-06-26 17:09:37.238 - INFO: iters: 2689922 +23-06-26 17:12:24.911 - INFO: train/mse_loss: 0.0021033637287368933 +23-06-26 17:12:24.911 - INFO: epoch: 1075 +23-06-26 17:12:24.911 - INFO: iters: 2692426 +23-06-26 17:15:12.797 - INFO: train/mse_loss: 0.002024500697000196 +23-06-26 17:15:12.798 - INFO: epoch: 1076 +23-06-26 17:15:12.798 - INFO: iters: 2694930 +23-06-26 17:18:00.431 - INFO: train/mse_loss: 0.001929932295682486 +23-06-26 17:18:00.432 - INFO: epoch: 1077 +23-06-26 17:18:00.432 - INFO: iters: 2697434 +23-06-26 17:20:48.222 - INFO: train/mse_loss: 0.001952214021653758 +23-06-26 17:20:48.222 - INFO: epoch: 1078 +23-06-26 17:20:48.222 - INFO: iters: 2699938 +23-06-26 17:23:35.615 - INFO: train/mse_loss: 0.001934523031244965 +23-06-26 17:23:35.616 - INFO: epoch: 1079 +23-06-26 17:23:35.616 - INFO: iters: 2702442 +23-06-26 17:26:23.289 - INFO: train/mse_loss: 0.0019577157381660167 +23-06-26 17:26:23.289 - INFO: epoch: 1080 +23-06-26 17:26:23.289 - INFO: iters: 2704946 +23-06-26 17:29:11.137 - INFO: train/mse_loss: 0.001962144534622792 +23-06-26 17:29:11.137 - INFO: epoch: 1081 +23-06-26 17:29:11.137 - INFO: iters: 2707450 +23-06-26 17:31:58.954 - INFO: train/mse_loss: 0.0020781514356091333 +23-06-26 17:31:58.955 - INFO: epoch: 1082 +23-06-26 17:31:58.955 - INFO: iters: 2709954 +23-06-26 17:34:47.007 - INFO: train/mse_loss: 0.0020721704786875474 +23-06-26 17:34:47.008 - INFO: epoch: 1083 +23-06-26 17:34:47.008 - INFO: iters: 2712458 +23-06-26 17:37:34.789 - INFO: train/mse_loss: 0.0020307661895193874 +23-06-26 17:37:34.790 - INFO: epoch: 1084 +23-06-26 17:37:34.790 - INFO: iters: 2714962 +23-06-26 17:40:22.849 - INFO: train/mse_loss: 0.002080726252791409 +23-06-26 17:40:22.850 - INFO: epoch: 1085 +23-06-26 17:40:22.850 - INFO: iters: 2717466 +23-06-26 17:43:10.426 - INFO: train/mse_loss: 0.002011669609999171 +23-06-26 17:43:10.427 - INFO: epoch: 1086 +23-06-26 17:43:10.427 - INFO: iters: 2719970 +23-06-26 17:45:57.996 - INFO: train/mse_loss: 0.0019490400516314985 +23-06-26 17:45:57.997 - INFO: epoch: 1087 +23-06-26 17:45:57.997 - INFO: iters: 2722474 +23-06-26 17:48:45.947 - INFO: train/mse_loss: 0.001970513305922869 +23-06-26 17:48:45.948 - INFO: epoch: 1088 +23-06-26 17:48:45.948 - INFO: iters: 2724978 +23-06-26 17:51:34.155 - INFO: train/mse_loss: 0.002079576167602318 +23-06-26 17:51:34.156 - INFO: epoch: 1089 +23-06-26 17:51:34.156 - INFO: iters: 2727482 +23-06-26 17:54:21.916 - INFO: train/mse_loss: 0.002094343763228637 +23-06-26 17:54:21.917 - INFO: epoch: 1090 +23-06-26 17:54:21.917 - INFO: iters: 2729986 +23-06-26 17:57:09.679 - INFO: train/mse_loss: 0.0019628398519116468 +23-06-26 17:57:09.680 - INFO: epoch: 1091 +23-06-26 17:57:09.680 - INFO: iters: 2732490 +23-06-26 17:59:57.514 - INFO: train/mse_loss: 0.001998309431911503 +23-06-26 17:59:57.514 - INFO: epoch: 1092 +23-06-26 17:59:57.514 - INFO: iters: 2734994 +23-06-26 18:02:45.599 - INFO: train/mse_loss: 0.00237953216049481 +23-06-26 18:02:45.599 - INFO: epoch: 1093 +23-06-26 18:02:45.600 - INFO: iters: 2737498 +23-06-26 18:05:33.667 - INFO: train/mse_loss: 0.0019596975383024437 +23-06-26 18:05:33.667 - INFO: epoch: 1094 +23-06-26 18:05:33.667 - INFO: iters: 2740002 +23-06-26 18:08:21.070 - INFO: train/mse_loss: 0.001991584375032042 +23-06-26 18:08:21.070 - INFO: epoch: 1095 +23-06-26 18:08:21.070 - INFO: iters: 2742506 +23-06-26 18:11:08.670 - INFO: train/mse_loss: 0.002083333786026524 +23-06-26 18:11:08.671 - INFO: epoch: 1096 +23-06-26 18:11:08.671 - INFO: iters: 2745010 +23-06-26 18:13:56.640 - INFO: train/mse_loss: 0.002169283375738355 +23-06-26 18:13:56.641 - INFO: epoch: 1097 +23-06-26 18:13:56.641 - INFO: iters: 2747514 +23-06-26 18:16:44.630 - INFO: train/mse_loss: 0.001985992827268984 +23-06-26 18:16:44.630 - INFO: epoch: 1098 +23-06-26 18:16:44.631 - INFO: iters: 2750018 +23-06-26 18:19:32.917 - INFO: train/mse_loss: 0.001989681300849984 +23-06-26 18:19:32.918 - INFO: epoch: 1099 +23-06-26 18:19:32.918 - INFO: iters: 2752522 +23-06-26 18:22:21.422 - INFO: train/mse_loss: 0.002029783893212938 +23-06-26 18:22:21.422 - INFO: epoch: 1100 +23-06-26 18:22:21.423 - INFO: iters: 2755026 +23-06-26 18:25:09.589 - INFO: train/mse_loss: 0.0019620230890804538 +23-06-26 18:25:09.589 - INFO: epoch: 1101 +23-06-26 18:25:09.589 - INFO: iters: 2757530 +23-06-26 18:27:57.372 - INFO: train/mse_loss: 0.0020988011028254612 +23-06-26 18:27:57.373 - INFO: epoch: 1102 +23-06-26 18:27:57.373 - INFO: iters: 2760034 +23-06-26 18:30:44.981 - INFO: train/mse_loss: 0.00196564992697844 +23-06-26 18:30:44.981 - INFO: epoch: 1103 +23-06-26 18:30:44.981 - INFO: iters: 2762538 +23-06-26 18:33:32.527 - INFO: train/mse_loss: 0.001959854820237373 +23-06-26 18:33:32.527 - INFO: epoch: 1104 +23-06-26 18:33:32.527 - INFO: iters: 2765042 +23-06-26 18:36:20.662 - INFO: train/mse_loss: 0.0019365911840270764 +23-06-26 18:36:20.662 - INFO: epoch: 1105 +23-06-26 18:36:20.662 - INFO: iters: 2767546 +23-06-26 18:39:08.736 - INFO: train/mse_loss: 0.0019500241157399437 +23-06-26 18:39:08.737 - INFO: epoch: 1106 +23-06-26 18:39:08.737 - INFO: iters: 2770050 +23-06-26 18:41:56.354 - INFO: train/mse_loss: 0.002203952435540934 +23-06-26 18:41:56.354 - INFO: epoch: 1107 +23-06-26 18:41:56.355 - INFO: iters: 2772554 +23-06-26 18:44:43.859 - INFO: train/mse_loss: 0.0020986235930774803 +23-06-26 18:44:43.859 - INFO: epoch: 1108 +23-06-26 18:44:43.860 - INFO: iters: 2775058 +23-06-26 18:47:31.669 - INFO: train/mse_loss: 0.001961593126756148 +23-06-26 18:47:31.669 - INFO: epoch: 1109 +23-06-26 18:47:31.670 - INFO: iters: 2777562 +23-06-26 18:50:19.528 - INFO: train/mse_loss: 0.0019999542699445385 +23-06-26 18:50:19.528 - INFO: epoch: 1110 +23-06-26 18:50:19.529 - INFO: iters: 2780066 +23-06-26 18:53:07.619 - INFO: train/mse_loss: 0.0021177238465611118 +23-06-26 18:53:07.619 - INFO: epoch: 1111 +23-06-26 18:53:07.619 - INFO: iters: 2782570 +23-06-26 18:55:55.648 - INFO: train/mse_loss: 0.002026843747083907 +23-06-26 18:55:55.649 - INFO: epoch: 1112 +23-06-26 18:55:55.649 - INFO: iters: 2785074 +23-06-26 18:58:43.331 - INFO: train/mse_loss: 0.0018838719353630258 +23-06-26 18:58:43.332 - INFO: epoch: 1113 +23-06-26 18:58:43.332 - INFO: iters: 2787578 +23-06-26 19:01:31.095 - INFO: train/mse_loss: 0.00198561972741353 +23-06-26 19:01:31.096 - INFO: epoch: 1114 +23-06-26 19:01:31.096 - INFO: iters: 2790082 +23-06-26 19:04:19.090 - INFO: train/mse_loss: 0.001940444531365515 +23-06-26 19:04:19.091 - INFO: epoch: 1115 +23-06-26 19:04:19.091 - INFO: iters: 2792586 +23-06-26 19:07:07.039 - INFO: train/mse_loss: 0.0019678201841803406 +23-06-26 19:07:07.040 - INFO: epoch: 1116 +23-06-26 19:07:07.040 - INFO: iters: 2795090 +23-06-26 19:09:54.713 - INFO: train/mse_loss: 0.0019691260302805314 +23-06-26 19:09:54.713 - INFO: epoch: 1117 +23-06-26 19:09:54.713 - INFO: iters: 2797594 +23-06-26 19:12:42.500 - INFO: train/mse_loss: 0.0019506385236362609 +23-06-26 19:12:42.501 - INFO: epoch: 1118 +23-06-26 19:12:42.501 - INFO: iters: 2800098 +23-06-26 19:15:30.044 - INFO: train/mse_loss: 0.0019816450483445378 +23-06-26 19:15:30.045 - INFO: epoch: 1119 +23-06-26 19:15:30.045 - INFO: iters: 2802602 +23-06-26 19:18:17.828 - INFO: train/mse_loss: 0.0019794400608815705 +23-06-26 19:18:17.829 - INFO: epoch: 1120 +23-06-26 19:18:17.829 - INFO: iters: 2805106 +23-06-26 19:21:05.659 - INFO: train/mse_loss: 0.0020648853685230778 +23-06-26 19:21:05.659 - INFO: epoch: 1121 +23-06-26 19:21:05.660 - INFO: iters: 2807610 +23-06-26 19:23:53.954 - INFO: train/mse_loss: 0.0018672444569408156 +23-06-26 19:23:53.955 - INFO: epoch: 1122 +23-06-26 19:23:53.955 - INFO: iters: 2810114 +23-06-26 19:26:41.508 - INFO: train/mse_loss: 0.0018677479583218087 +23-06-26 19:26:41.509 - INFO: epoch: 1123 +23-06-26 19:26:41.510 - INFO: iters: 2812618 +23-06-26 19:29:29.353 - INFO: train/mse_loss: 0.002078841223542135 +23-06-26 19:29:29.353 - INFO: epoch: 1124 +23-06-26 19:29:29.354 - INFO: iters: 2815122 +23-06-26 19:32:17.084 - INFO: train/mse_loss: 0.002079846398062861 +23-06-26 19:32:17.085 - INFO: epoch: 1125 +23-06-26 19:32:17.085 - INFO: iters: 2817626 +23-06-26 19:35:04.797 - INFO: train/mse_loss: 0.0018480321250710125 +23-06-26 19:35:04.797 - INFO: epoch: 1126 +23-06-26 19:35:04.797 - INFO: iters: 2820130 +23-06-26 19:37:52.608 - INFO: train/mse_loss: 0.001882029261392431 +23-06-26 19:37:52.609 - INFO: epoch: 1127 +23-06-26 19:37:52.609 - INFO: iters: 2822634 +23-06-26 19:40:40.272 - INFO: train/mse_loss: 0.0019625700858106223 +23-06-26 19:40:40.273 - INFO: epoch: 1128 +23-06-26 19:40:40.273 - INFO: iters: 2825138 +23-06-26 19:43:28.174 - INFO: train/mse_loss: 0.0021003447294520874 +23-06-26 19:43:28.175 - INFO: epoch: 1129 +23-06-26 19:43:28.175 - INFO: iters: 2827642 +23-06-26 19:46:16.026 - INFO: train/mse_loss: 0.001969597210695509 +23-06-26 19:46:16.027 - INFO: epoch: 1130 +23-06-26 19:46:16.027 - INFO: iters: 2830146 +23-06-26 19:49:03.709 - INFO: train/mse_loss: 0.0019316535856658088 +23-06-26 19:49:03.710 - INFO: epoch: 1131 +23-06-26 19:49:03.710 - INFO: iters: 2832650 +23-06-26 19:51:51.203 - INFO: train/mse_loss: 0.0019422728834620204 +23-06-26 19:51:51.204 - INFO: epoch: 1132 +23-06-26 19:51:51.204 - INFO: iters: 2835154 +23-06-26 19:54:38.654 - INFO: train/mse_loss: 0.0020016313180142935 +23-06-26 19:54:38.654 - INFO: epoch: 1133 +23-06-26 19:54:38.654 - INFO: iters: 2837658 +23-06-26 19:57:26.119 - INFO: train/mse_loss: 0.001950631817667403 +23-06-26 19:57:26.120 - INFO: epoch: 1134 +23-06-26 19:57:26.120 - INFO: iters: 2840162 +23-06-26 20:00:13.907 - INFO: train/mse_loss: 0.002249667752004517 +23-06-26 20:00:13.908 - INFO: epoch: 1135 +23-06-26 20:00:13.908 - INFO: iters: 2842666 +23-06-26 20:03:01.378 - INFO: train/mse_loss: 0.0020491670482024288 +23-06-26 20:03:01.378 - INFO: epoch: 1136 +23-06-26 20:03:01.378 - INFO: iters: 2845170 +23-06-26 20:05:49.141 - INFO: train/mse_loss: 0.0019417941113175176 +23-06-26 20:05:49.141 - INFO: epoch: 1137 +23-06-26 20:05:49.142 - INFO: iters: 2847674 +23-06-26 20:08:37.067 - INFO: train/mse_loss: 0.001923702690696802 +23-06-26 20:08:37.068 - INFO: epoch: 1138 +23-06-26 20:08:37.068 - INFO: iters: 2850178 +23-06-26 20:11:24.591 - INFO: train/mse_loss: 0.0020535673958044084 +23-06-26 20:11:24.591 - INFO: epoch: 1139 +23-06-26 20:11:24.591 - INFO: iters: 2852682 +23-06-26 20:14:12.297 - INFO: train/mse_loss: 0.0018363666185847343 +23-06-26 20:14:12.297 - INFO: epoch: 1140 +23-06-26 20:14:12.298 - INFO: iters: 2855186 +23-06-26 20:16:59.983 - INFO: train/mse_loss: 0.0018285705706851479 +23-06-26 20:16:59.983 - INFO: epoch: 1141 +23-06-26 20:16:59.983 - INFO: iters: 2857690 +23-06-26 20:19:47.814 - INFO: train/mse_loss: 0.0021810906335931663 +23-06-26 20:19:47.815 - INFO: epoch: 1142 +23-06-26 20:19:47.815 - INFO: iters: 2860194 +23-06-26 20:22:35.568 - INFO: train/mse_loss: 0.0019709161189295494 +23-06-26 20:22:35.569 - INFO: epoch: 1143 +23-06-26 20:22:35.571 - INFO: iters: 2862698 +23-06-26 20:25:23.231 - INFO: train/mse_loss: 0.0019379195656044224 +23-06-26 20:25:23.233 - INFO: epoch: 1144 +23-06-26 20:25:23.233 - INFO: iters: 2865202 +23-06-26 20:28:10.877 - INFO: train/mse_loss: 0.0018249085389104444 +23-06-26 20:28:10.878 - INFO: epoch: 1145 +23-06-26 20:28:10.878 - INFO: iters: 2867706 +23-06-26 20:30:58.649 - INFO: train/mse_loss: 0.0019832781875675646 +23-06-26 20:30:58.650 - INFO: epoch: 1146 +23-06-26 20:30:58.650 - INFO: iters: 2870210 +23-06-26 20:33:46.585 - INFO: train/mse_loss: 0.0020152021102018106 +23-06-26 20:33:46.585 - INFO: epoch: 1147 +23-06-26 20:33:46.586 - INFO: iters: 2872714 +23-06-26 20:36:34.306 - INFO: train/mse_loss: 0.0018622725913762309 +23-06-26 20:36:34.307 - INFO: epoch: 1148 +23-06-26 20:36:34.307 - INFO: iters: 2875218 +23-06-26 20:39:22.095 - INFO: train/mse_loss: 0.001988556076840947 +23-06-26 20:39:22.095 - INFO: epoch: 1149 +23-06-26 20:39:22.095 - INFO: iters: 2877722 +23-06-26 20:42:10.002 - INFO: train/mse_loss: 0.002024112920724629 +23-06-26 20:42:10.002 - INFO: epoch: 1150 +23-06-26 20:42:10.002 - INFO: iters: 2880226 +23-06-26 20:44:57.656 - INFO: train/mse_loss: 0.0018789413040682388 +23-06-26 20:44:57.656 - INFO: epoch: 1151 +23-06-26 20:44:57.656 - INFO: iters: 2882730 +23-06-26 20:47:45.255 - INFO: train/mse_loss: 0.0019727909378484247 +23-06-26 20:47:45.255 - INFO: epoch: 1152 +23-06-26 20:47:45.255 - INFO: iters: 2885234 +23-06-26 20:50:32.563 - INFO: train/mse_loss: 0.0020141738473241346 +23-06-26 20:50:32.563 - INFO: epoch: 1153 +23-06-26 20:50:32.564 - INFO: iters: 2887738 +23-06-26 20:53:20.475 - INFO: train/mse_loss: 0.0019015853784936734 +23-06-26 20:53:20.476 - INFO: epoch: 1154 +23-06-26 20:53:20.476 - INFO: iters: 2890242 +23-06-26 20:56:08.445 - INFO: train/mse_loss: 0.001928038441556723 +23-06-26 20:56:08.446 - INFO: epoch: 1155 +23-06-26 20:56:08.446 - INFO: iters: 2892746 +23-06-26 20:58:56.025 - INFO: train/mse_loss: 0.00187454547155827 +23-06-26 20:58:56.026 - INFO: epoch: 1156 +23-06-26 20:58:56.026 - INFO: iters: 2895250 +23-06-26 21:01:43.573 - INFO: train/mse_loss: 0.0018988513652184688 +23-06-26 21:01:43.573 - INFO: epoch: 1157 +23-06-26 21:01:43.573 - INFO: iters: 2897754 +23-06-26 21:04:32.203 - INFO: train/mse_loss: 0.0019182493672527659 +23-06-26 21:04:32.203 - INFO: epoch: 1158 +23-06-26 21:04:32.203 - INFO: iters: 2900258 +23-06-26 21:07:20.022 - INFO: train/mse_loss: 0.0018885319867653373 +23-06-26 21:07:20.022 - INFO: epoch: 1159 +23-06-26 21:07:20.022 - INFO: iters: 2902762 +23-06-26 21:10:07.527 - INFO: train/mse_loss: 0.001892177254547731 +23-06-26 21:10:07.528 - INFO: epoch: 1160 +23-06-26 21:10:07.528 - INFO: iters: 2905266 +23-06-26 21:12:54.971 - INFO: train/mse_loss: 0.0020241302584250347 +23-06-26 21:12:54.972 - INFO: epoch: 1161 +23-06-26 21:12:54.973 - INFO: iters: 2907770 +23-06-26 21:15:42.472 - INFO: train/mse_loss: 0.0020069560272613176 +23-06-26 21:15:42.473 - INFO: epoch: 1162 +23-06-26 21:15:42.473 - INFO: iters: 2910274 +23-06-26 21:18:29.996 - INFO: train/mse_loss: 0.0019409646938061014 +23-06-26 21:18:29.997 - INFO: epoch: 1163 +23-06-26 21:18:29.997 - INFO: iters: 2912778 +23-06-26 21:21:17.852 - INFO: train/mse_loss: 0.001869661594962719 +23-06-26 21:21:17.853 - INFO: epoch: 1164 +23-06-26 21:21:17.853 - INFO: iters: 2915282 +23-06-26 21:24:05.760 - INFO: train/mse_loss: 0.0018348514768904962 +23-06-26 21:24:05.761 - INFO: epoch: 1165 +23-06-26 21:24:05.761 - INFO: iters: 2917786 +23-06-26 21:26:53.909 - INFO: train/mse_loss: 0.00184202556626294 +23-06-26 21:26:53.910 - INFO: epoch: 1166 +23-06-26 21:26:53.910 - INFO: iters: 2920290 +23-06-26 21:29:41.579 - INFO: train/mse_loss: 0.0018987295012504529 +23-06-26 21:29:41.580 - INFO: epoch: 1167 +23-06-26 21:29:41.580 - INFO: iters: 2922794 +23-06-26 21:32:29.539 - INFO: train/mse_loss: 0.0022466347994321524 +23-06-26 21:32:29.540 - INFO: epoch: 1168 +23-06-26 21:32:29.540 - INFO: iters: 2925298 +23-06-26 21:35:17.482 - INFO: train/mse_loss: 0.0020224738991804444 +23-06-26 21:35:17.482 - INFO: epoch: 1169 +23-06-26 21:35:17.482 - INFO: iters: 2927802 +23-06-26 21:38:05.510 - INFO: train/mse_loss: 0.0020380702407914587 +23-06-26 21:38:05.510 - INFO: epoch: 1170 +23-06-26 21:38:05.511 - INFO: iters: 2930306 +23-06-26 21:40:53.216 - INFO: train/mse_loss: 0.0020073042396223915 +23-06-26 21:40:53.217 - INFO: epoch: 1171 +23-06-26 21:40:53.217 - INFO: iters: 2932810 +23-06-26 21:43:40.789 - INFO: train/mse_loss: 0.0019520917706884824 +23-06-26 21:43:40.790 - INFO: epoch: 1172 +23-06-26 21:43:40.790 - INFO: iters: 2935314 +23-06-26 21:46:28.433 - INFO: train/mse_loss: 0.0018544756102944 +23-06-26 21:46:28.434 - INFO: epoch: 1173 +23-06-26 21:46:28.434 - INFO: iters: 2937818 +23-06-26 21:49:16.324 - INFO: train/mse_loss: 0.002119195619084762 +23-06-26 21:49:16.325 - INFO: epoch: 1174 +23-06-26 21:49:16.325 - INFO: iters: 2940322 +23-06-26 21:52:03.979 - INFO: train/mse_loss: 0.001974328891924633 +23-06-26 21:52:03.979 - INFO: epoch: 1175 +23-06-26 21:52:03.979 - INFO: iters: 2942826 +23-06-26 21:54:51.547 - INFO: train/mse_loss: 0.0020629109101765715 +23-06-26 21:54:51.547 - INFO: epoch: 1176 +23-06-26 21:54:51.547 - INFO: iters: 2945330 +23-06-26 21:57:39.232 - INFO: train/mse_loss: 0.0019107432096836547 +23-06-26 21:57:39.232 - INFO: epoch: 1177 +23-06-26 21:57:39.233 - INFO: iters: 2947834 +23-06-26 22:00:26.839 - INFO: train/mse_loss: 0.0018768516834453343 +23-06-26 22:00:26.840 - INFO: epoch: 1178 +23-06-26 22:00:26.840 - INFO: iters: 2950338 +23-06-26 22:03:14.632 - INFO: train/mse_loss: 0.0018987645314762387 +23-06-26 22:03:14.633 - INFO: epoch: 1179 +23-06-26 22:03:14.633 - INFO: iters: 2952842 +23-06-26 22:06:02.372 - INFO: train/mse_loss: 0.0019521892696363144 +23-06-26 22:06:02.373 - INFO: epoch: 1180 +23-06-26 22:06:02.373 - INFO: iters: 2955346 +23-06-26 22:08:50.734 - INFO: train/mse_loss: 0.0018991609886898615 +23-06-26 22:08:50.735 - INFO: epoch: 1181 +23-06-26 22:08:50.735 - INFO: iters: 2957850 +23-06-26 22:11:38.775 - INFO: train/mse_loss: 0.0019322712277136623 +23-06-26 22:11:38.775 - INFO: epoch: 1182 +23-06-26 22:11:38.775 - INFO: iters: 2960354 +23-06-26 22:14:26.242 - INFO: train/mse_loss: 0.0019455615826436102 +23-06-26 22:14:26.243 - INFO: epoch: 1183 +23-06-26 22:14:26.243 - INFO: iters: 2962858 +23-06-26 22:17:14.369 - INFO: train/mse_loss: 0.0018744511230768392 +23-06-26 22:17:14.369 - INFO: epoch: 1184 +23-06-26 22:17:14.370 - INFO: iters: 2965362 +23-06-26 22:20:02.246 - INFO: train/mse_loss: 0.0018345809462792671 +23-06-26 22:20:02.246 - INFO: epoch: 1185 +23-06-26 22:20:02.246 - INFO: iters: 2967866 +23-06-26 22:22:49.795 - INFO: train/mse_loss: 0.002093606537353759 +23-06-26 22:22:49.795 - INFO: epoch: 1186 +23-06-26 22:22:49.795 - INFO: iters: 2970370 +23-06-26 22:25:37.458 - INFO: train/mse_loss: 0.0019681586362510777 +23-06-26 22:25:37.458 - INFO: epoch: 1187 +23-06-26 22:25:37.458 - INFO: iters: 2972874 +23-06-26 22:28:25.222 - INFO: train/mse_loss: 0.0021422204889577274 +23-06-26 22:28:25.223 - INFO: epoch: 1188 +23-06-26 22:28:25.224 - INFO: iters: 2975378 +23-06-26 22:31:13.522 - INFO: train/mse_loss: 0.001872756224781715 +23-06-26 22:31:13.522 - INFO: epoch: 1189 +23-06-26 22:31:13.522 - INFO: iters: 2977882 +23-06-26 22:34:01.395 - INFO: train/mse_loss: 0.0019565784698203446 +23-06-26 22:34:01.395 - INFO: epoch: 1190 +23-06-26 22:34:01.396 - INFO: iters: 2980386 +23-06-26 22:36:49.017 - INFO: train/mse_loss: 0.002039041325707322 +23-06-26 22:36:49.018 - INFO: epoch: 1191 +23-06-26 22:36:49.018 - INFO: iters: 2982890 +23-06-26 22:39:36.632 - INFO: train/mse_loss: 0.0018549483721724714 +23-06-26 22:39:36.633 - INFO: epoch: 1192 +23-06-26 22:39:36.633 - INFO: iters: 2985394 +23-06-26 22:42:24.327 - INFO: train/mse_loss: 0.0018481161574068399 +23-06-26 22:42:24.327 - INFO: epoch: 1193 +23-06-26 22:42:24.327 - INFO: iters: 2987898 +23-06-26 22:45:12.088 - INFO: train/mse_loss: 0.0018735230376292317 +23-06-26 22:45:12.089 - INFO: epoch: 1194 +23-06-26 22:45:12.089 - INFO: iters: 2990402 +23-06-26 22:47:59.965 - INFO: train/mse_loss: 0.0019460156022127683 +23-06-26 22:47:59.966 - INFO: epoch: 1195 +23-06-26 22:47:59.966 - INFO: iters: 2992906 +23-06-26 22:50:47.573 - INFO: train/mse_loss: 0.0019178808262845437 +23-06-26 22:50:47.573 - INFO: epoch: 1196 +23-06-26 22:50:47.573 - INFO: iters: 2995410 +23-06-26 22:53:35.365 - INFO: train/mse_loss: 0.0019449235933919112 +23-06-26 22:53:35.366 - INFO: epoch: 1197 +23-06-26 22:53:35.366 - INFO: iters: 2997914 +23-06-26 22:56:23.281 - INFO: train/mse_loss: 0.0019499067994081579 +23-06-26 22:56:23.282 - INFO: epoch: 1198 +23-06-26 22:56:23.282 - INFO: iters: 3000418 +23-06-26 22:59:11.081 - INFO: train/mse_loss: 0.0018165796471108049 +23-06-26 22:59:11.081 - INFO: epoch: 1199 +23-06-26 22:59:11.081 - INFO: iters: 3002922 +23-06-26 23:01:58.450 - INFO: train/mse_loss: 0.0019004659934754903 +23-06-26 23:01:58.450 - INFO: epoch: 1200 +23-06-26 23:01:58.450 - INFO: iters: 3005426 +23-06-26 23:04:45.997 - INFO: train/mse_loss: 0.0020471831367830165 +23-06-26 23:04:45.998 - INFO: epoch: 1201 +23-06-26 23:04:45.998 - INFO: iters: 3007930 +23-06-26 23:07:33.782 - INFO: train/mse_loss: 0.001895409755999395 +23-06-26 23:07:33.782 - INFO: epoch: 1202 +23-06-26 23:07:33.782 - INFO: iters: 3010434 +23-06-26 23:10:21.503 - INFO: train/mse_loss: 0.0018587663024738311 +23-06-26 23:10:21.503 - INFO: epoch: 1203 +23-06-26 23:10:21.503 - INFO: iters: 3012938 +23-06-26 23:13:09.272 - INFO: train/mse_loss: 0.0020293228652926323 +23-06-26 23:13:09.273 - INFO: epoch: 1204 +23-06-26 23:13:09.273 - INFO: iters: 3015442 +23-06-26 23:15:57.003 - INFO: train/mse_loss: 0.0018560650898664357 +23-06-26 23:15:57.004 - INFO: epoch: 1205 +23-06-26 23:15:57.004 - INFO: iters: 3017946 +23-06-26 23:18:44.454 - INFO: train/mse_loss: 0.0018877945094631194 +23-06-26 23:18:44.454 - INFO: epoch: 1206 +23-06-26 23:18:44.454 - INFO: iters: 3020450 +23-06-26 23:21:32.224 - INFO: train/mse_loss: 0.0019231294268763032 +23-06-26 23:21:32.224 - INFO: epoch: 1207 +23-06-26 23:21:32.224 - INFO: iters: 3022954 +23-06-26 23:24:20.229 - INFO: train/mse_loss: 0.0018736105983163387 +23-06-26 23:24:20.230 - INFO: epoch: 1208 +23-06-26 23:24:20.230 - INFO: iters: 3025458 +23-06-26 23:27:08.007 - INFO: train/mse_loss: 0.0018890201309011481 +23-06-26 23:27:08.007 - INFO: epoch: 1209 +23-06-26 23:27:08.007 - INFO: iters: 3027962 +23-06-26 23:29:55.636 - INFO: train/mse_loss: 0.0018312606905488828 +23-06-26 23:29:55.637 - INFO: epoch: 1210 +23-06-26 23:29:55.637 - INFO: iters: 3030466 +23-06-26 23:32:43.330 - INFO: train/mse_loss: 0.0019801917964571746 +23-06-26 23:32:43.330 - INFO: epoch: 1211 +23-06-26 23:32:43.331 - INFO: iters: 3032970 +23-06-26 23:35:30.987 - INFO: train/mse_loss: 0.0021428356191497476 +23-06-26 23:35:30.989 - INFO: epoch: 1212 +23-06-26 23:35:30.989 - INFO: iters: 3035474 +23-06-26 23:38:18.744 - INFO: train/mse_loss: 0.0019259446731265694 +23-06-26 23:38:18.744 - INFO: epoch: 1213 +23-06-26 23:38:18.744 - INFO: iters: 3037978 +23-06-26 23:41:06.435 - INFO: train/mse_loss: 0.001839314042531049 +23-06-26 23:41:06.436 - INFO: epoch: 1214 +23-06-26 23:41:06.436 - INFO: iters: 3040482 +23-06-26 23:43:54.654 - INFO: train/mse_loss: 0.0018245733784550367 +23-06-26 23:43:54.654 - INFO: epoch: 1215 +23-06-26 23:43:54.655 - INFO: iters: 3042986 +23-06-26 23:46:42.467 - INFO: train/mse_loss: 0.002026208118496897 +23-06-26 23:46:42.467 - INFO: epoch: 1216 +23-06-26 23:46:42.468 - INFO: iters: 3045490 +23-06-26 23:49:30.137 - INFO: train/mse_loss: 0.0019568433276951885 +23-06-26 23:49:30.138 - INFO: epoch: 1217 +23-06-26 23:49:30.138 - INFO: iters: 3047994 +23-06-26 23:52:18.145 - INFO: train/mse_loss: 0.0019590197073016016 +23-06-26 23:52:18.146 - INFO: epoch: 1218 +23-06-26 23:52:18.146 - INFO: iters: 3050498 +23-06-26 23:55:05.761 - INFO: train/mse_loss: 0.0018582759717384132 +23-06-26 23:55:05.761 - INFO: epoch: 1219 +23-06-26 23:55:05.762 - INFO: iters: 3053002 +23-06-26 23:57:53.510 - INFO: train/mse_loss: 0.0018830582441482396 +23-06-26 23:57:53.510 - INFO: epoch: 1220 +23-06-26 23:57:53.510 - INFO: iters: 3055506 +23-06-27 00:00:41.388 - INFO: train/mse_loss: 0.0019642007834733293 +23-06-27 00:00:41.389 - INFO: epoch: 1221 +23-06-27 00:00:41.389 - INFO: iters: 3058010 +23-06-27 00:03:29.179 - INFO: train/mse_loss: 0.0017548740213623824 +23-06-27 00:03:29.179 - INFO: epoch: 1222 +23-06-27 00:03:29.179 - INFO: iters: 3060514 +23-06-27 00:06:17.034 - INFO: train/mse_loss: 0.0018277202539269427 +23-06-27 00:06:17.035 - INFO: epoch: 1223 +23-06-27 00:06:17.035 - INFO: iters: 3063018 +23-06-27 00:09:05.089 - INFO: train/mse_loss: 0.0018483327882819638 +23-06-27 00:09:05.090 - INFO: epoch: 1224 +23-06-27 00:09:05.090 - INFO: iters: 3065522 +23-06-27 00:11:53.467 - INFO: train/mse_loss: 0.001840069058749932 +23-06-27 00:11:53.468 - INFO: epoch: 1225 +23-06-27 00:11:53.468 - INFO: iters: 3068026 +23-06-27 00:14:41.563 - INFO: train/mse_loss: 0.0019167249175398567 +23-06-27 00:14:41.565 - INFO: epoch: 1226 +23-06-27 00:14:41.565 - INFO: iters: 3070530 +23-06-27 00:17:29.490 - INFO: train/mse_loss: 0.0019131962869378823 +23-06-27 00:17:29.491 - INFO: epoch: 1227 +23-06-27 00:17:29.491 - INFO: iters: 3073034 +23-06-27 00:20:17.385 - INFO: train/mse_loss: 0.0018707621605886808 +23-06-27 00:20:17.385 - INFO: epoch: 1228 +23-06-27 00:20:17.385 - INFO: iters: 3075538 +23-06-27 00:23:05.302 - INFO: train/mse_loss: 0.0018475221596641865 +23-06-27 00:23:05.303 - INFO: epoch: 1229 +23-06-27 00:23:05.303 - INFO: iters: 3078042 +23-06-27 00:25:52.960 - INFO: train/mse_loss: 0.0018917343206554889 +23-06-27 00:25:52.961 - INFO: epoch: 1230 +23-06-27 00:25:52.961 - INFO: iters: 3080546 +23-06-27 00:28:40.531 - INFO: train/mse_loss: 0.0018923463178620028 +23-06-27 00:28:40.531 - INFO: epoch: 1231 +23-06-27 00:28:40.531 - INFO: iters: 3083050 +23-06-27 00:31:28.312 - INFO: train/mse_loss: 0.0020857084627685764 +23-06-27 00:31:28.313 - INFO: epoch: 1232 +23-06-27 00:31:28.313 - INFO: iters: 3085554 +23-06-27 00:34:16.284 - INFO: train/mse_loss: 0.0018238624990783846 +23-06-27 00:34:16.284 - INFO: epoch: 1233 +23-06-27 00:34:16.284 - INFO: iters: 3088058 +23-06-27 00:37:04.005 - INFO: train/mse_loss: 0.0018514565472229243 +23-06-27 00:37:04.006 - INFO: epoch: 1234 +23-06-27 00:37:04.006 - INFO: iters: 3090562 +23-06-27 00:39:51.927 - INFO: train/mse_loss: 0.0019008802614894848 +23-06-27 00:39:51.927 - INFO: epoch: 1235 +23-06-27 00:39:51.927 - INFO: iters: 3093066 +23-06-27 00:42:39.802 - INFO: train/mse_loss: 0.0018739050208477857 +23-06-27 00:42:39.803 - INFO: epoch: 1236 +23-06-27 00:42:39.803 - INFO: iters: 3095570 +23-06-27 00:45:27.757 - INFO: train/mse_loss: 0.002001083283774412 +23-06-27 00:45:27.758 - INFO: epoch: 1237 +23-06-27 00:45:27.758 - INFO: iters: 3098074 +23-06-27 00:48:15.421 - INFO: train/mse_loss: 0.001818292296510904 +23-06-27 00:48:15.422 - INFO: epoch: 1238 +23-06-27 00:48:15.422 - INFO: iters: 3100578 +23-06-27 00:51:02.964 - INFO: train/mse_loss: 0.0017999607595256544 +23-06-27 00:51:02.965 - INFO: epoch: 1239 +23-06-27 00:51:02.965 - INFO: iters: 3103082 +23-06-27 00:53:50.975 - INFO: train/mse_loss: 0.00181487389280797 +23-06-27 00:53:50.976 - INFO: epoch: 1240 +23-06-27 00:53:50.976 - INFO: iters: 3105586 +23-06-27 00:56:38.582 - INFO: train/mse_loss: 0.0017593510654612115 +23-06-27 00:56:38.583 - INFO: epoch: 1241 +23-06-27 00:56:38.583 - INFO: iters: 3108090 +23-06-27 00:59:26.142 - INFO: train/mse_loss: 0.0017776943030231558 +23-06-27 00:59:26.142 - INFO: epoch: 1242 +23-06-27 00:59:26.142 - INFO: iters: 3110594 +23-06-27 01:02:13.853 - INFO: train/mse_loss: 0.0018051068775337964 +23-06-27 01:02:13.853 - INFO: epoch: 1243 +23-06-27 01:02:13.853 - INFO: iters: 3113098 +23-06-27 01:05:01.303 - INFO: train/mse_loss: 0.0018475535587919429 +23-06-27 01:05:01.304 - INFO: epoch: 1244 +23-06-27 01:05:01.304 - INFO: iters: 3115602 +23-06-27 01:07:48.672 - INFO: train/mse_loss: 0.0018142436533577194 +23-06-27 01:07:48.673 - INFO: epoch: 1245 +23-06-27 01:07:48.673 - INFO: iters: 3118106 +23-06-27 01:10:36.285 - INFO: train/mse_loss: 0.002009098260542943 +23-06-27 01:10:36.285 - INFO: epoch: 1246 +23-06-27 01:10:36.285 - INFO: iters: 3120610 +23-06-27 01:13:24.082 - INFO: train/mse_loss: 0.0019370155699458865 +23-06-27 01:13:24.083 - INFO: epoch: 1247 +23-06-27 01:13:24.083 - INFO: iters: 3123114 +23-06-27 01:16:12.281 - INFO: train/mse_loss: 0.0019196496563056074 +23-06-27 01:16:12.281 - INFO: epoch: 1248 +23-06-27 01:16:12.281 - INFO: iters: 3125618 +23-06-27 01:19:00.033 - INFO: train/mse_loss: 0.0018108198647952666 +23-06-27 01:19:00.034 - INFO: epoch: 1249 +23-06-27 01:19:00.034 - INFO: iters: 3128122 +23-06-27 01:21:47.899 - INFO: train/mse_loss: 0.001791477097553936 +23-06-27 01:21:47.900 - INFO: epoch: 1250 +23-06-27 01:21:47.900 - INFO: iters: 3130626 +23-06-27 01:24:35.819 - INFO: train/mse_loss: 0.0018067246116251468 +23-06-27 01:24:35.820 - INFO: epoch: 1251 +23-06-27 01:24:35.820 - INFO: iters: 3133130 +23-06-27 01:27:23.884 - INFO: train/mse_loss: 0.0019115326597322576 +23-06-27 01:27:23.886 - INFO: epoch: 1252 +23-06-27 01:27:23.886 - INFO: iters: 3135634 +23-06-27 01:30:12.139 - INFO: train/mse_loss: 0.0018741810226072066 +23-06-27 01:30:12.139 - INFO: epoch: 1253 +23-06-27 01:30:12.139 - INFO: iters: 3138138 +23-06-27 01:33:00.018 - INFO: train/mse_loss: 0.001883601859441033 +23-06-27 01:33:00.019 - INFO: epoch: 1254 +23-06-27 01:33:00.019 - INFO: iters: 3140642 +23-06-27 01:35:48.063 - INFO: train/mse_loss: 0.0018624085580562643 +23-06-27 01:35:48.064 - INFO: epoch: 1255 +23-06-27 01:35:48.064 - INFO: iters: 3143146 +23-06-27 01:38:35.671 - INFO: train/mse_loss: 0.0017524659940481972 +23-06-27 01:38:35.672 - INFO: epoch: 1256 +23-06-27 01:38:35.672 - INFO: iters: 3145650 +23-06-27 01:41:23.452 - INFO: train/mse_loss: 0.0017757130818018994 +23-06-27 01:41:23.453 - INFO: epoch: 1257 +23-06-27 01:41:23.453 - INFO: iters: 3148154 +23-06-27 01:44:11.296 - INFO: train/mse_loss: 0.0018212652680413507 +23-06-27 01:44:11.296 - INFO: epoch: 1258 +23-06-27 01:44:11.297 - INFO: iters: 3150658 +23-06-27 01:46:59.211 - INFO: train/mse_loss: 0.0018240832507955475 +23-06-27 01:46:59.212 - INFO: epoch: 1259 +23-06-27 01:46:59.212 - INFO: iters: 3153162 +23-06-27 01:49:46.911 - INFO: train/mse_loss: 0.0017793480672846777 +23-06-27 01:49:46.912 - INFO: epoch: 1260 +23-06-27 01:49:46.912 - INFO: iters: 3155666 +23-06-27 01:52:34.739 - INFO: train/mse_loss: 0.0018504335693405054 +23-06-27 01:52:34.740 - INFO: epoch: 1261 +23-06-27 01:52:34.740 - INFO: iters: 3158170 +23-06-27 01:55:22.602 - INFO: train/mse_loss: 0.001825371839347096 +23-06-27 01:55:22.602 - INFO: epoch: 1262 +23-06-27 01:55:22.602 - INFO: iters: 3160674 +23-06-27 01:58:10.654 - INFO: train/mse_loss: 0.0018293717771935196 +23-06-27 01:58:10.655 - INFO: epoch: 1263 +23-06-27 01:58:10.655 - INFO: iters: 3163178 +23-06-27 02:00:58.560 - INFO: train/mse_loss: 0.001739187027177455 +23-06-27 02:00:58.561 - INFO: epoch: 1264 +23-06-27 02:00:58.561 - INFO: iters: 3165682 +23-06-27 02:03:46.545 - INFO: train/mse_loss: 0.0018243529612924486 +23-06-27 02:03:46.546 - INFO: epoch: 1265 +23-06-27 02:03:46.546 - INFO: iters: 3168186 +23-06-27 02:06:34.253 - INFO: train/mse_loss: 0.0023814570123386293 +23-06-27 02:06:34.254 - INFO: epoch: 1266 +23-06-27 02:06:34.254 - INFO: iters: 3170690 +23-06-27 02:09:22.161 - INFO: train/mse_loss: 0.001943892307807141 +23-06-27 02:09:22.162 - INFO: epoch: 1267 +23-06-27 02:09:22.162 - INFO: iters: 3173194 +23-06-27 02:12:09.894 - INFO: train/mse_loss: 0.0018455393624658616 +23-06-27 02:12:09.894 - INFO: epoch: 1268 +23-06-27 02:12:09.895 - INFO: iters: 3175698 +23-06-27 02:14:57.578 - INFO: train/mse_loss: 0.0017519056026752407 +23-06-27 02:14:57.579 - INFO: epoch: 1269 +23-06-27 02:14:57.579 - INFO: iters: 3178202 +23-06-27 02:17:45.527 - INFO: train/mse_loss: 0.0018245783441450101 +23-06-27 02:17:45.527 - INFO: epoch: 1270 +23-06-27 02:17:45.528 - INFO: iters: 3180706 +23-06-27 02:20:32.902 - INFO: train/mse_loss: 0.001722631887767089 +23-06-27 02:20:32.903 - INFO: epoch: 1271 +23-06-27 02:20:32.903 - INFO: iters: 3183210 +23-06-27 02:23:20.591 - INFO: train/mse_loss: 0.001746022440110015 +23-06-27 02:23:20.592 - INFO: epoch: 1272 +23-06-27 02:23:20.593 - INFO: iters: 3185714 +23-06-27 02:26:08.592 - INFO: train/mse_loss: 0.0017674659641411976 +23-06-27 02:26:08.593 - INFO: epoch: 1273 +23-06-27 02:26:08.593 - INFO: iters: 3188218 +23-06-27 02:28:56.679 - INFO: train/mse_loss: 0.0019130973363319002 +23-06-27 02:28:56.679 - INFO: epoch: 1274 +23-06-27 02:28:56.679 - INFO: iters: 3190722 +23-06-27 02:31:44.595 - INFO: train/mse_loss: 0.0017930313639086895 +23-06-27 02:31:44.595 - INFO: epoch: 1275 +23-06-27 02:31:44.595 - INFO: iters: 3193226 +23-06-27 02:34:32.200 - INFO: train/mse_loss: 0.0017502925786622666 +23-06-27 02:34:32.200 - INFO: epoch: 1276 +23-06-27 02:34:32.200 - INFO: iters: 3195730 +23-06-27 02:37:19.916 - INFO: train/mse_loss: 0.001778083394271152 +23-06-27 02:37:19.917 - INFO: epoch: 1277 +23-06-27 02:37:19.917 - INFO: iters: 3198234 +23-06-27 02:40:07.631 - INFO: train/mse_loss: 0.0017981294636650327 +23-06-27 02:40:07.632 - INFO: epoch: 1278 +23-06-27 02:40:07.632 - INFO: iters: 3200738 +23-06-27 02:42:55.811 - INFO: train/mse_loss: 0.001963400958513561 +23-06-27 02:42:55.812 - INFO: epoch: 1279 +23-06-27 02:42:55.812 - INFO: iters: 3203242 +23-06-27 02:45:43.484 - INFO: train/mse_loss: 0.0018691340077909443 +23-06-27 02:45:43.485 - INFO: epoch: 1280 +23-06-27 02:45:43.485 - INFO: iters: 3205746 +23-06-27 02:48:31.554 - INFO: train/mse_loss: 0.0018402447612709202 +23-06-27 02:48:31.554 - INFO: epoch: 1281 +23-06-27 02:48:31.554 - INFO: iters: 3208250 +23-06-27 02:51:19.513 - INFO: train/mse_loss: 0.001753213339501593 +23-06-27 02:51:19.513 - INFO: epoch: 1282 +23-06-27 02:51:19.513 - INFO: iters: 3210754 +23-06-27 02:54:07.288 - INFO: train/mse_loss: 0.0017631395216718816 +23-06-27 02:54:07.288 - INFO: epoch: 1283 +23-06-27 02:54:07.288 - INFO: iters: 3213258 +23-06-27 02:56:55.062 - INFO: train/mse_loss: 0.001754863150849248 +23-06-27 02:56:55.063 - INFO: epoch: 1284 +23-06-27 02:56:55.063 - INFO: iters: 3215762 +23-06-27 02:59:42.496 - INFO: train/mse_loss: 0.0017380740729900012 +23-06-27 02:59:42.496 - INFO: epoch: 1285 +23-06-27 02:59:42.497 - INFO: iters: 3218266 +23-06-27 03:02:30.207 - INFO: train/mse_loss: 0.0018609033017151486 +23-06-27 03:02:30.207 - INFO: epoch: 1286 +23-06-27 03:02:30.207 - INFO: iters: 3220770 +23-06-27 03:05:17.705 - INFO: train/mse_loss: 0.0018401784671153636 +23-06-27 03:05:17.706 - INFO: epoch: 1287 +23-06-27 03:05:17.706 - INFO: iters: 3223274 +23-06-27 03:08:05.338 - INFO: train/mse_loss: 0.0018749751774341274 +23-06-27 03:08:05.338 - INFO: epoch: 1288 +23-06-27 03:08:05.339 - INFO: iters: 3225778 +23-06-27 03:10:53.317 - INFO: train/mse_loss: 0.001805879146001263 +23-06-27 03:10:53.317 - INFO: epoch: 1289 +23-06-27 03:10:53.318 - INFO: iters: 3228282 +23-06-27 03:13:41.165 - INFO: train/mse_loss: 0.0018459935579597713 +23-06-27 03:13:41.166 - INFO: epoch: 1290 +23-06-27 03:13:41.166 - INFO: iters: 3230786 +23-06-27 03:16:28.856 - INFO: train/mse_loss: 0.0017639394126499233 +23-06-27 03:16:28.856 - INFO: epoch: 1291 +23-06-27 03:16:28.856 - INFO: iters: 3233290 +23-06-27 03:19:16.441 - INFO: train/mse_loss: 0.0017145598780909798 +23-06-27 03:19:16.442 - INFO: epoch: 1292 +23-06-27 03:19:16.442 - INFO: iters: 3235794 +23-06-27 03:22:04.171 - INFO: train/mse_loss: 0.0017945349297170845 +23-06-27 03:22:04.172 - INFO: epoch: 1293 +23-06-27 03:22:04.172 - INFO: iters: 3238298 +23-06-27 03:24:51.730 - INFO: train/mse_loss: 0.0019441770007328008 +23-06-27 03:24:51.731 - INFO: epoch: 1294 +23-06-27 03:24:51.731 - INFO: iters: 3240802 +23-06-27 03:27:39.435 - INFO: train/mse_loss: 0.001771907412116758 +23-06-27 03:27:39.435 - INFO: epoch: 1295 +23-06-27 03:27:39.436 - INFO: iters: 3243306 +23-06-27 03:30:27.213 - INFO: train/mse_loss: 0.001821679877304731 +23-06-27 03:30:27.214 - INFO: epoch: 1296 +23-06-27 03:30:27.214 - INFO: iters: 3245810 +23-06-27 03:33:14.945 - INFO: train/mse_loss: 0.0017929949924891321 +23-06-27 03:33:14.945 - INFO: epoch: 1297 +23-06-27 03:33:14.945 - INFO: iters: 3248314 +23-06-27 03:36:02.985 - INFO: train/mse_loss: 0.0018210284346446824 +23-06-27 03:36:02.985 - INFO: epoch: 1298 +23-06-27 03:36:02.985 - INFO: iters: 3250818 +23-06-27 03:38:50.664 - INFO: train/mse_loss: 0.0018645770122154286 +23-06-27 03:38:50.665 - INFO: epoch: 1299 +23-06-27 03:38:50.665 - INFO: iters: 3253322 +23-06-27 03:41:38.739 - INFO: train/mse_loss: 0.0017630078375321656 +23-06-27 03:41:38.739 - INFO: epoch: 1300 +23-06-27 03:41:38.739 - INFO: iters: 3255826 +23-06-27 03:44:26.894 - INFO: train/mse_loss: 0.0018108617276334153 +23-06-27 03:44:26.895 - INFO: epoch: 1301 +23-06-27 03:44:26.895 - INFO: iters: 3258330 +23-06-27 03:47:14.712 - INFO: train/mse_loss: 0.0018031059879811105 +23-06-27 03:47:14.712 - INFO: epoch: 1302 +23-06-27 03:47:14.713 - INFO: iters: 3260834 +23-06-27 03:50:02.977 - INFO: train/mse_loss: 0.001812418248465719 +23-06-27 03:50:02.978 - INFO: epoch: 1303 +23-06-27 03:50:02.978 - INFO: iters: 3263338 +23-06-27 03:52:50.720 - INFO: train/mse_loss: 0.0018066744312283973 +23-06-27 03:52:50.721 - INFO: epoch: 1304 +23-06-27 03:52:50.721 - INFO: iters: 3265842 +23-06-27 03:55:38.954 - INFO: train/mse_loss: 0.0018265673551506128 +23-06-27 03:55:38.954 - INFO: epoch: 1305 +23-06-27 03:55:38.954 - INFO: iters: 3268346 +23-06-27 03:58:26.978 - INFO: train/mse_loss: 0.0018364799416478212 +23-06-27 03:58:26.978 - INFO: epoch: 1306 +23-06-27 03:58:26.979 - INFO: iters: 3270850 +23-06-27 04:01:14.545 - INFO: train/mse_loss: 0.0018463126557043043 +23-06-27 04:01:14.546 - INFO: epoch: 1307 +23-06-27 04:01:14.546 - INFO: iters: 3273354 +23-06-27 04:04:02.601 - INFO: train/mse_loss: 0.0022694951301952377 +23-06-27 04:04:02.602 - INFO: epoch: 1308 +23-06-27 04:04:02.602 - INFO: iters: 3275858 +23-06-27 04:06:50.305 - INFO: train/mse_loss: 0.00221345030863326 +23-06-27 04:06:50.306 - INFO: epoch: 1309 +23-06-27 04:06:50.306 - INFO: iters: 3278362 +23-06-27 04:09:37.982 - INFO: train/mse_loss: 0.0017835478807543628 +23-06-27 04:09:37.982 - INFO: epoch: 1310 +23-06-27 04:09:37.982 - INFO: iters: 3280866 +23-06-27 04:12:25.666 - INFO: train/mse_loss: 0.0018195814303176019 +23-06-27 04:12:25.666 - INFO: epoch: 1311 +23-06-27 04:12:25.667 - INFO: iters: 3283370 +23-06-27 04:15:13.392 - INFO: train/mse_loss: 0.0016813346515997304 +23-06-27 04:15:13.393 - INFO: epoch: 1312 +23-06-27 04:15:13.393 - INFO: iters: 3285874 +23-06-27 04:18:01.195 - INFO: train/mse_loss: 0.0017627356953311937 +23-06-27 04:18:01.195 - INFO: epoch: 1313 +23-06-27 04:18:01.195 - INFO: iters: 3288378 +23-06-27 04:20:48.895 - INFO: train/mse_loss: 0.0017907016765744315 +23-06-27 04:20:48.896 - INFO: epoch: 1314 +23-06-27 04:20:48.897 - INFO: iters: 3290882 +23-06-27 04:23:36.191 - INFO: train/mse_loss: 0.00189783269023975 +23-06-27 04:23:36.191 - INFO: epoch: 1315 +23-06-27 04:23:36.191 - INFO: iters: 3293386 +23-06-27 04:26:23.884 - INFO: train/mse_loss: 0.0018352818014784552 +23-06-27 04:26:23.885 - INFO: epoch: 1316 +23-06-27 04:26:23.885 - INFO: iters: 3295890 +23-06-27 04:29:11.623 - INFO: train/mse_loss: 0.0017174644863044027 +23-06-27 04:29:11.623 - INFO: epoch: 1317 +23-06-27 04:29:11.623 - INFO: iters: 3298394 +23-06-27 04:31:59.166 - INFO: train/mse_loss: 0.001761132667879589 +23-06-27 04:31:59.166 - INFO: epoch: 1318 +23-06-27 04:31:59.166 - INFO: iters: 3300898 +23-06-27 04:34:46.721 - INFO: train/mse_loss: 0.0017596655703795412 +23-06-27 04:34:46.721 - INFO: epoch: 1319 +23-06-27 04:34:46.721 - INFO: iters: 3303402 +23-06-27 04:37:34.095 - INFO: train/mse_loss: 0.0018114984926645653 +23-06-27 04:37:34.095 - INFO: epoch: 1320 +23-06-27 04:37:34.095 - INFO: iters: 3305906 +23-06-27 04:40:21.408 - INFO: train/mse_loss: 0.0016769709208007224 +23-06-27 04:40:21.408 - INFO: epoch: 1321 +23-06-27 04:40:21.409 - INFO: iters: 3308410 +23-06-27 04:43:09.192 - INFO: train/mse_loss: 0.0017393793947563265 +23-06-27 04:43:09.192 - INFO: epoch: 1322 +23-06-27 04:43:09.192 - INFO: iters: 3310914 +23-06-27 04:45:56.868 - INFO: train/mse_loss: 0.001791268841608222 +23-06-27 04:45:56.868 - INFO: epoch: 1323 +23-06-27 04:45:56.869 - INFO: iters: 3313418 +23-06-27 04:48:44.423 - INFO: train/mse_loss: 0.0019208740343684895 +23-06-27 04:48:44.424 - INFO: epoch: 1324 +23-06-27 04:48:44.424 - INFO: iters: 3315922 +23-06-27 04:51:32.296 - INFO: train/mse_loss: 0.001760318986149118 +23-06-27 04:51:32.297 - INFO: epoch: 1325 +23-06-27 04:51:32.297 - INFO: iters: 3318426 +23-06-27 04:54:20.109 - INFO: train/mse_loss: 0.0017921957933082105 +23-06-27 04:54:20.110 - INFO: epoch: 1326 +23-06-27 04:54:20.110 - INFO: iters: 3320930 +23-06-27 04:57:07.814 - INFO: train/mse_loss: 0.0018377931976018432 +23-06-27 04:57:07.814 - INFO: epoch: 1327 +23-06-27 04:57:07.814 - INFO: iters: 3323434 +23-06-27 04:59:55.667 - INFO: train/mse_loss: 0.0019524998818940748 +23-06-27 04:59:55.668 - INFO: epoch: 1328 +23-06-27 04:59:55.668 - INFO: iters: 3325938 +23-06-27 05:02:43.280 - INFO: train/mse_loss: 0.0018165182536497664 +23-06-27 05:02:43.281 - INFO: epoch: 1329 +23-06-27 05:02:43.281 - INFO: iters: 3328442 +23-06-27 05:05:30.868 - INFO: train/mse_loss: 0.0017757369718624475 +23-06-27 05:05:30.868 - INFO: epoch: 1330 +23-06-27 05:05:30.868 - INFO: iters: 3330946 +23-06-27 05:08:18.653 - INFO: train/mse_loss: 0.001811578535637 +23-06-27 05:08:18.653 - INFO: epoch: 1331 +23-06-27 05:08:18.654 - INFO: iters: 3333450 +23-06-27 05:11:06.158 - INFO: train/mse_loss: 0.0017360640485538914 +23-06-27 05:11:06.159 - INFO: epoch: 1332 +23-06-27 05:11:06.159 - INFO: iters: 3335954 +23-06-27 05:13:53.792 - INFO: train/mse_loss: 0.0017194371416081732 +23-06-27 05:13:53.793 - INFO: epoch: 1333 +23-06-27 05:13:53.793 - INFO: iters: 3338458 +23-06-27 05:16:41.420 - INFO: train/mse_loss: 0.0018852488044798137 +23-06-27 05:16:41.420 - INFO: epoch: 1334 +23-06-27 05:16:41.421 - INFO: iters: 3340962 +23-06-27 05:19:29.210 - INFO: train/mse_loss: 0.0018256691599877687 +23-06-27 05:19:29.210 - INFO: epoch: 1335 +23-06-27 05:19:29.210 - INFO: iters: 3343466 +23-06-27 05:22:16.853 - INFO: train/mse_loss: 0.0017755988480585713 +23-06-27 05:22:16.854 - INFO: epoch: 1336 +23-06-27 05:22:16.854 - INFO: iters: 3345970 +23-06-27 05:25:04.536 - INFO: train/mse_loss: 0.0018902804842739465 +23-06-27 05:25:04.537 - INFO: epoch: 1337 +23-06-27 05:25:04.537 - INFO: iters: 3348474 +23-06-27 05:27:52.248 - INFO: train/mse_loss: 0.0017823203579900553 +23-06-27 05:27:52.249 - INFO: epoch: 1338 +23-06-27 05:27:52.249 - INFO: iters: 3350978 +23-06-27 05:30:39.863 - INFO: train/mse_loss: 0.0017240639527167636 +23-06-27 05:30:39.864 - INFO: epoch: 1339 +23-06-27 05:30:39.864 - INFO: iters: 3353482 +23-06-27 05:33:27.419 - INFO: train/mse_loss: 0.0018025480377035566 +23-06-27 05:33:27.419 - INFO: epoch: 1340 +23-06-27 05:33:27.420 - INFO: iters: 3355986 +23-06-27 05:36:15.390 - INFO: train/mse_loss: 0.001680484757916377 +23-06-27 05:36:15.390 - INFO: epoch: 1341 +23-06-27 05:36:15.390 - INFO: iters: 3358490 +23-06-27 05:39:03.941 - INFO: train/mse_loss: 0.0017478564618744503 +23-06-27 05:39:03.942 - INFO: epoch: 1342 +23-06-27 05:39:03.942 - INFO: iters: 3360994 +23-06-27 05:41:52.162 - INFO: train/mse_loss: 0.0016894471525146176 +23-06-27 05:41:52.163 - INFO: epoch: 1343 +23-06-27 05:41:52.163 - INFO: iters: 3363498 +23-06-27 05:44:40.774 - INFO: train/mse_loss: 0.0018030069919062045 +23-06-27 05:44:40.775 - INFO: epoch: 1344 +23-06-27 05:44:40.775 - INFO: iters: 3366002 +23-06-27 05:47:28.511 - INFO: train/mse_loss: 0.001660533871902629 +23-06-27 05:47:28.512 - INFO: epoch: 1345 +23-06-27 05:47:28.512 - INFO: iters: 3368506 +23-06-27 05:50:16.155 - INFO: train/mse_loss: 0.0017877207284558196 +23-06-27 05:50:16.155 - INFO: epoch: 1346 +23-06-27 05:50:16.156 - INFO: iters: 3371010 +23-06-27 05:53:04.072 - INFO: train/mse_loss: 0.0017530366948719461 +23-06-27 05:53:04.074 - INFO: epoch: 1347 +23-06-27 05:53:04.074 - INFO: iters: 3373514 +23-06-27 05:55:52.052 - INFO: train/mse_loss: 0.0018525968810480934 +23-06-27 05:55:52.053 - INFO: epoch: 1348 +23-06-27 05:55:52.054 - INFO: iters: 3376018 +23-06-27 05:58:40.087 - INFO: train/mse_loss: 0.0016738773045017006 +23-06-27 05:58:40.088 - INFO: epoch: 1349 +23-06-27 05:58:40.088 - INFO: iters: 3378522 +23-06-27 06:01:27.883 - INFO: train/mse_loss: 0.001705851775654309 +23-06-27 06:01:27.883 - INFO: epoch: 1350 +23-06-27 06:01:27.883 - INFO: iters: 3381026 +23-06-27 06:04:15.875 - INFO: train/mse_loss: 0.0017603412685252297 +23-06-27 06:04:15.876 - INFO: epoch: 1351 +23-06-27 06:04:15.876 - INFO: iters: 3383530 +23-06-27 06:07:03.867 - INFO: train/mse_loss: 0.001826130785419942 +23-06-27 06:07:03.868 - INFO: epoch: 1352 +23-06-27 06:07:03.869 - INFO: iters: 3386034 +23-06-27 06:09:51.643 - INFO: train/mse_loss: 0.001789326903770288 +23-06-27 06:09:51.643 - INFO: epoch: 1353 +23-06-27 06:09:51.643 - INFO: iters: 3388538 +23-06-27 06:12:39.495 - INFO: train/mse_loss: 0.0017588531153801734 +23-06-27 06:12:39.495 - INFO: epoch: 1354 +23-06-27 06:12:39.495 - INFO: iters: 3391042 +23-06-27 06:15:27.307 - INFO: train/mse_loss: 0.0016913736471906304 +23-06-27 06:15:27.307 - INFO: epoch: 1355 +23-06-27 06:15:27.308 - INFO: iters: 3393546 +23-06-27 06:18:14.912 - INFO: train/mse_loss: 0.0017459395376165 +23-06-27 06:18:14.912 - INFO: epoch: 1356 +23-06-27 06:18:14.913 - INFO: iters: 3396050 +23-06-27 06:21:02.470 - INFO: train/mse_loss: 0.0017637888950774797 +23-06-27 06:21:02.470 - INFO: epoch: 1357 +23-06-27 06:21:02.470 - INFO: iters: 3398554 +23-06-27 06:23:50.173 - INFO: train/mse_loss: 0.0018647425217009463 +23-06-27 06:23:50.174 - INFO: epoch: 1358 +23-06-27 06:23:50.174 - INFO: iters: 3401058 +23-06-27 06:26:37.973 - INFO: train/mse_loss: 0.0018886481352245656 +23-06-27 06:26:37.973 - INFO: epoch: 1359 +23-06-27 06:26:37.973 - INFO: iters: 3403562 +23-06-27 06:29:25.737 - INFO: train/mse_loss: 0.0017465120733763202 +23-06-27 06:29:25.738 - INFO: epoch: 1360 +23-06-27 06:29:25.739 - INFO: iters: 3406066 +23-06-27 06:32:13.567 - INFO: train/mse_loss: 0.0018133713782708437 +23-06-27 06:32:13.568 - INFO: epoch: 1361 +23-06-27 06:32:13.569 - INFO: iters: 3408570 +23-06-27 06:35:01.585 - INFO: train/mse_loss: 0.0018410982462553718 +23-06-27 06:35:01.585 - INFO: epoch: 1362 +23-06-27 06:35:01.585 - INFO: iters: 3411074 +23-06-27 06:37:49.234 - INFO: train/mse_loss: 0.00170930934223397 +23-06-27 06:37:49.234 - INFO: epoch: 1363 +23-06-27 06:37:49.234 - INFO: iters: 3413578 +23-06-27 06:40:36.854 - INFO: train/mse_loss: 0.0016758341887837852 +23-06-27 06:40:36.855 - INFO: epoch: 1364 +23-06-27 06:40:36.855 - INFO: iters: 3416082 +23-06-27 06:43:24.704 - INFO: train/mse_loss: 0.0017654255031423565 +23-06-27 06:43:24.704 - INFO: epoch: 1365 +23-06-27 06:43:24.705 - INFO: iters: 3418586 +23-06-27 06:46:12.641 - INFO: train/mse_loss: 0.001945408033251691 +23-06-27 06:46:12.642 - INFO: epoch: 1366 +23-06-27 06:46:12.642 - INFO: iters: 3421090 +23-06-27 06:49:00.305 - INFO: train/mse_loss: 0.0017585762195845547 +23-06-27 06:49:00.305 - INFO: epoch: 1367 +23-06-27 06:49:00.305 - INFO: iters: 3423594 +23-06-27 06:51:48.083 - INFO: train/mse_loss: 0.0017019956837223764 +23-06-27 06:51:48.084 - INFO: epoch: 1368 +23-06-27 06:51:48.084 - INFO: iters: 3426098 +23-06-27 06:54:35.870 - INFO: train/mse_loss: 0.0017744440382856804 +23-06-27 06:54:35.871 - INFO: epoch: 1369 +23-06-27 06:54:35.871 - INFO: iters: 3428602 +23-06-27 06:57:23.557 - INFO: train/mse_loss: 0.001784524367452739 +23-06-27 06:57:23.557 - INFO: epoch: 1370 +23-06-27 06:57:23.557 - INFO: iters: 3431106 +23-06-27 07:00:11.436 - INFO: train/mse_loss: 0.0017853773267085726 +23-06-27 07:00:11.437 - INFO: epoch: 1371 +23-06-27 07:00:11.437 - INFO: iters: 3433610 +23-06-27 07:02:59.047 - INFO: train/mse_loss: 0.001702594751203522 +23-06-27 07:02:59.048 - INFO: epoch: 1372 +23-06-27 07:02:59.048 - INFO: iters: 3436114 +23-06-27 07:05:46.713 - INFO: train/mse_loss: 0.0017199254263350115 +23-06-27 07:05:46.714 - INFO: epoch: 1373 +23-06-27 07:05:46.714 - INFO: iters: 3438618 +23-06-27 07:08:34.435 - INFO: train/mse_loss: 0.0016674228385797503 +23-06-27 07:08:34.436 - INFO: epoch: 1374 +23-06-27 07:08:34.437 - INFO: iters: 3441122 +23-06-27 07:11:22.182 - INFO: train/mse_loss: 0.0016940004090382791 +23-06-27 07:11:22.183 - INFO: epoch: 1375 +23-06-27 07:11:22.183 - INFO: iters: 3443626 +23-06-27 07:14:09.858 - INFO: train/mse_loss: 0.0016342694621002034 +23-06-27 07:14:09.859 - INFO: epoch: 1376 +23-06-27 07:14:09.859 - INFO: iters: 3446130 +23-06-27 07:16:57.877 - INFO: train/mse_loss: 0.001685286041746398 +23-06-27 07:16:57.878 - INFO: epoch: 1377 +23-06-27 07:16:57.878 - INFO: iters: 3448634 +23-06-27 07:19:45.412 - INFO: train/mse_loss: 0.001668104522537214 +23-06-27 07:19:45.412 - INFO: epoch: 1378 +23-06-27 07:19:45.413 - INFO: iters: 3451138 +23-06-27 07:22:32.868 - INFO: train/mse_loss: 0.0017071779483160117 +23-06-27 07:22:32.869 - INFO: epoch: 1379 +23-06-27 07:22:32.869 - INFO: iters: 3453642 +23-06-27 07:25:20.283 - INFO: train/mse_loss: 0.0017102517422099713 +23-06-27 07:25:20.284 - INFO: epoch: 1380 +23-06-27 07:25:20.284 - INFO: iters: 3456146 +23-06-27 07:28:08.097 - INFO: train/mse_loss: 0.0016821059005032962 +23-06-27 07:28:08.097 - INFO: epoch: 1381 +23-06-27 07:28:08.097 - INFO: iters: 3458650 +23-06-27 07:30:56.022 - INFO: train/mse_loss: 0.0017858806676930561 +23-06-27 07:30:56.023 - INFO: epoch: 1382 +23-06-27 07:30:56.023 - INFO: iters: 3461154 +23-06-27 07:33:43.836 - INFO: train/mse_loss: 0.0017354229599767076 +23-06-27 07:33:43.837 - INFO: epoch: 1383 +23-06-27 07:33:43.837 - INFO: iters: 3463658 +23-06-27 07:36:31.639 - INFO: train/mse_loss: 0.001700480630176481 +23-06-27 07:36:31.641 - INFO: epoch: 1384 +23-06-27 07:36:31.641 - INFO: iters: 3466162 +23-06-27 07:39:19.181 - INFO: train/mse_loss: 0.0017593496331436255 +23-06-27 07:39:19.182 - INFO: epoch: 1385 +23-06-27 07:39:19.182 - INFO: iters: 3468666 +23-06-27 07:42:06.881 - INFO: train/mse_loss: 0.0017834344715885698 +23-06-27 07:42:06.882 - INFO: epoch: 1386 +23-06-27 07:42:06.882 - INFO: iters: 3471170 +23-06-27 07:44:54.713 - INFO: train/mse_loss: 0.0017959727446724193 +23-06-27 07:44:54.713 - INFO: epoch: 1387 +23-06-27 07:44:54.713 - INFO: iters: 3473674 +23-06-27 07:47:42.419 - INFO: train/mse_loss: 0.00197088097117264 +23-06-27 07:47:42.420 - INFO: epoch: 1388 +23-06-27 07:47:42.420 - INFO: iters: 3476178 +23-06-27 07:50:30.110 - INFO: train/mse_loss: 0.0018462966209814584 +23-06-27 07:50:30.110 - INFO: epoch: 1389 +23-06-27 07:50:30.111 - INFO: iters: 3478682 +23-06-27 07:53:17.724 - INFO: train/mse_loss: 0.0017343528522996785 +23-06-27 07:53:17.725 - INFO: epoch: 1390 +23-06-27 07:53:17.725 - INFO: iters: 3481186 +23-06-27 07:56:05.637 - INFO: train/mse_loss: 0.0016967628068237093 +23-06-27 07:56:05.638 - INFO: epoch: 1391 +23-06-27 07:56:05.638 - INFO: iters: 3483690 +23-06-27 07:58:53.282 - INFO: train/mse_loss: 0.001711301149996801 +23-06-27 07:58:53.282 - INFO: epoch: 1392 +23-06-27 07:58:53.282 - INFO: iters: 3486194 +23-06-27 08:01:40.915 - INFO: train/mse_loss: 0.001769087756031785 +23-06-27 08:01:40.915 - INFO: epoch: 1393 +23-06-27 08:01:40.915 - INFO: iters: 3488698 +23-06-27 08:04:28.749 - INFO: train/mse_loss: 0.001849522387174467 +23-06-27 08:04:28.749 - INFO: epoch: 1394 +23-06-27 08:04:28.749 - INFO: iters: 3491202 +23-06-27 08:07:16.362 - INFO: train/mse_loss: 0.001827676114946092 +23-06-27 08:07:16.362 - INFO: epoch: 1395 +23-06-27 08:07:16.362 - INFO: iters: 3493706 +23-06-27 08:10:03.982 - INFO: train/mse_loss: 0.0016921856585657969 +23-06-27 08:10:03.982 - INFO: epoch: 1396 +23-06-27 08:10:03.982 - INFO: iters: 3496210 +23-06-27 08:12:51.565 - INFO: train/mse_loss: 0.0016918010792483728 +23-06-27 08:12:51.571 - INFO: epoch: 1397 +23-06-27 08:12:51.571 - INFO: iters: 3498714 +23-06-27 08:15:39.163 - INFO: train/mse_loss: 0.0016686229545551652 +23-06-27 08:15:39.163 - INFO: epoch: 1398 +23-06-27 08:15:39.163 - INFO: iters: 3501218 +23-06-27 08:18:27.239 - INFO: train/mse_loss: 0.0017023137441431633 +23-06-27 08:18:27.240 - INFO: epoch: 1399 +23-06-27 08:18:27.240 - INFO: iters: 3503722 +23-06-27 08:21:15.033 - INFO: train/mse_loss: 0.0017947411308207879 +23-06-27 08:21:15.033 - INFO: epoch: 1400 +23-06-27 08:21:15.034 - INFO: iters: 3506226 +23-06-27 08:24:03.028 - INFO: train/mse_loss: 0.0017396815607663447 +23-06-27 08:24:03.030 - INFO: epoch: 1401 +23-06-27 08:24:03.030 - INFO: iters: 3508730 +23-06-27 08:26:50.898 - INFO: train/mse_loss: 0.0016494936613996808 +23-06-27 08:26:50.898 - INFO: epoch: 1402 +23-06-27 08:26:50.899 - INFO: iters: 3511234 +23-06-27 08:29:38.632 - INFO: train/mse_loss: 0.0016478093888851616 +23-06-27 08:29:38.633 - INFO: epoch: 1403 +23-06-27 08:29:38.633 - INFO: iters: 3513738 +23-06-27 08:32:26.531 - INFO: train/mse_loss: 0.001730897046362285 +23-06-27 08:32:26.531 - INFO: epoch: 1404 +23-06-27 08:32:26.531 - INFO: iters: 3516242 +23-06-27 08:35:14.167 - INFO: train/mse_loss: 0.0017099422895492384 +23-06-27 08:35:14.167 - INFO: epoch: 1405 +23-06-27 08:35:14.167 - INFO: iters: 3518746 +23-06-27 08:38:01.722 - INFO: train/mse_loss: 0.0017719628413381894 +23-06-27 08:38:01.722 - INFO: epoch: 1406 +23-06-27 08:38:01.722 - INFO: iters: 3521250 +23-06-27 08:40:49.638 - INFO: train/mse_loss: 0.0017376771717802428 +23-06-27 08:40:49.639 - INFO: epoch: 1407 +23-06-27 08:40:49.639 - INFO: iters: 3523754 +23-06-27 08:43:37.533 - INFO: train/mse_loss: 0.0016944043255729465 +23-06-27 08:43:37.534 - INFO: epoch: 1408 +23-06-27 08:43:37.534 - INFO: iters: 3526258 +23-06-27 08:46:25.361 - INFO: train/mse_loss: 0.0017005706140131782 +23-06-27 08:46:25.361 - INFO: epoch: 1409 +23-06-27 08:46:25.361 - INFO: iters: 3528762 +23-06-27 08:49:12.961 - INFO: train/mse_loss: 0.0016698786844172107 +23-06-27 08:49:12.962 - INFO: epoch: 1410 +23-06-27 08:49:12.962 - INFO: iters: 3531266 +23-06-27 08:52:00.614 - INFO: train/mse_loss: 0.0017564441340554434 +23-06-27 08:52:00.614 - INFO: epoch: 1411 +23-06-27 08:52:00.614 - INFO: iters: 3533770 +23-06-27 08:54:48.596 - INFO: train/mse_loss: 0.0017441032622113658 +23-06-27 08:54:48.597 - INFO: epoch: 1412 +23-06-27 08:54:48.597 - INFO: iters: 3536274 +23-06-27 08:57:36.175 - INFO: train/mse_loss: 0.0017031155771742494 +23-06-27 08:57:36.176 - INFO: epoch: 1413 +23-06-27 08:57:36.176 - INFO: iters: 3538778 +23-06-27 09:00:23.723 - INFO: train/mse_loss: 0.0017308160190666897 +23-06-27 09:00:23.723 - INFO: epoch: 1414 +23-06-27 09:00:23.723 - INFO: iters: 3541282 +23-06-27 09:03:11.378 - INFO: train/mse_loss: 0.0017278389521716787 +23-06-27 09:03:11.378 - INFO: epoch: 1415 +23-06-27 09:03:11.378 - INFO: iters: 3543786 +23-06-27 09:05:59.401 - INFO: train/mse_loss: 0.0019057714493763737 +23-06-27 09:05:59.401 - INFO: epoch: 1416 +23-06-27 09:05:59.401 - INFO: iters: 3546290 +23-06-27 09:08:47.221 - INFO: train/mse_loss: 0.0017475542387725732 +23-06-27 09:08:47.222 - INFO: epoch: 1417 +23-06-27 09:08:47.222 - INFO: iters: 3548794 +23-06-27 09:11:34.941 - INFO: train/mse_loss: 0.0016417991272887934 +23-06-27 09:11:34.942 - INFO: epoch: 1418 +23-06-27 09:11:34.942 - INFO: iters: 3551298 +23-06-27 09:14:22.699 - INFO: train/mse_loss: 0.0016971537198041218 +23-06-27 09:14:22.700 - INFO: epoch: 1419 +23-06-27 09:14:22.700 - INFO: iters: 3553802 +23-06-27 09:17:10.588 - INFO: train/mse_loss: 0.0019132529910558613 +23-06-27 09:17:10.589 - INFO: epoch: 1420 +23-06-27 09:17:10.589 - INFO: iters: 3556306 +23-06-27 09:19:58.196 - INFO: train/mse_loss: 0.001707163761267974 +23-06-27 09:19:58.197 - INFO: epoch: 1421 +23-06-27 09:19:58.197 - INFO: iters: 3558810 +23-06-27 09:22:45.790 - INFO: train/mse_loss: 0.0017785395829590222 +23-06-27 09:22:45.790 - INFO: epoch: 1422 +23-06-27 09:22:45.790 - INFO: iters: 3561314 +23-06-27 09:25:33.879 - INFO: train/mse_loss: 0.0016745217843725088 +23-06-27 09:25:33.880 - INFO: epoch: 1423 +23-06-27 09:25:33.880 - INFO: iters: 3563818 +23-06-27 09:28:21.764 - INFO: train/mse_loss: 0.001735057127617371 +23-06-27 09:28:21.765 - INFO: epoch: 1424 +23-06-27 09:28:21.765 - INFO: iters: 3566322 +23-06-27 09:31:09.765 - INFO: train/mse_loss: 0.0017026459702257865 +23-06-27 09:31:09.766 - INFO: epoch: 1425 +23-06-27 09:31:09.766 - INFO: iters: 3568826 +23-06-27 09:33:57.544 - INFO: train/mse_loss: 0.001679236717416515 +23-06-27 09:33:57.544 - INFO: epoch: 1426 +23-06-27 09:33:57.545 - INFO: iters: 3571330 +23-06-27 09:36:45.268 - INFO: train/mse_loss: 0.001665820415613774 +23-06-27 09:36:45.269 - INFO: epoch: 1427 +23-06-27 09:36:45.269 - INFO: iters: 3573834 +23-06-27 09:39:33.063 - INFO: train/mse_loss: 0.0016559777036011696 +23-06-27 09:39:33.064 - INFO: epoch: 1428 +23-06-27 09:39:33.064 - INFO: iters: 3576338 +23-06-27 09:42:21.127 - INFO: train/mse_loss: 0.0018224885875802522 +23-06-27 09:42:21.127 - INFO: epoch: 1429 +23-06-27 09:42:21.127 - INFO: iters: 3578842 +23-06-27 09:45:08.739 - INFO: train/mse_loss: 0.001663418455006995 +23-06-27 09:45:08.740 - INFO: epoch: 1430 +23-06-27 09:45:08.740 - INFO: iters: 3581346 +23-06-27 09:47:56.482 - INFO: train/mse_loss: 0.0015995425048296135 +23-06-27 09:47:56.482 - INFO: epoch: 1431 +23-06-27 09:47:56.482 - INFO: iters: 3583850 +23-06-27 09:50:44.457 - INFO: train/mse_loss: 0.0016164506237712887 +23-06-27 09:50:44.458 - INFO: epoch: 1432 +23-06-27 09:50:44.458 - INFO: iters: 3586354 +23-06-27 09:53:32.308 - INFO: train/mse_loss: 0.0016368350029711764 +23-06-27 09:53:32.308 - INFO: epoch: 1433 +23-06-27 09:53:32.308 - INFO: iters: 3588858 +23-06-27 09:56:19.985 - INFO: train/mse_loss: 0.0016725428819733734 +23-06-27 09:56:19.985 - INFO: epoch: 1434 +23-06-27 09:56:19.985 - INFO: iters: 3591362 +23-06-27 09:59:07.557 - INFO: train/mse_loss: 0.00172267318591654 +23-06-27 09:59:07.558 - INFO: epoch: 1435 +23-06-27 09:59:07.558 - INFO: iters: 3593866 +23-06-27 10:01:55.333 - INFO: train/mse_loss: 0.0016507501107679247 +23-06-27 10:01:55.333 - INFO: epoch: 1436 +23-06-27 10:01:55.334 - INFO: iters: 3596370 +23-06-27 10:04:42.901 - INFO: train/mse_loss: 0.0017118551597272913 +23-06-27 10:04:42.902 - INFO: epoch: 1437 +23-06-27 10:04:42.902 - INFO: iters: 3598874 +23-06-27 10:07:30.690 - INFO: train/mse_loss: 0.0016640333029941414 +23-06-27 10:07:30.691 - INFO: epoch: 1438 +23-06-27 10:07:30.691 - INFO: iters: 3601378 +23-06-27 10:10:18.395 - INFO: train/mse_loss: 0.0016579520150337714 +23-06-27 10:10:18.396 - INFO: epoch: 1439 +23-06-27 10:10:18.396 - INFO: iters: 3603882 +23-06-27 10:13:06.043 - INFO: train/mse_loss: 0.001648943174255494 +23-06-27 10:13:06.043 - INFO: epoch: 1440 +23-06-27 10:13:06.043 - INFO: iters: 3606386 +23-06-27 10:15:53.693 - INFO: train/mse_loss: 0.0016440094027224893 +23-06-27 10:15:53.694 - INFO: epoch: 1441 +23-06-27 10:15:53.694 - INFO: iters: 3608890 +23-06-27 10:18:41.435 - INFO: train/mse_loss: 0.001739211304979131 +23-06-27 10:18:41.436 - INFO: epoch: 1442 +23-06-27 10:18:41.436 - INFO: iters: 3611394 +23-06-27 10:21:29.367 - INFO: train/mse_loss: 0.0016457536040222088 +23-06-27 10:21:29.368 - INFO: epoch: 1443 +23-06-27 10:21:29.368 - INFO: iters: 3613898 +23-06-27 10:24:16.951 - INFO: train/mse_loss: 0.0015826500470961292 +23-06-27 10:24:16.951 - INFO: epoch: 1444 +23-06-27 10:24:16.952 - INFO: iters: 3616402 +23-06-27 10:27:04.695 - INFO: train/mse_loss: 0.0017122255261472691 +23-06-27 10:27:04.696 - INFO: epoch: 1445 +23-06-27 10:27:04.696 - INFO: iters: 3618906 +23-06-27 10:29:52.623 - INFO: train/mse_loss: 0.0016472526837494402 +23-06-27 10:29:52.624 - INFO: epoch: 1446 +23-06-27 10:29:52.624 - INFO: iters: 3621410 +23-06-27 10:32:40.450 - INFO: train/mse_loss: 0.0019423486545872384 +23-06-27 10:32:40.451 - INFO: epoch: 1447 +23-06-27 10:32:40.451 - INFO: iters: 3623914 +23-06-27 10:35:28.212 - INFO: train/mse_loss: 0.0017109973467335986 +23-06-27 10:35:28.213 - INFO: epoch: 1448 +23-06-27 10:35:28.213 - INFO: iters: 3626418 +23-06-27 10:38:15.899 - INFO: train/mse_loss: 0.0017501381391394563 +23-06-27 10:38:15.899 - INFO: epoch: 1449 +23-06-27 10:38:15.900 - INFO: iters: 3628922 +23-06-27 10:41:03.824 - INFO: train/mse_loss: 0.0017149926728781718 +23-06-27 10:41:03.824 - INFO: epoch: 1450 +23-06-27 10:41:03.825 - INFO: iters: 3631426 +23-06-27 10:43:51.715 - INFO: train/mse_loss: 0.0016575775604089572 +23-06-27 10:43:51.716 - INFO: epoch: 1451 +23-06-27 10:43:51.716 - INFO: iters: 3633930 +23-06-27 10:46:39.417 - INFO: train/mse_loss: 0.001691261862632268 +23-06-27 10:46:39.418 - INFO: epoch: 1452 +23-06-27 10:46:39.418 - INFO: iters: 3636434 +23-06-27 10:49:27.199 - INFO: train/mse_loss: 0.0016835178326690397 +23-06-27 10:49:27.200 - INFO: epoch: 1453 +23-06-27 10:49:27.200 - INFO: iters: 3638938 +23-06-27 10:52:14.963 - INFO: train/mse_loss: 0.001662410808334383 +23-06-27 10:52:14.963 - INFO: epoch: 1454 +23-06-27 10:52:14.963 - INFO: iters: 3641442 +23-06-27 10:55:02.791 - INFO: train/mse_loss: 0.0016604070733941068 +23-06-27 10:55:02.792 - INFO: epoch: 1455 +23-06-27 10:55:02.792 - INFO: iters: 3643946 +23-06-27 10:57:50.500 - INFO: train/mse_loss: 0.0015857845354012954 +23-06-27 10:57:50.501 - INFO: epoch: 1456 +23-06-27 10:57:50.501 - INFO: iters: 3646450 +23-06-27 11:00:38.450 - INFO: train/mse_loss: 0.0016269889417864657 +23-06-27 11:00:38.451 - INFO: epoch: 1457 +23-06-27 11:00:38.451 - INFO: iters: 3648954 +23-06-27 11:03:28.046 - INFO: train/mse_loss: 0.001676802726324124 +23-06-27 11:03:28.046 - INFO: epoch: 1458 +23-06-27 11:03:28.046 - INFO: iters: 3651458 +23-06-27 11:06:17.363 - INFO: train/mse_loss: 0.001707947396966346 +23-06-27 11:06:17.364 - INFO: epoch: 1459 +23-06-27 11:06:17.364 - INFO: iters: 3653962 +23-06-27 11:09:06.071 - INFO: train/mse_loss: 0.0017194749492506227 +23-06-27 11:09:06.071 - INFO: epoch: 1460 +23-06-27 11:09:06.072 - INFO: iters: 3656466 +23-06-27 11:11:54.303 - INFO: train/mse_loss: 0.0016305954361069627 +23-06-27 11:11:54.304 - INFO: epoch: 1461 +23-06-27 11:11:54.304 - INFO: iters: 3658970 +23-06-27 11:14:42.037 - INFO: train/mse_loss: 0.0016341163574482877 +23-06-27 11:14:42.037 - INFO: epoch: 1462 +23-06-27 11:14:42.038 - INFO: iters: 3661474 +23-06-27 11:17:29.584 - INFO: train/mse_loss: 0.0016345984464996278 +23-06-27 11:17:29.585 - INFO: epoch: 1463 +23-06-27 11:17:29.585 - INFO: iters: 3663978 +23-06-27 11:20:17.295 - INFO: train/mse_loss: 0.0016372435731432451 +23-06-27 11:20:17.296 - INFO: epoch: 1464 +23-06-27 11:20:17.296 - INFO: iters: 3666482 +23-06-27 11:23:04.913 - INFO: train/mse_loss: 0.0016264407658397545 +23-06-27 11:23:04.913 - INFO: epoch: 1465 +23-06-27 11:23:04.913 - INFO: iters: 3668986 +23-06-27 11:25:52.732 - INFO: train/mse_loss: 0.0016686858723874386 +23-06-27 11:25:52.732 - INFO: epoch: 1466 +23-06-27 11:25:52.732 - INFO: iters: 3671490 +23-06-27 11:28:40.519 - INFO: train/mse_loss: 0.0017179985122105028 +23-06-27 11:28:40.521 - INFO: epoch: 1467 +23-06-27 11:28:40.521 - INFO: iters: 3673994 +23-06-27 11:31:28.382 - INFO: train/mse_loss: 0.0016278938049809062 +23-06-27 11:31:28.383 - INFO: epoch: 1468 +23-06-27 11:31:28.383 - INFO: iters: 3676498 +23-06-27 11:34:15.959 - INFO: train/mse_loss: 0.0016754254445466347 +23-06-27 11:34:15.960 - INFO: epoch: 1469 +23-06-27 11:34:15.960 - INFO: iters: 3679002 +23-06-27 11:37:03.533 - INFO: train/mse_loss: 0.001649859161622013 +23-06-27 11:37:03.534 - INFO: epoch: 1470 +23-06-27 11:37:03.534 - INFO: iters: 3681506 +23-06-27 11:39:51.479 - INFO: train/mse_loss: 0.0016440776315853952 +23-06-27 11:39:51.480 - INFO: epoch: 1471 +23-06-27 11:39:51.480 - INFO: iters: 3684010 +23-06-27 11:42:39.097 - INFO: train/mse_loss: 0.0016630515093564058 +23-06-27 11:42:39.098 - INFO: epoch: 1472 +23-06-27 11:42:39.098 - INFO: iters: 3686514 +23-06-27 11:45:26.806 - INFO: train/mse_loss: 0.0015663888504224332 +23-06-27 11:45:26.807 - INFO: epoch: 1473 +23-06-27 11:45:26.807 - INFO: iters: 3689018 +23-06-27 11:48:14.466 - INFO: train/mse_loss: 0.001652193393152112 +23-06-27 11:48:14.467 - INFO: epoch: 1474 +23-06-27 11:48:14.467 - INFO: iters: 3691522 +23-06-27 11:51:01.986 - INFO: train/mse_loss: 0.0016498088015811725 +23-06-27 11:51:01.986 - INFO: epoch: 1475 +23-06-27 11:51:01.986 - INFO: iters: 3694026 +23-06-27 11:53:49.523 - INFO: train/mse_loss: 0.0016123620157588285 +23-06-27 11:53:49.523 - INFO: epoch: 1476 +23-06-27 11:53:49.524 - INFO: iters: 3696530 +23-06-27 11:56:37.041 - INFO: train/mse_loss: 0.0017138388768112222 +23-06-27 11:56:37.042 - INFO: epoch: 1477 +23-06-27 11:56:37.042 - INFO: iters: 3699034 +23-06-27 11:59:24.525 - INFO: train/mse_loss: 0.0016876597440215392 +23-06-27 11:59:24.526 - INFO: epoch: 1478 +23-06-27 11:59:24.526 - INFO: iters: 3701538 +23-06-27 12:02:12.170 - INFO: train/mse_loss: 0.001648760297500823 +23-06-27 12:02:12.170 - INFO: epoch: 1479 +23-06-27 12:02:12.170 - INFO: iters: 3704042 +23-06-27 12:04:59.521 - INFO: train/mse_loss: 0.00161635957657547 +23-06-27 12:04:59.522 - INFO: epoch: 1480 +23-06-27 12:04:59.522 - INFO: iters: 3706546 +23-06-27 12:07:47.028 - INFO: train/mse_loss: 0.0016565867213379091 +23-06-27 12:07:47.029 - INFO: epoch: 1481 +23-06-27 12:07:47.029 - INFO: iters: 3709050 +23-06-27 12:10:34.311 - INFO: train/mse_loss: 0.001644171771225921 +23-06-27 12:10:34.312 - INFO: epoch: 1482 +23-06-27 12:10:34.312 - INFO: iters: 3711554 +23-06-27 12:13:21.784 - INFO: train/mse_loss: 0.001630953496162848 +23-06-27 12:13:21.784 - INFO: epoch: 1483 +23-06-27 12:13:21.785 - INFO: iters: 3714058 +23-06-27 12:16:09.397 - INFO: train/mse_loss: 0.0015823933312270684 +23-06-27 12:16:09.398 - INFO: epoch: 1484 +23-06-27 12:16:09.398 - INFO: iters: 3716562 +23-06-27 12:18:57.055 - INFO: train/mse_loss: 0.0017361598644076814 +23-06-27 12:18:57.056 - INFO: epoch: 1485 +23-06-27 12:18:57.056 - INFO: iters: 3719066 +23-06-27 12:21:44.648 - INFO: train/mse_loss: 0.001743681049130607 +23-06-27 12:21:44.648 - INFO: epoch: 1486 +23-06-27 12:21:44.648 - INFO: iters: 3721570 +23-06-27 12:24:32.156 - INFO: train/mse_loss: 0.0016386071655203026 +23-06-27 12:24:32.157 - INFO: epoch: 1487 +23-06-27 12:24:32.157 - INFO: iters: 3724074 +23-06-27 12:27:19.752 - INFO: train/mse_loss: 0.0016127684192297558 +23-06-27 12:27:19.753 - INFO: epoch: 1488 +23-06-27 12:27:19.753 - INFO: iters: 3726578 +23-06-27 12:30:07.337 - INFO: train/mse_loss: 0.0016487368537609975 +23-06-27 12:30:07.338 - INFO: epoch: 1489 +23-06-27 12:30:07.338 - INFO: iters: 3729082 +23-06-27 12:32:54.971 - INFO: train/mse_loss: 0.0016012891902760886 +23-06-27 12:32:54.972 - INFO: epoch: 1490 +23-06-27 12:32:54.972 - INFO: iters: 3731586 +23-06-27 12:35:42.576 - INFO: train/mse_loss: 0.0016588296137970333 +23-06-27 12:35:42.577 - INFO: epoch: 1491 +23-06-27 12:35:42.577 - INFO: iters: 3734090 +23-06-27 12:38:30.304 - INFO: train/mse_loss: 0.001653450164429177 +23-06-27 12:38:30.305 - INFO: epoch: 1492 +23-06-27 12:38:30.305 - INFO: iters: 3736594 +23-06-27 12:41:17.860 - INFO: train/mse_loss: 0.0016115349362241312 +23-06-27 12:41:17.860 - INFO: epoch: 1493 +23-06-27 12:41:17.861 - INFO: iters: 3739098 +23-06-27 12:44:05.143 - INFO: train/mse_loss: 0.001616905900105215 +23-06-27 12:44:05.143 - INFO: epoch: 1494 +23-06-27 12:44:05.143 - INFO: iters: 3741602 +23-06-27 12:46:52.662 - INFO: train/mse_loss: 0.0016276288858299462 +23-06-27 12:46:52.663 - INFO: epoch: 1495 +23-06-27 12:46:52.663 - INFO: iters: 3744106 +23-06-27 12:49:40.266 - INFO: train/mse_loss: 0.0016369996614718494 +23-06-27 12:49:40.267 - INFO: epoch: 1496 +23-06-27 12:49:40.267 - INFO: iters: 3746610 +23-06-27 12:52:27.886 - INFO: train/mse_loss: 0.0016917357568632062 +23-06-27 12:52:27.886 - INFO: epoch: 1497 +23-06-27 12:52:27.887 - INFO: iters: 3749114 +23-06-27 12:55:14.990 - INFO: train/mse_loss: 0.0017050636780504792 +23-06-27 12:55:14.990 - INFO: epoch: 1498 +23-06-27 12:55:14.990 - INFO: iters: 3751618 +23-06-27 12:58:02.493 - INFO: train/mse_loss: 0.0016266456717765109 +23-06-27 12:58:02.493 - INFO: epoch: 1499 +23-06-27 12:58:02.493 - INFO: iters: 3754122 +23-06-27 13:00:49.978 - INFO: train/mse_loss: 0.0015751360041556504 +23-06-27 13:00:49.978 - INFO: epoch: 1500 +23-06-27 13:00:49.978 - INFO: iters: 3756626 +23-06-27 13:00:49.978 - INFO: Saving the self at the end of epoch 1500 +23-06-27 13:00:50.538 - INFO: + + +------------------------------Validation Start------------------------------ +23-06-27 13:06:16.158 - INFO: val/mae: 0.2746938467025757 +23-06-27 13:06:16.158 - INFO: +------------------------------Validation End------------------------------ + + +23-06-27 13:09:03.461 - INFO: train/mse_loss: 0.0017820947377506595 +23-06-27 13:09:03.461 - INFO: epoch: 1501 +23-06-27 13:09:03.462 - INFO: iters: 3759443 +23-06-27 13:11:50.831 - INFO: train/mse_loss: 0.0015906824852330997 +23-06-27 13:11:50.832 - INFO: epoch: 1502 +23-06-27 13:11:50.832 - INFO: iters: 3761947 +23-06-27 13:14:38.429 - INFO: train/mse_loss: 0.0016805095465693134 +23-06-27 13:14:38.430 - INFO: epoch: 1503 +23-06-27 13:14:38.430 - INFO: iters: 3764451 +23-06-27 13:17:26.123 - INFO: train/mse_loss: 0.0017155309900650367 +23-06-27 13:17:26.123 - INFO: epoch: 1504 +23-06-27 13:17:26.124 - INFO: iters: 3766955 +23-06-27 13:20:13.499 - INFO: train/mse_loss: 0.001754793283245422 +23-06-27 13:20:13.501 - INFO: epoch: 1505 +23-06-27 13:20:13.501 - INFO: iters: 3769459 +23-06-27 13:23:00.961 - INFO: train/mse_loss: 0.001766088948203489 +23-06-27 13:23:00.961 - INFO: epoch: 1506 +23-06-27 13:23:00.962 - INFO: iters: 3771963 +23-06-27 13:25:48.210 - INFO: train/mse_loss: 0.0016650337315448664 +23-06-27 13:25:48.210 - INFO: epoch: 1507 +23-06-27 13:25:48.210 - INFO: iters: 3774467 +23-06-27 13:28:35.886 - INFO: train/mse_loss: 0.001599463859305958 +23-06-27 13:28:35.886 - INFO: epoch: 1508 +23-06-27 13:28:35.886 - INFO: iters: 3776971 +23-06-27 13:31:23.412 - INFO: train/mse_loss: 0.0016002200261954539 +23-06-27 13:31:23.413 - INFO: epoch: 1509 +23-06-27 13:31:23.413 - INFO: iters: 3779475 +23-06-27 13:34:10.657 - INFO: train/mse_loss: 0.0016802072985478626 +23-06-27 13:34:10.658 - INFO: epoch: 1510 +23-06-27 13:34:10.658 - INFO: iters: 3781979 +23-06-27 13:36:58.224 - INFO: train/mse_loss: 0.001643889766917698 +23-06-27 13:36:58.225 - INFO: epoch: 1511 +23-06-27 13:36:58.225 - INFO: iters: 3784483 +23-06-27 13:39:45.836 - INFO: train/mse_loss: 0.0016242191988637095 +23-06-27 13:39:45.837 - INFO: epoch: 1512 +23-06-27 13:39:45.837 - INFO: iters: 3786987 +23-06-27 13:42:33.009 - INFO: train/mse_loss: 0.001570068030304219 +23-06-27 13:42:33.010 - INFO: epoch: 1513 +23-06-27 13:42:33.010 - INFO: iters: 3789491 +23-06-27 13:45:20.319 - INFO: train/mse_loss: 0.0016196683000292652 +23-06-27 13:45:20.319 - INFO: epoch: 1514 +23-06-27 13:45:20.319 - INFO: iters: 3791995 +23-06-27 13:48:07.699 - INFO: train/mse_loss: 0.0016216770223246666 +23-06-27 13:48:07.700 - INFO: epoch: 1515 +23-06-27 13:48:07.700 - INFO: iters: 3794499 +23-06-27 13:50:54.742 - INFO: train/mse_loss: 0.0017021583188094568 +23-06-27 13:50:54.743 - INFO: epoch: 1516 +23-06-27 13:50:54.743 - INFO: iters: 3797003 +23-06-27 13:53:42.206 - INFO: train/mse_loss: 0.0015990854729675114 +23-06-27 13:53:42.206 - INFO: epoch: 1517 +23-06-27 13:53:42.206 - INFO: iters: 3799507 +23-06-27 13:56:29.890 - INFO: train/mse_loss: 0.0016962286896078278 +23-06-27 13:56:29.891 - INFO: epoch: 1518 +23-06-27 13:56:29.891 - INFO: iters: 3802011 +23-06-27 13:59:17.292 - INFO: train/mse_loss: 0.001505556999305531 +23-06-27 13:59:17.292 - INFO: epoch: 1519 +23-06-27 13:59:17.293 - INFO: iters: 3804515 +23-06-27 14:02:05.157 - INFO: train/mse_loss: 0.001567709809593178 +23-06-27 14:02:05.157 - INFO: epoch: 1520 +23-06-27 14:02:05.158 - INFO: iters: 3807019 +23-06-27 14:04:52.655 - INFO: train/mse_loss: 0.0016377937530700011 +23-06-27 14:04:52.655 - INFO: epoch: 1521 +23-06-27 14:04:52.656 - INFO: iters: 3809523 +23-06-27 14:07:39.970 - INFO: train/mse_loss: 0.0015884583766465061 +23-06-27 14:07:39.971 - INFO: epoch: 1522 +23-06-27 14:07:39.971 - INFO: iters: 3812027 +23-06-27 14:10:27.559 - INFO: train/mse_loss: 0.001661764660897775 +23-06-27 14:10:27.559 - INFO: epoch: 1523 +23-06-27 14:10:27.560 - INFO: iters: 3814531 +23-06-27 14:13:14.810 - INFO: train/mse_loss: 0.001629116785223075 +23-06-27 14:13:14.810 - INFO: epoch: 1524 +23-06-27 14:13:14.810 - INFO: iters: 3817035 +23-06-27 14:16:02.147 - INFO: train/mse_loss: 0.0017775248214691734 +23-06-27 14:16:02.149 - INFO: epoch: 1525 +23-06-27 14:16:02.149 - INFO: iters: 3819539 +23-06-27 14:18:50.141 - INFO: train/mse_loss: 0.0016059812364583544 +23-06-27 14:18:50.142 - INFO: epoch: 1526 +23-06-27 14:18:50.142 - INFO: iters: 3822043 +23-06-27 14:21:37.811 - INFO: train/mse_loss: 0.0016086040539466165 +23-06-27 14:21:37.812 - INFO: epoch: 1527 +23-06-27 14:21:37.812 - INFO: iters: 3824547 +23-06-27 14:24:25.557 - INFO: train/mse_loss: 0.0016034684808234486 +23-06-27 14:24:25.558 - INFO: epoch: 1528 +23-06-27 14:24:25.558 - INFO: iters: 3827051 +23-06-27 14:27:13.207 - INFO: train/mse_loss: 0.0016046875203325867 +23-06-27 14:27:13.208 - INFO: epoch: 1529 +23-06-27 14:27:13.208 - INFO: iters: 3829555 +23-06-27 14:30:01.075 - INFO: train/mse_loss: 0.0017466231016070245 +23-06-27 14:30:01.075 - INFO: epoch: 1530 +23-06-27 14:30:01.076 - INFO: iters: 3832059 +23-06-27 14:32:48.859 - INFO: train/mse_loss: 0.001612607550363952 +23-06-27 14:32:48.860 - INFO: epoch: 1531 +23-06-27 14:32:48.860 - INFO: iters: 3834563 +23-06-27 14:35:37.318 - INFO: train/mse_loss: 0.0016098766881130493 +23-06-27 14:35:37.318 - INFO: epoch: 1532 +23-06-27 14:35:37.318 - INFO: iters: 3837067 +23-06-27 14:38:24.900 - INFO: train/mse_loss: 0.0016086080917544045 +23-06-27 14:38:24.901 - INFO: epoch: 1533 +23-06-27 14:38:24.901 - INFO: iters: 3839571 +23-06-27 14:41:12.719 - INFO: train/mse_loss: 0.0016495553170741437 +23-06-27 14:41:12.719 - INFO: epoch: 1534 +23-06-27 14:41:12.719 - INFO: iters: 3842075 +23-06-27 14:44:00.711 - INFO: train/mse_loss: 0.0016966563671419676 +23-06-27 14:44:00.712 - INFO: epoch: 1535 +23-06-27 14:44:00.712 - INFO: iters: 3844579 +23-06-27 14:46:48.120 - INFO: train/mse_loss: 0.0016415849199351935 +23-06-27 14:46:48.121 - INFO: epoch: 1536 +23-06-27 14:46:48.121 - INFO: iters: 3847083 +23-06-27 14:49:35.372 - INFO: train/mse_loss: 0.001578027954155478 +23-06-27 14:49:35.373 - INFO: epoch: 1537 +23-06-27 14:49:35.373 - INFO: iters: 3849587 +23-06-27 14:52:22.990 - INFO: train/mse_loss: 0.0015572543723133805 +23-06-27 14:52:22.991 - INFO: epoch: 1538 +23-06-27 14:52:22.991 - INFO: iters: 3852091 +23-06-27 14:55:10.839 - INFO: train/mse_loss: 0.0015785355236568746 +23-06-27 14:55:10.839 - INFO: epoch: 1539 +23-06-27 14:55:10.839 - INFO: iters: 3854595 +23-06-27 14:57:58.544 - INFO: train/mse_loss: 0.0016706052848834176 +23-06-27 14:57:58.545 - INFO: epoch: 1540 +23-06-27 14:57:58.545 - INFO: iters: 3857099 +23-06-27 15:00:46.420 - INFO: train/mse_loss: 0.0016089457488163545 +23-06-27 15:00:46.421 - INFO: epoch: 1541 +23-06-27 15:00:46.421 - INFO: iters: 3859603 +23-06-27 15:03:34.525 - INFO: train/mse_loss: 0.0015500825922787427 +23-06-27 15:03:34.525 - INFO: epoch: 1542 +23-06-27 15:03:34.526 - INFO: iters: 3862107 +23-06-27 15:06:22.585 - INFO: train/mse_loss: 0.0015343244318826534 +23-06-27 15:06:22.586 - INFO: epoch: 1543 +23-06-27 15:06:22.586 - INFO: iters: 3864611 +23-06-27 15:09:10.280 - INFO: train/mse_loss: 0.001574418185607563 +23-06-27 15:09:10.281 - INFO: epoch: 1544 +23-06-27 15:09:10.281 - INFO: iters: 3867115 +23-06-27 15:11:58.082 - INFO: train/mse_loss: 0.0016061821461509401 +23-06-27 15:11:58.083 - INFO: epoch: 1545 +23-06-27 15:11:58.083 - INFO: iters: 3869619 +23-06-27 15:14:45.583 - INFO: train/mse_loss: 0.0015835151820742606 +23-06-27 15:14:45.584 - INFO: epoch: 1546 +23-06-27 15:14:45.584 - INFO: iters: 3872123 +23-06-27 15:17:33.270 - INFO: train/mse_loss: 0.0015405750420233145 +23-06-27 15:17:33.271 - INFO: epoch: 1547 +23-06-27 15:17:33.271 - INFO: iters: 3874627 +23-06-27 15:20:21.190 - INFO: train/mse_loss: 0.001630073228308681 +23-06-27 15:20:21.190 - INFO: epoch: 1548 +23-06-27 15:20:21.190 - INFO: iters: 3877131 +23-06-27 15:23:08.927 - INFO: train/mse_loss: 0.0016438182204970703 +23-06-27 15:23:08.927 - INFO: epoch: 1549 +23-06-27 15:23:08.927 - INFO: iters: 3879635 +23-06-27 15:25:56.670 - INFO: train/mse_loss: 0.001677893667322652 +23-06-27 15:25:56.671 - INFO: epoch: 1550 +23-06-27 15:25:56.671 - INFO: iters: 3882139 +23-06-27 15:28:44.589 - INFO: train/mse_loss: 0.0016119248475864553 +23-06-27 15:28:44.590 - INFO: epoch: 1551 +23-06-27 15:28:44.590 - INFO: iters: 3884643 +23-06-27 15:31:32.319 - INFO: train/mse_loss: 0.0016546647161834488 +23-06-27 15:31:32.319 - INFO: epoch: 1552 +23-06-27 15:31:32.319 - INFO: iters: 3887147 +23-06-27 15:34:20.239 - INFO: train/mse_loss: 0.0016407467605815398 +23-06-27 15:34:20.240 - INFO: epoch: 1553 +23-06-27 15:34:20.240 - INFO: iters: 3889651 +23-06-27 15:37:08.274 - INFO: train/mse_loss: 0.0016632708665072775 +23-06-27 15:37:08.274 - INFO: epoch: 1554 +23-06-27 15:37:08.274 - INFO: iters: 3892155 +23-06-27 15:39:56.099 - INFO: train/mse_loss: 0.00159542550542615 +23-06-27 15:39:56.100 - INFO: epoch: 1555 +23-06-27 15:39:56.100 - INFO: iters: 3894659 +23-06-27 15:42:43.651 - INFO: train/mse_loss: 0.0015670366612405846 +23-06-27 15:42:43.652 - INFO: epoch: 1556 +23-06-27 15:42:43.652 - INFO: iters: 3897163 +23-06-27 15:45:31.211 - INFO: train/mse_loss: 0.0015426026690697756 +23-06-27 15:45:31.211 - INFO: epoch: 1557 +23-06-27 15:45:31.212 - INFO: iters: 3899667 +23-06-27 15:48:18.884 - INFO: train/mse_loss: 0.0016059816127625137 +23-06-27 15:48:18.884 - INFO: epoch: 1558 +23-06-27 15:48:18.884 - INFO: iters: 3902171 +23-06-27 15:51:06.594 - INFO: train/mse_loss: 0.0015616617165505886 +23-06-27 15:51:06.594 - INFO: epoch: 1559 +23-06-27 15:51:06.594 - INFO: iters: 3904675 +23-06-27 15:53:54.253 - INFO: train/mse_loss: 0.0015501886577949451 +23-06-27 15:53:54.253 - INFO: epoch: 1560 +23-06-27 15:53:54.253 - INFO: iters: 3907179 +23-06-27 15:56:42.072 - INFO: train/mse_loss: 0.001591150751359725 +23-06-27 15:56:42.073 - INFO: epoch: 1561 +23-06-27 15:56:42.073 - INFO: iters: 3909683 +23-06-27 15:59:29.960 - INFO: train/mse_loss: 0.0015570899870911666 +23-06-27 15:59:29.961 - INFO: epoch: 1562 +23-06-27 15:59:29.961 - INFO: iters: 3912187 +23-06-27 16:02:18.213 - INFO: train/mse_loss: 0.0015061433803061016 +23-06-27 16:02:18.214 - INFO: epoch: 1563 +23-06-27 16:02:18.214 - INFO: iters: 3914691 +23-06-27 16:05:06.170 - INFO: train/mse_loss: 0.0015552837385635334 +23-06-27 16:05:06.171 - INFO: epoch: 1564 +23-06-27 16:05:06.171 - INFO: iters: 3917195 +23-06-27 16:07:53.779 - INFO: train/mse_loss: 0.0015460824207648243 +23-06-27 16:07:53.780 - INFO: epoch: 1565 +23-06-27 16:07:53.780 - INFO: iters: 3919699 +23-06-27 16:10:41.306 - INFO: train/mse_loss: 0.0016598112430399694 +23-06-27 16:10:41.307 - INFO: epoch: 1566 +23-06-27 16:10:41.307 - INFO: iters: 3922203 +23-06-27 16:13:29.017 - INFO: train/mse_loss: 0.0015902462454078297 +23-06-27 16:13:29.017 - INFO: epoch: 1567 +23-06-27 16:13:29.017 - INFO: iters: 3924707 +23-06-27 16:16:16.986 - INFO: train/mse_loss: 0.001529648320187038 +23-06-27 16:16:16.986 - INFO: epoch: 1568 +23-06-27 16:16:16.986 - INFO: iters: 3927211 +23-06-27 16:19:04.671 - INFO: train/mse_loss: 0.0015846240782765107 +23-06-27 16:19:04.672 - INFO: epoch: 1569 +23-06-27 16:19:04.672 - INFO: iters: 3929715 +23-06-27 16:21:52.553 - INFO: train/mse_loss: 0.001539656770703481 +23-06-27 16:21:52.554 - INFO: epoch: 1570 +23-06-27 16:21:52.554 - INFO: iters: 3932219 +23-06-27 16:24:39.965 - INFO: train/mse_loss: 0.0015328944905827673 +23-06-27 16:24:39.965 - INFO: epoch: 1571 +23-06-27 16:24:39.966 - INFO: iters: 3934723 +23-06-27 16:27:27.394 - INFO: train/mse_loss: 0.0016212853943942465 +23-06-27 16:27:27.394 - INFO: epoch: 1572 +23-06-27 16:27:27.394 - INFO: iters: 3937227 +23-06-27 16:30:14.936 - INFO: train/mse_loss: 0.0015740409932700327 +23-06-27 16:30:14.937 - INFO: epoch: 1573 +23-06-27 16:30:14.937 - INFO: iters: 3939731 +23-06-27 16:33:02.914 - INFO: train/mse_loss: 0.0015879398639188907 +23-06-27 16:33:02.915 - INFO: epoch: 1574 +23-06-27 16:33:02.915 - INFO: iters: 3942235 +23-06-27 16:35:50.466 - INFO: train/mse_loss: 0.001566111664332378 +23-06-27 16:35:50.466 - INFO: epoch: 1575 +23-06-27 16:35:50.467 - INFO: iters: 3944739 +23-06-27 16:38:37.965 - INFO: train/mse_loss: 0.0016133088582067395 +23-06-27 16:38:37.965 - INFO: epoch: 1576 +23-06-27 16:38:37.966 - INFO: iters: 3947243 +23-06-27 16:41:25.888 - INFO: train/mse_loss: 0.0015771316160587744 +23-06-27 16:41:25.889 - INFO: epoch: 1577 +23-06-27 16:41:25.890 - INFO: iters: 3949747 +23-06-27 16:44:13.809 - INFO: train/mse_loss: 0.0015856965696781327 +23-06-27 16:44:13.809 - INFO: epoch: 1578 +23-06-27 16:44:13.809 - INFO: iters: 3952251 +23-06-27 16:47:01.688 - INFO: train/mse_loss: 0.0015817441216583689 +23-06-27 16:47:01.689 - INFO: epoch: 1579 +23-06-27 16:47:01.690 - INFO: iters: 3954755 +23-06-27 16:49:49.394 - INFO: train/mse_loss: 0.0015726762579399915 +23-06-27 16:49:49.394 - INFO: epoch: 1580 +23-06-27 16:49:49.395 - INFO: iters: 3957259 +23-06-27 16:52:37.201 - INFO: train/mse_loss: 0.0015782809045653756 +23-06-27 16:52:37.201 - INFO: epoch: 1581 +23-06-27 16:52:37.201 - INFO: iters: 3959763 +23-06-27 16:55:24.668 - INFO: train/mse_loss: 0.0015420966146412654 +23-06-27 16:55:24.669 - INFO: epoch: 1582 +23-06-27 16:55:24.669 - INFO: iters: 3962267 +23-06-27 16:58:12.361 - INFO: train/mse_loss: 0.0016265535190070684 +23-06-27 16:58:12.361 - INFO: epoch: 1583 +23-06-27 16:58:12.361 - INFO: iters: 3964771 +23-06-27 17:01:00.286 - INFO: train/mse_loss: 0.001539700801916474 +23-06-27 17:01:00.287 - INFO: epoch: 1584 +23-06-27 17:01:00.288 - INFO: iters: 3967275 +23-06-27 17:03:48.119 - INFO: train/mse_loss: 0.0015482637930264215 +23-06-27 17:03:48.120 - INFO: epoch: 1585 +23-06-27 17:03:48.120 - INFO: iters: 3969779 +23-06-27 17:06:36.005 - INFO: train/mse_loss: 0.0015203361757458174 +23-06-27 17:06:36.006 - INFO: epoch: 1586 +23-06-27 17:06:36.006 - INFO: iters: 3972283 +23-06-27 17:09:24.304 - INFO: train/mse_loss: 0.0015134367756709194 +23-06-27 17:09:24.305 - INFO: epoch: 1587 +23-06-27 17:09:24.305 - INFO: iters: 3974787 +23-06-27 17:12:12.225 - INFO: train/mse_loss: 0.0015759944736127394 +23-06-27 17:12:12.226 - INFO: epoch: 1588 +23-06-27 17:12:12.226 - INFO: iters: 3977291 +23-06-27 17:14:59.894 - INFO: train/mse_loss: 0.0015746901617400325 +23-06-27 17:14:59.895 - INFO: epoch: 1589 +23-06-27 17:14:59.895 - INFO: iters: 3979795 +23-06-27 17:17:47.589 - INFO: train/mse_loss: 0.0015695436747734264 +23-06-27 17:17:47.589 - INFO: epoch: 1590 +23-06-27 17:17:47.589 - INFO: iters: 3982299 +23-06-27 17:20:35.260 - INFO: train/mse_loss: 0.0015602383833079518 +23-06-27 17:20:35.261 - INFO: epoch: 1591 +23-06-27 17:20:35.261 - INFO: iters: 3984803 +23-06-27 17:23:23.011 - INFO: train/mse_loss: 0.0016606508225303726 +23-06-27 17:23:23.011 - INFO: epoch: 1592 +23-06-27 17:23:23.011 - INFO: iters: 3987307 +23-06-27 17:26:10.864 - INFO: train/mse_loss: 0.0015289798400702531 +23-06-27 17:26:10.865 - INFO: epoch: 1593 +23-06-27 17:26:10.865 - INFO: iters: 3989811 +23-06-27 17:28:58.333 - INFO: train/mse_loss: 0.0014901441453506771 +23-06-27 17:28:58.333 - INFO: epoch: 1594 +23-06-27 17:28:58.333 - INFO: iters: 3992315 +23-06-27 17:31:45.937 - INFO: train/mse_loss: 0.0015035434338723879 +23-06-27 17:31:45.937 - INFO: epoch: 1595 +23-06-27 17:31:45.938 - INFO: iters: 3994819 +23-06-27 17:34:33.942 - INFO: train/mse_loss: 0.0015179098334748107 +23-06-27 17:34:33.942 - INFO: epoch: 1596 +23-06-27 17:34:33.942 - INFO: iters: 3997323 +23-06-27 17:37:21.663 - INFO: train/mse_loss: 0.001620559794337343 +23-06-27 17:37:21.664 - INFO: epoch: 1597 +23-06-27 17:37:21.664 - INFO: iters: 3999827 +23-06-27 17:40:09.721 - INFO: train/mse_loss: 0.0015169416178432934 +23-06-27 17:40:09.722 - INFO: epoch: 1598 +23-06-27 17:40:09.722 - INFO: iters: 4002331 +23-06-27 17:42:58.059 - INFO: train/mse_loss: 0.001550301662110649 +23-06-27 17:42:58.060 - INFO: epoch: 1599 +23-06-27 17:42:58.060 - INFO: iters: 4004835 +23-06-27 17:45:45.752 - INFO: train/mse_loss: 0.0016193308020620563 +23-06-27 17:45:45.753 - INFO: epoch: 1600 +23-06-27 17:45:45.753 - INFO: iters: 4007339 +23-06-27 17:48:33.245 - INFO: train/mse_loss: 0.0015962193943203067 +23-06-27 17:48:33.246 - INFO: epoch: 1601 +23-06-27 17:48:33.246 - INFO: iters: 4009843 +23-06-27 17:51:20.715 - INFO: train/mse_loss: 0.0014945860986914723 +23-06-27 17:51:20.715 - INFO: epoch: 1602 +23-06-27 17:51:20.715 - INFO: iters: 4012347 +23-06-27 17:54:08.478 - INFO: train/mse_loss: 0.0014872171709830232 +23-06-27 17:54:08.479 - INFO: epoch: 1603 +23-06-27 17:54:08.479 - INFO: iters: 4014851 +23-06-27 17:56:56.185 - INFO: train/mse_loss: 0.0015910468899240247 +23-06-27 17:56:56.185 - INFO: epoch: 1604 +23-06-27 17:56:56.185 - INFO: iters: 4017355 +23-06-27 17:59:43.775 - INFO: train/mse_loss: 0.00153791290405132 +23-06-27 17:59:43.776 - INFO: epoch: 1605 +23-06-27 17:59:43.776 - INFO: iters: 4019859 +23-06-27 18:02:31.353 - INFO: train/mse_loss: 0.001641037741608281 +23-06-27 18:02:31.353 - INFO: epoch: 1606 +23-06-27 18:02:31.353 - INFO: iters: 4022363 +23-06-27 18:05:19.539 - INFO: train/mse_loss: 0.0016341693057773856 +23-06-27 18:05:19.539 - INFO: epoch: 1607 +23-06-27 18:05:19.539 - INFO: iters: 4024867 +23-06-27 18:08:07.196 - INFO: train/mse_loss: 0.0016097100787259007 +23-06-27 18:08:07.197 - INFO: epoch: 1608 +23-06-27 18:08:07.197 - INFO: iters: 4027371 +23-06-27 18:10:54.653 - INFO: train/mse_loss: 0.0015613243310004115 +23-06-27 18:10:54.654 - INFO: epoch: 1609 +23-06-27 18:10:54.654 - INFO: iters: 4029875 +23-06-27 18:13:42.241 - INFO: train/mse_loss: 0.0015589954515066616 +23-06-27 18:13:42.242 - INFO: epoch: 1610 +23-06-27 18:13:42.242 - INFO: iters: 4032379 +23-06-27 18:16:29.786 - INFO: train/mse_loss: 0.0015229926646922153 +23-06-27 18:16:29.786 - INFO: epoch: 1611 +23-06-27 18:16:29.786 - INFO: iters: 4034883 +23-06-27 18:19:17.374 - INFO: train/mse_loss: 0.0015495880097805407 +23-06-27 18:19:17.374 - INFO: epoch: 1612 +23-06-27 18:19:17.375 - INFO: iters: 4037387 +23-06-27 18:22:04.984 - INFO: train/mse_loss: 0.0016094286964771847 +23-06-27 18:22:04.984 - INFO: epoch: 1613 +23-06-27 18:22:04.984 - INFO: iters: 4039891 +23-06-27 18:24:52.620 - INFO: train/mse_loss: 0.0015192632003651616 +23-06-27 18:24:52.621 - INFO: epoch: 1614 +23-06-27 18:24:52.621 - INFO: iters: 4042395 +23-06-27 18:27:40.271 - INFO: train/mse_loss: 0.0015003588603855595 +23-06-27 18:27:40.272 - INFO: epoch: 1615 +23-06-27 18:27:40.272 - INFO: iters: 4044899 +23-06-27 18:30:27.861 - INFO: train/mse_loss: 0.0015243475106708443 +23-06-27 18:30:27.861 - INFO: epoch: 1616 +23-06-27 18:30:27.861 - INFO: iters: 4047403 +23-06-27 18:33:15.329 - INFO: train/mse_loss: 0.0015083242494340677 +23-06-27 18:33:15.330 - INFO: epoch: 1617 +23-06-27 18:33:15.330 - INFO: iters: 4049907 +23-06-27 18:36:03.347 - INFO: train/mse_loss: 0.001709272022382877 +23-06-27 18:36:03.348 - INFO: epoch: 1618 +23-06-27 18:36:03.348 - INFO: iters: 4052411 +23-06-27 18:38:50.995 - INFO: train/mse_loss: 0.0015181978253614955 +23-06-27 18:38:50.996 - INFO: epoch: 1619 +23-06-27 18:38:50.996 - INFO: iters: 4054915 +23-06-27 18:41:38.858 - INFO: train/mse_loss: 0.0015186138284472993 +23-06-27 18:41:38.858 - INFO: epoch: 1620 +23-06-27 18:41:38.858 - INFO: iters: 4057419 +23-06-27 18:44:27.232 - INFO: train/mse_loss: 0.0015133452943352143 +23-06-27 18:44:27.232 - INFO: epoch: 1621 +23-06-27 18:44:27.232 - INFO: iters: 4059923 +23-06-27 18:47:14.691 - INFO: train/mse_loss: 0.0016110235419401083 +23-06-27 18:47:14.692 - INFO: epoch: 1622 +23-06-27 18:47:14.692 - INFO: iters: 4062427 +23-06-27 18:50:02.246 - INFO: train/mse_loss: 0.001550517428797274 +23-06-27 18:50:02.246 - INFO: epoch: 1623 +23-06-27 18:50:02.247 - INFO: iters: 4064931 +23-06-27 18:52:49.706 - INFO: train/mse_loss: 0.0015084314653419327 +23-06-27 18:52:49.707 - INFO: epoch: 1624 +23-06-27 18:52:49.707 - INFO: iters: 4067435 +23-06-27 18:55:37.070 - INFO: train/mse_loss: 0.0015005103214614142 +23-06-27 18:55:37.070 - INFO: epoch: 1625 +23-06-27 18:55:37.070 - INFO: iters: 4069939 +23-06-27 18:58:24.535 - INFO: train/mse_loss: 0.0015105158852126164 +23-06-27 18:58:24.535 - INFO: epoch: 1626 +23-06-27 18:58:24.535 - INFO: iters: 4072443 +23-06-27 19:01:12.095 - INFO: train/mse_loss: 0.0015187108420213452 +23-06-27 19:01:12.095 - INFO: epoch: 1627 +23-06-27 19:01:12.095 - INFO: iters: 4074947 +23-06-27 19:03:59.662 - INFO: train/mse_loss: 0.0014919745974791663 +23-06-27 19:03:59.663 - INFO: epoch: 1628 +23-06-27 19:03:59.663 - INFO: iters: 4077451 +23-06-27 19:06:47.442 - INFO: train/mse_loss: 0.0015376238609863498 +23-06-27 19:06:47.442 - INFO: epoch: 1629 +23-06-27 19:06:47.442 - INFO: iters: 4079955 +23-06-27 19:09:35.226 - INFO: train/mse_loss: 0.0015796630454737658 +23-06-27 19:09:35.227 - INFO: epoch: 1630 +23-06-27 19:09:35.227 - INFO: iters: 4082459 +23-06-27 19:12:22.873 - INFO: train/mse_loss: 0.0015257686680999582 +23-06-27 19:12:22.873 - INFO: epoch: 1631 +23-06-27 19:12:22.874 - INFO: iters: 4084963 +23-06-27 19:15:10.266 - INFO: train/mse_loss: 0.001518708145221362 +23-06-27 19:15:10.266 - INFO: epoch: 1632 +23-06-27 19:15:10.266 - INFO: iters: 4087467 +23-06-27 19:17:57.706 - INFO: train/mse_loss: 0.0015862235558046676 +23-06-27 19:17:57.706 - INFO: epoch: 1633 +23-06-27 19:17:57.706 - INFO: iters: 4089971 +23-06-27 19:20:45.127 - INFO: train/mse_loss: 0.0014979595836540594 +23-06-27 19:20:45.127 - INFO: epoch: 1634 +23-06-27 19:20:45.127 - INFO: iters: 4092475 +23-06-27 19:23:32.534 - INFO: train/mse_loss: 0.0014880704243456166 +23-06-27 19:23:32.535 - INFO: epoch: 1635 +23-06-27 19:23:32.535 - INFO: iters: 4094979 +23-06-27 19:26:19.857 - INFO: train/mse_loss: 0.001600919871965941 +23-06-27 19:26:19.858 - INFO: epoch: 1636 +23-06-27 19:26:19.858 - INFO: iters: 4097483 +23-06-27 19:29:07.339 - INFO: train/mse_loss: 0.0016265330602230426 +23-06-27 19:29:07.339 - INFO: epoch: 1637 +23-06-27 19:29:07.339 - INFO: iters: 4099987 +23-06-27 19:31:55.002 - INFO: train/mse_loss: 0.0015010509691863192 +23-06-27 19:31:55.002 - INFO: epoch: 1638 +23-06-27 19:31:55.002 - INFO: iters: 4102491 +23-06-27 19:34:42.547 - INFO: train/mse_loss: 0.001466188106139878 +23-06-27 19:34:42.547 - INFO: epoch: 1639 +23-06-27 19:34:42.547 - INFO: iters: 4104995 +23-06-27 19:37:30.340 - INFO: train/mse_loss: 0.001565148952021338 +23-06-27 19:37:30.340 - INFO: epoch: 1640 +23-06-27 19:37:30.340 - INFO: iters: 4107499 +23-06-27 19:40:18.182 - INFO: train/mse_loss: 0.0014921863769410185 +23-06-27 19:40:18.182 - INFO: epoch: 1641 +23-06-27 19:40:18.182 - INFO: iters: 4110003 +23-06-27 19:43:06.221 - INFO: train/mse_loss: 0.0015535825142300667 +23-06-27 19:43:06.221 - INFO: epoch: 1642 +23-06-27 19:43:06.221 - INFO: iters: 4112507 +23-06-27 19:45:54.122 - INFO: train/mse_loss: 0.0019321495547337225 +23-06-27 19:45:54.123 - INFO: epoch: 1643 +23-06-27 19:45:54.123 - INFO: iters: 4115011 +23-06-27 19:48:41.873 - INFO: train/mse_loss: 0.0016089623861651593 +23-06-27 19:48:41.873 - INFO: epoch: 1644 +23-06-27 19:48:41.874 - INFO: iters: 4117515 +23-06-27 19:51:29.274 - INFO: train/mse_loss: 0.0015063758449667631 +23-06-27 19:51:29.275 - INFO: epoch: 1645 +23-06-27 19:51:29.275 - INFO: iters: 4120019 +23-06-27 19:54:16.594 - INFO: train/mse_loss: 0.0014715853927154154 +23-06-27 19:54:16.594 - INFO: epoch: 1646 +23-06-27 19:54:16.595 - INFO: iters: 4122523 +23-06-27 19:57:04.124 - INFO: train/mse_loss: 0.001481328943235496 +23-06-27 19:57:04.124 - INFO: epoch: 1647 +23-06-27 19:57:04.124 - INFO: iters: 4125027 +23-06-27 19:59:51.696 - INFO: train/mse_loss: 0.001508948931540437 +23-06-27 19:59:51.697 - INFO: epoch: 1648 +23-06-27 19:59:51.697 - INFO: iters: 4127531 +23-06-27 20:02:39.100 - INFO: train/mse_loss: 0.0016447534959855529 +23-06-27 20:02:39.101 - INFO: epoch: 1649 +23-06-27 20:02:39.101 - INFO: iters: 4130035 +23-06-27 20:05:26.773 - INFO: train/mse_loss: 0.0015694875057753973 +23-06-27 20:05:26.774 - INFO: epoch: 1650 +23-06-27 20:05:26.774 - INFO: iters: 4132539 +23-06-27 20:08:14.457 - INFO: train/mse_loss: 0.0015086947522608165 +23-06-27 20:08:14.457 - INFO: epoch: 1651 +23-06-27 20:08:14.457 - INFO: iters: 4135043 +23-06-27 20:11:02.029 - INFO: train/mse_loss: 0.001535819099822525 +23-06-27 20:11:02.029 - INFO: epoch: 1652 +23-06-27 20:11:02.029 - INFO: iters: 4137547 +23-06-27 20:13:49.802 - INFO: train/mse_loss: 0.0015726363745342477 +23-06-27 20:13:49.802 - INFO: epoch: 1653 +23-06-27 20:13:49.803 - INFO: iters: 4140051 +23-06-27 20:16:38.271 - INFO: train/mse_loss: 0.0014515582999488274 +23-06-27 20:16:38.271 - INFO: epoch: 1654 +23-06-27 20:16:38.271 - INFO: iters: 4142555 +23-06-27 20:19:25.969 - INFO: train/mse_loss: 0.0015324593902700922 +23-06-27 20:19:25.970 - INFO: epoch: 1655 +23-06-27 20:19:25.970 - INFO: iters: 4145059 +23-06-27 20:22:13.802 - INFO: train/mse_loss: 0.0015318126566656017 +23-06-27 20:22:13.803 - INFO: epoch: 1656 +23-06-27 20:22:13.803 - INFO: iters: 4147563 +23-06-27 20:25:01.466 - INFO: train/mse_loss: 0.0015383644888479525 +23-06-27 20:25:01.466 - INFO: epoch: 1657 +23-06-27 20:25:01.466 - INFO: iters: 4150067 +23-06-27 20:27:49.092 - INFO: train/mse_loss: 0.0015714968368336678 +23-06-27 20:27:49.093 - INFO: epoch: 1658 +23-06-27 20:27:49.093 - INFO: iters: 4152571 +23-06-27 20:30:36.924 - INFO: train/mse_loss: 0.0015016574501476516 +23-06-27 20:30:36.925 - INFO: epoch: 1659 +23-06-27 20:30:36.925 - INFO: iters: 4155075 +23-06-27 20:33:24.392 - INFO: train/mse_loss: 0.0015370041411295653 +23-06-27 20:33:24.393 - INFO: epoch: 1660 +23-06-27 20:33:24.393 - INFO: iters: 4157579 +23-06-27 20:36:12.093 - INFO: train/mse_loss: 0.0015423078476391827 +23-06-27 20:36:12.093 - INFO: epoch: 1661 +23-06-27 20:36:12.094 - INFO: iters: 4160083 +23-06-27 20:38:59.894 - INFO: train/mse_loss: 0.0014763917248047436 +23-06-27 20:38:59.894 - INFO: epoch: 1662 +23-06-27 20:38:59.895 - INFO: iters: 4162587 +23-06-27 20:41:47.557 - INFO: train/mse_loss: 0.0015081686388772613 +23-06-27 20:41:47.557 - INFO: epoch: 1663 +23-06-27 20:41:47.558 - INFO: iters: 4165091 +23-06-27 20:44:34.957 - INFO: train/mse_loss: 0.001471111465940258 +23-06-27 20:44:34.957 - INFO: epoch: 1664 +23-06-27 20:44:34.957 - INFO: iters: 4167595 +23-06-27 20:47:22.714 - INFO: train/mse_loss: 0.001462359390684222 +23-06-27 20:47:22.714 - INFO: epoch: 1665 +23-06-27 20:47:22.714 - INFO: iters: 4170099 +23-06-27 20:50:10.455 - INFO: train/mse_loss: 0.0014963720121031134 +23-06-27 20:50:10.455 - INFO: epoch: 1666 +23-06-27 20:50:10.456 - INFO: iters: 4172603 +23-06-27 20:52:57.934 - INFO: train/mse_loss: 0.0015265426948851053 +23-06-27 20:52:57.935 - INFO: epoch: 1667 +23-06-27 20:52:57.935 - INFO: iters: 4175107 +23-06-27 20:55:45.745 - INFO: train/mse_loss: 0.0015114840025605913 +23-06-27 20:55:45.747 - INFO: epoch: 1668 +23-06-27 20:55:45.747 - INFO: iters: 4177611 +23-06-27 20:58:33.248 - INFO: train/mse_loss: 0.0016290069352790785 +23-06-27 20:58:33.248 - INFO: epoch: 1669 +23-06-27 20:58:33.248 - INFO: iters: 4180115 +23-06-27 21:01:20.742 - INFO: train/mse_loss: 0.0014618298147816937 +23-06-27 21:01:20.742 - INFO: epoch: 1670 +23-06-27 21:01:20.743 - INFO: iters: 4182619 +23-06-27 21:04:08.332 - INFO: train/mse_loss: 0.001544221457314883 +23-06-27 21:04:08.333 - INFO: epoch: 1671 +23-06-27 21:04:08.333 - INFO: iters: 4185123 +23-06-27 21:06:55.850 - INFO: train/mse_loss: 0.0015044324269247488 +23-06-27 21:06:55.850 - INFO: epoch: 1672 +23-06-27 21:06:55.850 - INFO: iters: 4187627 +23-06-27 21:09:43.568 - INFO: train/mse_loss: 0.001492669190519665 +23-06-27 21:09:43.568 - INFO: epoch: 1673 +23-06-27 21:09:43.568 - INFO: iters: 4190131 +23-06-27 21:12:31.359 - INFO: train/mse_loss: 0.0015344049061124865 +23-06-27 21:12:31.360 - INFO: epoch: 1674 +23-06-27 21:12:31.360 - INFO: iters: 4192635 +23-06-27 21:15:19.035 - INFO: train/mse_loss: 0.0014487466398855678 +23-06-27 21:15:19.036 - INFO: epoch: 1675 +23-06-27 21:15:19.036 - INFO: iters: 4195139 +23-06-27 21:18:06.545 - INFO: train/mse_loss: 0.001453354697899161 +23-06-27 21:18:06.546 - INFO: epoch: 1676 +23-06-27 21:18:06.546 - INFO: iters: 4197643 +23-06-27 21:20:54.133 - INFO: train/mse_loss: 0.0014490438685655748 +23-06-27 21:20:54.133 - INFO: epoch: 1677 +23-06-27 21:20:54.133 - INFO: iters: 4200147 +23-06-27 21:23:41.449 - INFO: train/mse_loss: 0.0014839602621107067 +23-06-27 21:23:41.449 - INFO: epoch: 1678 +23-06-27 21:23:41.450 - INFO: iters: 4202651 +23-06-27 21:26:29.134 - INFO: train/mse_loss: 0.0014701487836628832 +23-06-27 21:26:29.134 - INFO: epoch: 1679 +23-06-27 21:26:29.135 - INFO: iters: 4205155 +23-06-27 21:29:16.797 - INFO: train/mse_loss: 0.001526956677811738 +23-06-27 21:29:16.797 - INFO: epoch: 1680 +23-06-27 21:29:16.797 - INFO: iters: 4207659 +23-06-27 21:32:04.559 - INFO: train/mse_loss: 0.0015249007056800487 +23-06-27 21:32:04.559 - INFO: epoch: 1681 +23-06-27 21:32:04.559 - INFO: iters: 4210163 +23-06-27 21:34:51.854 - INFO: train/mse_loss: 0.001436506536009665 +23-06-27 21:34:51.855 - INFO: epoch: 1682 +23-06-27 21:34:51.855 - INFO: iters: 4212667 +23-06-27 21:37:39.718 - INFO: train/mse_loss: 0.0015838926055687316 +23-06-27 21:37:39.719 - INFO: epoch: 1683 +23-06-27 21:37:39.719 - INFO: iters: 4215171 +23-06-27 21:40:27.262 - INFO: train/mse_loss: 0.001492091466281444 +23-06-27 21:40:27.263 - INFO: epoch: 1684 +23-06-27 21:40:27.263 - INFO: iters: 4217675 +23-06-27 21:43:14.764 - INFO: train/mse_loss: 0.001512274498115487 +23-06-27 21:43:14.764 - INFO: epoch: 1685 +23-06-27 21:43:14.764 - INFO: iters: 4220179 +23-06-27 21:46:02.080 - INFO: train/mse_loss: 0.0015489152914765604 +23-06-27 21:46:02.081 - INFO: epoch: 1686 +23-06-27 21:46:02.081 - INFO: iters: 4222683 +23-06-27 21:48:49.591 - INFO: train/mse_loss: 0.0015038016890830245 +23-06-27 21:48:49.593 - INFO: epoch: 1687 +23-06-27 21:48:49.593 - INFO: iters: 4225187 +23-06-27 21:51:37.097 - INFO: train/mse_loss: 0.0014984068720558354 +23-06-27 21:51:37.098 - INFO: epoch: 1688 +23-06-27 21:51:37.098 - INFO: iters: 4227691 +23-06-27 21:54:25.521 - INFO: train/mse_loss: 0.0014888964844093965 +23-06-27 21:54:25.521 - INFO: epoch: 1689 +23-06-27 21:54:25.521 - INFO: iters: 4230195 +23-06-27 21:57:13.160 - INFO: train/mse_loss: 0.0015504918098948098 +23-06-27 21:57:13.161 - INFO: epoch: 1690 +23-06-27 21:57:13.161 - INFO: iters: 4232699 +23-06-27 22:00:01.001 - INFO: train/mse_loss: 0.0015870897836176851 +23-06-27 22:00:01.001 - INFO: epoch: 1691 +23-06-27 22:00:01.001 - INFO: iters: 4235203 +23-06-27 22:02:48.846 - INFO: train/mse_loss: 0.0014924841780273523 +23-06-27 22:02:48.846 - INFO: epoch: 1692 +23-06-27 22:02:48.847 - INFO: iters: 4237707 +23-06-27 22:05:36.436 - INFO: train/mse_loss: 0.0014914668815287824 +23-06-27 22:05:36.437 - INFO: epoch: 1693 +23-06-27 22:05:36.437 - INFO: iters: 4240211 +23-06-27 22:08:23.874 - INFO: train/mse_loss: 0.0014317495696887837 +23-06-27 22:08:23.874 - INFO: epoch: 1694 +23-06-27 22:08:23.874 - INFO: iters: 4242715 +23-06-27 22:11:11.341 - INFO: train/mse_loss: 0.0014918475423362284 +23-06-27 22:11:11.342 - INFO: epoch: 1695 +23-06-27 22:11:11.342 - INFO: iters: 4245219 +23-06-27 22:13:58.845 - INFO: train/mse_loss: 0.0015025685703866898 +23-06-27 22:13:58.845 - INFO: epoch: 1696 +23-06-27 22:13:58.845 - INFO: iters: 4247723 +23-06-27 22:16:46.668 - INFO: train/mse_loss: 0.001461894844826787 +23-06-27 22:16:46.669 - INFO: epoch: 1697 +23-06-27 22:16:46.669 - INFO: iters: 4250227 +23-06-27 22:19:34.011 - INFO: train/mse_loss: 0.001523302640571012 +23-06-27 22:19:34.011 - INFO: epoch: 1698 +23-06-27 22:19:34.011 - INFO: iters: 4252731 +23-06-27 22:22:21.478 - INFO: train/mse_loss: 0.001479461285346649 +23-06-27 22:22:21.479 - INFO: epoch: 1699 +23-06-27 22:22:21.479 - INFO: iters: 4255235 +23-06-27 22:25:08.830 - INFO: train/mse_loss: 0.0015116996251228162 +23-06-27 22:25:08.830 - INFO: epoch: 1700 +23-06-27 22:25:08.830 - INFO: iters: 4257739 +23-06-27 22:27:56.321 - INFO: train/mse_loss: 0.0015609111927357463 +23-06-27 22:27:56.322 - INFO: epoch: 1701 +23-06-27 22:27:56.322 - INFO: iters: 4260243 +23-06-27 22:30:44.185 - INFO: train/mse_loss: 0.0014472868216905397 +23-06-27 22:30:44.185 - INFO: epoch: 1702 +23-06-27 22:30:44.185 - INFO: iters: 4262747 +23-06-27 22:33:31.925 - INFO: train/mse_loss: 0.0015026191065382487 +23-06-27 22:33:31.925 - INFO: epoch: 1703 +23-06-27 22:33:31.925 - INFO: iters: 4265251 +23-06-27 22:36:19.610 - INFO: train/mse_loss: 0.001573206580871829 +23-06-27 22:36:19.610 - INFO: epoch: 1704 +23-06-27 22:36:19.611 - INFO: iters: 4267755 +23-06-27 22:39:07.165 - INFO: train/mse_loss: 0.0013964826662536745 +23-06-27 22:39:07.165 - INFO: epoch: 1705 +23-06-27 22:39:07.165 - INFO: iters: 4270259 +23-06-27 22:41:54.629 - INFO: train/mse_loss: 0.0014903996326289654 +23-06-27 22:41:54.629 - INFO: epoch: 1706 +23-06-27 22:41:54.630 - INFO: iters: 4272763 +23-06-27 22:44:42.182 - INFO: train/mse_loss: 0.0014973670656505686 +23-06-27 22:44:42.183 - INFO: epoch: 1707 +23-06-27 22:44:42.183 - INFO: iters: 4275267 +23-06-27 22:47:29.614 - INFO: train/mse_loss: 0.001492125883746071 +23-06-27 22:47:29.615 - INFO: epoch: 1708 +23-06-27 22:47:29.615 - INFO: iters: 4277771 +23-06-27 22:50:17.024 - INFO: train/mse_loss: 0.0014761758604854608 +23-06-27 22:50:17.024 - INFO: epoch: 1709 +23-06-27 22:50:17.025 - INFO: iters: 4280275 +23-06-27 22:53:04.599 - INFO: train/mse_loss: 0.0014823415932563929 +23-06-27 22:53:04.600 - INFO: epoch: 1710 +23-06-27 22:53:04.600 - INFO: iters: 4282779 +23-06-27 22:55:52.332 - INFO: train/mse_loss: 0.0015270275981745685 +23-06-27 22:55:52.333 - INFO: epoch: 1711 +23-06-27 22:55:52.333 - INFO: iters: 4285283 +23-06-27 22:58:40.021 - INFO: train/mse_loss: 0.0015067848105975888 +23-06-27 22:58:40.021 - INFO: epoch: 1712 +23-06-27 22:58:40.022 - INFO: iters: 4287787 +23-06-27 23:01:27.492 - INFO: train/mse_loss: 0.0014851089723530216 +23-06-27 23:01:27.493 - INFO: epoch: 1713 +23-06-27 23:01:27.493 - INFO: iters: 4290291 +23-06-27 23:04:15.082 - INFO: train/mse_loss: 0.0015546675238121575 +23-06-27 23:04:15.083 - INFO: epoch: 1714 +23-06-27 23:04:15.083 - INFO: iters: 4292795 +23-06-27 23:07:02.550 - INFO: train/mse_loss: 0.0014943014160869793 +23-06-27 23:07:02.550 - INFO: epoch: 1715 +23-06-27 23:07:02.551 - INFO: iters: 4295299 +23-06-27 23:09:50.134 - INFO: train/mse_loss: 0.0015806719826641506 +23-06-27 23:09:50.134 - INFO: epoch: 1716 +23-06-27 23:09:50.134 - INFO: iters: 4297803 +23-06-27 23:12:37.653 - INFO: train/mse_loss: 0.0015028981366767562 +23-06-27 23:12:37.654 - INFO: epoch: 1717 +23-06-27 23:12:37.654 - INFO: iters: 4300307 +23-06-27 23:15:25.537 - INFO: train/mse_loss: 0.0015408633890139243 +23-06-27 23:15:25.538 - INFO: epoch: 1718 +23-06-27 23:15:25.538 - INFO: iters: 4302811 +23-06-27 23:18:13.350 - INFO: train/mse_loss: 0.0015110947878305286 +23-06-27 23:18:13.350 - INFO: epoch: 1719 +23-06-27 23:18:13.350 - INFO: iters: 4305315 +23-06-27 23:21:01.429 - INFO: train/mse_loss: 0.0014444159495587737 +23-06-27 23:21:01.430 - INFO: epoch: 1720 +23-06-27 23:21:01.430 - INFO: iters: 4307819 +23-06-27 23:23:48.999 - INFO: train/mse_loss: 0.001465432483482713 +23-06-27 23:23:49.000 - INFO: epoch: 1721 +23-06-27 23:23:49.000 - INFO: iters: 4310323 +23-06-27 23:26:37.003 - INFO: train/mse_loss: 0.0014242549944213762 +23-06-27 23:26:37.003 - INFO: epoch: 1722 +23-06-27 23:26:37.003 - INFO: iters: 4312827 +23-06-27 23:29:24.641 - INFO: train/mse_loss: 0.00145125718018897 +23-06-27 23:29:24.641 - INFO: epoch: 1723 +23-06-27 23:29:24.641 - INFO: iters: 4315331 +23-06-27 23:32:12.111 - INFO: train/mse_loss: 0.0015829827353996508 +23-06-27 23:32:12.111 - INFO: epoch: 1724 +23-06-27 23:32:12.111 - INFO: iters: 4317835 +23-06-27 23:34:59.484 - INFO: train/mse_loss: 0.0014416424077027998 +23-06-27 23:34:59.485 - INFO: epoch: 1725 +23-06-27 23:34:59.485 - INFO: iters: 4320339 +23-06-27 23:37:47.179 - INFO: train/mse_loss: 0.0014222622304163968 +23-06-27 23:37:47.179 - INFO: epoch: 1726 +23-06-27 23:37:47.179 - INFO: iters: 4322843 +23-06-27 23:40:34.731 - INFO: train/mse_loss: 0.0014607035845053938 +23-06-27 23:40:34.731 - INFO: epoch: 1727 +23-06-27 23:40:34.731 - INFO: iters: 4325347 +23-06-27 23:43:22.261 - INFO: train/mse_loss: 0.0014631020347996892 +23-06-27 23:43:22.261 - INFO: epoch: 1728 +23-06-27 23:43:22.261 - INFO: iters: 4327851 +23-06-27 23:46:09.877 - INFO: train/mse_loss: 0.0014526996577081208 +23-06-27 23:46:09.878 - INFO: epoch: 1729 +23-06-27 23:46:09.878 - INFO: iters: 4330355 +23-06-27 23:48:57.236 - INFO: train/mse_loss: 0.0014343880428992117 +23-06-27 23:48:57.237 - INFO: epoch: 1730 +23-06-27 23:48:57.237 - INFO: iters: 4332859 +23-06-27 23:51:44.755 - INFO: train/mse_loss: 0.0014486103809584444 +23-06-27 23:51:44.756 - INFO: epoch: 1731 +23-06-27 23:51:44.756 - INFO: iters: 4335363 +23-06-27 23:54:32.376 - INFO: train/mse_loss: 0.001453435708643696 +23-06-27 23:54:32.377 - INFO: epoch: 1732 +23-06-27 23:54:32.377 - INFO: iters: 4337867 +23-06-27 23:57:19.885 - INFO: train/mse_loss: 0.0014701381581612289 +23-06-27 23:57:19.885 - INFO: epoch: 1733 +23-06-27 23:57:19.885 - INFO: iters: 4340371 +23-06-28 00:00:07.416 - INFO: train/mse_loss: 0.001458711487749895 +23-06-28 00:00:07.417 - INFO: epoch: 1734 +23-06-28 00:00:07.417 - INFO: iters: 4342875 +23-06-28 00:02:55.884 - INFO: train/mse_loss: 0.0014570518871010565 +23-06-28 00:02:55.885 - INFO: epoch: 1735 +23-06-28 00:02:55.885 - INFO: iters: 4345379 +23-06-28 00:05:43.812 - INFO: train/mse_loss: 0.001489020599507557 +23-06-28 00:05:43.812 - INFO: epoch: 1736 +23-06-28 00:05:43.813 - INFO: iters: 4347883 +23-06-28 00:08:31.258 - INFO: train/mse_loss: 0.0014148266005408637 +23-06-28 00:08:31.258 - INFO: epoch: 1737 +23-06-28 00:08:31.258 - INFO: iters: 4350387 +23-06-28 00:11:18.984 - INFO: train/mse_loss: 0.0014468021302174528 +23-06-28 00:11:18.985 - INFO: epoch: 1738 +23-06-28 00:11:18.985 - INFO: iters: 4352891 +23-06-28 00:14:06.526 - INFO: train/mse_loss: 0.0014741823330860788 +23-06-28 00:14:06.526 - INFO: epoch: 1739 +23-06-28 00:14:06.526 - INFO: iters: 4355395 +23-06-28 00:16:54.597 - INFO: train/mse_loss: 0.0014898405520441813 +23-06-28 00:16:54.597 - INFO: epoch: 1740 +23-06-28 00:16:54.598 - INFO: iters: 4357899 +23-06-28 00:19:42.115 - INFO: train/mse_loss: 0.0014413034931322138 +23-06-28 00:19:42.116 - INFO: epoch: 1741 +23-06-28 00:19:42.116 - INFO: iters: 4360403 +23-06-28 00:22:29.605 - INFO: train/mse_loss: 0.0014691150683266952 +23-06-28 00:22:29.606 - INFO: epoch: 1742 +23-06-28 00:22:29.606 - INFO: iters: 4362907 +23-06-28 00:25:17.169 - INFO: train/mse_loss: 0.001489551686856616 +23-06-28 00:25:17.169 - INFO: epoch: 1743 +23-06-28 00:25:17.170 - INFO: iters: 4365411 +23-06-28 00:28:04.887 - INFO: train/mse_loss: 0.0015454724175891223 +23-06-28 00:28:04.887 - INFO: epoch: 1744 +23-06-28 00:28:04.887 - INFO: iters: 4367915 +23-06-28 00:30:52.543 - INFO: train/mse_loss: 0.0013954541824472407 +23-06-28 00:30:52.544 - INFO: epoch: 1745 +23-06-28 00:30:52.544 - INFO: iters: 4370419 +23-06-28 00:33:40.557 - INFO: train/mse_loss: 0.0014470057162536553 +23-06-28 00:33:40.558 - INFO: epoch: 1746 +23-06-28 00:33:40.558 - INFO: iters: 4372923 +23-06-28 00:36:28.494 - INFO: train/mse_loss: 0.0014770053845559494 +23-06-28 00:36:28.494 - INFO: epoch: 1747 +23-06-28 00:36:28.494 - INFO: iters: 4375427 +23-06-28 00:39:18.701 - INFO: train/mse_loss: 0.0014644305696138167 +23-06-28 00:39:18.702 - INFO: epoch: 1748 +23-06-28 00:39:18.702 - INFO: iters: 4377931 +23-06-28 00:42:06.341 - INFO: train/mse_loss: 0.001606386313333917 +23-06-28 00:42:06.342 - INFO: epoch: 1749 +23-06-28 00:42:06.342 - INFO: iters: 4380435 +23-06-28 00:44:53.917 - INFO: train/mse_loss: 0.0014534030426159715 +23-06-28 00:44:53.918 - INFO: epoch: 1750 +23-06-28 00:44:53.918 - INFO: iters: 4382939 +23-06-28 00:47:41.708 - INFO: train/mse_loss: 0.0014539596145993438 +23-06-28 00:47:41.709 - INFO: epoch: 1751 +23-06-28 00:47:41.709 - INFO: iters: 4385443 +23-06-28 00:50:29.639 - INFO: train/mse_loss: 0.001419762554117285 +23-06-28 00:50:29.640 - INFO: epoch: 1752 +23-06-28 00:50:29.640 - INFO: iters: 4387947 +23-06-28 00:53:17.632 - INFO: train/mse_loss: 0.001455320643328767 +23-06-28 00:53:17.633 - INFO: epoch: 1753 +23-06-28 00:53:17.633 - INFO: iters: 4390451 +23-06-28 00:56:05.422 - INFO: train/mse_loss: 0.0014166585639299163 +23-06-28 00:56:05.423 - INFO: epoch: 1754 +23-06-28 00:56:05.423 - INFO: iters: 4392955 +23-06-28 00:58:53.247 - INFO: train/mse_loss: 0.001409465149335099 +23-06-28 00:58:53.248 - INFO: epoch: 1755 +23-06-28 00:58:53.248 - INFO: iters: 4395459 +23-06-28 01:01:41.190 - INFO: train/mse_loss: 0.0014576217732965029 +23-06-28 01:01:41.190 - INFO: epoch: 1756 +23-06-28 01:01:41.190 - INFO: iters: 4397963 +23-06-28 01:04:28.934 - INFO: train/mse_loss: 0.0014897306983808454 +23-06-28 01:04:28.934 - INFO: epoch: 1757 +23-06-28 01:04:28.934 - INFO: iters: 4400467 +23-06-28 01:07:16.979 - INFO: train/mse_loss: 0.0014091473791157654 +23-06-28 01:07:16.980 - INFO: epoch: 1758 +23-06-28 01:07:16.981 - INFO: iters: 4402971 +23-06-28 01:10:05.037 - INFO: train/mse_loss: 0.001413688755418641 +23-06-28 01:10:05.038 - INFO: epoch: 1759 +23-06-28 01:10:05.038 - INFO: iters: 4405475 +23-06-28 01:12:52.880 - INFO: train/mse_loss: 0.001478423602870121 +23-06-28 01:12:52.881 - INFO: epoch: 1760 +23-06-28 01:12:52.881 - INFO: iters: 4407979 +23-06-28 01:15:40.622 - INFO: train/mse_loss: 0.0015967086481210142 +23-06-28 01:15:40.623 - INFO: epoch: 1761 +23-06-28 01:15:40.623 - INFO: iters: 4410483 +23-06-28 01:18:28.235 - INFO: train/mse_loss: 0.0014824387889850836 +23-06-28 01:18:28.237 - INFO: epoch: 1762 +23-06-28 01:18:28.237 - INFO: iters: 4412987 +23-06-28 01:21:17.219 - INFO: train/mse_loss: 0.001657836120605421 +23-06-28 01:21:17.219 - INFO: epoch: 1763 +23-06-28 01:21:17.219 - INFO: iters: 4415491 +23-06-28 01:24:04.806 - INFO: train/mse_loss: 0.0014843359732213386 +23-06-28 01:24:04.807 - INFO: epoch: 1764 +23-06-28 01:24:04.807 - INFO: iters: 4417995 +23-06-28 01:26:52.294 - INFO: train/mse_loss: 0.0013944763041580446 +23-06-28 01:26:52.294 - INFO: epoch: 1765 +23-06-28 01:26:52.294 - INFO: iters: 4420499 +23-06-28 01:29:39.633 - INFO: train/mse_loss: 0.0014806434915872653 +23-06-28 01:29:39.634 - INFO: epoch: 1766 +23-06-28 01:29:39.634 - INFO: iters: 4423003 +23-06-28 01:32:26.919 - INFO: train/mse_loss: 0.0014188925705153864 +23-06-28 01:32:26.919 - INFO: epoch: 1767 +23-06-28 01:32:26.919 - INFO: iters: 4425507 +23-06-28 01:35:14.541 - INFO: train/mse_loss: 0.0013831244298471168 +23-06-28 01:35:14.541 - INFO: epoch: 1768 +23-06-28 01:35:14.541 - INFO: iters: 4428011 +23-06-28 01:38:02.573 - INFO: train/mse_loss: 0.001435203656268577 +23-06-28 01:38:02.573 - INFO: epoch: 1769 +23-06-28 01:38:02.573 - INFO: iters: 4430515 +23-06-28 01:40:50.137 - INFO: train/mse_loss: 0.0014182084835857487 +23-06-28 01:40:50.138 - INFO: epoch: 1770 +23-06-28 01:40:50.138 - INFO: iters: 4433019 +23-06-28 01:43:37.773 - INFO: train/mse_loss: 0.001480681495238899 +23-06-28 01:43:37.774 - INFO: epoch: 1771 +23-06-28 01:43:37.774 - INFO: iters: 4435523 +23-06-28 01:46:25.593 - INFO: train/mse_loss: 0.0014195732035735152 +23-06-28 01:46:25.594 - INFO: epoch: 1772 +23-06-28 01:46:25.594 - INFO: iters: 4438027 +23-06-28 01:49:13.407 - INFO: train/mse_loss: 0.0014408786798613116 +23-06-28 01:49:13.407 - INFO: epoch: 1773 +23-06-28 01:49:13.407 - INFO: iters: 4440531 +23-06-28 01:52:01.315 - INFO: train/mse_loss: 0.0014380065713281603 +23-06-28 01:52:01.315 - INFO: epoch: 1774 +23-06-28 01:52:01.315 - INFO: iters: 4443035 +23-06-28 01:54:48.984 - INFO: train/mse_loss: 0.0013963574762664401 +23-06-28 01:54:48.985 - INFO: epoch: 1775 +23-06-28 01:54:48.985 - INFO: iters: 4445539 +23-06-28 01:57:36.669 - INFO: train/mse_loss: 0.0014276023416336591 +23-06-28 01:57:36.670 - INFO: epoch: 1776 +23-06-28 01:57:36.670 - INFO: iters: 4448043 +23-06-28 02:00:24.249 - INFO: train/mse_loss: 0.0015302238933453426 +23-06-28 02:00:24.250 - INFO: epoch: 1777 +23-06-28 02:00:24.250 - INFO: iters: 4450547 +23-06-28 02:03:11.601 - INFO: train/mse_loss: 0.0014176230458096384 +23-06-28 02:03:11.602 - INFO: epoch: 1778 +23-06-28 02:03:11.602 - INFO: iters: 4453051 +23-06-28 02:05:59.231 - INFO: train/mse_loss: 0.001401866109076197 +23-06-28 02:05:59.231 - INFO: epoch: 1779 +23-06-28 02:05:59.231 - INFO: iters: 4455555 +23-06-28 02:08:46.662 - INFO: train/mse_loss: 0.0014200919816759936 +23-06-28 02:08:46.663 - INFO: epoch: 1780 +23-06-28 02:08:46.663 - INFO: iters: 4458059 +23-06-28 02:11:34.840 - INFO: train/mse_loss: 0.0014409628587391096 +23-06-28 02:11:34.840 - INFO: epoch: 1781 +23-06-28 02:11:34.841 - INFO: iters: 4460563 +23-06-28 02:14:22.540 - INFO: train/mse_loss: 0.00136666482176108 +23-06-28 02:14:22.541 - INFO: epoch: 1782 +23-06-28 02:14:22.541 - INFO: iters: 4463067 +23-06-28 02:17:10.096 - INFO: train/mse_loss: 0.0014215986060831078 +23-06-28 02:17:10.097 - INFO: epoch: 1783 +23-06-28 02:17:10.097 - INFO: iters: 4465571 +23-06-28 02:19:57.623 - INFO: train/mse_loss: 0.0014201943518425792 +23-06-28 02:19:57.624 - INFO: epoch: 1784 +23-06-28 02:19:57.624 - INFO: iters: 4468075 +23-06-28 02:22:45.687 - INFO: train/mse_loss: 0.001426553303642145 +23-06-28 02:22:45.690 - INFO: epoch: 1785 +23-06-28 02:22:45.690 - INFO: iters: 4470579 +23-06-28 02:25:33.090 - INFO: train/mse_loss: 0.0014533232428883306 +23-06-28 02:25:33.091 - INFO: epoch: 1786 +23-06-28 02:25:33.091 - INFO: iters: 4473083 +23-06-28 02:28:20.553 - INFO: train/mse_loss: 0.0014246388110882653 +23-06-28 02:28:20.554 - INFO: epoch: 1787 +23-06-28 02:28:20.554 - INFO: iters: 4475587 +23-06-28 02:31:07.911 - INFO: train/mse_loss: 0.0014480544434013827 +23-06-28 02:31:07.911 - INFO: epoch: 1788 +23-06-28 02:31:07.911 - INFO: iters: 4478091 +23-06-28 02:33:55.496 - INFO: train/mse_loss: 0.0014929532087571656 +23-06-28 02:33:55.497 - INFO: epoch: 1789 +23-06-28 02:33:55.497 - INFO: iters: 4480595 +23-06-28 02:36:42.933 - INFO: train/mse_loss: 0.0014197661655957993 +23-06-28 02:36:42.933 - INFO: epoch: 1790 +23-06-28 02:36:42.933 - INFO: iters: 4483099 +23-06-28 02:39:30.540 - INFO: train/mse_loss: 0.001385648612129374 +23-06-28 02:39:30.541 - INFO: epoch: 1791 +23-06-28 02:39:30.541 - INFO: iters: 4485603 +23-06-28 02:42:17.947 - INFO: train/mse_loss: 0.0013779006110275157 +23-06-28 02:42:17.947 - INFO: epoch: 1792 +23-06-28 02:42:17.947 - INFO: iters: 4488107 +23-06-28 02:45:05.530 - INFO: train/mse_loss: 0.0014024163719442205 +23-06-28 02:45:05.530 - INFO: epoch: 1793 +23-06-28 02:45:05.531 - INFO: iters: 4490611 +23-06-28 02:47:53.290 - INFO: train/mse_loss: 0.001535558926455599 +23-06-28 02:47:53.290 - INFO: epoch: 1794 +23-06-28 02:47:53.291 - INFO: iters: 4493115 +23-06-28 02:50:41.269 - INFO: train/mse_loss: 0.001555944474457879 +23-06-28 02:50:41.269 - INFO: epoch: 1795 +23-06-28 02:50:41.269 - INFO: iters: 4495619 +23-06-28 02:53:29.005 - INFO: train/mse_loss: 0.0014312954756398552 +23-06-28 02:53:29.005 - INFO: epoch: 1796 +23-06-28 02:53:29.006 - INFO: iters: 4498123 +23-06-28 02:56:16.966 - INFO: train/mse_loss: 0.0014345251575533372 +23-06-28 02:56:16.966 - INFO: epoch: 1797 +23-06-28 02:56:16.966 - INFO: iters: 4500627 +23-06-28 02:59:04.732 - INFO: train/mse_loss: 0.001415759034918996 +23-06-28 02:59:04.733 - INFO: epoch: 1798 +23-06-28 02:59:04.733 - INFO: iters: 4503131 +23-06-28 03:01:52.387 - INFO: train/mse_loss: 0.0013665229496070013 +23-06-28 03:01:52.388 - INFO: epoch: 1799 +23-06-28 03:01:52.388 - INFO: iters: 4505635 +23-06-28 03:04:40.101 - INFO: train/mse_loss: 0.0014574298951826907 +23-06-28 03:04:40.102 - INFO: epoch: 1800 +23-06-28 03:04:40.102 - INFO: iters: 4508139 +23-06-28 03:07:28.135 - INFO: train/mse_loss: 0.001480959429195115 +23-06-28 03:07:28.135 - INFO: epoch: 1801 +23-06-28 03:07:28.135 - INFO: iters: 4510643 +23-06-28 03:10:17.039 - INFO: train/mse_loss: 0.0014457897450135182 +23-06-28 03:10:17.040 - INFO: epoch: 1802 +23-06-28 03:10:17.040 - INFO: iters: 4513147 +23-06-28 03:13:04.714 - INFO: train/mse_loss: 0.0014177564767370828 +23-06-28 03:13:04.715 - INFO: epoch: 1803 +23-06-28 03:13:04.715 - INFO: iters: 4515651 +23-06-28 03:15:52.939 - INFO: train/mse_loss: 0.0014119823656666775 +23-06-28 03:15:52.940 - INFO: epoch: 1804 +23-06-28 03:15:52.940 - INFO: iters: 4518155 +23-06-28 03:18:40.712 - INFO: train/mse_loss: 0.0014599597950193722 +23-06-28 03:18:40.712 - INFO: epoch: 1805 +23-06-28 03:18:40.712 - INFO: iters: 4520659 +23-06-28 03:21:28.631 - INFO: train/mse_loss: 0.001482863551765954 +23-06-28 03:21:28.632 - INFO: epoch: 1806 +23-06-28 03:21:28.632 - INFO: iters: 4523163 +23-06-28 03:24:16.141 - INFO: train/mse_loss: 0.001380227384910273 +23-06-28 03:24:16.142 - INFO: epoch: 1807 +23-06-28 03:24:16.142 - INFO: iters: 4525667 +23-06-28 03:27:04.044 - INFO: train/mse_loss: 0.001375216827802241 +23-06-28 03:27:04.044 - INFO: epoch: 1808 +23-06-28 03:27:04.044 - INFO: iters: 4528171 +23-06-28 03:29:51.635 - INFO: train/mse_loss: 0.0014419674496025073 +23-06-28 03:29:51.635 - INFO: epoch: 1809 +23-06-28 03:29:51.635 - INFO: iters: 4530675 +23-06-28 03:32:39.474 - INFO: train/mse_loss: 0.0013409460460158667 +23-06-28 03:32:39.475 - INFO: epoch: 1810 +23-06-28 03:32:39.475 - INFO: iters: 4533179 +23-06-28 03:35:27.331 - INFO: train/mse_loss: 0.0013965485638346726 +23-06-28 03:35:27.331 - INFO: epoch: 1811 +23-06-28 03:35:27.331 - INFO: iters: 4535683 +23-06-28 03:38:15.048 - INFO: train/mse_loss: 0.0014716667324355163 +23-06-28 03:38:15.049 - INFO: epoch: 1812 +23-06-28 03:38:15.049 - INFO: iters: 4538187 +23-06-28 03:41:03.188 - INFO: train/mse_loss: 0.0016215822632281711 +23-06-28 03:41:03.189 - INFO: epoch: 1813 +23-06-28 03:41:03.189 - INFO: iters: 4540691 +23-06-28 03:43:51.343 - INFO: train/mse_loss: 0.0015119705737877886 +23-06-28 03:43:51.344 - INFO: epoch: 1814 +23-06-28 03:43:51.344 - INFO: iters: 4543195 +23-06-28 03:46:39.204 - INFO: train/mse_loss: 0.0014208092280967048 +23-06-28 03:46:39.204 - INFO: epoch: 1815 +23-06-28 03:46:39.204 - INFO: iters: 4545699 +23-06-28 03:49:26.881 - INFO: train/mse_loss: 0.0014040262219659721 +23-06-28 03:49:26.881 - INFO: epoch: 1816 +23-06-28 03:49:26.881 - INFO: iters: 4548203 +23-06-28 03:52:14.862 - INFO: train/mse_loss: 0.001376313462458438 +23-06-28 03:52:14.863 - INFO: epoch: 1817 +23-06-28 03:52:14.863 - INFO: iters: 4550707 +23-06-28 03:55:02.748 - INFO: train/mse_loss: 0.0013692934903280494 +23-06-28 03:55:02.748 - INFO: epoch: 1818 +23-06-28 03:55:02.748 - INFO: iters: 4553211 +23-06-28 03:57:50.795 - INFO: train/mse_loss: 0.0013906396870589117 +23-06-28 03:57:50.795 - INFO: epoch: 1819 +23-06-28 03:57:50.795 - INFO: iters: 4555715 +23-06-28 04:00:38.059 - INFO: train/mse_loss: 0.0014251222428211126 +23-06-28 04:00:38.060 - INFO: epoch: 1820 +23-06-28 04:00:38.061 - INFO: iters: 4558219 +23-06-28 04:03:25.951 - INFO: train/mse_loss: 0.0014176909599234514 +23-06-28 04:03:25.952 - INFO: epoch: 1821 +23-06-28 04:03:25.952 - INFO: iters: 4560723 +23-06-28 04:06:13.919 - INFO: train/mse_loss: 0.0013919800710373413 +23-06-28 04:06:13.919 - INFO: epoch: 1822 +23-06-28 04:06:13.919 - INFO: iters: 4563227 +23-06-28 04:09:01.707 - INFO: train/mse_loss: 0.0014262739130996537 +23-06-28 04:09:01.708 - INFO: epoch: 1823 +23-06-28 04:09:01.708 - INFO: iters: 4565731 +23-06-28 04:11:48.952 - INFO: train/mse_loss: 0.0014472720828785088 +23-06-28 04:11:48.953 - INFO: epoch: 1824 +23-06-28 04:11:48.953 - INFO: iters: 4568235 +23-06-28 04:14:36.530 - INFO: train/mse_loss: 0.0015156714477391835 +23-06-28 04:14:36.530 - INFO: epoch: 1825 +23-06-28 04:14:36.531 - INFO: iters: 4570739 +23-06-28 04:17:24.457 - INFO: train/mse_loss: 0.0015957829661104983 +23-06-28 04:17:24.458 - INFO: epoch: 1826 +23-06-28 04:17:24.458 - INFO: iters: 4573243 +23-06-28 04:20:11.982 - INFO: train/mse_loss: 0.0014599922333305446 +23-06-28 04:20:11.983 - INFO: epoch: 1827 +23-06-28 04:20:11.983 - INFO: iters: 4575747 +23-06-28 04:23:00.249 - INFO: train/mse_loss: 0.0013811343080608156 +23-06-28 04:23:00.250 - INFO: epoch: 1828 +23-06-28 04:23:00.250 - INFO: iters: 4578251 +23-06-28 04:25:48.157 - INFO: train/mse_loss: 0.001394912031737302 +23-06-28 04:25:48.157 - INFO: epoch: 1829 +23-06-28 04:25:48.157 - INFO: iters: 4580755 +23-06-28 04:28:36.112 - INFO: train/mse_loss: 0.0013953522729208342 +23-06-28 04:28:36.113 - INFO: epoch: 1830 +23-06-28 04:28:36.113 - INFO: iters: 4583259 +23-06-28 04:31:23.695 - INFO: train/mse_loss: 0.0014144037290440557 +23-06-28 04:31:23.695 - INFO: epoch: 1831 +23-06-28 04:31:23.695 - INFO: iters: 4585763 +23-06-28 04:34:11.939 - INFO: train/mse_loss: 0.0014032578833524684 +23-06-28 04:34:11.940 - INFO: epoch: 1832 +23-06-28 04:34:11.941 - INFO: iters: 4588267 +23-06-28 04:36:59.673 - INFO: train/mse_loss: 0.0014123393738933931 +23-06-28 04:36:59.673 - INFO: epoch: 1833 +23-06-28 04:36:59.673 - INFO: iters: 4590771 +23-06-28 04:39:47.086 - INFO: train/mse_loss: 0.001438228723655541 +23-06-28 04:39:47.088 - INFO: epoch: 1834 +23-06-28 04:39:47.088 - INFO: iters: 4593275 +23-06-28 04:42:34.646 - INFO: train/mse_loss: 0.0013966184842531173 +23-06-28 04:42:34.647 - INFO: epoch: 1835 +23-06-28 04:42:34.647 - INFO: iters: 4595779 +23-06-28 04:45:22.570 - INFO: train/mse_loss: 0.0014166735477534275 +23-06-28 04:45:22.570 - INFO: epoch: 1836 +23-06-28 04:45:22.570 - INFO: iters: 4598283 +23-06-28 04:48:10.215 - INFO: train/mse_loss: 0.0013974336798476894 +23-06-28 04:48:10.215 - INFO: epoch: 1837 +23-06-28 04:48:10.215 - INFO: iters: 4600787 +23-06-28 04:50:57.854 - INFO: train/mse_loss: 0.0014262105906032586 +23-06-28 04:50:57.854 - INFO: epoch: 1838 +23-06-28 04:50:57.854 - INFO: iters: 4603291 +23-06-28 04:53:45.646 - INFO: train/mse_loss: 0.0013713251141765819 +23-06-28 04:53:45.646 - INFO: epoch: 1839 +23-06-28 04:53:45.646 - INFO: iters: 4605795 +23-06-28 04:56:32.974 - INFO: train/mse_loss: 0.0014419344377692063 +23-06-28 04:56:32.974 - INFO: epoch: 1840 +23-06-28 04:56:32.975 - INFO: iters: 4608299 +23-06-28 04:59:20.319 - INFO: train/mse_loss: 0.0013856560321184048 +23-06-28 04:59:20.319 - INFO: epoch: 1841 +23-06-28 04:59:20.320 - INFO: iters: 4610803 +23-06-28 05:02:07.722 - INFO: train/mse_loss: 0.0013755553149277517 +23-06-28 05:02:07.724 - INFO: epoch: 1842 +23-06-28 05:02:07.724 - INFO: iters: 4613307 +23-06-28 05:04:55.068 - INFO: train/mse_loss: 0.0022361852742282277 +23-06-28 05:04:55.068 - INFO: epoch: 1843 +23-06-28 05:04:55.068 - INFO: iters: 4615811 +23-06-28 05:07:42.619 - INFO: train/mse_loss: 0.0015390110737718522 +23-06-28 05:07:42.620 - INFO: epoch: 1844 +23-06-28 05:07:42.620 - INFO: iters: 4618315 +23-06-28 05:10:30.385 - INFO: train/mse_loss: 0.0014070204904335685 +23-06-28 05:10:30.386 - INFO: epoch: 1845 +23-06-28 05:10:30.386 - INFO: iters: 4620819 +23-06-28 05:13:18.442 - INFO: train/mse_loss: 0.0014927884476957098 +23-06-28 05:13:18.443 - INFO: epoch: 1846 +23-06-28 05:13:18.443 - INFO: iters: 4623323 +23-06-28 05:16:06.604 - INFO: train/mse_loss: 0.0013995546371134491 +23-06-28 05:16:06.605 - INFO: epoch: 1847 +23-06-28 05:16:06.605 - INFO: iters: 4625827 +23-06-28 05:18:55.115 - INFO: train/mse_loss: 0.0013695594473606566 +23-06-28 05:18:55.115 - INFO: epoch: 1848 +23-06-28 05:18:55.115 - INFO: iters: 4628331 +23-06-28 05:21:43.558 - INFO: train/mse_loss: 0.001366366611175483 +23-06-28 05:21:43.559 - INFO: epoch: 1849 +23-06-28 05:21:43.559 - INFO: iters: 4630835 +23-06-28 05:24:31.951 - INFO: train/mse_loss: 0.001368098081827473 +23-06-28 05:24:31.952 - INFO: epoch: 1850 +23-06-28 05:24:31.952 - INFO: iters: 4633339 +23-06-28 05:27:19.738 - INFO: train/mse_loss: 0.0013541104576993768 +23-06-28 05:27:19.739 - INFO: epoch: 1851 +23-06-28 05:27:19.739 - INFO: iters: 4635843 +23-06-28 05:30:07.570 - INFO: train/mse_loss: 0.0013562726909845187 +23-06-28 05:30:07.571 - INFO: epoch: 1852 +23-06-28 05:30:07.571 - INFO: iters: 4638347 +23-06-28 05:32:55.043 - INFO: train/mse_loss: 0.0014038697024956108 +23-06-28 05:32:55.044 - INFO: epoch: 1853 +23-06-28 05:32:55.044 - INFO: iters: 4640851 +23-06-28 05:35:42.534 - INFO: train/mse_loss: 0.0013647222808322694 +23-06-28 05:35:42.534 - INFO: epoch: 1854 +23-06-28 05:35:42.534 - INFO: iters: 4643355 +23-06-28 05:38:30.315 - INFO: train/mse_loss: 0.0013420823829459806 +23-06-28 05:38:30.316 - INFO: epoch: 1855 +23-06-28 05:38:30.316 - INFO: iters: 4645859 +23-06-28 05:41:18.069 - INFO: train/mse_loss: 0.0014229385428109799 +23-06-28 05:41:18.069 - INFO: epoch: 1856 +23-06-28 05:41:18.069 - INFO: iters: 4648363 +23-06-28 05:44:05.829 - INFO: train/mse_loss: 0.0013418539878004752 +23-06-28 05:44:05.830 - INFO: epoch: 1857 +23-06-28 05:44:05.830 - INFO: iters: 4650867 +23-06-28 05:46:53.343 - INFO: train/mse_loss: 0.0013496879708228674 +23-06-28 05:46:53.344 - INFO: epoch: 1858 +23-06-28 05:46:53.344 - INFO: iters: 4653371 +23-06-28 05:49:41.054 - INFO: train/mse_loss: 0.0014201268873968943 +23-06-28 05:49:41.056 - INFO: epoch: 1859 +23-06-28 05:49:41.056 - INFO: iters: 4655875 +23-06-28 05:52:28.631 - INFO: train/mse_loss: 0.0013481811723506714 +23-06-28 05:52:28.631 - INFO: epoch: 1860 +23-06-28 05:52:28.631 - INFO: iters: 4658379 +23-06-28 05:55:16.267 - INFO: train/mse_loss: 0.0013389747002914834 +23-06-28 05:55:16.268 - INFO: epoch: 1861 +23-06-28 05:55:16.268 - INFO: iters: 4660883 +23-06-28 05:58:03.802 - INFO: train/mse_loss: 0.0013278740710733583 +23-06-28 05:58:03.803 - INFO: epoch: 1862 +23-06-28 05:58:03.803 - INFO: iters: 4663387 +23-06-28 06:00:51.419 - INFO: train/mse_loss: 0.0013383636439848428 +23-06-28 06:00:51.420 - INFO: epoch: 1863 +23-06-28 06:00:51.421 - INFO: iters: 4665891 +23-06-28 06:03:39.446 - INFO: train/mse_loss: 0.0013423033164458545 +23-06-28 06:03:39.446 - INFO: epoch: 1864 +23-06-28 06:03:39.446 - INFO: iters: 4668395 +23-06-28 06:06:27.224 - INFO: train/mse_loss: 0.0014138103698189861 +23-06-28 06:06:27.225 - INFO: epoch: 1865 +23-06-28 06:06:27.225 - INFO: iters: 4670899 +23-06-28 06:09:14.818 - INFO: train/mse_loss: 0.0013808479830890465 +23-06-28 06:09:14.819 - INFO: epoch: 1866 +23-06-28 06:09:14.819 - INFO: iters: 4673403 +23-06-28 06:12:02.572 - INFO: train/mse_loss: 0.0014267273352499277 +23-06-28 06:12:02.573 - INFO: epoch: 1867 +23-06-28 06:12:02.573 - INFO: iters: 4675907 +23-06-28 06:14:50.041 - INFO: train/mse_loss: 0.0013840974147874897 +23-06-28 06:14:50.042 - INFO: epoch: 1868 +23-06-28 06:14:50.042 - INFO: iters: 4678411 +23-06-28 06:17:37.567 - INFO: train/mse_loss: 0.0013710214950206775 +23-06-28 06:17:37.567 - INFO: epoch: 1869 +23-06-28 06:17:37.567 - INFO: iters: 4680915 +23-06-28 06:20:25.010 - INFO: train/mse_loss: 0.0013529229611634447 +23-06-28 06:20:25.011 - INFO: epoch: 1870 +23-06-28 06:20:25.011 - INFO: iters: 4683419 +23-06-28 06:23:12.496 - INFO: train/mse_loss: 0.001379382307957352 +23-06-28 06:23:12.497 - INFO: epoch: 1871 +23-06-28 06:23:12.497 - INFO: iters: 4685923 +23-06-28 06:25:59.807 - INFO: train/mse_loss: 0.001369925410547755 +23-06-28 06:25:59.808 - INFO: epoch: 1872 +23-06-28 06:25:59.808 - INFO: iters: 4688427 +23-06-28 06:28:47.432 - INFO: train/mse_loss: 0.0014541420419648373 +23-06-28 06:28:47.432 - INFO: epoch: 1873 +23-06-28 06:28:47.432 - INFO: iters: 4690931 +23-06-28 06:31:35.047 - INFO: train/mse_loss: 0.0013717289791054155 +23-06-28 06:31:35.048 - INFO: epoch: 1874 +23-06-28 06:31:35.048 - INFO: iters: 4693435 +23-06-28 06:34:22.384 - INFO: train/mse_loss: 0.0014087291490755226 +23-06-28 06:34:22.385 - INFO: epoch: 1875 +23-06-28 06:34:22.385 - INFO: iters: 4695939 +23-06-28 06:37:10.067 - INFO: train/mse_loss: 0.0013742772600101754 +23-06-28 06:37:10.068 - INFO: epoch: 1876 +23-06-28 06:37:10.068 - INFO: iters: 4698443 +23-06-28 06:39:57.274 - INFO: train/mse_loss: 0.0014068973327863415 +23-06-28 06:39:57.274 - INFO: epoch: 1877 +23-06-28 06:39:57.274 - INFO: iters: 4700947 +23-06-28 06:42:44.738 - INFO: train/mse_loss: 0.0013377792395341892 +23-06-28 06:42:44.738 - INFO: epoch: 1878 +23-06-28 06:42:44.739 - INFO: iters: 4703451 +23-06-28 06:45:32.471 - INFO: train/mse_loss: 0.0013359708199351906 +23-06-28 06:45:32.471 - INFO: epoch: 1879 +23-06-28 06:45:32.471 - INFO: iters: 4705955 +23-06-28 06:48:19.798 - INFO: train/mse_loss: 0.0013582109160849248 +23-06-28 06:48:19.798 - INFO: epoch: 1880 +23-06-28 06:48:19.798 - INFO: iters: 4708459 +23-06-28 06:51:07.083 - INFO: train/mse_loss: 0.0013689054752708957 +23-06-28 06:51:07.083 - INFO: epoch: 1881 +23-06-28 06:51:07.083 - INFO: iters: 4710963 +23-06-28 06:53:54.554 - INFO: train/mse_loss: 0.0013152122222885383 +23-06-28 06:53:54.555 - INFO: epoch: 1882 +23-06-28 06:53:54.555 - INFO: iters: 4713467 +23-06-28 06:56:42.118 - INFO: train/mse_loss: 0.0013355850554502811 +23-06-28 06:56:42.120 - INFO: epoch: 1883 +23-06-28 06:56:42.120 - INFO: iters: 4715971 +23-06-28 06:59:29.690 - INFO: train/mse_loss: 0.0013600995889849984 +23-06-28 06:59:29.691 - INFO: epoch: 1884 +23-06-28 06:59:29.691 - INFO: iters: 4718475 +23-06-28 07:02:17.502 - INFO: train/mse_loss: 0.0013410038256738038 +23-06-28 07:02:17.502 - INFO: epoch: 1885 +23-06-28 07:02:17.502 - INFO: iters: 4720979 +23-06-28 07:05:04.897 - INFO: train/mse_loss: 0.0014330221818181308 +23-06-28 07:05:04.897 - INFO: epoch: 1886 +23-06-28 07:05:04.897 - INFO: iters: 4723483 +23-06-28 07:07:52.477 - INFO: train/mse_loss: 0.0013765121393386251 +23-06-28 07:07:52.477 - INFO: epoch: 1887 +23-06-28 07:07:52.477 - INFO: iters: 4725987 +23-06-28 07:10:39.763 - INFO: train/mse_loss: 0.0014053161605447233 +23-06-28 07:10:39.764 - INFO: epoch: 1888 +23-06-28 07:10:39.764 - INFO: iters: 4728491 +23-06-28 07:13:27.327 - INFO: train/mse_loss: 0.0013638638219752976 +23-06-28 07:13:27.327 - INFO: epoch: 1889 +23-06-28 07:13:27.327 - INFO: iters: 4730995 +23-06-28 07:16:14.893 - INFO: train/mse_loss: 0.001396909140023632 +23-06-28 07:16:14.893 - INFO: epoch: 1890 +23-06-28 07:16:14.893 - INFO: iters: 4733499 +23-06-28 07:19:02.570 - INFO: train/mse_loss: 0.001391756000088754 +23-06-28 07:19:02.571 - INFO: epoch: 1891 +23-06-28 07:19:02.571 - INFO: iters: 4736003 +23-06-28 07:21:50.115 - INFO: train/mse_loss: 0.0013294007767515536 +23-06-28 07:21:50.116 - INFO: epoch: 1892 +23-06-28 07:21:50.116 - INFO: iters: 4738507 +23-06-28 07:24:37.609 - INFO: train/mse_loss: 0.001328265794032899 +23-06-28 07:24:37.609 - INFO: epoch: 1893 +23-06-28 07:24:37.609 - INFO: iters: 4741011 +23-06-28 07:27:25.113 - INFO: train/mse_loss: 0.0014766842509380367 +23-06-28 07:27:25.114 - INFO: epoch: 1894 +23-06-28 07:27:25.114 - INFO: iters: 4743515 +23-06-28 07:30:12.571 - INFO: train/mse_loss: 0.001355258102257983 +23-06-28 07:30:12.572 - INFO: epoch: 1895 +23-06-28 07:30:12.573 - INFO: iters: 4746019 +23-06-28 07:32:59.983 - INFO: train/mse_loss: 0.0013490848542829328 +23-06-28 07:32:59.983 - INFO: epoch: 1896 +23-06-28 07:32:59.984 - INFO: iters: 4748523 +23-06-28 07:35:47.426 - INFO: train/mse_loss: 0.0013521087157670943 +23-06-28 07:35:47.427 - INFO: epoch: 1897 +23-06-28 07:35:47.427 - INFO: iters: 4751027 +23-06-28 07:38:35.104 - INFO: train/mse_loss: 0.0013401396593976077 +23-06-28 07:38:35.105 - INFO: epoch: 1898 +23-06-28 07:38:35.105 - INFO: iters: 4753531 +23-06-28 07:41:22.391 - INFO: train/mse_loss: 0.0013523028263213715 +23-06-28 07:41:22.392 - INFO: epoch: 1899 +23-06-28 07:41:22.392 - INFO: iters: 4756035 +23-06-28 07:44:09.709 - INFO: train/mse_loss: 0.0014076583549944154 +23-06-28 07:44:09.711 - INFO: epoch: 1900 +23-06-28 07:44:09.711 - INFO: iters: 4758539 +23-06-28 07:46:57.063 - INFO: train/mse_loss: 0.0013512403744394882 +23-06-28 07:46:57.065 - INFO: epoch: 1901 +23-06-28 07:46:57.065 - INFO: iters: 4761043 +23-06-28 07:49:45.201 - INFO: train/mse_loss: 0.001397601051513439 +23-06-28 07:49:45.201 - INFO: epoch: 1902 +23-06-28 07:49:45.201 - INFO: iters: 4763547 +23-06-28 07:52:32.770 - INFO: train/mse_loss: 0.0014004436319324965 +23-06-28 07:52:32.771 - INFO: epoch: 1903 +23-06-28 07:52:32.771 - INFO: iters: 4766051 +23-06-28 07:55:20.076 - INFO: train/mse_loss: 0.0013858937638285109 +23-06-28 07:55:20.077 - INFO: epoch: 1904 +23-06-28 07:55:20.077 - INFO: iters: 4768555 +23-06-28 07:58:07.534 - INFO: train/mse_loss: 0.001381363454140937 +23-06-28 07:58:07.535 - INFO: epoch: 1905 +23-06-28 07:58:07.535 - INFO: iters: 4771059 +23-06-28 08:00:55.116 - INFO: train/mse_loss: 0.0013206683099455834 +23-06-28 08:00:55.116 - INFO: epoch: 1906 +23-06-28 08:00:55.116 - INFO: iters: 4773563 +23-06-28 08:03:42.576 - INFO: train/mse_loss: 0.0013471297405923482 +23-06-28 08:03:42.576 - INFO: epoch: 1907 +23-06-28 08:03:42.576 - INFO: iters: 4776067 +23-06-28 08:06:30.369 - INFO: train/mse_loss: 0.001282764753172793 +23-06-28 08:06:30.370 - INFO: epoch: 1908 +23-06-28 08:06:30.370 - INFO: iters: 4778571 +23-06-28 08:09:17.830 - INFO: train/mse_loss: 0.001337947488313142 +23-06-28 08:09:17.831 - INFO: epoch: 1909 +23-06-28 08:09:17.831 - INFO: iters: 4781075 +23-06-28 08:12:05.354 - INFO: train/mse_loss: 0.0013663437913548344 +23-06-28 08:12:05.355 - INFO: epoch: 1910 +23-06-28 08:12:05.355 - INFO: iters: 4783579 +23-06-28 08:14:52.933 - INFO: train/mse_loss: 0.001357613408494705 +23-06-28 08:14:52.933 - INFO: epoch: 1911 +23-06-28 08:14:52.933 - INFO: iters: 4786083 +23-06-28 08:17:40.322 - INFO: train/mse_loss: 0.001390540776342844 +23-06-28 08:17:40.323 - INFO: epoch: 1912 +23-06-28 08:17:40.323 - INFO: iters: 4788587 +23-06-28 08:20:28.043 - INFO: train/mse_loss: 0.001364320191702011 +23-06-28 08:20:28.045 - INFO: epoch: 1913 +23-06-28 08:20:28.045 - INFO: iters: 4791091 +23-06-28 08:23:16.094 - INFO: train/mse_loss: 0.0014002167326122963 +23-06-28 08:23:16.095 - INFO: epoch: 1914 +23-06-28 08:23:16.095 - INFO: iters: 4793595 +23-06-28 08:26:04.480 - INFO: train/mse_loss: 0.0014167487005384775 +23-06-28 08:26:04.480 - INFO: epoch: 1915 +23-06-28 08:26:04.481 - INFO: iters: 4796099 +23-06-28 08:28:54.126 - INFO: train/mse_loss: 0.0013263987358875227 +23-06-28 08:28:54.127 - INFO: epoch: 1916 +23-06-28 08:28:54.127 - INFO: iters: 4798603 +23-06-28 08:31:42.752 - INFO: train/mse_loss: 0.001427730550329698 +23-06-28 08:31:42.753 - INFO: epoch: 1917 +23-06-28 08:31:42.753 - INFO: iters: 4801107 +23-06-28 08:34:32.779 - INFO: train/mse_loss: 0.0013614357390534727 +23-06-28 08:34:32.780 - INFO: epoch: 1918 +23-06-28 08:34:32.780 - INFO: iters: 4803611 +23-06-28 08:37:22.304 - INFO: train/mse_loss: 0.001310465970175555 +23-06-28 08:37:22.305 - INFO: epoch: 1919 +23-06-28 08:37:22.305 - INFO: iters: 4806115 +23-06-28 08:40:10.468 - INFO: train/mse_loss: 0.001388281241048889 +23-06-28 08:40:10.469 - INFO: epoch: 1920 +23-06-28 08:40:10.469 - INFO: iters: 4808619 +23-06-28 08:42:57.896 - INFO: train/mse_loss: 0.0013182019911923658 +23-06-28 08:42:57.897 - INFO: epoch: 1921 +23-06-28 08:42:57.897 - INFO: iters: 4811123 +23-06-28 08:45:45.786 - INFO: train/mse_loss: 0.0013794027387533491 +23-06-28 08:45:45.787 - INFO: epoch: 1922 +23-06-28 08:45:45.787 - INFO: iters: 4813627 +23-06-28 08:48:33.495 - INFO: train/mse_loss: 0.0013178595662163123 +23-06-28 08:48:33.495 - INFO: epoch: 1923 +23-06-28 08:48:33.496 - INFO: iters: 4816131 +23-06-28 08:51:21.694 - INFO: train/mse_loss: 0.001365285917793731 +23-06-28 08:51:21.695 - INFO: epoch: 1924 +23-06-28 08:51:21.695 - INFO: iters: 4818635 +23-06-28 08:54:09.572 - INFO: train/mse_loss: 0.0013801814341462388 +23-06-28 08:54:09.573 - INFO: epoch: 1925 +23-06-28 08:54:09.573 - INFO: iters: 4821139 +23-06-28 08:56:57.233 - INFO: train/mse_loss: 0.001460992884297763 +23-06-28 08:56:57.234 - INFO: epoch: 1926 +23-06-28 08:56:57.234 - INFO: iters: 4823643 +23-06-28 08:59:44.953 - INFO: train/mse_loss: 0.0013572005699158084 +23-06-28 08:59:44.954 - INFO: epoch: 1927 +23-06-28 08:59:44.954 - INFO: iters: 4826147 +23-06-28 09:02:32.649 - INFO: train/mse_loss: 0.0013253115444479826 +23-06-28 09:02:32.649 - INFO: epoch: 1928 +23-06-28 09:02:32.649 - INFO: iters: 4828651 +23-06-28 09:05:20.822 - INFO: train/mse_loss: 0.00132872406452799 +23-06-28 09:05:20.823 - INFO: epoch: 1929 +23-06-28 09:05:20.823 - INFO: iters: 4831155 +23-06-28 09:08:08.338 - INFO: train/mse_loss: 0.001350895221978902 +23-06-28 09:08:08.339 - INFO: epoch: 1930 +23-06-28 09:08:08.339 - INFO: iters: 4833659 +23-06-28 09:10:55.805 - INFO: train/mse_loss: 0.0013608511430568421 +23-06-28 09:10:55.806 - INFO: epoch: 1931 +23-06-28 09:10:55.806 - INFO: iters: 4836163 +23-06-28 09:13:43.354 - INFO: train/mse_loss: 0.001359345569920997 +23-06-28 09:13:43.354 - INFO: epoch: 1932 +23-06-28 09:13:43.355 - INFO: iters: 4838667 +23-06-28 09:16:30.838 - INFO: train/mse_loss: 0.0013360820540313284 +23-06-28 09:16:30.838 - INFO: epoch: 1933 +23-06-28 09:16:30.838 - INFO: iters: 4841171 +23-06-28 09:19:18.246 - INFO: train/mse_loss: 0.0013477528588095018 +23-06-28 09:19:18.247 - INFO: epoch: 1934 +23-06-28 09:19:18.247 - INFO: iters: 4843675 +23-06-28 09:22:05.548 - INFO: train/mse_loss: 0.0014424502814059167 +23-06-28 09:22:05.548 - INFO: epoch: 1935 +23-06-28 09:22:05.548 - INFO: iters: 4846179 +23-06-28 09:24:53.047 - INFO: train/mse_loss: 0.0013756848642596613 +23-06-28 09:24:53.048 - INFO: epoch: 1936 +23-06-28 09:24:53.048 - INFO: iters: 4848683 +23-06-28 09:27:40.645 - INFO: train/mse_loss: 0.0013162525937544366 +23-06-28 09:27:40.646 - INFO: epoch: 1937 +23-06-28 09:27:40.646 - INFO: iters: 4851187 +23-06-28 09:30:28.479 - INFO: train/mse_loss: 0.0013069045129633797 +23-06-28 09:30:28.480 - INFO: epoch: 1938 +23-06-28 09:30:28.480 - INFO: iters: 4853691 +23-06-28 09:33:16.490 - INFO: train/mse_loss: 0.0013122026966259884 +23-06-28 09:33:16.490 - INFO: epoch: 1939 +23-06-28 09:33:16.490 - INFO: iters: 4856195 +23-06-28 09:36:04.237 - INFO: train/mse_loss: 0.001314207568289355 +23-06-28 09:36:04.238 - INFO: epoch: 1940 +23-06-28 09:36:04.239 - INFO: iters: 4858699 +23-06-28 09:38:51.853 - INFO: train/mse_loss: 0.001302799998080364 +23-06-28 09:38:51.853 - INFO: epoch: 1941 +23-06-28 09:38:51.853 - INFO: iters: 4861203 +23-06-28 09:41:39.333 - INFO: train/mse_loss: 0.0013621095524239428 +23-06-28 09:41:39.334 - INFO: epoch: 1942 +23-06-28 09:41:39.334 - INFO: iters: 4863707 +23-06-28 09:44:27.025 - INFO: train/mse_loss: 0.0012919368544450631 +23-06-28 09:44:27.026 - INFO: epoch: 1943 +23-06-28 09:44:27.026 - INFO: iters: 4866211 +23-06-28 09:47:15.017 - INFO: train/mse_loss: 0.0013117443883796029 +23-06-28 09:47:15.018 - INFO: epoch: 1944 +23-06-28 09:47:15.018 - INFO: iters: 4868715 +23-06-28 09:50:02.591 - INFO: train/mse_loss: 0.0013140881867014086 +23-06-28 09:50:02.592 - INFO: epoch: 1945 +23-06-28 09:50:02.593 - INFO: iters: 4871219 +23-06-28 09:52:50.325 - INFO: train/mse_loss: 0.0013364693740369402 +23-06-28 09:52:50.326 - INFO: epoch: 1946 +23-06-28 09:52:50.326 - INFO: iters: 4873723 +23-06-28 09:55:37.916 - INFO: train/mse_loss: 0.0013207061528287733 +23-06-28 09:55:37.917 - INFO: epoch: 1947 +23-06-28 09:55:37.917 - INFO: iters: 4876227 +23-06-28 09:58:25.342 - INFO: train/mse_loss: 0.0013427269402720308 +23-06-28 09:58:25.342 - INFO: epoch: 1948 +23-06-28 09:58:25.342 - INFO: iters: 4878731 +23-06-28 10:01:12.985 - INFO: train/mse_loss: 0.0013249129408966012 +23-06-28 10:01:12.987 - INFO: epoch: 1949 +23-06-28 10:01:12.987 - INFO: iters: 4881235 +23-06-28 10:04:00.754 - INFO: train/mse_loss: 0.0013672329677706257 +23-06-28 10:04:00.755 - INFO: epoch: 1950 +23-06-28 10:04:00.755 - INFO: iters: 4883739 +23-06-28 10:06:48.363 - INFO: train/mse_loss: 0.0014056062397246544 +23-06-28 10:06:48.364 - INFO: epoch: 1951 +23-06-28 10:06:48.364 - INFO: iters: 4886243 +23-06-28 10:09:36.337 - INFO: train/mse_loss: 0.0013321508364655232 +23-06-28 10:09:36.338 - INFO: epoch: 1952 +23-06-28 10:09:36.338 - INFO: iters: 4888747 +23-06-28 10:12:24.165 - INFO: train/mse_loss: 0.0012663642220502606 +23-06-28 10:12:24.165 - INFO: epoch: 1953 +23-06-28 10:12:24.166 - INFO: iters: 4891251 +23-06-28 10:15:11.898 - INFO: train/mse_loss: 0.0013409115381712933 +23-06-28 10:15:11.898 - INFO: epoch: 1954 +23-06-28 10:15:11.898 - INFO: iters: 4893755 +23-06-28 10:17:59.466 - INFO: train/mse_loss: 0.001330671378206045 +23-06-28 10:17:59.466 - INFO: epoch: 1955 +23-06-28 10:17:59.466 - INFO: iters: 4896259 +23-06-28 10:20:47.055 - INFO: train/mse_loss: 0.0013259644052921273 +23-06-28 10:20:47.056 - INFO: epoch: 1956 +23-06-28 10:20:47.056 - INFO: iters: 4898763 +23-06-28 10:23:34.650 - INFO: train/mse_loss: 0.0013487733274396246 +23-06-28 10:23:34.651 - INFO: epoch: 1957 +23-06-28 10:23:34.652 - INFO: iters: 4901267 +23-06-28 10:26:22.062 - INFO: train/mse_loss: 0.0013419687563848025 +23-06-28 10:26:22.062 - INFO: epoch: 1958 +23-06-28 10:26:22.062 - INFO: iters: 4903771 +23-06-28 10:29:09.967 - INFO: train/mse_loss: 0.0013057286749756077 +23-06-28 10:29:09.967 - INFO: epoch: 1959 +23-06-28 10:29:09.968 - INFO: iters: 4906275 +23-06-28 10:31:57.568 - INFO: train/mse_loss: 0.0014313187014263944 +23-06-28 10:31:57.569 - INFO: epoch: 1960 +23-06-28 10:31:57.569 - INFO: iters: 4908779 +23-06-28 10:34:45.366 - INFO: train/mse_loss: 0.0014031855709339008 +23-06-28 10:34:45.367 - INFO: epoch: 1961 +23-06-28 10:34:45.367 - INFO: iters: 4911283 +23-06-28 10:37:33.469 - INFO: train/mse_loss: 0.001346583673232101 +23-06-28 10:37:33.470 - INFO: epoch: 1962 +23-06-28 10:37:33.470 - INFO: iters: 4913787 +23-06-28 10:40:21.154 - INFO: train/mse_loss: 0.0012950075076358875 +23-06-28 10:40:21.155 - INFO: epoch: 1963 +23-06-28 10:40:21.155 - INFO: iters: 4916291 +23-06-28 10:43:08.977 - INFO: train/mse_loss: 0.0013363838376932607 +23-06-28 10:43:08.977 - INFO: epoch: 1964 +23-06-28 10:43:08.977 - INFO: iters: 4918795 +23-06-28 10:45:56.699 - INFO: train/mse_loss: 0.0013126141878742035 +23-06-28 10:45:56.699 - INFO: epoch: 1965 +23-06-28 10:45:56.699 - INFO: iters: 4921299 +23-06-28 10:48:44.457 - INFO: train/mse_loss: 0.0013100234085891825 +23-06-28 10:48:44.458 - INFO: epoch: 1966 +23-06-28 10:48:44.458 - INFO: iters: 4923803 +23-06-28 10:51:32.247 - INFO: train/mse_loss: 0.0013123589383546835 +23-06-28 10:51:32.249 - INFO: epoch: 1967 +23-06-28 10:51:32.250 - INFO: iters: 4926307 +23-06-28 10:54:20.167 - INFO: train/mse_loss: 0.0013179515292064642 +23-06-28 10:54:20.168 - INFO: epoch: 1968 +23-06-28 10:54:20.168 - INFO: iters: 4928811 +23-06-28 10:57:07.861 - INFO: train/mse_loss: 0.0013000473548202946 +23-06-28 10:57:07.861 - INFO: epoch: 1969 +23-06-28 10:57:07.861 - INFO: iters: 4931315 +23-06-28 10:59:55.509 - INFO: train/mse_loss: 0.0013389769904746916 +23-06-28 10:59:55.510 - INFO: epoch: 1970 +23-06-28 10:59:55.510 - INFO: iters: 4933819 +23-06-28 11:02:43.471 - INFO: train/mse_loss: 0.0013451112260202916 +23-06-28 11:02:43.472 - INFO: epoch: 1971 +23-06-28 11:02:43.472 - INFO: iters: 4936323 +23-06-28 11:05:31.379 - INFO: train/mse_loss: 0.0013076512318940612 +23-06-28 11:05:31.379 - INFO: epoch: 1972 +23-06-28 11:05:31.379 - INFO: iters: 4938827 +23-06-28 11:08:19.181 - INFO: train/mse_loss: 0.0013330073543852522 +23-06-28 11:08:19.182 - INFO: epoch: 1973 +23-06-28 11:08:19.182 - INFO: iters: 4941331 +23-06-28 11:11:06.807 - INFO: train/mse_loss: 0.0013135524647765622 +23-06-28 11:11:06.808 - INFO: epoch: 1974 +23-06-28 11:11:06.809 - INFO: iters: 4943835 +23-06-28 11:13:54.326 - INFO: train/mse_loss: 0.0013103165513889405 +23-06-28 11:13:54.327 - INFO: epoch: 1975 +23-06-28 11:13:54.327 - INFO: iters: 4946339 +23-06-28 11:16:41.825 - INFO: train/mse_loss: 0.001375809622338613 +23-06-28 11:16:41.826 - INFO: epoch: 1976 +23-06-28 11:16:41.826 - INFO: iters: 4948843 +23-06-28 11:19:29.219 - INFO: train/mse_loss: 0.0013177116281916789 +23-06-28 11:19:29.219 - INFO: epoch: 1977 +23-06-28 11:19:29.219 - INFO: iters: 4951347 +23-06-28 11:22:16.503 - INFO: train/mse_loss: 0.0012995999002570328 +23-06-28 11:22:16.503 - INFO: epoch: 1978 +23-06-28 11:22:16.503 - INFO: iters: 4953851 +23-06-28 11:25:04.050 - INFO: train/mse_loss: 0.001340197683323157 +23-06-28 11:25:04.051 - INFO: epoch: 1979 +23-06-28 11:25:04.052 - INFO: iters: 4956355 +23-06-28 11:27:51.574 - INFO: train/mse_loss: 0.001301021109663914 +23-06-28 11:27:51.575 - INFO: epoch: 1980 +23-06-28 11:27:51.575 - INFO: iters: 4958859 +23-06-28 11:30:39.424 - INFO: train/mse_loss: 0.0013132060116630036 +23-06-28 11:30:39.425 - INFO: epoch: 1981 +23-06-28 11:30:39.425 - INFO: iters: 4961363 +23-06-28 11:33:27.354 - INFO: train/mse_loss: 0.0013231204437893836 +23-06-28 11:33:27.355 - INFO: epoch: 1982 +23-06-28 11:33:27.355 - INFO: iters: 4963867 +23-06-28 11:36:15.031 - INFO: train/mse_loss: 0.0013544629729641512 +23-06-28 11:36:15.032 - INFO: epoch: 1983 +23-06-28 11:36:15.032 - INFO: iters: 4966371 +23-06-28 11:39:02.733 - INFO: train/mse_loss: 0.001256793431495837 +23-06-28 11:39:02.734 - INFO: epoch: 1984 +23-06-28 11:39:02.734 - INFO: iters: 4968875 +23-06-28 11:41:50.613 - INFO: train/mse_loss: 0.0013092138868467972 +23-06-28 11:41:50.614 - INFO: epoch: 1985 +23-06-28 11:41:50.614 - INFO: iters: 4971379 +23-06-28 11:44:38.563 - INFO: train/mse_loss: 0.0013035108587673356 +23-06-28 11:44:38.563 - INFO: epoch: 1986 +23-06-28 11:44:38.563 - INFO: iters: 4973883 +23-06-28 11:47:26.005 - INFO: train/mse_loss: 0.0012998241148651027 +23-06-28 11:47:26.006 - INFO: epoch: 1987 +23-06-28 11:47:26.006 - INFO: iters: 4976387 +23-06-28 11:50:13.407 - INFO: train/mse_loss: 0.0013027541191925624 +23-06-28 11:50:13.408 - INFO: epoch: 1988 +23-06-28 11:50:13.408 - INFO: iters: 4978891 +23-06-28 11:53:00.832 - INFO: train/mse_loss: 0.0012637375726196438 +23-06-28 11:53:00.833 - INFO: epoch: 1989 +23-06-28 11:53:00.833 - INFO: iters: 4981395 +23-06-28 11:55:48.355 - INFO: train/mse_loss: 0.0013140212118137662 +23-06-28 11:55:48.356 - INFO: epoch: 1990 +23-06-28 11:55:48.356 - INFO: iters: 4983899 +23-06-28 11:58:36.159 - INFO: train/mse_loss: 0.001259782914940369 +23-06-28 11:58:36.160 - INFO: epoch: 1991 +23-06-28 11:58:36.161 - INFO: iters: 4986403 +23-06-28 12:01:23.943 - INFO: train/mse_loss: 0.0012944932502044286 +23-06-28 12:01:23.944 - INFO: epoch: 1992 +23-06-28 12:01:23.944 - INFO: iters: 4988907 +23-06-28 12:04:11.368 - INFO: train/mse_loss: 0.0012776076817102493 +23-06-28 12:04:11.369 - INFO: epoch: 1993 +23-06-28 12:04:11.370 - INFO: iters: 4991411 +23-06-28 12:06:58.810 - INFO: train/mse_loss: 0.0012986941689687866 +23-06-28 12:06:58.812 - INFO: epoch: 1994 +23-06-28 12:06:58.812 - INFO: iters: 4993915 +23-06-28 12:09:46.405 - INFO: train/mse_loss: 0.0012878677626430525 +23-06-28 12:09:46.406 - INFO: epoch: 1995 +23-06-28 12:09:46.406 - INFO: iters: 4996419 +23-06-28 12:12:34.238 - INFO: train/mse_loss: 0.001320552127826334 +23-06-28 12:12:34.239 - INFO: epoch: 1996 +23-06-28 12:12:34.239 - INFO: iters: 4998923 +23-06-28 12:15:22.383 - INFO: train/mse_loss: 0.0013026272905573915 +23-06-28 12:15:22.384 - INFO: epoch: 1997 +23-06-28 12:15:22.384 - INFO: iters: 5001427 +23-06-28 12:18:09.919 - INFO: train/mse_loss: 0.0012727582913871034 +23-06-28 12:18:09.920 - INFO: epoch: 1998 +23-06-28 12:18:09.920 - INFO: iters: 5003931 +23-06-28 12:20:57.660 - INFO: train/mse_loss: 0.0015165368572045595 +23-06-28 12:20:57.660 - INFO: epoch: 1999 +23-06-28 12:20:57.660 - INFO: iters: 5006435 +23-06-28 12:23:45.194 - INFO: train/mse_loss: 0.0013759269502933342 +23-06-28 12:23:45.195 - INFO: epoch: 2000 +23-06-28 12:23:45.195 - INFO: iters: 5008939 +23-06-28 12:23:45.195 - INFO: Saving the self at the end of epoch 2000 +23-06-28 12:23:45.791 - INFO: + + +------------------------------Validation Start------------------------------ +23-06-28 12:29:19.742 - INFO: val/mae: 0.23517809808254242 +23-06-28 12:29:19.743 - INFO: +------------------------------Validation End------------------------------ + + +23-06-28 12:32:07.215 - INFO: train/mse_loss: 0.0013309648981468139 +23-06-28 12:32:07.215 - INFO: epoch: 2001 +23-06-28 12:32:07.215 - INFO: iters: 5011756 +23-06-28 12:34:54.767 - INFO: train/mse_loss: 0.0012989532110986475 +23-06-28 12:34:54.767 - INFO: epoch: 2002 +23-06-28 12:34:54.767 - INFO: iters: 5014260 +23-06-28 12:37:42.254 - INFO: train/mse_loss: 0.0013041010490222908 +23-06-28 12:37:42.255 - INFO: epoch: 2003 +23-06-28 12:37:42.255 - INFO: iters: 5016764 +23-06-28 12:40:29.904 - INFO: train/mse_loss: 0.0013051451479171078 +23-06-28 12:40:29.905 - INFO: epoch: 2004 +23-06-28 12:40:29.905 - INFO: iters: 5019268 +23-06-28 12:43:17.476 - INFO: train/mse_loss: 0.0013276147153102064 +23-06-28 12:43:17.477 - INFO: epoch: 2005 +23-06-28 12:43:17.477 - INFO: iters: 5021772 +23-06-28 12:46:05.205 - INFO: train/mse_loss: 0.0013891366851023627 +23-06-28 12:46:05.206 - INFO: epoch: 2006 +23-06-28 12:46:05.206 - INFO: iters: 5024276 +23-06-28 12:48:52.730 - INFO: train/mse_loss: 0.0013212666081743665 +23-06-28 12:48:52.731 - INFO: epoch: 2007 +23-06-28 12:48:52.731 - INFO: iters: 5026780 +23-06-28 12:51:39.987 - INFO: train/mse_loss: 0.0013370472292888898 +23-06-28 12:51:39.988 - INFO: epoch: 2008 +23-06-28 12:51:39.989 - INFO: iters: 5029284 +23-06-28 12:54:27.541 - INFO: train/mse_loss: 0.0012805490515949115 +23-06-28 12:54:27.542 - INFO: epoch: 2009 +23-06-28 12:54:27.542 - INFO: iters: 5031788 +23-06-28 12:57:14.794 - INFO: train/mse_loss: 0.0012965940219646218 +23-06-28 12:57:14.796 - INFO: epoch: 2010 +23-06-28 12:57:14.796 - INFO: iters: 5034292 +23-06-28 13:00:02.519 - INFO: train/mse_loss: 0.0012708541430598392 +23-06-28 13:00:02.520 - INFO: epoch: 2011 +23-06-28 13:00:02.520 - INFO: iters: 5036796 +23-06-28 13:02:50.201 - INFO: train/mse_loss: 0.0012550333459205485 +23-06-28 13:02:50.201 - INFO: epoch: 2012 +23-06-28 13:02:50.201 - INFO: iters: 5039300 +23-06-28 13:05:37.827 - INFO: train/mse_loss: 0.0012752432340812593 +23-06-28 13:05:37.827 - INFO: epoch: 2013 +23-06-28 13:05:37.827 - INFO: iters: 5041804 +23-06-28 13:08:25.302 - INFO: train/mse_loss: 0.0013044738301303618 +23-06-28 13:08:25.303 - INFO: epoch: 2014 +23-06-28 13:08:25.303 - INFO: iters: 5044308 +23-06-28 13:11:12.719 - INFO: train/mse_loss: 0.0013062542909905077 +23-06-28 13:11:12.720 - INFO: epoch: 2015 +23-06-28 13:11:12.720 - INFO: iters: 5046812 +23-06-28 13:14:01.040 - INFO: train/mse_loss: 0.0013033932653447678 +23-06-28 13:14:01.041 - INFO: epoch: 2016 +23-06-28 13:14:01.041 - INFO: iters: 5049316 +23-06-28 13:16:48.795 - INFO: train/mse_loss: 0.0012571126755033903 +23-06-28 13:16:48.796 - INFO: epoch: 2017 +23-06-28 13:16:48.796 - INFO: iters: 5051820 +23-06-28 13:19:36.443 - INFO: train/mse_loss: 0.0013115648118877253 +23-06-28 13:19:36.443 - INFO: epoch: 2018 +23-06-28 13:19:36.443 - INFO: iters: 5054324 +23-06-28 13:22:24.210 - INFO: train/mse_loss: 0.0012789565935759201 +23-06-28 13:22:24.211 - INFO: epoch: 2019 +23-06-28 13:22:24.212 - INFO: iters: 5056828 +23-06-28 13:25:11.946 - INFO: train/mse_loss: 0.0012906367789928656 +23-06-28 13:25:11.947 - INFO: epoch: 2020 +23-06-28 13:25:11.947 - INFO: iters: 5059332 +23-06-28 13:27:59.734 - INFO: train/mse_loss: 0.0012703964035004412 +23-06-28 13:27:59.735 - INFO: epoch: 2021 +23-06-28 13:27:59.735 - INFO: iters: 5061836 +23-06-28 13:30:47.240 - INFO: train/mse_loss: 0.0012395718726686562 +23-06-28 13:30:47.241 - INFO: epoch: 2022 +23-06-28 13:30:47.242 - INFO: iters: 5064340 +23-06-28 13:33:34.668 - INFO: train/mse_loss: 0.0012322158978384631 +23-06-28 13:33:34.669 - INFO: epoch: 2023 +23-06-28 13:33:34.669 - INFO: iters: 5066844 +23-06-28 13:36:21.974 - INFO: train/mse_loss: 0.0012825269593497197 +23-06-28 13:36:21.974 - INFO: epoch: 2024 +23-06-28 13:36:21.974 - INFO: iters: 5069348 +23-06-28 13:39:09.727 - INFO: train/mse_loss: 0.001293799257837236 +23-06-28 13:39:09.728 - INFO: epoch: 2025 +23-06-28 13:39:09.728 - INFO: iters: 5071852 +23-06-28 13:41:57.414 - INFO: train/mse_loss: 0.0013111420714976296 +23-06-28 13:41:57.415 - INFO: epoch: 2026 +23-06-28 13:41:57.415 - INFO: iters: 5074356 +23-06-28 13:44:44.842 - INFO: train/mse_loss: 0.0012768274750567961 +23-06-28 13:44:44.844 - INFO: epoch: 2027 +23-06-28 13:44:44.844 - INFO: iters: 5076860 +23-06-28 13:47:32.399 - INFO: train/mse_loss: 0.0013026400200893192 +23-06-28 13:47:32.400 - INFO: epoch: 2028 +23-06-28 13:47:32.400 - INFO: iters: 5079364 +23-06-28 13:50:19.656 - INFO: train/mse_loss: 0.0013107478580684565 +23-06-28 13:50:19.657 - INFO: epoch: 2029 +23-06-28 13:50:19.657 - INFO: iters: 5081868 +23-06-28 13:53:06.752 - INFO: train/mse_loss: 0.001271215366320863 +23-06-28 13:53:06.753 - INFO: epoch: 2030 +23-06-28 13:53:06.753 - INFO: iters: 5084372 +23-06-28 13:55:54.243 - INFO: train/mse_loss: 0.0012874782636624793 +23-06-28 13:55:54.243 - INFO: epoch: 2031 +23-06-28 13:55:54.243 - INFO: iters: 5086876 +23-06-28 13:58:41.620 - INFO: train/mse_loss: 0.0012871834620373686 +23-06-28 13:58:41.621 - INFO: epoch: 2032 +23-06-28 13:58:41.621 - INFO: iters: 5089380 +23-06-28 14:01:29.314 - INFO: train/mse_loss: 0.0012885117799210281 +23-06-28 14:01:29.315 - INFO: epoch: 2033 +23-06-28 14:01:29.315 - INFO: iters: 5091884 +23-06-28 14:04:16.679 - INFO: train/mse_loss: 0.0013481320865554943 +23-06-28 14:04:16.680 - INFO: epoch: 2034 +23-06-28 14:04:16.680 - INFO: iters: 5094388 +23-06-28 14:07:04.001 - INFO: train/mse_loss: 0.0012925118330669718 +23-06-28 14:07:04.002 - INFO: epoch: 2035 +23-06-28 14:07:04.002 - INFO: iters: 5096892 +23-06-28 14:09:51.142 - INFO: train/mse_loss: 0.0012743376567736625 +23-06-28 14:09:51.142 - INFO: epoch: 2036 +23-06-28 14:09:51.142 - INFO: iters: 5099396 +23-06-28 14:12:38.545 - INFO: train/mse_loss: 0.0013043494449151804 +23-06-28 14:12:38.545 - INFO: epoch: 2037 +23-06-28 14:12:38.545 - INFO: iters: 5101900 +23-06-28 14:15:25.788 - INFO: train/mse_loss: 0.0012587371879977326 +23-06-28 14:15:25.789 - INFO: epoch: 2038 +23-06-28 14:15:25.789 - INFO: iters: 5104404 +23-06-28 14:18:13.007 - INFO: train/mse_loss: 0.00127257493362887 +23-06-28 14:18:13.008 - INFO: epoch: 2039 +23-06-28 14:18:13.008 - INFO: iters: 5106908 +23-06-28 14:21:00.955 - INFO: train/mse_loss: 0.0012545887161955272 +23-06-28 14:21:00.956 - INFO: epoch: 2040 +23-06-28 14:21:00.957 - INFO: iters: 5109412 +23-06-28 14:23:48.288 - INFO: train/mse_loss: 0.0013317051552832661 +23-06-28 14:23:48.289 - INFO: epoch: 2041 +23-06-28 14:23:48.289 - INFO: iters: 5111916 +23-06-28 14:26:35.772 - INFO: train/mse_loss: 0.001295939950103583 +23-06-28 14:26:35.773 - INFO: epoch: 2042 +23-06-28 14:26:35.773 - INFO: iters: 5114420 +23-06-28 14:29:23.470 - INFO: train/mse_loss: 0.0012260144252847797 +23-06-28 14:29:23.472 - INFO: epoch: 2043 +23-06-28 14:29:23.472 - INFO: iters: 5116924 +23-06-28 14:32:11.215 - INFO: train/mse_loss: 0.00126211291702372 +23-06-28 14:32:11.216 - INFO: epoch: 2044 +23-06-28 14:32:11.216 - INFO: iters: 5119428 +23-06-28 14:34:58.909 - INFO: train/mse_loss: 0.001285555336111859 +23-06-28 14:34:58.909 - INFO: epoch: 2045 +23-06-28 14:34:58.909 - INFO: iters: 5121932 +23-06-28 14:37:46.400 - INFO: train/mse_loss: 0.0012776941465869986 +23-06-28 14:37:46.401 - INFO: epoch: 2046 +23-06-28 14:37:46.401 - INFO: iters: 5124436 +23-06-28 14:40:33.970 - INFO: train/mse_loss: 0.0012859890006665592 +23-06-28 14:40:33.971 - INFO: epoch: 2047 +23-06-28 14:40:33.971 - INFO: iters: 5126940 +23-06-28 14:43:21.565 - INFO: train/mse_loss: 0.0012838638030749838 +23-06-28 14:43:21.566 - INFO: epoch: 2048 +23-06-28 14:43:21.566 - INFO: iters: 5129444 +23-06-28 14:46:09.359 - INFO: train/mse_loss: 0.0013099034693792831 +23-06-28 14:46:09.360 - INFO: epoch: 2049 +23-06-28 14:46:09.360 - INFO: iters: 5131948 +23-06-28 14:48:57.430 - INFO: train/mse_loss: 0.0012574086701995827 +23-06-28 14:48:57.430 - INFO: epoch: 2050 +23-06-28 14:48:57.430 - INFO: iters: 5134452 +23-06-28 14:51:45.173 - INFO: train/mse_loss: 0.001290906864678124 +23-06-28 14:51:45.174 - INFO: epoch: 2051 +23-06-28 14:51:45.174 - INFO: iters: 5136956 +23-06-28 14:54:32.806 - INFO: train/mse_loss: 0.001286278856872096 +23-06-28 14:54:32.807 - INFO: epoch: 2052 +23-06-28 14:54:32.807 - INFO: iters: 5139460 +23-06-28 14:57:20.004 - INFO: train/mse_loss: 0.0012512552110625567 +23-06-28 14:57:20.005 - INFO: epoch: 2053 +23-06-28 14:57:20.005 - INFO: iters: 5141964 +23-06-28 15:00:07.617 - INFO: train/mse_loss: 0.0012884920196289333 +23-06-28 15:00:07.618 - INFO: epoch: 2054 +23-06-28 15:00:07.618 - INFO: iters: 5144468 +23-06-28 15:02:55.438 - INFO: train/mse_loss: 0.0012611280265710533 +23-06-28 15:02:55.439 - INFO: epoch: 2055 +23-06-28 15:02:55.439 - INFO: iters: 5146972 +23-06-28 15:05:43.442 - INFO: train/mse_loss: 0.0012748826465483149 +23-06-28 15:05:43.443 - INFO: epoch: 2056 +23-06-28 15:05:43.443 - INFO: iters: 5149476 +23-06-28 15:08:31.427 - INFO: train/mse_loss: 0.001281503208495599 +23-06-28 15:08:31.428 - INFO: epoch: 2057 +23-06-28 15:08:31.428 - INFO: iters: 5151980 +23-06-28 15:11:19.222 - INFO: train/mse_loss: 0.0012708412515506826 +23-06-28 15:11:19.223 - INFO: epoch: 2058 +23-06-28 15:11:19.224 - INFO: iters: 5154484 +23-06-28 15:14:06.800 - INFO: train/mse_loss: 0.0013863552302589264 +23-06-28 15:14:06.801 - INFO: epoch: 2059 +23-06-28 15:14:06.801 - INFO: iters: 5156988 +23-06-28 15:16:54.574 - INFO: train/mse_loss: 0.0013125599487483822 +23-06-28 15:16:54.575 - INFO: epoch: 2060 +23-06-28 15:16:54.575 - INFO: iters: 5159492 +23-06-28 15:19:42.476 - INFO: train/mse_loss: 0.0013241528424794396 +23-06-28 15:19:42.477 - INFO: epoch: 2061 +23-06-28 15:19:42.477 - INFO: iters: 5161996 +23-06-28 15:22:30.926 - INFO: train/mse_loss: 0.001258061135491987 +23-06-28 15:22:30.927 - INFO: epoch: 2062 +23-06-28 15:22:30.927 - INFO: iters: 5164500 +23-06-28 15:25:18.563 - INFO: train/mse_loss: 0.0012430811742359339 +23-06-28 15:25:18.564 - INFO: epoch: 2063 +23-06-28 15:25:18.564 - INFO: iters: 5167004 +23-06-28 15:28:06.550 - INFO: train/mse_loss: 0.0012180521784271427 +23-06-28 15:28:06.551 - INFO: epoch: 2064 +23-06-28 15:28:06.551 - INFO: iters: 5169508 +23-06-28 15:30:54.454 - INFO: train/mse_loss: 0.0012601689681389962 +23-06-28 15:30:54.454 - INFO: epoch: 2065 +23-06-28 15:30:54.454 - INFO: iters: 5172012 +23-06-28 15:33:42.062 - INFO: train/mse_loss: 0.00123522326209993 +23-06-28 15:33:42.063 - INFO: epoch: 2066 +23-06-28 15:33:42.063 - INFO: iters: 5174516 +23-06-28 15:36:29.573 - INFO: train/mse_loss: 0.0012507379671875625 +23-06-28 15:36:29.573 - INFO: epoch: 2067 +23-06-28 15:36:29.573 - INFO: iters: 5177020 +23-06-28 15:39:17.441 - INFO: train/mse_loss: 0.0012337354696378077 +23-06-28 15:39:17.441 - INFO: epoch: 2068 +23-06-28 15:39:17.441 - INFO: iters: 5179524 +23-06-28 15:42:05.067 - INFO: train/mse_loss: 0.00131694460389972 +23-06-28 15:42:05.068 - INFO: epoch: 2069 +23-06-28 15:42:05.068 - INFO: iters: 5182028 +23-06-28 15:44:52.987 - INFO: train/mse_loss: 0.0012623343298534533 +23-06-28 15:44:52.988 - INFO: epoch: 2070 +23-06-28 15:44:52.988 - INFO: iters: 5184532 +23-06-28 15:47:40.791 - INFO: train/mse_loss: 0.0012424724073686337 +23-06-28 15:47:40.792 - INFO: epoch: 2071 +23-06-28 15:47:40.792 - INFO: iters: 5187036 +23-06-28 15:50:28.758 - INFO: train/mse_loss: 0.0012774791652388788 +23-06-28 15:50:28.758 - INFO: epoch: 2072 +23-06-28 15:50:28.758 - INFO: iters: 5189540 +23-06-28 15:53:16.466 - INFO: train/mse_loss: 0.001258802845867309 +23-06-28 15:53:16.467 - INFO: epoch: 2073 +23-06-28 15:53:16.467 - INFO: iters: 5192044 +23-06-28 15:56:04.443 - INFO: train/mse_loss: 0.0012774051792105844 +23-06-28 15:56:04.443 - INFO: epoch: 2074 +23-06-28 15:56:04.443 - INFO: iters: 5194548 +23-06-28 15:58:52.474 - INFO: train/mse_loss: 0.001218294646343984 +23-06-28 15:58:52.476 - INFO: epoch: 2075 +23-06-28 15:58:52.476 - INFO: iters: 5197052 +23-06-28 16:01:40.592 - INFO: train/mse_loss: 0.0012578438839521082 +23-06-28 16:01:40.593 - INFO: epoch: 2076 +23-06-28 16:01:40.593 - INFO: iters: 5199556 +23-06-28 16:04:28.481 - INFO: train/mse_loss: 0.001292262958495107 +23-06-28 16:04:28.482 - INFO: epoch: 2077 +23-06-28 16:04:28.482 - INFO: iters: 5202060 +23-06-28 16:07:16.198 - INFO: train/mse_loss: 0.0014575148979871393 +23-06-28 16:07:16.199 - INFO: epoch: 2078 +23-06-28 16:07:16.199 - INFO: iters: 5204564 +23-06-28 16:10:03.692 - INFO: train/mse_loss: 0.0013050767699086937 +23-06-28 16:10:03.693 - INFO: epoch: 2079 +23-06-28 16:10:03.693 - INFO: iters: 5207068 +23-06-28 16:12:51.354 - INFO: train/mse_loss: 0.0012549406395274431 +23-06-28 16:12:51.354 - INFO: epoch: 2080 +23-06-28 16:12:51.355 - INFO: iters: 5209572 +23-06-28 16:15:39.091 - INFO: train/mse_loss: 0.001267941892626859 +23-06-28 16:15:39.091 - INFO: epoch: 2081 +23-06-28 16:15:39.092 - INFO: iters: 5212076 +23-06-28 16:18:27.243 - INFO: train/mse_loss: 0.0012599339387148988 +23-06-28 16:18:27.244 - INFO: epoch: 2082 +23-06-28 16:18:27.244 - INFO: iters: 5214580 +23-06-28 16:21:18.198 - INFO: train/mse_loss: 0.001267567101122883 +23-06-28 16:21:18.199 - INFO: epoch: 2083 +23-06-28 16:21:18.199 - INFO: iters: 5217084 +23-06-28 16:24:06.507 - INFO: train/mse_loss: 0.001257876287580441 +23-06-28 16:24:06.508 - INFO: epoch: 2084 +23-06-28 16:24:06.508 - INFO: iters: 5219588 +23-06-28 16:26:55.233 - INFO: train/mse_loss: 0.0012679022150865486 +23-06-28 16:26:55.233 - INFO: epoch: 2085 +23-06-28 16:26:55.233 - INFO: iters: 5222092 +23-06-28 16:29:43.579 - INFO: train/mse_loss: 0.0012502133805928127 +23-06-28 16:29:43.580 - INFO: epoch: 2086 +23-06-28 16:29:43.580 - INFO: iters: 5224596 +23-06-28 16:32:31.631 - INFO: train/mse_loss: 0.001234078332008169 +23-06-28 16:32:31.633 - INFO: epoch: 2087 +23-06-28 16:32:31.634 - INFO: iters: 5227100 +23-06-28 16:35:19.793 - INFO: train/mse_loss: 0.0012863844937344377 +23-06-28 16:35:19.794 - INFO: epoch: 2088 +23-06-28 16:35:19.794 - INFO: iters: 5229604 +23-06-28 16:38:07.762 - INFO: train/mse_loss: 0.0012538916991685872 +23-06-28 16:38:07.763 - INFO: epoch: 2089 +23-06-28 16:38:07.763 - INFO: iters: 5232108 +23-06-28 16:40:55.770 - INFO: train/mse_loss: 0.0012542730318746878 +23-06-28 16:40:55.770 - INFO: epoch: 2090 +23-06-28 16:40:55.770 - INFO: iters: 5234612 +23-06-28 16:43:44.757 - INFO: train/mse_loss: 0.0012142025106311285 +23-06-28 16:43:44.758 - INFO: epoch: 2091 +23-06-28 16:43:44.758 - INFO: iters: 5237116 +23-06-28 16:46:35.017 - INFO: train/mse_loss: 0.0012187196249395203 +23-06-28 16:46:35.018 - INFO: epoch: 2092 +23-06-28 16:46:35.018 - INFO: iters: 5239620 +23-06-28 16:49:24.387 - INFO: train/mse_loss: 0.0012222621594548237 +23-06-28 16:49:24.388 - INFO: epoch: 2093 +23-06-28 16:49:24.389 - INFO: iters: 5242124 +23-06-28 16:52:14.404 - INFO: train/mse_loss: 0.001255810540560008 +23-06-28 16:52:14.405 - INFO: epoch: 2094 +23-06-28 16:52:14.405 - INFO: iters: 5244628 +23-06-28 16:55:03.844 - INFO: train/mse_loss: 0.001268600710643866 +23-06-28 16:55:03.845 - INFO: epoch: 2095 +23-06-28 16:55:03.845 - INFO: iters: 5247132 +23-06-28 16:57:52.989 - INFO: train/mse_loss: 0.0012540475831898197 +23-06-28 16:57:52.990 - INFO: epoch: 2096 +23-06-28 16:57:52.990 - INFO: iters: 5249636 +23-06-28 17:00:44.344 - INFO: train/mse_loss: 0.0012643329503301817 +23-06-28 17:00:44.345 - INFO: epoch: 2097 +23-06-28 17:00:44.345 - INFO: iters: 5252140 +23-06-28 17:03:33.327 - INFO: train/mse_loss: 0.0012691089870057071 +23-06-28 17:03:33.328 - INFO: epoch: 2098 +23-06-28 17:03:33.328 - INFO: iters: 5254644 +23-06-28 17:06:22.690 - INFO: train/mse_loss: 0.0012513970740112704 +23-06-28 17:06:22.691 - INFO: epoch: 2099 +23-06-28 17:06:22.691 - INFO: iters: 5257148 +23-06-28 17:09:15.420 - INFO: train/mse_loss: 0.0012312895696857176 +23-06-28 17:09:15.421 - INFO: epoch: 2100 +23-06-28 17:09:15.421 - INFO: iters: 5259652 +23-06-28 17:12:06.745 - INFO: train/mse_loss: 0.0012450665738560057 +23-06-28 17:12:06.746 - INFO: epoch: 2101 +23-06-28 17:12:06.746 - INFO: iters: 5262156 +23-06-28 17:14:57.105 - INFO: train/mse_loss: 0.001279430102855235 +23-06-28 17:14:57.106 - INFO: epoch: 2102 +23-06-28 17:14:57.106 - INFO: iters: 5264660 +23-06-28 17:17:48.880 - INFO: train/mse_loss: 0.0012377294494745176 +23-06-28 17:17:48.881 - INFO: epoch: 2103 +23-06-28 17:17:48.882 - INFO: iters: 5267164 +23-06-28 17:20:39.395 - INFO: train/mse_loss: 0.0012331591042602202 +23-06-28 17:20:39.396 - INFO: epoch: 2104 +23-06-28 17:20:39.397 - INFO: iters: 5269668 +23-06-28 17:23:29.331 - INFO: train/mse_loss: 0.0013028253200865639 +23-06-28 17:23:29.332 - INFO: epoch: 2105 +23-06-28 17:23:29.332 - INFO: iters: 5272172 +23-06-28 17:26:19.837 - INFO: train/mse_loss: 0.0012568160752057672 +23-06-28 17:26:19.838 - INFO: epoch: 2106 +23-06-28 17:26:19.838 - INFO: iters: 5274676 +23-06-28 17:29:10.563 - INFO: train/mse_loss: 0.0012235499457448732 +23-06-28 17:29:10.564 - INFO: epoch: 2107 +23-06-28 17:29:10.564 - INFO: iters: 5277180 +23-06-28 17:32:02.272 - INFO: train/mse_loss: 0.001216878877400745 +23-06-28 17:32:02.273 - INFO: epoch: 2108 +23-06-28 17:32:02.273 - INFO: iters: 5279684 +23-06-28 17:34:51.531 - INFO: train/mse_loss: 0.001271977914852825 +23-06-28 17:34:51.532 - INFO: epoch: 2109 +23-06-28 17:34:51.532 - INFO: iters: 5282188 +23-06-28 17:37:42.620 - INFO: train/mse_loss: 0.0012496763198917653 +23-06-28 17:37:42.621 - INFO: epoch: 2110 +23-06-28 17:37:42.621 - INFO: iters: 5284692 +23-06-28 17:40:35.050 - INFO: train/mse_loss: 0.0012442867324416772 +23-06-28 17:40:35.051 - INFO: epoch: 2111 +23-06-28 17:40:35.051 - INFO: iters: 5287196 +23-06-28 17:43:24.776 - INFO: train/mse_loss: 0.0012370136601049988 +23-06-28 17:43:24.777 - INFO: epoch: 2112 +23-06-28 17:43:24.777 - INFO: iters: 5289700 +23-06-28 17:46:16.602 - INFO: train/mse_loss: 0.0012197134870895966 +23-06-28 17:46:16.603 - INFO: epoch: 2113 +23-06-28 17:46:16.603 - INFO: iters: 5292204 +23-06-28 17:49:06.718 - INFO: train/mse_loss: 0.0012744797560863923 +23-06-28 17:49:06.719 - INFO: epoch: 2114 +23-06-28 17:49:06.719 - INFO: iters: 5294708 +23-06-28 17:51:56.767 - INFO: train/mse_loss: 0.0012544537581073436 +23-06-28 17:51:56.767 - INFO: epoch: 2115 +23-06-28 17:51:56.768 - INFO: iters: 5297212 +23-06-28 17:54:48.674 - INFO: train/mse_loss: 0.0012280340362250948 +23-06-28 17:54:48.675 - INFO: epoch: 2116 +23-06-28 17:54:48.675 - INFO: iters: 5299716 +23-06-28 17:57:38.258 - INFO: train/mse_loss: 0.0012848131504049674 +23-06-28 17:57:38.259 - INFO: epoch: 2117 +23-06-28 17:57:38.259 - INFO: iters: 5302220 +23-06-28 18:00:28.593 - INFO: train/mse_loss: 0.0012779442531900248 +23-06-28 18:00:28.593 - INFO: epoch: 2118 +23-06-28 18:00:28.593 - INFO: iters: 5304724 +23-06-28 18:03:18.432 - INFO: train/mse_loss: 0.001227677301648772 +23-06-28 18:03:18.433 - INFO: epoch: 2119 +23-06-28 18:03:18.433 - INFO: iters: 5307228 +23-06-28 18:06:07.489 - INFO: train/mse_loss: 0.0012767952726447222 +23-06-28 18:06:07.491 - INFO: epoch: 2120 +23-06-28 18:06:07.491 - INFO: iters: 5309732 +23-06-28 18:08:56.836 - INFO: train/mse_loss: 0.0012605587861459024 +23-06-28 18:08:56.836 - INFO: epoch: 2121 +23-06-28 18:08:56.836 - INFO: iters: 5312236 +23-06-28 18:11:46.224 - INFO: train/mse_loss: 0.0012844776343807172 +23-06-28 18:11:46.225 - INFO: epoch: 2122 +23-06-28 18:11:46.225 - INFO: iters: 5314740 +23-06-28 18:14:37.475 - INFO: train/mse_loss: 0.001258006416943323 +23-06-28 18:14:37.476 - INFO: epoch: 2123 +23-06-28 18:14:37.476 - INFO: iters: 5317244 +23-06-28 18:17:26.655 - INFO: train/mse_loss: 0.0012249616321552688 +23-06-28 18:17:26.657 - INFO: epoch: 2124 +23-06-28 18:17:26.657 - INFO: iters: 5319748 +23-06-28 18:20:16.558 - INFO: train/mse_loss: 0.0012285985217538303 +23-06-28 18:20:16.559 - INFO: epoch: 2125 +23-06-28 18:20:16.559 - INFO: iters: 5322252 +23-06-28 18:23:06.400 - INFO: train/mse_loss: 0.001205285732614281 +23-06-28 18:23:06.401 - INFO: epoch: 2126 +23-06-28 18:23:06.401 - INFO: iters: 5324756 +23-06-28 18:25:56.784 - INFO: train/mse_loss: 0.0012652389167736584 +23-06-28 18:25:56.787 - INFO: epoch: 2127 +23-06-28 18:25:56.787 - INFO: iters: 5327260 +23-06-28 18:28:46.572 - INFO: train/mse_loss: 0.001239837211640046 +23-06-28 18:28:46.573 - INFO: epoch: 2128 +23-06-28 18:28:46.573 - INFO: iters: 5329764 +23-06-28 18:31:37.174 - INFO: train/mse_loss: 0.001227020971683827 +23-06-28 18:31:37.175 - INFO: epoch: 2129 +23-06-28 18:31:37.176 - INFO: iters: 5332268 +23-06-28 18:34:28.739 - INFO: train/mse_loss: 0.0012196918767981065 +23-06-28 18:34:28.740 - INFO: epoch: 2130 +23-06-28 18:34:28.740 - INFO: iters: 5334772 +23-06-28 18:37:17.051 - INFO: train/mse_loss: 0.00124944018210454 +23-06-28 18:37:17.052 - INFO: epoch: 2131 +23-06-28 18:37:17.052 - INFO: iters: 5337276 +23-06-28 18:40:04.698 - INFO: train/mse_loss: 0.0012514218908382026 +23-06-28 18:40:04.699 - INFO: epoch: 2132 +23-06-28 18:40:04.699 - INFO: iters: 5339780 +23-06-28 18:42:52.781 - INFO: train/mse_loss: 0.001230566090489098 +23-06-28 18:42:52.782 - INFO: epoch: 2133 +23-06-28 18:42:52.782 - INFO: iters: 5342284 +23-06-28 18:45:40.903 - INFO: train/mse_loss: 0.0011870814437126985 +23-06-28 18:45:40.905 - INFO: epoch: 2134 +23-06-28 18:45:40.905 - INFO: iters: 5344788 +23-06-28 18:48:29.042 - INFO: train/mse_loss: 0.0012745907829223445 +23-06-28 18:48:29.043 - INFO: epoch: 2135 +23-06-28 18:48:29.043 - INFO: iters: 5347292 +23-06-28 18:51:17.053 - INFO: train/mse_loss: 0.0012359944960331551 +23-06-28 18:51:17.054 - INFO: epoch: 2136 +23-06-28 18:51:17.054 - INFO: iters: 5349796 +23-06-28 18:54:05.541 - INFO: train/mse_loss: 0.001257887067713629 +23-06-28 18:54:05.541 - INFO: epoch: 2137 +23-06-28 18:54:05.542 - INFO: iters: 5352300 +23-06-28 18:56:53.329 - INFO: train/mse_loss: 0.001217536055932964 +23-06-28 18:56:53.330 - INFO: epoch: 2138 +23-06-28 18:56:53.330 - INFO: iters: 5354804 +23-06-28 18:59:41.486 - INFO: train/mse_loss: 0.001231349460068739 +23-06-28 18:59:41.487 - INFO: epoch: 2139 +23-06-28 18:59:41.488 - INFO: iters: 5357308 +23-06-28 19:02:29.895 - INFO: train/mse_loss: 0.0012448045939129715 +23-06-28 19:02:29.896 - INFO: epoch: 2140 +23-06-28 19:02:29.896 - INFO: iters: 5359812 +23-06-28 19:05:18.261 - INFO: train/mse_loss: 0.001228351345804249 +23-06-28 19:05:18.261 - INFO: epoch: 2141 +23-06-28 19:05:18.261 - INFO: iters: 5362316 +23-06-28 19:08:07.114 - INFO: train/mse_loss: 0.0012098133039382545 +23-06-28 19:08:07.114 - INFO: epoch: 2142 +23-06-28 19:08:07.114 - INFO: iters: 5364820 +23-06-28 19:10:55.473 - INFO: train/mse_loss: 0.0012337267748452128 +23-06-28 19:10:55.474 - INFO: epoch: 2143 +23-06-28 19:10:55.474 - INFO: iters: 5367324 +23-06-28 19:13:43.154 - INFO: train/mse_loss: 0.001246170993740358 +23-06-28 19:13:43.154 - INFO: epoch: 2144 +23-06-28 19:13:43.154 - INFO: iters: 5369828 +23-06-28 19:16:30.944 - INFO: train/mse_loss: 0.0012189665587601095 +23-06-28 19:16:30.945 - INFO: epoch: 2145 +23-06-28 19:16:30.945 - INFO: iters: 5372332 +23-06-28 19:19:18.509 - INFO: train/mse_loss: 0.0012110914229214512 +23-06-28 19:19:18.510 - INFO: epoch: 2146 +23-06-28 19:19:18.510 - INFO: iters: 5374836 +23-06-28 19:22:06.107 - INFO: train/mse_loss: 0.0012285292950851587 +23-06-28 19:22:06.108 - INFO: epoch: 2147 +23-06-28 19:22:06.108 - INFO: iters: 5377340 +23-06-28 19:24:53.770 - INFO: train/mse_loss: 0.0012311923226301436 +23-06-28 19:24:53.770 - INFO: epoch: 2148 +23-06-28 19:24:53.770 - INFO: iters: 5379844 +23-06-28 19:27:41.435 - INFO: train/mse_loss: 0.0012051770140933163 +23-06-28 19:27:41.437 - INFO: epoch: 2149 +23-06-28 19:27:41.437 - INFO: iters: 5382348 +23-06-28 19:30:29.270 - INFO: train/mse_loss: 0.0012589761271913605 +23-06-28 19:30:29.271 - INFO: epoch: 2150 +23-06-28 19:30:29.271 - INFO: iters: 5384852 +23-06-28 19:33:17.196 - INFO: train/mse_loss: 0.001237434058706053 +23-06-28 19:33:17.197 - INFO: epoch: 2151 +23-06-28 19:33:17.197 - INFO: iters: 5387356 +23-06-28 19:36:04.658 - INFO: train/mse_loss: 0.001177194829083259 +23-06-28 19:36:04.658 - INFO: epoch: 2152 +23-06-28 19:36:04.658 - INFO: iters: 5389860 +23-06-28 19:38:52.295 - INFO: train/mse_loss: 0.0012446912217546052 +23-06-28 19:38:52.296 - INFO: epoch: 2153 +23-06-28 19:38:52.296 - INFO: iters: 5392364 +23-06-28 19:41:40.179 - INFO: train/mse_loss: 0.0012144725037978206 +23-06-28 19:41:40.180 - INFO: epoch: 2154 +23-06-28 19:41:40.180 - INFO: iters: 5394868 +23-06-28 19:44:27.566 - INFO: train/mse_loss: 0.0012193304623630398 +23-06-28 19:44:27.567 - INFO: epoch: 2155 +23-06-28 19:44:27.567 - INFO: iters: 5397372 +23-06-28 19:47:15.559 - INFO: train/mse_loss: 0.0012353529456999902 +23-06-28 19:47:15.559 - INFO: epoch: 2156 +23-06-28 19:47:15.559 - INFO: iters: 5399876 +23-06-28 19:50:03.333 - INFO: train/mse_loss: 0.0011946336184360516 +23-06-28 19:50:03.333 - INFO: epoch: 2157 +23-06-28 19:50:03.333 - INFO: iters: 5402380 +23-06-28 19:52:51.085 - INFO: train/mse_loss: 0.001222648042214725 +23-06-28 19:52:51.086 - INFO: epoch: 2158 +23-06-28 19:52:51.087 - INFO: iters: 5404884 +23-06-28 19:55:38.728 - INFO: train/mse_loss: 0.0012304636708552988 +23-06-28 19:55:38.729 - INFO: epoch: 2159 +23-06-28 19:55:38.729 - INFO: iters: 5407388 +23-06-28 19:58:26.327 - INFO: train/mse_loss: 0.0012302472861074566 +23-06-28 19:58:26.327 - INFO: epoch: 2160 +23-06-28 19:58:26.327 - INFO: iters: 5409892 +23-06-28 20:01:13.714 - INFO: train/mse_loss: 0.0012162956905688127 +23-06-28 20:01:13.714 - INFO: epoch: 2161 +23-06-28 20:01:13.714 - INFO: iters: 5412396 +23-06-28 20:04:01.007 - INFO: train/mse_loss: 0.0012341739166120346 +23-06-28 20:04:01.007 - INFO: epoch: 2162 +23-06-28 20:04:01.008 - INFO: iters: 5414900 +23-06-28 20:06:48.740 - INFO: train/mse_loss: 0.0011808058900086168 +23-06-28 20:06:48.741 - INFO: epoch: 2163 +23-06-28 20:06:48.741 - INFO: iters: 5417404 +23-06-28 20:09:36.751 - INFO: train/mse_loss: 0.0012292201911953216 +23-06-28 20:09:36.751 - INFO: epoch: 2164 +23-06-28 20:09:36.751 - INFO: iters: 5419908 +23-06-28 20:12:24.402 - INFO: train/mse_loss: 0.0012316972752973532 +23-06-28 20:12:24.403 - INFO: epoch: 2165 +23-06-28 20:12:24.403 - INFO: iters: 5422412 +23-06-28 20:15:12.699 - INFO: train/mse_loss: 0.0012403091252297938 +23-06-28 20:15:12.700 - INFO: epoch: 2166 +23-06-28 20:15:12.701 - INFO: iters: 5424916 +23-06-28 20:18:00.835 - INFO: train/mse_loss: 0.0012448652057548443 +23-06-28 20:18:00.836 - INFO: epoch: 2167 +23-06-28 20:18:00.836 - INFO: iters: 5427420 +23-06-28 20:20:48.278 - INFO: train/mse_loss: 0.0012232776826653724 +23-06-28 20:20:48.279 - INFO: epoch: 2168 +23-06-28 20:20:48.279 - INFO: iters: 5429924 +23-06-28 20:23:35.839 - INFO: train/mse_loss: 0.001224722467383709 +23-06-28 20:23:35.839 - INFO: epoch: 2169 +23-06-28 20:23:35.840 - INFO: iters: 5432428 +23-06-28 20:26:23.250 - INFO: train/mse_loss: 0.0012391774365440391 +23-06-28 20:26:23.251 - INFO: epoch: 2170 +23-06-28 20:26:23.251 - INFO: iters: 5434932 +23-06-28 20:29:11.078 - INFO: train/mse_loss: 0.0012345094727121662 +23-06-28 20:29:11.079 - INFO: epoch: 2171 +23-06-28 20:29:11.079 - INFO: iters: 5437436 +23-06-28 20:31:59.011 - INFO: train/mse_loss: 0.0012090267452110831 +23-06-28 20:31:59.012 - INFO: epoch: 2172 +23-06-28 20:31:59.012 - INFO: iters: 5439940 +23-06-28 20:34:46.631 - INFO: train/mse_loss: 0.0012158728196299054 +23-06-28 20:34:46.633 - INFO: epoch: 2173 +23-06-28 20:34:46.633 - INFO: iters: 5442444 +23-06-28 20:37:34.681 - INFO: train/mse_loss: 0.0012043404576819413 +23-06-28 20:37:34.682 - INFO: epoch: 2174 +23-06-28 20:37:34.682 - INFO: iters: 5444948 +23-06-28 20:40:22.315 - INFO: train/mse_loss: 0.001232159055732994 +23-06-28 20:40:22.316 - INFO: epoch: 2175 +23-06-28 20:40:22.316 - INFO: iters: 5447452 +23-06-28 20:43:10.116 - INFO: train/mse_loss: 0.001243235684426192 +23-06-28 20:43:10.117 - INFO: epoch: 2176 +23-06-28 20:43:10.117 - INFO: iters: 5449956 +23-06-28 20:45:58.120 - INFO: train/mse_loss: 0.0012042084859443095 +23-06-28 20:45:58.120 - INFO: epoch: 2177 +23-06-28 20:45:58.120 - INFO: iters: 5452460 +23-06-28 20:48:45.629 - INFO: train/mse_loss: 0.001241222913443935 +23-06-28 20:48:45.630 - INFO: epoch: 2178 +23-06-28 20:48:45.630 - INFO: iters: 5454964 +23-06-28 20:51:33.632 - INFO: train/mse_loss: 0.001201073480093072 +23-06-28 20:51:33.633 - INFO: epoch: 2179 +23-06-28 20:51:33.633 - INFO: iters: 5457468 +23-06-28 20:54:21.165 - INFO: train/mse_loss: 0.001182313919117222 +23-06-28 20:54:21.166 - INFO: epoch: 2180 +23-06-28 20:54:21.166 - INFO: iters: 5459972 +23-06-28 20:57:09.015 - INFO: train/mse_loss: 0.0012258823233702704 +23-06-28 20:57:09.015 - INFO: epoch: 2181 +23-06-28 20:57:09.015 - INFO: iters: 5462476 +23-06-28 20:59:56.978 - INFO: train/mse_loss: 0.0012745745189022273 +23-06-28 20:59:56.979 - INFO: epoch: 2182 +23-06-28 20:59:56.979 - INFO: iters: 5464980 +23-06-28 21:02:44.668 - INFO: train/mse_loss: 0.0012075245009769444 +23-06-28 21:02:44.669 - INFO: epoch: 2183 +23-06-28 21:02:44.669 - INFO: iters: 5467484 +23-06-28 21:05:33.382 - INFO: train/mse_loss: 0.001196466795073602 +23-06-28 21:05:33.384 - INFO: epoch: 2184 +23-06-28 21:05:33.384 - INFO: iters: 5469988 +23-06-28 21:08:21.335 - INFO: train/mse_loss: 0.0012720710180994398 +23-06-28 21:08:21.335 - INFO: epoch: 2185 +23-06-28 21:08:21.335 - INFO: iters: 5472492 +23-06-28 21:11:09.371 - INFO: train/mse_loss: 0.0012271413623285406 +23-06-28 21:11:09.371 - INFO: epoch: 2186 +23-06-28 21:11:09.372 - INFO: iters: 5474996 +23-06-28 21:13:57.332 - INFO: train/mse_loss: 0.0011991878141858839 +23-06-28 21:13:57.333 - INFO: epoch: 2187 +23-06-28 21:13:57.333 - INFO: iters: 5477500 +23-06-28 21:16:45.346 - INFO: train/mse_loss: 0.0012230882726121728 +23-06-28 21:16:45.347 - INFO: epoch: 2188 +23-06-28 21:16:45.347 - INFO: iters: 5480004 +23-06-28 21:19:33.017 - INFO: train/mse_loss: 0.0011641433092984207 +23-06-28 21:19:33.018 - INFO: epoch: 2189 +23-06-28 21:19:33.018 - INFO: iters: 5482508 +23-06-28 21:22:20.791 - INFO: train/mse_loss: 0.0012026499336088498 +23-06-28 21:22:20.792 - INFO: epoch: 2190 +23-06-28 21:22:20.792 - INFO: iters: 5485012 +23-06-28 21:25:09.135 - INFO: train/mse_loss: 0.0011762509980914407 +23-06-28 21:25:09.136 - INFO: epoch: 2191 +23-06-28 21:25:09.136 - INFO: iters: 5487516 +23-06-28 21:27:57.285 - INFO: train/mse_loss: 0.0011635784005088667 +23-06-28 21:27:57.286 - INFO: epoch: 2192 +23-06-28 21:27:57.286 - INFO: iters: 5490020 +23-06-28 21:30:45.030 - INFO: train/mse_loss: 0.0011793059349348679 +23-06-28 21:30:45.030 - INFO: epoch: 2193 +23-06-28 21:30:45.030 - INFO: iters: 5492524 +23-06-28 21:33:33.683 - INFO: train/mse_loss: 0.0012102279159911394 +23-06-28 21:33:33.684 - INFO: epoch: 2194 +23-06-28 21:33:33.684 - INFO: iters: 5495028 +23-06-28 21:36:21.558 - INFO: train/mse_loss: 0.0012226070595582346 +23-06-28 21:36:21.558 - INFO: epoch: 2195 +23-06-28 21:36:21.558 - INFO: iters: 5497532 +23-06-28 21:39:09.312 - INFO: train/mse_loss: 0.0012231606032555035 +23-06-28 21:39:09.313 - INFO: epoch: 2196 +23-06-28 21:39:09.313 - INFO: iters: 5500036 +23-06-28 21:41:56.985 - INFO: train/mse_loss: 0.0011930443693700726 +23-06-28 21:41:56.986 - INFO: epoch: 2197 +23-06-28 21:41:56.986 - INFO: iters: 5502540 +23-06-28 21:44:45.191 - INFO: train/mse_loss: 0.001199669844843596 +23-06-28 21:44:45.191 - INFO: epoch: 2198 +23-06-28 21:44:45.191 - INFO: iters: 5505044 +23-06-28 21:47:33.907 - INFO: train/mse_loss: 0.0011759864830467018 +23-06-28 21:47:33.907 - INFO: epoch: 2199 +23-06-28 21:47:33.907 - INFO: iters: 5507548 +23-06-28 21:50:21.672 - INFO: train/mse_loss: 0.0012292982208893632 +23-06-28 21:50:21.673 - INFO: epoch: 2200 +23-06-28 21:50:21.673 - INFO: iters: 5510052 +23-06-28 21:53:09.858 - INFO: train/mse_loss: 0.0012626559185325362 +23-06-28 21:53:09.859 - INFO: epoch: 2201 +23-06-28 21:53:09.859 - INFO: iters: 5512556 +23-06-28 21:55:57.577 - INFO: train/mse_loss: 0.001151280595453087 +23-06-28 21:55:57.578 - INFO: epoch: 2202 +23-06-28 21:55:57.578 - INFO: iters: 5515060 +23-06-28 21:58:45.398 - INFO: train/mse_loss: 0.0011985561055965876 +23-06-28 21:58:45.402 - INFO: epoch: 2203 +23-06-28 21:58:45.402 - INFO: iters: 5517564 +23-06-28 22:01:33.443 - INFO: train/mse_loss: 0.0012151621199903277 +23-06-28 22:01:33.444 - INFO: epoch: 2204 +23-06-28 22:01:33.444 - INFO: iters: 5520068 +23-06-28 22:04:21.118 - INFO: train/mse_loss: 0.0012794535352510755 +23-06-28 22:04:21.118 - INFO: epoch: 2205 +23-06-28 22:04:21.118 - INFO: iters: 5522572 +23-06-28 22:07:08.977 - INFO: train/mse_loss: 0.0012253833482393061 +23-06-28 22:07:08.978 - INFO: epoch: 2206 +23-06-28 22:07:08.978 - INFO: iters: 5525076 +23-06-28 22:09:56.758 - INFO: train/mse_loss: 0.0012013945970669412 +23-06-28 22:09:56.758 - INFO: epoch: 2207 +23-06-28 22:09:56.758 - INFO: iters: 5527580 +23-06-28 22:12:44.588 - INFO: train/mse_loss: 0.0011881383373208653 +23-06-28 22:12:44.589 - INFO: epoch: 2208 +23-06-28 22:12:44.589 - INFO: iters: 5530084 +23-06-28 22:15:32.667 - INFO: train/mse_loss: 0.0011812874296205506 +23-06-28 22:15:32.667 - INFO: epoch: 2209 +23-06-28 22:15:32.667 - INFO: iters: 5532588 +23-06-28 22:18:20.686 - INFO: train/mse_loss: 0.0012216820519569272 +23-06-28 22:18:20.687 - INFO: epoch: 2210 +23-06-28 22:18:20.687 - INFO: iters: 5535092 +23-06-28 22:21:08.967 - INFO: train/mse_loss: 0.0012078680797850492 +23-06-28 22:21:08.967 - INFO: epoch: 2211 +23-06-28 22:21:08.967 - INFO: iters: 5537596 +23-06-28 22:23:57.381 - INFO: train/mse_loss: 0.0011831407042662092 +23-06-28 22:23:57.382 - INFO: epoch: 2212 +23-06-28 22:23:57.382 - INFO: iters: 5540100 +23-06-28 22:26:45.943 - INFO: train/mse_loss: 0.0011817004842000801 +23-06-28 22:26:45.944 - INFO: epoch: 2213 +23-06-28 22:26:45.944 - INFO: iters: 5542604 +23-06-28 22:29:33.927 - INFO: train/mse_loss: 0.0012214960616502982 +23-06-28 22:29:33.927 - INFO: epoch: 2214 +23-06-28 22:29:33.927 - INFO: iters: 5545108 +23-06-28 22:32:22.147 - INFO: train/mse_loss: 0.001168540485698682 +23-06-28 22:32:22.148 - INFO: epoch: 2215 +23-06-28 22:32:22.149 - INFO: iters: 5547612 +23-06-28 22:35:10.787 - INFO: train/mse_loss: 0.0011860917753037125 +23-06-28 22:35:10.789 - INFO: epoch: 2216 +23-06-28 22:35:10.789 - INFO: iters: 5550116 +23-06-28 22:37:58.779 - INFO: train/mse_loss: 0.0011932869501688633 +23-06-28 22:37:58.779 - INFO: epoch: 2217 +23-06-28 22:37:58.779 - INFO: iters: 5552620 +23-06-28 22:40:46.292 - INFO: train/mse_loss: 0.0011562725487046135 +23-06-28 22:40:46.293 - INFO: epoch: 2218 +23-06-28 22:40:46.293 - INFO: iters: 5555124 +23-06-28 22:43:34.543 - INFO: train/mse_loss: 0.0011997751268809631 +23-06-28 22:43:34.543 - INFO: epoch: 2219 +23-06-28 22:43:34.543 - INFO: iters: 5557628 +23-06-28 22:46:22.470 - INFO: train/mse_loss: 0.0011901112429361742 +23-06-28 22:46:22.470 - INFO: epoch: 2220 +23-06-28 22:46:22.471 - INFO: iters: 5560132 +23-06-28 22:49:10.178 - INFO: train/mse_loss: 0.001185535066076718 +23-06-28 22:49:10.178 - INFO: epoch: 2221 +23-06-28 22:49:10.178 - INFO: iters: 5562636 +23-06-28 22:51:58.045 - INFO: train/mse_loss: 0.0011671526647082117 +23-06-28 22:51:58.046 - INFO: epoch: 2222 +23-06-28 22:51:58.046 - INFO: iters: 5565140 +23-06-28 22:54:45.987 - INFO: train/mse_loss: 0.0012015476592254048 +23-06-28 22:54:45.988 - INFO: epoch: 2223 +23-06-28 22:54:45.988 - INFO: iters: 5567644 +23-06-28 22:57:34.035 - INFO: train/mse_loss: 0.0011904076337420082 +23-06-28 22:57:34.035 - INFO: epoch: 2224 +23-06-28 22:57:34.035 - INFO: iters: 5570148 +23-06-28 23:00:22.504 - INFO: train/mse_loss: 0.0011995978552636843 +23-06-28 23:00:22.504 - INFO: epoch: 2225 +23-06-28 23:00:22.505 - INFO: iters: 5572652 +23-06-28 23:03:10.929 - INFO: train/mse_loss: 0.0012504421905376397 +23-06-28 23:03:10.930 - INFO: epoch: 2226 +23-06-28 23:03:10.930 - INFO: iters: 5575156 +23-06-28 23:05:58.885 - INFO: train/mse_loss: 0.0012360924466947516 +23-06-28 23:05:58.887 - INFO: epoch: 2227 +23-06-28 23:05:58.887 - INFO: iters: 5577660 +23-06-28 23:08:46.955 - INFO: train/mse_loss: 0.0012129442344163768 +23-06-28 23:08:46.956 - INFO: epoch: 2228 +23-06-28 23:08:46.956 - INFO: iters: 5580164 +23-06-28 23:11:35.046 - INFO: train/mse_loss: 0.00117323731337064 +23-06-28 23:11:35.046 - INFO: epoch: 2229 +23-06-28 23:11:35.046 - INFO: iters: 5582668 +23-06-28 23:14:22.898 - INFO: train/mse_loss: 0.0012054552712601225 +23-06-28 23:14:22.898 - INFO: epoch: 2230 +23-06-28 23:14:22.898 - INFO: iters: 5585172 +23-06-28 23:17:10.742 - INFO: train/mse_loss: 0.0011302134107289532 +23-06-28 23:17:10.743 - INFO: epoch: 2231 +23-06-28 23:17:10.743 - INFO: iters: 5587676 +23-06-28 23:19:58.835 - INFO: train/mse_loss: 0.0011985036271130339 +23-06-28 23:19:58.835 - INFO: epoch: 2232 +23-06-28 23:19:58.835 - INFO: iters: 5590180 +23-06-28 23:22:46.881 - INFO: train/mse_loss: 0.0012078567835935258 +23-06-28 23:22:46.882 - INFO: epoch: 2233 +23-06-28 23:22:46.882 - INFO: iters: 5592684 +23-06-28 23:25:34.937 - INFO: train/mse_loss: 0.0013100474754113335 +23-06-28 23:25:34.937 - INFO: epoch: 2234 +23-06-28 23:25:34.937 - INFO: iters: 5595188 +23-06-28 23:28:24.992 - INFO: train/mse_loss: 0.0011752773607789447 +23-06-28 23:28:24.992 - INFO: epoch: 2235 +23-06-28 23:28:24.992 - INFO: iters: 5597692 +23-06-28 23:31:13.052 - INFO: train/mse_loss: 0.0012247119336567533 +23-06-28 23:31:13.053 - INFO: epoch: 2236 +23-06-28 23:31:13.053 - INFO: iters: 5600196 +23-06-28 23:34:01.250 - INFO: train/mse_loss: 0.0011661449371399685 +23-06-28 23:34:01.251 - INFO: epoch: 2237 +23-06-28 23:34:01.251 - INFO: iters: 5602700 +23-06-28 23:36:48.983 - INFO: train/mse_loss: 0.0011772144161471235 +23-06-28 23:36:48.983 - INFO: epoch: 2238 +23-06-28 23:36:48.983 - INFO: iters: 5605204 +23-06-28 23:39:36.435 - INFO: train/mse_loss: 0.0011338118183688401 +23-06-28 23:39:36.437 - INFO: epoch: 2239 +23-06-28 23:39:36.437 - INFO: iters: 5607708 +23-06-28 23:42:24.351 - INFO: train/mse_loss: 0.0011764209364732792 +23-06-28 23:42:24.351 - INFO: epoch: 2240 +23-06-28 23:42:24.351 - INFO: iters: 5610212 +23-06-28 23:45:11.833 - INFO: train/mse_loss: 0.0011709332428932095 +23-06-28 23:45:11.834 - INFO: epoch: 2241 +23-06-28 23:45:11.834 - INFO: iters: 5612716 +23-06-28 23:47:59.506 - INFO: train/mse_loss: 0.001215246384412931 +23-06-28 23:47:59.507 - INFO: epoch: 2242 +23-06-28 23:47:59.507 - INFO: iters: 5615220 +23-06-28 23:50:47.478 - INFO: train/mse_loss: 0.001182548670055785 +23-06-28 23:50:47.478 - INFO: epoch: 2243 +23-06-28 23:50:47.478 - INFO: iters: 5617724 +23-06-28 23:53:35.210 - INFO: train/mse_loss: 0.0011657356016208438 +23-06-28 23:53:35.211 - INFO: epoch: 2244 +23-06-28 23:53:35.211 - INFO: iters: 5620228 +23-06-28 23:56:22.963 - INFO: train/mse_loss: 0.0012079703107553596 +23-06-28 23:56:22.966 - INFO: epoch: 2245 +23-06-28 23:56:22.966 - INFO: iters: 5622732 +23-06-28 23:59:11.141 - INFO: train/mse_loss: 0.0011894374623888742 +23-06-28 23:59:11.141 - INFO: epoch: 2246 +23-06-28 23:59:11.142 - INFO: iters: 5625236 +23-06-29 00:01:59.423 - INFO: train/mse_loss: 0.0012072672008926542 +23-06-29 00:01:59.424 - INFO: epoch: 2247 +23-06-29 00:01:59.424 - INFO: iters: 5627740 +23-06-29 00:04:47.451 - INFO: train/mse_loss: 0.0011789509371040573 +23-06-29 00:04:47.452 - INFO: epoch: 2248 +23-06-29 00:04:47.452 - INFO: iters: 5630244 +23-06-29 00:07:35.352 - INFO: train/mse_loss: 0.0012185676220489053 +23-06-29 00:07:35.352 - INFO: epoch: 2249 +23-06-29 00:07:35.353 - INFO: iters: 5632748 +23-06-29 00:10:23.407 - INFO: train/mse_loss: 0.0011558442068964649 +23-06-29 00:10:23.408 - INFO: epoch: 2250 +23-06-29 00:10:23.408 - INFO: iters: 5635252 +23-06-29 00:13:11.731 - INFO: train/mse_loss: 0.0011570054910163552 +23-06-29 00:13:11.731 - INFO: epoch: 2251 +23-06-29 00:13:11.733 - INFO: iters: 5637756 +23-06-29 00:15:59.515 - INFO: train/mse_loss: 0.0011917208561289924 +23-06-29 00:15:59.516 - INFO: epoch: 2252 +23-06-29 00:15:59.517 - INFO: iters: 5640260 +23-06-29 00:18:47.179 - INFO: train/mse_loss: 0.0011761996227639398 +23-06-29 00:18:47.180 - INFO: epoch: 2253 +23-06-29 00:18:47.180 - INFO: iters: 5642764 +23-06-29 00:21:35.365 - INFO: train/mse_loss: 0.0011553253196313763 +23-06-29 00:21:35.365 - INFO: epoch: 2254 +23-06-29 00:21:35.365 - INFO: iters: 5645268 +23-06-29 00:24:23.102 - INFO: train/mse_loss: 0.001176935941027031 +23-06-29 00:24:23.103 - INFO: epoch: 2255 +23-06-29 00:24:23.103 - INFO: iters: 5647772 +23-06-29 00:27:11.259 - INFO: train/mse_loss: 0.0011645131080542295 +23-06-29 00:27:11.259 - INFO: epoch: 2256 +23-06-29 00:27:11.259 - INFO: iters: 5650276 +23-06-29 00:29:59.057 - INFO: train/mse_loss: 0.0011959583945788097 +23-06-29 00:29:59.058 - INFO: epoch: 2257 +23-06-29 00:29:59.058 - INFO: iters: 5652780 +23-06-29 00:32:46.795 - INFO: train/mse_loss: 0.0011719665041910454 +23-06-29 00:32:46.795 - INFO: epoch: 2258 +23-06-29 00:32:46.796 - INFO: iters: 5655284 +23-06-29 00:35:34.724 - INFO: train/mse_loss: 0.0011886802923005706 +23-06-29 00:35:34.725 - INFO: epoch: 2259 +23-06-29 00:35:34.725 - INFO: iters: 5657788 +23-06-29 00:38:22.691 - INFO: train/mse_loss: 0.0011712493726049368 +23-06-29 00:38:22.692 - INFO: epoch: 2260 +23-06-29 00:38:22.692 - INFO: iters: 5660292 +23-06-29 00:41:10.454 - INFO: train/mse_loss: 0.0012007109958830232 +23-06-29 00:41:10.455 - INFO: epoch: 2261 +23-06-29 00:41:10.455 - INFO: iters: 5662796 +23-06-29 00:43:58.021 - INFO: train/mse_loss: 0.0011988915289163043 +23-06-29 00:43:58.021 - INFO: epoch: 2262 +23-06-29 00:43:58.021 - INFO: iters: 5665300 +23-06-29 00:46:46.414 - INFO: train/mse_loss: 0.0012369931957419641 +23-06-29 00:46:46.415 - INFO: epoch: 2263 +23-06-29 00:46:46.415 - INFO: iters: 5667804 +23-06-29 00:49:34.518 - INFO: train/mse_loss: 0.0011264680648228516 +23-06-29 00:49:34.519 - INFO: epoch: 2264 +23-06-29 00:49:34.519 - INFO: iters: 5670308 +23-06-29 00:52:22.574 - INFO: train/mse_loss: 0.0011735559966877852 +23-06-29 00:52:22.575 - INFO: epoch: 2265 +23-06-29 00:52:22.575 - INFO: iters: 5672812 +23-06-29 00:55:10.323 - INFO: train/mse_loss: 0.0012184520336292006 +23-06-29 00:55:10.324 - INFO: epoch: 2266 +23-06-29 00:55:10.324 - INFO: iters: 5675316 +23-06-29 00:57:57.981 - INFO: train/mse_loss: 0.0011786868497833444 +23-06-29 00:57:57.982 - INFO: epoch: 2267 +23-06-29 00:57:57.983 - INFO: iters: 5677820 +23-06-29 01:00:45.736 - INFO: train/mse_loss: 0.0011285314497838433 +23-06-29 01:00:45.737 - INFO: epoch: 2268 +23-06-29 01:00:45.737 - INFO: iters: 5680324 +23-06-29 01:03:33.409 - INFO: train/mse_loss: 0.0011886773526277273 +23-06-29 01:03:33.409 - INFO: epoch: 2269 +23-06-29 01:03:33.410 - INFO: iters: 5682828 +23-06-29 01:06:21.048 - INFO: train/mse_loss: 0.0012133864885993516 +23-06-29 01:06:21.048 - INFO: epoch: 2270 +23-06-29 01:06:21.048 - INFO: iters: 5685332 +23-06-29 01:09:08.900 - INFO: train/mse_loss: 0.001171510744343003 +23-06-29 01:09:08.900 - INFO: epoch: 2271 +23-06-29 01:09:08.901 - INFO: iters: 5687836 +23-06-29 01:11:56.751 - INFO: train/mse_loss: 0.0011921600488307602 +23-06-29 01:11:56.751 - INFO: epoch: 2272 +23-06-29 01:11:56.751 - INFO: iters: 5690340 +23-06-29 01:14:44.660 - INFO: train/mse_loss: 0.001195102348829212 +23-06-29 01:14:44.661 - INFO: epoch: 2273 +23-06-29 01:14:44.661 - INFO: iters: 5692844 +23-06-29 01:17:32.544 - INFO: train/mse_loss: 0.0011999528078115382 +23-06-29 01:17:32.545 - INFO: epoch: 2274 +23-06-29 01:17:32.546 - INFO: iters: 5695348 +23-06-29 01:20:20.390 - INFO: train/mse_loss: 0.0011792511554820219 +23-06-29 01:20:20.391 - INFO: epoch: 2275 +23-06-29 01:20:20.391 - INFO: iters: 5697852 +23-06-29 01:23:08.410 - INFO: train/mse_loss: 0.0011429313318089794 +23-06-29 01:23:08.411 - INFO: epoch: 2276 +23-06-29 01:23:08.412 - INFO: iters: 5700356 +23-06-29 01:25:56.377 - INFO: train/mse_loss: 0.001161267428425328 +23-06-29 01:25:56.377 - INFO: epoch: 2277 +23-06-29 01:25:56.377 - INFO: iters: 5702860 +23-06-29 01:28:44.087 - INFO: train/mse_loss: 0.0012018280544544395 +23-06-29 01:28:44.088 - INFO: epoch: 2278 +23-06-29 01:28:44.088 - INFO: iters: 5705364 +23-06-29 01:31:31.705 - INFO: train/mse_loss: 0.0011705866195268917 +23-06-29 01:31:31.706 - INFO: epoch: 2279 +23-06-29 01:31:31.706 - INFO: iters: 5707868 +23-06-29 01:34:19.379 - INFO: train/mse_loss: 0.0012127851683143586 +23-06-29 01:34:19.379 - INFO: epoch: 2280 +23-06-29 01:34:19.380 - INFO: iters: 5710372 +23-06-29 01:37:07.054 - INFO: train/mse_loss: 0.0011974269709811686 +23-06-29 01:37:07.056 - INFO: epoch: 2281 +23-06-29 01:37:07.056 - INFO: iters: 5712876 +23-06-29 01:39:54.797 - INFO: train/mse_loss: 0.0011400948973192564 +23-06-29 01:39:54.797 - INFO: epoch: 2282 +23-06-29 01:39:54.798 - INFO: iters: 5715380 +23-06-29 01:42:42.536 - INFO: train/mse_loss: 0.001164939895457478 +23-06-29 01:42:42.537 - INFO: epoch: 2283 +23-06-29 01:42:42.537 - INFO: iters: 5717884 +23-06-29 01:45:30.470 - INFO: train/mse_loss: 0.0011472242289987473 +23-06-29 01:45:30.472 - INFO: epoch: 2284 +23-06-29 01:45:30.472 - INFO: iters: 5720388 +23-06-29 01:48:17.905 - INFO: train/mse_loss: 0.001169924513706878 +23-06-29 01:48:17.906 - INFO: epoch: 2285 +23-06-29 01:48:17.906 - INFO: iters: 5722892 +23-06-29 01:51:05.493 - INFO: train/mse_loss: 0.0011526450319342112 +23-06-29 01:51:05.493 - INFO: epoch: 2286 +23-06-29 01:51:05.493 - INFO: iters: 5725396 +23-06-29 01:53:53.022 - INFO: train/mse_loss: 0.0011433186012315757 +23-06-29 01:53:53.023 - INFO: epoch: 2287 +23-06-29 01:53:53.023 - INFO: iters: 5727900 +23-06-29 01:56:40.597 - INFO: train/mse_loss: 0.0011469653771130944 +23-06-29 01:56:40.598 - INFO: epoch: 2288 +23-06-29 01:56:40.598 - INFO: iters: 5730404 +23-06-29 01:59:28.389 - INFO: train/mse_loss: 0.0011553934680635686 +23-06-29 01:59:28.390 - INFO: epoch: 2289 +23-06-29 01:59:28.390 - INFO: iters: 5732908 +23-06-29 02:02:16.034 - INFO: train/mse_loss: 0.00121990998759836 +23-06-29 02:02:16.035 - INFO: epoch: 2290 +23-06-29 02:02:16.035 - INFO: iters: 5735412 +23-06-29 02:05:03.705 - INFO: train/mse_loss: 0.0011546926410383762 +23-06-29 02:05:03.705 - INFO: epoch: 2291 +23-06-29 02:05:03.705 - INFO: iters: 5737916 +23-06-29 02:07:51.261 - INFO: train/mse_loss: 0.0011595068293022582 +23-06-29 02:07:51.262 - INFO: epoch: 2292 +23-06-29 02:07:51.262 - INFO: iters: 5740420 +23-06-29 02:10:38.900 - INFO: train/mse_loss: 0.0011591782917814574 +23-06-29 02:10:38.900 - INFO: epoch: 2293 +23-06-29 02:10:38.900 - INFO: iters: 5742924 +23-06-29 02:13:26.441 - INFO: train/mse_loss: 0.0011887940850232343 +23-06-29 02:13:26.441 - INFO: epoch: 2294 +23-06-29 02:13:26.442 - INFO: iters: 5745428 +23-06-29 02:16:14.319 - INFO: train/mse_loss: 0.0011534428833195338 +23-06-29 02:16:14.319 - INFO: epoch: 2295 +23-06-29 02:16:14.319 - INFO: iters: 5747932 +23-06-29 02:19:01.950 - INFO: train/mse_loss: 0.0011697644918276288 +23-06-29 02:19:01.951 - INFO: epoch: 2296 +23-06-29 02:19:01.951 - INFO: iters: 5750436 +23-06-29 02:21:49.472 - INFO: train/mse_loss: 0.0011532362623954007 +23-06-29 02:21:49.473 - INFO: epoch: 2297 +23-06-29 02:21:49.473 - INFO: iters: 5752940 +23-06-29 02:24:37.154 - INFO: train/mse_loss: 0.0011416445422088935 +23-06-29 02:24:37.155 - INFO: epoch: 2298 +23-06-29 02:24:37.155 - INFO: iters: 5755444 +23-06-29 02:27:24.830 - INFO: train/mse_loss: 0.001145824619097272 +23-06-29 02:27:24.831 - INFO: epoch: 2299 +23-06-29 02:27:24.831 - INFO: iters: 5757948 +23-06-29 02:30:12.207 - INFO: train/mse_loss: 0.0011697538494029806 +23-06-29 02:30:12.207 - INFO: epoch: 2300 +23-06-29 02:30:12.207 - INFO: iters: 5760452 +23-06-29 02:33:00.016 - INFO: train/mse_loss: 0.0011508372957638195 +23-06-29 02:33:00.017 - INFO: epoch: 2301 +23-06-29 02:33:00.017 - INFO: iters: 5762956 +23-06-29 02:35:48.049 - INFO: train/mse_loss: 0.0011696119085341074 +23-06-29 02:35:48.050 - INFO: epoch: 2302 +23-06-29 02:35:48.050 - INFO: iters: 5765460 +23-06-29 02:38:35.634 - INFO: train/mse_loss: 0.0011475091988292223 +23-06-29 02:38:35.637 - INFO: epoch: 2303 +23-06-29 02:38:35.637 - INFO: iters: 5767964 +23-06-29 02:41:23.106 - INFO: train/mse_loss: 0.0011519097100821333 +23-06-29 02:41:23.106 - INFO: epoch: 2304 +23-06-29 02:41:23.106 - INFO: iters: 5770468 +23-06-29 02:44:11.305 - INFO: train/mse_loss: 0.0012072957117674342 +23-06-29 02:44:11.306 - INFO: epoch: 2305 +23-06-29 02:44:11.306 - INFO: iters: 5772972 +23-06-29 02:46:58.931 - INFO: train/mse_loss: 0.0011391740517516713 +23-06-29 02:46:58.932 - INFO: epoch: 2306 +23-06-29 02:46:58.932 - INFO: iters: 5775476 +23-06-29 02:49:46.531 - INFO: train/mse_loss: 0.001193856443974008 +23-06-29 02:49:46.531 - INFO: epoch: 2307 +23-06-29 02:49:46.532 - INFO: iters: 5777980 +23-06-29 02:52:33.957 - INFO: train/mse_loss: 0.0011427400610632837 +23-06-29 02:52:33.958 - INFO: epoch: 2308 +23-06-29 02:52:33.958 - INFO: iters: 5780484 +23-06-29 02:55:21.434 - INFO: train/mse_loss: 0.0011219397917525253 +23-06-29 02:55:21.435 - INFO: epoch: 2309 +23-06-29 02:55:21.435 - INFO: iters: 5782988 +23-06-29 02:58:08.959 - INFO: train/mse_loss: 0.001165643108624834 +23-06-29 02:58:08.960 - INFO: epoch: 2310 +23-06-29 02:58:08.960 - INFO: iters: 5785492 +23-06-29 03:00:56.434 - INFO: train/mse_loss: 0.0011552186917510633 +23-06-29 03:00:56.435 - INFO: epoch: 2311 +23-06-29 03:00:56.436 - INFO: iters: 5787996 +23-06-29 03:03:44.079 - INFO: train/mse_loss: 0.0011243675056229027 +23-06-29 03:03:44.081 - INFO: epoch: 2312 +23-06-29 03:03:44.081 - INFO: iters: 5790500 +23-06-29 03:06:31.830 - INFO: train/mse_loss: 0.001153507279217267 +23-06-29 03:06:31.831 - INFO: epoch: 2313 +23-06-29 03:06:31.831 - INFO: iters: 5793004 +23-06-29 03:09:19.435 - INFO: train/mse_loss: 0.001191387258354015 +23-06-29 03:09:19.435 - INFO: epoch: 2314 +23-06-29 03:09:19.435 - INFO: iters: 5795508 +23-06-29 03:12:06.922 - INFO: train/mse_loss: 0.0011679025288982192 +23-06-29 03:12:06.923 - INFO: epoch: 2315 +23-06-29 03:12:06.923 - INFO: iters: 5798012 +23-06-29 03:14:54.485 - INFO: train/mse_loss: 0.0011599931870393764 +23-06-29 03:14:54.487 - INFO: epoch: 2316 +23-06-29 03:14:54.487 - INFO: iters: 5800516 +23-06-29 03:17:42.314 - INFO: train/mse_loss: 0.0011520964708499099 +23-06-29 03:17:42.315 - INFO: epoch: 2317 +23-06-29 03:17:42.315 - INFO: iters: 5803020 +23-06-29 03:20:29.751 - INFO: train/mse_loss: 0.0011384647210149433 +23-06-29 03:20:29.752 - INFO: epoch: 2318 +23-06-29 03:20:29.752 - INFO: iters: 5805524 +23-06-29 03:23:17.397 - INFO: train/mse_loss: 0.0011419412329794463 +23-06-29 03:23:17.397 - INFO: epoch: 2319 +23-06-29 03:23:17.397 - INFO: iters: 5808028 +23-06-29 03:26:04.932 - INFO: train/mse_loss: 0.001212902099508554 +23-06-29 03:26:04.933 - INFO: epoch: 2320 +23-06-29 03:26:04.933 - INFO: iters: 5810532 +23-06-29 03:28:52.965 - INFO: train/mse_loss: 0.0011510973031552264 +23-06-29 03:28:52.966 - INFO: epoch: 2321 +23-06-29 03:28:52.966 - INFO: iters: 5813036 +23-06-29 03:31:40.346 - INFO: train/mse_loss: 0.0011891800491436839 +23-06-29 03:31:40.346 - INFO: epoch: 2322 +23-06-29 03:31:40.347 - INFO: iters: 5815540 +23-06-29 03:34:27.681 - INFO: train/mse_loss: 0.0011662235694599693 +23-06-29 03:34:27.682 - INFO: epoch: 2323 +23-06-29 03:34:27.683 - INFO: iters: 5818044 +23-06-29 03:37:15.491 - INFO: train/mse_loss: 0.0011260379060244444 +23-06-29 03:37:15.492 - INFO: epoch: 2324 +23-06-29 03:37:15.492 - INFO: iters: 5820548 +23-06-29 03:40:03.097 - INFO: train/mse_loss: 0.001087657182002083 +23-06-29 03:40:03.097 - INFO: epoch: 2325 +23-06-29 03:40:03.097 - INFO: iters: 5823052 +23-06-29 03:42:50.903 - INFO: train/mse_loss: 0.0011433327030137587 +23-06-29 03:42:50.903 - INFO: epoch: 2326 +23-06-29 03:42:50.903 - INFO: iters: 5825556 +23-06-29 03:45:38.805 - INFO: train/mse_loss: 0.0011384245686079807 +23-06-29 03:45:38.806 - INFO: epoch: 2327 +23-06-29 03:45:38.806 - INFO: iters: 5828060 +23-06-29 03:48:26.489 - INFO: train/mse_loss: 0.0011452219534342507 +23-06-29 03:48:26.490 - INFO: epoch: 2328 +23-06-29 03:48:26.490 - INFO: iters: 5830564 +23-06-29 03:51:14.150 - INFO: train/mse_loss: 0.0011366632451435712 +23-06-29 03:51:14.151 - INFO: epoch: 2329 +23-06-29 03:51:14.151 - INFO: iters: 5833068 +23-06-29 03:54:01.741 - INFO: train/mse_loss: 0.001125610517761923 +23-06-29 03:54:01.741 - INFO: epoch: 2330 +23-06-29 03:54:01.741 - INFO: iters: 5835572 +23-06-29 03:56:49.593 - INFO: train/mse_loss: 0.001139102410673857 +23-06-29 03:56:49.594 - INFO: epoch: 2331 +23-06-29 03:56:49.594 - INFO: iters: 5838076 +23-06-29 03:59:37.735 - INFO: train/mse_loss: 0.0011605837319333392 +23-06-29 03:59:37.735 - INFO: epoch: 2332 +23-06-29 03:59:37.736 - INFO: iters: 5840580 +23-06-29 04:02:25.387 - INFO: train/mse_loss: 0.0011371022384887497 +23-06-29 04:02:25.388 - INFO: epoch: 2333 +23-06-29 04:02:25.389 - INFO: iters: 5843084 +23-06-29 04:05:13.103 - INFO: train/mse_loss: 0.0011508709835870482 +23-06-29 04:05:13.103 - INFO: epoch: 2334 +23-06-29 04:05:13.104 - INFO: iters: 5845588 +23-06-29 04:08:00.823 - INFO: train/mse_loss: 0.001131135181110269 +23-06-29 04:08:00.824 - INFO: epoch: 2335 +23-06-29 04:08:00.824 - INFO: iters: 5848092 +23-06-29 04:10:48.542 - INFO: train/mse_loss: 0.0011373862167433522 +23-06-29 04:10:48.543 - INFO: epoch: 2336 +23-06-29 04:10:48.543 - INFO: iters: 5850596 +23-06-29 04:13:36.366 - INFO: train/mse_loss: 0.0012003290229856362 +23-06-29 04:13:36.367 - INFO: epoch: 2337 +23-06-29 04:13:36.367 - INFO: iters: 5853100 +23-06-29 04:16:23.708 - INFO: train/mse_loss: 0.0011554311722154005 +23-06-29 04:16:23.709 - INFO: epoch: 2338 +23-06-29 04:16:23.709 - INFO: iters: 5855604 +23-06-29 04:19:11.202 - INFO: train/mse_loss: 0.0011345040210829186 +23-06-29 04:19:11.203 - INFO: epoch: 2339 +23-06-29 04:19:11.203 - INFO: iters: 5858108 +23-06-29 04:21:58.725 - INFO: train/mse_loss: 0.0011424372287336202 +23-06-29 04:21:58.726 - INFO: epoch: 2340 +23-06-29 04:21:58.726 - INFO: iters: 5860612 +23-06-29 04:24:46.732 - INFO: train/mse_loss: 0.0011651893722833678 +23-06-29 04:24:46.733 - INFO: epoch: 2341 +23-06-29 04:24:46.733 - INFO: iters: 5863116 +23-06-29 04:27:34.533 - INFO: train/mse_loss: 0.001128229213757262 +23-06-29 04:27:34.533 - INFO: epoch: 2342 +23-06-29 04:27:34.533 - INFO: iters: 5865620 +23-06-29 04:30:22.294 - INFO: train/mse_loss: 0.0011122072899019339 +23-06-29 04:30:22.295 - INFO: epoch: 2343 +23-06-29 04:30:22.295 - INFO: iters: 5868124 +23-06-29 04:33:10.192 - INFO: train/mse_loss: 0.0011569438768125261 +23-06-29 04:33:10.193 - INFO: epoch: 2344 +23-06-29 04:33:10.193 - INFO: iters: 5870628 +23-06-29 04:35:57.559 - INFO: train/mse_loss: 0.0011247578292739944 +23-06-29 04:35:57.560 - INFO: epoch: 2345 +23-06-29 04:35:57.560 - INFO: iters: 5873132 +23-06-29 04:38:45.350 - INFO: train/mse_loss: 0.001214183495229723 +23-06-29 04:38:45.350 - INFO: epoch: 2346 +23-06-29 04:38:45.351 - INFO: iters: 5875636 +23-06-29 04:41:32.591 - INFO: train/mse_loss: 0.0012381989312672114 +23-06-29 04:41:32.591 - INFO: epoch: 2347 +23-06-29 04:41:32.592 - INFO: iters: 5878140 +23-06-29 04:44:20.130 - INFO: train/mse_loss: 0.0011508793441040186 +23-06-29 04:44:20.131 - INFO: epoch: 2348 +23-06-29 04:44:20.131 - INFO: iters: 5880644 +23-06-29 04:47:07.648 - INFO: train/mse_loss: 0.0011190468745384983 +23-06-29 04:47:07.649 - INFO: epoch: 2349 +23-06-29 04:47:07.649 - INFO: iters: 5883148 +23-06-29 04:49:55.279 - INFO: train/mse_loss: 0.0011181213385120523 +23-06-29 04:49:55.280 - INFO: epoch: 2350 +23-06-29 04:49:55.280 - INFO: iters: 5885652 +23-06-29 04:52:43.436 - INFO: train/mse_loss: 0.0011316211167023704 +23-06-29 04:52:43.437 - INFO: epoch: 2351 +23-06-29 04:52:43.437 - INFO: iters: 5888156 +23-06-29 04:55:31.022 - INFO: train/mse_loss: 0.001143984928687725 +23-06-29 04:55:31.022 - INFO: epoch: 2352 +23-06-29 04:55:31.023 - INFO: iters: 5890660 +23-06-29 04:58:18.685 - INFO: train/mse_loss: 0.0011489575963278416 +23-06-29 04:58:18.686 - INFO: epoch: 2353 +23-06-29 04:58:18.686 - INFO: iters: 5893164 +23-06-29 05:01:06.455 - INFO: train/mse_loss: 0.0012002953172165949 +23-06-29 05:01:06.456 - INFO: epoch: 2354 +23-06-29 05:01:06.456 - INFO: iters: 5895668 +23-06-29 05:03:54.294 - INFO: train/mse_loss: 0.0011227579299954121 +23-06-29 05:03:54.295 - INFO: epoch: 2355 +23-06-29 05:03:54.295 - INFO: iters: 5898172 +23-06-29 05:06:42.258 - INFO: train/mse_loss: 0.001133974221462128 +23-06-29 05:06:42.259 - INFO: epoch: 2356 +23-06-29 05:06:42.259 - INFO: iters: 5900676 +23-06-29 05:09:30.513 - INFO: train/mse_loss: 0.001122357223715526 +23-06-29 05:09:30.515 - INFO: epoch: 2357 +23-06-29 05:09:30.515 - INFO: iters: 5903180 +23-06-29 05:12:18.629 - INFO: train/mse_loss: 0.0011549846181971803 +23-06-29 05:12:18.630 - INFO: epoch: 2358 +23-06-29 05:12:18.630 - INFO: iters: 5905684 +23-06-29 05:15:07.502 - INFO: train/mse_loss: 0.0011194953006861833 +23-06-29 05:15:07.503 - INFO: epoch: 2359 +23-06-29 05:15:07.503 - INFO: iters: 5908188 +23-06-29 05:17:56.257 - INFO: train/mse_loss: 0.001113402653584471 +23-06-29 05:17:56.258 - INFO: epoch: 2360 +23-06-29 05:17:56.258 - INFO: iters: 5910692 +23-06-29 05:20:45.156 - INFO: train/mse_loss: 0.001119968787649462 +23-06-29 05:20:45.157 - INFO: epoch: 2361 +23-06-29 05:20:45.157 - INFO: iters: 5913196 +23-06-29 05:23:32.864 - INFO: train/mse_loss: 0.001139642601198972 +23-06-29 05:23:32.865 - INFO: epoch: 2362 +23-06-29 05:23:32.865 - INFO: iters: 5915700 +23-06-29 05:26:20.402 - INFO: train/mse_loss: 0.001144247873613355 +23-06-29 05:26:20.402 - INFO: epoch: 2363 +23-06-29 05:26:20.403 - INFO: iters: 5918204 +23-06-29 05:29:07.891 - INFO: train/mse_loss: 0.0011113526368589578 +23-06-29 05:29:07.892 - INFO: epoch: 2364 +23-06-29 05:29:07.892 - INFO: iters: 5920708 +23-06-29 05:31:55.143 - INFO: train/mse_loss: 0.001126433415457416 +23-06-29 05:31:55.144 - INFO: epoch: 2365 +23-06-29 05:31:55.144 - INFO: iters: 5923212 +23-06-29 05:34:42.584 - INFO: train/mse_loss: 0.001147769857755901 +23-06-29 05:34:42.584 - INFO: epoch: 2366 +23-06-29 05:34:42.585 - INFO: iters: 5925716 +23-06-29 05:37:30.494 - INFO: train/mse_loss: 0.00115940982260899 +23-06-29 05:37:30.495 - INFO: epoch: 2367 +23-06-29 05:37:30.495 - INFO: iters: 5928220 +23-06-29 05:40:17.999 - INFO: train/mse_loss: 0.0011381928589732086 +23-06-29 05:40:18.000 - INFO: epoch: 2368 +23-06-29 05:40:18.000 - INFO: iters: 5930724 +23-06-29 05:43:05.683 - INFO: train/mse_loss: 0.0011399474634510723 +23-06-29 05:43:05.684 - INFO: epoch: 2369 +23-06-29 05:43:05.684 - INFO: iters: 5933228 +23-06-29 05:45:53.215 - INFO: train/mse_loss: 0.0011098952907228324 +23-06-29 05:45:53.216 - INFO: epoch: 2370 +23-06-29 05:45:53.216 - INFO: iters: 5935732 +23-06-29 05:48:40.737 - INFO: train/mse_loss: 0.001127752728634529 +23-06-29 05:48:40.737 - INFO: epoch: 2371 +23-06-29 05:48:40.737 - INFO: iters: 5938236 +23-06-29 05:51:28.399 - INFO: train/mse_loss: 0.001138388969602224 +23-06-29 05:51:28.399 - INFO: epoch: 2372 +23-06-29 05:51:28.400 - INFO: iters: 5940740 +23-06-29 05:54:16.078 - INFO: train/mse_loss: 0.0012414463132377357 +23-06-29 05:54:16.078 - INFO: epoch: 2373 +23-06-29 05:54:16.079 - INFO: iters: 5943244 +23-06-29 05:57:04.049 - INFO: train/mse_loss: 0.001193533580491361 +23-06-29 05:57:04.049 - INFO: epoch: 2374 +23-06-29 05:57:04.049 - INFO: iters: 5945748 +23-06-29 05:59:51.742 - INFO: train/mse_loss: 0.0011150653757818472 +23-06-29 05:59:51.743 - INFO: epoch: 2375 +23-06-29 05:59:51.743 - INFO: iters: 5948252 +23-06-29 06:02:39.297 - INFO: train/mse_loss: 0.0011313277099225015 +23-06-29 06:02:39.298 - INFO: epoch: 2376 +23-06-29 06:02:39.298 - INFO: iters: 5950756 +23-06-29 06:05:27.091 - INFO: train/mse_loss: 0.0011442952424685021 +23-06-29 06:05:27.092 - INFO: epoch: 2377 +23-06-29 06:05:27.092 - INFO: iters: 5953260 +23-06-29 06:08:14.879 - INFO: train/mse_loss: 0.0011110262577637684 +23-06-29 06:08:14.880 - INFO: epoch: 2378 +23-06-29 06:08:14.881 - INFO: iters: 5955764 +23-06-29 06:11:02.771 - INFO: train/mse_loss: 0.0011251654203299779 +23-06-29 06:11:02.772 - INFO: epoch: 2379 +23-06-29 06:11:02.772 - INFO: iters: 5958268 +23-06-29 06:13:50.802 - INFO: train/mse_loss: 0.001143944278540173 +23-06-29 06:13:50.802 - INFO: epoch: 2380 +23-06-29 06:13:50.803 - INFO: iters: 5960772 +23-06-29 06:16:38.758 - INFO: train/mse_loss: 0.0011318190589200514 +23-06-29 06:16:38.758 - INFO: epoch: 2381 +23-06-29 06:16:38.758 - INFO: iters: 5963276 +23-06-29 06:19:26.450 - INFO: train/mse_loss: 0.001166603844943858 +23-06-29 06:19:26.451 - INFO: epoch: 2382 +23-06-29 06:19:26.451 - INFO: iters: 5965780 +23-06-29 06:22:14.312 - INFO: train/mse_loss: 0.001126978243626773 +23-06-29 06:22:14.312 - INFO: epoch: 2383 +23-06-29 06:22:14.313 - INFO: iters: 5968284 +23-06-29 06:25:02.515 - INFO: train/mse_loss: 0.001114955807019906 +23-06-29 06:25:02.517 - INFO: epoch: 2384 +23-06-29 06:25:02.517 - INFO: iters: 5970788 +23-06-29 06:27:50.070 - INFO: train/mse_loss: 0.0011177086143028408 +23-06-29 06:27:50.070 - INFO: epoch: 2385 +23-06-29 06:27:50.070 - INFO: iters: 5973292 +23-06-29 06:30:37.882 - INFO: train/mse_loss: 0.0013982231329647474 +23-06-29 06:30:37.883 - INFO: epoch: 2386 +23-06-29 06:30:37.883 - INFO: iters: 5975796 +23-06-29 06:33:25.786 - INFO: train/mse_loss: 0.0011823224874522786 +23-06-29 06:33:25.787 - INFO: epoch: 2387 +23-06-29 06:33:25.787 - INFO: iters: 5978300 +23-06-29 06:36:13.610 - INFO: train/mse_loss: 0.0011604447622587102 +23-06-29 06:36:13.610 - INFO: epoch: 2388 +23-06-29 06:36:13.610 - INFO: iters: 5980804 +23-06-29 06:39:01.348 - INFO: train/mse_loss: 0.0011119500886590872 +23-06-29 06:39:01.349 - INFO: epoch: 2389 +23-06-29 06:39:01.349 - INFO: iters: 5983308 +23-06-29 06:41:48.765 - INFO: train/mse_loss: 0.0010819848027666466 +23-06-29 06:41:48.766 - INFO: epoch: 2390 +23-06-29 06:41:48.766 - INFO: iters: 5985812 +23-06-29 06:44:36.353 - INFO: train/mse_loss: 0.0011015698127188206 +23-06-29 06:44:36.354 - INFO: epoch: 2391 +23-06-29 06:44:36.355 - INFO: iters: 5988316 +23-06-29 06:47:24.195 - INFO: train/mse_loss: 0.0011102715793538827 +23-06-29 06:47:24.195 - INFO: epoch: 2392 +23-06-29 06:47:24.195 - INFO: iters: 5990820 +23-06-29 06:50:11.818 - INFO: train/mse_loss: 0.0010998110852602975 +23-06-29 06:50:11.818 - INFO: epoch: 2393 +23-06-29 06:50:11.818 - INFO: iters: 5993324 +23-06-29 06:52:59.837 - INFO: train/mse_loss: 0.0011319723276878163 +23-06-29 06:52:59.838 - INFO: epoch: 2394 +23-06-29 06:52:59.838 - INFO: iters: 5995828 +23-06-29 06:55:47.939 - INFO: train/mse_loss: 0.0010731267952397406 +23-06-29 06:55:47.939 - INFO: epoch: 2395 +23-06-29 06:55:47.940 - INFO: iters: 5998332 +23-06-29 06:58:35.633 - INFO: train/mse_loss: 0.001103189274722252 +23-06-29 06:58:35.633 - INFO: epoch: 2396 +23-06-29 06:58:35.633 - INFO: iters: 6000836 +23-06-29 07:01:23.647 - INFO: train/mse_loss: 0.0010866169399691942 +23-06-29 07:01:23.648 - INFO: epoch: 2397 +23-06-29 07:01:23.648 - INFO: iters: 6003340 +23-06-29 07:04:11.471 - INFO: train/mse_loss: 0.00111710427335639 +23-06-29 07:04:11.472 - INFO: epoch: 2398 +23-06-29 07:04:11.472 - INFO: iters: 6005844 +23-06-29 07:06:59.286 - INFO: train/mse_loss: 0.0011830065584817408 +23-06-29 07:06:59.287 - INFO: epoch: 2399 +23-06-29 07:06:59.287 - INFO: iters: 6008348 +23-06-29 07:09:47.184 - INFO: train/mse_loss: 0.0011196696761468896 +23-06-29 07:09:47.184 - INFO: epoch: 2400 +23-06-29 07:09:47.184 - INFO: iters: 6010852 +23-06-29 07:12:35.119 - INFO: train/mse_loss: 0.0011303477657262605 +23-06-29 07:12:35.119 - INFO: epoch: 2401 +23-06-29 07:12:35.120 - INFO: iters: 6013356 +23-06-29 07:15:22.791 - INFO: train/mse_loss: 0.0011218806417969862 +23-06-29 07:15:22.792 - INFO: epoch: 2402 +23-06-29 07:15:22.792 - INFO: iters: 6015860 +23-06-29 07:18:10.646 - INFO: train/mse_loss: 0.0011177492441799932 +23-06-29 07:18:10.646 - INFO: epoch: 2403 +23-06-29 07:18:10.646 - INFO: iters: 6018364 +23-06-29 07:20:58.335 - INFO: train/mse_loss: 0.0011187574565641213 +23-06-29 07:20:58.336 - INFO: epoch: 2404 +23-06-29 07:20:58.336 - INFO: iters: 6020868 +23-06-29 07:23:46.654 - INFO: train/mse_loss: 0.0011436320465101233 +23-06-29 07:23:46.655 - INFO: epoch: 2405 +23-06-29 07:23:46.655 - INFO: iters: 6023372 +23-06-29 07:26:34.714 - INFO: train/mse_loss: 0.0011186539479077588 +23-06-29 07:26:34.714 - INFO: epoch: 2406 +23-06-29 07:26:34.714 - INFO: iters: 6025876 +23-06-29 07:29:22.216 - INFO: train/mse_loss: 0.0011695306703519708 +23-06-29 07:29:22.216 - INFO: epoch: 2407 +23-06-29 07:29:22.216 - INFO: iters: 6028380 +23-06-29 07:32:09.711 - INFO: train/mse_loss: 0.0011320547527111412 +23-06-29 07:32:09.711 - INFO: epoch: 2408 +23-06-29 07:32:09.711 - INFO: iters: 6030884 +23-06-29 07:34:57.226 - INFO: train/mse_loss: 0.0011406671958782088 +23-06-29 07:34:57.227 - INFO: epoch: 2409 +23-06-29 07:34:57.227 - INFO: iters: 6033388 +23-06-29 07:37:44.987 - INFO: train/mse_loss: 0.001132932757440294 +23-06-29 07:37:44.989 - INFO: epoch: 2410 +23-06-29 07:37:44.989 - INFO: iters: 6035892 +23-06-29 07:40:32.866 - INFO: train/mse_loss: 0.001105402586903548 +23-06-29 07:40:32.867 - INFO: epoch: 2411 +23-06-29 07:40:32.867 - INFO: iters: 6038396 +23-06-29 07:43:20.856 - INFO: train/mse_loss: 0.001116728497064336 +23-06-29 07:43:20.857 - INFO: epoch: 2412 +23-06-29 07:43:20.857 - INFO: iters: 6040900 +23-06-29 07:46:09.400 - INFO: train/mse_loss: 0.0011443807140956767 +23-06-29 07:46:09.402 - INFO: epoch: 2413 +23-06-29 07:46:09.402 - INFO: iters: 6043404 +23-06-29 07:48:57.499 - INFO: train/mse_loss: 0.0011443401613018323 +23-06-29 07:48:57.500 - INFO: epoch: 2414 +23-06-29 07:48:57.501 - INFO: iters: 6045908 +23-06-29 07:51:45.786 - INFO: train/mse_loss: 0.0011402864403205926 +23-06-29 07:51:45.787 - INFO: epoch: 2415 +23-06-29 07:51:45.787 - INFO: iters: 6048412 +23-06-29 07:54:33.742 - INFO: train/mse_loss: 0.0011222840034062216 +23-06-29 07:54:33.743 - INFO: epoch: 2416 +23-06-29 07:54:33.743 - INFO: iters: 6050916 +23-06-29 07:57:21.716 - INFO: train/mse_loss: 0.001108203842951812 +23-06-29 07:57:21.717 - INFO: epoch: 2417 +23-06-29 07:57:21.717 - INFO: iters: 6053420 +23-06-29 08:00:10.033 - INFO: train/mse_loss: 0.0011655415426724005 +23-06-29 08:00:10.034 - INFO: epoch: 2418 +23-06-29 08:00:10.034 - INFO: iters: 6055924 +23-06-29 08:02:58.432 - INFO: train/mse_loss: 0.0011435769986139592 +23-06-29 08:02:58.433 - INFO: epoch: 2419 +23-06-29 08:02:58.433 - INFO: iters: 6058428 +23-06-29 08:05:47.211 - INFO: train/mse_loss: 0.0011411799709669674 +23-06-29 08:05:47.211 - INFO: epoch: 2420 +23-06-29 08:05:47.212 - INFO: iters: 6060932 +23-06-29 08:08:35.557 - INFO: train/mse_loss: 0.001124402538452226 +23-06-29 08:08:35.558 - INFO: epoch: 2421 +23-06-29 08:08:35.558 - INFO: iters: 6063436 +23-06-29 08:11:23.337 - INFO: train/mse_loss: 0.0010796389568555422 +23-06-29 08:11:23.338 - INFO: epoch: 2422 +23-06-29 08:11:23.338 - INFO: iters: 6065940 +23-06-29 08:14:11.680 - INFO: train/mse_loss: 0.0011158065097525525 +23-06-29 08:14:11.681 - INFO: epoch: 2423 +23-06-29 08:14:11.681 - INFO: iters: 6068444 +23-06-29 08:16:59.577 - INFO: train/mse_loss: 0.0010914943416598447 +23-06-29 08:16:59.578 - INFO: epoch: 2424 +23-06-29 08:16:59.578 - INFO: iters: 6070948 +23-06-29 08:19:47.552 - INFO: train/mse_loss: 0.0011600090990240236 +23-06-29 08:19:47.553 - INFO: epoch: 2425 +23-06-29 08:19:47.553 - INFO: iters: 6073452 +23-06-29 08:22:35.302 - INFO: train/mse_loss: 0.0010835300009071338 +23-06-29 08:22:35.302 - INFO: epoch: 2426 +23-06-29 08:22:35.302 - INFO: iters: 6075956 +23-06-29 08:25:23.248 - INFO: train/mse_loss: 0.0010942475534209345 +23-06-29 08:25:23.249 - INFO: epoch: 2427 +23-06-29 08:25:23.249 - INFO: iters: 6078460 +23-06-29 08:28:11.028 - INFO: train/mse_loss: 0.001104878143596347 +23-06-29 08:28:11.028 - INFO: epoch: 2428 +23-06-29 08:28:11.029 - INFO: iters: 6080964 +23-06-29 08:30:59.249 - INFO: train/mse_loss: 0.00109290142464392 +23-06-29 08:30:59.250 - INFO: epoch: 2429 +23-06-29 08:30:59.250 - INFO: iters: 6083468 +23-06-29 08:33:46.958 - INFO: train/mse_loss: 0.0010897501079088893 +23-06-29 08:33:46.959 - INFO: epoch: 2430 +23-06-29 08:33:46.959 - INFO: iters: 6085972 +23-06-29 08:36:34.676 - INFO: train/mse_loss: 0.0011321661216333306 +23-06-29 08:36:34.677 - INFO: epoch: 2431 +23-06-29 08:36:34.677 - INFO: iters: 6088476 +23-06-29 08:39:22.718 - INFO: train/mse_loss: 0.0011203014277875389 +23-06-29 08:39:22.719 - INFO: epoch: 2432 +23-06-29 08:39:22.719 - INFO: iters: 6090980 +23-06-29 08:42:10.720 - INFO: train/mse_loss: 0.0011461925637624123 +23-06-29 08:42:10.720 - INFO: epoch: 2433 +23-06-29 08:42:10.720 - INFO: iters: 6093484 +23-06-29 08:44:58.482 - INFO: train/mse_loss: 0.0011524788262813497 +23-06-29 08:44:58.483 - INFO: epoch: 2434 +23-06-29 08:44:58.483 - INFO: iters: 6095988 +23-06-29 08:47:46.357 - INFO: train/mse_loss: 0.0011205542189167282 +23-06-29 08:47:46.358 - INFO: epoch: 2435 +23-06-29 08:47:46.358 - INFO: iters: 6098492 +23-06-29 08:50:34.125 - INFO: train/mse_loss: 0.0010985878099815344 +23-06-29 08:50:34.126 - INFO: epoch: 2436 +23-06-29 08:50:34.126 - INFO: iters: 6100996 +23-06-29 08:53:21.795 - INFO: train/mse_loss: 0.0010993729843705976 +23-06-29 08:53:21.795 - INFO: epoch: 2437 +23-06-29 08:53:21.796 - INFO: iters: 6103500 +23-06-29 08:56:09.907 - INFO: train/mse_loss: 0.0010934540479906653 +23-06-29 08:56:09.907 - INFO: epoch: 2438 +23-06-29 08:56:09.907 - INFO: iters: 6106004 +23-06-29 08:58:57.583 - INFO: train/mse_loss: 0.0011109186253828792 +23-06-29 08:58:57.583 - INFO: epoch: 2439 +23-06-29 08:58:57.584 - INFO: iters: 6108508 +23-06-29 09:01:45.536 - INFO: train/mse_loss: 0.0011065231399802556 +23-06-29 09:01:45.537 - INFO: epoch: 2440 +23-06-29 09:01:45.537 - INFO: iters: 6111012 +23-06-29 09:04:33.348 - INFO: train/mse_loss: 0.0010754356762177099 +23-06-29 09:04:33.349 - INFO: epoch: 2441 +23-06-29 09:04:33.349 - INFO: iters: 6113516 +23-06-29 09:07:21.349 - INFO: train/mse_loss: 0.0011167393577212212 +23-06-29 09:07:21.349 - INFO: epoch: 2442 +23-06-29 09:07:21.349 - INFO: iters: 6116020 +23-06-29 09:10:08.880 - INFO: train/mse_loss: 0.001075007064943425 +23-06-29 09:10:08.880 - INFO: epoch: 2443 +23-06-29 09:10:08.880 - INFO: iters: 6118524 +23-06-29 09:12:56.473 - INFO: train/mse_loss: 0.0010744046205810954 +23-06-29 09:12:56.474 - INFO: epoch: 2444 +23-06-29 09:12:56.474 - INFO: iters: 6121028 +23-06-29 09:15:44.262 - INFO: train/mse_loss: 0.001126078783237664 +23-06-29 09:15:44.263 - INFO: epoch: 2445 +23-06-29 09:15:44.263 - INFO: iters: 6123532 +23-06-29 09:18:33.066 - INFO: train/mse_loss: 0.0012417961383973377 +23-06-29 09:18:33.067 - INFO: epoch: 2446 +23-06-29 09:18:33.067 - INFO: iters: 6126036 +23-06-29 09:21:20.906 - INFO: train/mse_loss: 0.0011406690659620368 +23-06-29 09:21:20.907 - INFO: epoch: 2447 +23-06-29 09:21:20.907 - INFO: iters: 6128540 +23-06-29 09:24:08.834 - INFO: train/mse_loss: 0.0011034883623280691 +23-06-29 09:24:08.834 - INFO: epoch: 2448 +23-06-29 09:24:08.835 - INFO: iters: 6131044 +23-06-29 09:26:56.710 - INFO: train/mse_loss: 0.001085040843602978 +23-06-29 09:26:56.710 - INFO: epoch: 2449 +23-06-29 09:26:56.710 - INFO: iters: 6133548 +23-06-29 09:29:44.762 - INFO: train/mse_loss: 0.0011108187989654621 +23-06-29 09:29:44.762 - INFO: epoch: 2450 +23-06-29 09:29:44.763 - INFO: iters: 6136052 +23-06-29 09:32:32.403 - INFO: train/mse_loss: 0.0010996818356141568 +23-06-29 09:32:32.404 - INFO: epoch: 2451 +23-06-29 09:32:32.405 - INFO: iters: 6138556 +23-06-29 09:35:20.425 - INFO: train/mse_loss: 0.0010716602163085827 +23-06-29 09:35:20.426 - INFO: epoch: 2452 +23-06-29 09:35:20.426 - INFO: iters: 6141060 +23-06-29 09:38:08.618 - INFO: train/mse_loss: 0.0011134807550617623 +23-06-29 09:38:08.619 - INFO: epoch: 2453 +23-06-29 09:38:08.619 - INFO: iters: 6143564 +23-06-29 09:40:56.594 - INFO: train/mse_loss: 0.0011046161929431102 +23-06-29 09:40:56.594 - INFO: epoch: 2454 +23-06-29 09:40:56.594 - INFO: iters: 6146068 +23-06-29 09:43:44.703 - INFO: train/mse_loss: 0.001126445115662177 +23-06-29 09:43:44.703 - INFO: epoch: 2455 +23-06-29 09:43:44.703 - INFO: iters: 6148572 +23-06-29 09:46:32.405 - INFO: train/mse_loss: 0.001079277761024646 +23-06-29 09:46:32.406 - INFO: epoch: 2456 +23-06-29 09:46:32.406 - INFO: iters: 6151076 +23-06-29 09:49:20.956 - INFO: train/mse_loss: 0.001092241531923806 +23-06-29 09:49:20.957 - INFO: epoch: 2457 +23-06-29 09:49:20.957 - INFO: iters: 6153580 +23-06-29 09:52:08.675 - INFO: train/mse_loss: 0.001148308102322665 +23-06-29 09:52:08.676 - INFO: epoch: 2458 +23-06-29 09:52:08.676 - INFO: iters: 6156084 +23-06-29 09:54:56.462 - INFO: train/mse_loss: 0.0011135608594032963 +23-06-29 09:54:56.463 - INFO: epoch: 2459 +23-06-29 09:54:56.463 - INFO: iters: 6158588 +23-06-29 09:57:44.726 - INFO: train/mse_loss: 0.0011691824830964374 +23-06-29 09:57:44.728 - INFO: epoch: 2460 +23-06-29 09:57:44.728 - INFO: iters: 6161092 +23-06-29 10:00:33.173 - INFO: train/mse_loss: 0.001127646907664889 +23-06-29 10:00:33.174 - INFO: epoch: 2461 +23-06-29 10:00:33.175 - INFO: iters: 6163596 +23-06-29 10:03:22.073 - INFO: train/mse_loss: 0.0011032831393176328 +23-06-29 10:03:22.073 - INFO: epoch: 2462 +23-06-29 10:03:22.073 - INFO: iters: 6166100 +23-06-29 10:06:10.002 - INFO: train/mse_loss: 0.0010466569383366824 +23-06-29 10:06:10.002 - INFO: epoch: 2463 +23-06-29 10:06:10.003 - INFO: iters: 6168604 +23-06-29 10:08:58.147 - INFO: train/mse_loss: 0.0010888386323799591 +23-06-29 10:08:58.147 - INFO: epoch: 2464 +23-06-29 10:08:58.147 - INFO: iters: 6171108 +23-06-29 10:11:46.457 - INFO: train/mse_loss: 0.0011126375035605967 +23-06-29 10:11:46.457 - INFO: epoch: 2465 +23-06-29 10:11:46.458 - INFO: iters: 6173612 +23-06-29 10:14:34.618 - INFO: train/mse_loss: 0.001123767370226445 +23-06-29 10:14:34.619 - INFO: epoch: 2466 +23-06-29 10:14:34.620 - INFO: iters: 6176116 +23-06-29 10:17:22.961 - INFO: train/mse_loss: 0.0010886728789057797 +23-06-29 10:17:22.962 - INFO: epoch: 2467 +23-06-29 10:17:22.962 - INFO: iters: 6178620 +23-06-29 10:20:11.752 - INFO: train/mse_loss: 0.001104533246747358 +23-06-29 10:20:11.753 - INFO: epoch: 2468 +23-06-29 10:20:11.753 - INFO: iters: 6181124 +23-06-29 10:22:59.736 - INFO: train/mse_loss: 0.0011007059381318133 +23-06-29 10:22:59.737 - INFO: epoch: 2469 +23-06-29 10:22:59.737 - INFO: iters: 6183628 +23-06-29 10:25:47.950 - INFO: train/mse_loss: 0.00104666309635387 +23-06-29 10:25:47.951 - INFO: epoch: 2470 +23-06-29 10:25:47.951 - INFO: iters: 6186132 +23-06-29 10:28:36.591 - INFO: train/mse_loss: 0.0010742789488464308 +23-06-29 10:28:36.591 - INFO: epoch: 2471 +23-06-29 10:28:36.592 - INFO: iters: 6188636 +23-06-29 10:31:24.804 - INFO: train/mse_loss: 0.0010785667257146917 +23-06-29 10:31:24.805 - INFO: epoch: 2472 +23-06-29 10:31:24.805 - INFO: iters: 6191140 +23-06-29 10:34:12.585 - INFO: train/mse_loss: 0.0010931454728150699 +23-06-29 10:34:12.586 - INFO: epoch: 2473 +23-06-29 10:34:12.587 - INFO: iters: 6193644 +23-06-29 10:37:00.540 - INFO: train/mse_loss: 0.001113324816552208 +23-06-29 10:37:00.540 - INFO: epoch: 2474 +23-06-29 10:37:00.541 - INFO: iters: 6196148 +23-06-29 10:39:48.934 - INFO: train/mse_loss: 0.0011226477505179484 +23-06-29 10:39:48.935 - INFO: epoch: 2475 +23-06-29 10:39:48.935 - INFO: iters: 6198652 +23-06-29 10:42:36.962 - INFO: train/mse_loss: 0.001102278965020243 +23-06-29 10:42:36.962 - INFO: epoch: 2476 +23-06-29 10:42:36.962 - INFO: iters: 6201156 +23-06-29 10:45:24.939 - INFO: train/mse_loss: 0.001095591408193867 +23-06-29 10:45:24.939 - INFO: epoch: 2477 +23-06-29 10:45:24.939 - INFO: iters: 6203660 +23-06-29 10:48:12.994 - INFO: train/mse_loss: 0.0010743996521946008 +23-06-29 10:48:12.995 - INFO: epoch: 2478 +23-06-29 10:48:12.995 - INFO: iters: 6206164 +23-06-29 10:51:00.905 - INFO: train/mse_loss: 0.0010735881773341364 +23-06-29 10:51:00.906 - INFO: epoch: 2479 +23-06-29 10:51:00.906 - INFO: iters: 6208668 +23-06-29 10:53:49.147 - INFO: train/mse_loss: 0.0010717196454005406 +23-06-29 10:53:49.149 - INFO: epoch: 2480 +23-06-29 10:53:49.149 - INFO: iters: 6211172 +23-06-29 10:56:37.051 - INFO: train/mse_loss: 0.0010849716762577693 +23-06-29 10:56:37.052 - INFO: epoch: 2481 +23-06-29 10:56:37.052 - INFO: iters: 6213676 +23-06-29 10:59:24.967 - INFO: train/mse_loss: 0.0011163575859471095 +23-06-29 10:59:24.968 - INFO: epoch: 2482 +23-06-29 10:59:24.968 - INFO: iters: 6216180 +23-06-29 11:02:13.082 - INFO: train/mse_loss: 0.001134281616677313 +23-06-29 11:02:13.083 - INFO: epoch: 2483 +23-06-29 11:02:13.083 - INFO: iters: 6218684 +23-06-29 11:05:01.095 - INFO: train/mse_loss: 0.001058126404489459 +23-06-29 11:05:01.096 - INFO: epoch: 2484 +23-06-29 11:05:01.096 - INFO: iters: 6221188 +23-06-29 11:07:49.224 - INFO: train/mse_loss: 0.0010862141616453532 +23-06-29 11:07:49.224 - INFO: epoch: 2485 +23-06-29 11:07:49.224 - INFO: iters: 6223692 +23-06-29 11:10:37.337 - INFO: train/mse_loss: 0.0010974580162991813 +23-06-29 11:10:37.338 - INFO: epoch: 2486 +23-06-29 11:10:37.338 - INFO: iters: 6226196 +23-06-29 11:13:25.417 - INFO: train/mse_loss: 0.001102749802791082 +23-06-29 11:13:25.418 - INFO: epoch: 2487 +23-06-29 11:13:25.418 - INFO: iters: 6228700 +23-06-29 11:16:13.198 - INFO: train/mse_loss: 0.0010774343651302825 +23-06-29 11:16:13.199 - INFO: epoch: 2488 +23-06-29 11:16:13.199 - INFO: iters: 6231204 +23-06-29 11:19:01.793 - INFO: train/mse_loss: 0.0010833487086840117 +23-06-29 11:19:01.794 - INFO: epoch: 2489 +23-06-29 11:19:01.794 - INFO: iters: 6233708 +23-06-29 11:21:49.724 - INFO: train/mse_loss: 0.001081758482733551 +23-06-29 11:21:49.726 - INFO: epoch: 2490 +23-06-29 11:21:49.726 - INFO: iters: 6236212 +23-06-29 11:24:37.834 - INFO: train/mse_loss: 0.001108033706794103 +23-06-29 11:24:37.834 - INFO: epoch: 2491 +23-06-29 11:24:37.835 - INFO: iters: 6238716 +23-06-29 11:27:26.254 - INFO: train/mse_loss: 0.0010421454663590763 +23-06-29 11:27:26.255 - INFO: epoch: 2492 +23-06-29 11:27:26.255 - INFO: iters: 6241220 +23-06-29 11:30:13.962 - INFO: train/mse_loss: 0.0010693707184816976 +23-06-29 11:30:13.962 - INFO: epoch: 2493 +23-06-29 11:30:13.962 - INFO: iters: 6243724 +23-06-29 11:33:01.902 - INFO: train/mse_loss: 0.0010833107012200554 +23-06-29 11:33:01.902 - INFO: epoch: 2494 +23-06-29 11:33:01.903 - INFO: iters: 6246228 +23-06-29 11:35:49.730 - INFO: train/mse_loss: 0.0011260100822976103 +23-06-29 11:35:49.730 - INFO: epoch: 2495 +23-06-29 11:35:49.732 - INFO: iters: 6248732 +23-06-29 11:38:38.361 - INFO: train/mse_loss: 0.0010770106574330039 +23-06-29 11:38:38.361 - INFO: epoch: 2496 +23-06-29 11:38:38.361 - INFO: iters: 6251236 +23-06-29 11:41:26.515 - INFO: train/mse_loss: 0.0010817668307907344 +23-06-29 11:41:26.516 - INFO: epoch: 2497 +23-06-29 11:41:26.516 - INFO: iters: 6253740 +23-06-29 11:44:14.516 - INFO: train/mse_loss: 0.0010645523317345676 +23-06-29 11:44:14.517 - INFO: epoch: 2498 +23-06-29 11:44:14.517 - INFO: iters: 6256244 +23-06-29 11:47:02.586 - INFO: train/mse_loss: 0.001060484538167959 +23-06-29 11:47:02.587 - INFO: epoch: 2499 +23-06-29 11:47:02.587 - INFO: iters: 6258748 +23-06-29 11:49:50.806 - INFO: train/mse_loss: 0.0010882407761016748 +23-06-29 11:49:50.806 - INFO: epoch: 2500 +23-06-29 11:49:50.806 - INFO: iters: 6261252 +23-06-29 11:49:50.806 - INFO: Saving the self at the end of epoch 2500 +23-06-29 11:49:51.400 - INFO: + + +------------------------------Validation Start------------------------------ +23-06-29 11:57:00.355 - INFO: val/mae: 0.14162294566631317 +23-06-29 11:57:00.355 - INFO: +------------------------------Validation End------------------------------ + + +23-06-29 11:59:47.997 - INFO: train/mse_loss: 0.0010907309525571883 +23-06-29 11:59:47.998 - INFO: epoch: 2501 +23-06-29 11:59:47.998 - INFO: iters: 6264069 +23-06-29 12:02:35.912 - INFO: train/mse_loss: 0.0010893678931614605 +23-06-29 12:02:35.913 - INFO: epoch: 2502 +23-06-29 12:02:35.913 - INFO: iters: 6266573 +23-06-29 12:05:24.150 - INFO: train/mse_loss: 0.0010498199801030643 +23-06-29 12:05:24.150 - INFO: epoch: 2503 +23-06-29 12:05:24.151 - INFO: iters: 6269077 +23-06-29 12:08:12.739 - INFO: train/mse_loss: 0.0010916794432303347 +23-06-29 12:08:12.739 - INFO: epoch: 2504 +23-06-29 12:08:12.739 - INFO: iters: 6271581 +23-06-29 12:11:01.139 - INFO: train/mse_loss: 0.0011217491294907484 +23-06-29 12:11:01.140 - INFO: epoch: 2505 +23-06-29 12:11:01.140 - INFO: iters: 6274085 +23-06-29 12:13:49.193 - INFO: train/mse_loss: 0.0010759558344740397 +23-06-29 12:13:49.194 - INFO: epoch: 2506 +23-06-29 12:13:49.194 - INFO: iters: 6276589 +23-06-29 12:16:37.360 - INFO: train/mse_loss: 0.0011099399592446242 +23-06-29 12:16:37.360 - INFO: epoch: 2507 +23-06-29 12:16:37.361 - INFO: iters: 6279093 +23-06-29 12:19:26.662 - INFO: train/mse_loss: 0.001088658020609972 +23-06-29 12:19:26.663 - INFO: epoch: 2508 +23-06-29 12:19:26.663 - INFO: iters: 6281597 +23-06-29 12:22:15.045 - INFO: train/mse_loss: 0.0010826624040052998 +23-06-29 12:22:15.046 - INFO: epoch: 2509 +23-06-29 12:22:15.046 - INFO: iters: 6284101 +23-06-29 12:25:03.347 - INFO: train/mse_loss: 0.0010742944345947878 +23-06-29 12:25:03.347 - INFO: epoch: 2510 +23-06-29 12:25:03.347 - INFO: iters: 6286605 +23-06-29 12:27:51.810 - INFO: train/mse_loss: 0.0010859348353544494 +23-06-29 12:27:51.810 - INFO: epoch: 2511 +23-06-29 12:27:51.810 - INFO: iters: 6289109 +23-06-29 12:30:41.712 - INFO: train/mse_loss: 0.0011139895164254553 +23-06-29 12:30:41.713 - INFO: epoch: 2512 +23-06-29 12:30:41.713 - INFO: iters: 6291613 +23-06-29 12:33:29.738 - INFO: train/mse_loss: 0.001100608230622027 +23-06-29 12:33:29.740 - INFO: epoch: 2513 +23-06-29 12:33:29.741 - INFO: iters: 6294117 +23-06-29 12:36:17.660 - INFO: train/mse_loss: 0.0010458694369429515 +23-06-29 12:36:17.661 - INFO: epoch: 2514 +23-06-29 12:36:17.661 - INFO: iters: 6296621 +23-06-29 12:39:05.510 - INFO: train/mse_loss: 0.0010672435254645578 +23-06-29 12:39:05.510 - INFO: epoch: 2515 +23-06-29 12:39:05.511 - INFO: iters: 6299125 +23-06-29 12:41:57.661 - INFO: train/mse_loss: 0.0010530377578060217 +23-06-29 12:41:57.662 - INFO: epoch: 2516 +23-06-29 12:41:57.662 - INFO: iters: 6301629 +23-06-29 12:44:48.833 - INFO: train/mse_loss: 0.0010682615691784043 +23-06-29 12:44:48.833 - INFO: epoch: 2517 +23-06-29 12:44:48.833 - INFO: iters: 6304133 +23-06-29 12:47:37.342 - INFO: train/mse_loss: 0.0010935269446244625 +23-06-29 12:47:37.342 - INFO: epoch: 2518 +23-06-29 12:47:37.343 - INFO: iters: 6306637 +23-06-29 12:50:25.315 - INFO: train/mse_loss: 0.0010970462975203813 +23-06-29 12:50:25.315 - INFO: epoch: 2519 +23-06-29 12:50:25.316 - INFO: iters: 6309141 +23-06-29 12:53:14.083 - INFO: train/mse_loss: 0.00106036608343938 +23-06-29 12:53:14.083 - INFO: epoch: 2520 +23-06-29 12:53:14.084 - INFO: iters: 6311645 +23-06-29 12:56:02.851 - INFO: train/mse_loss: 0.0010764840895461792 +23-06-29 12:56:02.851 - INFO: epoch: 2521 +23-06-29 12:56:02.851 - INFO: iters: 6314149 +23-06-29 12:58:50.768 - INFO: train/mse_loss: 0.0010828312464837974 +23-06-29 12:58:50.770 - INFO: epoch: 2522 +23-06-29 12:58:50.770 - INFO: iters: 6316653 +23-06-29 13:01:39.647 - INFO: train/mse_loss: 0.0010675157109028496 +23-06-29 13:01:39.647 - INFO: epoch: 2523 +23-06-29 13:01:39.647 - INFO: iters: 6319157 +23-06-29 13:04:27.599 - INFO: train/mse_loss: 0.001086981287754227 +23-06-29 13:04:27.600 - INFO: epoch: 2524 +23-06-29 13:04:27.600 - INFO: iters: 6321661 +23-06-29 13:07:15.577 - INFO: train/mse_loss: 0.001090665051814752 +23-06-29 13:07:15.578 - INFO: epoch: 2525 +23-06-29 13:07:15.578 - INFO: iters: 6324165 +23-06-29 13:10:03.472 - INFO: train/mse_loss: 0.0010871535347300038 +23-06-29 13:10:03.473 - INFO: epoch: 2526 +23-06-29 13:10:03.473 - INFO: iters: 6326669 +23-06-29 13:12:51.192 - INFO: train/mse_loss: 0.0011186777529814027 +23-06-29 13:12:51.192 - INFO: epoch: 2527 +23-06-29 13:12:51.192 - INFO: iters: 6329173 +23-06-29 13:15:39.052 - INFO: train/mse_loss: 0.001104578414032557 +23-06-29 13:15:39.053 - INFO: epoch: 2528 +23-06-29 13:15:39.053 - INFO: iters: 6331677 +23-06-29 13:18:26.908 - INFO: train/mse_loss: 0.0010806816442610737 +23-06-29 13:18:26.909 - INFO: epoch: 2529 +23-06-29 13:18:26.909 - INFO: iters: 6334181 +23-06-29 13:21:15.406 - INFO: train/mse_loss: 0.0010853412686832272 +23-06-29 13:21:15.407 - INFO: epoch: 2530 +23-06-29 13:21:15.407 - INFO: iters: 6336685 +23-06-29 13:24:03.397 - INFO: train/mse_loss: 0.001072691407143183 +23-06-29 13:24:03.398 - INFO: epoch: 2531 +23-06-29 13:24:03.398 - INFO: iters: 6339189 +23-06-29 13:26:52.136 - INFO: train/mse_loss: 0.0010747457077107823 +23-06-29 13:26:52.136 - INFO: epoch: 2532 +23-06-29 13:26:52.136 - INFO: iters: 6341693 +23-06-29 13:29:40.786 - INFO: train/mse_loss: 0.0010580589291647065 +23-06-29 13:29:40.787 - INFO: epoch: 2533 +23-06-29 13:29:40.787 - INFO: iters: 6344197 +23-06-29 13:32:29.171 - INFO: train/mse_loss: 0.0010665832784773704 +23-06-29 13:32:29.171 - INFO: epoch: 2534 +23-06-29 13:32:29.171 - INFO: iters: 6346701 +23-06-29 13:35:17.709 - INFO: train/mse_loss: 0.0010937720033401153 +23-06-29 13:35:17.710 - INFO: epoch: 2535 +23-06-29 13:35:17.710 - INFO: iters: 6349205 +23-06-29 13:38:06.331 - INFO: train/mse_loss: 0.0010596570494129493 +23-06-29 13:38:06.331 - INFO: epoch: 2536 +23-06-29 13:38:06.332 - INFO: iters: 6351709 +23-06-29 13:40:54.904 - INFO: train/mse_loss: 0.0010999846508348593 +23-06-29 13:40:54.904 - INFO: epoch: 2537 +23-06-29 13:40:54.904 - INFO: iters: 6354213 +23-06-29 13:43:43.397 - INFO: train/mse_loss: 0.0010743847004503915 +23-06-29 13:43:43.398 - INFO: epoch: 2538 +23-06-29 13:43:43.398 - INFO: iters: 6356717 +23-06-29 13:46:31.385 - INFO: train/mse_loss: 0.0010622881969195989 +23-06-29 13:46:31.385 - INFO: epoch: 2539 +23-06-29 13:46:31.385 - INFO: iters: 6359221 +23-06-29 13:49:19.568 - INFO: train/mse_loss: 0.0010554666164890526 +23-06-29 13:49:19.569 - INFO: epoch: 2540 +23-06-29 13:49:19.569 - INFO: iters: 6361725 +23-06-29 13:52:07.802 - INFO: train/mse_loss: 0.001066588217853018 +23-06-29 13:52:07.803 - INFO: epoch: 2541 +23-06-29 13:52:07.804 - INFO: iters: 6364229 +23-06-29 13:54:56.174 - INFO: train/mse_loss: 0.0010583225975018412 +23-06-29 13:54:56.176 - INFO: epoch: 2542 +23-06-29 13:54:56.176 - INFO: iters: 6366733 +23-06-29 13:57:45.422 - INFO: train/mse_loss: 0.001063201053439232 +23-06-29 13:57:45.423 - INFO: epoch: 2543 +23-06-29 13:57:45.423 - INFO: iters: 6369237 +23-06-29 14:00:34.192 - INFO: train/mse_loss: 0.001079052572135632 +23-06-29 14:00:34.193 - INFO: epoch: 2544 +23-06-29 14:00:34.193 - INFO: iters: 6371741 +23-06-29 14:03:22.554 - INFO: train/mse_loss: 0.0010821185596941855 +23-06-29 14:03:22.555 - INFO: epoch: 2545 +23-06-29 14:03:22.555 - INFO: iters: 6374245 +23-06-29 14:06:10.809 - INFO: train/mse_loss: 0.0011295275272654233 +23-06-29 14:06:10.810 - INFO: epoch: 2546 +23-06-29 14:06:10.810 - INFO: iters: 6376749 +23-06-29 14:09:00.017 - INFO: train/mse_loss: 0.0010712282747378388 +23-06-29 14:09:00.018 - INFO: epoch: 2547 +23-06-29 14:09:00.018 - INFO: iters: 6379253 +23-06-29 14:11:49.875 - INFO: train/mse_loss: 0.0010458276497003751 +23-06-29 14:11:49.876 - INFO: epoch: 2548 +23-06-29 14:11:49.876 - INFO: iters: 6381757 +23-06-29 14:14:38.281 - INFO: train/mse_loss: 0.0010805413298593006 +23-06-29 14:14:38.281 - INFO: epoch: 2549 +23-06-29 14:14:38.282 - INFO: iters: 6384261 +23-06-29 14:17:26.309 - INFO: train/mse_loss: 0.0010668409928960647 +23-06-29 14:17:26.309 - INFO: epoch: 2550 +23-06-29 14:17:26.309 - INFO: iters: 6386765 +23-06-29 14:20:14.329 - INFO: train/mse_loss: 0.0010715325773223497 +23-06-29 14:20:14.330 - INFO: epoch: 2551 +23-06-29 14:20:14.330 - INFO: iters: 6389269 +23-06-29 14:23:02.661 - INFO: train/mse_loss: 0.0011095599332354225 +23-06-29 14:23:02.662 - INFO: epoch: 2552 +23-06-29 14:23:02.662 - INFO: iters: 6391773 +23-06-29 14:25:50.901 - INFO: train/mse_loss: 0.001049985174653522 +23-06-29 14:25:50.902 - INFO: epoch: 2553 +23-06-29 14:25:50.902 - INFO: iters: 6394277 +23-06-29 14:28:39.005 - INFO: train/mse_loss: 0.0010753077933357987 +23-06-29 14:28:39.006 - INFO: epoch: 2554 +23-06-29 14:28:39.006 - INFO: iters: 6396781 +23-06-29 14:31:26.992 - INFO: train/mse_loss: 0.0010529826387774925 +23-06-29 14:31:26.993 - INFO: epoch: 2555 +23-06-29 14:31:26.993 - INFO: iters: 6399285 +23-06-29 14:34:14.813 - INFO: train/mse_loss: 0.0010670962918827983 +23-06-29 14:34:14.813 - INFO: epoch: 2556 +23-06-29 14:34:14.813 - INFO: iters: 6401789 +23-06-29 14:37:03.500 - INFO: train/mse_loss: 0.001161704177242189 +23-06-29 14:37:03.501 - INFO: epoch: 2557 +23-06-29 14:37:03.501 - INFO: iters: 6404293 +23-06-29 14:39:51.738 - INFO: train/mse_loss: 0.0011087547645148353 +23-06-29 14:39:51.739 - INFO: epoch: 2558 +23-06-29 14:39:51.739 - INFO: iters: 6406797 +23-06-29 14:42:40.073 - INFO: train/mse_loss: 0.001072545639446047 +23-06-29 14:42:40.073 - INFO: epoch: 2559 +23-06-29 14:42:40.073 - INFO: iters: 6409301 +23-06-29 14:45:28.289 - INFO: train/mse_loss: 0.0011084233851398166 +23-06-29 14:45:28.290 - INFO: epoch: 2560 +23-06-29 14:45:28.290 - INFO: iters: 6411805 +23-06-29 14:48:16.269 - INFO: train/mse_loss: 0.001050623079383234 +23-06-29 14:48:16.269 - INFO: epoch: 2561 +23-06-29 14:48:16.269 - INFO: iters: 6414309 +23-06-29 14:51:05.130 - INFO: train/mse_loss: 0.001058775625681094 +23-06-29 14:51:05.131 - INFO: epoch: 2562 +23-06-29 14:51:05.131 - INFO: iters: 6416813 +23-06-29 14:53:53.159 - INFO: train/mse_loss: 0.0011005857871985213 +23-06-29 14:53:53.160 - INFO: epoch: 2563 +23-06-29 14:53:53.160 - INFO: iters: 6419317 +23-06-29 14:56:41.774 - INFO: train/mse_loss: 0.0010479611354677703 +23-06-29 14:56:41.774 - INFO: epoch: 2564 +23-06-29 14:56:41.774 - INFO: iters: 6421821 +23-06-29 14:59:30.317 - INFO: train/mse_loss: 0.0010477927514908317 +23-06-29 14:59:30.318 - INFO: epoch: 2565 +23-06-29 14:59:30.318 - INFO: iters: 6424325 +23-06-29 15:02:18.980 - INFO: train/mse_loss: 0.0010555553979563197 +23-06-29 15:02:18.981 - INFO: epoch: 2566 +23-06-29 15:02:18.981 - INFO: iters: 6426829 +23-06-29 15:05:07.518 - INFO: train/mse_loss: 0.0010483280456916521 +23-06-29 15:05:07.519 - INFO: epoch: 2567 +23-06-29 15:05:07.519 - INFO: iters: 6429333 +23-06-29 15:07:57.117 - INFO: train/mse_loss: 0.0010491515118881654 +23-06-29 15:07:57.117 - INFO: epoch: 2568 +23-06-29 15:07:57.117 - INFO: iters: 6431837 +23-06-29 15:10:45.964 - INFO: train/mse_loss: 0.0010927460111191157 +23-06-29 15:10:45.965 - INFO: epoch: 2569 +23-06-29 15:10:45.965 - INFO: iters: 6434341 +23-06-29 15:13:34.306 - INFO: train/mse_loss: 0.00108526066409055 +23-06-29 15:13:34.307 - INFO: epoch: 2570 +23-06-29 15:13:34.307 - INFO: iters: 6436845 +23-06-29 15:16:23.006 - INFO: train/mse_loss: 0.0010663931137702158 +23-06-29 15:16:23.007 - INFO: epoch: 2571 +23-06-29 15:16:23.007 - INFO: iters: 6439349 +23-06-29 15:19:11.993 - INFO: train/mse_loss: 0.0010819690363941352 +23-06-29 15:19:11.994 - INFO: epoch: 2572 +23-06-29 15:19:11.994 - INFO: iters: 6441853 +23-06-29 15:22:02.023 - INFO: train/mse_loss: 0.0010750931243192013 +23-06-29 15:22:02.024 - INFO: epoch: 2573 +23-06-29 15:22:02.024 - INFO: iters: 6444357 +23-06-29 15:24:50.968 - INFO: train/mse_loss: 0.001048898189451349 +23-06-29 15:24:50.968 - INFO: epoch: 2574 +23-06-29 15:24:50.968 - INFO: iters: 6446861 +23-06-29 15:27:39.650 - INFO: train/mse_loss: 0.0010630938379962843 +23-06-29 15:27:39.651 - INFO: epoch: 2575 +23-06-29 15:27:39.651 - INFO: iters: 6449365 +23-06-29 15:30:28.074 - INFO: train/mse_loss: 0.0010615974955168514 +23-06-29 15:30:28.074 - INFO: epoch: 2576 +23-06-29 15:30:28.075 - INFO: iters: 6451869 +23-06-29 15:33:16.438 - INFO: train/mse_loss: 0.001037729940691088 +23-06-29 15:33:16.438 - INFO: epoch: 2577 +23-06-29 15:33:16.439 - INFO: iters: 6454373 +23-06-29 15:36:04.587 - INFO: train/mse_loss: 0.0010902420386111143 +23-06-29 15:36:04.588 - INFO: epoch: 2578 +23-06-29 15:36:04.588 - INFO: iters: 6456877 +23-06-29 15:38:52.585 - INFO: train/mse_loss: 0.0010624770252681234 +23-06-29 15:38:52.585 - INFO: epoch: 2579 +23-06-29 15:38:52.585 - INFO: iters: 6459381 +23-06-29 15:41:40.597 - INFO: train/mse_loss: 0.001043267932013064 +23-06-29 15:41:40.597 - INFO: epoch: 2580 +23-06-29 15:41:40.597 - INFO: iters: 6461885 +23-06-29 15:44:29.179 - INFO: train/mse_loss: 0.0010759962599734946 +23-06-29 15:44:29.180 - INFO: epoch: 2581 +23-06-29 15:44:29.180 - INFO: iters: 6464389 +23-06-29 15:47:17.915 - INFO: train/mse_loss: 0.0010619301850291582 +23-06-29 15:47:17.916 - INFO: epoch: 2582 +23-06-29 15:47:17.916 - INFO: iters: 6466893 +23-06-29 15:50:06.701 - INFO: train/mse_loss: 0.0010621086792862668 +23-06-29 15:50:06.701 - INFO: epoch: 2583 +23-06-29 15:50:06.701 - INFO: iters: 6469397 +23-06-29 15:52:55.923 - INFO: train/mse_loss: 0.0010643384831112484 +23-06-29 15:52:55.923 - INFO: epoch: 2584 +23-06-29 15:52:55.924 - INFO: iters: 6471901 +23-06-29 15:55:44.238 - INFO: train/mse_loss: 0.0010578585743975526 +23-06-29 15:55:44.238 - INFO: epoch: 2585 +23-06-29 15:55:44.238 - INFO: iters: 6474405 +23-06-29 15:58:33.049 - INFO: train/mse_loss: 0.0010594658240431938 +23-06-29 15:58:33.049 - INFO: epoch: 2586 +23-06-29 15:58:33.049 - INFO: iters: 6476909 +23-06-29 16:01:21.779 - INFO: train/mse_loss: 0.0010961403897494827 +23-06-29 16:01:21.779 - INFO: epoch: 2587 +23-06-29 16:01:21.779 - INFO: iters: 6479413 +23-06-29 16:04:10.800 - INFO: train/mse_loss: 0.0010519422194251 +23-06-29 16:04:10.801 - INFO: epoch: 2588 +23-06-29 16:04:10.801 - INFO: iters: 6481917 +23-06-29 16:06:59.566 - INFO: train/mse_loss: 0.0010820707341041653 +23-06-29 16:06:59.566 - INFO: epoch: 2589 +23-06-29 16:06:59.567 - INFO: iters: 6484421 +23-06-29 16:09:47.917 - INFO: train/mse_loss: 0.001054411435264725 +23-06-29 16:09:47.918 - INFO: epoch: 2590 +23-06-29 16:09:47.918 - INFO: iters: 6486925 +23-06-29 16:12:37.780 - INFO: train/mse_loss: 0.0010334850414827192 +23-06-29 16:12:37.780 - INFO: epoch: 2591 +23-06-29 16:12:37.781 - INFO: iters: 6489429 +23-06-29 16:15:26.671 - INFO: train/mse_loss: 0.0010594743489549636 +23-06-29 16:15:26.672 - INFO: epoch: 2592 +23-06-29 16:15:26.672 - INFO: iters: 6491933 +23-06-29 16:18:17.302 - INFO: train/mse_loss: 0.001042770898749177 +23-06-29 16:18:17.302 - INFO: epoch: 2593 +23-06-29 16:18:17.302 - INFO: iters: 6494437 +23-06-29 16:21:07.386 - INFO: train/mse_loss: 0.001044761896718847 +23-06-29 16:21:07.387 - INFO: epoch: 2594 +23-06-29 16:21:07.387 - INFO: iters: 6496941 +23-06-29 16:23:56.437 - INFO: train/mse_loss: 0.0010564951747752572 +23-06-29 16:23:56.438 - INFO: epoch: 2595 +23-06-29 16:23:56.438 - INFO: iters: 6499445 +23-06-29 16:26:46.207 - INFO: train/mse_loss: 0.0010712151734579426 +23-06-29 16:26:46.208 - INFO: epoch: 2596 +23-06-29 16:26:46.208 - INFO: iters: 6501949 +23-06-29 16:29:34.902 - INFO: train/mse_loss: 0.0010763263667765528 +23-06-29 16:29:34.902 - INFO: epoch: 2597 +23-06-29 16:29:34.903 - INFO: iters: 6504453 +23-06-29 16:32:24.445 - INFO: train/mse_loss: 0.0010490940573934715 +23-06-29 16:32:24.446 - INFO: epoch: 2598 +23-06-29 16:32:24.446 - INFO: iters: 6506957 +23-06-29 16:35:13.500 - INFO: train/mse_loss: 0.0010520518476034874 +23-06-29 16:35:13.500 - INFO: epoch: 2599 +23-06-29 16:35:13.500 - INFO: iters: 6509461 +23-06-29 16:38:01.712 - INFO: train/mse_loss: 0.001017718434931871 +23-06-29 16:38:01.713 - INFO: epoch: 2600 +23-06-29 16:38:01.713 - INFO: iters: 6511965 +23-06-29 16:40:50.314 - INFO: train/mse_loss: 0.0010281349984205925 +23-06-29 16:40:50.314 - INFO: epoch: 2601 +23-06-29 16:40:50.314 - INFO: iters: 6514469 +23-06-29 16:43:38.728 - INFO: train/mse_loss: 0.0010765216788634086 +23-06-29 16:43:38.729 - INFO: epoch: 2602 +23-06-29 16:43:38.729 - INFO: iters: 6516973 +23-06-29 16:46:28.107 - INFO: train/mse_loss: 0.001083686227479521 +23-06-29 16:46:28.109 - INFO: epoch: 2603 +23-06-29 16:46:28.109 - INFO: iters: 6519477 +23-06-29 16:49:16.654 - INFO: train/mse_loss: 0.0010986221486891505 +23-06-29 16:49:16.655 - INFO: epoch: 2604 +23-06-29 16:49:16.655 - INFO: iters: 6521981 +23-06-29 16:52:05.648 - INFO: train/mse_loss: 0.0012311584589751467 +23-06-29 16:52:05.648 - INFO: epoch: 2605 +23-06-29 16:52:05.648 - INFO: iters: 6524485 +23-06-29 16:54:54.059 - INFO: train/mse_loss: 0.001086342258296294 +23-06-29 16:54:54.060 - INFO: epoch: 2606 +23-06-29 16:54:54.060 - INFO: iters: 6526989 +23-06-29 16:57:42.335 - INFO: train/mse_loss: 0.0010985004168506652 +23-06-29 16:57:42.336 - INFO: epoch: 2607 +23-06-29 16:57:42.336 - INFO: iters: 6529493 +23-06-29 17:00:30.515 - INFO: train/mse_loss: 0.0010407961629399548 +23-06-29 17:00:30.516 - INFO: epoch: 2608 +23-06-29 17:00:30.516 - INFO: iters: 6531997 +23-06-29 17:03:18.684 - INFO: train/mse_loss: 0.0010440536776926523 +23-06-29 17:03:18.685 - INFO: epoch: 2609 +23-06-29 17:03:18.685 - INFO: iters: 6534501 +23-06-29 17:06:07.132 - INFO: train/mse_loss: 0.0010659571726078958 +23-06-29 17:06:07.133 - INFO: epoch: 2610 +23-06-29 17:06:07.133 - INFO: iters: 6537005 +23-06-29 17:08:55.218 - INFO: train/mse_loss: 0.001082605230320727 +23-06-29 17:08:55.218 - INFO: epoch: 2611 +23-06-29 17:08:55.219 - INFO: iters: 6539509 +23-06-29 17:11:43.731 - INFO: train/mse_loss: 0.001075217117608998 +23-06-29 17:11:43.731 - INFO: epoch: 2612 +23-06-29 17:11:43.731 - INFO: iters: 6542013 +23-06-29 17:14:31.827 - INFO: train/mse_loss: 0.0010521495531606204 +23-06-29 17:14:31.828 - INFO: epoch: 2613 +23-06-29 17:14:31.828 - INFO: iters: 6544517 +23-06-29 17:17:21.861 - INFO: train/mse_loss: 0.0010633319894338366 +23-06-29 17:17:21.862 - INFO: epoch: 2614 +23-06-29 17:17:21.862 - INFO: iters: 6547021 +23-06-29 17:20:10.786 - INFO: train/mse_loss: 0.0010284655767428977 +23-06-29 17:20:10.787 - INFO: epoch: 2615 +23-06-29 17:20:10.787 - INFO: iters: 6549525 +23-06-29 17:22:59.533 - INFO: train/mse_loss: 0.0010587183069422864 +23-06-29 17:22:59.533 - INFO: epoch: 2616 +23-06-29 17:22:59.534 - INFO: iters: 6552029 +23-06-29 17:25:48.186 - INFO: train/mse_loss: 0.0010660198825290991 +23-06-29 17:25:48.186 - INFO: epoch: 2617 +23-06-29 17:25:48.186 - INFO: iters: 6554533 +23-06-29 17:28:37.122 - INFO: train/mse_loss: 0.0010500370624130027 +23-06-29 17:28:37.123 - INFO: epoch: 2618 +23-06-29 17:28:37.123 - INFO: iters: 6557037 +23-06-29 17:31:25.189 - INFO: train/mse_loss: 0.0010325597770610294 +23-06-29 17:31:25.190 - INFO: epoch: 2619 +23-06-29 17:31:25.190 - INFO: iters: 6559541 +23-06-29 17:34:14.097 - INFO: train/mse_loss: 0.0010229770502167793 +23-06-29 17:34:14.098 - INFO: epoch: 2620 +23-06-29 17:34:14.098 - INFO: iters: 6562045 +23-06-29 17:37:02.331 - INFO: train/mse_loss: 0.0010007276506975484 +23-06-29 17:37:02.331 - INFO: epoch: 2621 +23-06-29 17:37:02.331 - INFO: iters: 6564549 +23-06-29 17:39:50.517 - INFO: train/mse_loss: 0.0010382184075725714 +23-06-29 17:39:50.518 - INFO: epoch: 2622 +23-06-29 17:39:50.518 - INFO: iters: 6567053 +23-06-29 17:42:39.634 - INFO: train/mse_loss: 0.0010696608717694653 +23-06-29 17:42:39.635 - INFO: epoch: 2623 +23-06-29 17:42:39.635 - INFO: iters: 6569557 +23-06-29 17:45:30.226 - INFO: train/mse_loss: 0.0010303629765148683 +23-06-29 17:45:30.226 - INFO: epoch: 2624 +23-06-29 17:45:30.226 - INFO: iters: 6572061 +23-06-29 17:48:19.543 - INFO: train/mse_loss: 0.0011187634629252466 +23-06-29 17:48:19.544 - INFO: epoch: 2625 +23-06-29 17:48:19.544 - INFO: iters: 6574565 +23-06-29 17:51:09.541 - INFO: train/mse_loss: 0.0010683876512491831 +23-06-29 17:51:09.541 - INFO: epoch: 2626 +23-06-29 17:51:09.541 - INFO: iters: 6577069 +23-06-29 17:53:58.000 - INFO: train/mse_loss: 0.0010562718389540934 +23-06-29 17:53:58.000 - INFO: epoch: 2627 +23-06-29 17:53:58.001 - INFO: iters: 6579573 +23-06-29 17:56:47.438 - INFO: train/mse_loss: 0.0010576228202601816 +23-06-29 17:56:47.439 - INFO: epoch: 2628 +23-06-29 17:56:47.439 - INFO: iters: 6582077 +23-06-29 17:59:36.239 - INFO: train/mse_loss: 0.001058664124629374 +23-06-29 17:59:36.239 - INFO: epoch: 2629 +23-06-29 17:59:36.239 - INFO: iters: 6584581 +23-06-29 18:02:24.234 - INFO: train/mse_loss: 0.0010272150242942187 +23-06-29 18:02:24.235 - INFO: epoch: 2630 +23-06-29 18:02:24.235 - INFO: iters: 6587085 +23-06-29 18:05:12.746 - INFO: train/mse_loss: 0.0010209477845223817 +23-06-29 18:05:12.747 - INFO: epoch: 2631 +23-06-29 18:05:12.747 - INFO: iters: 6589589 +23-06-29 18:08:02.478 - INFO: train/mse_loss: 0.0010408054384144065 +23-06-29 18:08:02.479 - INFO: epoch: 2632 +23-06-29 18:08:02.479 - INFO: iters: 6592093 +23-06-29 18:10:50.491 - INFO: train/mse_loss: 0.0010517118768335078 +23-06-29 18:10:50.492 - INFO: epoch: 2633 +23-06-29 18:10:50.492 - INFO: iters: 6594597 +23-06-29 18:13:38.926 - INFO: train/mse_loss: 0.0010480140690124942 +23-06-29 18:13:38.927 - INFO: epoch: 2634 +23-06-29 18:13:38.927 - INFO: iters: 6597101 +23-06-29 18:16:27.286 - INFO: train/mse_loss: 0.001049083383633389 +23-06-29 18:16:27.287 - INFO: epoch: 2635 +23-06-29 18:16:27.287 - INFO: iters: 6599605 +23-06-29 18:19:15.317 - INFO: train/mse_loss: 0.001043188583627254 +23-06-29 18:19:15.318 - INFO: epoch: 2636 +23-06-29 18:19:15.318 - INFO: iters: 6602109 +23-06-29 18:22:03.567 - INFO: train/mse_loss: 0.0010539360470681514 +23-06-29 18:22:03.567 - INFO: epoch: 2637 +23-06-29 18:22:03.567 - INFO: iters: 6604613 +23-06-29 18:24:52.198 - INFO: train/mse_loss: 0.0010460222691532593 +23-06-29 18:24:52.199 - INFO: epoch: 2638 +23-06-29 18:24:52.199 - INFO: iters: 6607117 +23-06-29 18:27:40.572 - INFO: train/mse_loss: 0.0010448377152656417 +23-06-29 18:27:40.573 - INFO: epoch: 2639 +23-06-29 18:27:40.573 - INFO: iters: 6609621 +23-06-29 18:30:28.847 - INFO: train/mse_loss: 0.001069671579003602 +23-06-29 18:30:28.848 - INFO: epoch: 2640 +23-06-29 18:30:28.848 - INFO: iters: 6612125 +23-06-29 18:33:18.099 - INFO: train/mse_loss: 0.0010679625779964601 +23-06-29 18:33:18.100 - INFO: epoch: 2641 +23-06-29 18:33:18.101 - INFO: iters: 6614629 +23-06-29 18:36:06.645 - INFO: train/mse_loss: 0.0010427278810561584 +23-06-29 18:36:06.645 - INFO: epoch: 2642 +23-06-29 18:36:06.645 - INFO: iters: 6617133 +23-06-29 18:38:54.825 - INFO: train/mse_loss: 0.0009982215043286772 +23-06-29 18:38:54.826 - INFO: epoch: 2643 +23-06-29 18:38:54.826 - INFO: iters: 6619637 +23-06-29 18:41:42.912 - INFO: train/mse_loss: 0.0010263590745035762 +23-06-29 18:41:42.913 - INFO: epoch: 2644 +23-06-29 18:41:42.913 - INFO: iters: 6622141 +23-06-29 18:44:31.218 - INFO: train/mse_loss: 0.0010683284667967715 +23-06-29 18:44:31.219 - INFO: epoch: 2645 +23-06-29 18:44:31.219 - INFO: iters: 6624645 +23-06-29 18:47:19.519 - INFO: train/mse_loss: 0.0010181396927932997 +23-06-29 18:47:19.520 - INFO: epoch: 2646 +23-06-29 18:47:19.520 - INFO: iters: 6627149 +23-06-29 18:50:07.595 - INFO: train/mse_loss: 0.0010590224442951464 +23-06-29 18:50:07.596 - INFO: epoch: 2647 +23-06-29 18:50:07.596 - INFO: iters: 6629653 +23-06-29 18:52:56.279 - INFO: train/mse_loss: 0.0010612875802632862 +23-06-29 18:52:56.280 - INFO: epoch: 2648 +23-06-29 18:52:56.280 - INFO: iters: 6632157 +23-06-29 18:55:45.187 - INFO: train/mse_loss: 0.0010964467513602607 +23-06-29 18:55:45.188 - INFO: epoch: 2649 +23-06-29 18:55:45.188 - INFO: iters: 6634661 +23-06-29 18:58:35.544 - INFO: train/mse_loss: 0.0010122350302149954 +23-06-29 18:58:35.545 - INFO: epoch: 2650 +23-06-29 18:58:35.545 - INFO: iters: 6637165 +23-06-29 19:01:24.471 - INFO: train/mse_loss: 0.0010416748509117471 +23-06-29 19:01:24.472 - INFO: epoch: 2651 +23-06-29 19:01:24.472 - INFO: iters: 6639669 +23-06-29 19:04:12.722 - INFO: train/mse_loss: 0.0010414237957842016 +23-06-29 19:04:12.722 - INFO: epoch: 2652 +23-06-29 19:04:12.723 - INFO: iters: 6642173 +23-06-29 19:07:01.665 - INFO: train/mse_loss: 0.0010328670552100083 +23-06-29 19:07:01.666 - INFO: epoch: 2653 +23-06-29 19:07:01.667 - INFO: iters: 6644677 +23-06-29 19:09:50.866 - INFO: train/mse_loss: 0.001039025535269197 +23-06-29 19:09:50.866 - INFO: epoch: 2654 +23-06-29 19:09:50.866 - INFO: iters: 6647181 +23-06-29 19:12:39.962 - INFO: train/mse_loss: 0.001033764097005718 +23-06-29 19:12:39.963 - INFO: epoch: 2655 +23-06-29 19:12:39.963 - INFO: iters: 6649685 +23-06-29 19:15:28.987 - INFO: train/mse_loss: 0.0010581342825151314 +23-06-29 19:15:28.987 - INFO: epoch: 2656 +23-06-29 19:15:28.987 - INFO: iters: 6652189 +23-06-29 19:18:17.685 - INFO: train/mse_loss: 0.0010106544852399597 +23-06-29 19:18:17.686 - INFO: epoch: 2657 +23-06-29 19:18:17.686 - INFO: iters: 6654693 +23-06-29 19:21:05.859 - INFO: train/mse_loss: 0.0010269888642856987 +23-06-29 19:21:05.860 - INFO: epoch: 2658 +23-06-29 19:21:05.861 - INFO: iters: 6657197 +23-06-29 19:23:54.120 - INFO: train/mse_loss: 0.0010551087868462402 +23-06-29 19:23:54.120 - INFO: epoch: 2659 +23-06-29 19:23:54.120 - INFO: iters: 6659701 +23-06-29 19:26:42.855 - INFO: train/mse_loss: 0.0010306230316068025 +23-06-29 19:26:42.855 - INFO: epoch: 2660 +23-06-29 19:26:42.856 - INFO: iters: 6662205 +23-06-29 19:29:31.082 - INFO: train/mse_loss: 0.00104348056190186 +23-06-29 19:29:31.083 - INFO: epoch: 2661 +23-06-29 19:29:31.083 - INFO: iters: 6664709 +23-06-29 19:32:19.995 - INFO: train/mse_loss: 0.0010115233180782617 +23-06-29 19:32:19.996 - INFO: epoch: 2662 +23-06-29 19:32:19.996 - INFO: iters: 6667213 +23-06-29 19:35:08.106 - INFO: train/mse_loss: 0.0010199203074481278 +23-06-29 19:35:08.107 - INFO: epoch: 2663 +23-06-29 19:35:08.107 - INFO: iters: 6669717 +23-06-29 19:37:56.717 - INFO: train/mse_loss: 0.001030257273262319 +23-06-29 19:37:56.718 - INFO: epoch: 2664 +23-06-29 19:37:56.718 - INFO: iters: 6672221 +23-06-29 19:40:44.900 - INFO: train/mse_loss: 0.001047319305626253 +23-06-29 19:40:44.900 - INFO: epoch: 2665 +23-06-29 19:40:44.900 - INFO: iters: 6674725 +23-06-29 19:43:35.239 - INFO: train/mse_loss: 0.0010410111945921394 +23-06-29 19:43:35.240 - INFO: epoch: 2666 +23-06-29 19:43:35.240 - INFO: iters: 6677229 +23-06-29 19:46:24.543 - INFO: train/mse_loss: 0.0010186950120101936 +23-06-29 19:46:24.544 - INFO: epoch: 2667 +23-06-29 19:46:24.544 - INFO: iters: 6679733 +23-06-29 19:49:13.507 - INFO: train/mse_loss: 0.001052325357777474 +23-06-29 19:49:13.508 - INFO: epoch: 2668 +23-06-29 19:49:13.508 - INFO: iters: 6682237 +23-06-29 19:52:03.814 - INFO: train/mse_loss: 0.0010172811469037872 +23-06-29 19:52:03.815 - INFO: epoch: 2669 +23-06-29 19:52:03.815 - INFO: iters: 6684741 +23-06-29 19:54:55.974 - INFO: train/mse_loss: 0.0010398267424284531 +23-06-29 19:54:55.974 - INFO: epoch: 2670 +23-06-29 19:54:55.974 - INFO: iters: 6687245 +23-06-29 19:57:44.609 - INFO: train/mse_loss: 0.001032668671413762 +23-06-29 19:57:44.610 - INFO: epoch: 2671 +23-06-29 19:57:44.610 - INFO: iters: 6689749 +23-06-29 20:00:34.919 - INFO: train/mse_loss: 0.0010825993394450889 +23-06-29 20:00:34.919 - INFO: epoch: 2672 +23-06-29 20:00:34.919 - INFO: iters: 6692253 +23-06-29 20:03:23.761 - INFO: train/mse_loss: 0.0010344574096636436 +23-06-29 20:03:23.761 - INFO: epoch: 2673 +23-06-29 20:03:23.761 - INFO: iters: 6694757 +23-06-29 20:06:12.901 - INFO: train/mse_loss: 0.0010218722331069839 +23-06-29 20:06:12.901 - INFO: epoch: 2674 +23-06-29 20:06:12.902 - INFO: iters: 6697261 +23-06-29 20:09:01.586 - INFO: train/mse_loss: 0.0010226535892222648 +23-06-29 20:09:01.587 - INFO: epoch: 2675 +23-06-29 20:09:01.587 - INFO: iters: 6699765 +23-06-29 20:11:50.058 - INFO: train/mse_loss: 0.0010241096775708035 +23-06-29 20:11:50.058 - INFO: epoch: 2676 +23-06-29 20:11:50.059 - INFO: iters: 6702269 +23-06-29 20:14:39.011 - INFO: train/mse_loss: 0.0010377769599283358 +23-06-29 20:14:39.012 - INFO: epoch: 2677 +23-06-29 20:14:39.012 - INFO: iters: 6704773 +23-06-29 20:17:29.091 - INFO: train/mse_loss: 0.0010484357225186468 +23-06-29 20:17:29.091 - INFO: epoch: 2678 +23-06-29 20:17:29.091 - INFO: iters: 6707277 +23-06-29 20:20:17.534 - INFO: train/mse_loss: 0.0010936814013492173 +23-06-29 20:20:17.535 - INFO: epoch: 2679 +23-06-29 20:20:17.535 - INFO: iters: 6709781 +23-06-29 20:23:05.325 - INFO: train/mse_loss: 0.001030034802280539 +23-06-29 20:23:05.325 - INFO: epoch: 2680 +23-06-29 20:23:05.325 - INFO: iters: 6712285 +23-06-29 20:25:54.075 - INFO: train/mse_loss: 0.0010328715476140486 +23-06-29 20:25:54.075 - INFO: epoch: 2681 +23-06-29 20:25:54.075 - INFO: iters: 6714789 +23-06-29 20:28:42.378 - INFO: train/mse_loss: 0.0010298668900088142 +23-06-29 20:28:42.378 - INFO: epoch: 2682 +23-06-29 20:28:42.378 - INFO: iters: 6717293 +23-06-29 20:31:31.303 - INFO: train/mse_loss: 0.0010677887820088254 +23-06-29 20:31:31.304 - INFO: epoch: 2683 +23-06-29 20:31:31.304 - INFO: iters: 6719797 +23-06-29 20:34:20.622 - INFO: train/mse_loss: 0.0010344902412949529 +23-06-29 20:34:20.622 - INFO: epoch: 2684 +23-06-29 20:34:20.622 - INFO: iters: 6722301 +23-06-29 20:37:09.281 - INFO: train/mse_loss: 0.0010096835271535686 +23-06-29 20:37:09.281 - INFO: epoch: 2685 +23-06-29 20:37:09.281 - INFO: iters: 6724805 +23-06-29 20:39:59.133 - INFO: train/mse_loss: 0.0010118889326702792 +23-06-29 20:39:59.133 - INFO: epoch: 2686 +23-06-29 20:39:59.133 - INFO: iters: 6727309 +23-06-29 20:42:47.749 - INFO: train/mse_loss: 0.0010152347546744757 +23-06-29 20:42:47.749 - INFO: epoch: 2687 +23-06-29 20:42:47.749 - INFO: iters: 6729813 +23-06-29 20:45:37.366 - INFO: train/mse_loss: 0.0010442354184681008 +23-06-29 20:45:37.367 - INFO: epoch: 2688 +23-06-29 20:45:37.367 - INFO: iters: 6732317 +23-06-29 20:48:26.523 - INFO: train/mse_loss: 0.0010352046576703486 +23-06-29 20:48:26.524 - INFO: epoch: 2689 +23-06-29 20:48:26.524 - INFO: iters: 6734821 +23-06-29 20:51:17.029 - INFO: train/mse_loss: 0.001002921110068183 +23-06-29 20:51:17.030 - INFO: epoch: 2690 +23-06-29 20:51:17.030 - INFO: iters: 6737325 +23-06-29 20:54:06.299 - INFO: train/mse_loss: 0.001022238633967341 +23-06-29 20:54:06.300 - INFO: epoch: 2691 +23-06-29 20:54:06.300 - INFO: iters: 6739829 +23-06-29 20:56:55.706 - INFO: train/mse_loss: 0.0010428216896754819 +23-06-29 20:56:55.707 - INFO: epoch: 2692 +23-06-29 20:56:55.707 - INFO: iters: 6742333 +23-06-29 20:59:44.349 - INFO: train/mse_loss: 0.001062576167327099 +23-06-29 20:59:44.350 - INFO: epoch: 2693 +23-06-29 20:59:44.350 - INFO: iters: 6744837 +23-06-29 21:02:34.190 - INFO: train/mse_loss: 0.0010271599542679855 +23-06-29 21:02:34.190 - INFO: epoch: 2694 +23-06-29 21:02:34.190 - INFO: iters: 6747341 +23-06-29 21:05:23.283 - INFO: train/mse_loss: 0.0010676071379362002 +23-06-29 21:05:23.284 - INFO: epoch: 2695 +23-06-29 21:05:23.284 - INFO: iters: 6749845 +23-06-29 21:08:13.040 - INFO: train/mse_loss: 0.0010460162979398912 +23-06-29 21:08:13.041 - INFO: epoch: 2696 +23-06-29 21:08:13.041 - INFO: iters: 6752349 +23-06-29 21:11:01.096 - INFO: train/mse_loss: 0.0010341542428723885 +23-06-29 21:11:01.096 - INFO: epoch: 2697 +23-06-29 21:11:01.096 - INFO: iters: 6754853 +23-06-29 21:13:49.411 - INFO: train/mse_loss: 0.0010278185984988612 +23-06-29 21:13:49.412 - INFO: epoch: 2698 +23-06-29 21:13:49.412 - INFO: iters: 6757357 +23-06-29 21:16:38.722 - INFO: train/mse_loss: 0.0009964922106060119 +23-06-29 21:16:38.722 - INFO: epoch: 2699 +23-06-29 21:16:38.722 - INFO: iters: 6759861 +23-06-29 21:19:28.411 - INFO: train/mse_loss: 0.0010755417487076737 +23-06-29 21:19:28.411 - INFO: epoch: 2700 +23-06-29 21:19:28.411 - INFO: iters: 6762365 +23-06-29 21:22:18.626 - INFO: train/mse_loss: 0.0010869598481804132 +23-06-29 21:22:18.627 - INFO: epoch: 2701 +23-06-29 21:22:18.627 - INFO: iters: 6764869 +23-06-29 21:25:08.443 - INFO: train/mse_loss: 0.0010496126609659507 +23-06-29 21:25:08.444 - INFO: epoch: 2702 +23-06-29 21:25:08.444 - INFO: iters: 6767373 +23-06-29 21:27:57.948 - INFO: train/mse_loss: 0.0010212163413731983 +23-06-29 21:27:57.949 - INFO: epoch: 2703 +23-06-29 21:27:57.949 - INFO: iters: 6769877 +23-06-29 21:30:47.326 - INFO: train/mse_loss: 0.0009999857923855035 +23-06-29 21:30:47.326 - INFO: epoch: 2704 +23-06-29 21:30:47.326 - INFO: iters: 6772381 +23-06-29 21:33:37.397 - INFO: train/mse_loss: 0.0010213405931570802 +23-06-29 21:33:37.398 - INFO: epoch: 2705 +23-06-29 21:33:37.398 - INFO: iters: 6774885 +23-06-29 21:36:26.613 - INFO: train/mse_loss: 0.0010050633885397818 +23-06-29 21:36:26.614 - INFO: epoch: 2706 +23-06-29 21:36:26.614 - INFO: iters: 6777389 +23-06-29 21:39:15.035 - INFO: train/mse_loss: 0.0010202646097607208 +23-06-29 21:39:15.035 - INFO: epoch: 2707 +23-06-29 21:39:15.035 - INFO: iters: 6779893 +23-06-29 21:42:04.135 - INFO: train/mse_loss: 0.0010255908904286226 +23-06-29 21:42:04.136 - INFO: epoch: 2708 +23-06-29 21:42:04.136 - INFO: iters: 6782397 +23-06-29 21:44:52.806 - INFO: train/mse_loss: 0.001011435634281022 +23-06-29 21:44:52.806 - INFO: epoch: 2709 +23-06-29 21:44:52.806 - INFO: iters: 6784901 +23-06-29 21:47:42.736 - INFO: train/mse_loss: 0.0010369483513732296 +23-06-29 21:47:42.737 - INFO: epoch: 2710 +23-06-29 21:47:42.737 - INFO: iters: 6787405 +23-06-29 21:50:31.345 - INFO: train/mse_loss: 0.0010125203876936147 +23-06-29 21:50:31.346 - INFO: epoch: 2711 +23-06-29 21:50:31.346 - INFO: iters: 6789909 +23-06-29 21:53:19.727 - INFO: train/mse_loss: 0.0010421213150149384 +23-06-29 21:53:19.727 - INFO: epoch: 2712 +23-06-29 21:53:19.727 - INFO: iters: 6792413 +23-06-29 21:56:07.901 - INFO: train/mse_loss: 0.0010156161469829896 +23-06-29 21:56:07.901 - INFO: epoch: 2713 +23-06-29 21:56:07.901 - INFO: iters: 6794917 +23-06-29 21:58:56.711 - INFO: train/mse_loss: 0.001041293465298044 +23-06-29 21:58:56.711 - INFO: epoch: 2714 +23-06-29 21:58:56.711 - INFO: iters: 6797421 +23-06-29 22:01:44.670 - INFO: train/mse_loss: 0.0010025356343899743 +23-06-29 22:01:44.671 - INFO: epoch: 2715 +23-06-29 22:01:44.671 - INFO: iters: 6799925 +23-06-29 22:04:32.847 - INFO: train/mse_loss: 0.0010290462462329707 +23-06-29 22:04:32.848 - INFO: epoch: 2716 +23-06-29 22:04:32.848 - INFO: iters: 6802429 +23-06-29 22:07:21.033 - INFO: train/mse_loss: 0.000989203112286935 +23-06-29 22:07:21.033 - INFO: epoch: 2717 +23-06-29 22:07:21.033 - INFO: iters: 6804933 +23-06-29 22:10:09.411 - INFO: train/mse_loss: 0.001043469075001211 +23-06-29 22:10:09.411 - INFO: epoch: 2718 +23-06-29 22:10:09.411 - INFO: iters: 6807437 +23-06-29 22:12:58.826 - INFO: train/mse_loss: 0.001005318755683409 +23-06-29 22:12:58.827 - INFO: epoch: 2719 +23-06-29 22:12:58.827 - INFO: iters: 6809941 +23-06-29 22:15:46.831 - INFO: train/mse_loss: 0.0010059402468755615 +23-06-29 22:15:46.832 - INFO: epoch: 2720 +23-06-29 22:15:46.832 - INFO: iters: 6812445 +23-06-29 22:18:36.007 - INFO: train/mse_loss: 0.0009933925258328977 +23-06-29 22:18:36.009 - INFO: epoch: 2721 +23-06-29 22:18:36.010 - INFO: iters: 6814949 +23-06-29 22:21:26.736 - INFO: train/mse_loss: 0.0010124064719538018 +23-06-29 22:21:26.737 - INFO: epoch: 2722 +23-06-29 22:21:26.737 - INFO: iters: 6817453 +23-06-29 22:24:15.598 - INFO: train/mse_loss: 0.0010038958785247604 +23-06-29 22:24:15.598 - INFO: epoch: 2723 +23-06-29 22:24:15.598 - INFO: iters: 6819957 +23-06-29 22:27:05.220 - INFO: train/mse_loss: 0.0010245294263102889 +23-06-29 22:27:05.221 - INFO: epoch: 2724 +23-06-29 22:27:05.221 - INFO: iters: 6822461 +23-06-29 22:29:55.319 - INFO: train/mse_loss: 0.001046322958120636 +23-06-29 22:29:55.319 - INFO: epoch: 2725 +23-06-29 22:29:55.319 - INFO: iters: 6824965 +23-06-29 22:32:44.283 - INFO: train/mse_loss: 0.0010236766110858716 +23-06-29 22:32:44.284 - INFO: epoch: 2726 +23-06-29 22:32:44.284 - INFO: iters: 6827469 +23-06-29 22:35:33.134 - INFO: train/mse_loss: 0.001027919413144745 +23-06-29 22:35:33.135 - INFO: epoch: 2727 +23-06-29 22:35:33.135 - INFO: iters: 6829973 +23-06-29 22:38:21.871 - INFO: train/mse_loss: 0.0010317660809216348 +23-06-29 22:38:21.871 - INFO: epoch: 2728 +23-06-29 22:38:21.871 - INFO: iters: 6832477 +23-06-29 22:41:10.824 - INFO: train/mse_loss: 0.0010136630393180865 +23-06-29 22:41:10.825 - INFO: epoch: 2729 +23-06-29 22:41:10.825 - INFO: iters: 6834981 +23-06-29 22:44:00.200 - INFO: train/mse_loss: 0.0010133115716052417 +23-06-29 22:44:00.200 - INFO: epoch: 2730 +23-06-29 22:44:00.200 - INFO: iters: 6837485 +23-06-29 22:46:49.062 - INFO: train/mse_loss: 0.0010188031279051992 +23-06-29 22:46:49.062 - INFO: epoch: 2731 +23-06-29 22:46:49.063 - INFO: iters: 6839989 +23-06-29 22:49:37.450 - INFO: train/mse_loss: 0.0010066219622614427 +23-06-29 22:49:37.450 - INFO: epoch: 2732 +23-06-29 22:49:37.451 - INFO: iters: 6842493 +23-06-29 22:52:25.535 - INFO: train/mse_loss: 0.0010359388850138377 +23-06-29 22:52:25.536 - INFO: epoch: 2733 +23-06-29 22:52:25.536 - INFO: iters: 6844997 +23-06-29 22:55:14.637 - INFO: train/mse_loss: 0.001044824818735377 +23-06-29 22:55:14.638 - INFO: epoch: 2734 +23-06-29 22:55:14.638 - INFO: iters: 6847501 +23-06-29 22:58:03.206 - INFO: train/mse_loss: 0.0010247252437623794 +23-06-29 22:58:03.207 - INFO: epoch: 2735 +23-06-29 22:58:03.207 - INFO: iters: 6850005 +23-06-29 23:00:51.708 - INFO: train/mse_loss: 0.001033273672635932 +23-06-29 23:00:51.709 - INFO: epoch: 2736 +23-06-29 23:00:51.709 - INFO: iters: 6852509 +23-06-29 23:03:40.226 - INFO: train/mse_loss: 0.001019304365603277 +23-06-29 23:03:40.227 - INFO: epoch: 2737 +23-06-29 23:03:40.227 - INFO: iters: 6855013 +23-06-29 23:06:29.500 - INFO: train/mse_loss: 0.0010330113976563032 +23-06-29 23:06:29.500 - INFO: epoch: 2738 +23-06-29 23:06:29.500 - INFO: iters: 6857517 +23-06-29 23:09:18.309 - INFO: train/mse_loss: 0.000984830268734572 +23-06-29 23:09:18.310 - INFO: epoch: 2739 +23-06-29 23:09:18.310 - INFO: iters: 6860021 +23-06-29 23:12:06.954 - INFO: train/mse_loss: 0.0010196141813645146 +23-06-29 23:12:06.955 - INFO: epoch: 2740 +23-06-29 23:12:06.955 - INFO: iters: 6862525 +23-06-29 23:14:55.116 - INFO: train/mse_loss: 0.0010055674054212094 +23-06-29 23:14:55.117 - INFO: epoch: 2741 +23-06-29 23:14:55.117 - INFO: iters: 6865029 +23-06-29 23:17:44.389 - INFO: train/mse_loss: 0.001020342093083811 +23-06-29 23:17:44.389 - INFO: epoch: 2742 +23-06-29 23:17:44.389 - INFO: iters: 6867533 +23-06-29 23:20:32.780 - INFO: train/mse_loss: 0.0009878906086622811 +23-06-29 23:20:32.781 - INFO: epoch: 2743 +23-06-29 23:20:32.781 - INFO: iters: 6870037 +23-06-29 23:23:22.285 - INFO: train/mse_loss: 0.0010013795928648724 +23-06-29 23:23:22.285 - INFO: epoch: 2744 +23-06-29 23:23:22.286 - INFO: iters: 6872541 +23-06-29 23:26:10.890 - INFO: train/mse_loss: 0.001021053348485672 +23-06-29 23:26:10.890 - INFO: epoch: 2745 +23-06-29 23:26:10.890 - INFO: iters: 6875045 +23-06-29 23:28:59.284 - INFO: train/mse_loss: 0.0010098397599558491 +23-06-29 23:28:59.285 - INFO: epoch: 2746 +23-06-29 23:28:59.285 - INFO: iters: 6877549 +23-06-29 23:31:47.612 - INFO: train/mse_loss: 0.0010349804399008402 +23-06-29 23:31:47.613 - INFO: epoch: 2747 +23-06-29 23:31:47.613 - INFO: iters: 6880053 +23-06-29 23:34:36.031 - INFO: train/mse_loss: 0.0010065274057759585 +23-06-29 23:34:36.031 - INFO: epoch: 2748 +23-06-29 23:34:36.031 - INFO: iters: 6882557 +23-06-29 23:37:24.567 - INFO: train/mse_loss: 0.0010298684346504486 +23-06-29 23:37:24.569 - INFO: epoch: 2749 +23-06-29 23:37:24.569 - INFO: iters: 6885061 +23-06-29 23:40:14.062 - INFO: train/mse_loss: 0.001006367385942346 +23-06-29 23:40:14.063 - INFO: epoch: 2750 +23-06-29 23:40:14.063 - INFO: iters: 6887565 +23-06-29 23:43:03.574 - INFO: train/mse_loss: 0.0010195228324372905 +23-06-29 23:43:03.574 - INFO: epoch: 2751 +23-06-29 23:43:03.574 - INFO: iters: 6890069 +23-06-29 23:45:52.575 - INFO: train/mse_loss: 0.0010064625031182381 +23-06-29 23:45:52.576 - INFO: epoch: 2752 +23-06-29 23:45:52.576 - INFO: iters: 6892573 +23-06-29 23:48:41.484 - INFO: train/mse_loss: 0.0009823612127335558 +23-06-29 23:48:41.485 - INFO: epoch: 2753 +23-06-29 23:48:41.485 - INFO: iters: 6895077 +23-06-29 23:51:32.263 - INFO: train/mse_loss: 0.0009982764446429503 +23-06-29 23:51:32.264 - INFO: epoch: 2754 +23-06-29 23:51:32.264 - INFO: iters: 6897581 +23-06-29 23:54:22.793 - INFO: train/mse_loss: 0.0010133095033736097 +23-06-29 23:54:22.794 - INFO: epoch: 2755 +23-06-29 23:54:22.794 - INFO: iters: 6900085 +23-06-29 23:57:11.327 - INFO: train/mse_loss: 0.0010459416673500865 +23-06-29 23:57:11.328 - INFO: epoch: 2756 +23-06-29 23:57:11.328 - INFO: iters: 6902589 +23-06-30 00:00:00.517 - INFO: train/mse_loss: 0.0010360360419684159 +23-06-30 00:00:00.517 - INFO: epoch: 2757 +23-06-30 00:00:00.518 - INFO: iters: 6905093 +23-06-30 00:02:49.410 - INFO: train/mse_loss: 0.0010298054836230715 +23-06-30 00:02:49.411 - INFO: epoch: 2758 +23-06-30 00:02:49.411 - INFO: iters: 6907597 +23-06-30 00:05:38.869 - INFO: train/mse_loss: 0.000990200929768449 +23-06-30 00:05:38.869 - INFO: epoch: 2759 +23-06-30 00:05:38.869 - INFO: iters: 6910101 +23-06-30 00:08:27.485 - INFO: train/mse_loss: 0.0009826373503418466 +23-06-30 00:08:27.486 - INFO: epoch: 2760 +23-06-30 00:08:27.486 - INFO: iters: 6912605 +23-06-30 00:11:16.585 - INFO: train/mse_loss: 0.0010077276900514794 +23-06-30 00:11:16.586 - INFO: epoch: 2761 +23-06-30 00:11:16.586 - INFO: iters: 6915109 +23-06-30 00:14:06.362 - INFO: train/mse_loss: 0.000982498889565825 +23-06-30 00:14:06.362 - INFO: epoch: 2762 +23-06-30 00:14:06.362 - INFO: iters: 6917613 +23-06-30 00:16:55.416 - INFO: train/mse_loss: 0.0010279247231525593 +23-06-30 00:16:55.417 - INFO: epoch: 2763 +23-06-30 00:16:55.417 - INFO: iters: 6920117 +23-06-30 00:19:44.430 - INFO: train/mse_loss: 0.0010305050734100273 +23-06-30 00:19:44.430 - INFO: epoch: 2764 +23-06-30 00:19:44.431 - INFO: iters: 6922621 +23-06-30 00:22:34.764 - INFO: train/mse_loss: 0.0010166892501229522 +23-06-30 00:22:34.765 - INFO: epoch: 2765 +23-06-30 00:22:34.765 - INFO: iters: 6925125 +23-06-30 00:25:23.608 - INFO: train/mse_loss: 0.0010009823847166336 +23-06-30 00:25:23.608 - INFO: epoch: 2766 +23-06-30 00:25:23.609 - INFO: iters: 6927629 +23-06-30 00:28:12.067 - INFO: train/mse_loss: 0.001008502056319326 +23-06-30 00:28:12.069 - INFO: epoch: 2767 +23-06-30 00:28:12.069 - INFO: iters: 6930133 +23-06-30 00:31:00.994 - INFO: train/mse_loss: 0.0009860285567476774 +23-06-30 00:31:00.995 - INFO: epoch: 2768 +23-06-30 00:31:00.995 - INFO: iters: 6932637 +23-06-30 00:33:50.628 - INFO: train/mse_loss: 0.0010216739764191602 +23-06-30 00:33:50.628 - INFO: epoch: 2769 +23-06-30 00:33:50.628 - INFO: iters: 6935141 +23-06-30 00:36:40.889 - INFO: train/mse_loss: 0.001026130851377516 +23-06-30 00:36:40.890 - INFO: epoch: 2770 +23-06-30 00:36:40.890 - INFO: iters: 6937645 +23-06-30 00:39:29.327 - INFO: train/mse_loss: 0.0010244991536774396 +23-06-30 00:39:29.328 - INFO: epoch: 2771 +23-06-30 00:39:29.328 - INFO: iters: 6940149 +23-06-30 00:42:18.974 - INFO: train/mse_loss: 0.0010459322789007019 +23-06-30 00:42:18.975 - INFO: epoch: 2772 +23-06-30 00:42:18.975 - INFO: iters: 6942653 +23-06-30 00:45:08.013 - INFO: train/mse_loss: 0.0010065363628749613 +23-06-30 00:45:08.014 - INFO: epoch: 2773 +23-06-30 00:45:08.014 - INFO: iters: 6945157 +23-06-30 00:47:57.074 - INFO: train/mse_loss: 0.001037471950018463 +23-06-30 00:47:57.075 - INFO: epoch: 2774 +23-06-30 00:47:57.075 - INFO: iters: 6947661 +23-06-30 00:50:45.905 - INFO: train/mse_loss: 0.001024533198836197 +23-06-30 00:50:45.905 - INFO: epoch: 2775 +23-06-30 00:50:45.905 - INFO: iters: 6950165 +23-06-30 00:53:35.358 - INFO: train/mse_loss: 0.0009970905494685776 +23-06-30 00:53:35.359 - INFO: epoch: 2776 +23-06-30 00:53:35.359 - INFO: iters: 6952669 +23-06-30 00:56:23.571 - INFO: train/mse_loss: 0.0010162639168884082 +23-06-30 00:56:23.572 - INFO: epoch: 2777 +23-06-30 00:56:23.572 - INFO: iters: 6955173 +23-06-30 00:59:14.137 - INFO: train/mse_loss: 0.0010003060898029457 +23-06-30 00:59:14.137 - INFO: epoch: 2778 +23-06-30 00:59:14.138 - INFO: iters: 6957677 +23-06-30 01:02:03.665 - INFO: train/mse_loss: 0.0010058440829845913 +23-06-30 01:02:03.665 - INFO: epoch: 2779 +23-06-30 01:02:03.665 - INFO: iters: 6960181 +23-06-30 01:04:52.562 - INFO: train/mse_loss: 0.000997585107047206 +23-06-30 01:04:52.563 - INFO: epoch: 2780 +23-06-30 01:04:52.563 - INFO: iters: 6962685 +23-06-30 01:07:44.819 - INFO: train/mse_loss: 0.0010097885851007395 +23-06-30 01:07:44.820 - INFO: epoch: 2781 +23-06-30 01:07:44.820 - INFO: iters: 6965189 +23-06-30 01:10:33.919 - INFO: train/mse_loss: 0.0010298211703087374 +23-06-30 01:10:33.920 - INFO: epoch: 2782 +23-06-30 01:10:33.921 - INFO: iters: 6967693 +23-06-30 01:13:22.754 - INFO: train/mse_loss: 0.000988581643503802 +23-06-30 01:13:22.754 - INFO: epoch: 2783 +23-06-30 01:13:22.754 - INFO: iters: 6970197 +23-06-30 01:16:11.370 - INFO: train/mse_loss: 0.001015476537117074 +23-06-30 01:16:11.370 - INFO: epoch: 2784 +23-06-30 01:16:11.370 - INFO: iters: 6972701 +23-06-30 01:18:59.973 - INFO: train/mse_loss: 0.001008201766344079 +23-06-30 01:18:59.974 - INFO: epoch: 2785 +23-06-30 01:18:59.974 - INFO: iters: 6975205 +23-06-30 01:21:50.539 - INFO: train/mse_loss: 0.0010090633960308346 +23-06-30 01:21:50.540 - INFO: epoch: 2786 +23-06-30 01:21:50.541 - INFO: iters: 6977709 +23-06-30 01:24:39.177 - INFO: train/mse_loss: 0.0010207650000073265 +23-06-30 01:24:39.178 - INFO: epoch: 2787 +23-06-30 01:24:39.178 - INFO: iters: 6980213 +23-06-30 01:27:29.043 - INFO: train/mse_loss: 0.0011107713064422813 +23-06-30 01:27:29.044 - INFO: epoch: 2788 +23-06-30 01:27:29.044 - INFO: iters: 6982717 +23-06-30 01:30:18.607 - INFO: train/mse_loss: 0.0010022947091621142 +23-06-30 01:30:18.607 - INFO: epoch: 2789 +23-06-30 01:30:18.608 - INFO: iters: 6985221 +23-06-30 01:33:07.727 - INFO: train/mse_loss: 0.0010058022561310507 +23-06-30 01:33:07.727 - INFO: epoch: 2790 +23-06-30 01:33:07.728 - INFO: iters: 6987725 +23-06-30 01:35:56.870 - INFO: train/mse_loss: 0.001008367065500956 +23-06-30 01:35:56.870 - INFO: epoch: 2791 +23-06-30 01:35:56.870 - INFO: iters: 6990229 +23-06-30 01:38:45.260 - INFO: train/mse_loss: 0.0010358273549512706 +23-06-30 01:38:45.261 - INFO: epoch: 2792 +23-06-30 01:38:45.261 - INFO: iters: 6992733 +23-06-30 01:41:33.834 - INFO: train/mse_loss: 0.0010058791561687467 +23-06-30 01:41:33.834 - INFO: epoch: 2793 +23-06-30 01:41:33.835 - INFO: iters: 6995237 +23-06-30 01:44:22.287 - INFO: train/mse_loss: 0.0009782508015818597 +23-06-30 01:44:22.287 - INFO: epoch: 2794 +23-06-30 01:44:22.288 - INFO: iters: 6997741 +23-06-30 01:47:11.142 - INFO: train/mse_loss: 0.0009990036983181314 +23-06-30 01:47:11.143 - INFO: epoch: 2795 +23-06-30 01:47:11.143 - INFO: iters: 7000245 +23-06-30 01:49:59.703 - INFO: train/mse_loss: 0.001019147670766065 +23-06-30 01:49:59.704 - INFO: epoch: 2796 +23-06-30 01:49:59.704 - INFO: iters: 7002749 +23-06-30 01:52:48.151 - INFO: train/mse_loss: 0.0010058565551382356 +23-06-30 01:52:48.152 - INFO: epoch: 2797 +23-06-30 01:52:48.152 - INFO: iters: 7005253 +23-06-30 01:55:37.574 - INFO: train/mse_loss: 0.0009893635931326607 +23-06-30 01:55:37.575 - INFO: epoch: 2798 +23-06-30 01:55:37.575 - INFO: iters: 7007757 +23-06-30 01:58:27.029 - INFO: train/mse_loss: 0.0010044719969382148 +23-06-30 01:58:27.030 - INFO: epoch: 2799 +23-06-30 01:58:27.030 - INFO: iters: 7010261 +23-06-30 02:01:15.187 - INFO: train/mse_loss: 0.00099975190377577 +23-06-30 02:01:15.188 - INFO: epoch: 2800 +23-06-30 02:01:15.188 - INFO: iters: 7012765 +23-06-30 02:04:03.823 - INFO: train/mse_loss: 0.0010019696056143567 +23-06-30 02:04:03.825 - INFO: epoch: 2801 +23-06-30 02:04:03.825 - INFO: iters: 7015269 +23-06-30 02:06:52.046 - INFO: train/mse_loss: 0.0010177327356987093 +23-06-30 02:06:52.047 - INFO: epoch: 2802 +23-06-30 02:06:52.047 - INFO: iters: 7017773 +23-06-30 02:09:41.678 - INFO: train/mse_loss: 0.0009935827979359764 +23-06-30 02:09:41.679 - INFO: epoch: 2803 +23-06-30 02:09:41.679 - INFO: iters: 7020277 +23-06-30 02:12:32.523 - INFO: train/mse_loss: 0.0010015551227155312 +23-06-30 02:12:32.524 - INFO: epoch: 2804 +23-06-30 02:12:32.524 - INFO: iters: 7022781 +23-06-30 02:15:21.477 - INFO: train/mse_loss: 0.000990815061875753 +23-06-30 02:15:21.477 - INFO: epoch: 2805 +23-06-30 02:15:21.477 - INFO: iters: 7025285 +23-06-30 02:18:11.560 - INFO: train/mse_loss: 0.0009913672336947007 +23-06-30 02:18:11.561 - INFO: epoch: 2806 +23-06-30 02:18:11.561 - INFO: iters: 7027789 +23-06-30 02:21:00.604 - INFO: train/mse_loss: 0.0010488196859134737 +23-06-30 02:21:00.605 - INFO: epoch: 2807 +23-06-30 02:21:00.605 - INFO: iters: 7030293 +23-06-30 02:23:49.421 - INFO: train/mse_loss: 0.0010330488227647 +23-06-30 02:23:49.422 - INFO: epoch: 2808 +23-06-30 02:23:49.422 - INFO: iters: 7032797 +23-06-30 02:26:37.569 - INFO: train/mse_loss: 0.0010190317762447314 +23-06-30 02:26:37.570 - INFO: epoch: 2809 +23-06-30 02:26:37.570 - INFO: iters: 7035301 +23-06-30 02:29:26.386 - INFO: train/mse_loss: 0.0009700627624653816 +23-06-30 02:29:26.386 - INFO: epoch: 2810 +23-06-30 02:29:26.386 - INFO: iters: 7037805 +23-06-30 02:32:15.361 - INFO: train/mse_loss: 0.0010053150057524871 +23-06-30 02:32:15.362 - INFO: epoch: 2811 +23-06-30 02:32:15.362 - INFO: iters: 7040309 +23-06-30 02:35:03.565 - INFO: train/mse_loss: 0.0009808687122386938 +23-06-30 02:35:03.565 - INFO: epoch: 2812 +23-06-30 02:35:03.565 - INFO: iters: 7042813 +23-06-30 02:37:52.819 - INFO: train/mse_loss: 0.0009818736987468153 +23-06-30 02:37:52.819 - INFO: epoch: 2813 +23-06-30 02:37:52.820 - INFO: iters: 7045317 +23-06-30 02:40:41.242 - INFO: train/mse_loss: 0.000980920027684831 +23-06-30 02:40:41.243 - INFO: epoch: 2814 +23-06-30 02:40:41.243 - INFO: iters: 7047821 +23-06-30 02:43:29.857 - INFO: train/mse_loss: 0.0010025485519345064 +23-06-30 02:43:29.860 - INFO: epoch: 2815 +23-06-30 02:43:29.860 - INFO: iters: 7050325 +23-06-30 02:46:18.101 - INFO: train/mse_loss: 0.0009966667509264352 +23-06-30 02:46:18.101 - INFO: epoch: 2816 +23-06-30 02:46:18.102 - INFO: iters: 7052829 +23-06-30 02:49:06.381 - INFO: train/mse_loss: 0.0009997091002237146 +23-06-30 02:49:06.382 - INFO: epoch: 2817 +23-06-30 02:49:06.382 - INFO: iters: 7055333 +23-06-30 02:51:54.633 - INFO: train/mse_loss: 0.0010187235720732365 +23-06-30 02:51:54.634 - INFO: epoch: 2818 +23-06-30 02:51:54.634 - INFO: iters: 7057837 +23-06-30 02:54:43.245 - INFO: train/mse_loss: 0.000992097442849917 +23-06-30 02:54:43.246 - INFO: epoch: 2819 +23-06-30 02:54:43.246 - INFO: iters: 7060341 +23-06-30 02:57:31.611 - INFO: train/mse_loss: 0.0009780948067243142 +23-06-30 02:57:31.612 - INFO: epoch: 2820 +23-06-30 02:57:31.612 - INFO: iters: 7062845 +23-06-30 03:00:20.156 - INFO: train/mse_loss: 0.0010119908859919067 +23-06-30 03:00:20.156 - INFO: epoch: 2821 +23-06-30 03:00:20.156 - INFO: iters: 7065349 +23-06-30 03:03:08.969 - INFO: train/mse_loss: 0.0009894353067375922 +23-06-30 03:03:08.969 - INFO: epoch: 2822 +23-06-30 03:03:08.969 - INFO: iters: 7067853 +23-06-30 03:05:57.177 - INFO: train/mse_loss: 0.0009719931936901682 +23-06-30 03:05:57.178 - INFO: epoch: 2823 +23-06-30 03:05:57.178 - INFO: iters: 7070357 +23-06-30 03:08:46.557 - INFO: train/mse_loss: 0.0009672409468389952 +23-06-30 03:08:46.557 - INFO: epoch: 2824 +23-06-30 03:08:46.557 - INFO: iters: 7072861 +23-06-30 03:11:35.114 - INFO: train/mse_loss: 0.0009792516186175803 +23-06-30 03:11:35.115 - INFO: epoch: 2825 +23-06-30 03:11:35.115 - INFO: iters: 7075365 +23-06-30 03:14:23.386 - INFO: train/mse_loss: 0.0009896359502184636 +23-06-30 03:14:23.386 - INFO: epoch: 2826 +23-06-30 03:14:23.386 - INFO: iters: 7077869 +23-06-30 03:17:11.349 - INFO: train/mse_loss: 0.0009966391884831908 +23-06-30 03:17:11.350 - INFO: epoch: 2827 +23-06-30 03:17:11.350 - INFO: iters: 7080373 +23-06-30 03:19:59.717 - INFO: train/mse_loss: 0.0010157270990602209 +23-06-30 03:19:59.718 - INFO: epoch: 2828 +23-06-30 03:19:59.718 - INFO: iters: 7082877 +23-06-30 03:22:47.693 - INFO: train/mse_loss: 0.0009953192355797087 +23-06-30 03:22:47.693 - INFO: epoch: 2829 +23-06-30 03:22:47.693 - INFO: iters: 7085381 +23-06-30 03:25:36.390 - INFO: train/mse_loss: 0.0010139428163929202 +23-06-30 03:25:36.391 - INFO: epoch: 2830 +23-06-30 03:25:36.391 - INFO: iters: 7087885 +23-06-30 03:28:24.550 - INFO: train/mse_loss: 0.0009930621987519661 +23-06-30 03:28:24.550 - INFO: epoch: 2831 +23-06-30 03:28:24.551 - INFO: iters: 7090389 +23-06-30 03:31:12.499 - INFO: train/mse_loss: 0.000998695492286967 +23-06-30 03:31:12.499 - INFO: epoch: 2832 +23-06-30 03:31:12.500 - INFO: iters: 7092893 +23-06-30 03:34:00.793 - INFO: train/mse_loss: 0.0010058166390023054 +23-06-30 03:34:00.794 - INFO: epoch: 2833 +23-06-30 03:34:00.794 - INFO: iters: 7095397 +23-06-30 03:36:48.772 - INFO: train/mse_loss: 0.0010027106727299373 +23-06-30 03:36:48.772 - INFO: epoch: 2834 +23-06-30 03:36:48.773 - INFO: iters: 7097901 +23-06-30 03:39:36.618 - INFO: train/mse_loss: 0.000997845821206074 +23-06-30 03:39:36.619 - INFO: epoch: 2835 +23-06-30 03:39:36.619 - INFO: iters: 7100405 +23-06-30 03:42:24.415 - INFO: train/mse_loss: 0.0010790308774151385 +23-06-30 03:42:24.415 - INFO: epoch: 2836 +23-06-30 03:42:24.415 - INFO: iters: 7102909 +23-06-30 03:45:12.239 - INFO: train/mse_loss: 0.0009964758400268221 +23-06-30 03:45:12.239 - INFO: epoch: 2837 +23-06-30 03:45:12.239 - INFO: iters: 7105413 +23-06-30 03:48:00.557 - INFO: train/mse_loss: 0.0010064169529270524 +23-06-30 03:48:00.558 - INFO: epoch: 2838 +23-06-30 03:48:00.558 - INFO: iters: 7107917 +23-06-30 03:50:50.416 - INFO: train/mse_loss: 0.0010931346996556433 +23-06-30 03:50:50.417 - INFO: epoch: 2839 +23-06-30 03:50:50.417 - INFO: iters: 7110421 +23-06-30 03:53:38.604 - INFO: train/mse_loss: 0.0010057142555390814 +23-06-30 03:53:38.605 - INFO: epoch: 2840 +23-06-30 03:53:38.605 - INFO: iters: 7112925 +23-06-30 03:56:28.732 - INFO: train/mse_loss: 0.0010121195747616728 +23-06-30 03:56:28.733 - INFO: epoch: 2841 +23-06-30 03:56:28.733 - INFO: iters: 7115429 +23-06-30 03:59:18.710 - INFO: train/mse_loss: 0.0009844274339697566 +23-06-30 03:59:18.710 - INFO: epoch: 2842 +23-06-30 03:59:18.710 - INFO: iters: 7117933 +23-06-30 04:02:06.969 - INFO: train/mse_loss: 0.000986335307401352 +23-06-30 04:02:06.969 - INFO: epoch: 2843 +23-06-30 04:02:06.969 - INFO: iters: 7120437 +23-06-30 04:04:55.066 - INFO: train/mse_loss: 0.0009682441091971299 +23-06-30 04:04:55.067 - INFO: epoch: 2844 +23-06-30 04:04:55.067 - INFO: iters: 7122941 +23-06-30 04:07:43.172 - INFO: train/mse_loss: 0.0009804827825221332 +23-06-30 04:07:43.172 - INFO: epoch: 2845 +23-06-30 04:07:43.173 - INFO: iters: 7125445 +23-06-30 04:10:31.862 - INFO: train/mse_loss: 0.0009887292137787567 +23-06-30 04:10:31.863 - INFO: epoch: 2846 +23-06-30 04:10:31.863 - INFO: iters: 7127949 +23-06-30 04:13:20.596 - INFO: train/mse_loss: 0.0009788329656884526 +23-06-30 04:13:20.596 - INFO: epoch: 2847 +23-06-30 04:13:20.597 - INFO: iters: 7130453 +23-06-30 04:16:09.691 - INFO: train/mse_loss: 0.0009866501844395844 +23-06-30 04:16:09.692 - INFO: epoch: 2848 +23-06-30 04:16:09.692 - INFO: iters: 7132957 +23-06-30 04:18:59.499 - INFO: train/mse_loss: 0.0009857163588425663 +23-06-30 04:18:59.499 - INFO: epoch: 2849 +23-06-30 04:18:59.499 - INFO: iters: 7135461 +23-06-30 04:21:47.985 - INFO: train/mse_loss: 0.0009785469138091757 +23-06-30 04:21:47.985 - INFO: epoch: 2850 +23-06-30 04:21:47.986 - INFO: iters: 7137965 +23-06-30 04:24:37.393 - INFO: train/mse_loss: 0.0010138970353237439 +23-06-30 04:24:37.393 - INFO: epoch: 2851 +23-06-30 04:24:37.393 - INFO: iters: 7140469 +23-06-30 04:27:26.265 - INFO: train/mse_loss: 0.0009749419741725293 +23-06-30 04:27:26.266 - INFO: epoch: 2852 +23-06-30 04:27:26.266 - INFO: iters: 7142973 +23-06-30 04:30:14.811 - INFO: train/mse_loss: 0.0010020006444311131 +23-06-30 04:30:14.812 - INFO: epoch: 2853 +23-06-30 04:30:14.812 - INFO: iters: 7145477 +23-06-30 04:33:03.385 - INFO: train/mse_loss: 0.0009888293351397847 +23-06-30 04:33:03.386 - INFO: epoch: 2854 +23-06-30 04:33:03.386 - INFO: iters: 7147981 +23-06-30 04:35:53.161 - INFO: train/mse_loss: 0.0009694190251606757 +23-06-30 04:35:53.162 - INFO: epoch: 2855 +23-06-30 04:35:53.162 - INFO: iters: 7150485 +23-06-30 04:38:43.528 - INFO: train/mse_loss: 0.0009790043879937106 +23-06-30 04:38:43.529 - INFO: epoch: 2856 +23-06-30 04:38:43.529 - INFO: iters: 7152989 +23-06-30 04:41:35.973 - INFO: train/mse_loss: 0.001001436376855664 +23-06-30 04:41:35.973 - INFO: epoch: 2857 +23-06-30 04:41:35.974 - INFO: iters: 7155493 +23-06-30 04:44:26.779 - INFO: train/mse_loss: 0.0009727848688335405 +23-06-30 04:44:26.779 - INFO: epoch: 2858 +23-06-30 04:44:26.780 - INFO: iters: 7157997 +23-06-30 04:47:16.219 - INFO: train/mse_loss: 0.0009885650481835317 +23-06-30 04:47:16.220 - INFO: epoch: 2859 +23-06-30 04:47:16.220 - INFO: iters: 7160501 +23-06-30 04:50:04.558 - INFO: train/mse_loss: 0.0010060551831091102 +23-06-30 04:50:04.558 - INFO: epoch: 2860 +23-06-30 04:50:04.558 - INFO: iters: 7163005 +23-06-30 04:52:52.695 - INFO: train/mse_loss: 0.0009943073114808709 +23-06-30 04:52:52.696 - INFO: epoch: 2861 +23-06-30 04:52:52.696 - INFO: iters: 7165509 +23-06-30 04:55:40.787 - INFO: train/mse_loss: 0.0009561491258533154 +23-06-30 04:55:40.788 - INFO: epoch: 2862 +23-06-30 04:55:40.788 - INFO: iters: 7168013 +23-06-30 04:58:28.648 - INFO: train/mse_loss: 0.0009966557971930828 +23-06-30 04:58:28.649 - INFO: epoch: 2863 +23-06-30 04:58:28.649 - INFO: iters: 7170517 +23-06-30 05:01:16.420 - INFO: train/mse_loss: 0.0009651078620163825 +23-06-30 05:01:16.421 - INFO: epoch: 2864 +23-06-30 05:01:16.421 - INFO: iters: 7173021 +23-06-30 05:04:04.209 - INFO: train/mse_loss: 0.000979487286466278 +23-06-30 05:04:04.210 - INFO: epoch: 2865 +23-06-30 05:04:04.210 - INFO: iters: 7175525 +23-06-30 05:06:52.942 - INFO: train/mse_loss: 0.000988524160184228 +23-06-30 05:06:52.943 - INFO: epoch: 2866 +23-06-30 05:06:52.943 - INFO: iters: 7178029 +23-06-30 05:09:41.212 - INFO: train/mse_loss: 0.0009945831497753272 +23-06-30 05:09:41.213 - INFO: epoch: 2867 +23-06-30 05:09:41.213 - INFO: iters: 7180533 +23-06-30 05:12:31.289 - INFO: train/mse_loss: 0.000971059324297929 +23-06-30 05:12:31.289 - INFO: epoch: 2868 +23-06-30 05:12:31.289 - INFO: iters: 7183037 +23-06-30 05:15:19.273 - INFO: train/mse_loss: 0.0009934423697224191 +23-06-30 05:15:19.273 - INFO: epoch: 2869 +23-06-30 05:15:19.273 - INFO: iters: 7185541 +23-06-30 05:18:07.715 - INFO: train/mse_loss: 0.0009856782930779656 +23-06-30 05:18:07.716 - INFO: epoch: 2870 +23-06-30 05:18:07.716 - INFO: iters: 7188045 +23-06-30 05:20:55.873 - INFO: train/mse_loss: 0.0009740456834044189 +23-06-30 05:20:55.873 - INFO: epoch: 2871 +23-06-30 05:20:55.873 - INFO: iters: 7190549 +23-06-30 05:23:44.737 - INFO: train/mse_loss: 0.0009623820405861083 +23-06-30 05:23:44.738 - INFO: epoch: 2872 +23-06-30 05:23:44.738 - INFO: iters: 7193053 +23-06-30 05:26:33.965 - INFO: train/mse_loss: 0.0009643634863624784 +23-06-30 05:26:33.966 - INFO: epoch: 2873 +23-06-30 05:26:33.966 - INFO: iters: 7195557 +23-06-30 05:29:23.642 - INFO: train/mse_loss: 0.0010080670667499804 +23-06-30 05:29:23.643 - INFO: epoch: 2874 +23-06-30 05:29:23.643 - INFO: iters: 7198061 +23-06-30 05:32:13.756 - INFO: train/mse_loss: 0.0009945187110122079 +23-06-30 05:32:13.756 - INFO: epoch: 2875 +23-06-30 05:32:13.757 - INFO: iters: 7200565 +23-06-30 05:35:04.224 - INFO: train/mse_loss: 0.000993822592577656 +23-06-30 05:35:04.225 - INFO: epoch: 2876 +23-06-30 05:35:04.225 - INFO: iters: 7203069 +23-06-30 05:37:53.091 - INFO: train/mse_loss: 0.0009687376744560183 +23-06-30 05:37:53.091 - INFO: epoch: 2877 +23-06-30 05:37:53.091 - INFO: iters: 7205573 +23-06-30 05:40:43.576 - INFO: train/mse_loss: 0.0010625269197406598 +23-06-30 05:40:43.577 - INFO: epoch: 2878 +23-06-30 05:40:43.577 - INFO: iters: 7208077 +23-06-30 05:43:32.914 - INFO: train/mse_loss: 0.0010247750029439469 +23-06-30 05:43:32.915 - INFO: epoch: 2879 +23-06-30 05:43:32.915 - INFO: iters: 7210581 +23-06-30 05:46:22.836 - INFO: train/mse_loss: 0.0009747743205808568 +23-06-30 05:46:22.837 - INFO: epoch: 2880 +23-06-30 05:46:22.837 - INFO: iters: 7213085 +23-06-30 05:49:11.900 - INFO: train/mse_loss: 0.0009670356327047447 +23-06-30 05:49:11.901 - INFO: epoch: 2881 +23-06-30 05:49:11.901 - INFO: iters: 7215589 +23-06-30 05:52:00.716 - INFO: train/mse_loss: 0.0009834499862870743 +23-06-30 05:52:00.717 - INFO: epoch: 2882 +23-06-30 05:52:00.717 - INFO: iters: 7218093 +23-06-30 05:54:49.489 - INFO: train/mse_loss: 0.000983612480225226 +23-06-30 05:54:49.490 - INFO: epoch: 2883 +23-06-30 05:54:49.490 - INFO: iters: 7220597 +23-06-30 05:57:38.551 - INFO: train/mse_loss: 0.0009809793807162989 +23-06-30 05:57:38.552 - INFO: epoch: 2884 +23-06-30 05:57:38.552 - INFO: iters: 7223101 +23-06-30 06:00:27.686 - INFO: train/mse_loss: 0.0009799853279500808 +23-06-30 06:00:27.687 - INFO: epoch: 2885 +23-06-30 06:00:27.687 - INFO: iters: 7225605 +23-06-30 06:03:17.118 - INFO: train/mse_loss: 0.0009584092582872036 +23-06-30 06:03:17.118 - INFO: epoch: 2886 +23-06-30 06:03:17.118 - INFO: iters: 7228109 +23-06-30 06:06:06.503 - INFO: train/mse_loss: 0.0009750909147450861 +23-06-30 06:06:06.503 - INFO: epoch: 2887 +23-06-30 06:06:06.503 - INFO: iters: 7230613 +23-06-30 06:08:55.161 - INFO: train/mse_loss: 0.0009624385346543972 +23-06-30 06:08:55.162 - INFO: epoch: 2888 +23-06-30 06:08:55.162 - INFO: iters: 7233117 +23-06-30 06:11:44.150 - INFO: train/mse_loss: 0.0009589760310236758 +23-06-30 06:11:44.150 - INFO: epoch: 2889 +23-06-30 06:11:44.150 - INFO: iters: 7235621 +23-06-30 06:14:34.277 - INFO: train/mse_loss: 0.0009856243336464638 +23-06-30 06:14:34.278 - INFO: epoch: 2890 +23-06-30 06:14:34.278 - INFO: iters: 7238125 +23-06-30 06:17:24.466 - INFO: train/mse_loss: 0.0009806937348958962 +23-06-30 06:17:24.467 - INFO: epoch: 2891 +23-06-30 06:17:24.467 - INFO: iters: 7240629 +23-06-30 06:20:15.056 - INFO: train/mse_loss: 0.0010021192836389243 +23-06-30 06:20:15.057 - INFO: epoch: 2892 +23-06-30 06:20:15.057 - INFO: iters: 7243133 +23-06-30 06:23:04.113 - INFO: train/mse_loss: 0.0009791005108789645 +23-06-30 06:23:04.114 - INFO: epoch: 2893 +23-06-30 06:23:04.114 - INFO: iters: 7245637 +23-06-30 06:25:53.055 - INFO: train/mse_loss: 0.0009793400190385303 +23-06-30 06:25:53.056 - INFO: epoch: 2894 +23-06-30 06:25:53.057 - INFO: iters: 7248141 +23-06-30 06:28:42.574 - INFO: train/mse_loss: 0.0010110063339991216 +23-06-30 06:28:42.575 - INFO: epoch: 2895 +23-06-30 06:28:42.575 - INFO: iters: 7250645 +23-06-30 06:31:32.617 - INFO: train/mse_loss: 0.0009959781548557298 +23-06-30 06:31:32.618 - INFO: epoch: 2896 +23-06-30 06:31:32.618 - INFO: iters: 7253149 +23-06-30 06:34:23.899 - INFO: train/mse_loss: 0.0010118352113694799 +23-06-30 06:34:23.900 - INFO: epoch: 2897 +23-06-30 06:34:23.900 - INFO: iters: 7255653 +23-06-30 06:37:15.536 - INFO: train/mse_loss: 0.0009923499457303066 +23-06-30 06:37:15.537 - INFO: epoch: 2898 +23-06-30 06:37:15.537 - INFO: iters: 7258157 +23-06-30 06:40:06.554 - INFO: train/mse_loss: 0.0009726550604496449 +23-06-30 06:40:06.555 - INFO: epoch: 2899 +23-06-30 06:40:06.555 - INFO: iters: 7260661 +23-06-30 06:42:55.293 - INFO: train/mse_loss: 0.0009709889748536895 +23-06-30 06:42:55.293 - INFO: epoch: 2900 +23-06-30 06:42:55.293 - INFO: iters: 7263165 +23-06-30 06:45:44.151 - INFO: train/mse_loss: 0.0009813635777786208 +23-06-30 06:45:44.152 - INFO: epoch: 2901 +23-06-30 06:45:44.152 - INFO: iters: 7265669 +23-06-30 06:48:33.207 - INFO: train/mse_loss: 0.0009855258903583696 +23-06-30 06:48:33.208 - INFO: epoch: 2902 +23-06-30 06:48:33.208 - INFO: iters: 7268173 +23-06-30 06:51:21.811 - INFO: train/mse_loss: 0.0009975619423508155 +23-06-30 06:51:21.812 - INFO: epoch: 2903 +23-06-30 06:51:21.812 - INFO: iters: 7270677 +23-06-30 06:54:10.770 - INFO: train/mse_loss: 0.000977703790811185 +23-06-30 06:54:10.770 - INFO: epoch: 2904 +23-06-30 06:54:10.771 - INFO: iters: 7273181 +23-06-30 06:57:01.022 - INFO: train/mse_loss: 0.0009879695237450564 +23-06-30 06:57:01.023 - INFO: epoch: 2905 +23-06-30 06:57:01.023 - INFO: iters: 7275685 +23-06-30 06:59:50.457 - INFO: train/mse_loss: 0.0009838094245441578 +23-06-30 06:59:50.457 - INFO: epoch: 2906 +23-06-30 06:59:50.457 - INFO: iters: 7278189 +23-06-30 07:02:40.475 - INFO: train/mse_loss: 0.0009744297409915149 +23-06-30 07:02:40.477 - INFO: epoch: 2907 +23-06-30 07:02:40.477 - INFO: iters: 7280693 +23-06-30 07:05:32.608 - INFO: train/mse_loss: 0.0009558888790294374 +23-06-30 07:05:32.609 - INFO: epoch: 2908 +23-06-30 07:05:32.609 - INFO: iters: 7283197 +23-06-30 07:08:24.618 - INFO: train/mse_loss: 0.001086970940738107 +23-06-30 07:08:24.619 - INFO: epoch: 2909 +23-06-30 07:08:24.619 - INFO: iters: 7285701 +23-06-30 07:11:14.477 - INFO: train/mse_loss: 0.0010205908286453674 +23-06-30 07:11:14.478 - INFO: epoch: 2910 +23-06-30 07:11:14.478 - INFO: iters: 7288205 +23-06-30 07:14:04.207 - INFO: train/mse_loss: 0.000984473880893661 +23-06-30 07:14:04.208 - INFO: epoch: 2911 +23-06-30 07:14:04.208 - INFO: iters: 7290709 +23-06-30 07:16:55.169 - INFO: train/mse_loss: 0.0009799382069889016 +23-06-30 07:16:55.170 - INFO: epoch: 2912 +23-06-30 07:16:55.170 - INFO: iters: 7293213 +23-06-30 07:19:45.301 - INFO: train/mse_loss: 0.0009449835978827763 +23-06-30 07:19:45.302 - INFO: epoch: 2913 +23-06-30 07:19:45.302 - INFO: iters: 7295717 +23-06-30 07:22:37.988 - INFO: train/mse_loss: 0.000980435044336588 +23-06-30 07:22:37.989 - INFO: epoch: 2914 +23-06-30 07:22:37.989 - INFO: iters: 7298221 +23-06-30 07:25:27.109 - INFO: train/mse_loss: 0.000989940529428839 +23-06-30 07:25:27.110 - INFO: epoch: 2915 +23-06-30 07:25:27.110 - INFO: iters: 7300725 +23-06-30 07:28:18.034 - INFO: train/mse_loss: 0.0009962945316245738 +23-06-30 07:28:18.034 - INFO: epoch: 2916 +23-06-30 07:28:18.035 - INFO: iters: 7303229 +23-06-30 07:31:09.394 - INFO: train/mse_loss: 0.0010364219684305543 +23-06-30 07:31:09.395 - INFO: epoch: 2917 +23-06-30 07:31:09.395 - INFO: iters: 7305733 +23-06-30 07:33:58.747 - INFO: train/mse_loss: 0.001032054756236926 +23-06-30 07:33:58.748 - INFO: epoch: 2918 +23-06-30 07:33:58.748 - INFO: iters: 7308237 +23-06-30 07:36:50.475 - INFO: train/mse_loss: 0.0011428814514699323 +23-06-30 07:36:50.476 - INFO: epoch: 2919 +23-06-30 07:36:50.476 - INFO: iters: 7310741 +23-06-30 07:39:39.680 - INFO: train/mse_loss: 0.0010002664262101578 +23-06-30 07:39:39.681 - INFO: epoch: 2920 +23-06-30 07:39:39.681 - INFO: iters: 7313245 +23-06-30 07:42:28.779 - INFO: train/mse_loss: 0.0009585286001712024 +23-06-30 07:42:28.779 - INFO: epoch: 2921 +23-06-30 07:42:28.779 - INFO: iters: 7315749 +23-06-30 07:45:18.068 - INFO: train/mse_loss: 0.0009884768672965873 +23-06-30 07:45:18.069 - INFO: epoch: 2922 +23-06-30 07:45:18.069 - INFO: iters: 7318253 +23-06-30 07:48:06.542 - INFO: train/mse_loss: 0.0009699396186726935 +23-06-30 07:48:06.543 - INFO: epoch: 2923 +23-06-30 07:48:06.543 - INFO: iters: 7320757 +23-06-30 07:50:55.557 - INFO: train/mse_loss: 0.0009744493735243028 +23-06-30 07:50:55.557 - INFO: epoch: 2924 +23-06-30 07:50:55.558 - INFO: iters: 7323261 +23-06-30 07:53:44.474 - INFO: train/mse_loss: 0.000972307335229043 +23-06-30 07:53:44.475 - INFO: epoch: 2925 +23-06-30 07:53:44.475 - INFO: iters: 7325765 +23-06-30 07:56:34.133 - INFO: train/mse_loss: 0.0009437668512533671 +23-06-30 07:56:34.135 - INFO: epoch: 2926 +23-06-30 07:56:34.135 - INFO: iters: 7328269 +23-06-30 07:59:23.882 - INFO: train/mse_loss: 0.0009460704061373795 +23-06-30 07:59:23.883 - INFO: epoch: 2927 +23-06-30 07:59:23.883 - INFO: iters: 7330773 +23-06-30 08:02:12.953 - INFO: train/mse_loss: 0.0009832305275052548 +23-06-30 08:02:12.953 - INFO: epoch: 2928 +23-06-30 08:02:12.953 - INFO: iters: 7333277 +23-06-30 08:05:01.627 - INFO: train/mse_loss: 0.0009424816476725661 +23-06-30 08:05:01.627 - INFO: epoch: 2929 +23-06-30 08:05:01.627 - INFO: iters: 7335781 +23-06-30 08:07:50.257 - INFO: train/mse_loss: 0.0009594632943269437 +23-06-30 08:07:50.259 - INFO: epoch: 2930 +23-06-30 08:07:50.259 - INFO: iters: 7338285 +23-06-30 08:10:39.975 - INFO: train/mse_loss: 0.0009788441204520973 +23-06-30 08:10:39.976 - INFO: epoch: 2931 +23-06-30 08:10:39.976 - INFO: iters: 7340789 +23-06-30 08:13:28.766 - INFO: train/mse_loss: 0.000951186061640398 +23-06-30 08:13:28.766 - INFO: epoch: 2932 +23-06-30 08:13:28.766 - INFO: iters: 7343293 +23-06-30 08:16:18.274 - INFO: train/mse_loss: 0.0009724334689056554 +23-06-30 08:16:18.276 - INFO: epoch: 2933 +23-06-30 08:16:18.276 - INFO: iters: 7345797 +23-06-30 08:19:06.989 - INFO: train/mse_loss: 0.0009490234454492696 +23-06-30 08:19:06.990 - INFO: epoch: 2934 +23-06-30 08:19:06.990 - INFO: iters: 7348301 +23-06-30 08:21:57.197 - INFO: train/mse_loss: 0.0009632762067745955 +23-06-30 08:21:57.198 - INFO: epoch: 2935 +23-06-30 08:21:57.198 - INFO: iters: 7350805 +23-06-30 08:24:46.342 - INFO: train/mse_loss: 0.0009428738313652694 +23-06-30 08:24:46.343 - INFO: epoch: 2936 +23-06-30 08:24:46.344 - INFO: iters: 7353309 +23-06-30 08:27:35.411 - INFO: train/mse_loss: 0.00101868602153012 +23-06-30 08:27:35.412 - INFO: epoch: 2937 +23-06-30 08:27:35.412 - INFO: iters: 7355813 +23-06-30 08:30:25.602 - INFO: train/mse_loss: 0.0009850417815197925 +23-06-30 08:30:25.603 - INFO: epoch: 2938 +23-06-30 08:30:25.603 - INFO: iters: 7358317 +23-06-30 08:33:14.019 - INFO: train/mse_loss: 0.0009757264774997894 +23-06-30 08:33:14.020 - INFO: epoch: 2939 +23-06-30 08:33:14.020 - INFO: iters: 7360821 +23-06-30 08:36:03.785 - INFO: train/mse_loss: 0.0009498951282313528 +23-06-30 08:36:03.785 - INFO: epoch: 2940 +23-06-30 08:36:03.785 - INFO: iters: 7363325 +23-06-30 08:38:52.496 - INFO: train/mse_loss: 0.0009621526818527593 +23-06-30 08:38:52.497 - INFO: epoch: 2941 +23-06-30 08:38:52.497 - INFO: iters: 7365829 +23-06-30 08:41:41.892 - INFO: train/mse_loss: 0.0009740695372943919 +23-06-30 08:41:41.893 - INFO: epoch: 2942 +23-06-30 08:41:41.893 - INFO: iters: 7368333 +23-06-30 08:44:31.747 - INFO: train/mse_loss: 0.0009645769822994432 +23-06-30 08:44:31.748 - INFO: epoch: 2943 +23-06-30 08:44:31.748 - INFO: iters: 7370837 +23-06-30 08:47:22.856 - INFO: train/mse_loss: 0.0009682697261469409 +23-06-30 08:47:22.857 - INFO: epoch: 2944 +23-06-30 08:47:22.857 - INFO: iters: 7373341 +23-06-30 08:50:13.233 - INFO: train/mse_loss: 0.0009798185086062256 +23-06-30 08:50:13.234 - INFO: epoch: 2945 +23-06-30 08:50:13.234 - INFO: iters: 7375845 +23-06-30 08:53:04.095 - INFO: train/mse_loss: 0.0010123105368022019 +23-06-30 08:53:04.095 - INFO: epoch: 2946 +23-06-30 08:53:04.095 - INFO: iters: 7378349 +23-06-30 08:55:54.948 - INFO: train/mse_loss: 0.000962220464487926 +23-06-30 08:55:54.950 - INFO: epoch: 2947 +23-06-30 08:55:54.950 - INFO: iters: 7380853 +23-06-30 08:58:46.937 - INFO: train/mse_loss: 0.0009513463831124321 +23-06-30 08:58:46.938 - INFO: epoch: 2948 +23-06-30 08:58:46.938 - INFO: iters: 7383357 +23-06-30 09:01:35.527 - INFO: train/mse_loss: 0.0009358632574475314 +23-06-30 09:01:35.528 - INFO: epoch: 2949 +23-06-30 09:01:35.528 - INFO: iters: 7385861 +23-06-30 09:04:25.546 - INFO: train/mse_loss: 0.0009923095508224179 +23-06-30 09:04:25.547 - INFO: epoch: 2950 +23-06-30 09:04:25.547 - INFO: iters: 7388365 +23-06-30 09:07:14.621 - INFO: train/mse_loss: 0.000985816438825944 +23-06-30 09:07:14.621 - INFO: epoch: 2951 +23-06-30 09:07:14.621 - INFO: iters: 7390869 +23-06-30 09:10:04.328 - INFO: train/mse_loss: 0.0009480200480288877 +23-06-30 09:10:04.329 - INFO: epoch: 2952 +23-06-30 09:10:04.329 - INFO: iters: 7393373 +23-06-30 09:12:54.199 - INFO: train/mse_loss: 0.0009603450576344821 +23-06-30 09:12:54.200 - INFO: epoch: 2953 +23-06-30 09:12:54.200 - INFO: iters: 7395877 +23-06-30 09:15:43.801 - INFO: train/mse_loss: 0.0009719835620889732 +23-06-30 09:15:43.801 - INFO: epoch: 2954 +23-06-30 09:15:43.801 - INFO: iters: 7398381 +23-06-30 09:18:32.604 - INFO: train/mse_loss: 0.0009433368026403883 +23-06-30 09:18:32.605 - INFO: epoch: 2955 +23-06-30 09:18:32.605 - INFO: iters: 7400885 +23-06-30 09:21:21.478 - INFO: train/mse_loss: 0.0009921554273504692 +23-06-30 09:21:21.479 - INFO: epoch: 2956 +23-06-30 09:21:21.479 - INFO: iters: 7403389 +23-06-30 09:24:09.733 - INFO: train/mse_loss: 0.0009675666224211454 +23-06-30 09:24:09.734 - INFO: epoch: 2957 +23-06-30 09:24:09.734 - INFO: iters: 7405893 +23-06-30 09:27:00.095 - INFO: train/mse_loss: 0.000962227906235092 +23-06-30 09:27:00.096 - INFO: epoch: 2958 +23-06-30 09:27:00.096 - INFO: iters: 7408397 +23-06-30 09:29:50.065 - INFO: train/mse_loss: 0.0009422664257761734 +23-06-30 09:29:50.066 - INFO: epoch: 2959 +23-06-30 09:29:50.066 - INFO: iters: 7410901 +23-06-30 09:32:38.559 - INFO: train/mse_loss: 0.0009667535058442896 +23-06-30 09:32:38.559 - INFO: epoch: 2960 +23-06-30 09:32:38.559 - INFO: iters: 7413405 +23-06-30 09:35:27.612 - INFO: train/mse_loss: 0.0009716592480639775 +23-06-30 09:35:27.613 - INFO: epoch: 2961 +23-06-30 09:35:27.613 - INFO: iters: 7415909 +23-06-30 09:38:16.786 - INFO: train/mse_loss: 0.000983868973956744 +23-06-30 09:38:16.787 - INFO: epoch: 2962 +23-06-30 09:38:16.787 - INFO: iters: 7418413 +23-06-30 09:41:05.672 - INFO: train/mse_loss: 0.00095282659881537 +23-06-30 09:41:05.672 - INFO: epoch: 2963 +23-06-30 09:41:05.673 - INFO: iters: 7420917 +23-06-30 09:43:54.832 - INFO: train/mse_loss: 0.0009889641438035098 +23-06-30 09:43:54.832 - INFO: epoch: 2964 +23-06-30 09:43:54.832 - INFO: iters: 7423421 +23-06-30 09:46:45.672 - INFO: train/mse_loss: 0.0009747069091357577 +23-06-30 09:46:45.673 - INFO: epoch: 2965 +23-06-30 09:46:45.673 - INFO: iters: 7425925 +23-06-30 09:49:34.792 - INFO: train/mse_loss: 0.0009678398478797044 +23-06-30 09:49:34.793 - INFO: epoch: 2966 +23-06-30 09:49:34.793 - INFO: iters: 7428429 +23-06-30 09:52:25.701 - INFO: train/mse_loss: 0.0009881157644491749 +23-06-30 09:52:25.701 - INFO: epoch: 2967 +23-06-30 09:52:25.702 - INFO: iters: 7430933 +23-06-30 09:55:15.925 - INFO: train/mse_loss: 0.0009543516617543555 +23-06-30 09:55:15.926 - INFO: epoch: 2968 +23-06-30 09:55:15.926 - INFO: iters: 7433437 +23-06-30 09:58:05.741 - INFO: train/mse_loss: 0.000992385352725169 +23-06-30 09:58:05.741 - INFO: epoch: 2969 +23-06-30 09:58:05.742 - INFO: iters: 7435941 +23-06-30 10:00:55.230 - INFO: train/mse_loss: 0.0009762924585748797 +23-06-30 10:00:55.231 - INFO: epoch: 2970 +23-06-30 10:00:55.231 - INFO: iters: 7438445 +23-06-30 10:03:44.716 - INFO: train/mse_loss: 0.000991934095044433 +23-06-30 10:03:44.716 - INFO: epoch: 2971 +23-06-30 10:03:44.716 - INFO: iters: 7440949 +23-06-30 10:06:35.269 - INFO: train/mse_loss: 0.0009700779814441233 +23-06-30 10:06:35.270 - INFO: epoch: 2972 +23-06-30 10:06:35.270 - INFO: iters: 7443453 +23-06-30 10:09:26.162 - INFO: train/mse_loss: 0.000959602380881812 +23-06-30 10:09:26.163 - INFO: epoch: 2973 +23-06-30 10:09:26.163 - INFO: iters: 7445957 +23-06-30 10:12:15.414 - INFO: train/mse_loss: 0.000978147890344381 +23-06-30 10:12:15.415 - INFO: epoch: 2974 +23-06-30 10:12:15.415 - INFO: iters: 7448461 +23-06-30 10:15:03.877 - INFO: train/mse_loss: 0.0009691628658907494 +23-06-30 10:15:03.878 - INFO: epoch: 2975 +23-06-30 10:15:03.878 - INFO: iters: 7450965 +23-06-30 10:17:52.918 - INFO: train/mse_loss: 0.0009372438179156461 +23-06-30 10:17:52.919 - INFO: epoch: 2976 +23-06-30 10:17:52.919 - INFO: iters: 7453469 +23-06-30 10:20:41.514 - INFO: train/mse_loss: 0.0009461296099303558 +23-06-30 10:20:41.515 - INFO: epoch: 2977 +23-06-30 10:20:41.515 - INFO: iters: 7455973 +23-06-30 10:23:30.623 - INFO: train/mse_loss: 0.0009553338207241993 +23-06-30 10:23:30.624 - INFO: epoch: 2978 +23-06-30 10:23:30.624 - INFO: iters: 7458477 +23-06-30 10:26:19.951 - INFO: train/mse_loss: 0.000943239966943747 +23-06-30 10:26:19.952 - INFO: epoch: 2979 +23-06-30 10:26:19.952 - INFO: iters: 7460981 +23-06-30 10:29:08.699 - INFO: train/mse_loss: 0.0009785151980726567 +23-06-30 10:29:08.701 - INFO: epoch: 2980 +23-06-30 10:29:08.701 - INFO: iters: 7463485 +23-06-30 10:31:58.539 - INFO: train/mse_loss: 0.0009503765266013745 +23-06-30 10:31:58.540 - INFO: epoch: 2981 +23-06-30 10:31:58.540 - INFO: iters: 7465989 +23-06-30 10:34:46.342 - INFO: train/mse_loss: 0.0009653093526697757 +23-06-30 10:34:46.343 - INFO: epoch: 2982 +23-06-30 10:34:46.343 - INFO: iters: 7468493 +23-06-30 10:37:34.521 - INFO: train/mse_loss: 0.0009828554676509442 +23-06-30 10:37:34.522 - INFO: epoch: 2983 +23-06-30 10:37:34.522 - INFO: iters: 7470997 +23-06-30 10:40:23.297 - INFO: train/mse_loss: 0.0009829680407092499 +23-06-30 10:40:23.298 - INFO: epoch: 2984 +23-06-30 10:40:23.298 - INFO: iters: 7473501 +23-06-30 10:43:12.273 - INFO: train/mse_loss: 0.0009859850514492693 +23-06-30 10:43:12.273 - INFO: epoch: 2985 +23-06-30 10:43:12.273 - INFO: iters: 7476005 +23-06-30 10:46:01.443 - INFO: train/mse_loss: 0.000963468314371646 +23-06-30 10:46:01.443 - INFO: epoch: 2986 +23-06-30 10:46:01.443 - INFO: iters: 7478509 +23-06-30 10:48:50.746 - INFO: train/mse_loss: 0.0009682947612061097 +23-06-30 10:48:50.747 - INFO: epoch: 2987 +23-06-30 10:48:50.747 - INFO: iters: 7481013 +23-06-30 10:51:40.511 - INFO: train/mse_loss: 0.0009599603874721942 +23-06-30 10:51:40.512 - INFO: epoch: 2988 +23-06-30 10:51:40.512 - INFO: iters: 7483517 +23-06-30 10:54:30.139 - INFO: train/mse_loss: 0.0009499112424550774 +23-06-30 10:54:30.140 - INFO: epoch: 2989 +23-06-30 10:54:30.140 - INFO: iters: 7486021 +23-06-30 10:57:18.155 - INFO: train/mse_loss: 0.0009480909995411853 +23-06-30 10:57:18.156 - INFO: epoch: 2990 +23-06-30 10:57:18.156 - INFO: iters: 7488525 +23-06-30 11:00:06.808 - INFO: train/mse_loss: 0.0009806671744426742 +23-06-30 11:00:06.808 - INFO: epoch: 2991 +23-06-30 11:00:06.809 - INFO: iters: 7491029 +23-06-30 11:02:55.913 - INFO: train/mse_loss: 0.0010086250182363195 +23-06-30 11:02:55.914 - INFO: epoch: 2992 +23-06-30 11:02:55.914 - INFO: iters: 7493533 +23-06-30 11:05:44.285 - INFO: train/mse_loss: 0.0009444416560137424 +23-06-30 11:05:44.286 - INFO: epoch: 2993 +23-06-30 11:05:44.286 - INFO: iters: 7496037 +23-06-30 11:08:33.337 - INFO: train/mse_loss: 0.0009668979724235357 +23-06-30 11:08:33.337 - INFO: epoch: 2994 +23-06-30 11:08:33.337 - INFO: iters: 7498541 +23-06-30 11:11:23.060 - INFO: train/mse_loss: 0.0009637690142180902 +23-06-30 11:11:23.061 - INFO: epoch: 2995 +23-06-30 11:11:23.062 - INFO: iters: 7501045 +23-06-30 11:14:13.769 - INFO: train/mse_loss: 0.0009740604330955175 +23-06-30 11:14:13.770 - INFO: epoch: 2996 +23-06-30 11:14:13.770 - INFO: iters: 7503549 +23-06-30 11:17:02.149 - INFO: train/mse_loss: 0.0009503321613917074 +23-06-30 11:17:02.149 - INFO: epoch: 2997 +23-06-30 11:17:02.149 - INFO: iters: 7506053 +23-06-30 11:19:52.158 - INFO: train/mse_loss: 0.0009437617841184128 +23-06-30 11:19:52.159 - INFO: epoch: 2998 +23-06-30 11:19:52.159 - INFO: iters: 7508557 +23-06-30 11:22:42.456 - INFO: train/mse_loss: 0.000979450763111708 +23-06-30 11:22:42.457 - INFO: epoch: 2999 +23-06-30 11:22:42.457 - INFO: iters: 7511061 +23-06-30 11:25:33.509 - INFO: train/mse_loss: 0.000955542671206309 +23-06-30 11:25:33.509 - INFO: epoch: 3000 +23-06-30 11:25:33.509 - INFO: iters: 7513565 +23-06-30 11:25:33.510 - INFO: Saving the self at the end of epoch 3000 +23-06-30 11:25:34.088 - INFO: + + +------------------------------Validation Start------------------------------ +23-06-30 11:33:07.365 - INFO: val/mae: 0.12761351466178894 +23-06-30 11:33:07.365 - INFO: +------------------------------Validation End------------------------------ + + +23-06-30 11:35:56.022 - INFO: train/mse_loss: 0.000948586576962665 +23-06-30 11:35:56.022 - INFO: epoch: 3001 +23-06-30 11:35:56.022 - INFO: iters: 7516382 +23-06-30 11:38:45.025 - INFO: train/mse_loss: 0.0009617215473786555 +23-06-30 11:38:45.025 - INFO: epoch: 3002 +23-06-30 11:38:45.025 - INFO: iters: 7518886 +23-06-30 11:41:34.537 - INFO: train/mse_loss: 0.000964828577103129 +23-06-30 11:41:34.540 - INFO: epoch: 3003 +23-06-30 11:41:34.540 - INFO: iters: 7521390 +23-06-30 11:44:24.622 - INFO: train/mse_loss: 0.0009488529770615727 +23-06-30 11:44:24.623 - INFO: epoch: 3004 +23-06-30 11:44:24.623 - INFO: iters: 7523894 +23-06-30 11:47:13.628 - INFO: train/mse_loss: 0.0009705770622973089 +23-06-30 11:47:13.629 - INFO: epoch: 3005 +23-06-30 11:47:13.629 - INFO: iters: 7526398 +23-06-30 11:50:03.241 - INFO: train/mse_loss: 0.0010022317511609758 +23-06-30 11:50:03.241 - INFO: epoch: 3006 +23-06-30 11:50:03.241 - INFO: iters: 7528902 +23-06-30 11:52:52.427 - INFO: train/mse_loss: 0.0009623062770855361 +23-06-30 11:52:52.427 - INFO: epoch: 3007 +23-06-30 11:52:52.427 - INFO: iters: 7531406 +23-06-30 11:55:40.973 - INFO: train/mse_loss: 0.000951375624744412 +23-06-30 11:55:40.975 - INFO: epoch: 3008 +23-06-30 11:55:40.975 - INFO: iters: 7533910 +23-06-30 11:58:29.826 - INFO: train/mse_loss: 0.0009639469046404544 +23-06-30 11:58:29.826 - INFO: epoch: 3009 +23-06-30 11:58:29.827 - INFO: iters: 7536414 +23-06-30 12:01:20.411 - INFO: train/mse_loss: 0.0009658270749447945 +23-06-30 12:01:20.412 - INFO: epoch: 3010 +23-06-30 12:01:20.412 - INFO: iters: 7538918 +23-06-30 12:04:09.330 - INFO: train/mse_loss: 0.0009608506387770592 +23-06-30 12:04:09.331 - INFO: epoch: 3011 +23-06-30 12:04:09.331 - INFO: iters: 7541422 +23-06-30 12:06:58.618 - INFO: train/mse_loss: 0.00096023033135764 +23-06-30 12:06:58.618 - INFO: epoch: 3012 +23-06-30 12:06:58.619 - INFO: iters: 7543926 +23-06-30 12:09:51.788 - INFO: train/mse_loss: 0.0009547027440506596 +23-06-30 12:09:51.790 - INFO: epoch: 3013 +23-06-30 12:09:51.790 - INFO: iters: 7546430 +23-06-30 12:12:45.577 - INFO: train/mse_loss: 0.0009673381412659174 +23-06-30 12:12:45.578 - INFO: epoch: 3014 +23-06-30 12:12:45.578 - INFO: iters: 7548934 +23-06-30 12:15:36.771 - INFO: train/mse_loss: 0.0009421734401536659 +23-06-30 12:15:36.772 - INFO: epoch: 3015 +23-06-30 12:15:36.772 - INFO: iters: 7551438 +23-06-30 12:18:25.165 - INFO: train/mse_loss: 0.0009723913597542578 +23-06-30 12:18:25.166 - INFO: epoch: 3016 +23-06-30 12:18:25.166 - INFO: iters: 7553942 +23-06-30 12:21:15.058 - INFO: train/mse_loss: 0.0009610332339777412 +23-06-30 12:21:15.059 - INFO: epoch: 3017 +23-06-30 12:21:15.059 - INFO: iters: 7556446 +23-06-30 12:24:03.900 - INFO: train/mse_loss: 0.0009688415831273284 +23-06-30 12:24:03.900 - INFO: epoch: 3018 +23-06-30 12:24:03.900 - INFO: iters: 7558950 +23-06-30 12:26:52.116 - INFO: train/mse_loss: 0.0009469815237728802 +23-06-30 12:26:52.116 - INFO: epoch: 3019 +23-06-30 12:26:52.117 - INFO: iters: 7561454 +23-06-30 12:29:41.040 - INFO: train/mse_loss: 0.0009549858018617554 +23-06-30 12:29:41.041 - INFO: epoch: 3020 +23-06-30 12:29:41.041 - INFO: iters: 7563958 +23-06-30 12:32:30.435 - INFO: train/mse_loss: 0.00093903552224568 +23-06-30 12:32:30.435 - INFO: epoch: 3021 +23-06-30 12:32:30.435 - INFO: iters: 7566462 +23-06-30 12:35:18.654 - INFO: train/mse_loss: 0.0009499322641611147 +23-06-30 12:35:18.655 - INFO: epoch: 3022 +23-06-30 12:35:18.655 - INFO: iters: 7568966 +23-06-30 12:38:06.938 - INFO: train/mse_loss: 0.0009566464512713086 +23-06-30 12:38:06.939 - INFO: epoch: 3023 +23-06-30 12:38:06.939 - INFO: iters: 7571470 +23-06-30 12:40:55.396 - INFO: train/mse_loss: 0.0009653961108164332 +23-06-30 12:40:55.396 - INFO: epoch: 3024 +23-06-30 12:40:55.396 - INFO: iters: 7573974 +23-06-30 12:43:43.846 - INFO: train/mse_loss: 0.0009425216169020655 +23-06-30 12:43:43.847 - INFO: epoch: 3025 +23-06-30 12:43:43.847 - INFO: iters: 7576478 +23-06-30 12:46:33.382 - INFO: train/mse_loss: 0.000952595844027994 +23-06-30 12:46:33.383 - INFO: epoch: 3026 +23-06-30 12:46:33.383 - INFO: iters: 7578982 +23-06-30 12:49:22.158 - INFO: train/mse_loss: 0.0009752770922274683 +23-06-30 12:49:22.159 - INFO: epoch: 3027 +23-06-30 12:49:22.159 - INFO: iters: 7581486 +23-06-30 12:52:10.812 - INFO: train/mse_loss: 0.0010161421076876644 +23-06-30 12:52:10.813 - INFO: epoch: 3028 +23-06-30 12:52:10.813 - INFO: iters: 7583990 +23-06-30 12:55:00.089 - INFO: train/mse_loss: 0.0009529562516378971 +23-06-30 12:55:00.090 - INFO: epoch: 3029 +23-06-30 12:55:00.090 - INFO: iters: 7586494 +23-06-30 12:57:49.586 - INFO: train/mse_loss: 0.0009537630046110826 +23-06-30 12:57:49.586 - INFO: epoch: 3030 +23-06-30 12:57:49.586 - INFO: iters: 7588998 +23-06-30 13:00:38.833 - INFO: train/mse_loss: 0.0009879324662003715 +23-06-30 13:00:38.834 - INFO: epoch: 3031 +23-06-30 13:00:38.834 - INFO: iters: 7591502 +23-06-30 13:03:28.053 - INFO: train/mse_loss: 0.0009944437311764378 +23-06-30 13:03:28.054 - INFO: epoch: 3032 +23-06-30 13:03:28.054 - INFO: iters: 7594006 +23-06-30 13:06:17.730 - INFO: train/mse_loss: 0.0009425422585846041 +23-06-30 13:06:17.731 - INFO: epoch: 3033 +23-06-30 13:06:17.731 - INFO: iters: 7596510 +23-06-30 13:09:07.936 - INFO: train/mse_loss: 0.0009233613527147843 +23-06-30 13:09:07.937 - INFO: epoch: 3034 +23-06-30 13:09:07.937 - INFO: iters: 7599014 +23-06-30 13:11:56.861 - INFO: train/mse_loss: 0.0009374312590435742 +23-06-30 13:11:56.862 - INFO: epoch: 3035 +23-06-30 13:11:56.862 - INFO: iters: 7601518 +23-06-30 13:14:49.170 - INFO: train/mse_loss: 0.0009597608817372317 +23-06-30 13:14:49.171 - INFO: epoch: 3036 +23-06-30 13:14:49.171 - INFO: iters: 7604022 +23-06-30 13:17:42.004 - INFO: train/mse_loss: 0.0009602060369119203 +23-06-30 13:17:42.005 - INFO: epoch: 3037 +23-06-30 13:17:42.005 - INFO: iters: 7606526 +23-06-30 13:20:33.391 - INFO: train/mse_loss: 0.0009829349596962367 +23-06-30 13:20:33.392 - INFO: epoch: 3038 +23-06-30 13:20:33.392 - INFO: iters: 7609030 +23-06-30 13:23:21.534 - INFO: train/mse_loss: 0.0009447320259530276 +23-06-30 13:23:21.535 - INFO: epoch: 3039 +23-06-30 13:23:21.535 - INFO: iters: 7611534 +23-06-30 13:26:09.814 - INFO: train/mse_loss: 0.0009548814746717842 +23-06-30 13:26:09.814 - INFO: epoch: 3040 +23-06-30 13:26:09.815 - INFO: iters: 7614038 +23-06-30 13:28:58.499 - INFO: train/mse_loss: 0.0009210028543550604 +23-06-30 13:28:58.500 - INFO: epoch: 3041 +23-06-30 13:28:58.500 - INFO: iters: 7616542 +23-06-30 13:31:46.819 - INFO: train/mse_loss: 0.0009530633318828592 +23-06-30 13:31:46.820 - INFO: epoch: 3042 +23-06-30 13:31:46.820 - INFO: iters: 7619046 +23-06-30 13:34:34.724 - INFO: train/mse_loss: 0.0009588683730723283 +23-06-30 13:34:34.725 - INFO: epoch: 3043 +23-06-30 13:34:34.725 - INFO: iters: 7621550 +23-06-30 13:37:22.619 - INFO: train/mse_loss: 0.0009418976132961782 +23-06-30 13:37:22.619 - INFO: epoch: 3044 +23-06-30 13:37:22.620 - INFO: iters: 7624054 +23-06-30 13:40:10.578 - INFO: train/mse_loss: 0.0009478415039326317 +23-06-30 13:40:10.579 - INFO: epoch: 3045 +23-06-30 13:40:10.579 - INFO: iters: 7626558 +23-06-30 13:42:59.182 - INFO: train/mse_loss: 0.0009390761072118097 +23-06-30 13:42:59.183 - INFO: epoch: 3046 +23-06-30 13:42:59.183 - INFO: iters: 7629062 +23-06-30 13:45:48.151 - INFO: train/mse_loss: 0.0009443449510518795 +23-06-30 13:45:48.152 - INFO: epoch: 3047 +23-06-30 13:45:48.152 - INFO: iters: 7631566 +23-06-30 13:48:36.485 - INFO: train/mse_loss: 0.0009417824319581659 +23-06-30 13:48:36.485 - INFO: epoch: 3048 +23-06-30 13:48:36.486 - INFO: iters: 7634070 +23-06-30 13:51:24.529 - INFO: train/mse_loss: 0.0009572194397677117 +23-06-30 13:51:24.529 - INFO: epoch: 3049 +23-06-30 13:51:24.529 - INFO: iters: 7636574 +23-06-30 13:54:12.854 - INFO: train/mse_loss: 0.0009716117856674455 +23-06-30 13:54:12.856 - INFO: epoch: 3050 +23-06-30 13:54:12.856 - INFO: iters: 7639078 +23-06-30 13:57:01.902 - INFO: train/mse_loss: 0.0009694245153704818 +23-06-30 13:57:01.903 - INFO: epoch: 3051 +23-06-30 13:57:01.903 - INFO: iters: 7641582 +23-06-30 13:59:53.139 - INFO: train/mse_loss: 0.0009722377966937665 +23-06-30 13:59:53.140 - INFO: epoch: 3052 +23-06-30 13:59:53.140 - INFO: iters: 7644086 +23-06-30 14:02:44.113 - INFO: train/mse_loss: 0.0009814618759194965 +23-06-30 14:02:44.114 - INFO: epoch: 3053 +23-06-30 14:02:44.114 - INFO: iters: 7646590 +23-06-30 14:05:33.801 - INFO: train/mse_loss: 0.0009475979010593861 +23-06-30 14:05:33.802 - INFO: epoch: 3054 +23-06-30 14:05:33.802 - INFO: iters: 7649094 +23-06-30 14:08:22.504 - INFO: train/mse_loss: 0.0009408899504444398 +23-06-30 14:08:22.505 - INFO: epoch: 3055 +23-06-30 14:08:22.505 - INFO: iters: 7651598 +23-06-30 14:11:11.147 - INFO: train/mse_loss: 0.0009550640823322529 +23-06-30 14:11:11.147 - INFO: epoch: 3056 +23-06-30 14:11:11.147 - INFO: iters: 7654102 +23-06-30 14:14:03.243 - INFO: train/mse_loss: 0.000964817814450836 +23-06-30 14:14:03.245 - INFO: epoch: 3057 +23-06-30 14:14:03.245 - INFO: iters: 7656606 +23-06-30 14:16:55.949 - INFO: train/mse_loss: 0.0009558955950405116 +23-06-30 14:16:55.950 - INFO: epoch: 3058 +23-06-30 14:16:55.950 - INFO: iters: 7659110 +23-06-30 14:19:48.262 - INFO: train/mse_loss: 0.0009420639763700779 +23-06-30 14:19:48.262 - INFO: epoch: 3059 +23-06-30 14:19:48.262 - INFO: iters: 7661614 +23-06-30 14:22:36.640 - INFO: train/mse_loss: 0.0009187270575515426 +23-06-30 14:22:36.641 - INFO: epoch: 3060 +23-06-30 14:22:36.641 - INFO: iters: 7664118 +23-06-30 14:25:25.314 - INFO: train/mse_loss: 0.0009201019833135172 +23-06-30 14:25:25.315 - INFO: epoch: 3061 +23-06-30 14:25:25.315 - INFO: iters: 7666622 +23-06-30 14:28:13.076 - INFO: train/mse_loss: 0.0009437984269567596 +23-06-30 14:28:13.077 - INFO: epoch: 3062 +23-06-30 14:28:13.077 - INFO: iters: 7669126 +23-06-30 14:31:01.173 - INFO: train/mse_loss: 0.0009391473169392421 +23-06-30 14:31:01.174 - INFO: epoch: 3063 +23-06-30 14:31:01.174 - INFO: iters: 7671630 +23-06-30 14:33:50.351 - INFO: train/mse_loss: 0.0009383570849925232 +23-06-30 14:33:50.351 - INFO: epoch: 3064 +23-06-30 14:33:50.351 - INFO: iters: 7674134 +23-06-30 14:36:39.557 - INFO: train/mse_loss: 0.0009668046746554728 +23-06-30 14:36:39.560 - INFO: epoch: 3065 +23-06-30 14:36:39.562 - INFO: iters: 7676638 +23-06-30 14:39:30.053 - INFO: train/mse_loss: 0.000940244031933169 +23-06-30 14:39:30.057 - INFO: epoch: 3066 +23-06-30 14:39:30.057 - INFO: iters: 7679142 +23-06-30 14:42:20.165 - INFO: train/mse_loss: 0.0009432567459993815 +23-06-30 14:42:20.165 - INFO: epoch: 3067 +23-06-30 14:42:20.165 - INFO: iters: 7681646 +23-06-30 14:45:07.905 - INFO: train/mse_loss: 0.0009346808038708477 +23-06-30 14:45:07.906 - INFO: epoch: 3068 +23-06-30 14:45:07.906 - INFO: iters: 7684150 +23-06-30 14:47:55.924 - INFO: train/mse_loss: 0.0009512119752075226 +23-06-30 14:47:55.925 - INFO: epoch: 3069 +23-06-30 14:47:55.925 - INFO: iters: 7686654 +23-06-30 14:50:44.167 - INFO: train/mse_loss: 0.0009314011891756338 +23-06-30 14:50:44.168 - INFO: epoch: 3070 +23-06-30 14:50:44.168 - INFO: iters: 7689158 +23-06-30 14:53:32.369 - INFO: train/mse_loss: 0.0009354948765968684 +23-06-30 14:53:32.369 - INFO: epoch: 3071 +23-06-30 14:53:32.369 - INFO: iters: 7691662 +23-06-30 14:56:20.266 - INFO: train/mse_loss: 0.0009599367332177611 +23-06-30 14:56:20.266 - INFO: epoch: 3072 +23-06-30 14:56:20.266 - INFO: iters: 7694166 +23-06-30 14:59:08.601 - INFO: train/mse_loss: 0.0009315712059425493 +23-06-30 14:59:08.603 - INFO: epoch: 3073 +23-06-30 14:59:08.603 - INFO: iters: 7696670 +23-06-30 15:01:57.267 - INFO: train/mse_loss: 0.0009290870482149645 +23-06-30 15:01:57.267 - INFO: epoch: 3074 +23-06-30 15:01:57.267 - INFO: iters: 7699174 +23-06-30 15:04:46.397 - INFO: train/mse_loss: 0.0009470489155984642 +23-06-30 15:04:46.398 - INFO: epoch: 3075 +23-06-30 15:04:46.399 - INFO: iters: 7701678 +23-06-30 15:07:34.572 - INFO: train/mse_loss: 0.0009536901075123681 +23-06-30 15:07:34.573 - INFO: epoch: 3076 +23-06-30 15:07:34.573 - INFO: iters: 7704182 +23-06-30 15:10:22.932 - INFO: train/mse_loss: 0.0009462158401167919 +23-06-30 15:10:22.933 - INFO: epoch: 3077 +23-06-30 15:10:22.933 - INFO: iters: 7706686 +23-06-30 15:13:11.543 - INFO: train/mse_loss: 0.000935893259219492 +23-06-30 15:13:11.544 - INFO: epoch: 3078 +23-06-30 15:13:11.544 - INFO: iters: 7709190 +23-06-30 15:15:59.499 - INFO: train/mse_loss: 0.0009609668293578056 +23-06-30 15:15:59.500 - INFO: epoch: 3079 +23-06-30 15:15:59.500 - INFO: iters: 7711694 +23-06-30 15:18:47.803 - INFO: train/mse_loss: 0.0009515759681675809 +23-06-30 15:18:47.804 - INFO: epoch: 3080 +23-06-30 15:18:47.804 - INFO: iters: 7714198 +23-06-30 15:21:35.919 - INFO: train/mse_loss: 0.0009337168241949222 +23-06-30 15:21:35.919 - INFO: epoch: 3081 +23-06-30 15:21:35.919 - INFO: iters: 7716702 +23-06-30 15:24:23.792 - INFO: train/mse_loss: 0.0009353810755056909 +23-06-30 15:24:23.793 - INFO: epoch: 3082 +23-06-30 15:24:23.793 - INFO: iters: 7719206 +23-06-30 15:27:11.917 - INFO: train/mse_loss: 0.0009548552165078684 +23-06-30 15:27:11.918 - INFO: epoch: 3083 +23-06-30 15:27:11.918 - INFO: iters: 7721710 +23-06-30 15:29:59.778 - INFO: train/mse_loss: 0.0009176466997471837 +23-06-30 15:29:59.779 - INFO: epoch: 3084 +23-06-30 15:29:59.779 - INFO: iters: 7724214 +23-06-30 15:32:48.338 - INFO: train/mse_loss: 0.0009159257756538701 +23-06-30 15:32:48.338 - INFO: epoch: 3085 +23-06-30 15:32:48.338 - INFO: iters: 7726718 +23-06-30 15:35:36.172 - INFO: train/mse_loss: 0.0009327995985673485 +23-06-30 15:35:36.172 - INFO: epoch: 3086 +23-06-30 15:35:36.172 - INFO: iters: 7729222 +23-06-30 15:38:23.986 - INFO: train/mse_loss: 0.0009360363827452968 +23-06-30 15:38:23.986 - INFO: epoch: 3087 +23-06-30 15:38:23.987 - INFO: iters: 7731726 +23-06-30 15:41:11.954 - INFO: train/mse_loss: 0.0009461747212394976 +23-06-30 15:41:11.954 - INFO: epoch: 3088 +23-06-30 15:41:11.954 - INFO: iters: 7734230 +23-06-30 15:44:00.056 - INFO: train/mse_loss: 0.0009760611115756947 +23-06-30 15:44:00.057 - INFO: epoch: 3089 +23-06-30 15:44:00.057 - INFO: iters: 7736734 +23-06-30 15:46:49.011 - INFO: train/mse_loss: 0.0009497378434139355 +23-06-30 15:46:49.011 - INFO: epoch: 3090 +23-06-30 15:46:49.011 - INFO: iters: 7739238 +23-06-30 15:49:37.311 - INFO: train/mse_loss: 0.0009228213944624122 +23-06-30 15:49:37.312 - INFO: epoch: 3091 +23-06-30 15:49:37.312 - INFO: iters: 7741742 +23-06-30 15:52:26.808 - INFO: train/mse_loss: 0.0009317264812938965 +23-06-30 15:52:26.809 - INFO: epoch: 3092 +23-06-30 15:52:26.809 - INFO: iters: 7744246 +23-06-30 15:55:16.812 - INFO: train/mse_loss: 0.0009720006068914045 +23-06-30 15:55:16.813 - INFO: epoch: 3093 +23-06-30 15:55:16.813 - INFO: iters: 7746750 +23-06-30 15:58:09.258 - INFO: train/mse_loss: 0.0009426293352926775 +23-06-30 15:58:09.259 - INFO: epoch: 3094 +23-06-30 15:58:09.259 - INFO: iters: 7749254 +23-06-30 16:00:58.625 - INFO: train/mse_loss: 0.0009764283492874068 +23-06-30 16:00:58.626 - INFO: epoch: 3095 +23-06-30 16:00:58.626 - INFO: iters: 7751758 +23-06-30 16:03:49.989 - INFO: train/mse_loss: 0.0009469044066187495 +23-06-30 16:03:49.990 - INFO: epoch: 3096 +23-06-30 16:03:49.990 - INFO: iters: 7754262 +23-06-30 16:06:39.926 - INFO: train/mse_loss: 0.0009453966921662537 +23-06-30 16:06:39.927 - INFO: epoch: 3097 +23-06-30 16:06:39.927 - INFO: iters: 7756766 +23-06-30 16:09:30.353 - INFO: train/mse_loss: 0.0009241723780001041 +23-06-30 16:09:30.353 - INFO: epoch: 3098 +23-06-30 16:09:30.353 - INFO: iters: 7759270 +23-06-30 16:12:18.544 - INFO: train/mse_loss: 0.0009282644754037641 +23-06-30 16:12:18.545 - INFO: epoch: 3099 +23-06-30 16:12:18.545 - INFO: iters: 7761774 +23-06-30 16:15:07.197 - INFO: train/mse_loss: 0.000907074486183675 +23-06-30 16:15:07.198 - INFO: epoch: 3100 +23-06-30 16:15:07.198 - INFO: iters: 7764278 +23-06-30 16:17:56.184 - INFO: train/mse_loss: 0.000928955749677756 +23-06-30 16:17:56.186 - INFO: epoch: 3101 +23-06-30 16:17:56.186 - INFO: iters: 7766782 +23-06-30 16:20:45.214 - INFO: train/mse_loss: 0.0009378527266757426 +23-06-30 16:20:45.216 - INFO: epoch: 3102 +23-06-30 16:20:45.216 - INFO: iters: 7769286 +23-06-30 16:23:33.746 - INFO: train/mse_loss: 0.000919026927334426 +23-06-30 16:23:33.746 - INFO: epoch: 3103 +23-06-30 16:23:33.747 - INFO: iters: 7771790 +23-06-30 16:26:21.963 - INFO: train/mse_loss: 0.0009450592203274036 +23-06-30 16:26:21.964 - INFO: epoch: 3104 +23-06-30 16:26:21.964 - INFO: iters: 7774294 +23-06-30 16:29:10.266 - INFO: train/mse_loss: 0.0009486340139747059 +23-06-30 16:29:10.267 - INFO: epoch: 3105 +23-06-30 16:29:10.267 - INFO: iters: 7776798 +23-06-30 16:31:58.327 - INFO: train/mse_loss: 0.0009514559055685985 +23-06-30 16:31:58.328 - INFO: epoch: 3106 +23-06-30 16:31:58.328 - INFO: iters: 7779302 +23-06-30 16:34:48.930 - INFO: train/mse_loss: 0.0009267210430196358 +23-06-30 16:34:48.931 - INFO: epoch: 3107 +23-06-30 16:34:48.931 - INFO: iters: 7781806 +23-06-30 16:37:36.923 - INFO: train/mse_loss: 0.0009342862686258368 +23-06-30 16:37:36.923 - INFO: epoch: 3108 +23-06-30 16:37:36.923 - INFO: iters: 7784310 +23-06-30 16:40:24.964 - INFO: train/mse_loss: 0.0009360530829509369 +23-06-30 16:40:24.965 - INFO: epoch: 3109 +23-06-30 16:40:24.965 - INFO: iters: 7786814 +23-06-30 16:43:15.986 - INFO: train/mse_loss: 0.0009341496356261578 +23-06-30 16:43:15.987 - INFO: epoch: 3110 +23-06-30 16:43:15.987 - INFO: iters: 7789318 +23-06-30 16:46:04.356 - INFO: train/mse_loss: 0.0009344703222724636 +23-06-30 16:46:04.356 - INFO: epoch: 3111 +23-06-30 16:46:04.357 - INFO: iters: 7791822 +23-06-30 16:48:52.924 - INFO: train/mse_loss: 0.0009315424209524589 +23-06-30 16:48:52.925 - INFO: epoch: 3112 +23-06-30 16:48:52.925 - INFO: iters: 7794326 +23-06-30 16:51:40.865 - INFO: train/mse_loss: 0.000915632773910057 +23-06-30 16:51:40.866 - INFO: epoch: 3113 +23-06-30 16:51:40.866 - INFO: iters: 7796830 +23-06-30 16:54:29.519 - INFO: train/mse_loss: 0.000941081702844582 +23-06-30 16:54:29.520 - INFO: epoch: 3114 +23-06-30 16:54:29.520 - INFO: iters: 7799334 +23-06-30 16:57:17.902 - INFO: train/mse_loss: 0.000926117909556707 +23-06-30 16:57:17.903 - INFO: epoch: 3115 +23-06-30 16:57:17.904 - INFO: iters: 7801838 +23-06-30 17:00:07.609 - INFO: train/mse_loss: 0.0009500171075918721 +23-06-30 17:00:07.610 - INFO: epoch: 3116 +23-06-30 17:00:07.610 - INFO: iters: 7804342 +23-06-30 17:02:56.168 - INFO: train/mse_loss: 0.0009045543605848528 +23-06-30 17:02:56.169 - INFO: epoch: 3117 +23-06-30 17:02:56.170 - INFO: iters: 7806846 +23-06-30 17:05:44.843 - INFO: train/mse_loss: 0.0009510535743093481 +23-06-30 17:05:44.844 - INFO: epoch: 3118 +23-06-30 17:05:44.844 - INFO: iters: 7809350 +23-06-30 17:08:34.247 - INFO: train/mse_loss: 0.0009378283283674715 +23-06-30 17:08:34.247 - INFO: epoch: 3119 +23-06-30 17:08:34.248 - INFO: iters: 7811854 +23-06-30 17:11:24.906 - INFO: train/mse_loss: 0.0009499252207551938 +23-06-30 17:11:24.907 - INFO: epoch: 3120 +23-06-30 17:11:24.907 - INFO: iters: 7814358 +23-06-30 17:14:14.748 - INFO: train/mse_loss: 0.0009450792966703602 +23-06-30 17:14:14.749 - INFO: epoch: 3121 +23-06-30 17:14:14.749 - INFO: iters: 7816862 +23-06-30 17:17:04.224 - INFO: train/mse_loss: 0.0009268812240866094 +23-06-30 17:17:04.224 - INFO: epoch: 3122 +23-06-30 17:17:04.225 - INFO: iters: 7819366 +23-06-30 17:19:54.963 - INFO: train/mse_loss: 0.0009268234573533764 +23-06-30 17:19:54.963 - INFO: epoch: 3123 +23-06-30 17:19:54.964 - INFO: iters: 7821870 +23-06-30 17:22:46.657 - INFO: train/mse_loss: 0.0009404451170855889 +23-06-30 17:22:46.658 - INFO: epoch: 3124 +23-06-30 17:22:46.658 - INFO: iters: 7824374 +23-06-30 17:25:37.449 - INFO: train/mse_loss: 0.0009414063118131884 +23-06-30 17:25:37.450 - INFO: epoch: 3125 +23-06-30 17:25:37.450 - INFO: iters: 7826878 +23-06-30 17:28:31.164 - INFO: train/mse_loss: 0.0009356962812405389 +23-06-30 17:28:31.165 - INFO: epoch: 3126 +23-06-30 17:28:31.166 - INFO: iters: 7829382 +23-06-30 17:31:19.598 - INFO: train/mse_loss: 0.0009233636160257656 +23-06-30 17:31:19.599 - INFO: epoch: 3127 +23-06-30 17:31:19.599 - INFO: iters: 7831886 +23-06-30 17:34:07.765 - INFO: train/mse_loss: 0.0009245200859257779 +23-06-30 17:34:07.765 - INFO: epoch: 3128 +23-06-30 17:34:07.765 - INFO: iters: 7834390 +23-06-30 17:36:56.574 - INFO: train/mse_loss: 0.0009222716202225965 +23-06-30 17:36:56.575 - INFO: epoch: 3129 +23-06-30 17:36:56.575 - INFO: iters: 7836894 +23-06-30 17:39:46.162 - INFO: train/mse_loss: 0.0009590818910463788 +23-06-30 17:39:46.163 - INFO: epoch: 3130 +23-06-30 17:39:46.163 - INFO: iters: 7839398 +23-06-30 17:42:34.952 - INFO: train/mse_loss: 0.0009113318300225769 +23-06-30 17:42:34.953 - INFO: epoch: 3131 +23-06-30 17:42:34.953 - INFO: iters: 7841902 +23-06-30 17:45:23.888 - INFO: train/mse_loss: 0.0009273732688795692 +23-06-30 17:45:23.889 - INFO: epoch: 3132 +23-06-30 17:45:23.889 - INFO: iters: 7844406 +23-06-30 17:48:12.480 - INFO: train/mse_loss: 0.000926907759899208 +23-06-30 17:48:12.481 - INFO: epoch: 3133 +23-06-30 17:48:12.481 - INFO: iters: 7846910