diff --git a/iris/lct_gan/1/eval.csv b/iris/lct_gan/1/eval.csv new file mode 100644 index 0000000000000000000000000000000000000000..3ed92e9dc9f27b0ee7ee144bbcf88f7bd1916c66 --- /dev/null +++ b/iris/lct_gan/1/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.00011219147592782974,0.008685655749915852,0.0070748583774548025,0.2823173999786377,0.044664330780506134,0.7779319882392883,0.0622507780790329,7.30691899661906e-05,0.4982006549835205,0.059248924255371094,0.11475685238838196,0.08411217480897903,0.22842469811439514,0.005842006299644709,0.7805180549621582 diff --git a/iris/lct_gan/1/history.csv b/iris/lct_gan/1/history.csv new file mode 100644 index 0000000000000000000000000000000000000000..b7e7d579de853fe01cd1e0eab410838425ea99b7 --- /dev/null +++ b/iris/lct_gan/1/history.csv @@ -0,0 +1,18 @@ +,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.0678184225067774,,0.005588213705548529,0.004074737617474119,0.0,0.0,0.0,0.0,0.3278607350467525,805,202,165.16230010986328,0.8176351490587291,0.2051705591426873,,0.030219064177945256,0.37389536269387463,0.000622570308014474,0.0,0.0,0.0,0.0,0.0,0.030219064177945256,200,50,39.000004291534424,0.7800000858306885,0.19500002145767212,0.2248968607187271 +1,0.012502651015059409,,0.0001641063700357434,0.0009164749083589323,0.0,0.0,0.0,0.0,0.01746339373180631,805,202,165.50793957710266,0.8193462355302112,0.2055999249405002,,0.007837991984561086,0.18446603773048195,4.806448195601831e-05,0.0,0.0,0.0,0.0,0.0,0.007837991984561086,200,50,38.81534743309021,0.7763069486618042,0.19407673716545104,0.22929478496313094 +2,0.009252966958624513,,0.0001273948455913331,0.00014017862040701003,0.0,0.0,0.0,0.0,0.018246530427637957,805,202,164.54449725151062,0.8145767190668842,0.20440310217578958,,0.008622142372187227,0.06415549710620326,6.709920428814367e-05,0.0,0.0,0.0,0.0,0.0,0.008622142372187227,200,50,38.61779022216797,0.7723558044433594,0.19308895111083985,0.26070769876241684 +3,0.00917040241682636,,0.00012877046413326307,0.00026469509672628054,0.0,0.0,0.0,0.0,0.024633946419427438,805,202,163.96325612068176,0.8116992877261473,0.2036810635039525,,0.006780599028570577,0.0864700103002724,7.449305970583353e-05,0.0,0.0,0.0,0.0,0.0,0.006780599028570577,200,50,38.56247401237488,0.7712494802474975,0.19281237006187438,0.2499554792046547 +4,0.008258846284198337,,8.857090208312294e-05,8.743100348420394e-05,0.0,0.0,0.0,0.0,0.00983282332398975,805,202,162.83193945884705,0.8060987101923122,0.20227570119111435,,0.006366639322368428,0.08586175829156673,6.319855126925233e-05,0.0,0.0,0.0,0.0,0.0,0.006366639322368428,200,50,38.358301639556885,0.7671660327911377,0.19179150819778443,0.2461331382393837 +5,0.007946525693133588,,7.688492681174575e-05,8.229966136563269e-05,0.0,0.0,0.0,0.0,0.009178422511997823,805,202,167.88085389137268,0.8310933360959044,0.20854764458555614,,0.006919199565891177,0.10517209758545505,5.615463601421622e-05,0.0,0.0,0.0,0.0,0.0,0.006919199565891177,200,50,37.83910822868347,0.7567821645736694,0.18919554114341736,0.2451030880212784 +6,0.00810367663489273,,7.0437439936462e-05,6.378595305097677e-05,0.0,0.0,0.0,0.0,0.010743453571723299,805,202,163.77383661270142,0.8107615673896109,0.20344575976733095,,0.008878152227262036,0.06865763154506567,9.105243278668241e-05,0.0,0.0,0.0,0.0,0.0,0.008878152227262036,200,50,39.7958242893219,0.795916485786438,0.1989791214466095,0.2563130882382393 +7,0.007258759032550227,,6.352785918301329e-05,2.4197903108892972e-05,0.0,0.0,0.0,0.0,0.010742660854460082,805,202,166.08072447776794,0.8221818043453859,0.2063114589785937,,0.00649906562292017,0.1028110481135127,9.733586624847135e-05,0.0,0.0,0.0,0.0,0.0,0.00649906562292017,200,50,39.223653078079224,0.7844730615615845,0.19611826539039612,0.24668644458055497 +8,0.007191453428406801,,9.202903096425699e-05,1.7405904089071735e-05,0.0,0.0,0.0,0.0,0.00827814042192207,805,202,167.59391713142395,0.8296728570862572,0.2081912014054956,,0.007206596160540357,0.15073306549924723,6.950328547132678e-05,0.0,0.0,0.0,0.0,0.0,0.007206596160540357,200,50,39.28061366081238,0.7856122732162476,0.1964030683040619,0.23213963508605956 +9,0.006658591913977526,,8.169069854140281e-05,3.905085303028178e-06,0.0,0.0,0.0,0.0,0.006913509549288036,805,202,166.50765538215637,0.8242953236740415,0.20684180792814455,,0.006455501703312621,0.09663776713023253,7.168342358966128e-05,0.0,0.0,0.0,0.0,0.0,0.006455501703312621,200,50,39.06942319869995,0.781388463973999,0.19534711599349974,0.24575790852308274 +10,0.0067688951527653555,,7.610385099407138e-05,3.821727189218036e-05,0.0,0.0,0.0,0.0,0.006911972074144699,805,202,165.55421662330627,0.8195753298183479,0.20565741195441772,,0.008691595226991922,0.032955469770749916,0.0001403892143608232,0.0,0.0,0.0,0.0,0.0,0.008691595226991922,200,50,39.26440095901489,0.7852880191802979,0.19632200479507447,0.27886303424835207 +11,0.0070731450674870276,,7.625924884013757e-05,1.985917087667477e-05,0.0,0.0,0.0,0.0,0.009457488646528319,805,202,165.70731830596924,0.8203332589404417,0.205847600380086,,0.006213250611908734,0.09836514882706979,6.791210749291787e-05,0.0,0.0,0.0,0.0,0.0,0.006213250611908734,200,50,38.82676839828491,0.7765353679656982,0.19413384199142455,0.24103660762310028 +12,0.006663927178893539,,6.054603205991561e-05,3.9537340078664866e-05,0.0,0.0,0.0,0.0,0.00718129382610483,805,202,164.7477753162384,0.8155830461199921,0.20465562151085515,,0.006269088434055448,0.07461379853339167,6.964369989574837e-05,0.0,0.0,0.0,0.0,0.0,0.006269088434055448,200,50,38.547106981277466,0.7709421396255494,0.19273553490638734,0.25254978984594345 +13,0.006501887009807382,,7.235938874701611e-05,1.045297484220185e-05,0.0,0.0,0.0,0.0,0.006659967093027098,805,202,163.83468580245972,0.8110628010022758,0.20352134882293133,,0.006524221992585808,0.0809234182246655,6.45635908019987e-05,0.0,0.0,0.0,0.0,0.0,0.006524221992585808,200,50,38.57781767845154,0.7715563535690307,0.19288908839225768,0.24661888152360917 +14,0.0066072155237024335,,6.446444105765841e-05,2.9816608066144197e-05,0.0,0.0,0.0,0.0,0.008248939314388571,805,202,163.77865171432495,0.8107854045263612,0.203451741260031,,0.006204466016497463,0.07782338171688025,7.815482216324776e-05,0.0,0.0,0.0,0.0,0.0,0.006204466016497463,200,50,38.410754442214966,0.7682150888442993,0.19205377221107484,0.2475986224412918 +15,0.006402458171743426,,5.508119359238928e-05,2.3713099382678914e-05,0.0,0.0,0.0,0.0,0.03849275416643243,805,202,162.69616794586182,0.805426573989415,0.20210704092653642,,0.007182676501106471,0.1394282023998312,7.888157885396652e-05,0.0,0.0,0.0,0.0,0.0,0.007182676501106471,200,50,38.25847339630127,0.7651694679260254,0.19129236698150634,0.23838794678449632 +16,0.00624291034110226,,6.473844844240772e-05,1.4877699963424518e-05,0.0,0.0,0.0,0.0,0.006509116066472246,805,202,163.3781077861786,0.8088025137929633,0.20295417116295478,,0.006404206852894276,0.06971469198141221,8.732621343238378e-05,0.0,0.0,0.0,0.0,0.0,0.006404206852894276,200,50,38.5238037109375,0.77047607421875,0.1926190185546875,0.25520001113414764 diff --git a/iris/lct_gan/1/logs/avg_loss_train/events.out.tfevents.1721761946.72f500866ed6.4058.17 b/iris/lct_gan/1/logs/avg_loss_train/events.out.tfevents.1721761946.72f500866ed6.4058.17 new file mode 100644 index 0000000000000000000000000000000000000000..bc6bf7c9c489e3031466cc69b9531cf87edc60d4 --- /dev/null +++ b/iris/lct_gan/1/logs/avg_loss_train/events.out.tfevents.1721761946.72f500866ed6.4058.17 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4829c84c006f51e3b8de7a110802a654ab05d769a5011f0ac8e04190e0dd994a +size 868 diff --git a/iris/lct_gan/1/logs/avg_loss_val/events.out.tfevents.1721761946.72f500866ed6.4058.18 b/iris/lct_gan/1/logs/avg_loss_val/events.out.tfevents.1721761946.72f500866ed6.4058.18 new file mode 100644 index 0000000000000000000000000000000000000000..b4cead0908c29ddac04688d49c3ed203074cfd03 --- /dev/null +++ b/iris/lct_gan/1/logs/avg_loss_val/events.out.tfevents.1721761946.72f500866ed6.4058.18 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f6c374a6759e9a36e1960af0d28f0eb5d255d6988ffc626f4963d8206a64d5a3 +size 868 diff --git a/iris/lct_gan/1/logs/avg_non_role_model_embed_loss_train/events.out.tfevents.1721761946.72f500866ed6.4058.15 b/iris/lct_gan/1/logs/avg_non_role_model_embed_loss_train/events.out.tfevents.1721761946.72f500866ed6.4058.15 new file mode 100644 index 0000000000000000000000000000000000000000..42283d16fac740ec96a47f620979a3dd4ee59a2e --- /dev/null +++ b/iris/lct_gan/1/logs/avg_non_role_model_embed_loss_train/events.out.tfevents.1721761946.72f500866ed6.4058.15 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:18aa98cd9e2bdb8f88981ea105108ccd725ce65fe61cdcc3fc04ba9ee22bc5e1 +size 1225 diff --git a/iris/lct_gan/1/logs/avg_non_role_model_embed_loss_val/events.out.tfevents.1721761946.72f500866ed6.4058.16 b/iris/lct_gan/1/logs/avg_non_role_model_embed_loss_val/events.out.tfevents.1721761946.72f500866ed6.4058.16 new file mode 100644 index 0000000000000000000000000000000000000000..f7b30f5360e0ac300bb148fb10d2e98afda8eb6b --- /dev/null +++ b/iris/lct_gan/1/logs/avg_non_role_model_embed_loss_val/events.out.tfevents.1721761946.72f500866ed6.4058.16 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:456f122391517ca5d84e702158aa4ef3c0fdb3ed8cd6e7bd0494ef7c4956c192 +size 1225 diff --git a/iris/lct_gan/1/logs/avg_non_role_model_g_cos_loss_train/events.out.tfevents.1721761946.72f500866ed6.4058.13 b/iris/lct_gan/1/logs/avg_non_role_model_g_cos_loss_train/events.out.tfevents.1721761946.72f500866ed6.4058.13 new file mode 100644 index 0000000000000000000000000000000000000000..ef9893a5a84ca0d029ebea6b23170b6ca7f046ef --- /dev/null +++ b/iris/lct_gan/1/logs/avg_non_role_model_g_cos_loss_train/events.out.tfevents.1721761946.72f500866ed6.4058.13 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5a4d76d5795f41935338010cadcd1dccbca5c431495cd5da7f930bdc9a9e3596 +size 1225 diff --git a/iris/lct_gan/1/logs/avg_non_role_model_g_cos_loss_val/events.out.tfevents.1721761946.72f500866ed6.4058.14 b/iris/lct_gan/1/logs/avg_non_role_model_g_cos_loss_val/events.out.tfevents.1721761946.72f500866ed6.4058.14 new file mode 100644 index 0000000000000000000000000000000000000000..851fe14c5d1c02ae35f9ecc4b548fbf92cc370bb --- /dev/null +++ b/iris/lct_gan/1/logs/avg_non_role_model_g_cos_loss_val/events.out.tfevents.1721761946.72f500866ed6.4058.14 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e52ae35df618fd6e02283c4601d4142569cc6dbe7d6ce99051162329880bb293 +size 1225 diff --git a/iris/lct_gan/1/logs/avg_non_role_model_g_mag_loss_train/events.out.tfevents.1721761946.72f500866ed6.4058.11 b/iris/lct_gan/1/logs/avg_non_role_model_g_mag_loss_train/events.out.tfevents.1721761946.72f500866ed6.4058.11 new file mode 100644 index 0000000000000000000000000000000000000000..3b982bdf1590cb192dd18d12262f74af37c122a7 --- /dev/null +++ b/iris/lct_gan/1/logs/avg_non_role_model_g_mag_loss_train/events.out.tfevents.1721761946.72f500866ed6.4058.11 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:edd6e0ff39bc3b53b38b11aaaf09b4a89da4baa9f251f82d967fa2a537815a83 +size 1225 diff --git a/iris/lct_gan/1/logs/avg_non_role_model_g_mag_loss_val/events.out.tfevents.1721761946.72f500866ed6.4058.12 b/iris/lct_gan/1/logs/avg_non_role_model_g_mag_loss_val/events.out.tfevents.1721761946.72f500866ed6.4058.12 new file mode 100644 index 0000000000000000000000000000000000000000..c1e1981cceebb1ed50ff36ef6520d83a31cc540f --- /dev/null +++ b/iris/lct_gan/1/logs/avg_non_role_model_g_mag_loss_val/events.out.tfevents.1721761946.72f500866ed6.4058.12 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fba742918aa6f0d15e62b1624a0a4ea551b2fc0f6e43065c3cc5bd30cf2f728f +size 1225 diff --git a/iris/lct_gan/1/logs/avg_pred_std_train/events.out.tfevents.1721761946.72f500866ed6.4058.29 b/iris/lct_gan/1/logs/avg_pred_std_train/events.out.tfevents.1721761946.72f500866ed6.4058.29 new file mode 100644 index 0000000000000000000000000000000000000000..af7724cbc22974a08fc44c7c20a8a48a069ce941 --- /dev/null +++ b/iris/lct_gan/1/logs/avg_pred_std_train/events.out.tfevents.1721761946.72f500866ed6.4058.29 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6c945008d42005918eb26b2593f137877f3857d75bfdd72cd43156f2533cc0ea +size 936 diff --git a/iris/lct_gan/1/logs/avg_pred_std_val/events.out.tfevents.1721761946.72f500866ed6.4058.30 b/iris/lct_gan/1/logs/avg_pred_std_val/events.out.tfevents.1721761946.72f500866ed6.4058.30 new file mode 100644 index 0000000000000000000000000000000000000000..c95d79322fbe416b66a0750556d4c6441af80d57 --- /dev/null +++ b/iris/lct_gan/1/logs/avg_pred_std_val/events.out.tfevents.1721761946.72f500866ed6.4058.30 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c4b7487def51d8652cd5630bc4ba26134c79faf3a6a6a8b9cf39c5e9e4fc9f88 +size 936 diff --git a/iris/lct_gan/1/logs/avg_role_model_g_cos_loss_train/events.out.tfevents.1721761946.72f500866ed6.4058.9 b/iris/lct_gan/1/logs/avg_role_model_g_cos_loss_train/events.out.tfevents.1721761946.72f500866ed6.4058.9 new file mode 100644 index 0000000000000000000000000000000000000000..dfe3b3d02ba51ab170f562ed24916c1bb195ead3 --- /dev/null +++ b/iris/lct_gan/1/logs/avg_role_model_g_cos_loss_train/events.out.tfevents.1721761946.72f500866ed6.4058.9 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:83641c2e69054c458c8ebdd42675318130848c71ef16e47aa6e7b40a38ac862d +size 1157 diff --git a/iris/lct_gan/1/logs/avg_role_model_g_cos_loss_val/events.out.tfevents.1721761946.72f500866ed6.4058.10 b/iris/lct_gan/1/logs/avg_role_model_g_cos_loss_val/events.out.tfevents.1721761946.72f500866ed6.4058.10 new file mode 100644 index 0000000000000000000000000000000000000000..59b3b91633978b9b5b95398eb50a1fbf2858f0ca --- /dev/null +++ b/iris/lct_gan/1/logs/avg_role_model_g_cos_loss_val/events.out.tfevents.1721761946.72f500866ed6.4058.10 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:32f199d572e34badeb9d0bdab632ace44a632f99904314d6a2a65fa3b078949e +size 1157 diff --git a/iris/lct_gan/1/logs/avg_role_model_g_mag_loss_train/events.out.tfevents.1721761946.72f500866ed6.4058.7 b/iris/lct_gan/1/logs/avg_role_model_g_mag_loss_train/events.out.tfevents.1721761946.72f500866ed6.4058.7 new file mode 100644 index 0000000000000000000000000000000000000000..e3675548abfb365184b1037e97422e5feb589cf8 --- /dev/null +++ b/iris/lct_gan/1/logs/avg_role_model_g_mag_loss_train/events.out.tfevents.1721761946.72f500866ed6.4058.7 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:706f4fca23e3cd517cbe5543e5a09120bd29bca199a36747f1f370dfb4555075 +size 1157 diff --git a/iris/lct_gan/1/logs/avg_role_model_g_mag_loss_val/events.out.tfevents.1721761946.72f500866ed6.4058.8 b/iris/lct_gan/1/logs/avg_role_model_g_mag_loss_val/events.out.tfevents.1721761946.72f500866ed6.4058.8 new file mode 100644 index 0000000000000000000000000000000000000000..0086f0569f51ebafe5098a214432f8ca309d7e2e --- /dev/null +++ b/iris/lct_gan/1/logs/avg_role_model_g_mag_loss_val/events.out.tfevents.1721761946.72f500866ed6.4058.8 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:73a3bb4f239ab0821ce5536826987c97e4b93b5b45d4823eaef5f7b655bd2d4a +size 1157 diff --git a/iris/lct_gan/1/logs/avg_role_model_loss_train/events.out.tfevents.1721761946.72f500866ed6.4058.1 b/iris/lct_gan/1/logs/avg_role_model_loss_train/events.out.tfevents.1721761946.72f500866ed6.4058.1 new file mode 100644 index 0000000000000000000000000000000000000000..ab56dfd289c7d3b33295a9726e071574ba6e7cad --- /dev/null +++ b/iris/lct_gan/1/logs/avg_role_model_loss_train/events.out.tfevents.1721761946.72f500866ed6.4058.1 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:758826efde44d2ec0f6e22ed9eb60d8f6784cb2ed97998a7623ad9e85b2febdb +size 1055 diff --git a/iris/lct_gan/1/logs/avg_role_model_loss_val/events.out.tfevents.1721761946.72f500866ed6.4058.2 b/iris/lct_gan/1/logs/avg_role_model_loss_val/events.out.tfevents.1721761946.72f500866ed6.4058.2 new file mode 100644 index 0000000000000000000000000000000000000000..20f54b31aeed50dc39bc6fe1eae9321578f4e087 --- /dev/null +++ b/iris/lct_gan/1/logs/avg_role_model_loss_val/events.out.tfevents.1721761946.72f500866ed6.4058.2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8bde47f0f1b2cbc37349189ba7ff52b5f17b1fd1826f559ebae912ebee3e0e93 +size 1055 diff --git a/iris/lct_gan/1/logs/avg_role_model_mean_pred_loss_train/events.out.tfevents.1721761946.72f500866ed6.4058.5 b/iris/lct_gan/1/logs/avg_role_model_mean_pred_loss_train/events.out.tfevents.1721761946.72f500866ed6.4058.5 new file mode 100644 index 0000000000000000000000000000000000000000..b8802116c6db7259305f3f27fc751ac030259b83 --- /dev/null +++ b/iris/lct_gan/1/logs/avg_role_model_mean_pred_loss_train/events.out.tfevents.1721761946.72f500866ed6.4058.5 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a9f2d0b018d9ae90560f2880d294c8120e68a8bcf1da566b5d6dcc68fc72cb99 +size 1225 diff --git a/iris/lct_gan/1/logs/avg_role_model_mean_pred_loss_val/events.out.tfevents.1721761946.72f500866ed6.4058.6 b/iris/lct_gan/1/logs/avg_role_model_mean_pred_loss_val/events.out.tfevents.1721761946.72f500866ed6.4058.6 new file mode 100644 index 0000000000000000000000000000000000000000..af44f593945246a788ab5f28c3b80f51b67cc178 --- /dev/null +++ b/iris/lct_gan/1/logs/avg_role_model_mean_pred_loss_val/events.out.tfevents.1721761946.72f500866ed6.4058.6 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2385206a4d8355011a0ca90c2e8f87ca3b26d29ede02788117c7490cf6a26d74 +size 1225 diff --git a/iris/lct_gan/1/logs/avg_role_model_std_loss_train/events.out.tfevents.1721761946.72f500866ed6.4058.3 b/iris/lct_gan/1/logs/avg_role_model_std_loss_train/events.out.tfevents.1721761946.72f500866ed6.4058.3 new file mode 100644 index 0000000000000000000000000000000000000000..108e111689ea21beaaa0dc42e90254e6d5812b7d --- /dev/null +++ b/iris/lct_gan/1/logs/avg_role_model_std_loss_train/events.out.tfevents.1721761946.72f500866ed6.4058.3 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:71ac11a635fc907efb5fbd30ffa6fb4595bf9050546cd2942defc8d70b684556 +size 1123 diff --git a/iris/lct_gan/1/logs/avg_role_model_std_loss_val/events.out.tfevents.1721761946.72f500866ed6.4058.4 b/iris/lct_gan/1/logs/avg_role_model_std_loss_val/events.out.tfevents.1721761946.72f500866ed6.4058.4 new file mode 100644 index 0000000000000000000000000000000000000000..c48e0de78869c9c914d88c63fced3c1baf4e8c02 --- /dev/null +++ b/iris/lct_gan/1/logs/avg_role_model_std_loss_val/events.out.tfevents.1721761946.72f500866ed6.4058.4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fcb9ad70b1703556d77cf361fa0a853cb9b2f2aea3c9e4146853c0391e2f3b42 +size 1123 diff --git a/iris/lct_gan/1/logs/duration_batch_train/events.out.tfevents.1721761946.72f500866ed6.4058.25 b/iris/lct_gan/1/logs/duration_batch_train/events.out.tfevents.1721761946.72f500866ed6.4058.25 new file mode 100644 index 0000000000000000000000000000000000000000..a56a428396e2066e23960e2a9b3f8a0b6384502a --- /dev/null +++ b/iris/lct_gan/1/logs/duration_batch_train/events.out.tfevents.1721761946.72f500866ed6.4058.25 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cd6e672d8a10b087a6f09bce1a9a9519031e693553ba2589f9081acfe1178639 +size 970 diff --git a/iris/lct_gan/1/logs/duration_batch_val/events.out.tfevents.1721761946.72f500866ed6.4058.26 b/iris/lct_gan/1/logs/duration_batch_val/events.out.tfevents.1721761946.72f500866ed6.4058.26 new file mode 100644 index 0000000000000000000000000000000000000000..094c3c044d9fac974330f94cfc9f06b270b705ee --- /dev/null +++ b/iris/lct_gan/1/logs/duration_batch_val/events.out.tfevents.1721761946.72f500866ed6.4058.26 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3cce8e40c9ce4e43a9cf2262b5b20ed0ce7bbb5b2f2524f1927be987afad2b84 +size 970 diff --git a/iris/lct_gan/1/logs/duration_size_train/events.out.tfevents.1721761946.72f500866ed6.4058.27 b/iris/lct_gan/1/logs/duration_size_train/events.out.tfevents.1721761946.72f500866ed6.4058.27 new file mode 100644 index 0000000000000000000000000000000000000000..044eb6bb6ff5f764d8e1dd07fce944bebf193406 --- /dev/null +++ b/iris/lct_gan/1/logs/duration_size_train/events.out.tfevents.1721761946.72f500866ed6.4058.27 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:992c341f87f95884ccad9c3c7736bdae9be7c0d808daac7240c40bd29084c420 +size 953 diff --git a/iris/lct_gan/1/logs/duration_size_val/events.out.tfevents.1721761946.72f500866ed6.4058.28 b/iris/lct_gan/1/logs/duration_size_val/events.out.tfevents.1721761946.72f500866ed6.4058.28 new file mode 100644 index 0000000000000000000000000000000000000000..2c5a19dc373e038b6284e6d433eca5571112a707 --- /dev/null +++ b/iris/lct_gan/1/logs/duration_size_val/events.out.tfevents.1721761946.72f500866ed6.4058.28 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:87c5ccf02d8b430b41efcf5db2eaa7406b2b18bfc8fc7d2d097a4e188c808bd9 +size 953 diff --git a/iris/lct_gan/1/logs/duration_train/events.out.tfevents.1721761946.72f500866ed6.4058.23 b/iris/lct_gan/1/logs/duration_train/events.out.tfevents.1721761946.72f500866ed6.4058.23 new file mode 100644 index 0000000000000000000000000000000000000000..dcc5aac2a2626a149d9deccbb8f41066d06a5780 --- /dev/null +++ b/iris/lct_gan/1/logs/duration_train/events.out.tfevents.1721761946.72f500866ed6.4058.23 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c61529cfc4db8321ad4116bad52dbdae378e0b35c81d5b054477852c92a30194 +size 868 diff --git a/iris/lct_gan/1/logs/duration_val/events.out.tfevents.1721761946.72f500866ed6.4058.24 b/iris/lct_gan/1/logs/duration_val/events.out.tfevents.1721761946.72f500866ed6.4058.24 new file mode 100644 index 0000000000000000000000000000000000000000..71eccc410bb67a916be3bc7bd0f8285237806a06 --- /dev/null +++ b/iris/lct_gan/1/logs/duration_val/events.out.tfevents.1721761946.72f500866ed6.4058.24 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:90a336b74ea79aa99fe130ec17cf73245ec70299b23d61fb82904bf02b49baef +size 868 diff --git a/iris/lct_gan/1/logs/events.out.tfevents.1721761741.72f500866ed6.4058.0 b/iris/lct_gan/1/logs/events.out.tfevents.1721761741.72f500866ed6.4058.0 new file mode 100644 index 0000000000000000000000000000000000000000..0db06d0105fad5203e434a29ae827769d07364d1 --- /dev/null +++ b/iris/lct_gan/1/logs/events.out.tfevents.1721761741.72f500866ed6.4058.0 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d9db891d4e585f9cba736f837300d0cb2357701f2929b97bbd1708db784c19ad +size 88 diff --git a/iris/lct_gan/1/logs/n_batch_train/events.out.tfevents.1721761946.72f500866ed6.4058.21 b/iris/lct_gan/1/logs/n_batch_train/events.out.tfevents.1721761946.72f500866ed6.4058.21 new file mode 100644 index 0000000000000000000000000000000000000000..f3ce3fb996dd548b0bec35c5a5a75992b436cf8b --- /dev/null +++ b/iris/lct_gan/1/logs/n_batch_train/events.out.tfevents.1721761946.72f500866ed6.4058.21 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:441d2c5e5573759825c72899c017f4f539e7ab9d303d09d257ebc319271c9faf +size 851 diff --git a/iris/lct_gan/1/logs/n_batch_val/events.out.tfevents.1721761946.72f500866ed6.4058.22 b/iris/lct_gan/1/logs/n_batch_val/events.out.tfevents.1721761946.72f500866ed6.4058.22 new file mode 100644 index 0000000000000000000000000000000000000000..bed1e53ad6c741a8e02bb93d8b50003fbac68559 --- /dev/null +++ b/iris/lct_gan/1/logs/n_batch_val/events.out.tfevents.1721761946.72f500866ed6.4058.22 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a3938bea8ed567a069645c098779045259f19567f05be187c13f2bb0f1c7e30a +size 851 diff --git a/iris/lct_gan/1/logs/n_size_train/events.out.tfevents.1721761946.72f500866ed6.4058.19 b/iris/lct_gan/1/logs/n_size_train/events.out.tfevents.1721761946.72f500866ed6.4058.19 new file mode 100644 index 0000000000000000000000000000000000000000..f805eaba0bc33b99c74c6965b61a2ac9369fa5bf --- /dev/null +++ b/iris/lct_gan/1/logs/n_size_train/events.out.tfevents.1721761946.72f500866ed6.4058.19 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c6ce97de6d462ba7eb9cdf79eacc7eea96545ef42666cb928acbebb99452cef1 +size 834 diff --git a/iris/lct_gan/1/logs/n_size_val/events.out.tfevents.1721761946.72f500866ed6.4058.20 b/iris/lct_gan/1/logs/n_size_val/events.out.tfevents.1721761946.72f500866ed6.4058.20 new file mode 100644 index 0000000000000000000000000000000000000000..9fbc4539e43db415d07779f01f92f0488c3fbd13 --- /dev/null +++ b/iris/lct_gan/1/logs/n_size_val/events.out.tfevents.1721761946.72f500866ed6.4058.20 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:50118e7b86ee046be65c5bec9b7899ca0269f67e21653cf407704d935e74c58c +size 834 diff --git a/iris/lct_gan/1/logs/train_avg_loss/events.out.tfevents.1721761946.72f500866ed6.4058.39 b/iris/lct_gan/1/logs/train_avg_loss/events.out.tfevents.1721761946.72f500866ed6.4058.39 new file mode 100644 index 0000000000000000000000000000000000000000..8f80a9309f6dd4f88edfd16c8f3a535056b99b93 --- /dev/null +++ b/iris/lct_gan/1/logs/train_avg_loss/events.out.tfevents.1721761946.72f500866ed6.4058.39 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2f366b3f975ea9991e6a301f64bab9736913fb3e29b13e5582d1785cef9f7b4a +size 817 diff --git a/iris/lct_gan/1/logs/train_avg_non_role_model_embed_loss/events.out.tfevents.1721761946.72f500866ed6.4058.38 b/iris/lct_gan/1/logs/train_avg_non_role_model_embed_loss/events.out.tfevents.1721761946.72f500866ed6.4058.38 new file mode 100644 index 0000000000000000000000000000000000000000..c775b93ed970a55c39e5dd8b35646e64d5bc9768 --- /dev/null +++ b/iris/lct_gan/1/logs/train_avg_non_role_model_embed_loss/events.out.tfevents.1721761946.72f500866ed6.4058.38 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d112d5fcabcda4387a9167cff55b1af59917ece29d62602060408fd075852414 +size 817 diff --git a/iris/lct_gan/1/logs/train_avg_non_role_model_g_cos_loss/events.out.tfevents.1721761946.72f500866ed6.4058.37 b/iris/lct_gan/1/logs/train_avg_non_role_model_g_cos_loss/events.out.tfevents.1721761946.72f500866ed6.4058.37 new file mode 100644 index 0000000000000000000000000000000000000000..7dd69671f8e69ed4ec36d4987ff31505e4e214f2 --- /dev/null +++ b/iris/lct_gan/1/logs/train_avg_non_role_model_g_cos_loss/events.out.tfevents.1721761946.72f500866ed6.4058.37 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1d9d334a49b025f3c080de99b173e1925295159ca0f05e47a8ac9a1d38e4649d +size 817 diff --git a/iris/lct_gan/1/logs/train_avg_non_role_model_g_mag_loss/events.out.tfevents.1721761946.72f500866ed6.4058.36 b/iris/lct_gan/1/logs/train_avg_non_role_model_g_mag_loss/events.out.tfevents.1721761946.72f500866ed6.4058.36 new file mode 100644 index 0000000000000000000000000000000000000000..e4fe2b435a71a3bdea25afa1ade2b0acc3fdd00c --- /dev/null +++ b/iris/lct_gan/1/logs/train_avg_non_role_model_g_mag_loss/events.out.tfevents.1721761946.72f500866ed6.4058.36 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:26132fa54ffcda7db5ad3d96b69ca175e6783e689d49aca84b57fef7046e0d4f +size 817 diff --git a/iris/lct_gan/1/logs/train_avg_pred_std/events.out.tfevents.1721761946.72f500866ed6.4058.45 b/iris/lct_gan/1/logs/train_avg_pred_std/events.out.tfevents.1721761946.72f500866ed6.4058.45 new file mode 100644 index 0000000000000000000000000000000000000000..c843e40dcec0cd0e12f1fea93bea2c0af369d6d9 --- /dev/null +++ b/iris/lct_gan/1/logs/train_avg_pred_std/events.out.tfevents.1721761946.72f500866ed6.4058.45 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:884b1bf9e939ccf18a92f358b892e000706580e8079a0d94457d4d00c135c359 +size 817 diff --git a/iris/lct_gan/1/logs/train_avg_role_model_g_cos_loss/events.out.tfevents.1721761946.72f500866ed6.4058.35 b/iris/lct_gan/1/logs/train_avg_role_model_g_cos_loss/events.out.tfevents.1721761946.72f500866ed6.4058.35 new file mode 100644 index 0000000000000000000000000000000000000000..6ccc47dcd8f6fea735a12606812c572902e7a9b8 --- /dev/null +++ b/iris/lct_gan/1/logs/train_avg_role_model_g_cos_loss/events.out.tfevents.1721761946.72f500866ed6.4058.35 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5e6c06a2382ef5b9876d705747c1167aa6f12392a0946b1b91aeda8f0eb60d9f +size 817 diff --git a/iris/lct_gan/1/logs/train_avg_role_model_g_mag_loss/events.out.tfevents.1721761946.72f500866ed6.4058.34 b/iris/lct_gan/1/logs/train_avg_role_model_g_mag_loss/events.out.tfevents.1721761946.72f500866ed6.4058.34 new file mode 100644 index 0000000000000000000000000000000000000000..721ad9f720bdf895126ee18c7fa77f76bc70075f --- /dev/null +++ b/iris/lct_gan/1/logs/train_avg_role_model_g_mag_loss/events.out.tfevents.1721761946.72f500866ed6.4058.34 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a2cbe026945a78bc10dd1a38ddc15f4786f679a3bf3c90c326cf637807fcf657 +size 817 diff --git a/iris/lct_gan/1/logs/train_avg_role_model_loss/events.out.tfevents.1721761946.72f500866ed6.4058.31 b/iris/lct_gan/1/logs/train_avg_role_model_loss/events.out.tfevents.1721761946.72f500866ed6.4058.31 new file mode 100644 index 0000000000000000000000000000000000000000..d285f53f7463dfcdcb5d021e038498c5d962eb77 --- /dev/null +++ b/iris/lct_gan/1/logs/train_avg_role_model_loss/events.out.tfevents.1721761946.72f500866ed6.4058.31 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5c03a900043f20c83454421ca1a7b7cad2b900f0451fd95347087af5770c8a7c +size 817 diff --git a/iris/lct_gan/1/logs/train_avg_role_model_mean_pred_loss/events.out.tfevents.1721761946.72f500866ed6.4058.33 b/iris/lct_gan/1/logs/train_avg_role_model_mean_pred_loss/events.out.tfevents.1721761946.72f500866ed6.4058.33 new file mode 100644 index 0000000000000000000000000000000000000000..8e010e98eee4516cf2516763dbe4de77b4f04eb4 --- /dev/null +++ b/iris/lct_gan/1/logs/train_avg_role_model_mean_pred_loss/events.out.tfevents.1721761946.72f500866ed6.4058.33 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:13359b011fda0018c1ce24943af10702299904f94de8b2ef2405e8a7124c48d0 +size 817 diff --git a/iris/lct_gan/1/logs/train_avg_role_model_std_loss/events.out.tfevents.1721761946.72f500866ed6.4058.32 b/iris/lct_gan/1/logs/train_avg_role_model_std_loss/events.out.tfevents.1721761946.72f500866ed6.4058.32 new file mode 100644 index 0000000000000000000000000000000000000000..8c555210984f8c5eef7d587a29dfe4ebc75c169a --- /dev/null +++ b/iris/lct_gan/1/logs/train_avg_role_model_std_loss/events.out.tfevents.1721761946.72f500866ed6.4058.32 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a306fd958baa0dbec5274ea29f37d370c48c65e43cf3e3f922c62e63cc46e4ef +size 817 diff --git a/iris/lct_gan/1/logs/train_duration/events.out.tfevents.1721761946.72f500866ed6.4058.42 b/iris/lct_gan/1/logs/train_duration/events.out.tfevents.1721761946.72f500866ed6.4058.42 new file mode 100644 index 0000000000000000000000000000000000000000..438547a1eb1a4eec8c080ed2b1d46b326b1f8099 --- /dev/null +++ b/iris/lct_gan/1/logs/train_duration/events.out.tfevents.1721761946.72f500866ed6.4058.42 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f0559d5cb8be111cfabf3bd578ef88ab403f7f2c69394ff8296dfb494895b8ba +size 817 diff --git a/iris/lct_gan/1/logs/train_duration_batch/events.out.tfevents.1721761946.72f500866ed6.4058.43 b/iris/lct_gan/1/logs/train_duration_batch/events.out.tfevents.1721761946.72f500866ed6.4058.43 new file mode 100644 index 0000000000000000000000000000000000000000..52f2dbc95751b01984fac8385064699d946a1e51 --- /dev/null +++ b/iris/lct_gan/1/logs/train_duration_batch/events.out.tfevents.1721761946.72f500866ed6.4058.43 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e619ae0797be74fad13d1660d0fc2be1d8a15464c9deb811fbb23ce78e1b12fa +size 817 diff --git a/iris/lct_gan/1/logs/train_duration_size/events.out.tfevents.1721761946.72f500866ed6.4058.44 b/iris/lct_gan/1/logs/train_duration_size/events.out.tfevents.1721761946.72f500866ed6.4058.44 new file mode 100644 index 0000000000000000000000000000000000000000..50b30ef0ecfc6377e8d4ba8b8352911cc742f683 --- /dev/null +++ b/iris/lct_gan/1/logs/train_duration_size/events.out.tfevents.1721761946.72f500866ed6.4058.44 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:57b39b4f920321bbdcdcf9b4207535a938d8e4c1ee7adfa936d8b2bcd149ce1e +size 817 diff --git a/iris/lct_gan/1/logs/train_n_batch/events.out.tfevents.1721761946.72f500866ed6.4058.41 b/iris/lct_gan/1/logs/train_n_batch/events.out.tfevents.1721761946.72f500866ed6.4058.41 new file mode 100644 index 0000000000000000000000000000000000000000..e50435e9005b7b09a948f3b43fb02b4e14051520 --- /dev/null +++ b/iris/lct_gan/1/logs/train_n_batch/events.out.tfevents.1721761946.72f500866ed6.4058.41 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6f52415a544a6e3a3b612f8e55929d4294149ebb7e505a96d7c7afec234a2612 +size 817 diff --git a/iris/lct_gan/1/logs/train_n_size/events.out.tfevents.1721761946.72f500866ed6.4058.40 b/iris/lct_gan/1/logs/train_n_size/events.out.tfevents.1721761946.72f500866ed6.4058.40 new file mode 100644 index 0000000000000000000000000000000000000000..4de4bacd0b2da73b5a1815ad6197465dfb2597d5 --- /dev/null +++ b/iris/lct_gan/1/logs/train_n_size/events.out.tfevents.1721761946.72f500866ed6.4058.40 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3d065e75b2a224d52eceb239f6c52a0d7216472c2010e4a3c9ae4c2cc8aff475 +size 817 diff --git a/iris/lct_gan/1/logs/val_avg_loss/events.out.tfevents.1721761946.72f500866ed6.4058.54 b/iris/lct_gan/1/logs/val_avg_loss/events.out.tfevents.1721761946.72f500866ed6.4058.54 new file mode 100644 index 0000000000000000000000000000000000000000..345272c51ee90723010aa001785539d090fb0689 --- /dev/null +++ b/iris/lct_gan/1/logs/val_avg_loss/events.out.tfevents.1721761946.72f500866ed6.4058.54 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1a61992b652ef7feb87ab19506ac539e3131a0af6fc88701fc7ecd01fcabaabc +size 783 diff --git a/iris/lct_gan/1/logs/val_avg_non_role_model_embed_loss/events.out.tfevents.1721761946.72f500866ed6.4058.53 b/iris/lct_gan/1/logs/val_avg_non_role_model_embed_loss/events.out.tfevents.1721761946.72f500866ed6.4058.53 new file mode 100644 index 0000000000000000000000000000000000000000..6619b82d58a4ac431776167a375e161636b83ad0 --- /dev/null +++ b/iris/lct_gan/1/logs/val_avg_non_role_model_embed_loss/events.out.tfevents.1721761946.72f500866ed6.4058.53 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:07775cd5d1981412d853ee48f83ba74c7db0b9db8981e85ee70feb46a85a5162 +size 783 diff --git a/iris/lct_gan/1/logs/val_avg_non_role_model_g_cos_loss/events.out.tfevents.1721761946.72f500866ed6.4058.52 b/iris/lct_gan/1/logs/val_avg_non_role_model_g_cos_loss/events.out.tfevents.1721761946.72f500866ed6.4058.52 new file mode 100644 index 0000000000000000000000000000000000000000..02e200d22888df3540fc4a1e22f6a083107a4413 --- /dev/null +++ b/iris/lct_gan/1/logs/val_avg_non_role_model_g_cos_loss/events.out.tfevents.1721761946.72f500866ed6.4058.52 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:be8c12fe33d2c76668f90c5deea1f0da4e87434f57fd8bd85b04e8bd1c59c5af +size 783 diff --git a/iris/lct_gan/1/logs/val_avg_non_role_model_g_mag_loss/events.out.tfevents.1721761946.72f500866ed6.4058.51 b/iris/lct_gan/1/logs/val_avg_non_role_model_g_mag_loss/events.out.tfevents.1721761946.72f500866ed6.4058.51 new file mode 100644 index 0000000000000000000000000000000000000000..3566e6be80bd87b87266b64c806c0cadb71d7813 --- /dev/null +++ b/iris/lct_gan/1/logs/val_avg_non_role_model_g_mag_loss/events.out.tfevents.1721761946.72f500866ed6.4058.51 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7fc298dcf43c632f802685ab6dbcb37c8c9d1a6797c78c889f38d6c16fbde756 +size 783 diff --git a/iris/lct_gan/1/logs/val_avg_pred_std/events.out.tfevents.1721761946.72f500866ed6.4058.60 b/iris/lct_gan/1/logs/val_avg_pred_std/events.out.tfevents.1721761946.72f500866ed6.4058.60 new file mode 100644 index 0000000000000000000000000000000000000000..f20a809d02734d76eac5451de08ac36e10988807 --- /dev/null +++ b/iris/lct_gan/1/logs/val_avg_pred_std/events.out.tfevents.1721761946.72f500866ed6.4058.60 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:455804e473dfea4f4445f64b02349e4c8ba2d11d1b3ef7fec05dcb0f900de41a +size 783 diff --git a/iris/lct_gan/1/logs/val_avg_role_model_g_cos_loss/events.out.tfevents.1721761946.72f500866ed6.4058.50 b/iris/lct_gan/1/logs/val_avg_role_model_g_cos_loss/events.out.tfevents.1721761946.72f500866ed6.4058.50 new file mode 100644 index 0000000000000000000000000000000000000000..ab964e209a59aaa66f737878181f18b3adb72dc5 --- /dev/null +++ b/iris/lct_gan/1/logs/val_avg_role_model_g_cos_loss/events.out.tfevents.1721761946.72f500866ed6.4058.50 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:026e6e242d1d0ac40a61b9a37bb608b025bdb4b216fbea97df6d0cd92171e62c +size 783 diff --git a/iris/lct_gan/1/logs/val_avg_role_model_g_mag_loss/events.out.tfevents.1721761946.72f500866ed6.4058.49 b/iris/lct_gan/1/logs/val_avg_role_model_g_mag_loss/events.out.tfevents.1721761946.72f500866ed6.4058.49 new file mode 100644 index 0000000000000000000000000000000000000000..9105802211a8b5ed36f3f7fd9b5c4d76a124801e --- /dev/null +++ b/iris/lct_gan/1/logs/val_avg_role_model_g_mag_loss/events.out.tfevents.1721761946.72f500866ed6.4058.49 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:282dda66cd5fa24864d85eb6ec721c800c356317bf296cfe4453858c5fa18238 +size 783 diff --git a/iris/lct_gan/1/logs/val_avg_role_model_loss/events.out.tfevents.1721761946.72f500866ed6.4058.46 b/iris/lct_gan/1/logs/val_avg_role_model_loss/events.out.tfevents.1721761946.72f500866ed6.4058.46 new file mode 100644 index 0000000000000000000000000000000000000000..910d62ab2c24531ca97be5f5df8ebc243ff4484a --- /dev/null +++ b/iris/lct_gan/1/logs/val_avg_role_model_loss/events.out.tfevents.1721761946.72f500866ed6.4058.46 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f6fc032192b0d694ee937df648a44d2dba7102f70306e08f08741e95e614a0ff +size 783 diff --git a/iris/lct_gan/1/logs/val_avg_role_model_mean_pred_loss/events.out.tfevents.1721761946.72f500866ed6.4058.48 b/iris/lct_gan/1/logs/val_avg_role_model_mean_pred_loss/events.out.tfevents.1721761946.72f500866ed6.4058.48 new file mode 100644 index 0000000000000000000000000000000000000000..db899074be20ba145200a562ec6b71c95eaed0bf --- /dev/null +++ b/iris/lct_gan/1/logs/val_avg_role_model_mean_pred_loss/events.out.tfevents.1721761946.72f500866ed6.4058.48 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e32e4a761c658a2ea35d0bf66ed93103be8d6e68742d389dc66a98e93742f191 +size 783 diff --git a/iris/lct_gan/1/logs/val_avg_role_model_std_loss/events.out.tfevents.1721761946.72f500866ed6.4058.47 b/iris/lct_gan/1/logs/val_avg_role_model_std_loss/events.out.tfevents.1721761946.72f500866ed6.4058.47 new file mode 100644 index 0000000000000000000000000000000000000000..c22ab33b87d8bc1cfc6eaad669424fc7079f0e04 --- /dev/null +++ b/iris/lct_gan/1/logs/val_avg_role_model_std_loss/events.out.tfevents.1721761946.72f500866ed6.4058.47 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c1f77a34a6cf9fd9b1475475ec154da2c3d7dbb05d3e7585409c45a150cd912d +size 783 diff --git a/iris/lct_gan/1/logs/val_duration/events.out.tfevents.1721761946.72f500866ed6.4058.57 b/iris/lct_gan/1/logs/val_duration/events.out.tfevents.1721761946.72f500866ed6.4058.57 new file mode 100644 index 0000000000000000000000000000000000000000..2745d2c1502e2c5e9587b5f7e87b309cc3bc8249 --- /dev/null +++ b/iris/lct_gan/1/logs/val_duration/events.out.tfevents.1721761946.72f500866ed6.4058.57 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f963513a3bcbc9f1928315729181f7cb25f2143ee0808ad0531de3e2030e3f0e +size 783 diff --git a/iris/lct_gan/1/logs/val_duration_batch/events.out.tfevents.1721761946.72f500866ed6.4058.58 b/iris/lct_gan/1/logs/val_duration_batch/events.out.tfevents.1721761946.72f500866ed6.4058.58 new file mode 100644 index 0000000000000000000000000000000000000000..1ee8a3e9abaaf01ce059213f062221f39f45f64b --- /dev/null +++ b/iris/lct_gan/1/logs/val_duration_batch/events.out.tfevents.1721761946.72f500866ed6.4058.58 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:edfb2cdddaab36310f2fe898655ee8f57e87d1e35730587d1e7afe5475a3d5b2 +size 783 diff --git a/iris/lct_gan/1/logs/val_duration_size/events.out.tfevents.1721761946.72f500866ed6.4058.59 b/iris/lct_gan/1/logs/val_duration_size/events.out.tfevents.1721761946.72f500866ed6.4058.59 new file mode 100644 index 0000000000000000000000000000000000000000..42ecd965cf7863d74e9f137975bf800d95b92e4d --- /dev/null +++ b/iris/lct_gan/1/logs/val_duration_size/events.out.tfevents.1721761946.72f500866ed6.4058.59 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f9f5952ed1035352cbc775b18c5ee8395023a22fd3e9c813312cfa8922a7eca0 +size 783 diff --git a/iris/lct_gan/1/logs/val_n_batch/events.out.tfevents.1721761946.72f500866ed6.4058.56 b/iris/lct_gan/1/logs/val_n_batch/events.out.tfevents.1721761946.72f500866ed6.4058.56 new file mode 100644 index 0000000000000000000000000000000000000000..91f96149bbc6c5bc8bd62bae411c2d457ad956cc --- /dev/null +++ b/iris/lct_gan/1/logs/val_n_batch/events.out.tfevents.1721761946.72f500866ed6.4058.56 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ff7e7715512fd620f806c7e9b80884bc335d52bd34a4fc175a523ae9ae0058bb +size 783 diff --git a/iris/lct_gan/1/logs/val_n_size/events.out.tfevents.1721761946.72f500866ed6.4058.55 b/iris/lct_gan/1/logs/val_n_size/events.out.tfevents.1721761946.72f500866ed6.4058.55 new file mode 100644 index 0000000000000000000000000000000000000000..5aac60dff03ef05ca3350da0f718e7e4d1ae4522 --- /dev/null +++ b/iris/lct_gan/1/logs/val_n_size/events.out.tfevents.1721761946.72f500866ed6.4058.55 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:32739f44026fe1c47d236e6031e81e87685b948caac6d434f9a12d3c14f4391d +size 783 diff --git a/iris/lct_gan/1/mlu-eval.ipynb b/iris/lct_gan/1/mlu-eval.ipynb new file mode 100644 index 0000000000000000000000000000000000000000..78121a5fc3957f890be15e23a5ab4041e0ec5234 --- /dev/null +++ b/iris/lct_gan/1/mlu-eval.ipynb @@ -0,0 +1,2314 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "982e76f5", + "metadata": { + "execution": { + "iopub.execute_input": "2024-07-23T19:08:50.170432Z", + "iopub.status.busy": "2024-07-23T19:08:50.169800Z", + "iopub.status.idle": "2024-07-23T19:08:50.200815Z", + "shell.execute_reply": "2024-07-23T19:08:50.200121Z" + }, + "papermill": { + "duration": 0.045952, + "end_time": "2024-07-23T19:08:50.202845", + "exception": false, + "start_time": "2024-07-23T19:08:50.156893", + "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:08:50.228065Z", + "iopub.status.busy": "2024-07-23T19:08:50.227775Z", + "iopub.status.idle": "2024-07-23T19:08:50.234462Z", + "shell.execute_reply": "2024-07-23T19:08:50.233655Z" + }, + "papermill": { + "duration": 0.021516, + "end_time": "2024-07-23T19:08:50.236414", + "exception": false, + "start_time": "2024-07-23T19:08:50.214898", + "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:08:50.259902Z", + "iopub.status.busy": "2024-07-23T19:08:50.259626Z", + "iopub.status.idle": "2024-07-23T19:08:50.263613Z", + "shell.execute_reply": "2024-07-23T19:08:50.262811Z" + }, + "papermill": { + "duration": 0.018002, + "end_time": "2024-07-23T19:08:50.265547", + "exception": false, + "start_time": "2024-07-23T19:08:50.247545", + "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:08:50.288901Z", + "iopub.status.busy": "2024-07-23T19:08:50.288643Z", + "iopub.status.idle": "2024-07-23T19:08:50.292577Z", + "shell.execute_reply": "2024-07-23T19:08:50.291746Z" + }, + "executionInfo": { + "elapsed": 678, + "status": "ok", + "timestamp": 1696841022168, + "user": { + "displayName": "Rizqi Nur", + "userId": "09644007964068789560" + }, + "user_tz": -420 + }, + "id": "ns5hFcVL2yvs", + "papermill": { + "duration": 0.017926, + "end_time": "2024-07-23T19:08:50.294466", + "exception": false, + "start_time": "2024-07-23T19:08:50.276540", + "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:08:50.317861Z", + "iopub.status.busy": "2024-07-23T19:08:50.317602Z", + "iopub.status.idle": "2024-07-23T19:08:50.323126Z", + "shell.execute_reply": "2024-07-23T19:08:50.322305Z" + }, + "papermill": { + "duration": 0.019422, + "end_time": "2024-07-23T19:08:50.324984", + "exception": false, + "start_time": "2024-07-23T19:08:50.305562", + "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": "252edda3", + "metadata": { + "execution": { + "iopub.execute_input": "2024-07-23T19:08:50.349786Z", + "iopub.status.busy": "2024-07-23T19:08:50.349499Z", + "iopub.status.idle": "2024-07-23T19:08:50.354694Z", + "shell.execute_reply": "2024-07-23T19:08:50.353836Z" + }, + "papermill": { + "duration": 0.01981, + "end_time": "2024-07-23T19:08:50.356659", + "exception": false, + "start_time": "2024-07-23T19:08:50.336849", + "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 = 1\n", + "debug = False\n", + "folder = \"eval\"\n", + "path_prefix = \"../../../../\"\n", + "path = \"eval/iris/lct_gan/1\"\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.010952, + "end_time": "2024-07-23T19:08:50.378756", + "exception": false, + "start_time": "2024-07-23T19:08:50.367804", + "status": "completed" + }, + "tags": [] + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "5f45b1d0", + "metadata": { + "execution": { + "iopub.execute_input": "2024-07-23T19:08:50.402114Z", + "iopub.status.busy": "2024-07-23T19:08:50.401805Z", + "iopub.status.idle": "2024-07-23T19:08:50.410954Z", + "shell.execute_reply": "2024-07-23T19:08:50.410149Z" + }, + "executionInfo": { + "elapsed": 7, + "status": "ok", + "timestamp": 1696841022169, + "user": { + "displayName": "Rizqi Nur", + "userId": "09644007964068789560" + }, + "user_tz": -420 + }, + "id": "UdvXYv3c3LXy", + "papermill": { + "duration": 0.023222, + "end_time": "2024-07-23T19:08:50.412977", + "exception": false, + "start_time": "2024-07-23T19:08:50.389755", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "/kaggle/working\n", + "/kaggle/working/eval/iris/lct_gan/1\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:08:50.437044Z", + "iopub.status.busy": "2024-07-23T19:08:50.436250Z", + "iopub.status.idle": "2024-07-23T19:08:52.428034Z", + "shell.execute_reply": "2024-07-23T19:08:52.427123Z" + }, + "papermill": { + "duration": 2.005921, + "end_time": "2024-07-23T19:08:52.430157", + "exception": false, + "start_time": "2024-07-23T19:08:50.424236", + "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:08:52.457642Z", + "iopub.status.busy": "2024-07-23T19:08:52.457193Z", + "iopub.status.idle": "2024-07-23T19:08:52.467310Z", + "shell.execute_reply": "2024-07-23T19:08:52.466574Z" + }, + "papermill": { + "duration": 0.026319, + "end_time": "2024-07-23T19:08:52.469354", + "exception": false, + "start_time": "2024-07-23T19:08:52.443035", + "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:08:52.493575Z", + "iopub.status.busy": "2024-07-23T19:08:52.493115Z", + "iopub.status.idle": "2024-07-23T19:08:52.500014Z", + "shell.execute_reply": "2024-07-23T19:08:52.499124Z" + }, + "executionInfo": { + "elapsed": 6, + "status": "ok", + "timestamp": 1696841022169, + "user": { + "displayName": "Rizqi Nur", + "userId": "09644007964068789560" + }, + "user_tz": -420 + }, + "id": "Vrl2QkoV3o_8", + "papermill": { + "duration": 0.021139, + "end_time": "2024-07-23T19:08:52.501935", + "exception": false, + "start_time": "2024-07-23T19:08:52.480796", + "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:08:52.525824Z", + "iopub.status.busy": "2024-07-23T19:08:52.525553Z", + "iopub.status.idle": "2024-07-23T19:08:52.623792Z", + "shell.execute_reply": "2024-07-23T19:08:52.623033Z" + }, + "executionInfo": { + "elapsed": 6, + "status": "ok", + "timestamp": 1696841022169, + "user": { + "displayName": "Rizqi Nur", + "userId": "09644007964068789560" + }, + "user_tz": -420 + }, + "id": "TilUuFk9vqMb", + "papermill": { + "duration": 0.112716, + "end_time": "2024-07-23T19:08:52.626043", + "exception": false, + "start_time": "2024-07-23T19:08:52.513327", + "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:08:52.654002Z", + "iopub.status.busy": "2024-07-23T19:08:52.653270Z", + "iopub.status.idle": "2024-07-23T19:08:57.093120Z", + "shell.execute_reply": "2024-07-23T19:08:57.092299Z" + }, + "executionInfo": { + "elapsed": 3113, + "status": "ok", + "timestamp": 1696841025277, + "user": { + "displayName": "Rizqi Nur", + "userId": "09644007964068789560" + }, + "user_tz": -420 + }, + "id": "7Abt8nStvr9Z", + "papermill": { + "duration": 4.456209, + "end_time": "2024-07-23T19:08:57.095744", + "exception": false, + "start_time": "2024-07-23T19:08:52.639535", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "2024-07-23 19:08:54.481029: 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:08:54.481103: 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:08:54.482755: 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:08:57.120972Z", + "iopub.status.busy": "2024-07-23T19:08:57.120356Z", + "iopub.status.idle": "2024-07-23T19:08:57.127399Z", + "shell.execute_reply": "2024-07-23T19:08:57.126484Z" + }, + "papermill": { + "duration": 0.021788, + "end_time": "2024-07-23T19:08:57.129489", + "exception": false, + "start_time": "2024-07-23T19:08:57.107701", + "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:08:57.155562Z", + "iopub.status.busy": "2024-07-23T19:08:57.155254Z", + "iopub.status.idle": "2024-07-23T19:08:59.851398Z", + "shell.execute_reply": "2024-07-23T19:08:59.850586Z" + }, + "executionInfo": { + "elapsed": 20137, + "status": "ok", + "timestamp": 1696841045408, + "user": { + "displayName": "Rizqi Nur", + "userId": "09644007964068789560" + }, + "user_tz": -420 + }, + "id": "tbaguWxAvtPi", + "papermill": { + "duration": 2.712221, + "end_time": "2024-07-23T19:08:59.853954", + "exception": false, + "start_time": "2024-07-23T19:08:57.141733", + "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:08:59.882750Z", + "iopub.status.busy": "2024-07-23T19:08:59.882333Z", + "iopub.status.idle": "2024-07-23T19:08:59.889355Z", + "shell.execute_reply": "2024-07-23T19:08:59.888491Z" + }, + "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.023719, + "end_time": "2024-07-23T19:08:59.891303", + "exception": false, + "start_time": "2024-07-23T19:08:59.867584", + "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:08:59.916418Z", + "iopub.status.busy": "2024-07-23T19:08:59.916126Z", + "iopub.status.idle": "2024-07-23T19:08:59.921174Z", + "shell.execute_reply": "2024-07-23T19:08:59.920270Z" + }, + "papermill": { + "duration": 0.020013, + "end_time": "2024-07-23T19:08:59.923047", + "exception": false, + "start_time": "2024-07-23T19:08:59.903034", + "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:08:59.948806Z", + "iopub.status.busy": "2024-07-23T19:08:59.948156Z", + "iopub.status.idle": "2024-07-23T19:09:00.008836Z", + "shell.execute_reply": "2024-07-23T19:09:00.007923Z" + }, + "papermill": { + "duration": 0.075898, + "end_time": "2024-07-23T19:09:00.010940", + "exception": false, + "start_time": "2024-07-23T19:08:59.935042", + "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:09:00.037758Z", + "iopub.status.busy": "2024-07-23T19:09:00.037462Z", + "iopub.status.idle": "2024-07-23T19:09:00.619929Z", + "shell.execute_reply": "2024-07-23T19:09:00.618968Z" + }, + "executionInfo": { + "elapsed": 588, + "status": "ok", + "timestamp": 1696841049215, + "user": { + "displayName": "Rizqi Nur", + "userId": "09644007964068789560" + }, + "user_tz": -420 + }, + "id": "NgahtU1q9uLO", + "papermill": { + "duration": 0.598534, + "end_time": "2024-07-23T19:09:00.622155", + "exception": false, + "start_time": "2024-07-23T19:09:00.023621", + "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:09:00.648633Z", + "iopub.status.busy": "2024-07-23T19:09:00.648324Z", + "iopub.status.idle": "2024-07-23T19:09:00.794597Z", + "shell.execute_reply": "2024-07-23T19:09:00.793666Z" + }, + "papermill": { + "duration": 0.161892, + "end_time": "2024-07-23T19:09:00.796646", + "exception": false, + "start_time": "2024-07-23T19:09:00.634754", + "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:09:00.825014Z", + "iopub.status.busy": "2024-07-23T19:09:00.824570Z", + "iopub.status.idle": "2024-07-23T19:09:01.116606Z", + "shell.execute_reply": "2024-07-23T19:09:01.115752Z" + }, + "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.30845, + "end_time": "2024-07-23T19:09:01.118622", + "exception": false, + "start_time": "2024-07-23T19:09:00.810172", + "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:09:01.147245Z", + "iopub.status.busy": "2024-07-23T19:09:01.146875Z", + "iopub.status.idle": "2024-07-23T19:09:01.151321Z", + "shell.execute_reply": "2024-07-23T19:09:01.150530Z" + }, + "papermill": { + "duration": 0.02113, + "end_time": "2024-07-23T19:09:01.153367", + "exception": false, + "start_time": "2024-07-23T19:09:01.132237", + "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:09:01.180493Z", + "iopub.status.busy": "2024-07-23T19:09:01.179880Z", + "iopub.status.idle": "2024-07-23T19:09:01.188106Z", + "shell.execute_reply": "2024-07-23T19:09:01.186945Z" + }, + "papermill": { + "duration": 0.024152, + "end_time": "2024-07-23T19:09:01.190154", + "exception": false, + "start_time": "2024-07-23T19:09:01.166002", + "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:09:01.216879Z", + "iopub.status.busy": "2024-07-23T19:09:01.216576Z", + "iopub.status.idle": "2024-07-23T19:09:01.272962Z", + "shell.execute_reply": "2024-07-23T19:09:01.272051Z" + }, + "papermill": { + "duration": 0.07225, + "end_time": "2024-07-23T19:09:01.274903", + "exception": false, + "start_time": "2024-07-23T19:09:01.202653", + "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:09:01.304563Z", + "iopub.status.busy": "2024-07-23T19:09:01.304195Z", + "iopub.status.idle": "2024-07-23T20:10:20.895525Z", + "shell.execute_reply": "2024-07-23T20:10:20.894582Z" + }, + "papermill": { + "duration": 3679.62452, + "end_time": "2024-07-23T20:10:20.913537", + "exception": false, + "start_time": "2024-07-23T19:09:01.289017", + "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.0678184225067774, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 0.005588213705548529, 'avg_role_model_g_mag_loss': 0.004074737617474119, '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.3278607350467525, 'n_size': 805, 'n_batch': 202, 'duration': 165.16230010986328, 'duration_batch': 0.8176351490587291, 'duration_size': 0.2051705591426873, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.030219064177945256, 'avg_role_model_std_loss': 0.37389536269387463, 'avg_role_model_mean_pred_loss': 0.000622570308014474, '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.030219064177945256, 'n_size': 200, 'n_batch': 50, 'duration': 39.000004291534424, 'duration_batch': 0.7800000858306885, 'duration_size': 0.19500002145767212, 'avg_pred_std': 0.2248968607187271}\n", + "Epoch 1\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.012502651015059409, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 0.0001641063700357434, 'avg_role_model_g_mag_loss': 0.0009164749083589323, '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.01746339373180631, 'n_size': 805, 'n_batch': 202, 'duration': 165.50793957710266, 'duration_batch': 0.8193462355302112, 'duration_size': 0.2055999249405002, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.007837991984561086, 'avg_role_model_std_loss': 0.18446603773048195, 'avg_role_model_mean_pred_loss': 4.806448195601831e-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.007837991984561086, 'n_size': 200, 'n_batch': 50, 'duration': 38.81534743309021, 'duration_batch': 0.7763069486618042, 'duration_size': 0.19407673716545104, 'avg_pred_std': 0.22929478496313094}\n", + "Epoch 2\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.009252966958624513, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 0.0001273948455913331, 'avg_role_model_g_mag_loss': 0.00014017862040701003, '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.018246530427637957, 'n_size': 805, 'n_batch': 202, 'duration': 164.54449725151062, 'duration_batch': 0.8145767190668842, 'duration_size': 0.20440310217578958, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.008622142372187227, 'avg_role_model_std_loss': 0.06415549710620326, 'avg_role_model_mean_pred_loss': 6.709920428814367e-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.008622142372187227, 'n_size': 200, 'n_batch': 50, 'duration': 38.61779022216797, 'duration_batch': 0.7723558044433594, 'duration_size': 0.19308895111083985, 'avg_pred_std': 0.26070769876241684}\n", + "Epoch 3\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.00917040241682636, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 0.00012877046413326307, 'avg_role_model_g_mag_loss': 0.00026469509672628054, '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.024633946419427438, 'n_size': 805, 'n_batch': 202, 'duration': 163.96325612068176, 'duration_batch': 0.8116992877261473, 'duration_size': 0.2036810635039525, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.006780599028570577, 'avg_role_model_std_loss': 0.0864700103002724, 'avg_role_model_mean_pred_loss': 7.449305970583353e-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.006780599028570577, 'n_size': 200, 'n_batch': 50, 'duration': 38.56247401237488, 'duration_batch': 0.7712494802474975, 'duration_size': 0.19281237006187438, 'avg_pred_std': 0.2499554792046547}\n", + "Epoch 4\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.008258846284198337, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 8.857090208312294e-05, 'avg_role_model_g_mag_loss': 8.743100348420394e-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.00983282332398975, 'n_size': 805, 'n_batch': 202, 'duration': 162.83193945884705, 'duration_batch': 0.8060987101923122, 'duration_size': 0.20227570119111435, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.006366639322368428, 'avg_role_model_std_loss': 0.08586175829156673, 'avg_role_model_mean_pred_loss': 6.319855126925233e-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.006366639322368428, 'n_size': 200, 'n_batch': 50, 'duration': 38.358301639556885, 'duration_batch': 0.7671660327911377, 'duration_size': 0.19179150819778443, 'avg_pred_std': 0.2461331382393837}\n", + "Epoch 5\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.007946525693133588, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 7.688492681174575e-05, 'avg_role_model_g_mag_loss': 8.229966136563269e-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.009178422511997823, 'n_size': 805, 'n_batch': 202, 'duration': 167.88085389137268, 'duration_batch': 0.8310933360959044, 'duration_size': 0.20854764458555614, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.006919199565891177, 'avg_role_model_std_loss': 0.10517209758545505, 'avg_role_model_mean_pred_loss': 5.615463601421622e-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.006919199565891177, 'n_size': 200, 'n_batch': 50, 'duration': 37.83910822868347, 'duration_batch': 0.7567821645736694, 'duration_size': 0.18919554114341736, 'avg_pred_std': 0.2451030880212784}\n", + "Epoch 6\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.00810367663489273, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 7.0437439936462e-05, 'avg_role_model_g_mag_loss': 6.378595305097677e-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.010743453571723299, 'n_size': 805, 'n_batch': 202, 'duration': 163.77383661270142, 'duration_batch': 0.8107615673896109, 'duration_size': 0.20344575976733095, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.008878152227262036, 'avg_role_model_std_loss': 0.06865763154506567, 'avg_role_model_mean_pred_loss': 9.105243278668241e-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.008878152227262036, 'n_size': 200, 'n_batch': 50, 'duration': 39.7958242893219, 'duration_batch': 0.795916485786438, 'duration_size': 0.1989791214466095, 'avg_pred_std': 0.2563130882382393}\n", + "Epoch 7\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.007258759032550227, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 6.352785918301329e-05, 'avg_role_model_g_mag_loss': 2.4197903108892972e-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.010742660854460082, 'n_size': 805, 'n_batch': 202, 'duration': 166.08072447776794, 'duration_batch': 0.8221818043453859, 'duration_size': 0.2063114589785937, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.00649906562292017, 'avg_role_model_std_loss': 0.1028110481135127, 'avg_role_model_mean_pred_loss': 9.733586624847135e-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.00649906562292017, 'n_size': 200, 'n_batch': 50, 'duration': 39.223653078079224, 'duration_batch': 0.7844730615615845, 'duration_size': 0.19611826539039612, 'avg_pred_std': 0.24668644458055497}\n", + "Epoch 8\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.007191453428406801, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 9.202903096425699e-05, 'avg_role_model_g_mag_loss': 1.7405904089071735e-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.00827814042192207, 'n_size': 805, 'n_batch': 202, 'duration': 167.59391713142395, 'duration_batch': 0.8296728570862572, 'duration_size': 0.2081912014054956, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.007206596160540357, 'avg_role_model_std_loss': 0.15073306549924723, 'avg_role_model_mean_pred_loss': 6.950328547132678e-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.007206596160540357, 'n_size': 200, 'n_batch': 50, 'duration': 39.28061366081238, 'duration_batch': 0.7856122732162476, 'duration_size': 0.1964030683040619, 'avg_pred_std': 0.23213963508605956}\n", + "Epoch 9\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.006658591913977526, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 8.169069854140281e-05, 'avg_role_model_g_mag_loss': 3.905085303028178e-06, '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.006913509549288036, 'n_size': 805, 'n_batch': 202, 'duration': 166.50765538215637, 'duration_batch': 0.8242953236740415, 'duration_size': 0.20684180792814455, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.006455501703312621, 'avg_role_model_std_loss': 0.09663776713023253, 'avg_role_model_mean_pred_loss': 7.168342358966128e-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.006455501703312621, 'n_size': 200, 'n_batch': 50, 'duration': 39.06942319869995, 'duration_batch': 0.781388463973999, 'duration_size': 0.19534711599349974, 'avg_pred_std': 0.24575790852308274}\n", + "Epoch 10\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.0067688951527653555, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 7.610385099407138e-05, 'avg_role_model_g_mag_loss': 3.821727189218036e-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.006911972074144699, 'n_size': 805, 'n_batch': 202, 'duration': 165.55421662330627, 'duration_batch': 0.8195753298183479, 'duration_size': 0.20565741195441772, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.008691595226991922, 'avg_role_model_std_loss': 0.032955469770749916, 'avg_role_model_mean_pred_loss': 0.0001403892143608232, '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.008691595226991922, 'n_size': 200, 'n_batch': 50, 'duration': 39.26440095901489, 'duration_batch': 0.7852880191802979, 'duration_size': 0.19632200479507447, 'avg_pred_std': 0.27886303424835207}\n", + "Epoch 11\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.0070731450674870276, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 7.625924884013757e-05, 'avg_role_model_g_mag_loss': 1.985917087667477e-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.009457488646528319, 'n_size': 805, 'n_batch': 202, 'duration': 165.70731830596924, 'duration_batch': 0.8203332589404417, 'duration_size': 0.205847600380086, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.006213250611908734, 'avg_role_model_std_loss': 0.09836514882706979, 'avg_role_model_mean_pred_loss': 6.791210749291787e-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.006213250611908734, 'n_size': 200, 'n_batch': 50, 'duration': 38.82676839828491, 'duration_batch': 0.7765353679656982, 'duration_size': 0.19413384199142455, 'avg_pred_std': 0.24103660762310028}\n", + "Epoch 12\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.006663927178893539, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 6.054603205991561e-05, 'avg_role_model_g_mag_loss': 3.9537340078664866e-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.00718129382610483, 'n_size': 805, 'n_batch': 202, 'duration': 164.7477753162384, 'duration_batch': 0.8155830461199921, 'duration_size': 0.20465562151085515, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.006269088434055448, 'avg_role_model_std_loss': 0.07461379853339167, 'avg_role_model_mean_pred_loss': 6.964369989574837e-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.006269088434055448, 'n_size': 200, 'n_batch': 50, 'duration': 38.547106981277466, 'duration_batch': 0.7709421396255494, 'duration_size': 0.19273553490638734, 'avg_pred_std': 0.25254978984594345}\n", + "Epoch 13\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.006501887009807382, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 7.235938874701611e-05, 'avg_role_model_g_mag_loss': 1.045297484220185e-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.006659967093027098, 'n_size': 805, 'n_batch': 202, 'duration': 163.83468580245972, 'duration_batch': 0.8110628010022758, 'duration_size': 0.20352134882293133, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.006524221992585808, 'avg_role_model_std_loss': 0.0809234182246655, 'avg_role_model_mean_pred_loss': 6.45635908019987e-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.006524221992585808, 'n_size': 200, 'n_batch': 50, 'duration': 38.57781767845154, 'duration_batch': 0.7715563535690307, 'duration_size': 0.19288908839225768, 'avg_pred_std': 0.24661888152360917}\n", + "Epoch 14\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.0066072155237024335, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 6.446444105765841e-05, 'avg_role_model_g_mag_loss': 2.9816608066144197e-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.008248939314388571, 'n_size': 805, 'n_batch': 202, 'duration': 163.77865171432495, 'duration_batch': 0.8107854045263612, 'duration_size': 0.203451741260031, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.006204466016497463, 'avg_role_model_std_loss': 0.07782338171688025, 'avg_role_model_mean_pred_loss': 7.815482216324776e-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.006204466016497463, 'n_size': 200, 'n_batch': 50, 'duration': 38.410754442214966, 'duration_batch': 0.7682150888442993, 'duration_size': 0.19205377221107484, 'avg_pred_std': 0.2475986224412918}\n", + "Epoch 15\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.006402458171743426, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 5.508119359238928e-05, 'avg_role_model_g_mag_loss': 2.3713099382678914e-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.03849275416643243, 'n_size': 805, 'n_batch': 202, 'duration': 162.69616794586182, 'duration_batch': 0.805426573989415, 'duration_size': 0.20210704092653642, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.007182676501106471, 'avg_role_model_std_loss': 0.1394282023998312, 'avg_role_model_mean_pred_loss': 7.888157885396652e-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.007182676501106471, 'n_size': 200, 'n_batch': 50, 'duration': 38.25847339630127, 'duration_batch': 0.7651694679260254, 'duration_size': 0.19129236698150634, 'avg_pred_std': 0.23838794678449632}\n", + "Epoch 16\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.00624291034110226, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 6.473844844240772e-05, 'avg_role_model_g_mag_loss': 1.4877699963424518e-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.006509116066472246, 'n_size': 805, 'n_batch': 202, 'duration': 163.3781077861786, 'duration_batch': 0.8088025137929633, 'duration_size': 0.20295417116295478, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.006404206852894276, 'avg_role_model_std_loss': 0.06971469198141221, 'avg_role_model_mean_pred_loss': 8.732621343238378e-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.006404206852894276, 'n_size': 200, 'n_batch': 50, 'duration': 38.5238037109375, 'duration_batch': 0.77047607421875, 'duration_size': 0.1926190185546875, 'avg_pred_std': 0.25520001113414764}\n", + "Epoch 17\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.00617169747858938, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 5.567908200851033e-05, 'avg_role_model_g_mag_loss': 1.5757737322623687e-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.09743820066825087, 'n_size': 805, 'n_batch': 202, 'duration': 160.67264890670776, 'duration_batch': 0.7954091530035038, 'duration_size': 0.19959335267914008, 'avg_pred_std': nan}\n", + "Time out: 3641.3335909843445/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.007074858341948129, 'avg_g_mag_loss': 0.0009892691085196504, 'avg_g_cos_loss': 0.00023053077049553394, 'pred_duration': 0.49391770362854004, 'grad_duration': 0.2762315273284912, 'total_duration': 0.7701492309570312, 'pred_std': 0.22842469811439514, 'std_loss': 0.005842006299644709, 'mean_pred_loss': 7.306918269023299e-05, 'pred_rmse': 0.08411217480897903, 'pred_mae': 0.059248924255371094, 'pred_mape': 0.11475685238838196, 'grad_rmse': 0.0622507780790329, 'grad_mae': 0.044664330780506134, 'grad_mape': 0.7779319882392883}, '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.007074858341948129, 'avg_g_mag_loss': 0.0009892691085196504, 'avg_g_cos_loss': 0.00023053077049553394, 'avg_pred_duration': 0.49391770362854004, 'avg_grad_duration': 0.2762315273284912, 'avg_total_duration': 0.7701492309570312, 'avg_pred_std': 0.22842469811439514, 'avg_std_loss': 0.005842006299644709, 'avg_mean_pred_loss': 7.306918269023299e-05}, 'min_metrics': {'avg_loss': 0.007074858341948129, 'avg_g_mag_loss': 0.0009892691085196504, 'avg_g_cos_loss': 0.00023053077049553394, 'pred_duration': 0.49391770362854004, 'grad_duration': 0.2762315273284912, 'total_duration': 0.7701492309570312, 'pred_std': 0.22842469811439514, 'std_loss': 0.005842006299644709, 'mean_pred_loss': 7.306918269023299e-05, 'pred_rmse': 0.08411217480897903, 'pred_mae': 0.059248924255371094, 'pred_mape': 0.11475685238838196, 'grad_rmse': 0.0622507780790329, 'grad_mae': 0.044664330780506134, 'grad_mape': 0.7779319882392883}, 'model_metrics': {'lct_gan': {'avg_loss': 0.007074858341948129, 'avg_g_mag_loss': 0.0009892691085196504, 'avg_g_cos_loss': 0.00023053077049553394, 'pred_duration': 0.49391770362854004, 'grad_duration': 0.2762315273284912, 'total_duration': 0.7701492309570312, 'pred_std': 0.22842469811439514, 'std_loss': 0.005842006299644709, 'mean_pred_loss': 7.306918269023299e-05, 'pred_rmse': 0.08411217480897903, 'pred_mae': 0.059248924255371094, 'pred_mape': 0.11475685238838196, 'grad_rmse': 0.0622507780790329, 'grad_mae': 0.044664330780506134, 'grad_mape': 0.7779319882392883}}}\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:10:20.950164Z", + "iopub.status.busy": "2024-07-23T20:10:20.949359Z", + "iopub.status.idle": "2024-07-23T20:10:20.953804Z", + "shell.execute_reply": "2024-07-23T20:10:20.952939Z" + }, + "papermill": { + "duration": 0.024899, + "end_time": "2024-07-23T20:10:20.955647", + "exception": false, + "start_time": "2024-07-23T20:10:20.930748", + "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:10:20.990203Z", + "iopub.status.busy": "2024-07-23T20:10:20.988937Z", + "iopub.status.idle": "2024-07-23T20:10:21.008643Z", + "shell.execute_reply": "2024-07-23T20:10:21.007843Z" + }, + "papermill": { + "duration": 0.039035, + "end_time": "2024-07-23T20:10:21.010637", + "exception": false, + "start_time": "2024-07-23T20:10:20.971602", + "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:10:21.043948Z", + "iopub.status.busy": "2024-07-23T20:10:21.043660Z", + "iopub.status.idle": "2024-07-23T20:10:21.319203Z", + "shell.execute_reply": "2024-07-23T20:10:21.318303Z" + }, + "papermill": { + "duration": 0.294699, + "end_time": "2024-07-23T20:10:21.321310", + "exception": false, + "start_time": "2024-07-23T20:10:21.026611", + "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:10:21.357582Z", + "iopub.status.busy": "2024-07-23T20:10:21.357272Z", + "iopub.status.idle": "2024-07-23T20:10:59.810369Z", + "shell.execute_reply": "2024-07-23T20:10:59.809485Z" + }, + "papermill": { + "duration": 38.473825, + "end_time": "2024-07-23T20:10:59.812789", + "exception": false, + "start_time": "2024-07-23T20:10:21.338964", + "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:10:59.849764Z", + "iopub.status.busy": "2024-07-23T20:10:59.849417Z", + "iopub.status.idle": "2024-07-23T20:10:59.871194Z", + "shell.execute_reply": "2024-07-23T20:10:59.870286Z" + }, + "papermill": { + "duration": 0.042535, + "end_time": "2024-07-23T20:10:59.873113", + "exception": false, + "start_time": "2024-07-23T20:10:59.830578", + "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.0001120.0086860.0070750.2823170.0446640.7779320.0622510.0000730.4982010.0592490.1147570.0841120.2284250.0058420.780518
\n", + "
" + ], + "text/plain": [ + " avg_g_cos_loss avg_g_mag_loss avg_loss grad_duration grad_mae \\\n", + "lct_gan 0.000112 0.008686 0.007075 0.282317 0.044664 \n", + "\n", + " grad_mape grad_rmse mean_pred_loss pred_duration pred_mae \\\n", + "lct_gan 0.777932 0.062251 0.000073 0.498201 0.059249 \n", + "\n", + " pred_mape pred_rmse pred_std std_loss total_duration \n", + "lct_gan 0.114757 0.084112 0.228425 0.005842 0.780518 " + ] + }, + "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:10:59.908001Z", + "iopub.status.busy": "2024-07-23T20:10:59.907692Z", + "iopub.status.idle": "2024-07-23T20:11:00.177297Z", + "shell.execute_reply": "2024-07-23T20:11:00.176282Z" + }, + "papermill": { + "duration": 0.289506, + "end_time": "2024-07-23T20:11:00.179348", + "exception": false, + "start_time": "2024-07-23T20:10:59.889842", + "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:11:00.217496Z", + "iopub.status.busy": "2024-07-23T20:11:00.217170Z", + "iopub.status.idle": "2024-07-23T20:11:39.557572Z", + "shell.execute_reply": "2024-07-23T20:11:39.556762Z" + }, + "papermill": { + "duration": 39.362642, + "end_time": "2024-07-23T20:11:39.559984", + "exception": false, + "start_time": "2024-07-23T20:11:00.197342", + "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:11:39.598013Z", + "iopub.status.busy": "2024-07-23T20:11:39.597672Z", + "iopub.status.idle": "2024-07-23T20:11:39.611776Z", + "shell.execute_reply": "2024-07-23T20:11:39.611012Z" + }, + "papermill": { + "duration": 0.035907, + "end_time": "2024-07-23T20:11:39.613816", + "exception": false, + "start_time": "2024-07-23T20:11:39.577909", + "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:11:39.649131Z", + "iopub.status.busy": "2024-07-23T20:11:39.648834Z", + "iopub.status.idle": "2024-07-23T20:11:39.653933Z", + "shell.execute_reply": "2024-07-23T20:11:39.653055Z" + }, + "papermill": { + "duration": 0.025048, + "end_time": "2024-07-23T20:11:39.655959", + "exception": false, + "start_time": "2024-07-23T20:11:39.630911", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'lct_gan': 0.7506140228360891}\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:11:39.690836Z", + "iopub.status.busy": "2024-07-23T20:11:39.690542Z", + "iopub.status.idle": "2024-07-23T20:11:40.054542Z", + "shell.execute_reply": "2024-07-23T20:11:40.053568Z" + }, + "papermill": { + "duration": 0.383955, + "end_time": "2024-07-23T20:11:40.056622", + "exception": false, + "start_time": "2024-07-23T20:11:39.672667", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAToAAAE8CAYAAABQG31BAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuNSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/xnp5ZAAAACXBIWXMAAA9hAAAPYQGoP6dpAABMzElEQVR4nO3deXxU5b348c+ZfSbJTBJCVhIIi2FfZQlWAaUiUmuurddqW0BF7e/qrUq990pvr7baW9paBdpatNdKtBa3arEVFSmKqODCKouibAlLFiD7JJn1/P44mUmGJJBllizf9+s1r2TOPOfMc5LMN8/+KKqqqgghRB+mi3UGhBAi0iTQCSH6PAl0Qog+TwKdEKLPk0AnhOjzJNAJIfo8CXRCiD5PAp0Qos+TQCeE6PMk0ImwKywsRFEUjh07FuusCAFIoBM9xNq1a1m5cmWssyH6KAl0okeQQCciSQKdEKLPk0AnouLNN99k1qxZJCQkYLfbmTp1KmvXrgVg9uzZrF+/nqKiIhRFQVEUhgwZ0uFr+/1+fvrTn5KZmYnNZmPOnDkcOHCAIUOGsHjx4mC6iooK7rvvPsaNG0d8fDx2u5358+ezZ8+ekOtt3rwZRVF46aWX+N///V8GDRqExWLhiiuu4NChQ+H4cYgoM8Q6A6LvKyws5JZbbmHMmDEsW7aMxMREdu3axVtvvcVNN93Ef//3f1NdXc2JEydYsWIFAPHx8R2+/rJly/j1r3/NNddcw7x589izZw/z5s2jsbExJN2RI0dYt24d119/Pbm5uZSVlfHkk08ya9YsDhw4QGZmZkj6X/7yl+h0Ou677z6qq6v59a9/zXe/+10+/vjj7v9QRHSpQoTZmjVrVEA9evSoWlVVpSYkJKjTp09XGxoaQtL5/f7g9wsWLFAHDx7c6fcqLS1VDQaDWlBQEHL8pz/9qQqoixYtCh5rbGxUfT5fSLqjR4+qZrNZfeihh4LH3n33XRVQR40apbpcruDxVatWqYC6d+/eTudTxJZUXUVEbdy4kdraWu6//34sFkvIa4qidPv6mzZtwuv18m//9m8hx//93/+9VVqz2YxOp/3J+3w+zp49S3x8PHl5eezcubNV+ptvvhmTyRR8fumllwJayVD0LhLoREQdPnwYgLFjx0bk+kVFRQAMHz485HhycjJJSUkhx/x+PytWrGDEiBGYzWZSUlIYOHAgn332GdXV1a2unZOTE/I8cL3Kyspw3oKIAgl0ot/4xS9+wdKlS7nssst47rnn2LBhAxs3bmTMmDH4/f5W6fV6fZvXUWX3gV5HOiNERA0bNgyAffv2tSp1tdTVauzgwYMBOHToELm5ucHjZ8+ebVXy+utf/8qcOXP405/+FHK8qqqKlJSULr2/6B2kRCci6sorryQhIYHly5e36gVtWTKKi4trs/p4IVdccQUGg4HVq1eHHP/973/fKq1er29VGnv55Zc5efJkp99X9C5SohMRZbfbWbFiBUuWLGHq1KncdNNNJCUlsWfPHurr63nmmWcAmDJlCi+++CJLly5l6tSpxMfHc80111zw+mlpadx99908+uijfPOb3+Sqq65iz549vPnmm6SkpISUFL/xjW/w0EMPcfPNNzNz5kz27t3LX/7yF4YOHRqx+xc9RIx7fUUf1HJ4ScDf//53debMmarValXtdrs6bdo09fnnnw++XldXp950001qYmKiCnRqqInX61X/53/+R01PT1etVqt6+eWXq59//rk6YMAA9Qc/+EEwXWNjo/qjH/1IzcjIUK1Wq3rJJZeo27ZtU2fNmqXOmjUrmC4wvOTll18OeZ+jR4+qgLpmzZrO/khEjCmqKi2rou+pqqoiKSmJn//85/z3f/93rLMjYkza6ESv19DQ0OpYYIGA2bNnRzczokeSNjrRY50+fRqfz9fu6yaTieTkZF588UUKCwu5+uqriY+P54MPPuD555/nyiuv5JJLLolijkVPJYFO9FhTp04NDghuy6xZs9i8eTPjx4/HYDDw61//mpqammAHxc9//vMo5lb0ZDFto1u9ejWrV68OrkQ7ZswYHnjgAebPn99m+sLCQm6++eaQY2azudWwBdE3fPjhh21WSwOSkpKYMmVKFHMkequYlugGDRrEL3/5S0aMGIGqqjzzzDNce+217Nq1izFjxrR5jt1u5+DBg8Hn4ZgvKXomqXaKcIlpoDt3nNT//u//snr1aj766KN2A52iKKSnp0cje0KIPqLHtNH5fD5efvllnE4n+fn57aarq6tj8ODB+P1+Jk+ezC9+8Yt2gyKAy+XC5XIFn/v9fioqKhgwYICUBoXogVRVpba2lszMzOBqM+G4aEx99tlnalxcnKrX61WHw6GuX7++3bRbt25Vn3nmGXXXrl3q5s2b1W98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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:11:40.095763Z", + "iopub.status.busy": "2024-07-23T20:11:40.095450Z", + "iopub.status.idle": "2024-07-23T20:11:40.454900Z", + "shell.execute_reply": "2024-07-23T20:11:40.453952Z" + }, + "papermill": { + "duration": 0.381752, + "end_time": "2024-07-23T20:11:40.456988", + "exception": false, + "start_time": "2024-07-23T20:11:40.075236", + "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:11:40.496564Z", + "iopub.status.busy": "2024-07-23T20:11:40.496245Z", + "iopub.status.idle": "2024-07-23T20:11:40.668756Z", + "shell.execute_reply": "2024-07-23T20:11:40.667798Z" + }, + "papermill": { + "duration": 0.194847, + "end_time": "2024-07-23T20:11:40.670910", + "exception": false, + "start_time": "2024-07-23T20:11:40.476063", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAS8AAAEmCAYAAAAz0RYQAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuNSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/xnp5ZAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA1/ElEQVR4nO3de3gU5dk/8O/MHpPsIefNJgQDgoBFDsILDZYqLZDCK4JU5RKFgIpV5K2ai6rUEl7KT9FXQWxL5aoV8QyiSLWmQIjEUqXKKRaQBAiHQLK7OZHdbJI9zvP7Y7Njlpw2kGR3du/PdemyszOz92R2733mmWfu4RhjDIQQIjF8qAMghJCrQcmLECJJlLwIIZJEyYsQIkmUvAghkkTJixAiSZS8CCGSRMmLECJJ8lAH0N8EQUBVVRW0Wi04jgt1OISQKzDG0NjYiPT0dPB85+2rqEteVVVVyMzMDHUYhJBuXLx4EQMGDOj09ahLXlqtFoDvD6PT6UIcTd9xu93Ys2cPpk+fDoVCEepwSC+Iln1qs9mQmZkpflc7E3XJy3+oqNPpIj55xcbGQqfTRfQHPZpE2z7trluHOuwJIZJEyYsQIkmUvAghkhTS5PXPf/4Ts2bNQnp6OjiOw86dO7tdpri4GDfffDNUKhWGDBmCLVu29HmchJDwE9Lk1dTUhNGjR2Pjxo1BzX/u3Dn893//N6ZMmYKSkhI88cQTeOihh7B79+4+jpQQEm5CerZxxowZmDFjRtDzb9q0CYMGDcK6desAACNGjMC//vUvvPLKK8jJyemrMAkhYUhSQyUOHDiAqVOnBkzLycnBE0880ekyTqcTTqdTfG6z2QD4Tju73e4+iTMc+Lctkrcxkv34xz+GxWKBwBi8AgNjQH1dDZggQCaTISEpGTKeA89xMBgMKCj6Jyw2Bww6NRLjlKEO/5oE+5mVVPIym80wGAwB0wwGA2w2G1paWhATE9NumbVr12L16tXtpu/ZswexsbF9Fmu4KCwsDHUI5CpcuHABdXV1Hb4mCAKqzSbxucPhwL+/3AsAONcv0fWt5ubmoOaTVPK6GitWrEBeXp743D96d/r06RE/SLWwsBDTpk2LigGNkea6666DWq0OaHnV1VggCAJ4nkdyqiGg5fXjW6dGTMvLf3TUHUklr7S0NFgsloBpFosFOp2uw1YXAKhUKqhUqnbTFQpFVHypo2U7I83hw4fbTRswYAAqKythNBpx6dKldq8b4uP6I7Q+F+znVVLjvLKzs1FUVBQwrbCwENnZ2SGKiBASKiFNXna7HSUlJSgpKQHgGwpRUlKCiooKAL5DvoULF4rzP/LIIzh79iyeeuoplJaW4s9//jM+/PBDPPnkk6EInxASQiFNXocOHcLYsWMxduxYAEBeXh7Gjh2L/Px8AIDJZBITGQAMGjQIn3/+OQoLCzF69GisW7cOf/3rX2mYBCFRKKR9Xrfddhu6umF3R6Pnb7vtNhw9erQPoyIkvNTZnTBZHRDo5vYBJNVhT0g0MlkdOFpxGQ63FwAgMCYmNIfLg0sNLRiZrscQQ9f1ryINJS9CwpxRr8YZtRxewdfycnkE7D9dg8YWLxpanDBbfYOwoy15SepsIyHRKEmjwuShKeBbi/N5BQaz1YGGFicyE2Kgi5HB5faizu7sZk2RhZIXIRKQpFFBIfN9XWU8hzS9GvGxSoDjEKtQwNLogsnqCHGU/YsOGwmRCLnM1/JSynlMHpoCk9UBtZxHilYNgMGoV4c2wH5GyYsQifAfNvIchySNCkka35Uj0dbX5UeHjYQQSaKWFyFhwj/8wahXI0mjQp3diVJzI45cqMOxShsaHb5SMXaHG5v3l2OYUY/haVqxBRZtKHkREiZMVgdOW+wAfB30JqsDhSdM2HvSApvDA6dHAAA4PQI+PnIJI4yNuPPmDNwyJCWUYYcMJS9CwoS/w92oV6PO7oS1xQWnWwAYg4xjkLX2ecllPPRqJS7WNWPvCQsMWnVU9ntR8iIkDGzfvh35+flobGwEALi9DG6vAI9XgNMjgAFwN9YDAJobavH5s3fC5RXwN8awQSFDnMr3VdZqtVizZg3uuuuuUG1Kv+FYVxcXRiCbzQa9Xg+r1RpRxQjHjx8Ps9kMABAYUFNdDUHwtpYMTmktXOebNy0tDbuLvwroXyGhNWLECJSWlvbKuoYPH46TJ0/2yrpCIdjvKLW8IoTZbEZlZWW76b6SwVXtpl/Zv0JCy9/i4nkeRqMRAgM8XgECYxCY73rGxst1ABPAcTziW2vYewUGuYyHnOdgMpkgCIK4rkhHyStCJCSlotnlBc/5RmDXVv9QMjgpxVf3Xy7jwXO+llfb/hUSPvxVUo9XWnHaYsdQgwZGvRomqwMpcXL8+8u9GDT2J8hI1LT70fFXWo0WlLwkzn96/elNO7DruBmCwPBfgxKwev6tsNZVI1afhIdf2wWtSoFBKbFweRiSNL4a5yMz9CGOnnSmox+XhiYXAODS5RY0ugQMT/MdUvkP/6MNJS+J8x/+JWmUUPBAeX0LGk440dJaPsXpEbD7uAkjjHo4PV5UWR1I1iiRmRhHh4thrO0I+n8cM+Gr07UYmKCEAcDWby4gPVGLmuudSNGqUW2Lrguy/Sh5SZT/7JTV1givwCAwBrvTA6H13x77ZQCA234ZJS/dh/9wHFQKHl6Bgec4vK6UQSHjo+rslFRV1Nlxts6OOIUGBgAujxe19haYrQ6kaFXioWVrxRzxMdJR8pKo/Pz84M5OMQGeRt/9/1xtJtvb/HvlypWUvMKEwIDjlVbxMLDU3IgmtxdJMUq4Bd8g1WStGvq4GLi9QsAYL3+9L2+UZC9KXhJ15dmpFpcXTS5fywvg4Gm6DA4MAjjIYuPB8/CVVGGATMYhVilHjcUcVWenpMArMBy90IAzMTKkaFU4cr4BJy5ZcaGuGR5vDEbHA4LAoJAB8bFKWBodcHgEqOW8WFJd5h8TE+EoeUmcIc2IXd+cgFrO49W9p/DVmRoAHHRqDk8Ob8H/OyqDzc0hMzEGg5O10MfK8bPhBkwYlITRw6+PqrNTUiDjOWhjZDhbY8cpiw3JGhVM1hbUNbmgV8mAeMDu9mK0Xo2xAxNgbXHjtMUOjmPwtiavKMldlLykqrq6GgBgMZtw683DIeM4eAQBLo8AxgAvY3hQzmBzA4wBF2U8Dsp4MACvc4BKLkNttTlgXST0eA6YPDQFF+ubcbamCbYWD0YY4xEf04KZP0oB6i5jaEocEuJUMOrVMOrV0McooJbzkPPRVSSGkpdEeb2tN2MQBNS3JqErtT0H5QHQ0s26SHhI0qgwY6QRAOD2ChicpcHkoSnQqXgUFJxAQpwK52qasF9eg8lDU8QhLwpZlDS5WlHykiiZTCYOQm07ItsjMLg8XngFhjg5g0PwtbZUch48x8EjMChlPJRyXhyRLZPJQr05pAOJcUokxikxYVASAOCkyQYAGJ2px4V6J8xWB/af9iWwaBz2QslLolJTU1FZWSmOyParszvx7bk6XKprRKq1FD++dSrkcjlMVgcu1jfjjMWOm7MScMuQZHFEdmpqagi3hHTkeJUV31c14r8GJSBJo8LxSivKq5vAA/jx4GTcmPHDHYRMVgclLyJ9SRoVZtyUjv9U1OHcUcBic4CXyXHaYodawSEzKQYGbfR90MOdv9/RZDJhwIAB8AgMHq+AN2Q8lnIcnB4vPF4BCnihVKkAcGILW8ZzUMplsJhNAeuKdJS8IpRBp8a51ke53LebrS0uVNtccLQWtSPho20f5rWeAY6WPkxKXhGozu6Exea7DVZinBIKhUIsK6yPic7r4MLdlX2YgK+ml0fwnT12t1aYiOEFNHk4yHgePO+7GYec58BzHGprLGBR1IdJySsCmawOsX+krbbXy5Hw0lEfpv+ie7Wcx/EqKywNTUizleKLpgwkalRQK+SIVcgxZUQqjHo1bhw6GNXmqqjpw6TkFYGMejUErwfnaPyppPl/aExWB0am6zE4KQbnjgIP/mQQYlW+0fUAJxaUpKESRJLa3nmGRA5/1ZChBg1GGHU4dxQYYdRBoVBEZd36tih5RYi2lVEB4MCZOqQBOFttx7CMhNAFRq6JUa+GtcUFa4sb9U2u7heIItF1PUEEM+rVGGrQQC3ncbG+GefqfBdbnzT7BjbW2Z04XmlFnT06az9JhdvLAvZRkkYFfYwS1bYfTsIQH0peEaDtIaPDI+CMxY5YpQIAMKJNtc3TFjtMVvoChDOPILTbR/4fJoOOugTaosPGCND2kNGoV+PmrAQIXg3qS89hcKpGnN72kYQnOc+320f+jvvvK30FJs9W2+EGH/V3fqLkFQHaJqYkjQq3DFHB0tCEf5cC9U0uGOIVNExCIhQyrsP9ZLI68F1FAzLh6wpgnO+re7nJheNVVoxMj777EVDyigAdJSZ//8gpSyOOXLShvsmJiYOSov4MlVQZ9WqMHhiP+lJfV4C/5bX/dA0Onrsc6vBCgpJXBKqzO3HpcjMA4NCFWhyrbAbHAXEqOSUviUrSqPDjwUkoKAUGp2qgUPj6NP0tLmp5kYhgsjpwtqYJmQBKqxohCDy0ahlcHgF1dicdPkqUf6hEfZMLcrkgnqSZM3ZAiCMLDTrbGGHq7E5crG+CSu4bbZ2sUSNZq0ScSoH/XLSi1Ez16qXqlMUmPtLZ4zBIXhs3bkRWVhbUajUmTpyIb7/9tsv5N2zYgGHDhiEmJgaZmZl48skn4XBE7w68ksnqwH8qrThe5fugqxQ80uNjkKhRQBsjBxAdd5aJTJz46B8+Ec1nj0N62Lht2zbk5eVh06ZNmDhxIjZs2ICcnByUlZV1eHHp+++/j2eeeQabN2/GpEmTcOrUKSxatAgcx2H9+vUh2ILwY9SrMSA+BuUmKxAHNDk9GDUwCSPT9XB4hKj+sEtZ24GrjQ4PSs02DE/TRXUXQEiT1/r167FkyRIsXrwYALBp0yZ8/vnn2Lx5M5555pl283/99de45ZZbMH/+fABAVlYW7r33XnzzzTf9Gnc4S9Ko8IuRRig4ATBboJDxGBAfQx31EmeyOlDb6AIP3zgvxrdAH6Ok5BUKLpcLhw8fxooVK8RpPM9j6tSpOHDgQIfLTJo0Ce+++y6+/fZbTJgwAWfPnkVBQQEWLFjQ6fs4nU44nT/8atlsvsMpt9sNt9vdS1sTWlduh07F44bUOFwwA43NLlyqt2P0AB3qm1yw2Bww6NRIjFN2uQ4SOh3ti5Q4OepjeVwGEKcE6podaG5xwO2ODXodUhFs7CFLXrW1tfB6vTAYDAHTDQZDp3eCnj9/Pmpra/GTn/wEjDF4PB488sgj+O1vf9vp+6xduxarV69uN33Pnj2Ije14x0uBv5/P4XCgoKCg0/l+pjMDl8wouFQiTjvXw3WQvteTfZHYUIZEAKYTZ2E6cXXrCGfNzc1BzSepoRLFxcV4/vnn8ec//xkTJ07EmTNn8Pjjj2PNmjVYuXJlh8usWLECeXl54nObzYbMzExMnz4dOp2uv0LvdWq1WnycOXNmu9fdbjcKCwsxbdo0cUzQlS2v7tZB+k8w+6La2oxDXxXDMHw8zHYPRqTpxMu/gl2HFPiPjroTsuSVnJwMmUwGi8USMN1isSAtLa3DZVauXIkFCxbgoYceAgDcdNNNaGpqwsMPP4xnn30WfAc33VSpVFCp2vcLKBQK8UstdV1tR9vtNMQrYIiP6/E6SP/qbF+k6n1HCuMGp4rzdFbHTcr7M9jYQzZUQqlUYty4cSgqKhKnCYKAoqIiZGdnd7hMc3NzuwTlr9fNGA0BINGhvsklljeK5vFeIT1szMvLQ25uLsaPH48JEyZgw4YNaGpqEs8+Lly4EBkZGVi7di0AYNasWVi/fj3Gjh0rHjauXLkSs2bNipqbDlyLtr/S0XyWSuosNgfKa33JKpqrhYQ0ec2bNw81NTXIz8+H2WzGmDFjsGvXLrETv6KiIqCl9bvf/Q4cx+F3v/sdKisrkZKSglmzZuG5554L1SZIStvSOZS8pMva4kaqTin+CEXrvgx5h/2yZcuwbNmyDl8rLi4OeC6Xy7Fq1SqsWrWqHyKTJofDge3bt2PHjh04U34GW7Zswdy5c3H33XdH9a+0lF25TzXJA3DH7DkY96vcUIcWUiG/PIj0nk8//RTpA9KxcOFC7P1+Ly7GXMTe7/di4cKFSB+Qjq/37cHIDH3U/lJLUUf79Hjlv/DbJx5B+oB0fPbZZ6EOMWRC3vIivePTTz/FnXfeCc0YDYb+ZihUaT8kKKfZCcuHFsyZMweffPIJ7rjjjhBGSoJF+7Rr1PKKAA6HA4seWATNGA0yl2UGfMgBQJWmQuayTGjGaLDogUV0IbsE0D7tHiWvCLB9+3ZcrrsMwz0GcHzHNx7leA6Guw24XHcZH330UT9HSHqK9mn3KHlFgJ07d0Jzg6bdr/OVVEYVNDdo8Mknn/RTZORq0T7tHiWvCFB/uR6y+ODGufHxPOov1/dxRORa0T7tHiWvCJCYkAhvgzeoeYUGAYkJiX0cEblWtE+7R8krAsyZMwf2U3Y4zV3fDdtpcsJ+yo4777yznyIjV4v2afcoeUWAu+++GwlJCbB8aAETOr7GkwkMlu0WJCQl4K677urnCElP0T7tHiWvCKBWq/HWm2/BXmLHxT9dbPdr7TQ5cfFPF2EvseOtN98SS6eQ8EX7tHs0SDVCzJo1C5988gkWPbAIp585jbgbNJDF8xAaBNhP2ZGQlICdO3di1qxZoQ6VBOnKfaq5QQOe9qmIklcEueOOO1B1qQofffQRPv74Y5wpP4MhNw7BL1f+EnfddVdU/jpLnX+fvvnuB/j44x2wVJ6nfdqKkleEUavVuP/++zFv3jwUFBRg5syZki5MR3z7dPKMueCvn4Q0WymGj/8phmUkhDqskKM+L0IkwKhXw+0VAAAnzcGVSY50lLwICWN1dieOV1oBANNG+Mqjj0iT7r0XehMlrwjXtmQwkZ62ZZ79N9toe9ONaEZ9XhGubclgquMlPVRAsnM9bnmdPXu2L+IgfcSgU2OoQUMffolK0qjaFZA8abJRSxpXkbyGDBmCKVOm4N13343KGkJSkxinpOqpEaa8uikq7xZ0pR4nryNHjmDUqFHIy8tDWloafvWrX+Hbb7/ti9gIIR24PjWOWtK4iuQ1ZswYvPrqq6iqqsLmzZthMpnwk5/8BCNHjsT69etRU1PTF3ESQlqNMOqoJY1rONsol8sxd+5cbN++HS+++CLOnDmD5cuXIzMzEwsXLoTJZOrNOAkhJMBVJ69Dhw5h6dKlMBqNWL9+PZYvX47y8nIUFhaiqqoKs2fP7s04CSEkQI+HSqxfvx5vvvkmysrKMHPmTLz99tuYOXOmeHPYQYMGYcuWLcjKyurtWAkhRNTj5PXaa6/hgQcewKJFi2A0GjucJzU1FW+88cY1B0cIIZ3pcfIqLCzEwIEDxZaWH2MMFy9exMCBA6FUKpGbG9138yXkWtXZnTBZHTDq1dRB34Ee93ldf/31qK2tbTe9vr4egwYN6pWgCCGBlwaR9nrc8mKs45K0drs9qmsLEdLbOrs0qL7JhZqm5qhvkQWdvPLy8gAAHMchPz8fsbGx4mterxfffPMNxowZ0+sBEhKtkjSqDpMTXa/qE3TyOnr0KABfy+vYsWNQKpXia0qlEqNHj8by5ct7P0JCSACDTg1eJo/6UfZBJ699+/YBABYvXoxXX30VOh3VFCIkFBLjlDDEx4U6jJDrcZ/Xm2++2RdxEEJIjwSVvObOnYstW7ZAp9Nh7ty5Xc67Y8eOXgmMEEK6ElTy0uv14DhO/DchhIRaUMmr7aEiHTYS0rdocGpwqAw0IWHGPzgViO6hEN0JKnmNHTtWPGzszpEjR64pIEKiHdWtD05QyWvOnDl9HAYhxK+zwakkUFDJa9WqVX0WwMaNG/HSSy/BbDZj9OjR+OMf/4gJEyZ0On9DQwOeffZZ7NixA/X19bjuuuuwYcMGzJw5s89iJISEn5D2eW3btg15eXnYtGkTJk6ciA0bNiAnJwdlZWVITU1tN7/L5cK0adOQmpqKjz76CBkZGbhw4QLi4+P7P3hCSEgFlbwSExNx6tQpJCcnIyEhocv+r/r6+qDffP369ViyZAkWL14MANi0aRM+//xzbN68Gc8880y7+Tdv3oz6+np8/fXXUCgUAEBFDwmJUkElr1deeQVarVb8d7Cd911xuVw4fPgwVqxYIU7jeR5Tp07FgQMHOlzm008/RXZ2Nh577DH87W9/Q0pKCubPn4+nn34aMpmsw2WcTieczh/ucWez2QAAbrcbbrf7mrcjHHS0Hf5pwW5jpPwtIkFn+6In+1TK+zPY2INKXm0LCy5atOiqArpSbW0tvF4vDAZDwHSDwYDS0tIOlzl79iy++OIL3HfffSgoKMCZM2ewdOlSuN3uTvvl1q5di9WrV7ebvmfPnoDKGFLjv2emw+FAQUFBp/MVFhZe8zpI3+vJvuhsn0bK/mxubg5qvh73eclkMphMpnZ9UnV1dUhNTYXX6+3pKoMmCAJSU1Pxl7/8BTKZDOPGjUNlZSVeeumlTpPXihUrxHI+gK/llZmZienTp0v64nJ/7TS1Wt3hyQq3243CwkJMmzZNPMTu6TpI/+lqX9Q3uWCxOZAUK8ehr4o73aeRsj/9R0fd6bVihE6nM6BMTneSk5Mhk8lgsVgCplssFqSlpXW4jNFohEKhCDhEHDFiBMxmM1wuV4fvr1KpoFK1P+2sUCg6/VJLTVfbEex2RsrfIhJcuS9qmpp99buS1eLr3e0vKe/PYGMPOnn94Q9/AOArRvjXv/4VGo1GfM3r9eKf//wnhg8fHnSASqUS48aNQ1FRkTiOTBAEFBUVYdmyZR0uc8stt+D999+HIAhiDf1Tp07BaDT2KHESIiX+waopcXKcC3Es4STo5PXKK68A8LW8Nm3aFND6USqVyMrKwqZNm3r05nl5ecjNzcX48eMxYcIEbNiwAU1NTeLZx4ULFyIjIwNr164FADz66KP405/+hMcffxz/8z//g9OnT+P555/Hr3/96x69LyFS4h+0KuVO+L4QdPI6d86X86dMmYIdO3YgISHhmt983rx5qKmpQX5+PsxmM8aMGYNdu3aJnfgVFRUBdynKzMzE7t278eSTT2LUqFHIyMjA448/jqeffvqaY4l0dLEviTQ97vPyV1TtLcuWLev0MLG4uLjdtOzsbPz73//u1RiiAV3sG94qKyvFxwEDBgAAPAKDxytALvP9gNfWVIMJAnhehsTkFMh4DjwHCAzwCgy11eaQxR8KPU5eDzzwQJevb968+aqDIX2HLvaVDn8i64wgCKg2V3X6emycptPXIkmPk9fly5cDnrvdbhw/fhwNDQ342c9+1muBkZ5re2ioUwXekpMu9pWOjIwMAL6Wl8PtBQdAxnOor6kGYwI4nkdKahoYY/AyBhnHgeM4MMagjInDI3m/De0G9JMeJ69PPvmk3TRBEPDoo4/i+uuv75WgyNVpe2ioS/UNwKV7/ElDZ0OQ2v4g/WjoIFjMJqSmGmA2Vbbrx2z7PBpwrLO/Wg+VlZXhtttug8lk6o3V9RmbzQa9Xg+r1SrpQaptL9Hy/1ILDPB4BQBAQ73vCgael0GXmAQ5z0Mh48T+ERnPwWI2QRAEZGRk4NKlSyHZDhK8AQMGoLKyMuL3V7Df0V6rKlFeXg6Px9NbqyM90FUfiSAIqO+mI9d/3SohUtLj5NX2UhvA19w1mUz4/PPPA66BJP3H3/ICAs88+Qfz6pNSoZC1b3nxnC9xrVmzJoTRE3J1epy8/HfO9uN5HikpKVi3bl23ZyJJ7+nuaN9/iKFPSsXm3QcxeWgK9XmRiBLycV6kbylkHEam62Gy+ioOUAIjkYLuHhThFDIeDo9AA1RJxKHkFQVogCqJRJS8Ipy7dejEyAy60zmJLHz3sxAp8whM7O8iJJL0WvK6dOkSHn744d5aHblGQuvZSBnH0eEiiUi9lrzq6urwxhtv9NbqyFWqsztxvNIKj/eHoRQmqwN1dmcXSxEiPXTYGGHaXt8IAB5BwNELDXToKEH+HyL64ekYddhHGP8hIt966SNjgDZGRoeOEkQ12LpGyStCtK0oMDJDD/9Bo4znaHS9RHU2xMXtFcTWWDRXxw06ec2dO7fL1xsaGq41FnINSs2NOHL+Mm7OSsAtQ1SQtTa9lHI+Kj/YkaCzGmxtzyBHc8ss6OSl13c9Tkiv12PhwoXXHBC5WgzgWh8B8K0lc/heuLs5CS9yPvAMcrR2CQSdvN58882+jINco+FpOuhjlJ0eYkTjL3OkUsh+aE1H836lPq8I0dUhRqm5EfqY6O0bIZEp6OQVbLkbugFHeJHzHAAW1X0jJDIFnby2bNmC6667DmPHju22lhQJHwoZ33pIGT21zSON/0yyy+O7TtVf6jva78UZdPJ69NFH8cEHH+DcuXNYvHgx7r//fiQmJvZlbOQa+C8P8n/g6cJs6fKP9/JfZO8RWMB0IDpb1EGPsN+4cSNMJhOeeuopfPbZZ8jMzMQ999yD3bt3U0ssDHlbP+Bur0Cj6yXOqFdjqEEDRevNZ+Wtw2D806O1Rd2jy4NUKhXuvfdeFBYW4vvvv8ePfvQjLF26FFlZWbDb7d2vgPQb/zgvhYyP2g93pEjSqDAyQw+5rHX4S+u+9U+PxlYXcA3XNvI8L97o0uv19mZMpBf4x3fRINXI4W9N+x+jXY+Sl9PpxAcffIBp06bhhhtuwLFjx/CnP/0JFRUV0Gii4xbjhPSnthdn+1vT/sdoF3SH/dKlS7F161ZkZmbigQcewAcffIDk5OS+jI2QqNe2U56umggUdPLatGkTBg4ciMGDB+PLL7/El19+2eF8O3bs6LXgSPDq7E6UmhsBMAxP07V7LZpPqUsZ3X+gc0Enr4ULFwbcYp6EF5PVgSPnLwMcoI9Rtnstmk+pS1lnV06QHg5SJeHLqFfj5qwEACzgV9rtFaCW8+IpdWqFSdMZSyMcbjox1hZd2xghkjQq3DKk42sbLY1O6GMUAKgVJiVtf2iOV1nFAcfEh5JXhPF/4P0j7K+8ttGoV8Pa4oK1xU3VJsJc2x+akel6KOVUtb0tSl4Rxv+B99+AQ8ZzMGjVqGl0Qt065ksfo8Rpix36GAUlrzDWtrM+SaOCWiELcUThhZJXhPG1rNzwCL5DDK/AYGl04GJ9C1K0KgwxaOkMlkRQZ33XKHlFGF/LygH/5aac///sh2f0pSCRgJJXBDLq1eIobAZgeJoW+hgFtbRIRKHkFYGSNCqxc1fGc9TSigB1dqdYEsf/PNqHvITF6YuNGzciKysLarUaEydOxLfffhvUclu3bgXHcZgzZ07fBigh/mvh/ASBYefRSzhjaQxhVORamawOsY6X//lpiz2qyx2FPHlt27YNeXl5WLVqFY4cOYLRo0cjJycH1dXVXS53/vx5LF++HJMnT+6nSKXB/6H2Vx7wCAwHz13G8SprN0uScFVnd8La4oaszRUu0V7LCwiD5LV+/XosWbIEixcvxo033ohNmzYhNja2y1r4Xq8X9913H1avXo3Bgwf3Y7Thz6hXI1WnFDvs5TyH/xqUgJHpVElVqkxWB6ptTrS9Oi/aa3kBIe7zcrlcOHz4MFasWCFO43keU6dOxYEDBzpd7ve//z1SU1Px4IMPYv/+/V2+h9PphNPpFJ/bbDYAgNvthtvtvsYtCD86FQ+tkhdbXjKeQ/agBFhsDlgampAYp+xmDSTcpMTJISSrxWoSjLGI/Oz6BbttIU1etbW18Hq9MBgMAdMNBgNKS0s7XOZf//oX3njjDZSUlAT1HmvXrsXq1avbTd+zZw9iY2N7HLNUcILvA+B0OvHvL/cCAM6FMiByzdwu34+w0+lEQUFBiKPpO83NzUHNJ6mzjY2NjViwYAFef/31oGuJrVixAnl5eeJzm82GzMxMTJ8+HTqdroslpU2lUomPP751Kiw2Bww6X/+I/9/UCpOWtvt05syZIY6m7/iPjroT0uSVnJwMmUwGi8USMN1isSAtLa3d/OXl5Th//jxmzZolThNaR5LL5XKUlZXh+uuvD1hGpVKJO70thUIBhULRG5sRlvzliziOgyE+Dob4OADA8Uorymsd4GVycRoJb/5hEf5zjRzHRfRnN9htC2mHvVKpxLhx41BUVCROEwQBRUVFyM7Objf/8OHDcezYMZSUlIj/3XHHHZgyZQpKSkqQmZnZn+FLEp2lkp4rzyATn5AfNubl5SE3Nxfjx4/HhAkTsGHDBjQ1NWHx4sUAfEUQMzIysHbtWqjVaowcOTJg+fj4eABoN510jAasSo//h8Z/slGgWw0CCIPkNW/ePNTU1CA/Px9msxljxozBrl27xE78iooK8HzIR3RIQttR1yRy+H9w/CmLWmA+IU9eALBs2TIsW7asw9eKi4u7XJYqvP6gbf0nEnm4Kx6jXVgkL9I7Oit1Q9fBRQZ2xWO0o+QVQTrrz6LSz5GB7tsYiJJXFKDig5GB7tsYiJJXFKAzjCQSUfIiJIzRGeTOUfIiJIzRGeTOUfIiJIxRf2XnKHkREsaov7JzNHSdECJJlLwIIZJEyYsQIknU50VImPMPl6BqEoGo5UVImKN6Xh2jlhchYc4/TIKuaQxEyYuQMOcfLkHXNAaiw0ZCiCRR8iKESBIlL0KIJFHyIoRIEiUvQogkUfIiRALq7E64vUKowwgrlLwIkQCT1QEPDVINQMmLEAkw6tWQ0yDVAJS8CJGAJI0KChl9XduivwYhYabO7sTxSivq7M5QhxLW6PIgQsIM3WczOJS8CAkzVLc+OJS8CAkzVLc+ONTnRQiRJEpehBBJouRFCJEkSl6EEEmi5EUIkSRKXoQQSaLkRQiRJEpehBBJokGqhIQ5/01nPa31vATGxGlqOQ+HR4BRr466ga2UvAgJc/5rHf31vLwCE6dxHANjvlI5lLwIIWHFf42jv56XjOfEaW1bXtEmLPq8Nm7ciKysLKjVakycOBHffvttp/O+/vrrmDx5MhISEpCQkICpU6d2OT8hUpekUWFkhh7y1npePMeJ04YYtBiZoY+6VhcQBslr27ZtyMvLw6pVq3DkyBGMHj0aOTk5qK6u7nD+4uJi3Hvvvdi3bx8OHDiAzMxMTJ8+HZWVlf0cOSEkpFiITZgwgT322GPic6/Xy9LT09natWuDWt7j8TCtVsveeuutoOa3Wq0MALNarVcVr1RkZGQwACwjIyPUoZBeEi37NNjvaEj7vFwuFw4fPowVK1aI03iex9SpU3HgwIGg1tHc3Ay3243ExMQOX3c6nXA6f6hIabPZAAButxtut/saog9vjDHxse121je5YLE5YNCpkRinDFV45Cp0tk8jTbDbFtLkVVtbC6/XC4PBEDDdYDCgtLQ0qHU8/fTTSE9Px9SpUzt8fe3atVi9enW76Xv27EFsbGzPg5YIf8J2Op0oKCho9/q5/g6IXLPu9mmkaG5uDmo+SZ9tfOGFF7B161YUFxdDre74bMuKFSuQl5cnPrfZbGI/mU6n669Q+51KpRIfZ86cKU6nlpd0dbZPI43/6Kg7IU1eycnJkMlksFgsAdMtFgvS0tK6XPbll1/GCy+8gL1792LUqFGdzqdSqcSd3pZCoYBCobi6wCWA4zjxse12GuIVMMTHhSoscg0626eRJthtC+nZRqVSiXHjxqGoqEicJggCioqKkJ2d3ely//d//4c1a9Zg165dGD9+fH+ESggJMyE/bMzLy0Nubi7Gjx+PCRMmYMOGDWhqasLixYsBAAsXLkRGRgbWrl0LAHjxxReRn5+P999/H1lZWTCbzQAAjUYDjUYTsu0IVwJj+McxE+qbnJg4KAlDDNpQh0SC1PYSIEujAy0uLwCIlwlFu5Anr3nz5qGmpgb5+fkwm80YM2YMdu3aJXbiV1RUgOd/aCC+9tprcLlcuOuuuwLWs2rVKvzv//5vf4YeNvwfcv/1bXV2J9ytH3CvwPDV6VrUNbsQp5JT8pKQtpcAXaxvgdPTmrxaLxOKdiFPXgCwbNkyLFu2rMPXiouLA56fP3++7wOSmCvv82eyOsQPuIzncMvQZNQ3OTEyXR/KMEkPtb0EKEWrgkouQxN+uEwo2oVF8iLX5sr7/Bn16oAPeGZiLCYMSozKS0ikzH8LtDq7E6erG+Flvta0wyPgw4MXkJEQh+Fp2qjdr5S8IsCV9/lL0qgga01eHi+juy9LnMnqwFdn6uD0+FrTTo+AfaU1uNHogj5GEbX7lZKXhHXU1+Xv4HV5fujUHWrQRGXVASkbP368eDJKYIDT44XTWgcAcNrq8OHyWZBxHNbKeKQb03Do0KFQhhsSlLwkrG1fV85tt6DiUhVcXgEcAGt9DQCgrsaCX0z8UcByaWnR+WGXErPZ3GmxASYIqK82i8+jtQuMkpeEte3jMpvNqLGY2s0jCAJV3JCgKwdpCwyoqa6GIHghk8mQmpra6bzRgpKXhLXt60pLS4PAfEMjOA6oq6np8IPun5eEt45axm63GwUFBZg5c2ZEj7APFiWvCHHlh50+6CTShbwYISGEXA1KXoQQSaLkRQiRJEpehBBJouRFCJEkSl6EEEmi5EUIkaSoG+flvwNLsHWypcrtdqO5uRk2m43GeUWIaNmn/u+m/7vamahLXo2NjQCAzMzMEEdCCOlKY2Mj9PrOa9BxrLv0FmEEQUBVVRW0Wq14Q4NI5L9L0sWLFyP6LknRJFr2KWMMjY2NSE9PD6iifKWoa3nxPI8BAwaEOox+o9PpIvqDHo2iYZ921eLyow57QogkUfIihEgSJa8IpVKpsGrVqg5vuEukifZpoKjrsCeERAZqeRFCJImSFyFEkih5EUIkiZJXiN1222144oknQh0GIZJDyUsiiouLwXEcGhoaQh0K6YFw+3EKt3iuBSUvQsKcy+UKdQhhiZJXGHE6nXj66aeRmZkJlUqFIUOG4I033sD58+cxZcoUAEBCQgI4jsOiRYu6XV9jYyPuu+8+xMXFwWg04pVXXmn3y/vOO+9g/Pjx0Gq1SEtLw/z581FdXS2+7m/xFRUVYfz48YiNjcWkSZNQVlbW25sfcRYtWoQvv/wSr776KjiOA8dxKC8vx4MPPohBgwYhJiYGw4YNw6uvvtpuuTlz5uC5555Deno6hg0bBgD4+uuvMWbMGKjVaowfPx47d+4Ex3EoKSkRlz1+/DhmzJgBjUYDg8GABQsWoLa2ttN4zp8/319/jt7HSEjdeuut7PHHH2eMMXbPPfewzMxMtmPHDlZeXs727t3Ltm7dyjweD/v4448ZAFZWVsZMJhNraGjodt0PPfQQu+6669jevXvZsWPH2J133sm0Wq34fowx9sYbb7CCggJWXl7ODhw4wLKzs9mMGTPE1/ft28cAsIkTJ7Li4mJ24sQJNnnyZDZp0qTe/lNEnIaGBpadnc2WLFnCTCYTM5lMzOFwsPz8fHbw4EF29uxZ9u6777LY2Fi2bds2cbnc3Fym0WjYggUL2PHjx9nx48eZ1WpliYmJ7P7772cnTpxgBQUF7IYbbmAA2NGjRxljjF2+fJmlpKSwFStWsJMnT7IjR46wadOmsSlTpnQaj8fjCcWfpldQ8goxf/IqKytjAFhhYWGH8/mTyOXLl4Nar81mYwqFgm3fvl2c1tDQwGJjYwOS15UOHjzIALDGxsaA9927d684z+eff84AsJaWlqBiiWZtf5w689hjj7Ff/vKX4vPc3FxmMBiY0+kUp7322mssKSkp4G/++uuvBySvNWvWsOnTpwes++LFi+KPXrDxSAUdNoaJkpISyGQy3Hrrrb2yvrNnz8LtdmPChAniNL1eLx6C+B0+fBizZs3CwIEDodVqxfevqKgImG/UqFHiv41GIwAEHF6S4G3cuBHjxo1DSkoKNBoN/vKXv7T7e990001QKpXi87KyMowaNQpqtVqc1nbfAsB3332Hffv2QaPRiP8NHz4cAFBeXt6HWxQaUVcSJ1zFxMT0+3s2NTUhJycHOTk5eO+995CSkoKKigrk5OS06yRuW7nTXwdNEIR+jTcSbN26FcuXL8e6deuQnZ0NrVaLl156Cd98803AfHFxcT1et91ux6xZs/Diiy+2e83/gxNJKHmFiZtuugmCIODLL7/E1KlT273u/xX2er1BrW/w4MFQKBQ4ePAgBg4cCACwWq04deoUfvrTnwIASktLUVdXhxdeeEGsLHvo0KHe2BzSSqlUBuyzr776CpMmTcLSpUvFacG0ioYNG4Z3330XTqdTvDD74MGDAfPcfPPN+Pjjj5GVlQW5vOOv9pXxSBkdNoaJrKws5Obm4oEHHsDOnTtx7tw5FBcX48MPPwQAXHfddeA4Dn//+99RU1MDu93e5fq0Wi1yc3Pxm9/8Bvv27cOJEyfw4IMPgud5seU0cOBAKJVK/PGPf8TZs2fx6aefYs2aNX2+rdEkKysL33zzDc6fP4/a2loMHToUhw4dwu7du3Hq1CmsXLmyXRLqyPz58yEIAh5++GGcPHkSu3fvxssvvwzgh5bwY489hvr6etx77704ePAgysvLsXv3bixevFhMWFfGI+XWMyWvMPLaa6/hrrvuwtKlSzF8+HAsWbIETU1NAICMjAysXr0azzzzDAwGA5YtW9bt+tavX4/s7GzcfvvtmDp1Km655RaMGDFC7DdJSUnBli1bsH37dtx444144YUXxC8E6R3Lly+HTCbDjTfeiJSUFOTk5GDu3LmYN28eJk6ciLq6uoBWWGd0Oh0+++wzlJSUYMyYMXj22WeRn58PAOL+TE9Px1dffQWv14vp06fjpptuwhNPPIH4+HixnPKV8VzZ1yYlVBInijQ1NSEjIwPr1q3Dgw8+GOpwyDV67733sHjxYlit1pD0mYYa9XlFsKNHj6K0tBQTJkyA1WrF73//ewDA7NmzQxwZuRpvv/02Bg8ejIyMDHz33Xd4+umncc8990Rl4gIoeUlWRUUFbrzxxk5f//777wEAL7/8MsrKyqBUKjFu3Djs378fycnJ/RUm6UVmsxn5+fkwm80wGo24++678dxzz4U6rJChw0aJ8ng8XV7a0dUZJ0IiASUvQogk0dlGQogkUfIihEgSJS9CiCRR8iKESBIlL9KnFi1aJBa+UygUMBgMmDZtGjZv3tyjS1O2bNmC+Pj4vgu0E/7CgCT8UPIife4Xv/gFTCYTzp8/j3/84x+YMmUKHn/8cdx+++3weDyhDo9IVSiLiZHIl5uby2bPnt1uelFREQPAXn/9dcYYY+vWrWMjR45ksbGxbMCAAezRRx9tVxCx7X+rVq1ijDH29ttvs3HjxjGNRsMMBgO79957mcViEd+nvr6ezZ8/nyUnJzO1Ws2GDBnCNm/eLL5eUVHB7r77bqbX61lCQgK744472Llz5xhjjK1atard++7bt69P/k6k56jlRULiZz/7GUaPHo0dO3YAAHiexx/+8AecOHECb731Fr744gs89dRTAIBJkyZhw4YN0Ol0MJlMMJlMWL58OQDA7XZjzZo1+O6777Bz506cP38+oL7/ypUr8f333+Mf//gHTp48iddee028wsDtdiMnJwdarRb79+/HV199BY1Gg1/84hdwuVxYvnw57rnnHrHlaDKZMGnSpP79Q5HOhTp7ksjWWcuLMcbmzZvHRowY0eFr27dvZ0lJSeLzN998k+n1+m7f78oy1rNmzWKLFy/ucN533nmHDRs2jAmCIE5zOp0sJiaG7d69u9v4SWhRy4uEDGNMrEW1d+9e/PznP0dGRga0Wi0WLFiAuro6NDc3d7mO7spYP/roo9i6dSvGjBmDp556Cl9//bW47HfffYczZ85Aq9WKZZMTExPhcDgismxypKHkRULm5MmTGDRoEM6fP4/bb78do0aNwscff4zDhw9j48aNALq+Z6G/jLVOp8N7772HgwcP4pNPPglYbsaMGbhw4QKefPJJVFVV4ec//7l4yGm32zFu3DiUlJQE/Hfq1CnMnz+/j7eeXCu6cpeExBdffIFjx47hySefxOHDhyEIAtatWycWzfNXkPXrqHxxsGWsU1JSkJubi9zcXEyePBm/+c1v8PLLL+Pmm2/Gtm3bkJqaCp1O12GckVQ2OdJQy4v0OafTCbPZjMrKShw5cgTPP/88Zs+ejdtvvx0LFy7EkCFD4Ha7xXLU77zzDjZt2hSwjqysLNjtdhQVFaG2thbNzc1BlbHOz8/H3/72N5w5cwYnTpzA3//+d4wYMQIAcN999yE5ORmzZ8/G/v37xdLbv/71r3Hp0iXxff/zn/+grKwMtbW1cLvd/fNHI90LdacbiWy5ubniMAO5XM5SUlLY1KlT2ebNm5nX6xXnW79+PTMajSwmJobl5OSwt99+u919Kh955BGWlJQUMFTi/fffZ1lZWUylUrHs7Gz26aeftruX4YgRI1hMTAxLTExks2fPZmfPnhXXaTKZ2MKFC1lycjJTqVRs8ODBbMmSJcxqtTLGGKuurmbTpk1jGo2GhkqEGSqJQwiRJDpsJIRIEiUvQogkUfIihEgSJS9CiCRR8iKESBIlL0KIJFHyIoRIEiUvQogkUfIihEgSJS9CiCRR8iKESBIlL0KIJP1/myvMp0XjvgIAAAAASUVORK5CYII=", + "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:11:40.711841Z", + "iopub.status.busy": "2024-07-23T20:11:40.711538Z", + "iopub.status.idle": "2024-07-23T20:11:41.027953Z", + "shell.execute_reply": "2024-07-23T20:11:41.027025Z" + }, + "papermill": { + "duration": 0.339829, + "end_time": "2024-07-23T20:11:41.030194", + "exception": false, + "start_time": "2024-07-23T20:11:40.690365", + "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.01926, + "end_time": "2024-07-23T20:11:41.069101", + "exception": false, + "start_time": "2024-07-23T20:11:41.049841", + "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": 3774.810584, + "end_time": "2024-07-23T20:11:43.543334", + "environment_variables": {}, + "exception": null, + "input_path": "eval/iris/lct_gan/1/mlu-eval.ipynb", + "output_path": "eval/iris/lct_gan/1/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/1", + "path_prefix": "../../../../", + "random_seed": 1, + "single_model": "lct_gan" + }, + "start_time": "2024-07-23T19:08:48.732750", + "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/1/model.pt b/iris/lct_gan/1/model.pt new file mode 100644 index 0000000000000000000000000000000000000000..5256106f30d471a46baf2eb4d2e518c500d4a349 --- /dev/null +++ b/iris/lct_gan/1/model.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b20111fc4717f4a9695053783c2dedec3a690d603f663f44f20938abad29a620 +size 177865 diff --git a/iris/lct_gan/1/params.json b/iris/lct_gan/1/params.json new file mode 100644 index 0000000000000000000000000000000000000000..2a20e47c9a36f2aa645340f00fd696503a2274ef --- /dev/null +++ b/iris/lct_gan/1/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/1/pred/error.csv b/iris/lct_gan/1/pred/error.csv new file mode 100644 index 0000000000000000000000000000000000000000..c42c12deea4317acd5fad00d858160fb1abad59f --- /dev/null +++ b/iris/lct_gan/1/pred/error.csv @@ -0,0 +1,201 @@ +,lct_gan +0,-0.011038795 +1,0.15838856 +2,-0.024539411 +3,-0.04598874 +4,0.00061298907 +5,0.29733464 +6,-0.0636546 +7,-0.09162545 +8,-0.004501313 +9,-0.117678106 +10,-0.0004891753 +11,0.037059486 +12,0.011282161 +13,-0.061628938 +14,0.017724276 +15,0.03489536 +16,-0.012375683 +17,0.061506927 +18,0.038592458 +19,-0.07196063 +20,-0.018972233 +21,0.3290723 +22,-0.016489685 +23,-0.026177049 +24,0.0012923777 +25,0.07874215 +26,-0.06360304 +27,-0.082895935 +28,-0.008818746 +29,0.08524734 +30,0.03479463 +31,0.006069422 +32,0.0099491775 +33,0.20596695 +34,-0.05888933 +35,-0.035891593 +36,-0.012502104 +37,0.1372503 +38,0.05809915 +39,-0.0878275 +40,-0.005654961 +41,-0.024183035 +42,-0.037884295 +43,0.14220953 +44,0.018008038 +45,0.032479763 +46,-0.0884279 +47,-0.09399468 +48,-0.009124264 +49,0.104469 +50,-0.026631653 +51,0.1152063 +52,0.0068653524 +53,0.12047559 +54,-0.08125681 +55,0.0068752766 +56,0.15225999 +57,0.16227937 +58,-0.038647532 +59,0.07963842 +60,0.010311693 +61,-0.008870065 +62,-0.051306427 +63,-0.02491492 +64,-0.09279984 +65,0.022049367 +66,-0.026074886 +67,-0.06782091 +68,0.122359514 +69,-0.016228735 +70,0.039095342 +71,0.15097982 +72,-0.014523625 +73,-0.06016338 +74,-0.02578938 +75,-0.11444688 +76,-0.07549757 +77,0.022614598 +78,0.029489756 +79,-0.02042222 +80,-0.057760328 +81,-0.011571169 +82,-0.053791285 +83,-0.018647254 +84,-0.010705888 +85,-0.00988704 +86,-0.023146868 +87,-0.030678093 +88,0.22181438 +89,-0.05639267 +90,-0.0024826527 +91,0.027311265 +92,-0.011712134 +93,-0.054145217 +94,-0.047471523 +95,-0.12895143 +96,0.046298057 +97,-0.014411509 +98,0.030073106 +99,-0.03457892 +100,-0.047400206 +101,-0.016034186 +102,-0.053278983 +103,-0.027139783 +104,0.23250209 +105,0.019595623 +106,-0.09406829 +107,-0.043973148 +108,0.19067417 +109,0.055939376 +110,0.02833569 +111,-0.022289336 +112,-0.053894877 +113,-0.0723151 +114,-0.071033 +115,-0.086527884 +116,0.23416896 +117,0.038860083 +118,0.0349406 +119,-0.04839909 +120,-0.05107525 +121,-0.00971365 +122,-0.053931773 +123,-0.027052343 +124,-0.053501844 +125,0.011950195 +126,0.008288562 +127,0.01393044 +128,-0.030050516 +129,-0.05994284 +130,-0.028877318 +131,-0.04899335 +132,-0.07225835 +133,-0.025824964 +134,-0.04902643 +135,-0.07142246 +136,-0.034475923 +137,0.008689702 +138,0.021787882 +139,0.20423996 +140,-0.076851636 +141,0.09117985 +142,0.02628845 +143,-0.061080992 +144,-0.04962033 +145,-0.02032274 +146,-0.07305133 +147,0.087462485 +148,0.32704479 +149,0.015333295 +150,-0.027841926 +151,-0.026610672 +152,-0.081394255 +153,-0.07899904 +154,-0.058196187 +155,-0.12456602 +156,0.120199114 +157,-0.006359279 +158,0.034219384 +159,0.043091 +160,-0.03967902 +161,0.115635395 +162,-0.039921522 +163,-0.032180667 +164,-0.041555762 +165,-0.017594993 +166,-0.08895904 +167,-0.020689249 +168,0.16188899 +169,0.073756695 +170,-0.023532987 +171,-0.06644803 +172,-0.013041019 +173,-0.042877316 +174,-0.06889063 +175,-0.08917618 +176,0.16495815 +177,0.004456818 +178,0.00023066998 +179,0.022515893 +180,0.064328164 +181,0.2004962 +182,-0.044902503 +183,-0.029604375 +184,0.005586803 +185,0.018471003 +186,-0.08979851 +187,0.011495888 +188,-0.048314303 +189,-0.002808988 +190,-0.036091924 +191,-0.09309161 +192,-0.017243147 +193,-0.07291019 +194,0.03263998 +195,-0.021923244 +196,-0.28426296 +197,-0.040846467 +198,0.0030644536 +199,0.062208176 diff --git a/iris/lct_gan/1/pred/g.csv b/iris/lct_gan/1/pred/g.csv new file mode 100644 index 0000000000000000000000000000000000000000..33be82ed93b3e8fbe668322db552f97df97946f2 --- /dev/null +++ b/iris/lct_gan/1/pred/g.csv @@ -0,0 +1,201 @@ +,lct_gan +0,0.011038795 +1,0.15838856 +2,0.024539411 +3,0.04598874 +4,0.00061298907 +5,0.29733464 +6,0.0636546 +7,0.09162545 +8,0.004501313 +9,0.117678106 +10,0.0004891753 +11,0.037059486 +12,0.011282161 +13,0.061628938 +14,0.017724276 +15,0.03489536 +16,0.012375683 +17,0.061506927 +18,0.038592458 +19,0.07196063 +20,0.018972233 +21,0.3290723 +22,0.016489685 +23,0.026177049 +24,0.0012923777 +25,0.07874215 +26,0.06360304 +27,0.082895935 +28,0.008818746 +29,0.08524734 +30,0.03479463 +31,0.006069422 +32,0.0099491775 +33,0.20596695 +34,0.05888933 +35,0.035891593 +36,0.012502104 +37,0.1372503 +38,0.05809915 +39,0.0878275 +40,0.005654961 +41,0.024183035 +42,0.037884295 +43,0.14220953 +44,0.018008038 +45,0.032479763 +46,0.0884279 +47,0.09399468 +48,0.009124264 +49,0.104469 +50,0.026631653 +51,0.1152063 +52,0.0068653524 +53,0.12047559 +54,0.08125681 +55,0.0068752766 +56,0.15225999 +57,0.16227937 +58,0.038647532 +59,0.07963842 +60,0.010311693 +61,0.008870065 +62,0.051306427 +63,0.02491492 +64,0.09279984 +65,0.022049367 +66,0.026074886 +67,0.06782091 +68,0.122359514 +69,0.016228735 +70,0.039095342 +71,0.15097982 +72,0.014523625 +73,0.06016338 +74,0.02578938 +75,0.11444688 +76,0.07549757 +77,0.022614598 +78,0.029489756 +79,0.02042222 +80,0.057760328 +81,0.011571169 +82,0.053791285 +83,0.018647254 +84,0.010705888 +85,0.00988704 +86,0.023146868 +87,0.030678093 +88,0.22181438 +89,0.05639267 +90,0.0024826527 +91,0.027311265 +92,0.011712134 +93,0.054145217 +94,0.047471523 +95,0.12895143 +96,0.046298057 +97,0.014411509 +98,0.030073106 +99,0.03457892 +100,0.047400206 +101,0.016034186 +102,0.053278983 +103,0.027139783 +104,0.23250209 +105,0.019595623 +106,0.09406829 +107,0.043973148 +108,0.19067417 +109,0.055939376 +110,0.02833569 +111,0.022289336 +112,0.053894877 +113,0.0723151 +114,0.071033 +115,0.086527884 +116,0.23416896 +117,0.038860083 +118,0.0349406 +119,0.04839909 +120,0.05107525 +121,0.00971365 +122,0.053931773 +123,0.027052343 +124,0.053501844 +125,0.011950195 +126,0.008288562 +127,0.01393044 +128,0.030050516 +129,0.05994284 +130,0.028877318 +131,0.04899335 +132,0.07225835 +133,0.025824964 +134,0.04902643 +135,0.07142246 +136,0.034475923 +137,0.008689702 +138,0.021787882 +139,0.20423996 +140,0.076851636 +141,0.09117985 +142,0.02628845 +143,0.061080992 +144,0.04962033 +145,0.02032274 +146,0.07305133 +147,0.087462485 +148,0.32704479 +149,0.015333295 +150,0.027841926 +151,0.026610672 +152,0.081394255 +153,0.07899904 +154,0.058196187 +155,0.12456602 +156,0.120199114 +157,0.006359279 +158,0.034219384 +159,0.043091 +160,0.03967902 +161,0.115635395 +162,0.039921522 +163,0.032180667 +164,0.041555762 +165,0.017594993 +166,0.08895904 +167,0.020689249 +168,0.16188899 +169,0.073756695 +170,0.023532987 +171,0.06644803 +172,0.013041019 +173,0.042877316 +174,0.06889063 +175,0.08917618 +176,0.16495815 +177,0.004456818 +178,0.00023066998 +179,0.022515893 +180,0.064328164 +181,0.2004962 +182,0.044902503 +183,0.029604375 +184,0.005586803 +185,0.018471003 +186,0.08979851 +187,0.011495888 +188,0.048314303 +189,0.002808988 +190,0.036091924 +191,0.09309161 +192,0.017243147 +193,0.07291019 +194,0.03263998 +195,0.021923244 +196,0.28426296 +197,0.040846467 +198,0.0030644536 +199,0.062208176 diff --git a/iris/lct_gan/1/pred/grad.csv b/iris/lct_gan/1/pred/grad.csv new file mode 100644 index 0000000000000000000000000000000000000000..024c8bf7cb2a38ae72ae37bbe138d84931948811 --- /dev/null +++ b/iris/lct_gan/1/pred/grad.csv @@ -0,0 +1,201 @@ +,lct_gan +0,0.0016595146 +1,0.04769787 +2,0.0054773246 +3,0.0068978895 +4,0.0001006869 +5,0.13119043 +6,0.011571457 +7,0.018654425 +8,0.00080407254 +9,0.035161864 +10,6.822332e-05 +11,0.008711771 +12,0.0019315173 +13,0.015365736 +14,0.005102124 +15,0.009316947 +16,0.0017281522 +17,0.020767277 +18,0.008870716 +19,0.023128575 +20,0.0027420642 +21,0.07549326 +22,0.0036443342 +23,0.004538839 +24,0.00023533398 +25,0.010396769 +26,0.009851957 +27,0.015585082 +28,0.0015442586 +29,0.01760222 +30,0.0058352062 +31,0.0014375732 +32,0.0016912639 +33,0.06498163 +34,0.019782681 +35,0.006445568 +36,0.001745261 +37,0.03823052 +38,0.011926498 +39,0.01916485 +40,0.0017480826 +41,0.004837343 +42,0.006916427 +43,0.022492765 +44,0.002809846 +45,0.004512597 +46,0.013002101 +47,0.0242401 +48,0.0011821603 +49,0.018655762 +50,0.0046417303 +51,0.02483388 +52,0.0011511631 +53,0.03528311 +54,0.022048173 +55,0.0013463105 +56,0.035265844 +57,0.03782382 +58,0.006712142 +59,0.016068496 +60,0.0029310442 +61,0.001826904 +62,0.010472891 +63,0.0034942525 +64,0.023691908 +65,0.0036179197 +66,0.0037771503 +67,0.011934201 +68,0.043055877 +69,0.0029995863 +70,0.005271458 +71,0.026142307 +72,0.0014749202 +73,0.021364221 +74,0.007689499 +75,0.024967784 +76,0.01686919 +77,0.00431835 +78,0.007571468 +79,0.00390743 +80,0.012468119 +81,0.0017654157 +82,0.010303083 +83,0.0018340419 +84,0.0031951724 +85,0.0016450519 +86,0.004280849 +87,0.005012219 +88,0.07699644 +89,0.007772535 +90,0.0005786654 +91,0.0046033347 +92,0.0009488682 +93,0.0185915 +94,0.017807648 +95,0.033940658 +96,0.0129519515 +97,0.002711103 +98,0.006400108 +99,0.0068072784 +100,0.012761023 +101,0.0032060242 +102,0.010747419 +103,0.0038166498 +104,0.06414036 +105,0.0034259264 +106,0.016888447 +107,0.009271214 +108,0.06543129 +109,0.010776768 +110,0.0052474374 +111,0.0057053887 +112,0.016075408 +113,0.026156276 +114,0.019466849 +115,0.02406555 +116,0.07017742 +117,0.0059935227 +118,0.008202245 +119,0.009133714 +120,0.0145375915 +121,0.0016623193 +122,0.010183057 +123,0.004037044 +124,0.02235087 +125,0.0023698907 +126,0.0016941772 +127,0.0019061699 +128,0.013997807 +129,0.010549923 +130,0.0053829444 +131,0.0075503844 +132,0.022722062 +133,0.009098588 +134,0.013215694 +135,0.02111521 +136,0.009787313 +137,0.0011803652 +138,0.0044444576 +139,0.0388661 +140,0.022907015 +141,0.012492321 +142,0.005348549 +143,0.008135642 +144,0.017578362 +145,0.0041058864 +146,0.016844502 +147,0.015815051 +148,0.07117646 +149,0.0024824843 +150,0.0039144466 +151,0.0042485017 +152,0.027643494 +153,0.025995104 +154,0.015967967 +155,0.03907844 +156,0.03545632 +157,0.0011216598 +158,0.008145437 +159,0.0076463935 +160,0.009631519 +161,0.014816526 +162,0.0073476383 +163,0.006925137 +164,0.014188539 +165,0.00317056 +166,0.018251028 +167,0.0039052335 +168,0.055827674 +169,0.013516416 +170,0.004898467 +171,0.010977526 +172,0.0013047224 +173,0.011827089 +174,0.019208986 +175,0.027405085 +176,0.041596577 +177,0.00072059897 +178,4.3132106e-05 +179,0.0054814187 +180,0.019028787 +181,0.028539844 +182,0.008575598 +183,0.005014514 +184,0.0017726904 +185,0.0034016485 +186,0.015420263 +187,0.0016095352 +188,0.016250033 +189,0.0005422276 +190,0.00764191 +191,0.013272967 +192,0.0046127713 +193,0.02258986 +194,0.012172542 +195,0.007860059 +196,0.09251098 +197,0.0065359473 +198,0.00045991055 +199,0.013971993 diff --git a/iris/lct_gan/1/pred/pred.csv b/iris/lct_gan/1/pred/pred.csv new file mode 100644 index 0000000000000000000000000000000000000000..02b8cf975bccbacf275fb11997bf9e4a2ba989ea --- /dev/null +++ b/iris/lct_gan/1/pred/pred.csv @@ -0,0 +1,201 @@ +,lct_gan +0,0.16782299 +1,0.50923395 +2,0.87784153 +3,0.8869932 +4,0.17947477 +5,0.70685846 +6,0.90292853 +7,0.87427396 +8,0.16216536 +9,0.5410266 +10,0.8974287 +11,0.8833991 +12,0.17794883 +13,0.56626767 +14,0.736275 +15,0.8206096 +16,0.15429099 +17,0.5052316 +18,0.9045857 +19,0.8305094 +20,0.15988955 +21,0.8422036 +22,0.88661325 +23,0.8762039 +24,0.18015416 +25,0.9082392 +26,0.9046509 +27,0.8816232 +28,0.15784793 +29,0.89116365 +30,0.9005968 +31,0.8867712 +32,0.17661585 +33,0.80106664 +34,0.82070935 +35,0.8640912 +36,0.15416457 +37,0.803917 +38,0.88986456 +39,0.84949446 +40,0.4110117 +41,0.8881979 +42,0.9040349 +43,0.8894575 +44,0.19686982 +45,0.9258131 +46,0.9115721 +47,0.87258846 +48,0.15754241 +49,0.9103853 +50,0.9020483 +51,0.88905686 +52,0.17353202 +53,0.8395232 +54,0.8145818 +55,0.84285414 +56,0.3744822 +57,0.8864963 +58,0.8986744 +59,0.8850256 +60,0.42697835 +61,0.90351087 +62,0.8906128 +63,0.90806705 +64,0.47709262 +65,0.91704977 +66,0.9071749 +67,0.8987622 +68,0.49287233 +69,0.9044062 +70,0.9048975 +71,0.88400406 +72,0.556905 +73,0.8255509 +74,0.8101895 +75,0.81055313 +76,0.36612374 +77,0.90039235 +78,0.895483 +79,0.8884805 +80,0.42372116 +81,0.90080976 +82,0.8881279 +83,0.92327195 +84,0.43544796 +85,0.9227729 +86,0.9110692 +87,0.90198183 +88,0.4440366 +89,0.9020933 +90,0.8954352 +91,0.8995335 +92,0.55971646 +93,0.82545346 +94,0.8246955 +95,0.80215967 +96,0.42725044 +97,0.8944912 +98,0.89421254 +99,0.904815 +100,0.4340813 +101,0.89634675 +102,0.8886402 +103,0.9147794 +104,0.39916876 +105,0.914596 +106,0.9059317 +107,0.8872438 +108,0.4128964 +109,0.898532 +110,0.89413786 +111,0.84836596 +112,0.5175337 +113,0.8133992 +114,0.8248056 +115,0.80931073 +116,0.3910317 +117,0.9091073 +118,0.89908004 +119,0.89099485 +120,0.45443198 +121,0.9026673 +122,0.88798743 +123,0.91486686 +124,0.5163906 +125,0.9069506 +126,0.9064506 +127,0.90893084 +128,0.4757974 +129,0.8985431 +130,0.8998026 +131,0.9094926 +132,0.49917024 +133,0.8275084 +134,0.8231406 +135,0.8193836 +136,0.43514642 +137,0.9175924 +138,0.8920351 +139,0.90280455 +140,0.40462986 +141,0.9086761 +142,0.8891478 +143,0.9099335 +144,0.52027214 +145,0.9108942 +146,0.89520264 +147,0.90257007 +148,0.549267 +149,0.89768624 +150,0.900838 +151,0.9041119 +152,0.49003434 +153,0.84692687 +154,0.81397086 +155,0.800434 +156,0.44372854 +157,0.9025434 +158,0.8983588 +159,0.9094091 +160,0.44180247 +161,0.91273683 +162,0.9019977 +163,0.90973854 +164,0.5283367 +165,0.9104353 +166,0.91104096 +167,0.9072783 +168,0.4344036 +169,0.89361566 +170,0.90514696 +171,0.8920379 +172,0.5583876 +173,0.842837 +174,0.82191545 +175,0.81080663 +176,0.45067245 +177,0.9133595 +178,0.8961583 +179,0.888834 +180,0.4538934 +181,0.912529 +182,0.8970167 +183,0.91231483 +184,0.57547927 +185,0.9134714 +186,0.9102015 +187,0.9064963 +188,0.41307378 +189,0.8951089 +190,0.892588 +191,0.9069084 +192,0.55418545 +193,0.8530157 +194,0.8144582 +195,0.7783403 +196,0.51467884 +197,0.8964755 +198,0.89899206 +199,0.8993255 diff --git a/iris/lct_gan/1/pred/y.csv b/iris/lct_gan/1/pred/y.csv new file mode 100644 index 0000000000000000000000000000000000000000..d4af620bf6949a5d1238ac0d52f05819dd6696ee --- /dev/null +++ b/iris/lct_gan/1/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/1/pred/y_real.csv b/iris/lct_gan/1/pred/y_real.csv new file mode 100644 index 0000000000000000000000000000000000000000..fb0baf5e24b3c966e30c86abef7475ae9ef5ced6 --- /dev/null +++ b/iris/lct_gan/1/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