diff --git a/iris/lct_gan/2/eval.csv b/iris/lct_gan/2/eval.csv new file mode 100644 index 0000000000000000000000000000000000000000..55952c1762ac58d7407cafa8919cd811a93206e0 --- /dev/null +++ b/iris/lct_gan/2/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.014801313616335392,0.0005741334849508916,0.00750583820452448,0.2731442451477051,0.04784794896841049,0.7479836940765381,0.06421251595020294,4.53941393061541e-05,0.48962998390197754,0.06498624384403229,0.12493106722831726,0.08663623780012131,0.2200268805027008,0.01151566207408905,0.7627742290496826 diff --git a/iris/lct_gan/2/history.csv b/iris/lct_gan/2/history.csv new file mode 100644 index 0000000000000000000000000000000000000000..431fd65facdc60a2c06158799de057619546e49e --- /dev/null +++ b/iris/lct_gan/2/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.0588385643042705,,0.0035340115292315536,0.007846554960355578,0.0,0.0,0.0,0.0,0.10864791391830984,805,202,184.9722797870636,0.915704355381503,0.22977922954914734,,0.01185211265925318,0.5115955547057092,5.487189247464386e-05,0.0,0.0,0.0,0.0,0.0,0.01185211265925318,200,50,43.90820264816284,0.8781640529632568,0.2195410132408142,0.21349630877375603 +1,0.013525641694526124,,0.0001851922761716902,0.0008967274614835377,0.0,0.0,0.0,0.0,0.016876071423685513,805,202,185.04092144966125,0.9160441655923824,0.22986449869523137,,0.00889002215117216,0.17002137598465197,5.1605374780749334e-05,0.0,0.0,0.0,0.0,0.0,0.00889002215117216,200,50,43.29618287086487,0.8659236574172974,0.21648091435432434,0.22997648328542708 +2,0.011158808082290087,,0.00016307867650660753,0.00021854582017067796,0.0,0.0,0.0,0.0,0.016297798622139262,805,202,181.47828316688538,0.8984073424103236,0.22543886107687625,,0.013782265601912513,0.6887412944367861,0.00010741502043913442,0.0,0.0,0.0,0.0,0.0,0.013782265601912513,200,50,43.05298161506653,0.8610596323013305,0.21526490807533263,0.1845516459643841 +3,0.009494498669407013,,0.00011327695964556374,3.8853384878324424e-05,0.0,0.0,0.0,0.0,0.025930153387627615,805,202,180.40218472480774,0.8930801224000383,0.22410209282584811,,0.008683254429488443,0.12058158195497072,7.591310663986217e-05,0.0,0.0,0.0,0.0,0.0,0.008683254429488443,200,50,41.45064306259155,0.829012861251831,0.20725321531295776,0.24360368996858597 +4,0.00895738215764163,,0.00012070322721439297,0.0008873690735340489,0.0,0.0,0.0,0.0,0.011782803926587985,805,202,186.75754237174988,0.9245422889690588,0.23199694704565202,,0.008422925432678313,0.16955194229522022,9.24169475914427e-05,0.0,0.0,0.0,0.0,0.0,0.008422925432678313,200,50,44.59279680252075,0.891855936050415,0.22296398401260376,0.22383674293756484 +5,0.008773305997113633,,9.025927803922834e-05,0.00021677699449084562,0.0,0.0,0.0,0.0,0.01653330000001729,805,202,187.85164618492126,0.9299586444798082,0.2333560822172935,,0.010381076293997466,0.07270412575659066,0.00011829460435450301,0.0,0.0,0.0,0.0,0.0,0.010381076293997466,200,50,44.62785005569458,0.8925570011138916,0.2231392502784729,0.25943791270256045 +6,0.008134429911093682,,0.0001047308317276184,0.0004497102921631951,0.0,0.0,0.0,0.0,0.010973761383420932,805,202,187.53397822380066,0.9283860308108943,0.2329614636320505,,0.008780630502733401,0.09751635800654185,8.140120981153131e-05,0.0,0.0,0.0,0.0,0.0,0.008780630502733401,200,50,44.63427662849426,0.8926855325698853,0.2231713831424713,0.2461378952860832 +7,0.007946592294401344,,7.50005599224854e-05,7.401691483599799e-05,0.0,0.0,0.0,0.0,0.019145590105485923,805,202,187.59880757331848,0.928706968184745,0.2330419969854888,,0.008641979658277706,0.15240050105898262,6.394636014881106e-05,0.0,0.0,0.0,0.0,0.0,0.008641979658277706,200,50,44.55962562561035,0.891192512512207,0.22279812812805175,0.2287725442647934 +8,0.007726145980869541,,0.00010351201656821445,0.00011918131711817583,0.0,0.0,0.0,0.0,0.01198191163191566,805,202,187.8279447555542,0.9298413106710604,0.23332663944789342,,0.008236164045520127,0.15178787195240148,7.158585092930991e-05,0.0,0.0,0.0,0.0,0.0,0.008236164045520127,200,50,44.5915470123291,0.891830940246582,0.2229577350616455,0.2310739429295063 +9,0.007728559803796111,,7.956641289235398e-05,9.992388626618415e-05,0.0,0.0,0.0,0.0,0.009808973940262884,805,202,187.30856084823608,0.9272701032090895,0.23268144204749824,,0.00718831441947259,0.08033405828566174,8.093184127858422e-05,0.0,0.0,0.0,0.0,0.0,0.00718831441947259,200,50,44.36774706840515,0.887354941368103,0.22183873534202575,0.2536195170879364 +10,0.007445393237053932,,8.191102583070633e-05,8.700561958440342e-05,0.0,0.0,0.0,0.0,0.008272346986243675,805,202,186.25378012657166,0.9220484164681765,0.23137115543673498,,0.00716319692786783,0.10768753484080662,7.947796575765054e-05,0.0,0.0,0.0,0.0,0.0,0.00716319692786783,200,50,44.121896266937256,0.8824379253387451,0.22060948133468627,0.24102369993925093 +11,0.007209078687089871,,8.030012947632292e-05,5.794451456308735e-05,0.0,0.0,0.0,0.0,0.015489625562595562,805,202,180.35225009918213,0.8928329212830799,0.22404006223500886,,0.007617672348860651,0.10220096257182376,8.304592331220384e-05,0.0,0.0,0.0,0.0,0.0,0.007617672348860651,200,50,39.14431571960449,0.7828863143920899,0.19572157859802247,0.2465660245716572 +12,0.0070073438854960386,,6.868368280172822e-05,6.321743130683899e-05,0.0,0.0,0.0,0.0,0.011095316571607226,805,202,174.2490108013153,0.8626188653530461,0.2164583985109507,,0.007121510573779233,0.08740693002345637,8.431564465894326e-05,0.0,0.0,0.0,0.0,0.0,0.007121510573779233,200,50,40.85461688041687,0.8170923376083374,0.20427308440208436,0.24518433332443237 +13,0.006792847082713548,,5.360118596504969e-05,3.796601610154099e-05,0.0,0.0,0.0,0.0,0.025121319170740994,805,202,162.7479863166809,0.8056831005776283,0.20217141157351665,,0.007495570303872228,0.07556174058856868,0.0001196359121780688,0.0,0.0,0.0,0.0,0.0,0.007495570303872228,200,50,37.98877215385437,0.7597754430770874,0.18994386076927186,0.2575697284936905 +14,0.006771446695849183,,9.122727294492001e-05,9.951636438136516e-05,0.0,0.0,0.0,0.0,0.010192462530273436,805,202,167.1030843257904,0.8272429917118337,0.207581471212162,,0.007947935397969558,0.09493018283307605,0.00010259630384400253,0.0,0.0,0.0,0.0,0.0,0.007947935397969558,200,50,37.87108898162842,0.7574217796325684,0.1893554449081421,0.24702813759446143 +15,0.00631035591366481,,9.427605106801756e-05,3.2145551930800635e-05,0.0,0.0,0.0,0.0,0.00894023059040846,805,202,161.89993405342102,0.8014848220466387,0.20111793050114413,,0.00831742559443228,0.11399434249553908,0.00010447321410083531,0.0,0.0,0.0,0.0,0.0,0.00831742559443228,200,50,40.20472311973572,0.8040944623947144,0.2010236155986786,0.24419028639793397 diff --git a/iris/lct_gan/2/logs/avg_loss_train/events.out.tfevents.1721762105.0e0da8a72f77.4870.17 b/iris/lct_gan/2/logs/avg_loss_train/events.out.tfevents.1721762105.0e0da8a72f77.4870.17 new file mode 100644 index 0000000000000000000000000000000000000000..840463da66c9b9000a0f6a38510f02a5db85dc1c --- /dev/null +++ b/iris/lct_gan/2/logs/avg_loss_train/events.out.tfevents.1721762105.0e0da8a72f77.4870.17 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a69c597ef8075233239a7e6bf749d4bd22784160d9d370d968dfca9f43c90d3d +size 822 diff --git a/iris/lct_gan/2/logs/avg_loss_val/events.out.tfevents.1721762105.0e0da8a72f77.4870.18 b/iris/lct_gan/2/logs/avg_loss_val/events.out.tfevents.1721762105.0e0da8a72f77.4870.18 new file mode 100644 index 0000000000000000000000000000000000000000..1457371e1fc01f5b7f6e0309c01a00b707265b2b --- /dev/null +++ b/iris/lct_gan/2/logs/avg_loss_val/events.out.tfevents.1721762105.0e0da8a72f77.4870.18 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:32ccaf261f49561563f3fa43c5ac054632c65b80d6c87d0631227747fa040df8 +size 822 diff --git a/iris/lct_gan/2/logs/avg_non_role_model_embed_loss_train/events.out.tfevents.1721762105.0e0da8a72f77.4870.15 b/iris/lct_gan/2/logs/avg_non_role_model_embed_loss_train/events.out.tfevents.1721762105.0e0da8a72f77.4870.15 new file mode 100644 index 0000000000000000000000000000000000000000..acaa860e96e906533f3a27e018f88a66dc240716 --- /dev/null +++ b/iris/lct_gan/2/logs/avg_non_role_model_embed_loss_train/events.out.tfevents.1721762105.0e0da8a72f77.4870.15 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5d992e30f75bfaf7cb9492c049a8669249bff486b2f4f253b130acfbc55b523b +size 1158 diff --git a/iris/lct_gan/2/logs/avg_non_role_model_embed_loss_val/events.out.tfevents.1721762105.0e0da8a72f77.4870.16 b/iris/lct_gan/2/logs/avg_non_role_model_embed_loss_val/events.out.tfevents.1721762105.0e0da8a72f77.4870.16 new file mode 100644 index 0000000000000000000000000000000000000000..65c523acc23af403637976fb5b1c8c5d857fcaf9 --- /dev/null +++ b/iris/lct_gan/2/logs/avg_non_role_model_embed_loss_val/events.out.tfevents.1721762105.0e0da8a72f77.4870.16 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:96afffa5da25845b2e637b7ed47893977b4e70ab6072065c968d1d0500ca3cbf +size 1158 diff --git a/iris/lct_gan/2/logs/avg_non_role_model_g_cos_loss_train/events.out.tfevents.1721762105.0e0da8a72f77.4870.13 b/iris/lct_gan/2/logs/avg_non_role_model_g_cos_loss_train/events.out.tfevents.1721762105.0e0da8a72f77.4870.13 new file mode 100644 index 0000000000000000000000000000000000000000..371c5c3a4ca30253218ebef595baeb2cb7763d40 --- /dev/null +++ b/iris/lct_gan/2/logs/avg_non_role_model_g_cos_loss_train/events.out.tfevents.1721762105.0e0da8a72f77.4870.13 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e84fcf611e505b4c618443aac546bae04e84235b5217de53c9fa7dbded99d33c +size 1158 diff --git a/iris/lct_gan/2/logs/avg_non_role_model_g_cos_loss_val/events.out.tfevents.1721762105.0e0da8a72f77.4870.14 b/iris/lct_gan/2/logs/avg_non_role_model_g_cos_loss_val/events.out.tfevents.1721762105.0e0da8a72f77.4870.14 new file mode 100644 index 0000000000000000000000000000000000000000..93c3a6bc188b2af887dd11e3121b5b9111e4b314 --- /dev/null +++ b/iris/lct_gan/2/logs/avg_non_role_model_g_cos_loss_val/events.out.tfevents.1721762105.0e0da8a72f77.4870.14 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8d1d15e2276c8ffb38f1b2ef2f36f1b2549d230c25a6935aba0964618a18e2d9 +size 1158 diff --git a/iris/lct_gan/2/logs/avg_non_role_model_g_mag_loss_train/events.out.tfevents.1721762105.0e0da8a72f77.4870.11 b/iris/lct_gan/2/logs/avg_non_role_model_g_mag_loss_train/events.out.tfevents.1721762105.0e0da8a72f77.4870.11 new file mode 100644 index 0000000000000000000000000000000000000000..b1a8ec196d61da4e5131c19da488d924c00781ae --- /dev/null +++ b/iris/lct_gan/2/logs/avg_non_role_model_g_mag_loss_train/events.out.tfevents.1721762105.0e0da8a72f77.4870.11 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0b8f05f4f66c48d9f0ba4bc6542b5ec4944b69cfefbce563bf67216a64d65982 +size 1158 diff --git a/iris/lct_gan/2/logs/avg_non_role_model_g_mag_loss_val/events.out.tfevents.1721762105.0e0da8a72f77.4870.12 b/iris/lct_gan/2/logs/avg_non_role_model_g_mag_loss_val/events.out.tfevents.1721762105.0e0da8a72f77.4870.12 new file mode 100644 index 0000000000000000000000000000000000000000..951911a8eef46b9c5b0f22876de68b2e332b8865 --- /dev/null +++ b/iris/lct_gan/2/logs/avg_non_role_model_g_mag_loss_val/events.out.tfevents.1721762105.0e0da8a72f77.4870.12 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b2c3262da645be448f4c0d4e52e2e682af15d7e2d961f42b18f28978f558a77d +size 1158 diff --git a/iris/lct_gan/2/logs/avg_pred_std_train/events.out.tfevents.1721762105.0e0da8a72f77.4870.29 b/iris/lct_gan/2/logs/avg_pred_std_train/events.out.tfevents.1721762105.0e0da8a72f77.4870.29 new file mode 100644 index 0000000000000000000000000000000000000000..76fde872cebe20bb482bdb045957e57d7415ad40 --- /dev/null +++ b/iris/lct_gan/2/logs/avg_pred_std_train/events.out.tfevents.1721762105.0e0da8a72f77.4870.29 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:10c2c2f4946ce7fa94a161441854a78b986def8aa01e96c44b531444ecaf0e06 +size 886 diff --git a/iris/lct_gan/2/logs/avg_pred_std_val/events.out.tfevents.1721762105.0e0da8a72f77.4870.30 b/iris/lct_gan/2/logs/avg_pred_std_val/events.out.tfevents.1721762105.0e0da8a72f77.4870.30 new file mode 100644 index 0000000000000000000000000000000000000000..d6d7448d7d59424fc6c05c84a338be2cf0e6d42a --- /dev/null +++ b/iris/lct_gan/2/logs/avg_pred_std_val/events.out.tfevents.1721762105.0e0da8a72f77.4870.30 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:52f16e160e5c89f67267b42db1ac01707b2a1c3d7c5e186ce3f911856052c32d +size 886 diff --git a/iris/lct_gan/2/logs/avg_role_model_g_cos_loss_train/events.out.tfevents.1721762105.0e0da8a72f77.4870.9 b/iris/lct_gan/2/logs/avg_role_model_g_cos_loss_train/events.out.tfevents.1721762105.0e0da8a72f77.4870.9 new file mode 100644 index 0000000000000000000000000000000000000000..ba3fa33c0b0421adb227bc2f147169487fbf4f84 --- /dev/null +++ b/iris/lct_gan/2/logs/avg_role_model_g_cos_loss_train/events.out.tfevents.1721762105.0e0da8a72f77.4870.9 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6e2e73ad7ef014b0fb8090a0ad6ea91eab70b477150c448d260cd515948a37d1 +size 1094 diff --git a/iris/lct_gan/2/logs/avg_role_model_g_cos_loss_val/events.out.tfevents.1721762105.0e0da8a72f77.4870.10 b/iris/lct_gan/2/logs/avg_role_model_g_cos_loss_val/events.out.tfevents.1721762105.0e0da8a72f77.4870.10 new file mode 100644 index 0000000000000000000000000000000000000000..3fc2693a9282872fbad2df41147c25f33664f2ca --- /dev/null +++ b/iris/lct_gan/2/logs/avg_role_model_g_cos_loss_val/events.out.tfevents.1721762105.0e0da8a72f77.4870.10 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e6b94f5760af0e33b0f0e5de091d7f1bc5d3500326a245d49a4a451a4eab90ec +size 1094 diff --git a/iris/lct_gan/2/logs/avg_role_model_g_mag_loss_train/events.out.tfevents.1721762105.0e0da8a72f77.4870.7 b/iris/lct_gan/2/logs/avg_role_model_g_mag_loss_train/events.out.tfevents.1721762105.0e0da8a72f77.4870.7 new file mode 100644 index 0000000000000000000000000000000000000000..491d02070bb0b6137dedc69750e325d8a02929e6 --- /dev/null +++ b/iris/lct_gan/2/logs/avg_role_model_g_mag_loss_train/events.out.tfevents.1721762105.0e0da8a72f77.4870.7 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1b117de129d343263d436616b4d667947224eaa5695a101d9f73be3fc5bed6a7 +size 1094 diff --git a/iris/lct_gan/2/logs/avg_role_model_g_mag_loss_val/events.out.tfevents.1721762105.0e0da8a72f77.4870.8 b/iris/lct_gan/2/logs/avg_role_model_g_mag_loss_val/events.out.tfevents.1721762105.0e0da8a72f77.4870.8 new file mode 100644 index 0000000000000000000000000000000000000000..c683a79858869c620e0b46f1a06b7302447228af --- /dev/null +++ b/iris/lct_gan/2/logs/avg_role_model_g_mag_loss_val/events.out.tfevents.1721762105.0e0da8a72f77.4870.8 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fc3ba55d0c70a1b381b12a950fe4889882c700e7d358ccfe8005ec23c0115ab7 +size 1094 diff --git a/iris/lct_gan/2/logs/avg_role_model_loss_train/events.out.tfevents.1721762104.0e0da8a72f77.4870.1 b/iris/lct_gan/2/logs/avg_role_model_loss_train/events.out.tfevents.1721762104.0e0da8a72f77.4870.1 new file mode 100644 index 0000000000000000000000000000000000000000..0667da6437139c40bbc592060c6799e2561b962a --- /dev/null +++ b/iris/lct_gan/2/logs/avg_role_model_loss_train/events.out.tfevents.1721762104.0e0da8a72f77.4870.1 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2619feab1ee28c42a37d8d2e5e64ab39674678fd0d2183d1c1e461d32d6e7486 +size 998 diff --git a/iris/lct_gan/2/logs/avg_role_model_loss_val/events.out.tfevents.1721762105.0e0da8a72f77.4870.2 b/iris/lct_gan/2/logs/avg_role_model_loss_val/events.out.tfevents.1721762105.0e0da8a72f77.4870.2 new file mode 100644 index 0000000000000000000000000000000000000000..5450d7bf750c8f00dcc071db8d2a5e2d0fa2339b --- /dev/null +++ b/iris/lct_gan/2/logs/avg_role_model_loss_val/events.out.tfevents.1721762105.0e0da8a72f77.4870.2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:94d233845637016e8330b6602f82da292b4149239ff5067c0d06d65ccc76bd0f +size 998 diff --git a/iris/lct_gan/2/logs/avg_role_model_mean_pred_loss_train/events.out.tfevents.1721762105.0e0da8a72f77.4870.5 b/iris/lct_gan/2/logs/avg_role_model_mean_pred_loss_train/events.out.tfevents.1721762105.0e0da8a72f77.4870.5 new file mode 100644 index 0000000000000000000000000000000000000000..1b85471ffc280010c2bf3ac2b2928a5b3a66c736 --- /dev/null +++ b/iris/lct_gan/2/logs/avg_role_model_mean_pred_loss_train/events.out.tfevents.1721762105.0e0da8a72f77.4870.5 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f76cfe9c914c2ff0b62a6a0b94d4a37be0329ab86a4ce0883a328209f7677254 +size 1158 diff --git a/iris/lct_gan/2/logs/avg_role_model_mean_pred_loss_val/events.out.tfevents.1721762105.0e0da8a72f77.4870.6 b/iris/lct_gan/2/logs/avg_role_model_mean_pred_loss_val/events.out.tfevents.1721762105.0e0da8a72f77.4870.6 new file mode 100644 index 0000000000000000000000000000000000000000..4a9fe03799e443da3560fbe7ee04a3a3f1f7ded1 --- /dev/null +++ b/iris/lct_gan/2/logs/avg_role_model_mean_pred_loss_val/events.out.tfevents.1721762105.0e0da8a72f77.4870.6 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7d90a6af834ae89a7aa4418a73e27452f618cd0064f5f1173866f8f09dca3564 +size 1158 diff --git a/iris/lct_gan/2/logs/avg_role_model_std_loss_train/events.out.tfevents.1721762105.0e0da8a72f77.4870.3 b/iris/lct_gan/2/logs/avg_role_model_std_loss_train/events.out.tfevents.1721762105.0e0da8a72f77.4870.3 new file mode 100644 index 0000000000000000000000000000000000000000..b448eb6a9261577d3e4293276bfad725d038d01d --- /dev/null +++ b/iris/lct_gan/2/logs/avg_role_model_std_loss_train/events.out.tfevents.1721762105.0e0da8a72f77.4870.3 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f6447507cdb226bcd5dec20702b5c389db5a9d891925a27cc7a70333bce002a3 +size 1062 diff --git a/iris/lct_gan/2/logs/avg_role_model_std_loss_val/events.out.tfevents.1721762105.0e0da8a72f77.4870.4 b/iris/lct_gan/2/logs/avg_role_model_std_loss_val/events.out.tfevents.1721762105.0e0da8a72f77.4870.4 new file mode 100644 index 0000000000000000000000000000000000000000..8a408eed3900472f08c0f4be57f6141260c6ebcc --- /dev/null +++ b/iris/lct_gan/2/logs/avg_role_model_std_loss_val/events.out.tfevents.1721762105.0e0da8a72f77.4870.4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e34bc7a23c9c50481b7bab88c66d36f06764573c5a2578466feda017b1e87771 +size 1062 diff --git a/iris/lct_gan/2/logs/duration_batch_train/events.out.tfevents.1721762105.0e0da8a72f77.4870.25 b/iris/lct_gan/2/logs/duration_batch_train/events.out.tfevents.1721762105.0e0da8a72f77.4870.25 new file mode 100644 index 0000000000000000000000000000000000000000..c2284050324bc9146cebe8b498a5bd6ef714d447 --- /dev/null +++ b/iris/lct_gan/2/logs/duration_batch_train/events.out.tfevents.1721762105.0e0da8a72f77.4870.25 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:37421b44d651c24d577865fb16347ab5b739c8b7bc52ee53ba4f9a35c9b23f56 +size 918 diff --git a/iris/lct_gan/2/logs/duration_batch_val/events.out.tfevents.1721762105.0e0da8a72f77.4870.26 b/iris/lct_gan/2/logs/duration_batch_val/events.out.tfevents.1721762105.0e0da8a72f77.4870.26 new file mode 100644 index 0000000000000000000000000000000000000000..7db91eb0f72c4cccabcd5c886c743a162feb526a --- /dev/null +++ b/iris/lct_gan/2/logs/duration_batch_val/events.out.tfevents.1721762105.0e0da8a72f77.4870.26 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:03baf1bfc7c0d448ce67ed99428798634bc3da7ef0f382763b6102517bb6d3e2 +size 918 diff --git a/iris/lct_gan/2/logs/duration_size_train/events.out.tfevents.1721762105.0e0da8a72f77.4870.27 b/iris/lct_gan/2/logs/duration_size_train/events.out.tfevents.1721762105.0e0da8a72f77.4870.27 new file mode 100644 index 0000000000000000000000000000000000000000..fa0a7292ee63a8a969f8946b2132297d3a88e7c5 --- /dev/null +++ b/iris/lct_gan/2/logs/duration_size_train/events.out.tfevents.1721762105.0e0da8a72f77.4870.27 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a18c52e85da248bbe7d4528fc25ce344684d58d6231dfc165ab90cb51e235a95 +size 902 diff --git a/iris/lct_gan/2/logs/duration_size_val/events.out.tfevents.1721762105.0e0da8a72f77.4870.28 b/iris/lct_gan/2/logs/duration_size_val/events.out.tfevents.1721762105.0e0da8a72f77.4870.28 new file mode 100644 index 0000000000000000000000000000000000000000..38a7defefe232cf50f60606e790f65078b58a007 --- /dev/null +++ b/iris/lct_gan/2/logs/duration_size_val/events.out.tfevents.1721762105.0e0da8a72f77.4870.28 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:43812595c90aada33c5f3f7c5200f90b33fcd0ecd9347af374053f7002ead78f +size 902 diff --git a/iris/lct_gan/2/logs/duration_train/events.out.tfevents.1721762105.0e0da8a72f77.4870.23 b/iris/lct_gan/2/logs/duration_train/events.out.tfevents.1721762105.0e0da8a72f77.4870.23 new file mode 100644 index 0000000000000000000000000000000000000000..d0204756419118e9c063a7f47f4d4d5992bef5b7 --- /dev/null +++ b/iris/lct_gan/2/logs/duration_train/events.out.tfevents.1721762105.0e0da8a72f77.4870.23 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:346cbb01416a3ac6613756f4fddd665ec1157232964a9ea2b1c86358bf941dbf +size 822 diff --git a/iris/lct_gan/2/logs/duration_val/events.out.tfevents.1721762105.0e0da8a72f77.4870.24 b/iris/lct_gan/2/logs/duration_val/events.out.tfevents.1721762105.0e0da8a72f77.4870.24 new file mode 100644 index 0000000000000000000000000000000000000000..6551e1bd2c95eda68f5d7818431d2011c0e08a8d --- /dev/null +++ b/iris/lct_gan/2/logs/duration_val/events.out.tfevents.1721762105.0e0da8a72f77.4870.24 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:620826399cb3d689448b066adc86099571a7898df413e81cca496f65d1af5f53 +size 822 diff --git a/iris/lct_gan/2/logs/events.out.tfevents.1721761874.0e0da8a72f77.4870.0 b/iris/lct_gan/2/logs/events.out.tfevents.1721761874.0e0da8a72f77.4870.0 new file mode 100644 index 0000000000000000000000000000000000000000..4de1e1815411e01844e5d5b3b48ed1fa8ee6c64a --- /dev/null +++ b/iris/lct_gan/2/logs/events.out.tfevents.1721761874.0e0da8a72f77.4870.0 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9a17619f9f354572af1ee965d1d7ffd251aaf562ebc4229276dded03ef8a0a7e +size 88 diff --git a/iris/lct_gan/2/logs/n_batch_train/events.out.tfevents.1721762105.0e0da8a72f77.4870.21 b/iris/lct_gan/2/logs/n_batch_train/events.out.tfevents.1721762105.0e0da8a72f77.4870.21 new file mode 100644 index 0000000000000000000000000000000000000000..03c95874c17884382115c2e033b5337ae4de6f30 --- /dev/null +++ b/iris/lct_gan/2/logs/n_batch_train/events.out.tfevents.1721762105.0e0da8a72f77.4870.21 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5be8175eed83178a73e776ed71454d35de469c5d91155f5e5a15c97baf18c6ed +size 806 diff --git a/iris/lct_gan/2/logs/n_batch_val/events.out.tfevents.1721762105.0e0da8a72f77.4870.22 b/iris/lct_gan/2/logs/n_batch_val/events.out.tfevents.1721762105.0e0da8a72f77.4870.22 new file mode 100644 index 0000000000000000000000000000000000000000..d72a438d0efb86d321f985def6245f91a02aee08 --- /dev/null +++ b/iris/lct_gan/2/logs/n_batch_val/events.out.tfevents.1721762105.0e0da8a72f77.4870.22 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:53c644440fb0859108e7a9f83d642d5b7b294ffa9f05493263b250090eb0b310 +size 806 diff --git a/iris/lct_gan/2/logs/n_size_train/events.out.tfevents.1721762105.0e0da8a72f77.4870.19 b/iris/lct_gan/2/logs/n_size_train/events.out.tfevents.1721762105.0e0da8a72f77.4870.19 new file mode 100644 index 0000000000000000000000000000000000000000..6a24a46103b286c9721ad7be851e119713014197 --- /dev/null +++ b/iris/lct_gan/2/logs/n_size_train/events.out.tfevents.1721762105.0e0da8a72f77.4870.19 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:37b35b8eb78aac54ffbc6c05e450a4e9d543042165764e24099b73229956e35a +size 790 diff --git a/iris/lct_gan/2/logs/n_size_val/events.out.tfevents.1721762105.0e0da8a72f77.4870.20 b/iris/lct_gan/2/logs/n_size_val/events.out.tfevents.1721762105.0e0da8a72f77.4870.20 new file mode 100644 index 0000000000000000000000000000000000000000..afc341edb155dde8aa411dec90c57b58af2ffee7 --- /dev/null +++ b/iris/lct_gan/2/logs/n_size_val/events.out.tfevents.1721762105.0e0da8a72f77.4870.20 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e49cca2c517f680af22eeca59df37da24386651fe7c5362835e48255ebbcbcd3 +size 790 diff --git a/iris/lct_gan/2/logs/train_avg_loss/events.out.tfevents.1721762105.0e0da8a72f77.4870.39 b/iris/lct_gan/2/logs/train_avg_loss/events.out.tfevents.1721762105.0e0da8a72f77.4870.39 new file mode 100644 index 0000000000000000000000000000000000000000..3ac938dad3ab95cee732349dca4450409ef2cd9c --- /dev/null +++ b/iris/lct_gan/2/logs/train_avg_loss/events.out.tfevents.1721762105.0e0da8a72f77.4870.39 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5504d316af04b787264913d0d2dd20593cee2c98476df47991d4c89fed277cd9 +size 774 diff --git a/iris/lct_gan/2/logs/train_avg_non_role_model_embed_loss/events.out.tfevents.1721762105.0e0da8a72f77.4870.38 b/iris/lct_gan/2/logs/train_avg_non_role_model_embed_loss/events.out.tfevents.1721762105.0e0da8a72f77.4870.38 new file mode 100644 index 0000000000000000000000000000000000000000..78d2f992d4992a48c830905c98b0e801d82f16ed --- /dev/null +++ b/iris/lct_gan/2/logs/train_avg_non_role_model_embed_loss/events.out.tfevents.1721762105.0e0da8a72f77.4870.38 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:68be75232ae7a3b0691a704d830eda4f8e3ecc013575bd1e51f7d813fed6ba7f +size 774 diff --git a/iris/lct_gan/2/logs/train_avg_non_role_model_g_cos_loss/events.out.tfevents.1721762105.0e0da8a72f77.4870.37 b/iris/lct_gan/2/logs/train_avg_non_role_model_g_cos_loss/events.out.tfevents.1721762105.0e0da8a72f77.4870.37 new file mode 100644 index 0000000000000000000000000000000000000000..1fc05070b18cc43a807cef9dcfb6b7f5fdbed0a7 --- /dev/null +++ b/iris/lct_gan/2/logs/train_avg_non_role_model_g_cos_loss/events.out.tfevents.1721762105.0e0da8a72f77.4870.37 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c72ea38404d748eb9792095fad7d2df3437d61d1feed767ec17796675ff738b4 +size 774 diff --git a/iris/lct_gan/2/logs/train_avg_non_role_model_g_mag_loss/events.out.tfevents.1721762105.0e0da8a72f77.4870.36 b/iris/lct_gan/2/logs/train_avg_non_role_model_g_mag_loss/events.out.tfevents.1721762105.0e0da8a72f77.4870.36 new file mode 100644 index 0000000000000000000000000000000000000000..0ab224fb32e5fbffb3073c8867e5e3468ba1d483 --- /dev/null +++ b/iris/lct_gan/2/logs/train_avg_non_role_model_g_mag_loss/events.out.tfevents.1721762105.0e0da8a72f77.4870.36 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f7f2b2aa60cf2e88f8c58521b15c0ab45c80dfd4c2447521f76ffb8520db243a +size 774 diff --git a/iris/lct_gan/2/logs/train_avg_pred_std/events.out.tfevents.1721762105.0e0da8a72f77.4870.45 b/iris/lct_gan/2/logs/train_avg_pred_std/events.out.tfevents.1721762105.0e0da8a72f77.4870.45 new file mode 100644 index 0000000000000000000000000000000000000000..5efec98ca800785ade3011f99a162a2a09a03307 --- /dev/null +++ b/iris/lct_gan/2/logs/train_avg_pred_std/events.out.tfevents.1721762105.0e0da8a72f77.4870.45 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8f3505c57c6ef93892d533f0491c2332186f547c56126b3821e04d522b641225 +size 774 diff --git a/iris/lct_gan/2/logs/train_avg_role_model_g_cos_loss/events.out.tfevents.1721762105.0e0da8a72f77.4870.35 b/iris/lct_gan/2/logs/train_avg_role_model_g_cos_loss/events.out.tfevents.1721762105.0e0da8a72f77.4870.35 new file mode 100644 index 0000000000000000000000000000000000000000..75567a21a7e3239fdda7675c889715b59d4b44ea --- /dev/null +++ b/iris/lct_gan/2/logs/train_avg_role_model_g_cos_loss/events.out.tfevents.1721762105.0e0da8a72f77.4870.35 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a4ac9c8e4597ca461110bb6ac56af111516209069ada3ea637731eec41621819 +size 774 diff --git a/iris/lct_gan/2/logs/train_avg_role_model_g_mag_loss/events.out.tfevents.1721762105.0e0da8a72f77.4870.34 b/iris/lct_gan/2/logs/train_avg_role_model_g_mag_loss/events.out.tfevents.1721762105.0e0da8a72f77.4870.34 new file mode 100644 index 0000000000000000000000000000000000000000..e0ac025924d24d19556892b04c98261e032f8b43 --- /dev/null +++ b/iris/lct_gan/2/logs/train_avg_role_model_g_mag_loss/events.out.tfevents.1721762105.0e0da8a72f77.4870.34 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6f113da4f2bc183222d39dd7aeff985fb230096d57b48d076116443987e0d2d1 +size 774 diff --git a/iris/lct_gan/2/logs/train_avg_role_model_loss/events.out.tfevents.1721762105.0e0da8a72f77.4870.31 b/iris/lct_gan/2/logs/train_avg_role_model_loss/events.out.tfevents.1721762105.0e0da8a72f77.4870.31 new file mode 100644 index 0000000000000000000000000000000000000000..83eb7c9c49d0c8546d2e82b1dd8031b0df18ad6a --- /dev/null +++ b/iris/lct_gan/2/logs/train_avg_role_model_loss/events.out.tfevents.1721762105.0e0da8a72f77.4870.31 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f0984e6160300137cf45a32c415774a67b81ac88f55c4572cf423a2ba69a5801 +size 774 diff --git a/iris/lct_gan/2/logs/train_avg_role_model_mean_pred_loss/events.out.tfevents.1721762105.0e0da8a72f77.4870.33 b/iris/lct_gan/2/logs/train_avg_role_model_mean_pred_loss/events.out.tfevents.1721762105.0e0da8a72f77.4870.33 new file mode 100644 index 0000000000000000000000000000000000000000..163cdef31ebd527255b42a26af185ac26cf52d8c --- /dev/null +++ b/iris/lct_gan/2/logs/train_avg_role_model_mean_pred_loss/events.out.tfevents.1721762105.0e0da8a72f77.4870.33 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c03859cb26f1bcc9bd6b67ad3bce103bdb2bebd2ffa748c8176d385cdaf10482 +size 774 diff --git a/iris/lct_gan/2/logs/train_avg_role_model_std_loss/events.out.tfevents.1721762105.0e0da8a72f77.4870.32 b/iris/lct_gan/2/logs/train_avg_role_model_std_loss/events.out.tfevents.1721762105.0e0da8a72f77.4870.32 new file mode 100644 index 0000000000000000000000000000000000000000..2f4bcb41053f7a088d67514309a922943143429c --- /dev/null +++ b/iris/lct_gan/2/logs/train_avg_role_model_std_loss/events.out.tfevents.1721762105.0e0da8a72f77.4870.32 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:752ff1bc63148ffc1a656ef8fdbc811916b2e5ba9a5e25657dbad94ce327337d +size 774 diff --git a/iris/lct_gan/2/logs/train_duration/events.out.tfevents.1721762105.0e0da8a72f77.4870.42 b/iris/lct_gan/2/logs/train_duration/events.out.tfevents.1721762105.0e0da8a72f77.4870.42 new file mode 100644 index 0000000000000000000000000000000000000000..e7f61bf47df0d42cb3a69b202cc1eaa6714355d4 --- /dev/null +++ b/iris/lct_gan/2/logs/train_duration/events.out.tfevents.1721762105.0e0da8a72f77.4870.42 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:691a2ec6355254857ecd45a785bb1681b06e230462be37d61068db930c103c01 +size 774 diff --git a/iris/lct_gan/2/logs/train_duration_batch/events.out.tfevents.1721762105.0e0da8a72f77.4870.43 b/iris/lct_gan/2/logs/train_duration_batch/events.out.tfevents.1721762105.0e0da8a72f77.4870.43 new file mode 100644 index 0000000000000000000000000000000000000000..cb316190de14e63e23906cc1fdfe4eafd80b86b4 --- /dev/null +++ b/iris/lct_gan/2/logs/train_duration_batch/events.out.tfevents.1721762105.0e0da8a72f77.4870.43 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:639e9659670e82245e1d09123317afe544d9473213685be2e79dab6c98382f80 +size 774 diff --git a/iris/lct_gan/2/logs/train_duration_size/events.out.tfevents.1721762105.0e0da8a72f77.4870.44 b/iris/lct_gan/2/logs/train_duration_size/events.out.tfevents.1721762105.0e0da8a72f77.4870.44 new file mode 100644 index 0000000000000000000000000000000000000000..ecec82d55a561b1c663c944440c2743dda2eb3f3 --- /dev/null +++ b/iris/lct_gan/2/logs/train_duration_size/events.out.tfevents.1721762105.0e0da8a72f77.4870.44 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3b441194a7c7eac92c047b67bf113cf2ccc6cd676fee11e638abb8d6a89b7a4b +size 774 diff --git a/iris/lct_gan/2/logs/train_n_batch/events.out.tfevents.1721762105.0e0da8a72f77.4870.41 b/iris/lct_gan/2/logs/train_n_batch/events.out.tfevents.1721762105.0e0da8a72f77.4870.41 new file mode 100644 index 0000000000000000000000000000000000000000..65c44c224a1347b6b3e0b46f9c0387e10cd266e7 --- /dev/null +++ b/iris/lct_gan/2/logs/train_n_batch/events.out.tfevents.1721762105.0e0da8a72f77.4870.41 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c58bd8136be79b2b827753da77786261205b344a745fd305f71ca988d35907c3 +size 774 diff --git a/iris/lct_gan/2/logs/train_n_size/events.out.tfevents.1721762105.0e0da8a72f77.4870.40 b/iris/lct_gan/2/logs/train_n_size/events.out.tfevents.1721762105.0e0da8a72f77.4870.40 new file mode 100644 index 0000000000000000000000000000000000000000..d7b4a9bf5932bf7d516f8c1741046f3bf0549d5e --- /dev/null +++ b/iris/lct_gan/2/logs/train_n_size/events.out.tfevents.1721762105.0e0da8a72f77.4870.40 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bc78efbee89c1ec851c3b5001269a507cd366d225ad48752216958d4aba7e14e +size 774 diff --git a/iris/lct_gan/2/logs/val_avg_loss/events.out.tfevents.1721762105.0e0da8a72f77.4870.54 b/iris/lct_gan/2/logs/val_avg_loss/events.out.tfevents.1721762105.0e0da8a72f77.4870.54 new file mode 100644 index 0000000000000000000000000000000000000000..1628c371aeaffd49c1d6b8da85f1dd78dc2d144e --- /dev/null +++ b/iris/lct_gan/2/logs/val_avg_loss/events.out.tfevents.1721762105.0e0da8a72f77.4870.54 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6df1113acc054675ff7b33f59ecac346d09ce846f51ae309dc63e8fdb1fd65f2 +size 742 diff --git a/iris/lct_gan/2/logs/val_avg_non_role_model_embed_loss/events.out.tfevents.1721762105.0e0da8a72f77.4870.53 b/iris/lct_gan/2/logs/val_avg_non_role_model_embed_loss/events.out.tfevents.1721762105.0e0da8a72f77.4870.53 new file mode 100644 index 0000000000000000000000000000000000000000..2f5ac4139aa03ba92566be14c2375cf3925c80cb --- /dev/null +++ b/iris/lct_gan/2/logs/val_avg_non_role_model_embed_loss/events.out.tfevents.1721762105.0e0da8a72f77.4870.53 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6e48d0f6bbf5326011973c60219cbc11a73f6538dbba6e8d4c1582844e8cdc1f +size 742 diff --git a/iris/lct_gan/2/logs/val_avg_non_role_model_g_cos_loss/events.out.tfevents.1721762105.0e0da8a72f77.4870.52 b/iris/lct_gan/2/logs/val_avg_non_role_model_g_cos_loss/events.out.tfevents.1721762105.0e0da8a72f77.4870.52 new file mode 100644 index 0000000000000000000000000000000000000000..78319d06696e92bdf19d86afd5b8c1a617ef1b31 --- /dev/null +++ b/iris/lct_gan/2/logs/val_avg_non_role_model_g_cos_loss/events.out.tfevents.1721762105.0e0da8a72f77.4870.52 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3be97f5485214061a8072440f4b4a66befa50bb58163ed29992f9f916bbbd7bf +size 742 diff --git a/iris/lct_gan/2/logs/val_avg_non_role_model_g_mag_loss/events.out.tfevents.1721762105.0e0da8a72f77.4870.51 b/iris/lct_gan/2/logs/val_avg_non_role_model_g_mag_loss/events.out.tfevents.1721762105.0e0da8a72f77.4870.51 new file mode 100644 index 0000000000000000000000000000000000000000..d9deffb537adc93fd828e1d76304ee0209d9b72d --- /dev/null +++ b/iris/lct_gan/2/logs/val_avg_non_role_model_g_mag_loss/events.out.tfevents.1721762105.0e0da8a72f77.4870.51 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aa3b347776df894343d926536566b3541e70289b01896357a81dfd1c94252271 +size 742 diff --git a/iris/lct_gan/2/logs/val_avg_pred_std/events.out.tfevents.1721762105.0e0da8a72f77.4870.60 b/iris/lct_gan/2/logs/val_avg_pred_std/events.out.tfevents.1721762105.0e0da8a72f77.4870.60 new file mode 100644 index 0000000000000000000000000000000000000000..f9acf550ddde20094adea1509ba5a773247147bd --- /dev/null +++ b/iris/lct_gan/2/logs/val_avg_pred_std/events.out.tfevents.1721762105.0e0da8a72f77.4870.60 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ef253b97fb5b2df1de962ab5bdd4ba6df5018c41949c22be1159cda793834ac6 +size 742 diff --git a/iris/lct_gan/2/logs/val_avg_role_model_g_cos_loss/events.out.tfevents.1721762105.0e0da8a72f77.4870.50 b/iris/lct_gan/2/logs/val_avg_role_model_g_cos_loss/events.out.tfevents.1721762105.0e0da8a72f77.4870.50 new file mode 100644 index 0000000000000000000000000000000000000000..e84a4a0d839aadcc7083527e223971760bc3da0c --- /dev/null +++ b/iris/lct_gan/2/logs/val_avg_role_model_g_cos_loss/events.out.tfevents.1721762105.0e0da8a72f77.4870.50 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8835fe817473763667c8b4f672855e55e464d62f794f2b7af1500b3106c0f218 +size 742 diff --git a/iris/lct_gan/2/logs/val_avg_role_model_g_mag_loss/events.out.tfevents.1721762105.0e0da8a72f77.4870.49 b/iris/lct_gan/2/logs/val_avg_role_model_g_mag_loss/events.out.tfevents.1721762105.0e0da8a72f77.4870.49 new file mode 100644 index 0000000000000000000000000000000000000000..6c2c831fae40ee5a02fda90d4fc691f4f1ce959d --- /dev/null +++ b/iris/lct_gan/2/logs/val_avg_role_model_g_mag_loss/events.out.tfevents.1721762105.0e0da8a72f77.4870.49 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d5b133622161bf19eb92c3b69d0e61b817c13c1ad299e1e750df6c610b89d5da +size 742 diff --git a/iris/lct_gan/2/logs/val_avg_role_model_loss/events.out.tfevents.1721762105.0e0da8a72f77.4870.46 b/iris/lct_gan/2/logs/val_avg_role_model_loss/events.out.tfevents.1721762105.0e0da8a72f77.4870.46 new file mode 100644 index 0000000000000000000000000000000000000000..cc6407f7d76db78382c75fbde2c7792bacfcdab8 --- /dev/null +++ b/iris/lct_gan/2/logs/val_avg_role_model_loss/events.out.tfevents.1721762105.0e0da8a72f77.4870.46 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:88260545c272ea00c9ff03912a2f691189a461f63087f4fd70ef2c2ffe63abd8 +size 742 diff --git a/iris/lct_gan/2/logs/val_avg_role_model_mean_pred_loss/events.out.tfevents.1721762105.0e0da8a72f77.4870.48 b/iris/lct_gan/2/logs/val_avg_role_model_mean_pred_loss/events.out.tfevents.1721762105.0e0da8a72f77.4870.48 new file mode 100644 index 0000000000000000000000000000000000000000..632c7603b0f602501c8a8190c69f7a749b3fa887 --- /dev/null +++ b/iris/lct_gan/2/logs/val_avg_role_model_mean_pred_loss/events.out.tfevents.1721762105.0e0da8a72f77.4870.48 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:44dd80a14ca8d0ec19405d2ee88d3954b35713db90849526f5e1aee9fe686e04 +size 742 diff --git a/iris/lct_gan/2/logs/val_avg_role_model_std_loss/events.out.tfevents.1721762105.0e0da8a72f77.4870.47 b/iris/lct_gan/2/logs/val_avg_role_model_std_loss/events.out.tfevents.1721762105.0e0da8a72f77.4870.47 new file mode 100644 index 0000000000000000000000000000000000000000..91e5ce3892ae9c24ed3f1344466e43ed282f06be --- /dev/null +++ b/iris/lct_gan/2/logs/val_avg_role_model_std_loss/events.out.tfevents.1721762105.0e0da8a72f77.4870.47 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c1641a7a2a1b7359c64797deab88eea2bd018d0f303c02ecbe6d4fd4be6c4c6e +size 742 diff --git a/iris/lct_gan/2/logs/val_duration/events.out.tfevents.1721762105.0e0da8a72f77.4870.57 b/iris/lct_gan/2/logs/val_duration/events.out.tfevents.1721762105.0e0da8a72f77.4870.57 new file mode 100644 index 0000000000000000000000000000000000000000..b4fd59a9d30d04431d9b8e8654005e438f1af5c4 --- /dev/null +++ b/iris/lct_gan/2/logs/val_duration/events.out.tfevents.1721762105.0e0da8a72f77.4870.57 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:42dcd77d9f035a9424b1570a3ce2bc24e6a0694a574d5a02d0725d2a8311d66d +size 742 diff --git a/iris/lct_gan/2/logs/val_duration_batch/events.out.tfevents.1721762105.0e0da8a72f77.4870.58 b/iris/lct_gan/2/logs/val_duration_batch/events.out.tfevents.1721762105.0e0da8a72f77.4870.58 new file mode 100644 index 0000000000000000000000000000000000000000..d55d4f78402a45e9102d3d0bb4319639efd15705 --- /dev/null +++ b/iris/lct_gan/2/logs/val_duration_batch/events.out.tfevents.1721762105.0e0da8a72f77.4870.58 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0fa93a6e1db4dd0daa328fb614bc03c0cc27e43bbe2cdf73418b26eafaabe81d +size 742 diff --git a/iris/lct_gan/2/logs/val_duration_size/events.out.tfevents.1721762105.0e0da8a72f77.4870.59 b/iris/lct_gan/2/logs/val_duration_size/events.out.tfevents.1721762105.0e0da8a72f77.4870.59 new file mode 100644 index 0000000000000000000000000000000000000000..5eedf1b2ba2b650182eeb507fbed1c5b26f04b21 --- /dev/null +++ b/iris/lct_gan/2/logs/val_duration_size/events.out.tfevents.1721762105.0e0da8a72f77.4870.59 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d07c98011a680feae763ef322f6889e69abbb8e01bd827cffab3ebec76554906 +size 742 diff --git a/iris/lct_gan/2/logs/val_n_batch/events.out.tfevents.1721762105.0e0da8a72f77.4870.56 b/iris/lct_gan/2/logs/val_n_batch/events.out.tfevents.1721762105.0e0da8a72f77.4870.56 new file mode 100644 index 0000000000000000000000000000000000000000..77878f817ec4fa911be33d91f9f1094462694abc --- /dev/null +++ b/iris/lct_gan/2/logs/val_n_batch/events.out.tfevents.1721762105.0e0da8a72f77.4870.56 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6d8cf409e53f173b3e3ce13a4f1aba5969ee6a08943da61b1261bd41b6ecf51d +size 742 diff --git a/iris/lct_gan/2/logs/val_n_size/events.out.tfevents.1721762105.0e0da8a72f77.4870.55 b/iris/lct_gan/2/logs/val_n_size/events.out.tfevents.1721762105.0e0da8a72f77.4870.55 new file mode 100644 index 0000000000000000000000000000000000000000..afb672bfa4af4abd6bcd006f0958c98ab0e248b0 --- /dev/null +++ b/iris/lct_gan/2/logs/val_n_size/events.out.tfevents.1721762105.0e0da8a72f77.4870.55 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9a8dc7364a0b7bf3aa24e1f64cdcc55f6ea89196a8081af78301a125a0b93937 +size 742 diff --git a/iris/lct_gan/2/mlu-eval.ipynb b/iris/lct_gan/2/mlu-eval.ipynb new file mode 100644 index 0000000000000000000000000000000000000000..a710cc3c9eda512fdcb2b5f5ad833167eed3b118 --- /dev/null +++ b/iris/lct_gan/2/mlu-eval.ipynb @@ -0,0 +1,2299 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "982e76f5", + "metadata": { + "execution": { + "iopub.execute_input": "2024-07-23T19:11:03.259327Z", + "iopub.status.busy": "2024-07-23T19:11:03.258941Z", + "iopub.status.idle": "2024-07-23T19:11:03.291156Z", + "shell.execute_reply": "2024-07-23T19:11:03.290423Z" + }, + "papermill": { + "duration": 0.047555, + "end_time": "2024-07-23T19:11:03.293234", + "exception": false, + "start_time": "2024-07-23T19:11:03.245679", + "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-23T19:11:03.318930Z", + "iopub.status.busy": "2024-07-23T19:11:03.318613Z", + "iopub.status.idle": "2024-07-23T19:11:03.325459Z", + "shell.execute_reply": "2024-07-23T19:11:03.324606Z" + }, + "papermill": { + "duration": 0.02201, + "end_time": "2024-07-23T19:11:03.327448", + "exception": false, + "start_time": "2024-07-23T19:11:03.305438", + "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-23T19:11:03.351473Z", + "iopub.status.busy": "2024-07-23T19:11:03.351163Z", + "iopub.status.idle": "2024-07-23T19:11:03.355502Z", + "shell.execute_reply": "2024-07-23T19:11:03.354746Z" + }, + "papermill": { + "duration": 0.018785, + "end_time": "2024-07-23T19:11:03.357484", + "exception": false, + "start_time": "2024-07-23T19:11:03.338699", + "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-23T19:11:03.381676Z", + "iopub.status.busy": "2024-07-23T19:11:03.381360Z", + "iopub.status.idle": "2024-07-23T19:11:03.385713Z", + "shell.execute_reply": "2024-07-23T19:11:03.384812Z" + }, + "executionInfo": { + "elapsed": 678, + "status": "ok", + "timestamp": 1696841022168, + "user": { + "displayName": "Rizqi Nur", + "userId": "09644007964068789560" + }, + "user_tz": -420 + }, + "id": "ns5hFcVL2yvs", + "papermill": { + "duration": 0.018806, + "end_time": "2024-07-23T19:11:03.387705", + "exception": false, + "start_time": "2024-07-23T19:11:03.368899", + "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-23T19:11:03.412219Z", + "iopub.status.busy": "2024-07-23T19:11:03.411528Z", + "iopub.status.idle": "2024-07-23T19:11:03.417686Z", + "shell.execute_reply": "2024-07-23T19:11:03.416804Z" + }, + "papermill": { + "duration": 0.020651, + "end_time": "2024-07-23T19:11:03.419665", + "exception": false, + "start_time": "2024-07-23T19:11:03.399014", + "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": "086977c5", + "metadata": { + "execution": { + "iopub.execute_input": "2024-07-23T19:11:03.445495Z", + "iopub.status.busy": "2024-07-23T19:11:03.445176Z", + "iopub.status.idle": "2024-07-23T19:11:03.450364Z", + "shell.execute_reply": "2024-07-23T19:11:03.449469Z" + }, + "papermill": { + "duration": 0.020632, + "end_time": "2024-07-23T19:11:03.452336", + "exception": false, + "start_time": "2024-07-23T19:11:03.431704", + "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 = 2\n", + "debug = False\n", + "folder = \"eval\"\n", + "path_prefix = \"../../../../\"\n", + "path = \"eval/iris/lct_gan/2\"\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.011588, + "end_time": "2024-07-23T19:11:03.475749", + "exception": false, + "start_time": "2024-07-23T19:11:03.464161", + "status": "completed" + }, + "tags": [] + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "5f45b1d0", + "metadata": { + "execution": { + "iopub.execute_input": "2024-07-23T19:11:03.501101Z", + "iopub.status.busy": "2024-07-23T19:11:03.500354Z", + "iopub.status.idle": "2024-07-23T19:11:03.510132Z", + "shell.execute_reply": "2024-07-23T19:11:03.509217Z" + }, + "executionInfo": { + "elapsed": 7, + "status": "ok", + "timestamp": 1696841022169, + "user": { + "displayName": "Rizqi Nur", + "userId": "09644007964068789560" + }, + "user_tz": -420 + }, + "id": "UdvXYv3c3LXy", + "papermill": { + "duration": 0.024673, + "end_time": "2024-07-23T19:11:03.511990", + "exception": false, + "start_time": "2024-07-23T19:11:03.487317", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "/kaggle/working\n", + "/kaggle/working/eval/iris/lct_gan/2\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-23T19:11:03.535790Z", + "iopub.status.busy": "2024-07-23T19:11:03.535484Z", + "iopub.status.idle": "2024-07-23T19:11:05.578729Z", + "shell.execute_reply": "2024-07-23T19:11:05.577811Z" + }, + "papermill": { + "duration": 2.057565, + "end_time": "2024-07-23T19:11:05.580977", + "exception": false, + "start_time": "2024-07-23T19:11:03.523412", + "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-23T19:11:05.610304Z", + "iopub.status.busy": "2024-07-23T19:11:05.609755Z", + "iopub.status.idle": "2024-07-23T19:11:05.620950Z", + "shell.execute_reply": "2024-07-23T19:11:05.620150Z" + }, + "papermill": { + "duration": 0.028379, + "end_time": "2024-07-23T19:11:05.623036", + "exception": false, + "start_time": "2024-07-23T19:11:05.594657", + "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-23T19:11:05.648562Z", + "iopub.status.busy": "2024-07-23T19:11:05.647686Z", + "iopub.status.idle": "2024-07-23T19:11:05.655487Z", + "shell.execute_reply": "2024-07-23T19:11:05.654552Z" + }, + "executionInfo": { + "elapsed": 6, + "status": "ok", + "timestamp": 1696841022169, + "user": { + "displayName": "Rizqi Nur", + "userId": "09644007964068789560" + }, + "user_tz": -420 + }, + "id": "Vrl2QkoV3o_8", + "papermill": { + "duration": 0.022583, + "end_time": "2024-07-23T19:11:05.657430", + "exception": false, + "start_time": "2024-07-23T19:11:05.634847", + "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-23T19:11:05.681856Z", + "iopub.status.busy": "2024-07-23T19:11:05.681034Z", + "iopub.status.idle": "2024-07-23T19:11:05.780089Z", + "shell.execute_reply": "2024-07-23T19:11:05.778972Z" + }, + "executionInfo": { + "elapsed": 6, + "status": "ok", + "timestamp": 1696841022169, + "user": { + "displayName": "Rizqi Nur", + "userId": "09644007964068789560" + }, + "user_tz": -420 + }, + "id": "TilUuFk9vqMb", + "papermill": { + "duration": 0.113744, + "end_time": "2024-07-23T19:11:05.782589", + "exception": false, + "start_time": "2024-07-23T19:11:05.668845", + "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-23T19:11:05.814023Z", + "iopub.status.busy": "2024-07-23T19:11:05.813216Z", + "iopub.status.idle": "2024-07-23T19:11:10.424912Z", + "shell.execute_reply": "2024-07-23T19:11:10.423806Z" + }, + "executionInfo": { + "elapsed": 3113, + "status": "ok", + "timestamp": 1696841025277, + "user": { + "displayName": "Rizqi Nur", + "userId": "09644007964068789560" + }, + "user_tz": -420 + }, + "id": "7Abt8nStvr9Z", + "papermill": { + "duration": 4.632898, + "end_time": "2024-07-23T19:11:10.428043", + "exception": false, + "start_time": "2024-07-23T19:11:05.795145", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "2024-07-23 19:11:07.616440: 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 19:11:07.616496: 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 19:11:07.618127: 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-23T19:11:10.459282Z", + "iopub.status.busy": "2024-07-23T19:11:10.458408Z", + "iopub.status.idle": "2024-07-23T19:11:10.465891Z", + "shell.execute_reply": "2024-07-23T19:11:10.465024Z" + }, + "papermill": { + "duration": 0.023177, + "end_time": "2024-07-23T19:11:10.468083", + "exception": false, + "start_time": "2024-07-23T19:11:10.444906", + "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-23T19:11:10.496434Z", + "iopub.status.busy": "2024-07-23T19:11:10.495736Z", + "iopub.status.idle": "2024-07-23T19:11:13.188752Z", + "shell.execute_reply": "2024-07-23T19:11:13.187956Z" + }, + "executionInfo": { + "elapsed": 20137, + "status": "ok", + "timestamp": 1696841045408, + "user": { + "displayName": "Rizqi Nur", + "userId": "09644007964068789560" + }, + "user_tz": -420 + }, + "id": "tbaguWxAvtPi", + "papermill": { + "duration": 2.71052, + "end_time": "2024-07-23T19:11:13.191130", + "exception": false, + "start_time": "2024-07-23T19:11:10.480610", + "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-23T19:11:13.218011Z", + "iopub.status.busy": "2024-07-23T19:11:13.217655Z", + "iopub.status.idle": "2024-07-23T19:11:13.223662Z", + "shell.execute_reply": "2024-07-23T19:11:13.222833Z" + }, + "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.021665, + "end_time": "2024-07-23T19:11:13.225604", + "exception": false, + "start_time": "2024-07-23T19:11:13.203939", + "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-23T19:11:13.251301Z", + "iopub.status.busy": "2024-07-23T19:11:13.250740Z", + "iopub.status.idle": "2024-07-23T19:11:13.255998Z", + "shell.execute_reply": "2024-07-23T19:11:13.255088Z" + }, + "papermill": { + "duration": 0.02053, + "end_time": "2024-07-23T19:11:13.257976", + "exception": false, + "start_time": "2024-07-23T19:11:13.237446", + "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-23T19:11:13.284627Z", + "iopub.status.busy": "2024-07-23T19:11:13.283709Z", + "iopub.status.idle": "2024-07-23T19:11:13.345303Z", + "shell.execute_reply": "2024-07-23T19:11:13.344309Z" + }, + "papermill": { + "duration": 0.077462, + "end_time": "2024-07-23T19:11:13.347320", + "exception": false, + "start_time": "2024-07-23T19:11:13.269858", + "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", + "../../../../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-23T19:11:13.375947Z", + "iopub.status.busy": "2024-07-23T19:11:13.375044Z", + "iopub.status.idle": "2024-07-23T19:11:13.949271Z", + "shell.execute_reply": "2024-07-23T19:11:13.948254Z" + }, + "executionInfo": { + "elapsed": 588, + "status": "ok", + "timestamp": 1696841049215, + "user": { + "displayName": "Rizqi Nur", + "userId": "09644007964068789560" + }, + "user_tz": -420 + }, + "id": "NgahtU1q9uLO", + "papermill": { + "duration": 0.590563, + "end_time": "2024-07-23T19:11:13.951438", + "exception": false, + "start_time": "2024-07-23T19:11:13.360875", + "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-23T19:11:13.980412Z", + "iopub.status.busy": "2024-07-23T19:11:13.979641Z", + "iopub.status.idle": "2024-07-23T19:11:14.127490Z", + "shell.execute_reply": "2024-07-23T19:11:14.126512Z" + }, + "papermill": { + "duration": 0.165387, + "end_time": "2024-07-23T19:11:14.130227", + "exception": false, + "start_time": "2024-07-23T19:11:13.964840", + "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", + "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", + "split df ratio is 0\n", + "../../../../ml-utility-loss/synthetics/iris [5, 0]\n", + "[805, 200]\n", + "[805, 200]\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" + ] + } + ], + "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-23T19:11:14.160952Z", + "iopub.status.busy": "2024-07-23T19:11:14.159968Z", + "iopub.status.idle": "2024-07-23T19:11:14.473085Z", + "shell.execute_reply": "2024-07-23T19:11:14.472147Z" + }, + "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.331107, + "end_time": "2024-07-23T19:11:14.475155", + "exception": false, + "start_time": "2024-07-23T19:11:14.144048", + "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-23T19:11:14.503368Z", + "iopub.status.busy": "2024-07-23T19:11:14.503056Z", + "iopub.status.idle": "2024-07-23T19:11:14.507380Z", + "shell.execute_reply": "2024-07-23T19:11:14.506436Z" + }, + "papermill": { + "duration": 0.020748, + "end_time": "2024-07-23T19:11:14.509418", + "exception": false, + "start_time": "2024-07-23T19:11:14.488670", + "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-23T19:11:14.535148Z", + "iopub.status.busy": "2024-07-23T19:11:14.534865Z", + "iopub.status.idle": "2024-07-23T19:11:14.541631Z", + "shell.execute_reply": "2024-07-23T19:11:14.540702Z" + }, + "papermill": { + "duration": 0.022056, + "end_time": "2024-07-23T19:11:14.543607", + "exception": false, + "start_time": "2024-07-23T19:11:14.521551", + "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-23T19:11:14.569849Z", + "iopub.status.busy": "2024-07-23T19:11:14.569517Z", + "iopub.status.idle": "2024-07-23T19:11:14.624690Z", + "shell.execute_reply": "2024-07-23T19:11:14.623696Z" + }, + "papermill": { + "duration": 0.071037, + "end_time": "2024-07-23T19:11:14.626952", + "exception": false, + "start_time": "2024-07-23T19:11:14.555915", + "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-23T19:11:14.656857Z", + "iopub.status.busy": "2024-07-23T19:11:14.656469Z", + "iopub.status.idle": "2024-07-23T20:14:21.645458Z", + "shell.execute_reply": "2024-07-23T20:14:21.644492Z" + }, + "papermill": { + "duration": 3787.021449, + "end_time": "2024-07-23T20:14:21.662564", + "exception": false, + "start_time": "2024-07-23T19:11:14.641115", + "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.0588385643042705, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 0.0035340115292315536, 'avg_role_model_g_mag_loss': 0.007846554960355578, '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.10864791391830984, 'n_size': 805, 'n_batch': 202, 'duration': 184.9722797870636, 'duration_batch': 0.915704355381503, 'duration_size': 0.22977922954914734, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.01185211265925318, 'avg_role_model_std_loss': 0.5115955547057092, 'avg_role_model_mean_pred_loss': 5.487189247464386e-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.01185211265925318, 'n_size': 200, 'n_batch': 50, 'duration': 43.90820264816284, 'duration_batch': 0.8781640529632568, 'duration_size': 0.2195410132408142, 'avg_pred_std': 0.21349630877375603}\n", + "Epoch 1\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.013525641694526124, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 0.0001851922761716902, 'avg_role_model_g_mag_loss': 0.0008967274614835377, '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.016876071423685513, 'n_size': 805, 'n_batch': 202, 'duration': 185.04092144966125, 'duration_batch': 0.9160441655923824, 'duration_size': 0.22986449869523137, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.00889002215117216, 'avg_role_model_std_loss': 0.17002137598465197, 'avg_role_model_mean_pred_loss': 5.1605374780749334e-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.00889002215117216, 'n_size': 200, 'n_batch': 50, 'duration': 43.29618287086487, 'duration_batch': 0.8659236574172974, 'duration_size': 0.21648091435432434, 'avg_pred_std': 0.22997648328542708}\n", + "Epoch 2\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.011158808082290087, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 0.00016307867650660753, 'avg_role_model_g_mag_loss': 0.00021854582017067796, '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.016297798622139262, 'n_size': 805, 'n_batch': 202, 'duration': 181.47828316688538, 'duration_batch': 0.8984073424103236, 'duration_size': 0.22543886107687625, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.013782265601912513, 'avg_role_model_std_loss': 0.6887412944367861, 'avg_role_model_mean_pred_loss': 0.00010741502043913442, '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.013782265601912513, 'n_size': 200, 'n_batch': 50, 'duration': 43.05298161506653, 'duration_batch': 0.8610596323013305, 'duration_size': 0.21526490807533263, 'avg_pred_std': 0.1845516459643841}\n", + "Epoch 3\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.009494498669407013, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 0.00011327695964556374, 'avg_role_model_g_mag_loss': 3.8853384878324424e-05, '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.025930153387627615, 'n_size': 805, 'n_batch': 202, 'duration': 180.40218472480774, 'duration_batch': 0.8930801224000383, 'duration_size': 0.22410209282584811, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.008683254429488443, 'avg_role_model_std_loss': 0.12058158195497072, 'avg_role_model_mean_pred_loss': 7.591310663986217e-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.008683254429488443, 'n_size': 200, 'n_batch': 50, 'duration': 41.45064306259155, 'duration_batch': 0.829012861251831, 'duration_size': 0.20725321531295776, 'avg_pred_std': 0.24360368996858597}\n", + "Epoch 4\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.00895738215764163, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 0.00012070322721439297, 'avg_role_model_g_mag_loss': 0.0008873690735340489, '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.011782803926587985, 'n_size': 805, 'n_batch': 202, 'duration': 186.75754237174988, 'duration_batch': 0.9245422889690588, 'duration_size': 0.23199694704565202, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.008422925432678313, 'avg_role_model_std_loss': 0.16955194229522022, 'avg_role_model_mean_pred_loss': 9.24169475914427e-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.008422925432678313, 'n_size': 200, 'n_batch': 50, 'duration': 44.59279680252075, 'duration_batch': 0.891855936050415, 'duration_size': 0.22296398401260376, 'avg_pred_std': 0.22383674293756484}\n", + "Epoch 5\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.008773305997113633, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 9.025927803922834e-05, 'avg_role_model_g_mag_loss': 0.00021677699449084562, '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.01653330000001729, 'n_size': 805, 'n_batch': 202, 'duration': 187.85164618492126, 'duration_batch': 0.9299586444798082, 'duration_size': 0.2333560822172935, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.010381076293997466, 'avg_role_model_std_loss': 0.07270412575659066, 'avg_role_model_mean_pred_loss': 0.00011829460435450301, '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.010381076293997466, 'n_size': 200, 'n_batch': 50, 'duration': 44.62785005569458, 'duration_batch': 0.8925570011138916, 'duration_size': 0.2231392502784729, 'avg_pred_std': 0.25943791270256045}\n", + "Epoch 6\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.008134429911093682, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 0.0001047308317276184, 'avg_role_model_g_mag_loss': 0.0004497102921631951, '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.010973761383420932, 'n_size': 805, 'n_batch': 202, 'duration': 187.53397822380066, 'duration_batch': 0.9283860308108943, 'duration_size': 0.2329614636320505, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.008780630502733401, 'avg_role_model_std_loss': 0.09751635800654185, 'avg_role_model_mean_pred_loss': 8.140120981153131e-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.008780630502733401, 'n_size': 200, 'n_batch': 50, 'duration': 44.63427662849426, 'duration_batch': 0.8926855325698853, 'duration_size': 0.2231713831424713, 'avg_pred_std': 0.2461378952860832}\n", + "Epoch 7\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.007946592294401344, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 7.50005599224854e-05, 'avg_role_model_g_mag_loss': 7.401691483599799e-05, '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.019145590105485923, 'n_size': 805, 'n_batch': 202, 'duration': 187.59880757331848, 'duration_batch': 0.928706968184745, 'duration_size': 0.2330419969854888, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.008641979658277706, 'avg_role_model_std_loss': 0.15240050105898262, 'avg_role_model_mean_pred_loss': 6.394636014881106e-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.008641979658277706, 'n_size': 200, 'n_batch': 50, 'duration': 44.55962562561035, 'duration_batch': 0.891192512512207, 'duration_size': 0.22279812812805175, 'avg_pred_std': 0.2287725442647934}\n", + "Epoch 8\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.007726145980869541, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 0.00010351201656821445, 'avg_role_model_g_mag_loss': 0.00011918131711817583, '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.01198191163191566, 'n_size': 805, 'n_batch': 202, 'duration': 187.8279447555542, 'duration_batch': 0.9298413106710604, 'duration_size': 0.23332663944789342, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.008236164045520127, 'avg_role_model_std_loss': 0.15178787195240148, 'avg_role_model_mean_pred_loss': 7.158585092930991e-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.008236164045520127, 'n_size': 200, 'n_batch': 50, 'duration': 44.5915470123291, 'duration_batch': 0.891830940246582, 'duration_size': 0.2229577350616455, 'avg_pred_std': 0.2310739429295063}\n", + "Epoch 9\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.007728559803796111, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 7.956641289235398e-05, 'avg_role_model_g_mag_loss': 9.992388626618415e-05, '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.009808973940262884, 'n_size': 805, 'n_batch': 202, 'duration': 187.30856084823608, 'duration_batch': 0.9272701032090895, 'duration_size': 0.23268144204749824, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.00718831441947259, 'avg_role_model_std_loss': 0.08033405828566174, 'avg_role_model_mean_pred_loss': 8.093184127858422e-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.00718831441947259, 'n_size': 200, 'n_batch': 50, 'duration': 44.36774706840515, 'duration_batch': 0.887354941368103, 'duration_size': 0.22183873534202575, 'avg_pred_std': 0.2536195170879364}\n", + "Epoch 10\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.007445393237053932, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 8.191102583070633e-05, 'avg_role_model_g_mag_loss': 8.700561958440342e-05, '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.008272346986243675, 'n_size': 805, 'n_batch': 202, 'duration': 186.25378012657166, 'duration_batch': 0.9220484164681765, 'duration_size': 0.23137115543673498, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.00716319692786783, 'avg_role_model_std_loss': 0.10768753484080662, 'avg_role_model_mean_pred_loss': 7.947796575765054e-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.00716319692786783, 'n_size': 200, 'n_batch': 50, 'duration': 44.121896266937256, 'duration_batch': 0.8824379253387451, 'duration_size': 0.22060948133468627, 'avg_pred_std': 0.24102369993925093}\n", + "Epoch 11\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.007209078687089871, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 8.030012947632292e-05, 'avg_role_model_g_mag_loss': 5.794451456308735e-05, '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.015489625562595562, 'n_size': 805, 'n_batch': 202, 'duration': 180.35225009918213, 'duration_batch': 0.8928329212830799, 'duration_size': 0.22404006223500886, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.007617672348860651, 'avg_role_model_std_loss': 0.10220096257182376, 'avg_role_model_mean_pred_loss': 8.304592331220384e-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.007617672348860651, 'n_size': 200, 'n_batch': 50, 'duration': 39.14431571960449, 'duration_batch': 0.7828863143920899, 'duration_size': 0.19572157859802247, 'avg_pred_std': 0.2465660245716572}\n", + "Epoch 12\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.0070073438854960386, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 6.868368280172822e-05, 'avg_role_model_g_mag_loss': 6.321743130683899e-05, '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.011095316571607226, 'n_size': 805, 'n_batch': 202, 'duration': 174.2490108013153, 'duration_batch': 0.8626188653530461, 'duration_size': 0.2164583985109507, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.007121510573779233, 'avg_role_model_std_loss': 0.08740693002345637, 'avg_role_model_mean_pred_loss': 8.431564465894326e-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.007121510573779233, 'n_size': 200, 'n_batch': 50, 'duration': 40.85461688041687, 'duration_batch': 0.8170923376083374, 'duration_size': 0.20427308440208436, 'avg_pred_std': 0.24518433332443237}\n", + "Epoch 13\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.006792847082713548, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 5.360118596504969e-05, 'avg_role_model_g_mag_loss': 3.796601610154099e-05, '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.025121319170740994, 'n_size': 805, 'n_batch': 202, 'duration': 162.7479863166809, 'duration_batch': 0.8056831005776283, 'duration_size': 0.20217141157351665, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.007495570303872228, 'avg_role_model_std_loss': 0.07556174058856868, 'avg_role_model_mean_pred_loss': 0.0001196359121780688, '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.007495570303872228, 'n_size': 200, 'n_batch': 50, 'duration': 37.98877215385437, 'duration_batch': 0.7597754430770874, 'duration_size': 0.18994386076927186, 'avg_pred_std': 0.2575697284936905}\n", + "Epoch 14\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.006771446695849183, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 9.122727294492001e-05, 'avg_role_model_g_mag_loss': 9.951636438136516e-05, '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.010192462530273436, 'n_size': 805, 'n_batch': 202, 'duration': 167.1030843257904, 'duration_batch': 0.8272429917118337, 'duration_size': 0.207581471212162, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.007947935397969558, 'avg_role_model_std_loss': 0.09493018283307605, 'avg_role_model_mean_pred_loss': 0.00010259630384400253, '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.007947935397969558, 'n_size': 200, 'n_batch': 50, 'duration': 37.87108898162842, 'duration_batch': 0.7574217796325684, 'duration_size': 0.1893554449081421, 'avg_pred_std': 0.24702813759446143}\n", + "Epoch 15\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.00631035591366481, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 9.427605106801756e-05, 'avg_role_model_g_mag_loss': 3.2145551930800635e-05, '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.00894023059040846, 'n_size': 805, 'n_batch': 202, 'duration': 161.89993405342102, 'duration_batch': 0.8014848220466387, 'duration_size': 0.20111793050114413, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.00831742559443228, 'avg_role_model_std_loss': 0.11399434249553908, 'avg_role_model_mean_pred_loss': 0.00010447321410083531, '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.00831742559443228, 'n_size': 200, 'n_batch': 50, 'duration': 40.20472311973572, 'duration_batch': 0.8040944623947144, 'duration_size': 0.2010236155986786, 'avg_pred_std': 0.24419028639793397}\n", + "Epoch 16\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.00649882845789547, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 6.515263041673494e-05, 'avg_role_model_g_mag_loss': 2.374340612325609e-05, '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.007495522461376031, 'n_size': 805, 'n_batch': 202, 'duration': 161.08080053329468, 'duration_batch': 0.7974297056103697, 'duration_size': 0.20010037333328531, 'avg_pred_std': nan}\n", + "Time out: 3748.6539936065674/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.007505838135257363, 'avg_g_mag_loss': 0.0013360811772196968, 'avg_g_cos_loss': 0.023976519402349367, 'pred_duration': 0.4895594120025635, 'grad_duration': 0.2709653377532959, 'total_duration': 0.7605247497558594, 'pred_std': 0.2200268805027008, 'std_loss': 0.01151566207408905, 'mean_pred_loss': 4.539413203019649e-05, 'pred_rmse': 0.08663623780012131, 'pred_mae': 0.06498624384403229, 'pred_mape': 0.12493106722831726, 'grad_rmse': 0.06421251595020294, 'grad_mae': 0.04784794896841049, 'grad_mape': 0.7479836344718933}, '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.007505838135257363, 'avg_g_mag_loss': 0.0013360811772196968, 'avg_g_cos_loss': 0.023976519402349367, 'avg_pred_duration': 0.4895594120025635, 'avg_grad_duration': 0.2709653377532959, 'avg_total_duration': 0.7605247497558594, 'avg_pred_std': 0.2200268805027008, 'avg_std_loss': 0.01151566207408905, 'avg_mean_pred_loss': 4.539413203019649e-05}, 'min_metrics': {'avg_loss': 0.007505838135257363, 'avg_g_mag_loss': 0.0013360811772196968, 'avg_g_cos_loss': 0.023976519402349367, 'pred_duration': 0.4895594120025635, 'grad_duration': 0.2709653377532959, 'total_duration': 0.7605247497558594, 'pred_std': 0.2200268805027008, 'std_loss': 0.01151566207408905, 'mean_pred_loss': 4.539413203019649e-05, 'pred_rmse': 0.08663623780012131, 'pred_mae': 0.06498624384403229, 'pred_mape': 0.12493106722831726, 'grad_rmse': 0.06421251595020294, 'grad_mae': 0.04784794896841049, 'grad_mape': 0.7479836344718933}, 'model_metrics': {'lct_gan': {'avg_loss': 0.007505838135257363, 'avg_g_mag_loss': 0.0013360811772196968, 'avg_g_cos_loss': 0.023976519402349367, 'pred_duration': 0.4895594120025635, 'grad_duration': 0.2709653377532959, 'total_duration': 0.7605247497558594, 'pred_std': 0.2200268805027008, 'std_loss': 0.01151566207408905, 'mean_pred_loss': 4.539413203019649e-05, 'pred_rmse': 0.08663623780012131, 'pred_mae': 0.06498624384403229, 'pred_mape': 0.12493106722831726, 'grad_rmse': 0.06421251595020294, 'grad_mae': 0.04784794896841049, 'grad_mape': 0.7479836344718933}}}\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-23T20:14:21.697573Z", + "iopub.status.busy": "2024-07-23T20:14:21.697270Z", + "iopub.status.idle": "2024-07-23T20:14:21.701622Z", + "shell.execute_reply": "2024-07-23T20:14:21.700814Z" + }, + "papermill": { + "duration": 0.024007, + "end_time": "2024-07-23T20:14:21.703539", + "exception": false, + "start_time": "2024-07-23T20:14:21.679532", + "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-23T20:14:21.736132Z", + "iopub.status.busy": "2024-07-23T20:14:21.735463Z", + "iopub.status.idle": "2024-07-23T20:14:21.754007Z", + "shell.execute_reply": "2024-07-23T20:14:21.753161Z" + }, + "papermill": { + "duration": 0.036888, + "end_time": "2024-07-23T20:14:21.755944", + "exception": false, + "start_time": "2024-07-23T20:14:21.719056", + "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-23T20:14:21.789025Z", + "iopub.status.busy": "2024-07-23T20:14:21.788273Z", + "iopub.status.idle": "2024-07-23T20:14:22.038985Z", + "shell.execute_reply": "2024-07-23T20:14:22.038101Z" + }, + "papermill": { + "duration": 0.269501, + "end_time": "2024-07-23T20:14:22.041005", + "exception": false, + "start_time": "2024-07-23T20:14:21.771504", + "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-23T20:14:22.077549Z", + "iopub.status.busy": "2024-07-23T20:14:22.077246Z", + "iopub.status.idle": "2024-07-23T20:15:00.414468Z", + "shell.execute_reply": "2024-07-23T20:15:00.413653Z" + }, + "papermill": { + "duration": 38.358368, + "end_time": "2024-07-23T20:15:00.416753", + "exception": false, + "start_time": "2024-07-23T20:14:22.058385", + "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-23T20:15:00.455144Z", + "iopub.status.busy": "2024-07-23T20:15:00.454835Z", + "iopub.status.idle": "2024-07-23T20:15:00.474642Z", + "shell.execute_reply": "2024-07-23T20:15:00.473805Z" + }, + "papermill": { + "duration": 0.041036, + "end_time": "2024-07-23T20:15:00.476715", + "exception": false, + "start_time": "2024-07-23T20:15:00.435679", + "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.0148010.0005740.0075060.2731440.0478480.7479840.0642130.0000450.489630.0649860.1249310.0866360.2200270.0115160.762774
\n", + "
" + ], + "text/plain": [ + " avg_g_cos_loss avg_g_mag_loss avg_loss grad_duration grad_mae \\\n", + "lct_gan 0.014801 0.000574 0.007506 0.273144 0.047848 \n", + "\n", + " grad_mape grad_rmse mean_pred_loss pred_duration pred_mae \\\n", + "lct_gan 0.747984 0.064213 0.000045 0.48963 0.064986 \n", + "\n", + " pred_mape pred_rmse pred_std std_loss total_duration \n", + "lct_gan 0.124931 0.086636 0.220027 0.011516 0.762774 " + ] + }, + "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-23T20:15:00.511743Z", + "iopub.status.busy": "2024-07-23T20:15:00.511426Z", + "iopub.status.idle": "2024-07-23T20:15:00.764236Z", + "shell.execute_reply": "2024-07-23T20:15:00.763264Z" + }, + "papermill": { + "duration": 0.273043, + "end_time": "2024-07-23T20:15:00.766511", + "exception": false, + "start_time": "2024-07-23T20:15:00.493468", + "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-23T20:15:00.802677Z", + "iopub.status.busy": "2024-07-23T20:15:00.802373Z", + "iopub.status.idle": "2024-07-23T20:15:38.801992Z", + "shell.execute_reply": "2024-07-23T20:15:38.801019Z" + }, + "papermill": { + "duration": 38.020269, + "end_time": "2024-07-23T20:15:38.804337", + "exception": false, + "start_time": "2024-07-23T20:15:00.784068", + "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-23T20:15:38.841863Z", + "iopub.status.busy": "2024-07-23T20:15:38.841523Z", + "iopub.status.idle": "2024-07-23T20:15:38.854722Z", + "shell.execute_reply": "2024-07-23T20:15:38.854044Z" + }, + "papermill": { + "duration": 0.034522, + "end_time": "2024-07-23T20:15:38.856670", + "exception": false, + "start_time": "2024-07-23T20:15:38.822148", + "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-23T20:15:38.891040Z", + "iopub.status.busy": "2024-07-23T20:15:38.890730Z", + "iopub.status.idle": "2024-07-23T20:15:38.895615Z", + "shell.execute_reply": "2024-07-23T20:15:38.894752Z" + }, + "papermill": { + "duration": 0.0245, + "end_time": "2024-07-23T20:15:38.897601", + "exception": false, + "start_time": "2024-07-23T20:15:38.873101", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'lct_gan': 0.7391470748186112}\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-23T20:15:38.931611Z", + "iopub.status.busy": "2024-07-23T20:15:38.931365Z", + "iopub.status.idle": "2024-07-23T20:15:39.322205Z", + "shell.execute_reply": "2024-07-23T20:15:39.321237Z" + }, + "papermill": { + "duration": 0.410464, + "end_time": "2024-07-23T20:15:39.324482", + "exception": false, + "start_time": "2024-07-23T20:15:38.914018", + "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-23T20:15:39.362700Z", + "iopub.status.busy": "2024-07-23T20:15:39.361919Z", + "iopub.status.idle": "2024-07-23T20:15:39.683960Z", + "shell.execute_reply": "2024-07-23T20:15:39.683023Z" + }, + "papermill": { + "duration": 0.343286, + "end_time": "2024-07-23T20:15:39.686032", + "exception": false, + "start_time": "2024-07-23T20:15:39.342746", + "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-23T20:15:39.724519Z", + "iopub.status.busy": "2024-07-23T20:15:39.723708Z", + "iopub.status.idle": "2024-07-23T20:15:39.959121Z", + "shell.execute_reply": "2024-07-23T20:15:39.958248Z" + }, + "papermill": { + "duration": 0.25691, + "end_time": "2024-07-23T20:15:39.961271", + "exception": false, + "start_time": "2024-07-23T20:15:39.704361", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "image/png": "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8fHxcDgcspw2WW4oeRHRnDhxAoMGDUJFRQVuv/12jBo1Ch999BEOHjyINWvWAOh6zUL/NNaxsbF47733cODAAXz88cdBr5s2bRp+/vlnPP3006iursavf/3rQJPTbrdj3LhxOHLkSNC/kydPYtasWX387snVojt3iSg+//xzHD16FE8//TQOHjwIQRCwcuXKwKR5/hlk/TqavjjUaayTkpKQn5+P/Px83Hzzzfjd736Hl19+GTfccAM2bdqE5ORkxMbGdhinnKZNlhuqeZE+53Q6UVNTg6qqKhw6dAgvvPACZsyYgdtvvx1z5sxBVlYW3G53YDrqd955B2vXrg06RmZmJux2O4qLi1FfX4/W1taQprEuLCzEP/7xD5w+fRrHjx/HP//5TwwfPhwA8MADDyAxMREzZszAV199FZh6+7e//S3OnTsX+L3/+te/UFpaivr6erjd7v75o5Huid3pRuQtPz8/MMxAqVSypKQklpOTw9avX8+8Xm9gv1WrVjGTycSioqJYbm4ue/vtt9utU/nYY4+xhISEoKES77//PsvMzGQajYZlZ2ezbdu2tVvLcPjw4SwqKorFx8ezGTNmsDNnzgSOaTab2Zw5c1hiYiLTaDRs8ODBbP78+cxqtTLGGKutrWVTpkxhOp2OhkqEGZoShxAiSdRsJIRIEiUvQogkUfIihEgSJS9CiCRR8iKESBIlL0KIJFHyIoRIEiUvQogkUfIihEgSJS9CiCRR8iKESBIlL0KIJP1/mIr7a6NdawIAAAAASUVORK5CYII=", + "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-23T20:15:40.000091Z", + "iopub.status.busy": "2024-07-23T20:15:39.999795Z", + "iopub.status.idle": "2024-07-23T20:15:40.288187Z", + "shell.execute_reply": "2024-07-23T20:15:40.287263Z" + }, + "papermill": { + "duration": 0.310103, + "end_time": "2024-07-23T20:15:40.290266", + "exception": false, + "start_time": "2024-07-23T20:15:39.980163", + "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.01927, + "end_time": "2024-07-23T20:15:40.329178", + "exception": false, + "start_time": "2024-07-23T20:15:40.309908", + "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": 3880.936255, + "end_time": "2024-07-23T20:15:42.733257", + "environment_variables": {}, + "exception": null, + "input_path": "eval/iris/lct_gan/2/mlu-eval.ipynb", + "output_path": "eval/iris/lct_gan/2/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/2", + "path_prefix": "../../../../", + "random_seed": 2, + "single_model": "lct_gan" + }, + "start_time": "2024-07-23T19:11:01.797002", + "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/2/model.pt b/iris/lct_gan/2/model.pt new file mode 100644 index 0000000000000000000000000000000000000000..37a3950e59e3e9f08798094a752a46e70e9623a5 --- /dev/null +++ b/iris/lct_gan/2/model.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a9f531ce767e4ca0bb3525568639d0d666cf87063318c0daf420c889363cb1e9 +size 177865 diff --git a/iris/lct_gan/2/params.json b/iris/lct_gan/2/params.json new file mode 100644 index 0000000000000000000000000000000000000000..2a20e47c9a36f2aa645340f00fd696503a2274ef --- /dev/null +++ b/iris/lct_gan/2/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/2/pred/error.csv b/iris/lct_gan/2/pred/error.csv new file mode 100644 index 0000000000000000000000000000000000000000..a2091739b0fce91b3aadb409650f894a49f6672b --- /dev/null +++ b/iris/lct_gan/2/pred/error.csv @@ -0,0 +1,201 @@ +,lct_gan +0,0.016842023 +1,0.1663022 +2,-0.0016547441 +3,-0.05805385 +4,0.072766915 +5,0.22868893 +6,-0.10307318 +7,-0.12582606 +8,0.014358878 +9,-0.11596751 +10,-0.028820276 +11,-0.017882824 +12,0.015237883 +13,-0.09350699 +14,0.0964821 +15,4.3034554e-05 +16,0.017972842 +17,0.055287957 +18,0.03151542 +19,-0.06408787 +20,0.01733683 +21,0.32772112 +22,-0.012417138 +23,-0.03656274 +24,0.06415433 +25,0.057694674 +26,-0.085528255 +27,-0.12102455 +28,0.012298733 +29,0.062030315 +30,0.012422144 +31,-0.030580282 +32,0.018605828 +33,0.16429245 +34,-0.074520886 +35,-0.08779949 +36,0.023431689 +37,0.14517987 +38,0.032837927 +39,-0.094311595 +40,-0.006298065 +41,-0.015711963 +42,-0.041093767 +43,0.11544222 +44,0.07287164 +45,0.022970736 +46,-0.10601795 +47,-0.1019125 +48,0.013150588 +49,0.08489096 +50,-0.05735272 +51,0.070468664 +52,0.017214507 +53,0.11895698 +54,-0.10147321 +55,-0.06729442 +56,0.12111558 +57,0.13698381 +58,-0.05892676 +59,0.062004924 +60,-0.025355697 +61,-0.015679777 +62,-0.045426965 +63,-0.020958245 +64,-0.07012886 +65,0.013525844 +66,-0.0445323 +67,-0.07750094 +68,-0.03209424 +69,-0.037523985 +70,0.0095722675 +71,0.118570745 +72,-0.053106308 +73,-0.08504051 +74,-0.047331393 +75,-0.16640508 +76,-0.03950852 +77,-0.025035739 +78,0.0073331 +79,-0.043304324 +80,-0.087037176 +81,-0.00045776367 +82,-0.054094493 +83,-0.023720741 +84,0.017950296 +85,-0.031636894 +86,-0.033528388 +87,-0.039842784 +88,0.16316776 +89,-0.09545034 +90,-0.016976535 +91,0.0067388415 +92,-0.058853745 +93,-0.083965 +94,-0.08373767 +95,-0.13422501 +96,0.01791653 +97,-0.032426715 +98,-0.0033493042 +99,-0.04577923 +100,-0.07226345 +101,0.018114924 +102,-0.052307487 +103,-0.016660094 +104,0.2596135 +105,0.0068587065 +106,-0.10278094 +107,-0.049568236 +108,0.16065653 +109,0.020765185 +110,0.009441912 +111,0.01153338 +112,-0.06757796 +113,-0.09696883 +114,-0.10235143 +115,-0.13215059 +116,0.23666222 +117,0.022203267 +118,0.01734966 +119,-0.07764077 +120,-0.09633854 +121,-0.005435884 +122,-0.05388409 +123,-0.0100905895 +124,-0.06913948 +125,0.00880897 +126,-0.0024619102 +127,0.0043177605 +128,0.039637268 +129,-0.09198874 +130,-0.050078154 +131,-0.066532075 +132,-0.076833844 +133,-0.07247293 +134,-0.07522613 +135,-0.08180356 +136,-0.034686178 +137,-0.01870662 +138,-0.01458621 +139,0.19361669 +140,-0.065335274 +141,0.098244786 +142,0.026780367 +143,-0.055766642 +144,-0.04331696 +145,-0.021334171 +146,-0.07302463 +147,0.0811224 +148,0.32018912 +149,-0.0256508 +150,-0.04973018 +151,-0.053388953 +152,-0.1091626 +153,-0.12899834 +154,-0.07487494 +155,-0.17582065 +156,0.1443789 +157,-0.011941612 +158,0.0012541413 +159,0.027898729 +160,-0.0075170696 +161,0.11796492 +162,-0.045223296 +163,-0.023062646 +164,-0.029138386 +165,-0.014321506 +166,-0.10134369 +167,-0.028576195 +168,0.14197516 +169,0.050609708 +170,-0.05663538 +171,-0.074112475 +172,-0.02067703 +173,-0.07941973 +174,-0.08763528 +175,-0.13829488 +176,0.18831316 +177,-0.015883625 +178,-0.018143654 +179,0.026303113 +180,0.08891165 +181,0.20303786 +182,-0.040488303 +183,-0.018158913 +184,0.019199371 +185,0.021479785 +186,-0.10889077 +187,-0.0018564463 +188,-0.05015552 +189,-0.02700305 +190,-0.05443114 +191,-0.11244434 +192,-0.07447168 +193,-0.11026424 +194,0.01777643 +195,-0.043291986 +196,-0.22274399 +197,-0.043416023 +198,-0.024516761 +199,0.05516666 diff --git a/iris/lct_gan/2/pred/g.csv b/iris/lct_gan/2/pred/g.csv new file mode 100644 index 0000000000000000000000000000000000000000..f493aa81df1627c72386ddc3da621ac01159c98a --- /dev/null +++ b/iris/lct_gan/2/pred/g.csv @@ -0,0 +1,201 @@ +,lct_gan +0,0.016842023 +1,0.1663022 +2,0.0016547441 +3,0.05805385 +4,0.072766915 +5,0.22868893 +6,0.10307318 +7,0.12582606 +8,0.014358878 +9,0.11596751 +10,0.028820276 +11,0.017882824 +12,0.015237883 +13,0.09350699 +14,0.0964821 +15,4.3034554e-05 +16,0.017972842 +17,0.055287957 +18,0.03151542 +19,0.06408787 +20,0.01733683 +21,0.32772112 +22,0.012417138 +23,0.03656274 +24,0.06415433 +25,0.057694674 +26,0.085528255 +27,0.12102455 +28,0.012298733 +29,0.062030315 +30,0.012422144 +31,0.030580282 +32,0.018605828 +33,0.16429245 +34,0.074520886 +35,0.08779949 +36,0.023431689 +37,0.14517987 +38,0.032837927 +39,0.094311595 +40,0.006298065 +41,0.015711963 +42,0.041093767 +43,0.11544222 +44,0.07287164 +45,0.022970736 +46,0.10601795 +47,0.1019125 +48,0.013150588 +49,0.08489096 +50,0.05735272 +51,0.070468664 +52,0.017214507 +53,0.11895698 +54,0.10147321 +55,0.06729442 +56,0.12111558 +57,0.13698381 +58,0.05892676 +59,0.062004924 +60,0.025355697 +61,0.015679777 +62,0.045426965 +63,0.020958245 +64,0.07012886 +65,0.013525844 +66,0.0445323 +67,0.07750094 +68,0.03209424 +69,0.037523985 +70,0.0095722675 +71,0.118570745 +72,0.053106308 +73,0.08504051 +74,0.047331393 +75,0.16640508 +76,0.03950852 +77,0.025035739 +78,0.0073331 +79,0.043304324 +80,0.087037176 +81,0.00045776367 +82,0.054094493 +83,0.023720741 +84,0.017950296 +85,0.031636894 +86,0.033528388 +87,0.039842784 +88,0.16316776 +89,0.09545034 +90,0.016976535 +91,0.0067388415 +92,0.058853745 +93,0.083965 +94,0.08373767 +95,0.13422501 +96,0.01791653 +97,0.032426715 +98,0.0033493042 +99,0.04577923 +100,0.07226345 +101,0.018114924 +102,0.052307487 +103,0.016660094 +104,0.2596135 +105,0.0068587065 +106,0.10278094 +107,0.049568236 +108,0.16065653 +109,0.020765185 +110,0.009441912 +111,0.01153338 +112,0.06757796 +113,0.09696883 +114,0.10235143 +115,0.13215059 +116,0.23666222 +117,0.022203267 +118,0.01734966 +119,0.07764077 +120,0.09633854 +121,0.005435884 +122,0.05388409 +123,0.0100905895 +124,0.06913948 +125,0.00880897 +126,0.0024619102 +127,0.0043177605 +128,0.039637268 +129,0.09198874 +130,0.050078154 +131,0.066532075 +132,0.076833844 +133,0.07247293 +134,0.07522613 +135,0.08180356 +136,0.034686178 +137,0.01870662 +138,0.01458621 +139,0.19361669 +140,0.065335274 +141,0.098244786 +142,0.026780367 +143,0.055766642 +144,0.04331696 +145,0.021334171 +146,0.07302463 +147,0.0811224 +148,0.32018912 +149,0.0256508 +150,0.04973018 +151,0.053388953 +152,0.1091626 +153,0.12899834 +154,0.07487494 +155,0.17582065 +156,0.1443789 +157,0.011941612 +158,0.0012541413 +159,0.027898729 +160,0.0075170696 +161,0.11796492 +162,0.045223296 +163,0.023062646 +164,0.029138386 +165,0.014321506 +166,0.10134369 +167,0.028576195 +168,0.14197516 +169,0.050609708 +170,0.05663538 +171,0.074112475 +172,0.02067703 +173,0.07941973 +174,0.08763528 +175,0.13829488 +176,0.18831316 +177,0.015883625 +178,0.018143654 +179,0.026303113 +180,0.08891165 +181,0.20303786 +182,0.040488303 +183,0.018158913 +184,0.019199371 +185,0.021479785 +186,0.10889077 +187,0.0018564463 +188,0.05015552 +189,0.02700305 +190,0.05443114 +191,0.11244434 +192,0.07447168 +193,0.11026424 +194,0.01777643 +195,0.043291986 +196,0.22274399 +197,0.043416023 +198,0.024516761 +199,0.05516666 diff --git a/iris/lct_gan/2/pred/grad.csv b/iris/lct_gan/2/pred/grad.csv new file mode 100644 index 0000000000000000000000000000000000000000..fae1e5a13a98a11731789d287066974003c8e10f --- /dev/null +++ b/iris/lct_gan/2/pred/grad.csv @@ -0,0 +1,201 @@ +,lct_gan +0,0.0027284326 +1,0.022372471 +2,0.00030045572 +3,0.013494072 +4,0.018512998 +5,0.110276304 +6,0.025338685 +7,0.025402213 +8,0.0016754288 +9,0.022895895 +10,0.008267867 +11,0.005533419 +12,0.0026067372 +13,0.02606556 +14,0.03775056 +15,1.45479535e-05 +16,0.00298536 +17,0.007369161 +18,0.0075695007 +19,0.012671502 +20,0.0027811008 +21,0.085990034 +22,0.0028954642 +23,0.0077625923 +24,0.016463356 +25,0.007950752 +26,0.022382274 +27,0.017839907 +28,0.0011182174 +29,0.0148301525 +30,0.0033310375 +31,0.006923965 +32,0.0032634072 +33,0.047917407 +34,0.029379692 +35,0.029059064 +36,0.0037176472 +37,0.033765327 +38,0.010075013 +39,0.012349515 +40,0.0031223013 +41,0.003273391 +42,0.008439582 +43,0.020763682 +44,0.018852044 +45,0.004554559 +46,0.024988987 +47,0.029956246 +48,0.0019283171 +49,0.019086668 +50,0.015153051 +51,0.016608886 +52,0.0030132933 +53,0.03949537 +54,0.036189187 +55,0.021560945 +56,0.042766504 +57,0.026862582 +58,0.01637884 +59,0.013486621 +60,0.008847034 +61,0.003482159 +62,0.00924151 +63,0.0024834306 +64,0.017860698 +65,0.0024838368 +66,0.011116984 +67,0.019388437 +68,0.0068331137 +69,0.009574343 +70,0.002488875 +71,0.028537363 +72,0.014156533 +73,0.03125091 +74,0.018464556 +75,0.04904755 +76,0.013967436 +77,0.006948803 +78,0.002077237 +79,0.00820023 +80,0.030337045 +81,9.375818e-05 +82,0.013182554 +83,0.005302699 +84,0.0066555813 +85,0.0067383973 +86,0.0067536663 +87,0.008553943 +88,0.042982038 +89,0.026968729 +90,0.0042324304 +91,0.0011717256 +92,0.01796064 +93,0.028087506 +94,0.03294965 +95,0.045343544 +96,0.0052514425 +97,0.007820167 +98,0.0010037594 +99,0.009403743 +100,0.02139387 +101,0.003128483 +102,0.011609623 +103,0.003389501 +104,0.08594668 +105,0.00129293 +106,0.022120029 +107,0.011334936 +108,0.046772808 +109,0.005471102 +110,0.0023374131 +111,0.002798074 +112,0.017916579 +113,0.03428692 +114,0.037716042 +115,0.04933844 +116,0.06507607 +117,0.0043290127 +118,0.005235562 +119,0.025828289 +120,0.027878458 +121,0.0011563322 +122,0.012592583 +123,0.0018980671 +124,0.018557124 +125,0.0017715608 +126,0.0005421705 +127,0.00083539827 +128,0.004728048 +129,0.024970528 +130,0.013118287 +131,0.017262971 +132,0.025983255 +133,0.023621522 +134,0.028865986 +135,0.033984967 +136,0.007829933 +137,0.00405938 +138,0.004529261 +139,0.048690934 +140,0.016322635 +141,0.018943535 +142,0.006667059 +143,0.011449782 +144,0.008428769 +145,0.0035885682 +146,0.018068017 +147,0.01875392 +148,0.027756376 +149,0.0072052856 +150,0.012025018 +151,0.014672565 +152,0.042403303 +153,0.041651588 +154,0.028578607 +155,0.0510389 +156,0.028559322 +157,0.002054309 +158,0.0003531279 +159,0.0070201824 +160,0.0015065 +161,0.023718903 +162,0.009590542 +163,0.0049056946 +164,0.0077439644 +165,0.0029556514 +166,0.020800367 +167,0.0059306845 +168,0.03744865 +169,0.0130372485 +170,0.015737385 +171,0.014226642 +172,0.003333029 +173,0.025168965 +174,0.034150388 +175,0.046280313 +176,0.03332197 +177,0.0029757766 +178,0.0054323366 +179,0.00769132 +180,0.016490044 +181,0.04094843 +182,0.007991966 +183,0.003843456 +184,0.0073187193 +185,0.0036258225 +186,0.024727626 +187,0.0004548601 +188,0.014867014 +189,0.0054972423 +190,0.014083871 +191,0.02299098 +192,0.02014684 +193,0.03201661 +194,0.0060950406 +195,0.012092335 +196,0.07576889 +197,0.006931559 +198,0.0072650975 +199,0.015454892 diff --git a/iris/lct_gan/2/pred/pred.csv b/iris/lct_gan/2/pred/pred.csv new file mode 100644 index 0000000000000000000000000000000000000000..a268456f020fd7de868d319e1fcd607713c83189 --- /dev/null +++ b/iris/lct_gan/2/pred/pred.csv @@ -0,0 +1,201 @@ +,lct_gan +0,0.1957038 +1,0.5171476 +2,0.9007262 +3,0.8749281 +4,0.2516287 +5,0.63821274 +6,0.86350995 +7,0.84007335 +8,0.18102555 +9,0.5427372 +10,0.8690976 +11,0.8284568 +12,0.18190455 +13,0.5343896 +14,0.81503284 +15,0.7857573 +16,0.18463951 +17,0.49901265 +18,0.8975087 +19,0.8383822 +20,0.19619861 +21,0.84085244 +22,0.8906858 +23,0.8658182 +24,0.24301611 +25,0.8871917 +26,0.8827257 +27,0.8434946 +28,0.1789654 +29,0.8679466 +30,0.8782243 +31,0.8501215 +32,0.1852725 +33,0.75939214 +34,0.8050778 +35,0.8121833 +36,0.19009836 +37,0.81184655 +38,0.86460334 +39,0.84301037 +40,0.4103686 +41,0.896669 +42,0.90082544 +43,0.8626902 +44,0.25173342 +45,0.91630405 +46,0.89398205 +47,0.86467063 +48,0.17981726 +49,0.8908073 +50,0.8713272 +51,0.8443192 +52,0.18388118 +53,0.8380046 +54,0.7943654 +55,0.76868445 +56,0.3433378 +57,0.86120075 +58,0.8783952 +59,0.8673921 +60,0.39131096 +61,0.89670116 +62,0.89649224 +63,0.9120237 +64,0.4997636 +65,0.90852624 +66,0.8887175 +67,0.8890822 +68,0.33841857 +69,0.88311094 +70,0.87537444 +71,0.851595 +72,0.5183223 +73,0.8006738 +74,0.7886475 +75,0.75859493 +76,0.40211278 +77,0.852742 +78,0.87332636 +79,0.8655984 +80,0.39444432 +81,0.91192317 +82,0.8878247 +83,0.91819847 +84,0.46410415 +85,0.90102303 +86,0.9006877 +87,0.89281714 +88,0.38538998 +89,0.8630356 +90,0.88094133 +91,0.8789611 +92,0.51257485 +93,0.7956337 +94,0.7884294 +95,0.7968861 +96,0.39886892 +97,0.876476 +98,0.86079013 +99,0.8936147 +100,0.40921804 +101,0.93049586 +102,0.8896117 +103,0.9252591 +104,0.4262802 +105,0.9018591 +106,0.89721906 +107,0.8816487 +108,0.38287875 +109,0.8633578 +110,0.8752441 +111,0.8821887 +112,0.50385064 +113,0.78874546 +114,0.7934872 +115,0.763688 +116,0.39352497 +117,0.8924505 +118,0.8814891 +119,0.86175317 +120,0.4091687 +121,0.90694505 +122,0.8880351 +123,0.9318286 +124,0.500753 +125,0.90380937 +126,0.89570016 +127,0.89931816 +128,0.5454852 +129,0.8664972 +130,0.8786018 +131,0.8919539 +132,0.49459475 +133,0.7808604 +134,0.7969409 +135,0.8090025 +136,0.43493617 +137,0.8901961 +138,0.85566103 +139,0.8921813 +140,0.41614622 +141,0.915741 +142,0.88963974 +143,0.91524786 +144,0.5265755 +145,0.9098828 +146,0.89522934 +147,0.89623 +148,0.5424113 +149,0.85670215 +150,0.87894976 +151,0.87733364 +152,0.462266 +153,0.7969276 +154,0.7972921 +155,0.74917936 +156,0.46790832 +157,0.8969611 +158,0.8653936 +159,0.89421684 +160,0.47396442 +161,0.91506636 +162,0.8966959 +163,0.91885656 +164,0.5407541 +165,0.9137088 +166,0.8986563 +167,0.89939135 +168,0.41448978 +169,0.8704687 +170,0.87204456 +171,0.8843735 +172,0.55075157 +173,0.80629456 +174,0.8031708 +175,0.76168793 +176,0.47402745 +177,0.8930191 +178,0.87778395 +179,0.8926212 +180,0.47847688 +181,0.91507065 +182,0.9014309 +183,0.9237603 +184,0.58909184 +185,0.9164802 +186,0.8911092 +187,0.89314395 +188,0.41123256 +189,0.8709148 +190,0.8742488 +191,0.88755566 +192,0.4969569 +193,0.81566167 +194,0.79959464 +195,0.75697154 +196,0.5761978 +197,0.89390594 +198,0.87141085 +199,0.892284 diff --git a/iris/lct_gan/2/pred/y.csv b/iris/lct_gan/2/pred/y.csv new file mode 100644 index 0000000000000000000000000000000000000000..d4af620bf6949a5d1238ac0d52f05819dd6696ee --- /dev/null +++ b/iris/lct_gan/2/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/2/pred/y_real.csv b/iris/lct_gan/2/pred/y_real.csv new file mode 100644 index 0000000000000000000000000000000000000000..fb0baf5e24b3c966e30c86abef7475ae9ef5ced6 --- /dev/null +++ b/iris/lct_gan/2/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