diff --git a/iris/lct_gan/4/eval.csv b/iris/lct_gan/4/eval.csv new file mode 100644 index 0000000000000000000000000000000000000000..26f47a73a08da45091ce19969838826596cbd2a5 --- /dev/null +++ b/iris/lct_gan/4/eval.csv @@ -0,0 +1,2 @@ +,avg_g_cos_loss,avg_g_mag_loss,avg_loss,grad_duration,grad_mae,grad_mape,grad_rmse,mean_pred_loss,pred_duration,pred_mae,pred_mape,pred_rmse,pred_std,std_loss,total_duration +lct_gan,0.008495515487156808,0.00803054136718174,0.006676115681184456,0.29495763778686523,0.04901891201734543,0.612976610660553,0.11113059520721436,8.267547673312947e-05,0.518169641494751,0.06212707608938217,0.12361498922109604,0.08170749992132187,0.2282898873090744,0.005916635040193796,0.8131272792816162 diff --git a/iris/lct_gan/4/history.csv b/iris/lct_gan/4/history.csv new file mode 100644 index 0000000000000000000000000000000000000000..8e1c81c650f29c1e02874bc13a3d7194085496e9 --- /dev/null +++ b/iris/lct_gan/4/history.csv @@ -0,0 +1,17 @@ +,avg_role_model_loss_train,avg_role_model_std_loss_train,avg_role_model_mean_pred_loss_train,avg_role_model_g_mag_loss_train,avg_role_model_g_cos_loss_train,avg_non_role_model_g_mag_loss_train,avg_non_role_model_g_cos_loss_train,avg_non_role_model_embed_loss_train,avg_loss_train,n_size_train,n_batch_train,duration_train,duration_batch_train,duration_size_train,avg_pred_std_train,avg_role_model_loss_test,avg_role_model_std_loss_test,avg_role_model_mean_pred_loss_test,avg_role_model_g_mag_loss_test,avg_role_model_g_cos_loss_test,avg_non_role_model_g_mag_loss_test,avg_non_role_model_g_cos_loss_test,avg_non_role_model_embed_loss_test,avg_loss_test,n_size_test,n_batch_test,duration_test,duration_batch_test,duration_size_test,avg_pred_std_test +0,0.04530997144474839,,0.002780304888885645,0.07033269654797471,0.0,0.0,0.0,0.0,0.06087295231611832,805,202,165.99742007255554,0.8217694062997799,0.20620797524541062,,0.01542697440017946,0.8082354803576527,0.00013283713820993803,0.0,0.0,0.0,0.0,0.0,0.01542697440017946,200,50,38.97759985923767,0.7795519971847534,0.19488799929618836,0.18043247133493423 +1,0.013364278539864822,,0.000301401520089923,0.09823905876403825,0.0,0.0,0.0,0.0,0.013543191885211222,805,202,172.58718419075012,0.8543920009443076,0.21439401762826102,,0.007640246589435264,0.12589123158777965,7.531156250237814e-05,0.0,0.0,0.0,0.0,0.0,0.007640246589435264,200,50,39.734886169433594,0.7946977233886718,0.19867443084716796,0.2404796802997589 +2,0.010500321830680698,,0.00019122642750061595,0.0627002106372105,0.0,0.0,0.0,0.0,0.010639967622166001,805,202,172.7169029712677,0.8550341731250877,0.21455515897051888,,0.010820642639882862,0.13844341153133427,0.00019025476173226252,0.0,0.0,0.0,0.0,0.0,0.010820642639882862,200,50,41.14260721206665,0.822852144241333,0.20571303606033325,0.24295313626527787 +3,0.00995405142518015,,0.00016653260670512394,0.07017759558045514,0.0,0.0,0.0,0.0,0.010084247613334391,805,202,171.61680912971497,0.8495881640084899,0.21318858276983227,,0.008431123316986486,0.084112922222821,0.00011250103011434476,0.0,0.0,0.0,0.0,0.0,0.008431123316986486,200,50,40.03202557563782,0.8006405115127564,0.2001601278781891,0.2528195089101791 +4,0.00979060184386608,,0.00020980524722096617,0.06518264963285801,0.0,0.0,0.0,0.0,0.00991432623139088,805,202,170.28843450546265,0.8430120520072408,0.21153842795709646,,0.009889723006635905,0.2227712948003318,5.175391363422131e-05,0.0,0.0,0.0,0.0,0.0,0.009889723006635905,200,50,39.95052194595337,0.7990104389190674,0.19975260972976686,0.21974920719861984 +5,0.008538183550963536,,0.00012127497136664336,0.04424351506074023,0.0,0.0,0.0,0.0,0.008669156943280134,805,202,171.23754835128784,0.8477106354024151,0.21271745136805942,,0.00843350039271172,0.18606553970544154,8.758723727083861e-05,0.0,0.0,0.0,0.0,0.0,0.00843350039271172,200,50,40.28640389442444,0.8057280778884888,0.2014320194721222,0.22540607526898385 +6,0.008698618042525714,,0.00016160104971219843,0.05573682474400501,0.0,0.0,0.0,0.0,0.008807274572600419,805,202,169.66288828849792,0.8399152885569204,0.21076135191117754,,0.00811434916453436,0.058111534406152715,0.00011741059634962526,0.0,0.0,0.0,0.0,0.0,0.00811434916453436,200,50,39.820730209350586,0.7964146041870117,0.19910365104675293,0.2608958101272583 +7,0.008382059178772088,,0.00011547293945866023,0.053339377836966365,0.0,0.0,0.0,0.0,0.008488330078927325,805,202,169.76415014266968,0.8404165848647014,0.21088714303437228,,0.0066737520112656054,0.04731034292086406,8.338995933161897e-05,0.0,0.0,0.0,0.0,0.0,0.0066737520112656054,200,50,39.600672245025635,0.7920134449005127,0.19800336122512818,0.2674062058329582 +8,0.008053088699612456,,0.00010978430215111662,0.06836219161563778,0.0,0.0,0.0,0.0,0.008140647886552332,805,202,168.3886547088623,0.8336072015290213,0.20917845305448735,,0.007329364093020558,0.0852147266040447,9.426235340496802e-05,0.0,0.0,0.0,0.0,0.0,0.007329364093020558,200,50,39.37808632850647,0.7875617265701294,0.19689043164253234,0.24936178147792817 +9,0.00830792498844242,,0.00013996204159651387,0.05095198800127884,0.0,0.0,0.0,0.0,0.008421662332987563,805,202,169.48959159851074,0.8390573841510433,0.21054607651988913,,0.006952371424995362,0.06902654893428917,8.897538738843025e-05,0.0,0.0,0.0,0.0,0.0,0.006952371424995362,200,50,39.87849688529968,0.7975699377059936,0.1993924844264984,0.25382820785045623 +10,0.007470798340585568,,8.176678575910647e-05,0.0489145880345232,0.0,0.0,0.0,0.0,0.007567921230390159,805,202,170.21942901611328,0.8426704406738281,0.21145270685231463,,0.007188502580393105,0.13117573529941665,4.778835495720557e-05,0.0,0.0,0.0,0.0,0.0,0.007188502580393105,200,50,39.539748191833496,0.7907949638366699,0.19769874095916748,0.24194324642419815 +11,0.007289801676242803,,8.684733255074123e-05,0.05316623551134737,0.0,0.0,0.0,0.0,0.0073743519413007295,805,202,168.9015407562256,0.8361462413674534,0.20981557857916222,,0.0068476066418224945,0.10125014821904188,9.132117005918871e-05,0.0,0.0,0.0,0.0,0.0,0.0068476066418224945,200,50,39.30956149101257,0.7861912298202515,0.19654780745506287,0.2370263347029686 +12,0.007214498540288219,,7.553079017778123e-05,0.05831920977866983,0.0,0.0,0.0,0.0,0.007295039370554783,805,202,166.67645573616028,0.8251309689908924,0.20705149780889476,,0.006848645363934338,0.05732781726044266,8.139447295484998e-05,0.0,0.0,0.0,0.0,0.0,0.006848645363934338,200,50,38.975257873535156,0.7795051574707031,0.1948762893676758,0.25706598818302157 +13,0.007115711236700415,,8.011211391235928e-05,0.061919196665009356,0.0,0.0,0.0,0.0,0.007191934797734146,805,202,180.46907472610474,0.8934112610203204,0.22418518599516116,,0.007391760512255132,0.053923919395793975,8.529584194377548e-05,0.0,0.0,0.0,0.0,0.0,0.007391760512255132,200,50,43.283634662628174,0.8656726932525635,0.21641817331314087,0.25962475061416623 +14,0.006589850891683025,,5.451177349758594e-05,0.05850705104122251,0.0,0.0,0.0,0.0,0.006660095575592417,805,202,182.62822031974792,0.9041001005928115,0.22686735443446948,,0.006791308738174848,0.13568580441533412,6.426262453459231e-05,0.0,0.0,0.0,0.0,0.0,0.006791308738174848,200,50,43.123136043548584,0.8624627208709716,0.2156156802177429,0.2342006042599678 +15,0.006804365013987809,,6.606308804343961e-05,0.05741625509878493,0.0,0.0,0.0,0.0,0.006877377427071738,805,202,182.7841649055481,0.9048721034928123,0.22706107441682993,,0.007345085615525022,0.12475078160216072,0.00011742619317747227,0.0,0.0,0.0,0.0,0.0,0.007345085615525022,200,50,43.192113399505615,0.8638422679901123,0.21596056699752808,0.250487007945776 diff --git a/iris/lct_gan/4/logs/avg_loss_train/events.out.tfevents.1721754497.0e0da8a72f77.4238.17 b/iris/lct_gan/4/logs/avg_loss_train/events.out.tfevents.1721754497.0e0da8a72f77.4238.17 new file mode 100644 index 0000000000000000000000000000000000000000..b38a1ec98d6018298ef3171ca57ee6c63679e3b4 --- /dev/null +++ b/iris/lct_gan/4/logs/avg_loss_train/events.out.tfevents.1721754497.0e0da8a72f77.4238.17 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fefde8d17db799292ff54334f1343f38dd9fc3bb0226cd8ba03a5ff7c9d84e83 +size 822 diff --git a/iris/lct_gan/4/logs/avg_loss_val/events.out.tfevents.1721754497.0e0da8a72f77.4238.18 b/iris/lct_gan/4/logs/avg_loss_val/events.out.tfevents.1721754497.0e0da8a72f77.4238.18 new file mode 100644 index 0000000000000000000000000000000000000000..a1e0a48b717213410af1aa2f38334f8aba20f5e4 --- /dev/null +++ b/iris/lct_gan/4/logs/avg_loss_val/events.out.tfevents.1721754497.0e0da8a72f77.4238.18 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e8a5c36fc4a317125162f6bef64e8a34a2814af7d7e6df5d9c5ec24e8b862b9c +size 822 diff --git a/iris/lct_gan/4/logs/avg_non_role_model_embed_loss_train/events.out.tfevents.1721754497.0e0da8a72f77.4238.15 b/iris/lct_gan/4/logs/avg_non_role_model_embed_loss_train/events.out.tfevents.1721754497.0e0da8a72f77.4238.15 new file mode 100644 index 0000000000000000000000000000000000000000..93a57ed4bfc8786d1ed6936b5ade9eb8d2763f07 --- /dev/null +++ b/iris/lct_gan/4/logs/avg_non_role_model_embed_loss_train/events.out.tfevents.1721754497.0e0da8a72f77.4238.15 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c2856317255bdeed6d2cfd8317e5ddd713c149fdd17ffb4c78865ee942480b46 +size 1158 diff --git a/iris/lct_gan/4/logs/avg_non_role_model_embed_loss_val/events.out.tfevents.1721754497.0e0da8a72f77.4238.16 b/iris/lct_gan/4/logs/avg_non_role_model_embed_loss_val/events.out.tfevents.1721754497.0e0da8a72f77.4238.16 new file mode 100644 index 0000000000000000000000000000000000000000..124c7c08af939a0302b14e172fde79fc86943d71 --- /dev/null +++ b/iris/lct_gan/4/logs/avg_non_role_model_embed_loss_val/events.out.tfevents.1721754497.0e0da8a72f77.4238.16 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0e2e4cc850b5899d595fc661ea5cc34ba2f7f849ee29b07b7f2d931044c4b1bf +size 1158 diff --git a/iris/lct_gan/4/logs/avg_non_role_model_g_cos_loss_train/events.out.tfevents.1721754497.0e0da8a72f77.4238.13 b/iris/lct_gan/4/logs/avg_non_role_model_g_cos_loss_train/events.out.tfevents.1721754497.0e0da8a72f77.4238.13 new file mode 100644 index 0000000000000000000000000000000000000000..538c314d05ff7ade05df93f79ffcd0923d2f8a5b --- /dev/null +++ b/iris/lct_gan/4/logs/avg_non_role_model_g_cos_loss_train/events.out.tfevents.1721754497.0e0da8a72f77.4238.13 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:20316015bd465b1c20a10cae788dedb76cecd0d1c2824aa50aaab547a6252778 +size 1158 diff --git a/iris/lct_gan/4/logs/avg_non_role_model_g_cos_loss_val/events.out.tfevents.1721754497.0e0da8a72f77.4238.14 b/iris/lct_gan/4/logs/avg_non_role_model_g_cos_loss_val/events.out.tfevents.1721754497.0e0da8a72f77.4238.14 new file mode 100644 index 0000000000000000000000000000000000000000..f915c2d2574363b88d5fbdb501bc5c7dc866d2a6 --- /dev/null +++ b/iris/lct_gan/4/logs/avg_non_role_model_g_cos_loss_val/events.out.tfevents.1721754497.0e0da8a72f77.4238.14 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9bd5eb23a7e2b63d1c6b79bbbfa9fdfc6dbca2673d65636ac44441698c2f2b51 +size 1158 diff --git a/iris/lct_gan/4/logs/avg_non_role_model_g_mag_loss_train/events.out.tfevents.1721754497.0e0da8a72f77.4238.11 b/iris/lct_gan/4/logs/avg_non_role_model_g_mag_loss_train/events.out.tfevents.1721754497.0e0da8a72f77.4238.11 new file mode 100644 index 0000000000000000000000000000000000000000..0ee7ee3b402bc184ed55f51e7eb43b6c36342c52 --- /dev/null +++ b/iris/lct_gan/4/logs/avg_non_role_model_g_mag_loss_train/events.out.tfevents.1721754497.0e0da8a72f77.4238.11 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:646f7a12d0d4823a8f06c281039c052283be5c7315e9a7b5017ef99d04341161 +size 1158 diff --git a/iris/lct_gan/4/logs/avg_non_role_model_g_mag_loss_val/events.out.tfevents.1721754497.0e0da8a72f77.4238.12 b/iris/lct_gan/4/logs/avg_non_role_model_g_mag_loss_val/events.out.tfevents.1721754497.0e0da8a72f77.4238.12 new file mode 100644 index 0000000000000000000000000000000000000000..d47f04e5178080694a1d4d211ce20d9703bab00c --- /dev/null +++ b/iris/lct_gan/4/logs/avg_non_role_model_g_mag_loss_val/events.out.tfevents.1721754497.0e0da8a72f77.4238.12 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0c5578baa25c74d8837e328ba01db2d7fda880ecb29377e09929925cff0c5b23 +size 1158 diff --git a/iris/lct_gan/4/logs/avg_pred_std_train/events.out.tfevents.1721754497.0e0da8a72f77.4238.29 b/iris/lct_gan/4/logs/avg_pred_std_train/events.out.tfevents.1721754497.0e0da8a72f77.4238.29 new file mode 100644 index 0000000000000000000000000000000000000000..837bc9cb81ba97a56a4488693214ee83181394f5 --- /dev/null +++ b/iris/lct_gan/4/logs/avg_pred_std_train/events.out.tfevents.1721754497.0e0da8a72f77.4238.29 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1aa806c5a9062b9b1e30c77212a04a69b3b534c28f2eabff25c42461732be107 +size 886 diff --git a/iris/lct_gan/4/logs/avg_pred_std_val/events.out.tfevents.1721754497.0e0da8a72f77.4238.30 b/iris/lct_gan/4/logs/avg_pred_std_val/events.out.tfevents.1721754497.0e0da8a72f77.4238.30 new file mode 100644 index 0000000000000000000000000000000000000000..61663dfa93baaedf86393425fb387f6748884092 --- /dev/null +++ b/iris/lct_gan/4/logs/avg_pred_std_val/events.out.tfevents.1721754497.0e0da8a72f77.4238.30 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b41f648bf69b31a080dd24df3b3206a83019e4673dc2f069f3cd7e51fb848ccc +size 886 diff --git a/iris/lct_gan/4/logs/avg_role_model_g_cos_loss_train/events.out.tfevents.1721754497.0e0da8a72f77.4238.9 b/iris/lct_gan/4/logs/avg_role_model_g_cos_loss_train/events.out.tfevents.1721754497.0e0da8a72f77.4238.9 new file mode 100644 index 0000000000000000000000000000000000000000..e1fb232842847c96ff5ea6d12b80fbdc63aad3d5 --- /dev/null +++ b/iris/lct_gan/4/logs/avg_role_model_g_cos_loss_train/events.out.tfevents.1721754497.0e0da8a72f77.4238.9 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c1f5058e68de49e27d5233b0f2ff69a933da97ad0a57c29f83185c3b7ed90bf2 +size 1094 diff --git a/iris/lct_gan/4/logs/avg_role_model_g_cos_loss_val/events.out.tfevents.1721754497.0e0da8a72f77.4238.10 b/iris/lct_gan/4/logs/avg_role_model_g_cos_loss_val/events.out.tfevents.1721754497.0e0da8a72f77.4238.10 new file mode 100644 index 0000000000000000000000000000000000000000..413316930862a72a45411d49858730c93182ab86 --- /dev/null +++ b/iris/lct_gan/4/logs/avg_role_model_g_cos_loss_val/events.out.tfevents.1721754497.0e0da8a72f77.4238.10 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:498a036a1673e7d58a4ad5f1dda864b5f5406b090762ec90300c9cb48cb02b49 +size 1094 diff --git a/iris/lct_gan/4/logs/avg_role_model_g_mag_loss_train/events.out.tfevents.1721754497.0e0da8a72f77.4238.7 b/iris/lct_gan/4/logs/avg_role_model_g_mag_loss_train/events.out.tfevents.1721754497.0e0da8a72f77.4238.7 new file mode 100644 index 0000000000000000000000000000000000000000..2d57dc7c976411dc4fa788b9d55f443bd9cb1630 --- /dev/null +++ b/iris/lct_gan/4/logs/avg_role_model_g_mag_loss_train/events.out.tfevents.1721754497.0e0da8a72f77.4238.7 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5a60e82e056400d6e18abcc20e93210a37b2476785e1100bf193c9598d5bd0c7 +size 1094 diff --git a/iris/lct_gan/4/logs/avg_role_model_g_mag_loss_val/events.out.tfevents.1721754497.0e0da8a72f77.4238.8 b/iris/lct_gan/4/logs/avg_role_model_g_mag_loss_val/events.out.tfevents.1721754497.0e0da8a72f77.4238.8 new file mode 100644 index 0000000000000000000000000000000000000000..a40364b9ae780589aa79de1d2e80d1fac5e7de7f --- /dev/null +++ b/iris/lct_gan/4/logs/avg_role_model_g_mag_loss_val/events.out.tfevents.1721754497.0e0da8a72f77.4238.8 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:32d8195c2c38951cdf6b42c821554ddb6eea7a98b1e54d4a562b8b4295583ad7 +size 1094 diff --git a/iris/lct_gan/4/logs/avg_role_model_loss_train/events.out.tfevents.1721754497.0e0da8a72f77.4238.1 b/iris/lct_gan/4/logs/avg_role_model_loss_train/events.out.tfevents.1721754497.0e0da8a72f77.4238.1 new file mode 100644 index 0000000000000000000000000000000000000000..8f18bf3bbc077b5eead9542168a04a1226d468c5 --- /dev/null +++ b/iris/lct_gan/4/logs/avg_role_model_loss_train/events.out.tfevents.1721754497.0e0da8a72f77.4238.1 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:efd2a819516150b3fd175d3accff18bf3a1b1034039dd88399b4ceda42fd570b +size 998 diff --git a/iris/lct_gan/4/logs/avg_role_model_loss_val/events.out.tfevents.1721754497.0e0da8a72f77.4238.2 b/iris/lct_gan/4/logs/avg_role_model_loss_val/events.out.tfevents.1721754497.0e0da8a72f77.4238.2 new file mode 100644 index 0000000000000000000000000000000000000000..4e2cd29da5cff73a0698de904af831a9ed14ca45 --- /dev/null +++ b/iris/lct_gan/4/logs/avg_role_model_loss_val/events.out.tfevents.1721754497.0e0da8a72f77.4238.2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ab6c1040ba61cb82eb550824390c5e8c0d88c6bb36d29a5ac73d992c7a9d0866 +size 998 diff --git a/iris/lct_gan/4/logs/avg_role_model_mean_pred_loss_train/events.out.tfevents.1721754497.0e0da8a72f77.4238.5 b/iris/lct_gan/4/logs/avg_role_model_mean_pred_loss_train/events.out.tfevents.1721754497.0e0da8a72f77.4238.5 new file mode 100644 index 0000000000000000000000000000000000000000..a3850804c3a8e6205651fc1e274a165bbc7d6d2b --- /dev/null +++ b/iris/lct_gan/4/logs/avg_role_model_mean_pred_loss_train/events.out.tfevents.1721754497.0e0da8a72f77.4238.5 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fe163be3a384285f25e174593b62d8c3fcc51bcec4b20422e6878c157c91b7c8 +size 1158 diff --git a/iris/lct_gan/4/logs/avg_role_model_mean_pred_loss_val/events.out.tfevents.1721754497.0e0da8a72f77.4238.6 b/iris/lct_gan/4/logs/avg_role_model_mean_pred_loss_val/events.out.tfevents.1721754497.0e0da8a72f77.4238.6 new file mode 100644 index 0000000000000000000000000000000000000000..a6f3fefa2d0d63f6479d684a47e12798c6f756bf --- /dev/null +++ b/iris/lct_gan/4/logs/avg_role_model_mean_pred_loss_val/events.out.tfevents.1721754497.0e0da8a72f77.4238.6 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:91eeaadc8464d9b0f4e3177b9f7aff9efa0e45d9fd49b2d71a82d7949f0faf34 +size 1158 diff --git a/iris/lct_gan/4/logs/avg_role_model_std_loss_train/events.out.tfevents.1721754497.0e0da8a72f77.4238.3 b/iris/lct_gan/4/logs/avg_role_model_std_loss_train/events.out.tfevents.1721754497.0e0da8a72f77.4238.3 new file mode 100644 index 0000000000000000000000000000000000000000..7398c0fffccff388ed5ae9b5f971514eeee1b61f --- /dev/null +++ b/iris/lct_gan/4/logs/avg_role_model_std_loss_train/events.out.tfevents.1721754497.0e0da8a72f77.4238.3 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b9649a76a555c18428650f3bfaf5aeec99f58fd8ca723cdb2a20686c375b9420 +size 1062 diff --git a/iris/lct_gan/4/logs/avg_role_model_std_loss_val/events.out.tfevents.1721754497.0e0da8a72f77.4238.4 b/iris/lct_gan/4/logs/avg_role_model_std_loss_val/events.out.tfevents.1721754497.0e0da8a72f77.4238.4 new file mode 100644 index 0000000000000000000000000000000000000000..4e4a9caa7bbfa5a3e06b8c0e39c07d72a9ab8000 --- /dev/null +++ b/iris/lct_gan/4/logs/avg_role_model_std_loss_val/events.out.tfevents.1721754497.0e0da8a72f77.4238.4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cc348164f30963f3e64020ed42efdbedb663c19af036705b5b8e8d731bf886e8 +size 1062 diff --git a/iris/lct_gan/4/logs/duration_batch_train/events.out.tfevents.1721754497.0e0da8a72f77.4238.25 b/iris/lct_gan/4/logs/duration_batch_train/events.out.tfevents.1721754497.0e0da8a72f77.4238.25 new file mode 100644 index 0000000000000000000000000000000000000000..77afb41a28cab3ced49750412ae9e064b432775d --- /dev/null +++ b/iris/lct_gan/4/logs/duration_batch_train/events.out.tfevents.1721754497.0e0da8a72f77.4238.25 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6c455064f4b6d1591d9d2bf5f0b1c12bbe487bd5cfe609d211869d0d44851e50 +size 918 diff --git a/iris/lct_gan/4/logs/duration_batch_val/events.out.tfevents.1721754497.0e0da8a72f77.4238.26 b/iris/lct_gan/4/logs/duration_batch_val/events.out.tfevents.1721754497.0e0da8a72f77.4238.26 new file mode 100644 index 0000000000000000000000000000000000000000..02b18a5ca43e33c72c24404c459e75d2d48e80d5 --- /dev/null +++ b/iris/lct_gan/4/logs/duration_batch_val/events.out.tfevents.1721754497.0e0da8a72f77.4238.26 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ac7fdad00de9b281a2493baf74512a7512c173dacb6286425d8f9ab18cf48660 +size 918 diff --git a/iris/lct_gan/4/logs/duration_size_train/events.out.tfevents.1721754497.0e0da8a72f77.4238.27 b/iris/lct_gan/4/logs/duration_size_train/events.out.tfevents.1721754497.0e0da8a72f77.4238.27 new file mode 100644 index 0000000000000000000000000000000000000000..2dcdb3595579ccda13b7db5f93f5354c5a5c78e8 --- /dev/null +++ b/iris/lct_gan/4/logs/duration_size_train/events.out.tfevents.1721754497.0e0da8a72f77.4238.27 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:da248bbfd78e2b0604911111341f8d0a80c86ca1f1a0d2120871017e53909b2e +size 902 diff --git a/iris/lct_gan/4/logs/duration_size_val/events.out.tfevents.1721754497.0e0da8a72f77.4238.28 b/iris/lct_gan/4/logs/duration_size_val/events.out.tfevents.1721754497.0e0da8a72f77.4238.28 new file mode 100644 index 0000000000000000000000000000000000000000..b3c7a3a920c648c7b7a909911e96961107703404 --- /dev/null +++ b/iris/lct_gan/4/logs/duration_size_val/events.out.tfevents.1721754497.0e0da8a72f77.4238.28 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e96839b6ce3d4310580f14ce13a3c7f1e08ff9250839a51ca56ae55dab48de02 +size 902 diff --git a/iris/lct_gan/4/logs/duration_train/events.out.tfevents.1721754497.0e0da8a72f77.4238.23 b/iris/lct_gan/4/logs/duration_train/events.out.tfevents.1721754497.0e0da8a72f77.4238.23 new file mode 100644 index 0000000000000000000000000000000000000000..a73a0b99b60fdd9ccecb54d63f8c1b71fb5caa68 --- /dev/null +++ b/iris/lct_gan/4/logs/duration_train/events.out.tfevents.1721754497.0e0da8a72f77.4238.23 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:63784af132693a824028877f37f9326159332e02beea1f0c8fde8632ced17458 +size 822 diff --git a/iris/lct_gan/4/logs/duration_val/events.out.tfevents.1721754497.0e0da8a72f77.4238.24 b/iris/lct_gan/4/logs/duration_val/events.out.tfevents.1721754497.0e0da8a72f77.4238.24 new file mode 100644 index 0000000000000000000000000000000000000000..39c0a03e3508ccbd5c0af8c99d16ddc57991361f --- /dev/null +++ b/iris/lct_gan/4/logs/duration_val/events.out.tfevents.1721754497.0e0da8a72f77.4238.24 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9c44087d3d526043514bac3de28b0d8d1f71a1f28f671f1f966eba41eac2def2 +size 822 diff --git a/iris/lct_gan/4/logs/events.out.tfevents.1721754291.0e0da8a72f77.4238.0 b/iris/lct_gan/4/logs/events.out.tfevents.1721754291.0e0da8a72f77.4238.0 new file mode 100644 index 0000000000000000000000000000000000000000..da718fbe1e6228afa2be0cee94ebd229da9b7ccc --- /dev/null +++ b/iris/lct_gan/4/logs/events.out.tfevents.1721754291.0e0da8a72f77.4238.0 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f9c1621fe5cc7831dbfe353a7553da202be023f540cfb0b8ba28a4e5f7c26a20 +size 88 diff --git a/iris/lct_gan/4/logs/n_batch_train/events.out.tfevents.1721754497.0e0da8a72f77.4238.21 b/iris/lct_gan/4/logs/n_batch_train/events.out.tfevents.1721754497.0e0da8a72f77.4238.21 new file mode 100644 index 0000000000000000000000000000000000000000..b19dd55e540708b061d9b1cb9fc19dbd80e82a64 --- /dev/null +++ b/iris/lct_gan/4/logs/n_batch_train/events.out.tfevents.1721754497.0e0da8a72f77.4238.21 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:833e391f11cd886783f088a8f16802a67c46183e18427cffa97db10c22191464 +size 806 diff --git a/iris/lct_gan/4/logs/n_batch_val/events.out.tfevents.1721754497.0e0da8a72f77.4238.22 b/iris/lct_gan/4/logs/n_batch_val/events.out.tfevents.1721754497.0e0da8a72f77.4238.22 new file mode 100644 index 0000000000000000000000000000000000000000..1eeaa1f1deb92c1b435b7dd0c559336c19208c63 --- /dev/null +++ b/iris/lct_gan/4/logs/n_batch_val/events.out.tfevents.1721754497.0e0da8a72f77.4238.22 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2cc468fb1c38508296abb5f5f412183b305189dafa04a9e43effaf5629257aa4 +size 806 diff --git a/iris/lct_gan/4/logs/n_size_train/events.out.tfevents.1721754497.0e0da8a72f77.4238.19 b/iris/lct_gan/4/logs/n_size_train/events.out.tfevents.1721754497.0e0da8a72f77.4238.19 new file mode 100644 index 0000000000000000000000000000000000000000..c770f032c3203d3cea68ce8d91f11779e0510b9a --- /dev/null +++ b/iris/lct_gan/4/logs/n_size_train/events.out.tfevents.1721754497.0e0da8a72f77.4238.19 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6a2c7787b1190fbd25e2e11d786cb22df58069efce6894545cfbab46a0830253 +size 790 diff --git a/iris/lct_gan/4/logs/n_size_val/events.out.tfevents.1721754497.0e0da8a72f77.4238.20 b/iris/lct_gan/4/logs/n_size_val/events.out.tfevents.1721754497.0e0da8a72f77.4238.20 new file mode 100644 index 0000000000000000000000000000000000000000..9b4d901b629c9ac34b9a9c85a86b00d84a2698e9 --- /dev/null +++ b/iris/lct_gan/4/logs/n_size_val/events.out.tfevents.1721754497.0e0da8a72f77.4238.20 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:95dca5bf10fb9917351e3253ae1477272a146b7801c32f7ac8b542803c9322ee +size 790 diff --git a/iris/lct_gan/4/logs/train_avg_loss/events.out.tfevents.1721754497.0e0da8a72f77.4238.39 b/iris/lct_gan/4/logs/train_avg_loss/events.out.tfevents.1721754497.0e0da8a72f77.4238.39 new file mode 100644 index 0000000000000000000000000000000000000000..62f37f4a123c204fa8e8186cd99bd615bb45db06 --- /dev/null +++ b/iris/lct_gan/4/logs/train_avg_loss/events.out.tfevents.1721754497.0e0da8a72f77.4238.39 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:233a65029ee20454beb9be64e97409bc88852395bced6155b3cd123ffc67ce98 +size 774 diff --git a/iris/lct_gan/4/logs/train_avg_non_role_model_embed_loss/events.out.tfevents.1721754497.0e0da8a72f77.4238.38 b/iris/lct_gan/4/logs/train_avg_non_role_model_embed_loss/events.out.tfevents.1721754497.0e0da8a72f77.4238.38 new file mode 100644 index 0000000000000000000000000000000000000000..2e26e9b84272cd311ca55dbcf366f3f391df6bff --- /dev/null +++ b/iris/lct_gan/4/logs/train_avg_non_role_model_embed_loss/events.out.tfevents.1721754497.0e0da8a72f77.4238.38 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:da51a318edd7f33704a5db23ab64dbc7c5d078845a263b426a463d2f6c44cce4 +size 774 diff --git a/iris/lct_gan/4/logs/train_avg_non_role_model_g_cos_loss/events.out.tfevents.1721754497.0e0da8a72f77.4238.37 b/iris/lct_gan/4/logs/train_avg_non_role_model_g_cos_loss/events.out.tfevents.1721754497.0e0da8a72f77.4238.37 new file mode 100644 index 0000000000000000000000000000000000000000..f2fc77e1fb4f066fd3b0b8c99b76777cc0e37ceb --- /dev/null +++ b/iris/lct_gan/4/logs/train_avg_non_role_model_g_cos_loss/events.out.tfevents.1721754497.0e0da8a72f77.4238.37 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4537c9124483eca78b79db5457f20916c183d69ea72e6592b6c3133713cf65a4 +size 774 diff --git a/iris/lct_gan/4/logs/train_avg_non_role_model_g_mag_loss/events.out.tfevents.1721754497.0e0da8a72f77.4238.36 b/iris/lct_gan/4/logs/train_avg_non_role_model_g_mag_loss/events.out.tfevents.1721754497.0e0da8a72f77.4238.36 new file mode 100644 index 0000000000000000000000000000000000000000..1678b1459893b046ae8d36d1f18d2d3404c15fec --- /dev/null +++ b/iris/lct_gan/4/logs/train_avg_non_role_model_g_mag_loss/events.out.tfevents.1721754497.0e0da8a72f77.4238.36 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:06dfd1e25326c9b488ef8766822d631f0c9433dc9e70498baea22b934cb4f8ea +size 774 diff --git a/iris/lct_gan/4/logs/train_avg_pred_std/events.out.tfevents.1721754497.0e0da8a72f77.4238.45 b/iris/lct_gan/4/logs/train_avg_pred_std/events.out.tfevents.1721754497.0e0da8a72f77.4238.45 new file mode 100644 index 0000000000000000000000000000000000000000..0faee6e2d7a98ffa916e70299d728ade4796031b --- /dev/null +++ b/iris/lct_gan/4/logs/train_avg_pred_std/events.out.tfevents.1721754497.0e0da8a72f77.4238.45 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5b24ea88b9d62f88adfdae13e11c4651eb6a68ad1ad96a34438a94cb948d70c2 +size 774 diff --git a/iris/lct_gan/4/logs/train_avg_role_model_g_cos_loss/events.out.tfevents.1721754497.0e0da8a72f77.4238.35 b/iris/lct_gan/4/logs/train_avg_role_model_g_cos_loss/events.out.tfevents.1721754497.0e0da8a72f77.4238.35 new file mode 100644 index 0000000000000000000000000000000000000000..38d9ed3882a4f71bb6ee17a64bf782805b93ef8c --- /dev/null +++ b/iris/lct_gan/4/logs/train_avg_role_model_g_cos_loss/events.out.tfevents.1721754497.0e0da8a72f77.4238.35 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d9ea082249037c33d76f60b7976557e244d31cdf7acfd463c0224478b00ea74c +size 774 diff --git a/iris/lct_gan/4/logs/train_avg_role_model_g_mag_loss/events.out.tfevents.1721754497.0e0da8a72f77.4238.34 b/iris/lct_gan/4/logs/train_avg_role_model_g_mag_loss/events.out.tfevents.1721754497.0e0da8a72f77.4238.34 new file mode 100644 index 0000000000000000000000000000000000000000..a01aa6d4d72468ded7d2595a9a2f9723a5991ad1 --- /dev/null +++ b/iris/lct_gan/4/logs/train_avg_role_model_g_mag_loss/events.out.tfevents.1721754497.0e0da8a72f77.4238.34 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c118d6826c44bd8238e08ffcb296376141eca2b83cdb254f303e9fb3e65e6824 +size 774 diff --git a/iris/lct_gan/4/logs/train_avg_role_model_loss/events.out.tfevents.1721754497.0e0da8a72f77.4238.31 b/iris/lct_gan/4/logs/train_avg_role_model_loss/events.out.tfevents.1721754497.0e0da8a72f77.4238.31 new file mode 100644 index 0000000000000000000000000000000000000000..68b40317ad3d6a70931f8398d9fc3f4853e49a3e --- /dev/null +++ b/iris/lct_gan/4/logs/train_avg_role_model_loss/events.out.tfevents.1721754497.0e0da8a72f77.4238.31 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:317d6fd45273a7327ce0b0c53be711e91b324ba019adf714910422cfe8b7dd4a +size 774 diff --git a/iris/lct_gan/4/logs/train_avg_role_model_mean_pred_loss/events.out.tfevents.1721754497.0e0da8a72f77.4238.33 b/iris/lct_gan/4/logs/train_avg_role_model_mean_pred_loss/events.out.tfevents.1721754497.0e0da8a72f77.4238.33 new file mode 100644 index 0000000000000000000000000000000000000000..75657832e716ec53c9722d36c6645b2c6b87d079 --- /dev/null +++ b/iris/lct_gan/4/logs/train_avg_role_model_mean_pred_loss/events.out.tfevents.1721754497.0e0da8a72f77.4238.33 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:28a01702688355504a484d79048631c8eb44afba9627b337ee625870f49b4395 +size 774 diff --git a/iris/lct_gan/4/logs/train_avg_role_model_std_loss/events.out.tfevents.1721754497.0e0da8a72f77.4238.32 b/iris/lct_gan/4/logs/train_avg_role_model_std_loss/events.out.tfevents.1721754497.0e0da8a72f77.4238.32 new file mode 100644 index 0000000000000000000000000000000000000000..d87e581a3b7d5867ab9b034087ad7ae9e2ea3230 --- /dev/null +++ b/iris/lct_gan/4/logs/train_avg_role_model_std_loss/events.out.tfevents.1721754497.0e0da8a72f77.4238.32 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:083179e596d8bceb41c88e123b97c214f97e157b62b982bc064ba8409ba128ab +size 774 diff --git a/iris/lct_gan/4/logs/train_duration/events.out.tfevents.1721754497.0e0da8a72f77.4238.42 b/iris/lct_gan/4/logs/train_duration/events.out.tfevents.1721754497.0e0da8a72f77.4238.42 new file mode 100644 index 0000000000000000000000000000000000000000..8d9695dfb7fc07c0a8ac2aaf7b938e232d523f25 --- /dev/null +++ b/iris/lct_gan/4/logs/train_duration/events.out.tfevents.1721754497.0e0da8a72f77.4238.42 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:66cd3861510786ce22f6a8e9d525385a67f71d6b955a5d9e4918dc2e6992ab62 +size 774 diff --git a/iris/lct_gan/4/logs/train_duration_batch/events.out.tfevents.1721754497.0e0da8a72f77.4238.43 b/iris/lct_gan/4/logs/train_duration_batch/events.out.tfevents.1721754497.0e0da8a72f77.4238.43 new file mode 100644 index 0000000000000000000000000000000000000000..74d8d285d0c4def6395e96bccda1e53a53e77fd0 --- /dev/null +++ b/iris/lct_gan/4/logs/train_duration_batch/events.out.tfevents.1721754497.0e0da8a72f77.4238.43 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5e987877106eb04ea6f4d60664035e997c2e58bd0e84ece3f5f91ecc40cfc8fc +size 774 diff --git a/iris/lct_gan/4/logs/train_duration_size/events.out.tfevents.1721754497.0e0da8a72f77.4238.44 b/iris/lct_gan/4/logs/train_duration_size/events.out.tfevents.1721754497.0e0da8a72f77.4238.44 new file mode 100644 index 0000000000000000000000000000000000000000..a97479cc95603c3ebd3e196d30b6ef10adfc8f04 --- /dev/null +++ b/iris/lct_gan/4/logs/train_duration_size/events.out.tfevents.1721754497.0e0da8a72f77.4238.44 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:484f9d7e10c1d3aa7e3ce23dad4cdadf5baed45f135df293b557d8373e5f888a +size 774 diff --git a/iris/lct_gan/4/logs/train_n_batch/events.out.tfevents.1721754497.0e0da8a72f77.4238.41 b/iris/lct_gan/4/logs/train_n_batch/events.out.tfevents.1721754497.0e0da8a72f77.4238.41 new file mode 100644 index 0000000000000000000000000000000000000000..bc8c605341d86f18b4fb76f84638fb046c9d40c4 --- /dev/null +++ b/iris/lct_gan/4/logs/train_n_batch/events.out.tfevents.1721754497.0e0da8a72f77.4238.41 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:09bde3b5e6a1a5a1158061bb511277a50a484da4742a6d29ccc1b14a5314ac65 +size 774 diff --git a/iris/lct_gan/4/logs/train_n_size/events.out.tfevents.1721754497.0e0da8a72f77.4238.40 b/iris/lct_gan/4/logs/train_n_size/events.out.tfevents.1721754497.0e0da8a72f77.4238.40 new file mode 100644 index 0000000000000000000000000000000000000000..e520da015066dd6a0a4f7f1b497b0ed01b364748 --- /dev/null +++ b/iris/lct_gan/4/logs/train_n_size/events.out.tfevents.1721754497.0e0da8a72f77.4238.40 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5aeb2dd2258b7348bee0b358ad6e06b00e755e0e1a1feb7408b3631286e430dc +size 774 diff --git a/iris/lct_gan/4/logs/val_avg_loss/events.out.tfevents.1721754497.0e0da8a72f77.4238.54 b/iris/lct_gan/4/logs/val_avg_loss/events.out.tfevents.1721754497.0e0da8a72f77.4238.54 new file mode 100644 index 0000000000000000000000000000000000000000..d37a0c671c4581289e2d3cf4dbc1f58b54e5b6c4 --- /dev/null +++ b/iris/lct_gan/4/logs/val_avg_loss/events.out.tfevents.1721754497.0e0da8a72f77.4238.54 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:151d8a3f327c4a09612b20edfcd0f845b1f45e6fb2d956faae444141c86e5055 +size 742 diff --git a/iris/lct_gan/4/logs/val_avg_non_role_model_embed_loss/events.out.tfevents.1721754497.0e0da8a72f77.4238.53 b/iris/lct_gan/4/logs/val_avg_non_role_model_embed_loss/events.out.tfevents.1721754497.0e0da8a72f77.4238.53 new file mode 100644 index 0000000000000000000000000000000000000000..5cf281bbcecc57a4002dda97f97f8acf09159066 --- /dev/null +++ b/iris/lct_gan/4/logs/val_avg_non_role_model_embed_loss/events.out.tfevents.1721754497.0e0da8a72f77.4238.53 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:97a4aa84b243a36af4f95018b0529d2f54663b53d178c1198a92f856d3c55b19 +size 742 diff --git a/iris/lct_gan/4/logs/val_avg_non_role_model_g_cos_loss/events.out.tfevents.1721754497.0e0da8a72f77.4238.52 b/iris/lct_gan/4/logs/val_avg_non_role_model_g_cos_loss/events.out.tfevents.1721754497.0e0da8a72f77.4238.52 new file mode 100644 index 0000000000000000000000000000000000000000..dc069c9155e20db29584f4c5ae4d2b04448511e3 --- /dev/null +++ b/iris/lct_gan/4/logs/val_avg_non_role_model_g_cos_loss/events.out.tfevents.1721754497.0e0da8a72f77.4238.52 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9154c829d1c735d054a16a5ca1406dbec94640eb4e00f43b6ef82d64af80d260 +size 742 diff --git a/iris/lct_gan/4/logs/val_avg_non_role_model_g_mag_loss/events.out.tfevents.1721754497.0e0da8a72f77.4238.51 b/iris/lct_gan/4/logs/val_avg_non_role_model_g_mag_loss/events.out.tfevents.1721754497.0e0da8a72f77.4238.51 new file mode 100644 index 0000000000000000000000000000000000000000..e0890f93740649e728d86502f163b17c4043fe25 --- /dev/null +++ b/iris/lct_gan/4/logs/val_avg_non_role_model_g_mag_loss/events.out.tfevents.1721754497.0e0da8a72f77.4238.51 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6ec88fd427c57c2830c51afffc14d1e004edba297ac42fca70ad3c19759889c5 +size 742 diff --git a/iris/lct_gan/4/logs/val_avg_pred_std/events.out.tfevents.1721754497.0e0da8a72f77.4238.60 b/iris/lct_gan/4/logs/val_avg_pred_std/events.out.tfevents.1721754497.0e0da8a72f77.4238.60 new file mode 100644 index 0000000000000000000000000000000000000000..faa6cc2b8b0ee0defeacc92c662417984a054ebe --- /dev/null +++ b/iris/lct_gan/4/logs/val_avg_pred_std/events.out.tfevents.1721754497.0e0da8a72f77.4238.60 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:58a45c3bfa03cdcfcdb148bbc8fd762f2f0dde65b4dfd4cc537909f6d3b1530b +size 742 diff --git a/iris/lct_gan/4/logs/val_avg_role_model_g_cos_loss/events.out.tfevents.1721754497.0e0da8a72f77.4238.50 b/iris/lct_gan/4/logs/val_avg_role_model_g_cos_loss/events.out.tfevents.1721754497.0e0da8a72f77.4238.50 new file mode 100644 index 0000000000000000000000000000000000000000..3651606e9f73a98b4302979116c10284afbfd7ad --- /dev/null +++ b/iris/lct_gan/4/logs/val_avg_role_model_g_cos_loss/events.out.tfevents.1721754497.0e0da8a72f77.4238.50 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a5ecb37fdd94d2fb2fb3a7157b2a592532611f05e966b653098ce686e0fb78f1 +size 742 diff --git a/iris/lct_gan/4/logs/val_avg_role_model_g_mag_loss/events.out.tfevents.1721754497.0e0da8a72f77.4238.49 b/iris/lct_gan/4/logs/val_avg_role_model_g_mag_loss/events.out.tfevents.1721754497.0e0da8a72f77.4238.49 new file mode 100644 index 0000000000000000000000000000000000000000..9b9a406c43b8ca4355f28287f5b3d51927e0cf65 --- /dev/null +++ b/iris/lct_gan/4/logs/val_avg_role_model_g_mag_loss/events.out.tfevents.1721754497.0e0da8a72f77.4238.49 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:707d1098639ad354a80fd2b667b388e6196da26d60b49d8e5a3e414680413cd7 +size 742 diff --git a/iris/lct_gan/4/logs/val_avg_role_model_loss/events.out.tfevents.1721754497.0e0da8a72f77.4238.46 b/iris/lct_gan/4/logs/val_avg_role_model_loss/events.out.tfevents.1721754497.0e0da8a72f77.4238.46 new file mode 100644 index 0000000000000000000000000000000000000000..7c096da0d538c9cefa0db5d2d2843be80078c2dc --- /dev/null +++ b/iris/lct_gan/4/logs/val_avg_role_model_loss/events.out.tfevents.1721754497.0e0da8a72f77.4238.46 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:83081f68ec8465e5f470707db8a18747381ffa6ac02aacdfda7edb58cf1940be +size 742 diff --git a/iris/lct_gan/4/logs/val_avg_role_model_mean_pred_loss/events.out.tfevents.1721754497.0e0da8a72f77.4238.48 b/iris/lct_gan/4/logs/val_avg_role_model_mean_pred_loss/events.out.tfevents.1721754497.0e0da8a72f77.4238.48 new file mode 100644 index 0000000000000000000000000000000000000000..cf9aaa7022e667937e256346142fdca89248a878 --- /dev/null +++ b/iris/lct_gan/4/logs/val_avg_role_model_mean_pred_loss/events.out.tfevents.1721754497.0e0da8a72f77.4238.48 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d317676c6a199c19f16df0b334c9a8dc3d2f72add1891253a1f455c8c8e2ba63 +size 742 diff --git a/iris/lct_gan/4/logs/val_avg_role_model_std_loss/events.out.tfevents.1721754497.0e0da8a72f77.4238.47 b/iris/lct_gan/4/logs/val_avg_role_model_std_loss/events.out.tfevents.1721754497.0e0da8a72f77.4238.47 new file mode 100644 index 0000000000000000000000000000000000000000..eddd39f43054b9cbe7002b1db41cfd975939fa1a --- /dev/null +++ b/iris/lct_gan/4/logs/val_avg_role_model_std_loss/events.out.tfevents.1721754497.0e0da8a72f77.4238.47 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:03ccfd9b0eff915ce8c37b18307f0eae8aba2aad2352f37849b5eec602b98740 +size 742 diff --git a/iris/lct_gan/4/logs/val_duration/events.out.tfevents.1721754497.0e0da8a72f77.4238.57 b/iris/lct_gan/4/logs/val_duration/events.out.tfevents.1721754497.0e0da8a72f77.4238.57 new file mode 100644 index 0000000000000000000000000000000000000000..5e830ed1aaf45ee1706c46240243d988ef402d52 --- /dev/null +++ b/iris/lct_gan/4/logs/val_duration/events.out.tfevents.1721754497.0e0da8a72f77.4238.57 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7653e9606643703314d0f3fc46746ae82e6c9e299f0686a31b74139fd2a87ef4 +size 742 diff --git a/iris/lct_gan/4/logs/val_duration_batch/events.out.tfevents.1721754497.0e0da8a72f77.4238.58 b/iris/lct_gan/4/logs/val_duration_batch/events.out.tfevents.1721754497.0e0da8a72f77.4238.58 new file mode 100644 index 0000000000000000000000000000000000000000..bbc2f85b2ad83c4450408e40d908cd18b28aab35 --- /dev/null +++ b/iris/lct_gan/4/logs/val_duration_batch/events.out.tfevents.1721754497.0e0da8a72f77.4238.58 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ab24a8a08b680e72e53c4e0f8333601ec0590aed78b9b9cbd3e7c9b8efaff1d2 +size 742 diff --git a/iris/lct_gan/4/logs/val_duration_size/events.out.tfevents.1721754497.0e0da8a72f77.4238.59 b/iris/lct_gan/4/logs/val_duration_size/events.out.tfevents.1721754497.0e0da8a72f77.4238.59 new file mode 100644 index 0000000000000000000000000000000000000000..607b8e7ffe5272addd6e1879cc03d9e7a019055b --- /dev/null +++ b/iris/lct_gan/4/logs/val_duration_size/events.out.tfevents.1721754497.0e0da8a72f77.4238.59 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ccd13259dedbd1cf385a7172ec1d8455d8128b5469c8f4a99a4a8ed705b790ff +size 742 diff --git a/iris/lct_gan/4/logs/val_n_batch/events.out.tfevents.1721754497.0e0da8a72f77.4238.56 b/iris/lct_gan/4/logs/val_n_batch/events.out.tfevents.1721754497.0e0da8a72f77.4238.56 new file mode 100644 index 0000000000000000000000000000000000000000..3f53b7ac595681742ebbc441de511dc2a8e6deda --- /dev/null +++ b/iris/lct_gan/4/logs/val_n_batch/events.out.tfevents.1721754497.0e0da8a72f77.4238.56 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bb007d404d5dca8f92ff1b7926ddd2eb71ac244afc2933b1ed02c9de28b503f2 +size 742 diff --git a/iris/lct_gan/4/logs/val_n_size/events.out.tfevents.1721754497.0e0da8a72f77.4238.55 b/iris/lct_gan/4/logs/val_n_size/events.out.tfevents.1721754497.0e0da8a72f77.4238.55 new file mode 100644 index 0000000000000000000000000000000000000000..89e32b5a23a4b352c5534ab43ef7a47c44b69f03 --- /dev/null +++ b/iris/lct_gan/4/logs/val_n_size/events.out.tfevents.1721754497.0e0da8a72f77.4238.55 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2afba5e9c089350baac391fc12d5e2a24644c1a92c2967c814872703ef99b895 +size 742 diff --git a/iris/lct_gan/4/mlu-eval.ipynb b/iris/lct_gan/4/mlu-eval.ipynb new file mode 100644 index 0000000000000000000000000000000000000000..768bfb704f45dbf865a7bfb6b230890822633049 --- /dev/null +++ b/iris/lct_gan/4/mlu-eval.ipynb @@ -0,0 +1,2324 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "982e76f5", + "metadata": { + "execution": { + "iopub.execute_input": "2024-07-23T17:03:54.276903Z", + "iopub.status.busy": "2024-07-23T17:03:54.276539Z", + "iopub.status.idle": "2024-07-23T17:03:54.308509Z", + "shell.execute_reply": "2024-07-23T17:03:54.307789Z" + }, + "papermill": { + "duration": 0.047143, + "end_time": "2024-07-23T17:03:54.310485", + "exception": false, + "start_time": "2024-07-23T17:03:54.263342", + "status": "completed" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "import joblib\n", + "\n", + "#joblib.parallel_backend(\"threading\")" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "675f0b41", + "metadata": { + "execution": { + "iopub.execute_input": "2024-07-23T17:03:54.335331Z", + "iopub.status.busy": "2024-07-23T17:03:54.335040Z", + "iopub.status.idle": "2024-07-23T17:03:54.341556Z", + "shell.execute_reply": "2024-07-23T17:03:54.340732Z" + }, + "papermill": { + "duration": 0.021415, + "end_time": "2024-07-23T17:03:54.343610", + "exception": false, + "start_time": "2024-07-23T17:03:54.322195", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "'\\n%cd /kaggle/working\\n#!git clone https://github.com/R-N/ml-utility-loss --depth=1 --single-branch --branch=main\\n%cd ml-utility-loss\\n!git pull\\n#!pip install .\\n!pip install . --no-deps --force-reinstall --upgrade\\n#'" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "\"\"\"\n", + "%cd /kaggle/working\n", + "#!git clone https://github.com/R-N/ml-utility-loss --depth=1 --single-branch --branch=main\n", + "%cd ml-utility-loss\n", + "!git pull\n", + "#!pip install .\n", + "!pip install . --no-deps --force-reinstall --upgrade\n", + "#\"\"\"" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "5ae30f5c", + "metadata": { + "execution": { + "iopub.execute_input": "2024-07-23T17:03:54.366754Z", + "iopub.status.busy": "2024-07-23T17:03:54.366489Z", + "iopub.status.idle": "2024-07-23T17:03:54.370495Z", + "shell.execute_reply": "2024-07-23T17:03:54.369706Z" + }, + "papermill": { + "duration": 0.018266, + "end_time": "2024-07-23T17:03:54.372837", + "exception": false, + "start_time": "2024-07-23T17:03:54.354571", + "status": "completed" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "import matplotlib.pyplot as plt\n", + "plt.rcParams['figure.figsize'] = [3,3]" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "9f42c810", + "metadata": { + "execution": { + "iopub.execute_input": "2024-07-23T17:03:54.396244Z", + "iopub.status.busy": "2024-07-23T17:03:54.395974Z", + "iopub.status.idle": "2024-07-23T17:03:54.399780Z", + "shell.execute_reply": "2024-07-23T17:03:54.399010Z" + }, + "executionInfo": { + "elapsed": 678, + "status": "ok", + "timestamp": 1696841022168, + "user": { + "displayName": "Rizqi Nur", + "userId": "09644007964068789560" + }, + "user_tz": -420 + }, + "id": "ns5hFcVL2yvs", + "papermill": { + "duration": 0.017701, + "end_time": "2024-07-23T17:03:54.401659", + "exception": false, + "start_time": "2024-07-23T17:03:54.383958", + "status": "completed" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "datasets = [\n", + " \"insurance\",\n", + " \"treatment\",\n", + " \"contraceptive\"\n", + "]\n", + "\n", + "study_dir = \"./\"" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "85d0c8ce", + "metadata": { + "execution": { + "iopub.execute_input": "2024-07-23T17:03:54.424813Z", + "iopub.status.busy": "2024-07-23T17:03:54.424524Z", + "iopub.status.idle": "2024-07-23T17:03:54.430039Z", + "shell.execute_reply": "2024-07-23T17:03:54.429181Z" + }, + "papermill": { + "duration": 0.019412, + "end_time": "2024-07-23T17:03:54.432003", + "exception": false, + "start_time": "2024-07-23T17:03:54.412591", + "status": "completed" + }, + "tags": [ + "parameters" + ] + }, + "outputs": [], + "source": [ + "#Parameters\n", + "import os\n", + "\n", + "path_prefix = \"../../../../\"\n", + "\n", + "dataset_dir = os.path.join(path_prefix, \"ml-utility-loss/datasets\")\n", + "dataset_name = \"treatment\"\n", + "model_name=\"ml_utility_2\"\n", + "models = [\"tvae\", \"realtabformer\", \"lct_gan\", \"tab_ddpm_concat\"]\n", + "single_model = \"lct_gan\"\n", + "random_seed = 42\n", + "gp = True\n", + "gp_multiply = True\n", + "folder = \"eval\"\n", + "debug = False\n", + "path = None\n", + "param_index = 0\n", + "allow_same_prediction = True\n", + "log_wandb = False" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "56391079", + "metadata": { + "execution": { + "iopub.execute_input": "2024-07-23T17:03:54.457027Z", + "iopub.status.busy": "2024-07-23T17:03:54.456719Z", + "iopub.status.idle": "2024-07-23T17:03:54.461611Z", + "shell.execute_reply": "2024-07-23T17:03:54.460778Z" + }, + "papermill": { + "duration": 0.019626, + "end_time": "2024-07-23T17:03:54.463601", + "exception": false, + "start_time": "2024-07-23T17:03:54.443975", + "status": "completed" + }, + "tags": [ + "injected-parameters" + ] + }, + "outputs": [], + "source": [ + "# Parameters\n", + "dataset = \"iris\"\n", + "dataset_name = \"iris\"\n", + "single_model = \"lct_gan\"\n", + "gp = True\n", + "gp_multiply = True\n", + "random_seed = 4\n", + "debug = False\n", + "folder = \"eval\"\n", + "path_prefix = \"../../../../\"\n", + "path = \"eval/iris/lct_gan/4\"\n", + "param_index = 0\n", + "allow_same_prediction = True\n", + "log_wandb = False\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "bd7c02d6", + "metadata": { + "papermill": { + "duration": 0.011101, + "end_time": "2024-07-23T17:03:54.485731", + "exception": false, + "start_time": "2024-07-23T17:03:54.474630", + "status": "completed" + }, + "tags": [] + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "5f45b1d0", + "metadata": { + "execution": { + "iopub.execute_input": "2024-07-23T17:03:54.508917Z", + "iopub.status.busy": "2024-07-23T17:03:54.508626Z", + "iopub.status.idle": "2024-07-23T17:03:54.517798Z", + "shell.execute_reply": "2024-07-23T17:03:54.516988Z" + }, + "executionInfo": { + "elapsed": 7, + "status": "ok", + "timestamp": 1696841022169, + "user": { + "displayName": "Rizqi Nur", + "userId": "09644007964068789560" + }, + "user_tz": -420 + }, + "id": "UdvXYv3c3LXy", + "papermill": { + "duration": 0.022873, + "end_time": "2024-07-23T17:03:54.519631", + "exception": false, + "start_time": "2024-07-23T17:03:54.496758", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "/kaggle/working\n", + "/kaggle/working/eval/iris/lct_gan/4\n" + ] + } + ], + "source": [ + "from pathlib import Path\n", + "import os\n", + "\n", + "%cd /kaggle/working/\n", + "\n", + "if path is None:\n", + " path = os.path.join(folder, dataset_name, single_model, random_seed)\n", + "Path(path).mkdir(parents=True, exist_ok=True)\n", + "\n", + "%cd {path}" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "f85bf540", + "metadata": { + "execution": { + "iopub.execute_input": "2024-07-23T17:03:54.543010Z", + "iopub.status.busy": "2024-07-23T17:03:54.542704Z", + "iopub.status.idle": "2024-07-23T17:03:56.483973Z", + "shell.execute_reply": "2024-07-23T17:03:56.482988Z" + }, + "papermill": { + "duration": 1.955309, + "end_time": "2024-07-23T17:03:56.486166", + "exception": false, + "start_time": "2024-07-23T17:03:54.530857", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Set seed to \n" + ] + } + ], + "source": [ + "from ml_utility_loss.util import seed\n", + "if single_model:\n", + " model_name=f\"{model_name}_{single_model}\"\n", + "if random_seed is not None:\n", + " seed(random_seed)\n", + " print(\"Set seed to\", seed)" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "8489feae", + "metadata": { + "execution": { + "iopub.execute_input": "2024-07-23T17:03:56.514214Z", + "iopub.status.busy": "2024-07-23T17:03:56.513779Z", + "iopub.status.idle": "2024-07-23T17:03:56.524376Z", + "shell.execute_reply": "2024-07-23T17:03:56.523441Z" + }, + "papermill": { + "duration": 0.027113, + "end_time": "2024-07-23T17:03:56.526456", + "exception": false, + "start_time": "2024-07-23T17:03:56.499343", + "status": "completed" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import numpy as np\n", + "import json\n", + "import os\n", + "\n", + "df = pd.read_csv(os.path.join(dataset_dir, f\"{dataset_name}.csv\"))\n", + "with open(os.path.join(dataset_dir, f\"{dataset_name}.json\")) as f:\n", + " info = json.load(f)" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "debcc684", + "metadata": { + "execution": { + "iopub.execute_input": "2024-07-23T17:03:56.550116Z", + "iopub.status.busy": "2024-07-23T17:03:56.549826Z", + "iopub.status.idle": "2024-07-23T17:03:56.556976Z", + "shell.execute_reply": "2024-07-23T17:03:56.556134Z" + }, + "executionInfo": { + "elapsed": 6, + "status": "ok", + "timestamp": 1696841022169, + "user": { + "displayName": "Rizqi Nur", + "userId": "09644007964068789560" + }, + "user_tz": -420 + }, + "id": "Vrl2QkoV3o_8", + "papermill": { + "duration": 0.021332, + "end_time": "2024-07-23T17:03:56.558959", + "exception": false, + "start_time": "2024-07-23T17:03:56.537627", + "status": "completed" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "task = info[\"task\"]\n", + "target = info[\"target\"]\n", + "cat_features = info[\"cat_features\"]\n", + "mixed_features = info[\"mixed_features\"]\n", + "longtail_features = info[\"longtail_features\"]\n", + "integer_features = info[\"integer_features\"]\n", + "\n", + "test = df.sample(frac=0.2, random_state=42)\n", + "train = df[~df.index.isin(test.index)]" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "7538184a", + "metadata": { + "execution": { + "iopub.execute_input": "2024-07-23T17:03:56.582447Z", + "iopub.status.busy": "2024-07-23T17:03:56.582173Z", + "iopub.status.idle": "2024-07-23T17:03:56.678663Z", + "shell.execute_reply": "2024-07-23T17:03:56.677945Z" + }, + "executionInfo": { + "elapsed": 6, + "status": "ok", + "timestamp": 1696841022169, + "user": { + "displayName": "Rizqi Nur", + "userId": "09644007964068789560" + }, + "user_tz": -420 + }, + "id": "TilUuFk9vqMb", + "papermill": { + "duration": 0.110864, + "end_time": "2024-07-23T17:03:56.680955", + "exception": false, + "start_time": "2024-07-23T17:03:56.570091", + "status": "completed" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "import ml_utility_loss.synthesizers.tab_ddpm.params as TAB_DDPM_PARAMS\n", + "import ml_utility_loss.synthesizers.lct_gan.params as LCT_GAN_PARAMS\n", + "import ml_utility_loss.synthesizers.realtabformer.params as RTF_PARAMS\n", + "from ml_utility_loss.synthesizers.realtabformer.params.default import GPT2_PARAMS, REALTABFORMER_PARAMS\n", + "from ml_utility_loss.util import filter_dict_2, filter_dict\n", + "\n", + "tab_ddpm_params = getattr(TAB_DDPM_PARAMS, dataset_name).BEST\n", + "lct_gan_params = getattr(LCT_GAN_PARAMS, dataset_name).BEST\n", + "lct_ae_params = filter_dict_2(lct_gan_params, LCT_GAN_PARAMS.default.AE_PARAMS)\n", + "rtf_params = getattr(RTF_PARAMS, dataset_name).BEST\n", + "rtf_params = filter_dict(rtf_params, REALTABFORMER_PARAMS)\n", + "\n", + "lct_ae_embedding_size=lct_gan_params[\"embedding_size\"]\n", + "tab_ddpm_normalization=\"quantile\"\n", + "tab_ddpm_cat_encoding=tab_ddpm_params[\"cat_encoding\"]\n", + "#tab_ddpm_cat_encoding=\"one-hot\"\n", + "tab_ddpm_y_policy=\"default\"\n", + "tab_ddpm_is_y_cond=True" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "cca61838", + "metadata": { + "execution": { + "iopub.execute_input": "2024-07-23T17:03:56.706744Z", + "iopub.status.busy": "2024-07-23T17:03:56.706464Z", + "iopub.status.idle": "2024-07-23T17:04:01.036609Z", + "shell.execute_reply": "2024-07-23T17:04:01.035819Z" + }, + "executionInfo": { + "elapsed": 3113, + "status": "ok", + "timestamp": 1696841025277, + "user": { + "displayName": "Rizqi Nur", + "userId": "09644007964068789560" + }, + "user_tz": -420 + }, + "id": "7Abt8nStvr9Z", + "papermill": { + "duration": 4.345699, + "end_time": "2024-07-23T17:04:01.039106", + "exception": false, + "start_time": "2024-07-23T17:03:56.693407", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "2024-07-23 17:03:58.426952: E external/local_xla/xla/stream_executor/cuda/cuda_dnn.cc:9261] Unable to register cuDNN factory: Attempting to register factory for plugin cuDNN when one has already been registered\n", + "2024-07-23 17:03:58.427010: E external/local_xla/xla/stream_executor/cuda/cuda_fft.cc:607] Unable to register cuFFT factory: Attempting to register factory for plugin cuFFT when one has already been registered\n", + "2024-07-23 17:03:58.428726: E external/local_xla/xla/stream_executor/cuda/cuda_blas.cc:1515] Unable to register cuBLAS factory: Attempting to register factory for plugin cuBLAS when one has already been registered\n" + ] + } + ], + "source": [ + "from ml_utility_loss.loss_learning.estimator.pipeline import load_lct_ae\n", + "\n", + "# lct_ae = load_lct_ae(\n", + "# dataset_name=dataset_name,\n", + "# model_dir=os.path.join(path_prefix, \"ml-utility-loss/models\"),\n", + "# model_name=\"lct_ae\",\n", + "# df_name=\"df\",\n", + "# )\n", + "lct_ae = None" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "6f83b7b6", + "metadata": { + "execution": { + "iopub.execute_input": "2024-07-23T17:04:01.064803Z", + "iopub.status.busy": "2024-07-23T17:04:01.063600Z", + "iopub.status.idle": "2024-07-23T17:04:01.070354Z", + "shell.execute_reply": "2024-07-23T17:04:01.069497Z" + }, + "papermill": { + "duration": 0.021112, + "end_time": "2024-07-23T17:04:01.072231", + "exception": false, + "start_time": "2024-07-23T17:04:01.051119", + "status": "completed" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "from ml_utility_loss.loss_learning.estimator.pipeline import load_rtf_embed\n", + "\n", + "rtf_embed = load_rtf_embed(\n", + " dataset_name=dataset_name,\n", + " model_dir=os.path.join(path_prefix, \"ml-utility-loss/models\"),\n", + " model_name=\"realtabformer\",\n", + " df_name=\"df\",\n", + " ckpt_type=\"best-disc-model\"\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "0026de74", + "metadata": { + "execution": { + "iopub.execute_input": "2024-07-23T17:04:01.098958Z", + "iopub.status.busy": "2024-07-23T17:04:01.098343Z", + "iopub.status.idle": "2024-07-23T17:04:03.707427Z", + "shell.execute_reply": "2024-07-23T17:04:03.706627Z" + }, + "executionInfo": { + "elapsed": 20137, + "status": "ok", + "timestamp": 1696841045408, + "user": { + "displayName": "Rizqi Nur", + "userId": "09644007964068789560" + }, + "user_tz": -420 + }, + "id": "tbaguWxAvtPi", + "papermill": { + "duration": 2.625534, + "end_time": "2024-07-23T17:04:03.709902", + "exception": false, + "start_time": "2024-07-23T17:04:01.084368", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/opt/conda/lib/python3.10/site-packages/sklearn/mixture/_base.py:274: ConvergenceWarning: Initialization 1 did not converge. Try different init parameters, or increase max_iter, tol or check for degenerate data.\n", + " warnings.warn(\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/opt/conda/lib/python3.10/site-packages/sklearn/mixture/_base.py:274: ConvergenceWarning: Initialization 1 did not converge. Try different init parameters, or increase max_iter, tol or check for degenerate data.\n", + " warnings.warn(\n" + ] + } + ], + "source": [ + "from ml_utility_loss.loss_learning.estimator.preprocessing import DataPreprocessor\n", + "\n", + "preprocessor = DataPreprocessor(\n", + " task,\n", + " target=target,\n", + " cat_features=cat_features,\n", + " mixed_features=mixed_features,\n", + " longtail_features=longtail_features,\n", + " integer_features=integer_features,\n", + " lct_ae_embedding_size=lct_ae_embedding_size,\n", + " lct_ae_params=lct_ae_params,\n", + " lct_ae=lct_ae,\n", + " tab_ddpm_normalization=tab_ddpm_normalization,\n", + " tab_ddpm_cat_encoding=tab_ddpm_cat_encoding,\n", + " tab_ddpm_y_policy=tab_ddpm_y_policy,\n", + " tab_ddpm_is_y_cond=tab_ddpm_is_y_cond,\n", + " realtabformer_embedding=rtf_embed,\n", + " realtabformer_params=rtf_params,\n", + ")\n", + "preprocessor.fit(df)" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "a9c9b110", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "execution": { + "iopub.execute_input": "2024-07-23T17:04:03.737025Z", + "iopub.status.busy": "2024-07-23T17:04:03.736711Z", + "iopub.status.idle": "2024-07-23T17:04:03.742613Z", + "shell.execute_reply": "2024-07-23T17:04:03.741792Z" + }, + "executionInfo": { + "elapsed": 13, + "status": "ok", + "timestamp": 1696841045411, + "user": { + "displayName": "Rizqi Nur", + "userId": "09644007964068789560" + }, + "user_tz": -420 + }, + "id": "OxUH_GBEv2qK", + "outputId": "76464c90-3baf-4bdc-a955-6f4fddc16b9c", + "papermill": { + "duration": 0.02191, + "end_time": "2024-07-23T17:04:03.744537", + "exception": false, + "start_time": "2024-07-23T17:04:03.722627", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "{'tvae': 24,\n", + " 'realtabformer': (31, 89, Embedding(89, 864), True),\n", + " 'lct_gan': 14,\n", + " 'tab_ddpm_concat': 5}" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "preprocessor.adapter_sizes" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "3cb9ed90", + "metadata": { + "execution": { + "iopub.execute_input": "2024-07-23T17:04:03.769106Z", + "iopub.status.busy": "2024-07-23T17:04:03.768835Z", + "iopub.status.idle": "2024-07-23T17:04:03.773541Z", + "shell.execute_reply": "2024-07-23T17:04:03.772705Z" + }, + "papermill": { + "duration": 0.019124, + "end_time": "2024-07-23T17:04:03.775411", + "exception": false, + "start_time": "2024-07-23T17:04:03.756287", + "status": "completed" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "from ml_utility_loss.loss_learning.estimator.pipeline import load_dataset_3_factory\n", + "\n", + "datasetsn = load_dataset_3_factory(\n", + " dataset_dir=os.path.join(path_prefix, \"ml-utility-loss/\"),\n", + " dataset_name=dataset_name,\n", + " preprocessor=preprocessor,\n", + " cache_dir=path_prefix,\n", + " #synth_dir=f\"synthetics2/{single_model}\",\n", + " synth_dir=\"synthetics\",\n", + " real_step=1,\n", + ")\n" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "ad1eb833", + "metadata": { + "execution": { + "iopub.execute_input": "2024-07-23T17:04:03.799846Z", + "iopub.status.busy": "2024-07-23T17:04:03.799540Z", + "iopub.status.idle": "2024-07-23T17:04:11.563843Z", + "shell.execute_reply": "2024-07-23T17:04:11.562699Z" + }, + "papermill": { + "duration": 7.778885, + "end_time": "2024-07-23T17:04:11.565948", + "exception": false, + "start_time": "2024-07-23T17:04:03.787063", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "../../../../ml-utility-loss/ synthetics iris\n", + "Caching in ../../../../iris/_cache_aug_test/lct_gan/all inf False\n", + "../../../../ml-utility-loss/aug_test/iris 0\n", + "Caching in ../../../../iris/_cache_bs_test/lct_gan/all inf False\n", + "../../../../ml-utility-loss/bs_test/iris 0\n", + "Caching in ../../../../iris/_cache_synth_test/lct_gan/all inf False\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "../../../../ml-utility-loss/synthetics/iris 200\n", + "200\n" + ] + } + ], + "source": [ + "from ml_utility_loss.loss_learning.estimator.pipeline import load_dataset_4\n", + "\n", + "test_set = load_dataset_4(\n", + " dataset_dir=os.path.join(path_prefix, \"ml-utility-loss/\"),\n", + " dataset_name=dataset_name,\n", + " preprocessor=preprocessor,\n", + " model=single_model,\n", + " cache_dir=path_prefix,\n", + " #synth_dir=f\"synthetics2/{single_model}\",\n", + " synth_dir=\"synthetics\",\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "14ff8b40", + "metadata": { + "execution": { + "iopub.execute_input": "2024-07-23T17:04:11.593018Z", + "iopub.status.busy": "2024-07-23T17:04:11.592680Z", + "iopub.status.idle": "2024-07-23T17:04:12.161087Z", + "shell.execute_reply": "2024-07-23T17:04:12.160150Z" + }, + "executionInfo": { + "elapsed": 588, + "status": "ok", + "timestamp": 1696841049215, + "user": { + "displayName": "Rizqi Nur", + "userId": "09644007964068789560" + }, + "user_tz": -420 + }, + "id": "NgahtU1q9uLO", + "papermill": { + "duration": 0.584385, + "end_time": "2024-07-23T17:04:12.163263", + "exception": false, + "start_time": "2024-07-23T17:04:11.578878", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "{'bias_weight_decay': 0.05,\n", + " 'Body': 'twin_encoder',\n", + " 'loss_balancer_meta': True,\n", + " 'loss_balancer_log': False,\n", + " 'loss_balancer_lbtw': False,\n", + " 'pma_skip_small': False,\n", + " 'isab_skip_small': False,\n", + " 'layer_norm': False,\n", + " 'pma_layer_norm': False,\n", + " 'attn_residual': True,\n", + " 'tf_n_layers_dec': False,\n", + " 'tf_isab_rank': 0,\n", + " 'tf_layer_norm': False,\n", + " 'tf_pma_start': -1,\n", + " 'head_n_seeds': 0,\n", + " 'dropout': 0,\n", + " 'combine_mode': 'diff_left',\n", + " 'tf_isab_mode': 'separate',\n", + " 'grad_loss_fn': torch.Tensor>,\n", + " 'bias': True,\n", + " 'bias_final': True,\n", + " 'pma_ffn_mode': 'none',\n", + " 'gradient_penalty_mode': {'gradient_penalty': True,\n", + " 'forward_once': False,\n", + " 'calc_grad_m': False,\n", + " 'avg_non_role_model_m': False,\n", + " 'inverse_avg_non_role_model_m': False},\n", + " 'single_model': True,\n", + " 'tf_pma_low': 4,\n", + " 'patience': 10,\n", + " 'grad_clip': 0.7999999999999999,\n", + " 'bias_lr_mul': 1.0,\n", + " 'synth_data': 2,\n", + " 'inds_init_mode': 'fixnorm',\n", + " 'head_activation': torch.nn.modules.activation.ReLU6,\n", + " 'tf_activation': torch.nn.modules.activation.ReLU6,\n", + " 'loss_balancer_beta': 0.7,\n", + " 'loss_balancer_r': 0.96,\n", + " 'aug_train': 0,\n", + " 'bs_train': 0,\n", + " 'real_train': 5,\n", + " 'dataset_size': 256,\n", + " 'batch_size': 4,\n", + " 'epochs': 100,\n", + " 'lr_mul': 0.15,\n", + " 'n_warmup_steps': 120,\n", + " 'Optim': functools.partial(, amsgrad=True),\n", + " 'g_loss_mul': 0.1,\n", + " 'd_model': 32,\n", + " 'attn_activation': ml_utility_loss.activations.LeakyHardtanh,\n", + " 'tf_d_inner': 16,\n", + " 'tf_n_layers_enc': 2,\n", + " 'tf_n_head': 16,\n", + " 'tf_activation_final': ml_utility_loss.activations.LeakyHardsigmoid,\n", + " 'ada_d_hid': 32,\n", + " 'ada_n_layers': 3,\n", + " 'ada_activation': torch.nn.modules.activation.ReLU6,\n", + " 'ada_activation_final': torch.nn.modules.activation.Sigmoid,\n", + " 'head_d_hid': 32,\n", + " 'head_n_layers': 7,\n", + " 'head_n_head': 2,\n", + " 'head_activation_final': torch.nn.modules.activation.Sigmoid,\n", + " 'models': ['lct_gan'],\n", + " 'fixed_role_model': 'lct_gan',\n", + " 'max_seconds': 3600,\n", + " 'tf_lora': False,\n", + " 'tf_num_inds': 32,\n", + " 'ada_n_seeds': 0,\n", + " 'gradient_penalty_kwargs': {'mag_loss': True,\n", + " 'mse_mag': True,\n", + " 'mag_corr': False,\n", + " 'seq_mag': False,\n", + " 'cos_loss': False,\n", + " 'mag_corr_kwargs': {'only_sign': False},\n", + " 'cos_loss_kwargs': {'only_sign': True, 'cos_matrix': False},\n", + " 'mse_mag_kwargs': {'target': 0.5, 'multiply': True, 'forgive_over': True}}}" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import ml_utility_loss.loss_learning.estimator.params2 as PARAMS\n", + "from ml_utility_loss.tuning import map_parameters\n", + "from ml_utility_loss.loss_learning.estimator.params.default import update_param_space, update_param_space_2\n", + "import wandb\n", + "\n", + "#\"\"\"\n", + "param_space = {\n", + " **getattr(PARAMS, dataset_name).PARAM_SPACE,\n", + "}\n", + "# params = {\n", + "# **getattr(PARAMS, dataset_name).BESTS[param_index],\n", + "# }\n", + "params = getattr(PARAMS, dataset_name).BEST_DICT[gp][gp_multiply][single_model]\n", + "if isinstance(params, (list, tuple)):\n", + " params = params[param_index]\n", + "params = {\n", + " **getattr(PARAMS, dataset_name).DEFAULTS,\n", + " **params,\n", + "}\n", + "if gp:\n", + " params[\"gradient_penalty_mode\"] = \"ALL\"\n", + " params[\"mse_mag\"] = True\n", + " if gp_multiply:\n", + " params[\"mse_mag_multiply\"] = True\n", + " #params[\"mse_mag_target\"] = 1.0\n", + " else:\n", + " params[\"mse_mag_multiply\"] = False\n", + " #params[\"mse_mag_target\"] = 0.1\n", + "else:\n", + " params[\"gradient_penalty_mode\"] = \"NONE\"\n", + " params[\"mse_mag\"] = False\n", + "params[\"single_model\"] = False\n", + "if models:\n", + " params[\"models\"] = models\n", + "if single_model:\n", + " params[\"fixed_role_model\"] = single_model\n", + " params[\"single_model\"] = True\n", + " params[\"models\"] = [single_model]\n", + "# if params[\"fixed_role_model\"] == \"realtabformer\" and dataset_name == \"treatment\":\n", + "# params[\"batch_size\"] = 2\n", + "params[\"max_seconds\"] = 3600\n", + "params[\"patience\"] = 10\n", + "params[\"epochs\"] = 100\n", + "if debug:\n", + " params[\"epochs\"] = 2\n", + "with open(\"params.json\", \"w\") as f:\n", + " json.dump(params, f)\n", + "params = map_parameters(params, param_space=param_space)\n", + "params" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "a48bd9e9", + "metadata": { + "execution": { + "iopub.execute_input": "2024-07-23T17:04:12.190920Z", + "iopub.status.busy": "2024-07-23T17:04:12.190578Z", + "iopub.status.idle": "2024-07-23T17:04:51.027932Z", + "shell.execute_reply": "2024-07-23T17:04:51.027020Z" + }, + "papermill": { + "duration": 38.853218, + "end_time": "2024-07-23T17:04:51.029840", + "exception": false, + "start_time": "2024-07-23T17:04:12.176622", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "../../../../ml-utility-loss/ synthetics iris\n", + "Caching in ../../../../iris/_cache_aug_train/lct_gan/all inf False\n", + "split df ratio is 0\n", + "../../../../ml-utility-loss/aug_train/iris [0, 0]\n", + "Caching in ../../../../iris/_cache_aug_val/lct_gan/all inf False\n", + "split df ratio is 1\n", + "../../../../ml-utility-loss/aug_val/iris [0, 0]\n", + "Caching in ../../../../iris/_cache_bs_train/lct_gan/all inf False\n", + "split df ratio is 0\n", + "../../../../ml-utility-loss/bs_train/iris [0, 0]\n", + "Caching in ../../../../iris/_cache_bs_val/lct_gan/all inf False\n", + "split df ratio is 1\n", + "../../../../ml-utility-loss/bs_val/iris [0, 0]\n", + "Caching in ../../../../iris/_cache_synth/lct_gan/all inf False\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/opt/conda/lib/python3.10/site-packages/ml_utility_loss/loss_learning/estimator/data.py:174: FutureWarning: The default dtype for empty Series will be 'object' instead of 'float64' in a future version. Specify a dtype explicitly to silence this warning.\n", + " index = pd.Series(self.index)\n", + "/opt/conda/lib/python3.10/site-packages/ml_utility_loss/loss_learning/estimator/data.py:174: FutureWarning: The default dtype for empty Series will be 'object' instead of 'float64' in a future version. Specify a dtype explicitly to silence this warning.\n", + " index = pd.Series(self.index)\n", + "/opt/conda/lib/python3.10/site-packages/ml_utility_loss/loss_learning/estimator/data.py:174: FutureWarning: The default dtype for empty Series will be 'object' instead of 'float64' in a future version. Specify a dtype explicitly to silence this warning.\n", + " index = pd.Series(self.index)\n", + "/opt/conda/lib/python3.10/site-packages/ml_utility_loss/loss_learning/estimator/data.py:174: FutureWarning: The default dtype for empty Series will be 'object' instead of 'float64' in a future version. Specify a dtype explicitly to silence this warning.\n", + " index = pd.Series(self.index)\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Splitting without random!\n", + "Split with reverse index!\n", + "../../../../ml-utility-loss/synthetics/iris [800, 200]\n", + "Caching in ../../../../iris/_cache_real/lct_gan/all inf False\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "split df ratio is 0\n", + "../../../../ml-utility-loss/synthetics/iris [5, 0]\n", + "[805, 200]\n", + "[805, 200]\n" + ] + } + ], + "source": [ + "train_set, val_set = datasetsn(model=params[\"fixed_role_model\"], synth_data=params[\"synth_data\"])" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "2fcb1418", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 1000 + }, + "execution": { + "iopub.execute_input": "2024-07-23T17:04:51.059531Z", + "iopub.status.busy": "2024-07-23T17:04:51.058634Z", + "iopub.status.idle": "2024-07-23T17:04:51.348824Z", + "shell.execute_reply": "2024-07-23T17:04:51.347951Z" + }, + "executionInfo": { + "elapsed": 396850, + "status": "error", + "timestamp": 1696841446059, + "user": { + "displayName": "Rizqi Nur", + "userId": "09644007964068789560" + }, + "user_tz": -420 + }, + "id": "_bt1MQc5kpSk", + "outputId": "01c1d3e5-ac64-461d-835a-b76f4a66e6d6", + "papermill": { + "duration": 0.30793, + "end_time": "2024-07-23T17:04:51.350801", + "exception": false, + "start_time": "2024-07-23T17:04:51.042871", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Creating model of type \n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[*] Embedding False True\n", + "['lct_gan'] 1\n" + ] + } + ], + "source": [ + "from ml_utility_loss.loss_learning.estimator.model.pipeline import remove_non_model_params\n", + "from ml_utility_loss.loss_learning.estimator.pipeline import create_model\n", + "from ml_utility_loss.util import filter_dict, clear_memory\n", + "\n", + "clear_memory()\n", + "\n", + "params2 = remove_non_model_params(params)\n", + "adapters = filter_dict(preprocessor.adapter_sizes, params[\"models\"])\n", + "\n", + "model = create_model(\n", + " adapters=adapters,\n", + " #Body=\"twin_encoder\",\n", + " **params2,\n", + ")\n", + "#cf.apply_weight_standardization(model, n_last_layers_ignore=0)\n", + "print(model.models, len(model.adapters))" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "938f94fc", + "metadata": { + "execution": { + "iopub.execute_input": "2024-07-23T17:04:51.380085Z", + "iopub.status.busy": "2024-07-23T17:04:51.379262Z", + "iopub.status.idle": "2024-07-23T17:04:51.383847Z", + "shell.execute_reply": "2024-07-23T17:04:51.383090Z" + }, + "papermill": { + "duration": 0.021188, + "end_time": "2024-07-23T17:04:51.385650", + "exception": false, + "start_time": "2024-07-23T17:04:51.364462", + "status": "completed" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "study_name=f\"{model_name}_{dataset_name}\"" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "12fb613e", + "metadata": { + "execution": { + "iopub.execute_input": "2024-07-23T17:04:51.411953Z", + "iopub.status.busy": "2024-07-23T17:04:51.411424Z", + "iopub.status.idle": "2024-07-23T17:04:51.418016Z", + "shell.execute_reply": "2024-07-23T17:04:51.417197Z" + }, + "papermill": { + "duration": 0.021884, + "end_time": "2024-07-23T17:04:51.419930", + "exception": false, + "start_time": "2024-07-23T17:04:51.398046", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "36993" + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "def count_parameters(model):\n", + " return sum(p.numel() for p in model.parameters() if p.requires_grad)\n", + "\n", + "count_parameters(model)" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "id": "bd386e57", + "metadata": { + "execution": { + "iopub.execute_input": "2024-07-23T17:04:51.446604Z", + "iopub.status.busy": "2024-07-23T17:04:51.445862Z", + "iopub.status.idle": "2024-07-23T17:04:51.499419Z", + "shell.execute_reply": "2024-07-23T17:04:51.498621Z" + }, + "papermill": { + "duration": 0.068842, + "end_time": "2024-07-23T17:04:51.501339", + "exception": false, + "start_time": "2024-07-23T17:04:51.432497", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "========================================================================================================================\n", + "Layer (type:depth-idx) Output Shape Param #\n", + "========================================================================================================================\n", + "MLUtilitySingle [2, 120, 14] --\n", + "├─Adapter: 1-1 [2, 120, 14] --\n", + "│ └─Sequential: 2-1 [2, 120, 32] --\n", + "│ │ └─FeedForward: 3-1 [2, 120, 32] --\n", + "│ │ │ └─Linear: 4-1 [2, 120, 32] 480\n", + "│ │ │ └─ReLU6: 4-2 [2, 120, 32] --\n", + "│ │ └─FeedForward: 3-2 [2, 120, 32] --\n", + "│ │ │ └─Linear: 4-3 [2, 120, 32] 1,056\n", + "│ │ │ └─ReLU6: 4-4 [2, 120, 32] --\n", + "│ │ └─FeedForward: 3-3 [2, 120, 32] --\n", + "│ │ │ └─Linear: 4-5 [2, 120, 32] 1,056\n", + "│ │ │ └─Sigmoid: 4-6 [2, 120, 32] --\n", + "├─Adapter: 1-2 [2, 30, 14] (recursive)\n", + "│ └─Sequential: 2-2 [2, 30, 32] (recursive)\n", + "│ │ └─FeedForward: 3-4 [2, 30, 32] (recursive)\n", + "│ │ │ └─Linear: 4-7 [2, 30, 32] (recursive)\n", + "│ │ │ └─ReLU6: 4-8 [2, 30, 32] --\n", + "│ │ └─FeedForward: 3-5 [2, 30, 32] (recursive)\n", + "│ │ │ └─Linear: 4-9 [2, 30, 32] (recursive)\n", + "│ │ │ └─ReLU6: 4-10 [2, 30, 32] --\n", + "│ │ └─FeedForward: 3-6 [2, 30, 32] (recursive)\n", + "│ │ │ └─Linear: 4-11 [2, 30, 32] (recursive)\n", + "│ │ │ └─Sigmoid: 4-12 [2, 30, 32] --\n", + "├─TwinEncoder: 1-3 [2, 128] --\n", + "│ └─Encoder: 2-3 [2, 4, 32] --\n", + "│ │ └─ModuleList: 3-8 -- (recursive)\n", + "│ │ │ └─EncoderLayer: 4-13 [2, 120, 32] --\n", + "│ │ │ │ └─SimpleInducedSetAttention: 5-1 [2, 120, 32] --\n", + "│ │ │ │ │ └─TensorInductionPoint: 6-1 [2, 32, 32] 1,024\n", + "│ │ │ │ │ └─MultiHeadAttention: 6-2 [2, 32, 32] --\n", + "│ │ │ │ │ │ └─Linear: 7-1 [2, 32, 32] 1,024\n", + "│ │ │ │ │ │ └─Linear: 7-2 [2, 120, 32] 1,024\n", + "│ │ │ │ │ │ └─Linear: 7-3 [2, 120, 32] 1,024\n", + "│ │ │ │ │ │ └─ScaledDotProductAttention: 7-4 [2, 16, 32, 2] --\n", + "│ │ │ │ │ │ │ └─Softmax: 8-1 [2, 16, 32, 120] --\n", + "│ │ │ │ │ │ └─Linear: 7-5 [2, 32, 32] 1,056\n", + "│ │ │ │ │ │ └─LeakyHardtanh: 7-6 [2, 32, 32] --\n", + "│ │ │ │ │ └─MultiHeadAttention: 6-3 [2, 120, 32] --\n", + "│ │ │ │ │ │ └─Linear: 7-7 [2, 120, 32] 1,024\n", + "│ │ │ │ │ │ └─Linear: 7-8 [2, 32, 32] 1,024\n", + "│ │ │ │ │ │ └─Linear: 7-9 [2, 32, 32] 1,024\n", + "│ │ │ │ │ │ └─ScaledDotProductAttention: 7-10 [2, 16, 120, 2] --\n", + "│ │ │ │ │ │ │ └─Softmax: 8-2 [2, 16, 120, 32] --\n", + "│ │ │ │ │ │ └─Linear: 7-11 [2, 120, 32] 1,056\n", + "│ │ │ │ │ │ └─LeakyHardtanh: 7-12 [2, 120, 32] --\n", + "│ │ │ │ └─DoubleFeedForward: 5-2 [2, 120, 32] --\n", + "│ │ │ │ │ └─Linear: 6-4 [2, 120, 16] 528\n", + "│ │ │ │ │ └─ReLU6: 6-5 [2, 120, 16] --\n", + "│ │ │ │ │ └─Linear: 6-6 [2, 120, 32] 544\n", + "│ │ │ └─EncoderLayer: 4-14 [2, 4, 32] --\n", + "│ │ │ │ └─SimpleInducedSetAttention: 5-3 [2, 120, 32] --\n", + "│ │ │ │ │ └─TensorInductionPoint: 6-7 [2, 32, 32] 1,024\n", + "│ │ │ │ │ └─MultiHeadAttention: 6-8 [2, 32, 32] --\n", + "│ │ │ │ │ │ └─Linear: 7-13 [2, 32, 32] 1,024\n", + "│ │ │ │ │ │ └─Linear: 7-14 [2, 120, 32] 1,024\n", + "│ │ │ │ │ │ └─Linear: 7-15 [2, 120, 32] 1,024\n", + "│ │ │ │ │ │ └─ScaledDotProductAttention: 7-16 [2, 16, 32, 2] --\n", + "│ │ │ │ │ │ │ └─Softmax: 8-3 [2, 16, 32, 120] --\n", + "│ │ │ │ │ │ └─Linear: 7-17 [2, 32, 32] 1,056\n", + "│ │ │ │ │ │ └─LeakyHardtanh: 7-18 [2, 32, 32] --\n", + "│ │ │ │ │ └─MultiHeadAttention: 6-9 [2, 120, 32] --\n", + "│ │ │ │ │ │ └─Linear: 7-19 [2, 120, 32] 1,024\n", + "│ │ │ │ │ │ └─Linear: 7-20 [2, 32, 32] 1,024\n", + "│ │ │ │ │ │ └─Linear: 7-21 [2, 32, 32] 1,024\n", + "│ │ │ │ │ │ └─ScaledDotProductAttention: 7-22 [2, 16, 120, 2] --\n", + "│ │ │ │ │ │ │ └─Softmax: 8-4 [2, 16, 120, 32] --\n", + "│ │ │ │ │ │ └─Linear: 7-23 [2, 120, 32] 1,056\n", + "│ │ │ │ │ │ └─LeakyHardtanh: 7-24 [2, 120, 32] --\n", + "│ │ │ │ └─DoubleFeedForward: 5-4 [2, 120, 32] --\n", + "│ │ │ │ │ └─Linear: 6-10 [2, 120, 16] 528\n", + "│ │ │ │ │ └─LeakyHardsigmoid: 6-11 [2, 120, 16] --\n", + "│ │ │ │ │ └─Linear: 6-12 [2, 120, 32] 544\n", + "│ │ │ │ └─PoolingByMultiheadAttention: 5-5 [2, 4, 32] --\n", + "│ │ │ │ │ └─TensorInductionPoint: 6-13 [2, 4, 32] 128\n", + "│ │ │ │ │ └─SimpleMultiHeadAttention: 6-14 [2, 4, 32] --\n", + "│ │ │ │ │ │ └─Linear: 7-25 [2, 4, 32] 1,024\n", + "│ │ │ │ │ │ └─Linear: 7-26 [2, 120, 32] 1,024\n", + "│ │ │ │ │ │ └─Linear: 7-27 [2, 120, 32] 1,024\n", + "│ │ │ │ │ │ └─ScaledDotProductAttention: 7-28 [2, 16, 4, 2] --\n", + "│ │ │ │ │ │ │ └─Softmax: 8-5 [2, 16, 4, 120] --\n", + "│ │ │ │ │ │ └─Linear: 7-29 [2, 4, 32] 1,056\n", + "│ │ │ │ │ │ └─LeakyHardtanh: 7-30 [2, 4, 32] --\n", + "│ └─Encoder: 2-4 [2, 4, 32] (recursive)\n", + "│ │ └─ModuleList: 3-8 -- (recursive)\n", + "│ │ │ └─EncoderLayer: 4-15 [2, 30, 32] (recursive)\n", + "│ │ │ │ └─SimpleInducedSetAttention: 5-6 [2, 30, 32] (recursive)\n", + "│ │ │ │ │ └─TensorInductionPoint: 6-15 [2, 32, 32] (recursive)\n", + "│ │ │ │ │ └─MultiHeadAttention: 6-16 [2, 32, 32] (recursive)\n", + "│ │ │ │ │ │ └─Linear: 7-31 [2, 32, 32] (recursive)\n", + "│ │ │ │ │ │ └─Linear: 7-32 [2, 30, 32] (recursive)\n", + "│ │ │ │ │ │ └─Linear: 7-33 [2, 30, 32] (recursive)\n", + "│ │ │ │ │ │ └─ScaledDotProductAttention: 7-34 [2, 16, 32, 2] --\n", + "│ │ │ │ │ │ │ └─Softmax: 8-6 [2, 16, 32, 30] --\n", + "│ │ │ │ │ │ └─Linear: 7-35 [2, 32, 32] (recursive)\n", + "│ │ │ │ │ │ └─LeakyHardtanh: 7-36 [2, 32, 32] --\n", + "│ │ │ │ │ └─MultiHeadAttention: 6-17 [2, 30, 32] (recursive)\n", + "│ │ │ │ │ │ └─Linear: 7-37 [2, 30, 32] (recursive)\n", + "│ │ │ │ │ │ └─Linear: 7-38 [2, 32, 32] (recursive)\n", + "│ │ │ │ │ │ └─Linear: 7-39 [2, 32, 32] (recursive)\n", + "│ │ │ │ │ │ └─ScaledDotProductAttention: 7-40 [2, 16, 30, 2] --\n", + "│ │ │ │ │ │ │ └─Softmax: 8-7 [2, 16, 30, 32] --\n", + "│ │ │ │ │ │ └─Linear: 7-41 [2, 30, 32] (recursive)\n", + "│ │ │ │ │ │ └─LeakyHardtanh: 7-42 [2, 30, 32] --\n", + "│ │ │ │ └─DoubleFeedForward: 5-7 [2, 30, 32] (recursive)\n", + "│ │ │ │ │ └─Linear: 6-18 [2, 30, 16] (recursive)\n", + "│ │ │ │ │ └─ReLU6: 6-19 [2, 30, 16] --\n", + "│ │ │ │ │ └─Linear: 6-20 [2, 30, 32] (recursive)\n", + "│ │ │ └─EncoderLayer: 4-16 [2, 4, 32] (recursive)\n", + "│ │ │ │ └─SimpleInducedSetAttention: 5-8 [2, 30, 32] (recursive)\n", + "│ │ │ │ │ └─TensorInductionPoint: 6-21 [2, 32, 32] (recursive)\n", + "│ │ │ │ │ └─MultiHeadAttention: 6-22 [2, 32, 32] (recursive)\n", + "│ │ │ │ │ │ └─Linear: 7-43 [2, 32, 32] (recursive)\n", + "│ │ │ │ │ │ └─Linear: 7-44 [2, 30, 32] (recursive)\n", + "│ │ │ │ │ │ └─Linear: 7-45 [2, 30, 32] (recursive)\n", + "│ │ │ │ │ │ └─ScaledDotProductAttention: 7-46 [2, 16, 32, 2] --\n", + "│ │ │ │ │ │ │ └─Softmax: 8-8 [2, 16, 32, 30] --\n", + "│ │ │ │ │ │ └─Linear: 7-47 [2, 32, 32] (recursive)\n", + "│ │ │ │ │ │ └─LeakyHardtanh: 7-48 [2, 32, 32] --\n", + "│ │ │ │ │ └─MultiHeadAttention: 6-23 [2, 30, 32] (recursive)\n", + "│ │ │ │ │ │ └─Linear: 7-49 [2, 30, 32] (recursive)\n", + "│ │ │ │ │ │ └─Linear: 7-50 [2, 32, 32] (recursive)\n", + "│ │ │ │ │ │ └─Linear: 7-51 [2, 32, 32] (recursive)\n", + "│ │ │ │ │ │ └─ScaledDotProductAttention: 7-52 [2, 16, 30, 2] --\n", + "│ │ │ │ │ │ │ └─Softmax: 8-9 [2, 16, 30, 32] --\n", + "│ │ │ │ │ │ └─Linear: 7-53 [2, 30, 32] (recursive)\n", + "│ │ │ │ │ │ └─LeakyHardtanh: 7-54 [2, 30, 32] --\n", + "│ │ │ │ └─DoubleFeedForward: 5-9 [2, 30, 32] (recursive)\n", + "│ │ │ │ │ └─Linear: 6-24 [2, 30, 16] (recursive)\n", + "│ │ │ │ │ └─LeakyHardsigmoid: 6-25 [2, 30, 16] --\n", + "│ │ │ │ │ └─Linear: 6-26 [2, 30, 32] (recursive)\n", + "│ │ │ │ └─PoolingByMultiheadAttention: 5-10 [2, 4, 32] (recursive)\n", + "│ │ │ │ │ └─TensorInductionPoint: 6-27 [2, 4, 32] (recursive)\n", + "│ │ │ │ │ └─SimpleMultiHeadAttention: 6-28 [2, 4, 32] (recursive)\n", + "│ │ │ │ │ │ └─Linear: 7-55 [2, 4, 32] (recursive)\n", + "│ │ │ │ │ │ └─Linear: 7-56 [2, 30, 32] (recursive)\n", + "│ │ │ │ │ │ └─Linear: 7-57 [2, 30, 32] (recursive)\n", + "│ │ │ │ │ │ └─ScaledDotProductAttention: 7-58 [2, 16, 4, 2] --\n", + "│ │ │ │ │ │ │ └─Softmax: 8-10 [2, 16, 4, 30] --\n", + "│ │ │ │ │ │ └─Linear: 7-59 [2, 4, 32] (recursive)\n", + "│ │ │ │ │ │ └─LeakyHardtanh: 7-60 [2, 4, 32] --\n", + "├─Head: 1-4 [2] --\n", + "│ └─Sequential: 2-5 [2, 1] --\n", + "│ │ └─FeedForward: 3-9 [2, 32] --\n", + "│ │ │ └─Linear: 4-17 [2, 32] 4,128\n", + "│ │ │ └─ReLU6: 4-18 [2, 32] --\n", + "│ │ └─FeedForward: 3-10 [2, 32] --\n", + "│ │ │ └─Linear: 4-19 [2, 32] 1,056\n", + "│ │ │ └─ReLU6: 4-20 [2, 32] --\n", + "│ │ └─FeedForward: 3-11 [2, 32] --\n", + "│ │ │ └─Linear: 4-21 [2, 32] 1,056\n", + "│ │ │ └─ReLU6: 4-22 [2, 32] --\n", + "│ │ └─FeedForward: 3-12 [2, 32] --\n", + "│ │ │ └─Linear: 4-23 [2, 32] 1,056\n", + "│ │ │ └─ReLU6: 4-24 [2, 32] --\n", + "│ │ └─FeedForward: 3-13 [2, 32] --\n", + "│ │ │ └─Linear: 4-25 [2, 32] 1,056\n", + "│ │ │ └─ReLU6: 4-26 [2, 32] --\n", + "│ │ └─FeedForward: 3-14 [2, 32] --\n", + "│ │ │ └─Linear: 4-27 [2, 32] 1,056\n", + "│ │ │ └─ReLU6: 4-28 [2, 32] --\n", + "│ │ └─FeedForward: 3-15 [2, 1] --\n", + "│ │ │ └─Linear: 4-29 [2, 1] 33\n", + "│ │ │ └─Sigmoid: 4-30 [2, 1] --\n", + "========================================================================================================================\n", + "Total params: 36,993\n", + "Trainable params: 36,993\n", + "Non-trainable params: 0\n", + "Total mult-adds (M): 0.12\n", + "========================================================================================================================\n", + "Input size (MB): 0.02\n", + "Forward/backward pass size (MB): 1.57\n", + "Params size (MB): 0.15\n", + "Estimated Total Size (MB): 1.74\n", + "========================================================================================================================" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from torchinfo import summary\n", + "\n", + "role_model = params[\"fixed_role_model\"]\n", + "s = train_set[0][role_model]\n", + "summary(model[role_model], input_size=((2, *s[0].shape), (2, *s[1].shape)), depth=9) # 8 max" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "id": "0f42c4d1", + "metadata": { + "execution": { + "iopub.execute_input": "2024-07-23T17:04:51.530068Z", + "iopub.status.busy": "2024-07-23T17:04:51.529794Z", + "iopub.status.idle": "2024-07-23T18:06:18.320205Z", + "shell.execute_reply": "2024-07-23T18:06:18.319010Z" + }, + "papermill": { + "duration": 3686.823086, + "end_time": "2024-07-23T18:06:18.338335", + "exception": false, + "start_time": "2024-07-23T17:04:51.515249", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "3 datasets [805, 200, 200]\n", + "Creating model of type \n", + "[*] Embedding False True\n", + "g_loss_mul 0.1\n", + "Epoch 0\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.04530997144474839, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 0.002780304888885645, 'avg_role_model_g_mag_loss': 0.07033269654797471, 'avg_role_model_g_cos_loss': 0.0, 'avg_non_role_model_g_mag_loss': 0.0, 'avg_non_role_model_g_cos_loss': 0.0, 'avg_non_role_model_embed_loss': 0.0, 'avg_loss': 0.06087295231611832, 'n_size': 805, 'n_batch': 202, 'duration': 165.99742007255554, 'duration_batch': 0.8217694062997799, 'duration_size': 0.20620797524541062, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.01542697440017946, 'avg_role_model_std_loss': 0.8082354803576527, 'avg_role_model_mean_pred_loss': 0.00013283713820993803, 'avg_role_model_g_mag_loss': 0.0, 'avg_role_model_g_cos_loss': 0.0, 'avg_non_role_model_g_mag_loss': 0.0, 'avg_non_role_model_g_cos_loss': 0.0, 'avg_non_role_model_embed_loss': 0.0, 'avg_loss': 0.01542697440017946, 'n_size': 200, 'n_batch': 50, 'duration': 38.97759985923767, 'duration_batch': 0.7795519971847534, 'duration_size': 0.19488799929618836, 'avg_pred_std': 0.18043247133493423}\n", + "Epoch 1\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.013364278539864822, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 0.000301401520089923, 'avg_role_model_g_mag_loss': 0.09823905876403825, 'avg_role_model_g_cos_loss': 0.0, 'avg_non_role_model_g_mag_loss': 0.0, 'avg_non_role_model_g_cos_loss': 0.0, 'avg_non_role_model_embed_loss': 0.0, 'avg_loss': 0.013543191885211222, 'n_size': 805, 'n_batch': 202, 'duration': 172.58718419075012, 'duration_batch': 0.8543920009443076, 'duration_size': 0.21439401762826102, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.007640246589435264, 'avg_role_model_std_loss': 0.12589123158777965, 'avg_role_model_mean_pred_loss': 7.531156250237814e-05, 'avg_role_model_g_mag_loss': 0.0, 'avg_role_model_g_cos_loss': 0.0, 'avg_non_role_model_g_mag_loss': 0.0, 'avg_non_role_model_g_cos_loss': 0.0, 'avg_non_role_model_embed_loss': 0.0, 'avg_loss': 0.007640246589435264, 'n_size': 200, 'n_batch': 50, 'duration': 39.734886169433594, 'duration_batch': 0.7946977233886718, 'duration_size': 0.19867443084716796, 'avg_pred_std': 0.2404796802997589}\n", + "Epoch 2\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.010500321830680698, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 0.00019122642750061595, 'avg_role_model_g_mag_loss': 0.0627002106372105, 'avg_role_model_g_cos_loss': 0.0, 'avg_non_role_model_g_mag_loss': 0.0, 'avg_non_role_model_g_cos_loss': 0.0, 'avg_non_role_model_embed_loss': 0.0, 'avg_loss': 0.010639967622166001, 'n_size': 805, 'n_batch': 202, 'duration': 172.7169029712677, 'duration_batch': 0.8550341731250877, 'duration_size': 0.21455515897051888, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.010820642639882862, 'avg_role_model_std_loss': 0.13844341153133427, 'avg_role_model_mean_pred_loss': 0.00019025476173226252, 'avg_role_model_g_mag_loss': 0.0, 'avg_role_model_g_cos_loss': 0.0, 'avg_non_role_model_g_mag_loss': 0.0, 'avg_non_role_model_g_cos_loss': 0.0, 'avg_non_role_model_embed_loss': 0.0, 'avg_loss': 0.010820642639882862, 'n_size': 200, 'n_batch': 50, 'duration': 41.14260721206665, 'duration_batch': 0.822852144241333, 'duration_size': 0.20571303606033325, 'avg_pred_std': 0.24295313626527787}\n", + "Epoch 3\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.00995405142518015, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 0.00016653260670512394, 'avg_role_model_g_mag_loss': 0.07017759558045514, 'avg_role_model_g_cos_loss': 0.0, 'avg_non_role_model_g_mag_loss': 0.0, 'avg_non_role_model_g_cos_loss': 0.0, 'avg_non_role_model_embed_loss': 0.0, 'avg_loss': 0.010084247613334391, 'n_size': 805, 'n_batch': 202, 'duration': 171.61680912971497, 'duration_batch': 0.8495881640084899, 'duration_size': 0.21318858276983227, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.008431123316986486, 'avg_role_model_std_loss': 0.084112922222821, 'avg_role_model_mean_pred_loss': 0.00011250103011434476, 'avg_role_model_g_mag_loss': 0.0, 'avg_role_model_g_cos_loss': 0.0, 'avg_non_role_model_g_mag_loss': 0.0, 'avg_non_role_model_g_cos_loss': 0.0, 'avg_non_role_model_embed_loss': 0.0, 'avg_loss': 0.008431123316986486, 'n_size': 200, 'n_batch': 50, 'duration': 40.03202557563782, 'duration_batch': 0.8006405115127564, 'duration_size': 0.2001601278781891, 'avg_pred_std': 0.2528195089101791}\n", + "Epoch 4\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.00979060184386608, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 0.00020980524722096617, 'avg_role_model_g_mag_loss': 0.06518264963285801, 'avg_role_model_g_cos_loss': 0.0, 'avg_non_role_model_g_mag_loss': 0.0, 'avg_non_role_model_g_cos_loss': 0.0, 'avg_non_role_model_embed_loss': 0.0, 'avg_loss': 0.00991432623139088, 'n_size': 805, 'n_batch': 202, 'duration': 170.28843450546265, 'duration_batch': 0.8430120520072408, 'duration_size': 0.21153842795709646, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.009889723006635905, 'avg_role_model_std_loss': 0.2227712948003318, 'avg_role_model_mean_pred_loss': 5.175391363422131e-05, 'avg_role_model_g_mag_loss': 0.0, 'avg_role_model_g_cos_loss': 0.0, 'avg_non_role_model_g_mag_loss': 0.0, 'avg_non_role_model_g_cos_loss': 0.0, 'avg_non_role_model_embed_loss': 0.0, 'avg_loss': 0.009889723006635905, 'n_size': 200, 'n_batch': 50, 'duration': 39.95052194595337, 'duration_batch': 0.7990104389190674, 'duration_size': 0.19975260972976686, 'avg_pred_std': 0.21974920719861984}\n", + "Epoch 5\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.008538183550963536, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 0.00012127497136664336, 'avg_role_model_g_mag_loss': 0.04424351506074023, 'avg_role_model_g_cos_loss': 0.0, 'avg_non_role_model_g_mag_loss': 0.0, 'avg_non_role_model_g_cos_loss': 0.0, 'avg_non_role_model_embed_loss': 0.0, 'avg_loss': 0.008669156943280134, 'n_size': 805, 'n_batch': 202, 'duration': 171.23754835128784, 'duration_batch': 0.8477106354024151, 'duration_size': 0.21271745136805942, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.00843350039271172, 'avg_role_model_std_loss': 0.18606553970544154, 'avg_role_model_mean_pred_loss': 8.758723727083861e-05, 'avg_role_model_g_mag_loss': 0.0, 'avg_role_model_g_cos_loss': 0.0, 'avg_non_role_model_g_mag_loss': 0.0, 'avg_non_role_model_g_cos_loss': 0.0, 'avg_non_role_model_embed_loss': 0.0, 'avg_loss': 0.00843350039271172, 'n_size': 200, 'n_batch': 50, 'duration': 40.28640389442444, 'duration_batch': 0.8057280778884888, 'duration_size': 0.2014320194721222, 'avg_pred_std': 0.22540607526898385}\n", + "Epoch 6\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.008698618042525714, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 0.00016160104971219843, 'avg_role_model_g_mag_loss': 0.05573682474400501, 'avg_role_model_g_cos_loss': 0.0, 'avg_non_role_model_g_mag_loss': 0.0, 'avg_non_role_model_g_cos_loss': 0.0, 'avg_non_role_model_embed_loss': 0.0, 'avg_loss': 0.008807274572600419, 'n_size': 805, 'n_batch': 202, 'duration': 169.66288828849792, 'duration_batch': 0.8399152885569204, 'duration_size': 0.21076135191117754, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.00811434916453436, 'avg_role_model_std_loss': 0.058111534406152715, 'avg_role_model_mean_pred_loss': 0.00011741059634962526, 'avg_role_model_g_mag_loss': 0.0, 'avg_role_model_g_cos_loss': 0.0, 'avg_non_role_model_g_mag_loss': 0.0, 'avg_non_role_model_g_cos_loss': 0.0, 'avg_non_role_model_embed_loss': 0.0, 'avg_loss': 0.00811434916453436, 'n_size': 200, 'n_batch': 50, 'duration': 39.820730209350586, 'duration_batch': 0.7964146041870117, 'duration_size': 0.19910365104675293, 'avg_pred_std': 0.2608958101272583}\n", + "Epoch 7\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.008382059178772088, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 0.00011547293945866023, 'avg_role_model_g_mag_loss': 0.053339377836966365, 'avg_role_model_g_cos_loss': 0.0, 'avg_non_role_model_g_mag_loss': 0.0, 'avg_non_role_model_g_cos_loss': 0.0, 'avg_non_role_model_embed_loss': 0.0, 'avg_loss': 0.008488330078927325, 'n_size': 805, 'n_batch': 202, 'duration': 169.76415014266968, 'duration_batch': 0.8404165848647014, 'duration_size': 0.21088714303437228, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.0066737520112656054, 'avg_role_model_std_loss': 0.04731034292086406, 'avg_role_model_mean_pred_loss': 8.338995933161897e-05, 'avg_role_model_g_mag_loss': 0.0, 'avg_role_model_g_cos_loss': 0.0, 'avg_non_role_model_g_mag_loss': 0.0, 'avg_non_role_model_g_cos_loss': 0.0, 'avg_non_role_model_embed_loss': 0.0, 'avg_loss': 0.0066737520112656054, 'n_size': 200, 'n_batch': 50, 'duration': 39.600672245025635, 'duration_batch': 0.7920134449005127, 'duration_size': 0.19800336122512818, 'avg_pred_std': 0.2674062058329582}\n", + "Epoch 8\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.008053088699612456, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 0.00010978430215111662, 'avg_role_model_g_mag_loss': 0.06836219161563778, 'avg_role_model_g_cos_loss': 0.0, 'avg_non_role_model_g_mag_loss': 0.0, 'avg_non_role_model_g_cos_loss': 0.0, 'avg_non_role_model_embed_loss': 0.0, 'avg_loss': 0.008140647886552332, 'n_size': 805, 'n_batch': 202, 'duration': 168.3886547088623, 'duration_batch': 0.8336072015290213, 'duration_size': 0.20917845305448735, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.007329364093020558, 'avg_role_model_std_loss': 0.0852147266040447, 'avg_role_model_mean_pred_loss': 9.426235340496802e-05, 'avg_role_model_g_mag_loss': 0.0, 'avg_role_model_g_cos_loss': 0.0, 'avg_non_role_model_g_mag_loss': 0.0, 'avg_non_role_model_g_cos_loss': 0.0, 'avg_non_role_model_embed_loss': 0.0, 'avg_loss': 0.007329364093020558, 'n_size': 200, 'n_batch': 50, 'duration': 39.37808632850647, 'duration_batch': 0.7875617265701294, 'duration_size': 0.19689043164253234, 'avg_pred_std': 0.24936178147792817}\n", + "Epoch 9\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.00830792498844242, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 0.00013996204159651387, 'avg_role_model_g_mag_loss': 0.05095198800127884, 'avg_role_model_g_cos_loss': 0.0, 'avg_non_role_model_g_mag_loss': 0.0, 'avg_non_role_model_g_cos_loss': 0.0, 'avg_non_role_model_embed_loss': 0.0, 'avg_loss': 0.008421662332987563, 'n_size': 805, 'n_batch': 202, 'duration': 169.48959159851074, 'duration_batch': 0.8390573841510433, 'duration_size': 0.21054607651988913, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.006952371424995362, 'avg_role_model_std_loss': 0.06902654893428917, 'avg_role_model_mean_pred_loss': 8.897538738843025e-05, 'avg_role_model_g_mag_loss': 0.0, 'avg_role_model_g_cos_loss': 0.0, 'avg_non_role_model_g_mag_loss': 0.0, 'avg_non_role_model_g_cos_loss': 0.0, 'avg_non_role_model_embed_loss': 0.0, 'avg_loss': 0.006952371424995362, 'n_size': 200, 'n_batch': 50, 'duration': 39.87849688529968, 'duration_batch': 0.7975699377059936, 'duration_size': 0.1993924844264984, 'avg_pred_std': 0.25382820785045623}\n", + "Epoch 10\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.007470798340585568, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 8.176678575910647e-05, 'avg_role_model_g_mag_loss': 0.0489145880345232, 'avg_role_model_g_cos_loss': 0.0, 'avg_non_role_model_g_mag_loss': 0.0, 'avg_non_role_model_g_cos_loss': 0.0, 'avg_non_role_model_embed_loss': 0.0, 'avg_loss': 0.007567921230390159, 'n_size': 805, 'n_batch': 202, 'duration': 170.21942901611328, 'duration_batch': 0.8426704406738281, 'duration_size': 0.21145270685231463, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.007188502580393105, 'avg_role_model_std_loss': 0.13117573529941665, 'avg_role_model_mean_pred_loss': 4.778835495720557e-05, 'avg_role_model_g_mag_loss': 0.0, 'avg_role_model_g_cos_loss': 0.0, 'avg_non_role_model_g_mag_loss': 0.0, 'avg_non_role_model_g_cos_loss': 0.0, 'avg_non_role_model_embed_loss': 0.0, 'avg_loss': 0.007188502580393105, 'n_size': 200, 'n_batch': 50, 'duration': 39.539748191833496, 'duration_batch': 0.7907949638366699, 'duration_size': 0.19769874095916748, 'avg_pred_std': 0.24194324642419815}\n", + "Epoch 11\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.007289801676242803, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 8.684733255074123e-05, 'avg_role_model_g_mag_loss': 0.05316623551134737, 'avg_role_model_g_cos_loss': 0.0, 'avg_non_role_model_g_mag_loss': 0.0, 'avg_non_role_model_g_cos_loss': 0.0, 'avg_non_role_model_embed_loss': 0.0, 'avg_loss': 0.0073743519413007295, 'n_size': 805, 'n_batch': 202, 'duration': 168.9015407562256, 'duration_batch': 0.8361462413674534, 'duration_size': 0.20981557857916222, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.0068476066418224945, 'avg_role_model_std_loss': 0.10125014821904188, 'avg_role_model_mean_pred_loss': 9.132117005918871e-05, 'avg_role_model_g_mag_loss': 0.0, 'avg_role_model_g_cos_loss': 0.0, 'avg_non_role_model_g_mag_loss': 0.0, 'avg_non_role_model_g_cos_loss': 0.0, 'avg_non_role_model_embed_loss': 0.0, 'avg_loss': 0.0068476066418224945, 'n_size': 200, 'n_batch': 50, 'duration': 39.30956149101257, 'duration_batch': 0.7861912298202515, 'duration_size': 0.19654780745506287, 'avg_pred_std': 0.2370263347029686}\n", + "Epoch 12\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.007214498540288219, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 7.553079017778123e-05, 'avg_role_model_g_mag_loss': 0.05831920977866983, 'avg_role_model_g_cos_loss': 0.0, 'avg_non_role_model_g_mag_loss': 0.0, 'avg_non_role_model_g_cos_loss': 0.0, 'avg_non_role_model_embed_loss': 0.0, 'avg_loss': 0.007295039370554783, 'n_size': 805, 'n_batch': 202, 'duration': 166.67645573616028, 'duration_batch': 0.8251309689908924, 'duration_size': 0.20705149780889476, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.006848645363934338, 'avg_role_model_std_loss': 0.05732781726044266, 'avg_role_model_mean_pred_loss': 8.139447295484998e-05, 'avg_role_model_g_mag_loss': 0.0, 'avg_role_model_g_cos_loss': 0.0, 'avg_non_role_model_g_mag_loss': 0.0, 'avg_non_role_model_g_cos_loss': 0.0, 'avg_non_role_model_embed_loss': 0.0, 'avg_loss': 0.006848645363934338, 'n_size': 200, 'n_batch': 50, 'duration': 38.975257873535156, 'duration_batch': 0.7795051574707031, 'duration_size': 0.1948762893676758, 'avg_pred_std': 0.25706598818302157}\n", + "Epoch 13\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.007115711236700415, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 8.011211391235928e-05, 'avg_role_model_g_mag_loss': 0.061919196665009356, 'avg_role_model_g_cos_loss': 0.0, 'avg_non_role_model_g_mag_loss': 0.0, 'avg_non_role_model_g_cos_loss': 0.0, 'avg_non_role_model_embed_loss': 0.0, 'avg_loss': 0.007191934797734146, 'n_size': 805, 'n_batch': 202, 'duration': 180.46907472610474, 'duration_batch': 0.8934112610203204, 'duration_size': 0.22418518599516116, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.007391760512255132, 'avg_role_model_std_loss': 0.053923919395793975, 'avg_role_model_mean_pred_loss': 8.529584194377548e-05, 'avg_role_model_g_mag_loss': 0.0, 'avg_role_model_g_cos_loss': 0.0, 'avg_non_role_model_g_mag_loss': 0.0, 'avg_non_role_model_g_cos_loss': 0.0, 'avg_non_role_model_embed_loss': 0.0, 'avg_loss': 0.007391760512255132, 'n_size': 200, 'n_batch': 50, 'duration': 43.283634662628174, 'duration_batch': 0.8656726932525635, 'duration_size': 0.21641817331314087, 'avg_pred_std': 0.25962475061416623}\n", + "Epoch 14\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.006589850891683025, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 5.451177349758594e-05, 'avg_role_model_g_mag_loss': 0.05850705104122251, 'avg_role_model_g_cos_loss': 0.0, 'avg_non_role_model_g_mag_loss': 0.0, 'avg_non_role_model_g_cos_loss': 0.0, 'avg_non_role_model_embed_loss': 0.0, 'avg_loss': 0.006660095575592417, 'n_size': 805, 'n_batch': 202, 'duration': 182.62822031974792, 'duration_batch': 0.9041001005928115, 'duration_size': 0.22686735443446948, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.006791308738174848, 'avg_role_model_std_loss': 0.13568580441533412, 'avg_role_model_mean_pred_loss': 6.426262453459231e-05, 'avg_role_model_g_mag_loss': 0.0, 'avg_role_model_g_cos_loss': 0.0, 'avg_non_role_model_g_mag_loss': 0.0, 'avg_non_role_model_g_cos_loss': 0.0, 'avg_non_role_model_embed_loss': 0.0, 'avg_loss': 0.006791308738174848, 'n_size': 200, 'n_batch': 50, 'duration': 43.123136043548584, 'duration_batch': 0.8624627208709716, 'duration_size': 0.2156156802177429, 'avg_pred_std': 0.2342006042599678}\n", + "Epoch 15\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.006804365013987809, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 6.606308804343961e-05, 'avg_role_model_g_mag_loss': 0.05741625509878493, 'avg_role_model_g_cos_loss': 0.0, 'avg_non_role_model_g_mag_loss': 0.0, 'avg_non_role_model_g_cos_loss': 0.0, 'avg_non_role_model_embed_loss': 0.0, 'avg_loss': 0.006877377427071738, 'n_size': 805, 'n_batch': 202, 'duration': 182.7841649055481, 'duration_batch': 0.9048721034928123, 'duration_size': 0.22706107441682993, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.007345085615525022, 'avg_role_model_std_loss': 0.12475078160216072, 'avg_role_model_mean_pred_loss': 0.00011742619317747227, 'avg_role_model_g_mag_loss': 0.0, 'avg_role_model_g_cos_loss': 0.0, 'avg_non_role_model_g_mag_loss': 0.0, 'avg_non_role_model_g_cos_loss': 0.0, 'avg_non_role_model_embed_loss': 0.0, 'avg_loss': 0.007345085615525022, 'n_size': 200, 'n_batch': 50, 'duration': 43.192113399505615, 'duration_batch': 0.8638422679901123, 'duration_size': 0.21596056699752808, 'avg_pred_std': 0.250487007945776}\n", + "Epoch 16\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.006414913585530999, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 4.9172975624634794e-05, 'avg_role_model_g_mag_loss': 0.0585682172189403, 'avg_role_model_g_cos_loss': 0.0, 'avg_non_role_model_g_mag_loss': 0.0, 'avg_non_role_model_g_cos_loss': 0.0, 'avg_non_role_model_embed_loss': 0.0, 'avg_loss': 0.006484448096587652, 'n_size': 805, 'n_batch': 202, 'duration': 181.937974691391, 'duration_batch': 0.9006830430266881, 'duration_size': 0.2260099064489329, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.006214695668313652, 'avg_role_model_std_loss': 0.06942449610622134, 'avg_role_model_mean_pred_loss': 4.527650615752776e-05, 'avg_role_model_g_mag_loss': 0.0, 'avg_role_model_g_cos_loss': 0.0, 'avg_non_role_model_g_mag_loss': 0.0, 'avg_non_role_model_g_cos_loss': 0.0, 'avg_non_role_model_embed_loss': 0.0, 'avg_loss': 0.006214695668313652, 'n_size': 200, 'n_batch': 50, 'duration': 42.81044888496399, 'duration_batch': 0.8562089776992798, 'duration_size': 0.21405224442481996, 'avg_pred_std': 0.2481658336520195}\n", + "Time out: 3642.8373589515686/3600\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Eval loss {'role_model': 'lct_gan', 'n_size': 200, 'n_batch': 50, 'role_model_metrics': {'avg_loss': 0.00667611563927494, 'avg_g_mag_loss': 0.017990559135443788, 'avg_g_cos_loss': 0.0032932530611287803, 'pred_duration': 0.5172863006591797, 'grad_duration': 0.29914402961730957, 'total_duration': 0.8164303302764893, 'pred_std': 0.2282898873090744, 'std_loss': 0.005916635040193796, 'mean_pred_loss': 8.267547673312947e-05, 'pred_rmse': 0.08170749992132187, 'pred_mae': 0.06212707608938217, 'pred_mape': 0.12361498177051544, 'grad_rmse': 0.11113059520721436, 'grad_mae': 0.04901890829205513, 'grad_mape': 0.6129766702651978}, 'non_role_model_metrics': {'avg_loss': 0, 'avg_g_mag_loss': 0, 'avg_g_cos_loss': 0, 'avg_pred_duration': 0, 'avg_grad_duration': 0, 'avg_total_duration': 0, 'avg_pred_std': 0, 'avg_std_loss': 0, 'avg_mean_pred_loss': 0}, 'avg_metrics': {'avg_loss': 0.00667611563927494, 'avg_g_mag_loss': 0.017990559135443788, 'avg_g_cos_loss': 0.0032932530611287803, 'avg_pred_duration': 0.5172863006591797, 'avg_grad_duration': 0.29914402961730957, 'avg_total_duration': 0.8164303302764893, 'avg_pred_std': 0.2282898873090744, 'avg_std_loss': 0.005916635040193796, 'avg_mean_pred_loss': 8.267547673312947e-05}, 'min_metrics': {'avg_loss': 0.00667611563927494, 'avg_g_mag_loss': 0.017990559135443788, 'avg_g_cos_loss': 0.0032932530611287803, 'pred_duration': 0.5172863006591797, 'grad_duration': 0.29914402961730957, 'total_duration': 0.8164303302764893, 'pred_std': 0.2282898873090744, 'std_loss': 0.005916635040193796, 'mean_pred_loss': 8.267547673312947e-05, 'pred_rmse': 0.08170749992132187, 'pred_mae': 0.06212707608938217, 'pred_mape': 0.12361498177051544, 'grad_rmse': 0.11113059520721436, 'grad_mae': 0.04901890829205513, 'grad_mape': 0.6129766702651978}, 'model_metrics': {'lct_gan': {'avg_loss': 0.00667611563927494, 'avg_g_mag_loss': 0.017990559135443788, 'avg_g_cos_loss': 0.0032932530611287803, 'pred_duration': 0.5172863006591797, 'grad_duration': 0.29914402961730957, 'total_duration': 0.8164303302764893, 'pred_std': 0.2282898873090744, 'std_loss': 0.005916635040193796, 'mean_pred_loss': 8.267547673312947e-05, 'pred_rmse': 0.08170749992132187, 'pred_mae': 0.06212707608938217, 'pred_mape': 0.12361498177051544, 'grad_rmse': 0.11113059520721436, 'grad_mae': 0.04901890829205513, 'grad_mape': 0.6129766702651978}}}\n" + ] + } + ], + "source": [ + "import torch\n", + "from ml_utility_loss.loss_learning.estimator.pipeline import train, train_2\n", + "from ml_utility_loss.loss_learning.estimator.process_simple import train_epoch, eval as _eval\n", + "from ml_utility_loss.params import GradientPenaltyMode\n", + "from ml_utility_loss.util import clear_memory\n", + "import time\n", + "#torch.autograd.set_detect_anomaly(True)\n", + "\n", + "del model\n", + "clear_memory()\n", + "\n", + "#opt = params[\"Optim\"](model.parameters())\n", + "loss = train_2(\n", + " [train_set, val_set, test_set],\n", + " preprocessor=preprocessor,\n", + " #whole_model=model,\n", + " #optim=opt,\n", + " log_dir=\"logs\",\n", + " checkpoint_dir=None,\n", + " verbose=True,\n", + " allow_same_prediction=allow_same_prediction,\n", + " wandb=wandb if log_wandb else None,\n", + " study_name=study_name,\n", + " **params\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "id": "9b514a07", + "metadata": { + "execution": { + "iopub.execute_input": "2024-07-23T18:06:18.374981Z", + "iopub.status.busy": "2024-07-23T18:06:18.374564Z", + "iopub.status.idle": "2024-07-23T18:06:18.379163Z", + "shell.execute_reply": "2024-07-23T18:06:18.378246Z" + }, + "papermill": { + "duration": 0.025925, + "end_time": "2024-07-23T18:06:18.381261", + "exception": false, + "start_time": "2024-07-23T18:06:18.355336", + "status": "completed" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "model = loss[\"whole_model\"]\n", + "opt = loss[\"optim\"]" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "id": "331a49e1", + "metadata": { + "execution": { + "iopub.execute_input": "2024-07-23T18:06:18.416431Z", + "iopub.status.busy": "2024-07-23T18:06:18.415601Z", + "iopub.status.idle": "2024-07-23T18:06:18.435774Z", + "shell.execute_reply": "2024-07-23T18:06:18.434833Z" + }, + "papermill": { + "duration": 0.040313, + "end_time": "2024-07-23T18:06:18.438017", + "exception": false, + "start_time": "2024-07-23T18:06:18.397704", + "status": "completed" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "import torch\n", + "from copy import deepcopy\n", + "\n", + "torch.save(deepcopy(model.state_dict()), \"model.pt\")\n", + "#torch.save(deepcopy(opt.state_dict()), \"optim.pt\")" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "id": "123b4b17", + "metadata": { + "execution": { + "iopub.execute_input": "2024-07-23T18:06:18.476004Z", + "iopub.status.busy": "2024-07-23T18:06:18.475030Z", + "iopub.status.idle": "2024-07-23T18:06:18.765406Z", + "shell.execute_reply": "2024-07-23T18:06:18.764418Z" + }, + "papermill": { + "duration": 0.311696, + "end_time": "2024-07-23T18:06:18.767517", + "exception": false, + "start_time": "2024-07-23T18:06:18.455821", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 27, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "history = loss[\"history\"]\n", + "history.to_csv(\"history.csv\")\n", + "history[[\"avg_loss_train\", \"avg_loss_test\"]].plot()" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "id": "2586ba0a", + "metadata": { + "execution": { + "iopub.execute_input": "2024-07-23T18:06:18.803718Z", + "iopub.status.busy": "2024-07-23T18:06:18.803056Z", + "iopub.status.idle": "2024-07-23T18:07:03.003512Z", + "shell.execute_reply": "2024-07-23T18:07:03.002675Z" + }, + "papermill": { + "duration": 44.221486, + "end_time": "2024-07-23T18:07:03.006003", + "exception": false, + "start_time": "2024-07-23T18:06:18.784517", + "status": "completed" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "\n", + "from ml_utility_loss.loss_learning.estimator.pipeline import eval\n", + "#eval_loss = loss[\"eval_loss\"]\n", + "\n", + "batch_size = params[\"batch_size_low\"] if \"batch_size_low\" in params else params[\"batch_size\"]\n", + "\n", + "eval_loss = eval(\n", + " test_set, model,\n", + " batch_size=batch_size,\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "id": "187137f6", + "metadata": { + "execution": { + "iopub.execute_input": "2024-07-23T18:07:03.043408Z", + "iopub.status.busy": "2024-07-23T18:07:03.043035Z", + "iopub.status.idle": "2024-07-23T18:07:03.064435Z", + "shell.execute_reply": "2024-07-23T18:07:03.063429Z" + }, + "papermill": { + "duration": 0.042533, + "end_time": "2024-07-23T18:07:03.066447", + "exception": false, + "start_time": "2024-07-23T18:07:03.023914", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
avg_g_cos_lossavg_g_mag_lossavg_lossgrad_durationgrad_maegrad_mapegrad_rmsemean_pred_losspred_durationpred_maepred_mapepred_rmsepred_stdstd_losstotal_duration
lct_gan0.0084960.0080310.0066760.2949580.0490190.6129770.1111310.0000830.518170.0621270.1236150.0817070.228290.0059170.813127
\n", + "
" + ], + "text/plain": [ + " avg_g_cos_loss avg_g_mag_loss avg_loss grad_duration grad_mae \\\n", + "lct_gan 0.008496 0.008031 0.006676 0.294958 0.049019 \n", + "\n", + " grad_mape grad_rmse mean_pred_loss pred_duration pred_mae \\\n", + "lct_gan 0.612977 0.111131 0.000083 0.51817 0.062127 \n", + "\n", + " pred_mape pred_rmse pred_std std_loss total_duration \n", + "lct_gan 0.123615 0.081707 0.22829 0.005917 0.813127 " + ] + }, + "execution_count": 29, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import pandas as pd\n", + "\n", + "metrics = pd.DataFrame(eval_loss[\"model_metrics\"]).T\n", + "metrics.to_csv(\"eval.csv\")\n", + "metrics" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "id": "123d305b", + "metadata": { + "execution": { + "iopub.execute_input": "2024-07-23T18:07:03.102985Z", + "iopub.status.busy": "2024-07-23T18:07:03.102074Z", + "iopub.status.idle": "2024-07-23T18:07:03.398585Z", + "shell.execute_reply": "2024-07-23T18:07:03.397406Z" + }, + "papermill": { + "duration": 0.316952, + "end_time": "2024-07-23T18:07:03.400685", + "exception": false, + "start_time": "2024-07-23T18:07:03.083733", + "status": "completed" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "from ml_utility_loss.util import clear_memory\n", + "clear_memory()" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "id": "a3eecc2a", + "metadata": { + "execution": { + "iopub.execute_input": "2024-07-23T18:07:03.439183Z", + "iopub.status.busy": "2024-07-23T18:07:03.438817Z", + "iopub.status.idle": "2024-07-23T18:07:47.318524Z", + "shell.execute_reply": "2024-07-23T18:07:47.317684Z" + }, + "papermill": { + "duration": 43.901929, + "end_time": "2024-07-23T18:07:47.320910", + "exception": false, + "start_time": "2024-07-23T18:07:03.418981", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Caching in ../../../../iris/_cache_aug_test/lct_gan/all inf False\n", + "Caching in ../../../../iris/_cache_bs_test/lct_gan/all inf False\n", + "Caching in ../../../../iris/_cache_synth_test/lct_gan/all inf False\n" + ] + } + ], + "source": [ + "#\"\"\"\n", + "from ml_utility_loss.loss_learning.estimator.process import pred, pred_2\n", + "from ml_utility_loss.util import stack_samples\n", + "\n", + "#samples = test_set[list(range(len(test_set)))]\n", + "#y = {m: pred(model[m], s) for m, s in samples.items()}\n", + "y = pred_2(model, test_set, batch_size=batch_size)\n", + "#\"\"\"" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "id": "6ab51db8", + "metadata": { + "execution": { + "iopub.execute_input": "2024-07-23T18:07:47.361870Z", + "iopub.status.busy": "2024-07-23T18:07:47.360689Z", + "iopub.status.idle": "2024-07-23T18:07:47.375097Z", + "shell.execute_reply": "2024-07-23T18:07:47.374314Z" + }, + "papermill": { + "duration": 0.037933, + "end_time": "2024-07-23T18:07:47.377220", + "exception": false, + "start_time": "2024-07-23T18:07:47.339287", + "status": "completed" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "import os\n", + "import pandas as pd\n", + "from ml_utility_loss.util import transpose_dict\n", + "\n", + "os.makedirs(\"pred\", exist_ok=True)\n", + "y2 = transpose_dict(y)\n", + "for k, v in y2.items():\n", + " df = pd.DataFrame(v)\n", + " df.to_csv(f\"pred/{k}.csv\")" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "id": "d81a30f1", + "metadata": { + "execution": { + "iopub.execute_input": "2024-07-23T18:07:47.414801Z", + "iopub.status.busy": "2024-07-23T18:07:47.413893Z", + "iopub.status.idle": "2024-07-23T18:07:47.419533Z", + "shell.execute_reply": "2024-07-23T18:07:47.418648Z" + }, + "papermill": { + "duration": 0.02689, + "end_time": "2024-07-23T18:07:47.421686", + "exception": false, + "start_time": "2024-07-23T18:07:47.394796", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'lct_gan': 0.7425781784206629}\n" + ] + } + ], + "source": [ + "print({k: sum(v[\"pred\"])/len(v[\"pred\"]) for k, v in y.items()})" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "id": "3b3ff322", + "metadata": { + "execution": { + "iopub.execute_input": "2024-07-23T18:07:47.461374Z", + "iopub.status.busy": "2024-07-23T18:07:47.460600Z", + "iopub.status.idle": "2024-07-23T18:07:47.829613Z", + "shell.execute_reply": "2024-07-23T18:07:47.828672Z" + }, + "papermill": { + "duration": 0.391993, + "end_time": "2024-07-23T18:07:47.831797", + "exception": false, + "start_time": "2024-07-23T18:07:47.439804", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from ml_utility_loss.loss_learning.visualization import plot_pred_density_2\n", + "\n", + "_ = plot_pred_density_2(y)" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "id": "e79e4b0f", + "metadata": { + "execution": { + "iopub.execute_input": "2024-07-23T18:07:47.869519Z", + "iopub.status.busy": "2024-07-23T18:07:47.868669Z", + "iopub.status.idle": "2024-07-23T18:07:48.173666Z", + "shell.execute_reply": "2024-07-23T18:07:48.172672Z" + }, + "papermill": { + "duration": 0.326013, + "end_time": "2024-07-23T18:07:48.175750", + "exception": false, + "start_time": "2024-07-23T18:07:47.849737", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from ml_utility_loss.loss_learning.visualization import plot_density_3\n", + "\n", + "_ = plot_density_3(y2[\"pred\"], next(iter(y2[\"y\"].values())))" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "id": "745adde1", + "metadata": { + "execution": { + "iopub.execute_input": "2024-07-23T18:07:48.215600Z", + "iopub.status.busy": "2024-07-23T18:07:48.215212Z", + "iopub.status.idle": "2024-07-23T18:07:48.395331Z", + "shell.execute_reply": "2024-07-23T18:07:48.394326Z" + }, + "papermill": { + "duration": 0.204115, + "end_time": "2024-07-23T18:07:48.398897", + "exception": false, + "start_time": "2024-07-23T18:07:48.194782", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "image/png": "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wAMPgOM4oeU0YMAAaDQa/N///R/Onz+PnTt3Ys2aNb3+XSNJeno6vv/+e5SWlqK6uho33HADDh8+jF27duHs2bNYuXJluyTUkfnz54PneTz00EM4ffo0du3ahZdeegnA1Zbwo48+itraWsybNw+HDh1CcXExdu3ahZycHCFhtY1Hyq1nSl5h5LXXXsPdd9+NpUuXYvjw4ViyZAmampoAAKmpqVi9ejWefvppmM1mLFu27Jrvt379ekycOBF33HEHMjMzceuttyIjI0PoN0lMTMSWLVuwfft23HTTTXjhhReEPwjSM5YvXw6lUombbroJiYmJyMrKwpw5czB37lxMmDABNTU1Qa2wzhiNRnz++ec4fvw4Ro8ejT/84Q/Iy8sDAGF7pqSkYP/+/fD5fJg2bRpuvvlmPP744+jXr59QTrltPG372qSESuJEkKamJqSmpmLdunV44IEHxA6H/Ezvv/8+cnJyYLfbRekzFRv1ecnYsWPHcObMGYwfPx52ux3PPvssAGDWrFkiR0auxzvvvIPBgwcjNTUVP/zwA5566ince++9EZm4AEpeklVWVoabbrqp0+d//PFHAMBLL72EoqIiaDQajB07Ft988w0SEhL6KkzSgyoqKpCXl4eKigpYLBbcc889eO6558QOSzR02ihRXq+3y1s7urriRIgcUPIihEgSXW0khEgSJS9CiCRR8iKESBIlL0KIJFHyIr1q0aJFQuE7tVoNs9mMqVOnYvPmzd26NWXLli3o169f7wXaiUBhQBJ+KHmRXveb3/wGVqsVpaWl+Pvf/44pU6bgsccewx133AGv1yt2eESqxCwmRuQvOzubzZo1q93ygoICBoC98cYbjDHG1q1bx0aMGMGio6NZ//792SOPPNKuIGLrf6tWrWKMMfbOO++wsWPHMr1ez8xmM5s3bx6z2WzC59TW1rL58+ezhIQEptPp2NChQ9nmzZuF58vKytg999zDTCYTi42NZXfeeScrKSlhjDG2atWqdp+7b9++Xvk9ke6jlhcRxa9//WuMGjUKn376KQCA4zj86U9/wqlTp/D222/jq6++wpNPPgkAmDRpEjZs2ACj0Qir1Qqr1Yrly5cDADweD9asWYMffvgBO3bsQGlpaVB9/5UrV+LHH3/E3//+d5w+fRqvvfaacIeBx+NBVlYWDAYDvvnmG+zfvx96vR6/+c1v4Ha7sXz5ctx7771Cy9FqtWLSpEl9+4sinRM7exJ566zlxRhjc+fOZRkZGR0+t337dhYfHy88fuutt5jJZLrm57UtYz1z5kyWk5PT4brvvvsuGzZsGON5XljmcrlYVFQU27Vr1zXjJ+KilhcRDWNMqEW1d+9e3H777UhNTYXBYMCCBQtQU1OD5ubmLt/jWmWsH3nkEWzduhWjR4/Gk08+iW+//VZ47Q8//IBz587BYDAIZZPj4uLgdDplWTZZbih5EdGcPn0agwYNQmlpKe644w6MHDkSn3zyCY4cOYKNGzcC6HrOwkAZa6PRiPfffx+HDh3CZ599FvS66dOn48KFC3jiiSdw+fJl3H777cIpp8PhwNixY3H8+PGgf2fPnsX8+fN7+duTn4vu3CWi+Oqrr3DixAk88cQTOHLkCHiex7p164SieYEKsgEdlS8OtYx1YmIisrOzkZ2djcmTJ+P3v/89XnrpJdxyyy3Ytm0bkpKSYDQaO4xTTmWT5YZaXqTXuVwuVFRUoLy8HEePHsXzzz+PWbNm4Y477sDChQsxdOhQeDweoRz1u+++i02bNgW9R3p6OhwOBwoKClBdXY3m5uaQyljn5eXhr3/9K86dO4dTp07hb3/7GzIyMgAA9913HxISEjBr1ix88803Qunt3/3ud7h06ZLwuf/6179QVFSE6upqeDyevvmlkWsTu9ONyFt2drYwzEClUrHExESWmZnJNm/ezHw+n7De+vXrmcViYVFRUSwrK4u988477eapfPjhh1l8fHzQUIkPPviApaenM61WyyZOnMh27tzZbi7DjIwMFhUVxeLi4tisWbPY+fPnhfe0Wq1s4cKFLCEhgWm1WjZ48GC2ZMkSZrfbGWOMVVZWsqlTpzK9Xk9DJcIMlcQhhEgSnTYSQiSJkhchRJIoeRFCJImSFyFEkih5EUIkiZIXIUSSKHkRQiSJkhchRJIoeRFCJImSFyFEkih5EUIkiZIXIUSS/j/bilAOoGz6LwAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from ml_utility_loss.loss_learning.visualization import plot_box_3\n", + "\n", + "_ = plot_box_3(y2[\"pred\"], next(iter(y2[\"y\"].values())))" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "id": "eabe1bab", + "metadata": { + "execution": { + "iopub.execute_input": "2024-07-23T18:07:48.448516Z", + "iopub.status.busy": "2024-07-23T18:07:48.447630Z", + "iopub.status.idle": "2024-07-23T18:07:48.762386Z", + "shell.execute_reply": "2024-07-23T18:07:48.761436Z" + }, + "papermill": { + "duration": 0.338184, + "end_time": "2024-07-23T18:07:48.764449", + "exception": false, + "start_time": "2024-07-23T18:07:48.426265", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "#\"\"\"\n", + "from ml_utility_loss.loss_learning.visualization import plot_grad, plot_grad_2, plot_grad_3\n", + "import matplotlib.pyplot as plt\n", + "\n", + "#plot_grad_2(y, model.models)\n", + "for m in model.models:\n", + " ym = y[m]\n", + " fig, ax = plt.subplots()\n", + " plot_grad_3(ym[\"error\"], ym[\"grad\"], name=f\"{m}_grad\", fig=fig, ax=ax)\n", + "#\"\"\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "54c0e9f3", + "metadata": { + "papermill": { + "duration": 0.020816, + "end_time": "2024-07-23T18:07:48.805255", + "exception": false, + "start_time": "2024-07-23T18:07:48.784439", + "status": "completed" + }, + "tags": [] + }, + "outputs": [], + "source": [] + } + ], + "metadata": { + "accelerator": "GPU", + "celltoolbar": "Tags", + "colab": { + "authorship_tag": "ABX9TyOOVfelovKP9fLGU7SvvRie", + "gpuType": "T4", + "mount_file_id": "17POSGAvge8y9DW9WGs2jLkibaRjToayg", + "provenance": [] + }, + "kaggle": { + "accelerator": "gpu", + "dataSources": [], + "dockerImageVersionId": 30648, + "isGpuEnabled": true, + "isInternetEnabled": true, + "language": "python", + "sourceType": "notebook" + }, + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.13" + }, + "papermill": { + "default_parameters": {}, + "duration": 3838.842067, + "end_time": "2024-07-23T18:07:51.715225", + "environment_variables": {}, + "exception": null, + "input_path": "eval/iris/lct_gan/4/mlu-eval.ipynb", + "output_path": "eval/iris/lct_gan/4/mlu-eval.ipynb", + "parameters": { + "allow_same_prediction": true, + "dataset": "iris", + "dataset_name": "iris", + "debug": false, + "folder": "eval", + "gp": true, + "gp_multiply": true, + "log_wandb": false, + "param_index": 0, + "path": "eval/iris/lct_gan/4", + "path_prefix": "../../../../", + "random_seed": 4, + "single_model": "lct_gan" + }, + "start_time": "2024-07-23T17:03:52.873158", + "version": "2.5.0" + }, + "toc": { + "base_numbering": 1, + "nav_menu": {}, + "number_sections": true, + "sideBar": true, + "skip_h1_title": false, + "title_cell": "Table of Contents", + "title_sidebar": "Contents", + "toc_cell": false, + "toc_position": {}, + "toc_section_display": true, + "toc_window_display": false + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} \ No newline at end of file diff --git a/iris/lct_gan/4/model.pt b/iris/lct_gan/4/model.pt new file mode 100644 index 0000000000000000000000000000000000000000..63ec9bc8aa3bec72a21da17c739709de3ba7930a --- /dev/null +++ b/iris/lct_gan/4/model.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:252f655dcfecf74d7b46cd943a9702975f21618c9771efa8c60f20dfdc71c586 +size 177865 diff --git a/iris/lct_gan/4/params.json b/iris/lct_gan/4/params.json new file mode 100644 index 0000000000000000000000000000000000000000..2a20e47c9a36f2aa645340f00fd696503a2274ef --- /dev/null +++ b/iris/lct_gan/4/params.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b416dab9a76ef3d52bee36709556efe721ec0b562be03495b245c75f298e8490 +size 1891 diff --git a/iris/lct_gan/4/pred/error.csv b/iris/lct_gan/4/pred/error.csv new file mode 100644 index 0000000000000000000000000000000000000000..2b37a6a4f66e34e2145e97fd2fd3f6606141d8fd --- /dev/null +++ b/iris/lct_gan/4/pred/error.csv @@ -0,0 +1,201 @@ +,lct_gan +0,0.04897882 +1,0.17223418 +2,-0.03528428 +3,-0.06697941 +4,-0.017120913 +5,0.19903389 +6,-0.048269868 +7,-0.059095144 +8,0.0009007454 +9,-0.1337058 +10,-0.019081593 +11,0.004361987 +12,0.05532618 +13,-0.11813873 +14,0.05948037 +15,0.04610616 +16,0.059533447 +17,0.10712987 +18,0.039747417 +19,-0.03611207 +20,0.04981011 +21,0.16735244 +22,-0.012732625 +23,-0.024434924 +24,0.013969332 +25,0.044255853 +26,-0.040986657 +27,-0.05493635 +28,0.011143148 +29,0.03358251 +30,0.021923304 +31,-0.0053743124 +32,0.03382024 +33,0.14003533 +34,-0.07086849 +35,-0.061962545 +36,0.026912078 +37,0.051944017 +38,0.031861544 +39,-0.060554445 +40,-0.13680863 +41,-0.07547921 +42,-0.04658866 +43,0.15689802 +44,-0.0006017238 +45,-0.018565238 +46,-0.0653398 +47,-0.06548929 +48,0.033156425 +49,0.059517205 +50,-0.041597962 +51,0.112896085 +52,0.08437772 +53,0.124376476 +54,-0.08185488 +55,0.008829117 +56,0.13073741 +57,0.08609897 +58,-0.054619372 +59,0.08005738 +60,-0.013884366 +61,-0.04083842 +62,-0.05997479 +63,-0.031436324 +64,-0.044433594 +65,0.021160841 +66,0.00090044737 +67,-0.0398013 +68,0.013653785 +69,-0.048609316 +70,0.019078791 +71,0.14184493 +72,-0.14607212 +73,-0.049418688 +74,-0.05923748 +75,-0.09827 +76,-0.11899096 +77,-0.024642825 +78,0.013706446 +79,-0.01060456 +80,-0.06859794 +81,-0.030429482 +82,-0.047325134 +83,-0.041481435 +84,0.026120573 +85,-0.015226841 +86,0.0014784336 +87,-0.012962818 +88,0.17690177 +89,-0.08776277 +90,-0.010241985 +91,0.010527015 +92,-0.2277306 +93,-0.055268645 +94,-0.0737471 +95,-0.10031885 +96,0.012947619 +97,-0.09034574 +98,0.013227582 +99,-0.053222 +100,-0.070752114 +101,-0.016341448 +102,-0.054222107 +103,-0.035954714 +104,0.24891765 +105,0.041167974 +106,-0.063690126 +107,-0.016830266 +108,0.17342384 +109,0.03147286 +110,0.021157384 +111,0.022345364 +112,-0.063284695 +113,-0.08477074 +114,-0.11153418 +115,-0.08154732 +116,0.22448985 +117,0.017187119 +118,0.04431814 +119,-0.06641811 +120,-0.04275897 +121,-0.028616011 +122,-0.044968486 +123,-0.0317021 +124,-0.04525149 +125,0.036987185 +126,0.030553639 +127,0.023920476 +128,-0.05386859 +129,-0.07942253 +130,-0.048695266 +131,-0.075494945 +132,-0.1045759 +133,-0.042074263 +134,-0.062237084 +135,-0.06943822 +136,-0.066257566 +137,-0.0044355392 +138,-0.00715816 +139,0.19600081 +140,-0.0931873 +141,0.07936531 +142,0.034812987 +143,-0.06497741 +144,-0.057816744 +145,-0.010933638 +146,-0.033044398 +147,0.1013003 +148,0.19896542 +149,0.011056662 +150,-0.043863475 +151,-0.043971956 +152,-0.07076138 +153,-0.1206944 +154,-0.04324919 +155,-0.11514765 +156,0.16526309 +157,-0.0039280653 +158,0.02257204 +159,0.036999583 +160,-0.031045318 +161,0.1095323 +162,-0.042672157 +163,-0.043655217 +164,0.0005581975 +165,0.0020974874 +166,-0.061959326 +167,-0.008633196 +168,0.1459266 +169,0.066114426 +170,-0.04012829 +171,-0.06803721 +172,-0.04137057 +173,-0.06227541 +174,-0.10604644 +175,-0.072915316 +176,0.20259905 +177,0.004852414 +178,-0.015272796 +179,0.01843369 +180,0.07279062 +181,0.18279701 +182,-0.047213852 +183,-0.03042537 +184,0.07976335 +185,0.03561455 +186,-0.06797159 +187,0.023033082 +188,-0.08503187 +189,-0.0056648254 +190,-0.03931874 +191,-0.11050451 +192,-0.070065975 +193,-0.086646795 +194,0.030709386 +195,-0.036438882 +196,-0.33580717 +197,-0.03246075 +198,-0.014788449 +199,0.05669403 diff --git a/iris/lct_gan/4/pred/g.csv b/iris/lct_gan/4/pred/g.csv new file mode 100644 index 0000000000000000000000000000000000000000..cce37903c4319ea536ca7cc17c24f2921548b5b6 --- /dev/null +++ b/iris/lct_gan/4/pred/g.csv @@ -0,0 +1,201 @@ +,lct_gan +0,0.04897882 +1,0.17223418 +2,0.03528428 +3,0.06697941 +4,0.017120913 +5,0.19903389 +6,0.048269868 +7,0.059095144 +8,0.0009007454 +9,0.1337058 +10,0.019081593 +11,0.004361987 +12,0.05532618 +13,0.11813873 +14,0.05948037 +15,0.04610616 +16,0.059533447 +17,0.10712987 +18,0.039747417 +19,0.03611207 +20,0.04981011 +21,0.16735244 +22,0.012732625 +23,0.024434924 +24,0.013969332 +25,0.044255853 +26,0.040986657 +27,0.05493635 +28,0.011143148 +29,0.03358251 +30,0.021923304 +31,0.0053743124 +32,0.03382024 +33,0.14003533 +34,0.07086849 +35,0.061962545 +36,0.026912078 +37,0.051944017 +38,0.031861544 +39,0.060554445 +40,0.13680863 +41,0.07547921 +42,0.04658866 +43,0.15689802 +44,0.0006017238 +45,0.018565238 +46,0.0653398 +47,0.06548929 +48,0.033156425 +49,0.059517205 +50,0.041597962 +51,0.112896085 +52,0.08437772 +53,0.124376476 +54,0.08185488 +55,0.008829117 +56,0.13073741 +57,0.08609897 +58,0.054619372 +59,0.08005738 +60,0.013884366 +61,0.04083842 +62,0.05997479 +63,0.031436324 +64,0.044433594 +65,0.021160841 +66,0.00090044737 +67,0.0398013 +68,0.013653785 +69,0.048609316 +70,0.019078791 +71,0.14184493 +72,0.14607212 +73,0.049418688 +74,0.05923748 +75,0.09827 +76,0.11899096 +77,0.024642825 +78,0.013706446 +79,0.01060456 +80,0.06859794 +81,0.030429482 +82,0.047325134 +83,0.041481435 +84,0.026120573 +85,0.015226841 +86,0.0014784336 +87,0.012962818 +88,0.17690177 +89,0.08776277 +90,0.010241985 +91,0.010527015 +92,0.2277306 +93,0.055268645 +94,0.0737471 +95,0.10031885 +96,0.012947619 +97,0.09034574 +98,0.013227582 +99,0.053222 +100,0.070752114 +101,0.016341448 +102,0.054222107 +103,0.035954714 +104,0.24891765 +105,0.041167974 +106,0.063690126 +107,0.016830266 +108,0.17342384 +109,0.03147286 +110,0.021157384 +111,0.022345364 +112,0.063284695 +113,0.08477074 +114,0.11153418 +115,0.08154732 +116,0.22448985 +117,0.017187119 +118,0.04431814 +119,0.06641811 +120,0.04275897 +121,0.028616011 +122,0.044968486 +123,0.0317021 +124,0.04525149 +125,0.036987185 +126,0.030553639 +127,0.023920476 +128,0.05386859 +129,0.07942253 +130,0.048695266 +131,0.075494945 +132,0.1045759 +133,0.042074263 +134,0.062237084 +135,0.06943822 +136,0.066257566 +137,0.0044355392 +138,0.00715816 +139,0.19600081 +140,0.0931873 +141,0.07936531 +142,0.034812987 +143,0.06497741 +144,0.057816744 +145,0.010933638 +146,0.033044398 +147,0.1013003 +148,0.19896542 +149,0.011056662 +150,0.043863475 +151,0.043971956 +152,0.07076138 +153,0.1206944 +154,0.04324919 +155,0.11514765 +156,0.16526309 +157,0.0039280653 +158,0.02257204 +159,0.036999583 +160,0.031045318 +161,0.1095323 +162,0.042672157 +163,0.043655217 +164,0.0005581975 +165,0.0020974874 +166,0.061959326 +167,0.008633196 +168,0.1459266 +169,0.066114426 +170,0.04012829 +171,0.06803721 +172,0.04137057 +173,0.06227541 +174,0.10604644 +175,0.072915316 +176,0.20259905 +177,0.004852414 +178,0.015272796 +179,0.01843369 +180,0.07279062 +181,0.18279701 +182,0.047213852 +183,0.03042537 +184,0.07976335 +185,0.03561455 +186,0.06797159 +187,0.023033082 +188,0.08503187 +189,0.0056648254 +190,0.03931874 +191,0.11050451 +192,0.070065975 +193,0.086646795 +194,0.030709386 +195,0.036438882 +196,0.33580717 +197,0.03246075 +198,0.014788449 +199,0.05669403 diff --git a/iris/lct_gan/4/pred/grad.csv b/iris/lct_gan/4/pred/grad.csv new file mode 100644 index 0000000000000000000000000000000000000000..b4116f7e8fedb306d4cec4ba137fe664fd0fd0ac --- /dev/null +++ b/iris/lct_gan/4/pred/grad.csv @@ -0,0 +1,201 @@ +,lct_gan +0,0.057700627 +1,0.3079969 +2,0.067576885 +3,0.14183642 +4,0.01612421 +5,0.30290556 +6,0.052055243 +7,0.04806531 +8,0.000950625 +9,0.14450811 +10,0.014008615 +11,0.004537082 +12,0.09788033 +13,0.08542932 +14,0.14366762 +15,0.039843533 +16,0.07797117 +17,0.041530132 +18,0.052088093 +19,0.040857125 +20,0.06221097 +21,1.0394907 +22,0.01926024 +23,0.0345434 +24,0.017344154 +25,0.054730624 +26,0.03935355 +27,0.05956833 +28,0.010635341 +29,0.06684618 +30,0.016037203 +31,0.0022162604 +32,0.05601956 +33,0.35975435 +34,0.17837776 +35,0.07636455 +36,0.03133348 +37,0.3056873 +38,0.043730427 +39,0.06854716 +40,0.2061874 +41,0.28137183 +42,0.069820695 +43,0.15206519 +44,0.00061568536 +45,0.022961019 +46,0.04890207 +47,0.09167748 +48,0.037350938 +49,0.050247815 +50,0.02849489 +51,0.076483704 +52,0.17310588 +53,0.122246996 +54,0.18857141 +55,0.0069968966 +56,0.20512815 +57,0.3154418 +58,0.08881378 +59,0.14950696 +60,0.021616181 +61,0.07632843 +62,0.10429891 +63,0.027570458 +64,0.06285216 +65,0.0293944 +66,0.00075255375 +67,0.029267557 +68,0.027937984 +69,0.021512305 +70,0.010861827 +71,0.09427791 +72,0.56656414 +73,0.04034997 +74,0.10734153 +75,0.20271419 +76,0.12713923 +77,0.04043584 +78,0.023250487 +79,0.011434672 +80,0.09885387 +81,0.036697034 +82,0.07323297 +83,0.044930484 +84,0.034609027 +85,0.022283977 +86,0.0012574035 +87,0.013045626 +88,0.3233843 +89,0.07972151 +90,0.0067764735 +91,0.009262523 +92,0.8408517 +93,0.03380628 +94,0.19651881 +95,0.1936538 +96,0.01635999 +97,0.3147047 +98,0.016597548 +99,0.08802396 +100,0.10158344 +101,0.024736797 +102,0.085497074 +103,0.04700285 +104,0.30242926 +105,0.03087423 +106,0.051715888 +107,0.012860068 +108,0.25202882 +109,0.019855542 +110,0.013906775 +111,0.009992082 +112,0.22100452 +113,0.13871455 +114,0.35382766 +115,0.16286387 +116,0.3132971 +117,0.019093862 +118,0.046343982 +119,0.113145135 +120,0.0734736 +121,0.048904065 +122,0.06832282 +123,0.027496468 +124,0.026802165 +125,0.027350722 +126,0.028611867 +127,0.015046586 +128,0.078683734 +129,0.06934705 +130,0.0371591 +131,0.048311166 +132,0.16710748 +133,0.052295472 +134,0.15455362 +135,0.117863275 +136,0.09274444 +137,0.0062540253 +138,0.013920569 +139,0.31374013 +140,0.13709542 +141,0.078956075 +142,0.051382974 +143,0.06525556 +144,0.15175717 +145,0.014095393 +146,0.025198309 +147,0.07378897 +148,0.2832383 +149,0.0065823593 +150,0.031270456 +151,0.019506225 +152,0.069905356 +153,0.17266494 +154,0.08639836 +155,0.07421866 +156,0.47540614 +157,0.0042770086 +158,0.0354119 +159,0.05397927 +160,0.041519213 +161,0.09871881 +162,0.060931142 +163,0.047808938 +164,0.0018001253 +165,0.0018807276 +166,0.036984004 +167,0.007001024 +168,0.2556831 +169,0.030323675 +170,0.027583793 +171,0.03528621 +172,0.0237179 +173,0.13624863 +174,0.33246368 +175,0.07134672 +176,0.6920409 +177,0.0066953306 +178,0.022195853 +179,0.040114842 +180,0.10105096 +181,0.19377193 +182,0.06953686 +183,0.028006881 +184,0.30309168 +185,0.0317343 +186,0.06373349 +187,0.013643703 +188,0.13065022 +189,0.002839639 +190,0.027338918 +191,0.05077792 +192,0.010849504 +193,0.058513433 +194,0.07367087 +195,0.06462829 +196,0.6076345 +197,0.033835113 +198,0.023891846 +199,0.11240503 diff --git a/iris/lct_gan/4/pred/pred.csv b/iris/lct_gan/4/pred/pred.csv new file mode 100644 index 0000000000000000000000000000000000000000..ba1f6c3b5864344a24368b7f8a4cea3e9a4a7bf3 --- /dev/null +++ b/iris/lct_gan/4/pred/pred.csv @@ -0,0 +1,201 @@ +,lct_gan +0,0.2278406 +1,0.5230796 +2,0.86709666 +3,0.86600256 +4,0.16174087 +5,0.6085577 +6,0.91831326 +7,0.90680426 +8,0.16756742 +9,0.5249989 +10,0.8788363 +11,0.85070163 +12,0.22199285 +13,0.5097579 +14,0.7780311 +15,0.8318204 +16,0.22620012 +17,0.55085456 +18,0.9057407 +19,0.866358 +20,0.2286719 +21,0.68048376 +22,0.8903703 +23,0.877946 +24,0.19283111 +25,0.8737529 +26,0.9272673 +27,0.9095828 +28,0.17780982 +29,0.8394988 +30,0.8877255 +31,0.87532747 +32,0.20048691 +33,0.735135 +34,0.8087302 +35,0.83802027 +36,0.19357875 +37,0.7186107 +38,0.86362696 +39,0.8767675 +40,0.27985802 +41,0.8369017 +42,0.89533055 +43,0.904146 +44,0.17826006 +45,0.8747681 +46,0.9346602 +47,0.90109384 +48,0.1998231 +49,0.8654335 +50,0.887082 +51,0.88674664 +52,0.2510444 +53,0.8434241 +54,0.81398374 +55,0.844808 +56,0.35295963 +57,0.8103159 +58,0.8827026 +59,0.8854446 +60,0.4027823 +61,0.8715425 +62,0.8819444 +63,0.90154564 +64,0.5254589 +65,0.91616124 +66,0.9341502 +67,0.92678183 +68,0.3841666 +69,0.8720256 +70,0.88488096 +71,0.87486917 +72,0.42535648 +73,0.8362956 +74,0.7767414 +75,0.82673 +76,0.32263035 +77,0.85313493 +78,0.8796997 +79,0.89829814 +80,0.41288355 +81,0.88195145 +82,0.8945941 +83,0.9004378 +84,0.47227442 +85,0.9174331 +86,0.9356945 +87,0.9196971 +88,0.399124 +89,0.8707232 +90,0.8876759 +91,0.88274926 +92,0.343698 +93,0.82433003 +94,0.79841995 +95,0.83079225 +96,0.3939 +97,0.81855696 +98,0.877367 +99,0.88617194 +100,0.41072938 +101,0.8960395 +102,0.8876971 +103,0.9059645 +104,0.41558433 +105,0.9361684 +106,0.9363099 +107,0.9143867 +108,0.39564607 +109,0.87406546 +110,0.88695955 +111,0.89300066 +112,0.5081439 +113,0.80094355 +114,0.78430444 +115,0.8142913 +116,0.3813526 +117,0.88743436 +118,0.9084576 +119,0.8729758 +120,0.46274826 +121,0.8837649 +122,0.8969507 +123,0.9102171 +124,0.524641 +125,0.9319876 +126,0.9287157 +127,0.9189209 +128,0.45197934 +129,0.8790634 +130,0.8799847 +131,0.882991 +132,0.4668527 +133,0.8112591 +134,0.80992997 +135,0.82136786 +136,0.40336478 +137,0.90446717 +138,0.8630891 +139,0.8945654 +140,0.3882942 +141,0.89686155 +142,0.89767236 +143,0.9060371 +144,0.5120757 +145,0.9202833 +146,0.9352096 +147,0.9164079 +148,0.42118764 +149,0.8934096 +150,0.88481647 +151,0.88675064 +152,0.5006672 +153,0.8052315 +154,0.82891786 +155,0.80985236 +156,0.4887925 +157,0.90497464 +158,0.8867115 +159,0.9033177 +160,0.45043617 +161,0.90663373 +162,0.89924705 +163,0.898264 +164,0.57045066 +165,0.9301278 +166,0.9380407 +167,0.91933435 +168,0.4184412 +169,0.8859734 +170,0.88855165 +171,0.89044875 +172,0.530058 +173,0.8234389 +174,0.78475964 +175,0.8270675 +176,0.48831335 +177,0.9137551 +178,0.8806548 +179,0.8847518 +180,0.46235585 +181,0.8948298 +182,0.89470536 +183,0.91149384 +184,0.6496558 +185,0.93061495 +186,0.9320284 +187,0.9180335 +188,0.3763562 +189,0.89225304 +190,0.8893612 +191,0.8894955 +192,0.5013626 +193,0.8392791 +194,0.8125276 +195,0.76382464 +196,0.46313462 +197,0.9048612 +198,0.88113916 +199,0.89381135 diff --git a/iris/lct_gan/4/pred/y.csv b/iris/lct_gan/4/pred/y.csv new file mode 100644 index 0000000000000000000000000000000000000000..d4af620bf6949a5d1238ac0d52f05819dd6696ee --- /dev/null +++ b/iris/lct_gan/4/pred/y.csv @@ -0,0 +1,201 @@ +,lct_gan +0,0.17886178 +1,0.3508454 +2,0.90238094 +3,0.93298197 +4,0.17886178 +5,0.40952381 +6,0.96658313 +7,0.9658994 +8,0.16666667 +9,0.6587047 +10,0.89791787 +11,0.84633964 +12,0.16666667 +13,0.6278966 +14,0.71855074 +15,0.78571427 +16,0.16666667 +17,0.4437247 +18,0.86599326 +19,0.90247005 +20,0.17886178 +21,0.5131313 +22,0.90310293 +23,0.90238094 +24,0.17886178 +25,0.82949704 +26,0.96825397 +27,0.96451914 +28,0.16666667 +29,0.8059163 +30,0.86580217 +31,0.8807018 +32,0.16666667 +33,0.5950997 +34,0.8795987 +35,0.8999828 +36,0.16666667 +37,0.6666667 +38,0.8317654 +39,0.93732196 +40,0.41666666 +41,0.91238093 +42,0.9419192 +43,0.747248 +44,0.17886178 +45,0.8933333 +46,1.0 +47,0.96658313 +48,0.16666667 +49,0.8059163 +50,0.92867994 +51,0.77385056 +52,0.16666667 +53,0.7190476 +54,0.8958386 +55,0.83597887 +56,0.22222222 +57,0.72421694 +58,0.93732196 +59,0.8053872 +60,0.41666666 +61,0.91238093 +62,0.9419192 +63,0.93298197 +64,0.56989247 +65,0.8950004 +66,0.9332498 +67,0.96658313 +68,0.3705128 +69,0.9206349 +70,0.86580217 +71,0.73302424 +72,0.5714286 +73,0.8857143 +74,0.83597887 +75,0.925 +76,0.4416213 +77,0.87777776 +78,0.86599326 +79,0.9089027 +80,0.4814815 +81,0.91238093 +82,0.9419192 +83,0.9419192 +84,0.44615385 +85,0.9326599 +86,0.9342161 +87,0.9326599 +88,0.22222222 +89,0.95848596 +90,0.89791787 +91,0.87222224 +92,0.5714286 +93,0.8795987 +94,0.87216705 +95,0.9311111 +96,0.3809524 +97,0.9089027 +98,0.86413944 +99,0.93939394 +100,0.4814815 +101,0.91238093 +102,0.9419192 +103,0.9419192 +104,0.16666667 +105,0.8950004 +106,1.0 +107,0.93121696 +108,0.22222222 +109,0.8425926 +110,0.86580217 +111,0.8706553 +112,0.5714286 +113,0.8857143 +114,0.8958386 +115,0.8958386 +116,0.15686275 +117,0.87024724 +118,0.86413944 +119,0.93939394 +120,0.50550723 +121,0.91238093 +122,0.9419192 +123,0.9419192 +124,0.56989247 +125,0.8950004 +126,0.89816207 +127,0.8950004 +128,0.50584793 +129,0.95848596 +130,0.92867994 +131,0.95848596 +132,0.5714286 +133,0.85333335 +134,0.87216705 +135,0.8908061 +136,0.46962234 +137,0.9089027 +138,0.87024724 +139,0.6985646 +140,0.4814815 +141,0.81749624 +142,0.86285937 +143,0.9710145 +144,0.56989247 +145,0.93121696 +146,0.96825397 +147,0.8151076 +148,0.22222222 +149,0.88235295 +150,0.92867994 +151,0.9307226 +152,0.5714286 +153,0.9259259 +154,0.87216705 +155,0.925 +156,0.32352942 +157,0.9089027 +158,0.86413944 +159,0.8663181 +160,0.4814815 +161,0.79710144 +162,0.9419192 +163,0.9419192 +164,0.56989247 +165,0.9280303 +166,1.0 +167,0.92796755 +168,0.2725146 +169,0.81985897 +170,0.92867994 +171,0.95848596 +172,0.5714286 +173,0.8857143 +174,0.8908061 +175,0.8999828 +176,0.2857143 +177,0.9089027 +178,0.8959276 +179,0.8663181 +180,0.38956523 +181,0.7120328 +182,0.9419192 +183,0.9419192 +184,0.56989247 +185,0.8950004 +186,1.0 +187,0.8950004 +188,0.46138808 +189,0.89791787 +190,0.92867994 +191,1.0 +192,0.5714286 +193,0.9259259 +194,0.7818182 +195,0.8002635 +196,0.7989418 +197,0.93732196 +198,0.8959276 +199,0.8371173 diff --git a/iris/lct_gan/4/pred/y_real.csv b/iris/lct_gan/4/pred/y_real.csv new file mode 100644 index 0000000000000000000000000000000000000000..fb0baf5e24b3c966e30c86abef7475ae9ef5ced6 --- /dev/null +++ b/iris/lct_gan/4/pred/y_real.csv @@ -0,0 +1,201 @@ +,lct_gan +0,0.9419192 +1,0.9419192 +2,0.9419192 +3,0.9419192 +4,0.9658994 +5,0.9658994 +6,0.9658994 +7,0.9658994 +8,1.0 +9,1.0 +10,1.0 +11,1.0 +12,0.9259259 +13,0.9259259 +14,0.9259259 +15,0.9259259 +16,0.9073684 +17,0.9073684 +18,0.9073684 +19,0.9073684 +20,0.9419192 +21,0.9419192 +22,0.9419192 +23,0.9419192 +24,0.9658994 +25,0.9658994 +26,0.9658994 +27,0.9658994 +28,1.0 +29,1.0 +30,1.0 +31,1.0 +32,0.9259259 +33,0.9259259 +34,0.9259259 +35,0.9259259 +36,0.9073684 +37,0.9073684 +38,0.9073684 +39,0.9073684 +40,0.9419192 +41,0.9419192 +42,0.9419192 +43,0.9419192 +44,0.9658994 +45,0.9658994 +46,0.9658994 +47,0.9658994 +48,1.0 +49,1.0 +50,1.0 +51,1.0 +52,0.9259259 +53,0.9259259 +54,0.9259259 +55,0.9259259 +56,0.9073684 +57,0.9073684 +58,0.9073684 +59,0.9073684 +60,0.9419192 +61,0.9419192 +62,0.9419192 +63,0.9419192 +64,0.9658994 +65,0.9658994 +66,0.9658994 +67,0.9658994 +68,1.0 +69,1.0 +70,1.0 +71,1.0 +72,0.9259259 +73,0.9259259 +74,0.9259259 +75,0.9259259 +76,0.9073684 +77,0.9073684 +78,0.9073684 +79,0.9073684 +80,0.9419192 +81,0.9419192 +82,0.9419192 +83,0.9419192 +84,0.9658994 +85,0.9658994 +86,0.9658994 +87,0.9658994 +88,1.0 +89,1.0 +90,1.0 +91,1.0 +92,0.9259259 +93,0.9259259 +94,0.9259259 +95,0.9259259 +96,0.9073684 +97,0.9073684 +98,0.9073684 +99,0.9073684 +100,0.9419192 +101,0.9419192 +102,0.9419192 +103,0.9419192 +104,0.9658994 +105,0.9658994 +106,0.9658994 +107,0.9658994 +108,1.0 +109,1.0 +110,1.0 +111,1.0 +112,0.9259259 +113,0.9259259 +114,0.9259259 +115,0.9259259 +116,0.9073684 +117,0.9073684 +118,0.9073684 +119,0.9073684 +120,0.9419192 +121,0.9419192 +122,0.9419192 +123,0.9419192 +124,0.9658994 +125,0.9658994 +126,0.9658994 +127,0.9658994 +128,1.0 +129,1.0 +130,1.0 +131,1.0 +132,0.9259259 +133,0.9259259 +134,0.9259259 +135,0.9259259 +136,0.9073684 +137,0.9073684 +138,0.9073684 +139,0.9073684 +140,0.9419192 +141,0.9419192 +142,0.9419192 +143,0.9419192 +144,0.9658994 +145,0.9658994 +146,0.9658994 +147,0.9658994 +148,1.0 +149,1.0 +150,1.0 +151,1.0 +152,0.9259259 +153,0.9259259 +154,0.9259259 +155,0.9259259 +156,0.9073684 +157,0.9073684 +158,0.9073684 +159,0.9073684 +160,0.9419192 +161,0.9419192 +162,0.9419192 +163,0.9419192 +164,0.9658994 +165,0.9658994 +166,0.9658994 +167,0.9658994 +168,1.0 +169,1.0 +170,1.0 +171,1.0 +172,0.9259259 +173,0.9259259 +174,0.9259259 +175,0.9259259 +176,0.9073684 +177,0.9073684 +178,0.9073684 +179,0.9073684 +180,0.9419192 +181,0.9419192 +182,0.9419192 +183,0.9419192 +184,0.9658994 +185,0.9658994 +186,0.9658994 +187,0.9658994 +188,1.0 +189,1.0 +190,1.0 +191,1.0 +192,0.9259259 +193,0.9259259 +194,0.9259259 +195,0.9259259 +196,0.9073684 +197,0.9073684 +198,0.9073684 +199,0.9073684