diff --git a/iris/lct_gan/0/eval.csv b/iris/lct_gan/0/eval.csv new file mode 100644 index 0000000000000000000000000000000000000000..5eb94032c96733fbbbcf7f8638ad545e1379f74d --- /dev/null +++ b/iris/lct_gan/0/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.009356586644034905,0.014582142645330122,0.006594617841183208,0.2781703472137451,0.042309194803237915,0.7396934032440186,0.05755273252725601,9.314726776210591e-05,0.49534058570861816,0.05876980721950531,0.11997414380311966,0.08120725303888321,0.22500167787075043,0.007899628020823002,0.7735109329223633 diff --git a/iris/lct_gan/0/history.csv b/iris/lct_gan/0/history.csv new file mode 100644 index 0000000000000000000000000000000000000000..335655a102ae24b28a3ffe43ad1065e6bfb5ae4d --- /dev/null +++ b/iris/lct_gan/0/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.046113098300255,,0.002374093190029751,0.05198724521728961,0.0,0.0,0.0,0.0,0.055958376110180515,805,202,170.25894927978516,0.8428660855434909,0.2115018003475592,,0.014470968693494797,0.4669409842395544,0.0003078601939669889,0.0,0.0,0.0,0.0,0.0,0.014470968693494797,200,50,40.12657952308655,0.802531590461731,0.20063289761543274,0.22374631986021995 +1,0.012530759160163933,,0.00022470774353013372,0.0578103197405913,0.0,0.0,0.0,0.0,0.012749045218850098,805,202,170.79174780845642,0.8455037020220615,0.2121636618738589,,0.012825913373380899,0.34154419784201306,8.543279905438794e-05,0.0,0.0,0.0,0.0,0.0,0.012825913373380899,200,50,39.99063849449158,0.7998127698898315,0.19995319247245788,0.2037345689535141 +2,0.010576248667000429,,0.00017939177513192424,0.03153845898963233,0.0,0.0,0.0,0.0,0.010822467918627785,805,202,168.7718207836151,0.8355040632852233,0.20965443575604362,,0.01418652815045789,0.45457997316734916,0.00018232655053907366,0.0,0.0,0.0,0.0,0.0,0.01418652815045789,200,50,39.99701762199402,0.7999403524398804,0.1999850881099701,0.20486331149935721 +3,0.009874900642446942,,0.00015306980999423955,0.031926160350569194,0.0,0.0,0.0,0.0,0.010113143273311094,805,202,167.73858880996704,0.8303890535146883,0.20837091777635658,,0.008934392400551588,0.14515205713230897,0.00011402946744354381,0.0,0.0,0.0,0.0,0.0,0.008934392400551588,200,50,39.178648710250854,0.783572974205017,0.19589324355125426,0.239295059889555 +4,0.009412600212478837,,0.00014734073785495507,0.024214294373046213,0.0,0.0,0.0,0.0,0.00972763716947484,805,202,162.77311182022095,0.8058074842585196,0.20220262337915645,,0.008706244271015748,0.1380096659906667,8.255640768254579e-05,0.0,0.0,0.0,0.0,0.0,0.008706244271015748,200,50,38.37443208694458,0.7674886417388916,0.1918721604347229,0.2351854908466339 +5,0.00906648518277552,,0.00010720703784799043,0.02101341394874049,0.0,0.0,0.0,0.0,0.009330641998625967,805,202,163.80307364463806,0.8109063051714755,0.20348207906166219,,0.00806080972077325,0.11078220062838426,4.589715525810334e-05,0.0,0.0,0.0,0.0,0.0,0.00806080972077325,200,50,38.14159321784973,0.7628318643569947,0.19070796608924867,0.2380160790681839 +6,0.00858902616863087,,0.00013632228462729024,0.012416136395244031,0.0,0.0,0.0,0.0,0.00893910686038608,805,202,162.73704838752747,0.8056289524135023,0.20215782408388505,,0.007891997146653012,0.12853932638310653,4.438038137347e-05,0.0,0.0,0.0,0.0,0.0,0.007891997146653012,200,50,38.279568672180176,0.7655913734436035,0.19139784336090088,0.23305976659059524 +7,0.00928999728393764,,0.0001651332436581723,0.01767020636087758,0.0,0.0,0.0,0.0,0.009734467150367253,805,202,162.97861742973328,0.8068248387610558,0.20245790985060033,,0.009421458053402602,0.1953774666293441,0.00019048304901932766,0.0,0.0,0.0,0.0,0.0,0.009421458053402602,200,50,38.41881704330444,0.7683763408660889,0.19209408521652221,0.23182216048240661 +8,0.007906872946125462,,0.0001043955870384689,0.01612274802770026,0.0,0.0,0.0,0.0,0.008279283271244907,805,202,163.33901286125183,0.8086089745606526,0.20290560603882216,,0.008948395568877459,0.0757950722055412,7.8807531465507e-05,0.0,0.0,0.0,0.0,0.0,0.008948395568877459,200,50,38.46061563491821,0.7692123126983642,0.19230307817459105,0.25659295558929446 +9,0.008504275450488749,,0.00011397372201531437,0.008929683819054538,0.0,0.0,0.0,0.0,0.009325041732988003,805,202,163.23995733261108,0.8081186006564905,0.20278255569268458,,0.007595406485488638,0.1028019287098141,4.890095265376537e-05,0.0,0.0,0.0,0.0,0.0,0.007595406485488638,200,50,38.2600200176239,0.765200400352478,0.1913001000881195,0.24050406128168106 +10,0.008611053564319654,,8.206605133119805e-05,0.004291428038228581,0.0,0.0,0.0,0.0,0.009651706033380506,805,202,162.8558211326599,0.8062169363002966,0.2023053678666583,,0.008085854463279247,0.17193313988776027,5.399939436316004e-05,0.0,0.0,0.0,0.0,0.0,0.008085854463279247,200,50,39.15912938117981,0.7831825876235962,0.19579564690589904,0.22449224010109903 +11,0.008678055109936304,,0.00011918006009974887,0.003577051771897244,0.0,0.0,0.0,0.0,0.010484514054798909,805,202,163.8142647743225,0.8109617068035768,0.2034959810861149,,0.007870052698999644,0.08255979415101138,5.945954320822011e-05,0.0,0.0,0.0,0.0,0.0,0.007870052698999644,200,50,37.577213525772095,0.7515442705154419,0.18788606762886048,0.2555285167694092 +12,0.008192613328407919,,0.00017826775526019026,0.0018906308986645724,0.0,0.0,0.0,0.0,0.010740507164570902,805,202,159.90096521377563,0.7915889367018596,0.19863473939599458,,0.00747227291285526,0.06292297853098944,0.00010710543829180352,0.0,0.0,0.0,0.0,0.0,0.00747227291285526,200,50,37.5173499584198,0.750346999168396,0.187586749792099,0.2621671015024185 +13,0.008063060163103784,,7.728943601530707e-05,0.0014628538385318137,0.0,0.0,0.0,0.0,0.013350193465406203,805,202,159.76345896720886,0.7909082127089547,0.19846392418286815,,0.0076726438757032155,0.05748278970012961,8.30927209294102e-05,0.0,0.0,0.0,0.0,0.0,0.0076726438757032155,200,50,37.75867986679077,0.7551735973358155,0.18879339933395387,0.26235078245401383 +14,0.007415602151420175,,8.929440459749589e-05,0.0015707375406524779,0.0,0.0,0.0,0.0,0.010729716642129218,805,202,158.96377038955688,0.786949358364143,0.19747052222305203,,0.007680397593649104,0.11086941079141979,6.998573060639335e-05,0.0,0.0,0.0,0.0,0.0,0.007680397593649104,200,50,37.23767685890198,0.7447535371780396,0.1861883842945099,0.2440120619535446 +15,0.007437876933572455,,8.564865368529946e-05,0.00047338137020623046,0.0,0.0,0.0,0.0,0.009121710080537736,805,202,159.01979041099548,0.7872266852029479,0.19754011231179563,,0.007031830735504627,0.10957676354975775,0.00010169217264709652,0.0,0.0,0.0,0.0,0.0,0.007031830735504627,200,50,37.40683197975159,0.7481366395950317,0.18703415989875793,0.24615271314978598 +16,0.007482980641895061,,8.625618536462435e-05,0.000594590488613022,0.0,0.0,0.0,0.0,0.010502986287588242,805,202,160.58214402198792,0.7949611090197422,0.19948092425091665,,0.008200818449258804,0.09636649512682198,9.688687013927222e-05,0.0,0.0,0.0,0.0,0.0,0.008200818449258804,200,50,38.80649161338806,0.7761298322677612,0.1940324580669403,0.24884941577911376 diff --git a/iris/lct_gan/0/logs/avg_loss_train/events.out.tfevents.1721758188.72f500866ed6.3742.17 b/iris/lct_gan/0/logs/avg_loss_train/events.out.tfevents.1721758188.72f500866ed6.3742.17 new file mode 100644 index 0000000000000000000000000000000000000000..0559ae8babd65bfbe67b94266576ab5c5129438b --- /dev/null +++ b/iris/lct_gan/0/logs/avg_loss_train/events.out.tfevents.1721758188.72f500866ed6.3742.17 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:23212750c51fb13c588d19d6ed73bae3749f7d0203a7d1371fa74e19b7e8e11a +size 868 diff --git a/iris/lct_gan/0/logs/avg_loss_val/events.out.tfevents.1721758188.72f500866ed6.3742.18 b/iris/lct_gan/0/logs/avg_loss_val/events.out.tfevents.1721758188.72f500866ed6.3742.18 new file mode 100644 index 0000000000000000000000000000000000000000..a14a46ac36da3d97aea898f6efd83b590a46088c --- /dev/null +++ b/iris/lct_gan/0/logs/avg_loss_val/events.out.tfevents.1721758188.72f500866ed6.3742.18 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a26da38ee27025b2c972cc1bf35df98436221f09431046ae76377ab944be50d1 +size 868 diff --git a/iris/lct_gan/0/logs/avg_non_role_model_embed_loss_train/events.out.tfevents.1721758188.72f500866ed6.3742.15 b/iris/lct_gan/0/logs/avg_non_role_model_embed_loss_train/events.out.tfevents.1721758188.72f500866ed6.3742.15 new file mode 100644 index 0000000000000000000000000000000000000000..c41a34f605bb098ed1badf4ce7d6472c3430b2f3 --- /dev/null +++ b/iris/lct_gan/0/logs/avg_non_role_model_embed_loss_train/events.out.tfevents.1721758188.72f500866ed6.3742.15 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0fdca53e19b98ac85d70aba26a649f6415128f7ec245d1255ab003b12522b7d6 +size 1225 diff --git a/iris/lct_gan/0/logs/avg_non_role_model_embed_loss_val/events.out.tfevents.1721758188.72f500866ed6.3742.16 b/iris/lct_gan/0/logs/avg_non_role_model_embed_loss_val/events.out.tfevents.1721758188.72f500866ed6.3742.16 new file mode 100644 index 0000000000000000000000000000000000000000..51f1efe9b868388e73bbacc5c7855634a799ec76 --- /dev/null +++ b/iris/lct_gan/0/logs/avg_non_role_model_embed_loss_val/events.out.tfevents.1721758188.72f500866ed6.3742.16 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cef152d38a1965576c8d7593596d137999c7ec0a249435398d49ea824253324d +size 1225 diff --git a/iris/lct_gan/0/logs/avg_non_role_model_g_cos_loss_train/events.out.tfevents.1721758188.72f500866ed6.3742.13 b/iris/lct_gan/0/logs/avg_non_role_model_g_cos_loss_train/events.out.tfevents.1721758188.72f500866ed6.3742.13 new file mode 100644 index 0000000000000000000000000000000000000000..b98b43f569163cb618fe89cf0f73f6df3daba637 --- /dev/null +++ b/iris/lct_gan/0/logs/avg_non_role_model_g_cos_loss_train/events.out.tfevents.1721758188.72f500866ed6.3742.13 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a02c0c0c7ca0a06b072fd7b0160b8b9d334fcda9a8c91333302abec45f069116 +size 1225 diff --git a/iris/lct_gan/0/logs/avg_non_role_model_g_cos_loss_val/events.out.tfevents.1721758188.72f500866ed6.3742.14 b/iris/lct_gan/0/logs/avg_non_role_model_g_cos_loss_val/events.out.tfevents.1721758188.72f500866ed6.3742.14 new file mode 100644 index 0000000000000000000000000000000000000000..39217facbb7861f74d9ed51c98e112038e20663b --- /dev/null +++ b/iris/lct_gan/0/logs/avg_non_role_model_g_cos_loss_val/events.out.tfevents.1721758188.72f500866ed6.3742.14 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9dd4db3fc3c4ecdee2d66195fe9fd7321636f81a0de467e04da6ee8bf48de641 +size 1225 diff --git a/iris/lct_gan/0/logs/avg_non_role_model_g_mag_loss_train/events.out.tfevents.1721758188.72f500866ed6.3742.11 b/iris/lct_gan/0/logs/avg_non_role_model_g_mag_loss_train/events.out.tfevents.1721758188.72f500866ed6.3742.11 new file mode 100644 index 0000000000000000000000000000000000000000..f0f97de2e899346e2769141130b6b08892894bd6 --- /dev/null +++ b/iris/lct_gan/0/logs/avg_non_role_model_g_mag_loss_train/events.out.tfevents.1721758188.72f500866ed6.3742.11 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:509afa64eb04317829fd06d7a8f9413e195c4afbec7dd3bbac0dcc916e76be4c +size 1225 diff --git a/iris/lct_gan/0/logs/avg_non_role_model_g_mag_loss_val/events.out.tfevents.1721758188.72f500866ed6.3742.12 b/iris/lct_gan/0/logs/avg_non_role_model_g_mag_loss_val/events.out.tfevents.1721758188.72f500866ed6.3742.12 new file mode 100644 index 0000000000000000000000000000000000000000..d09de4e43cf4bbf07ce750c2ec3647d2553daf60 --- /dev/null +++ b/iris/lct_gan/0/logs/avg_non_role_model_g_mag_loss_val/events.out.tfevents.1721758188.72f500866ed6.3742.12 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:86fbdd7a05897cdde62f29694287add8b564f85a9574820d3d0a71a347a5f4f9 +size 1225 diff --git a/iris/lct_gan/0/logs/avg_pred_std_train/events.out.tfevents.1721758188.72f500866ed6.3742.29 b/iris/lct_gan/0/logs/avg_pred_std_train/events.out.tfevents.1721758188.72f500866ed6.3742.29 new file mode 100644 index 0000000000000000000000000000000000000000..bd9f181ad2c1e5a8dbfdef9e1960dbed44cc801e --- /dev/null +++ b/iris/lct_gan/0/logs/avg_pred_std_train/events.out.tfevents.1721758188.72f500866ed6.3742.29 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e26d3b50d887a6651ffa692e6624517d849c8d213ed9c6d9f8531ee77faf6bbf +size 936 diff --git a/iris/lct_gan/0/logs/avg_pred_std_val/events.out.tfevents.1721758188.72f500866ed6.3742.30 b/iris/lct_gan/0/logs/avg_pred_std_val/events.out.tfevents.1721758188.72f500866ed6.3742.30 new file mode 100644 index 0000000000000000000000000000000000000000..a06536bc35e8c9e38f39adad4f7d2ce0a7e46d3d --- /dev/null +++ b/iris/lct_gan/0/logs/avg_pred_std_val/events.out.tfevents.1721758188.72f500866ed6.3742.30 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d94dd4f1042b5e095944821a1d24b38fbd38d5f810c8e3005b218bf4cb6b32a2 +size 936 diff --git a/iris/lct_gan/0/logs/avg_role_model_g_cos_loss_train/events.out.tfevents.1721758188.72f500866ed6.3742.9 b/iris/lct_gan/0/logs/avg_role_model_g_cos_loss_train/events.out.tfevents.1721758188.72f500866ed6.3742.9 new file mode 100644 index 0000000000000000000000000000000000000000..9f03ca1cc03b946c910f38063210d034b7adbdb5 --- /dev/null +++ b/iris/lct_gan/0/logs/avg_role_model_g_cos_loss_train/events.out.tfevents.1721758188.72f500866ed6.3742.9 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:00075af2df68f12ea86460f8036cd33c989433ed121ca8ac449187eacd4a1e3b +size 1157 diff --git a/iris/lct_gan/0/logs/avg_role_model_g_cos_loss_val/events.out.tfevents.1721758188.72f500866ed6.3742.10 b/iris/lct_gan/0/logs/avg_role_model_g_cos_loss_val/events.out.tfevents.1721758188.72f500866ed6.3742.10 new file mode 100644 index 0000000000000000000000000000000000000000..0de237137bf9ebe8994a17e4c317d659bb47f4d7 --- /dev/null +++ b/iris/lct_gan/0/logs/avg_role_model_g_cos_loss_val/events.out.tfevents.1721758188.72f500866ed6.3742.10 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d83c348905b552b5714c4fbda69fda8807d870526889c1d88cfe788d17ae3e0f +size 1157 diff --git a/iris/lct_gan/0/logs/avg_role_model_g_mag_loss_train/events.out.tfevents.1721758188.72f500866ed6.3742.7 b/iris/lct_gan/0/logs/avg_role_model_g_mag_loss_train/events.out.tfevents.1721758188.72f500866ed6.3742.7 new file mode 100644 index 0000000000000000000000000000000000000000..8d35ff128d55128a5eda2a7760cc535af0f51318 --- /dev/null +++ b/iris/lct_gan/0/logs/avg_role_model_g_mag_loss_train/events.out.tfevents.1721758188.72f500866ed6.3742.7 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:46708d8bacfe42781ec17a38482c734374254c15b16f610710e6c8416cefdacc +size 1157 diff --git a/iris/lct_gan/0/logs/avg_role_model_g_mag_loss_val/events.out.tfevents.1721758188.72f500866ed6.3742.8 b/iris/lct_gan/0/logs/avg_role_model_g_mag_loss_val/events.out.tfevents.1721758188.72f500866ed6.3742.8 new file mode 100644 index 0000000000000000000000000000000000000000..79273a34d0533481e641544313b807b97aa0f0b0 --- /dev/null +++ b/iris/lct_gan/0/logs/avg_role_model_g_mag_loss_val/events.out.tfevents.1721758188.72f500866ed6.3742.8 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e7701fa50dde3ac144947ae6420d16508f15607699a38fa4e2378510c783db05 +size 1157 diff --git a/iris/lct_gan/0/logs/avg_role_model_loss_train/events.out.tfevents.1721758188.72f500866ed6.3742.1 b/iris/lct_gan/0/logs/avg_role_model_loss_train/events.out.tfevents.1721758188.72f500866ed6.3742.1 new file mode 100644 index 0000000000000000000000000000000000000000..72e90f9df1a22b779bdbe3b439ea8ae0b9024c30 --- /dev/null +++ b/iris/lct_gan/0/logs/avg_role_model_loss_train/events.out.tfevents.1721758188.72f500866ed6.3742.1 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7a225831eecb90946fa34d4916da8702aa567cb273a4b60fc62a2ede94d73b8d +size 1055 diff --git a/iris/lct_gan/0/logs/avg_role_model_loss_val/events.out.tfevents.1721758188.72f500866ed6.3742.2 b/iris/lct_gan/0/logs/avg_role_model_loss_val/events.out.tfevents.1721758188.72f500866ed6.3742.2 new file mode 100644 index 0000000000000000000000000000000000000000..680c71af9829993c04513c84d79bc36d93a00fa1 --- /dev/null +++ b/iris/lct_gan/0/logs/avg_role_model_loss_val/events.out.tfevents.1721758188.72f500866ed6.3742.2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e60b1d191d0be09c15f2b4b5969c19f28fb43a054d498b0d4710e059d8775a79 +size 1055 diff --git a/iris/lct_gan/0/logs/avg_role_model_mean_pred_loss_train/events.out.tfevents.1721758188.72f500866ed6.3742.5 b/iris/lct_gan/0/logs/avg_role_model_mean_pred_loss_train/events.out.tfevents.1721758188.72f500866ed6.3742.5 new file mode 100644 index 0000000000000000000000000000000000000000..2b4a76e3a8334ec345a82ea6a2d137ebc7e4fdf4 --- /dev/null +++ b/iris/lct_gan/0/logs/avg_role_model_mean_pred_loss_train/events.out.tfevents.1721758188.72f500866ed6.3742.5 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:70936c42dea6602339ea03c6d8e2df84f741652921f83ef4b3fa948118366774 +size 1225 diff --git a/iris/lct_gan/0/logs/avg_role_model_mean_pred_loss_val/events.out.tfevents.1721758188.72f500866ed6.3742.6 b/iris/lct_gan/0/logs/avg_role_model_mean_pred_loss_val/events.out.tfevents.1721758188.72f500866ed6.3742.6 new file mode 100644 index 0000000000000000000000000000000000000000..9223d80cc64361d1edc52b782f8bc0536c842105 --- /dev/null +++ b/iris/lct_gan/0/logs/avg_role_model_mean_pred_loss_val/events.out.tfevents.1721758188.72f500866ed6.3742.6 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:29b8dd7136a019300f05c539604d97f6170f80570c742f03b64546de6071ee2c +size 1225 diff --git a/iris/lct_gan/0/logs/avg_role_model_std_loss_train/events.out.tfevents.1721758188.72f500866ed6.3742.3 b/iris/lct_gan/0/logs/avg_role_model_std_loss_train/events.out.tfevents.1721758188.72f500866ed6.3742.3 new file mode 100644 index 0000000000000000000000000000000000000000..ca6fc94f9b7338bb35d6e9af780adf708d9830b1 --- /dev/null +++ b/iris/lct_gan/0/logs/avg_role_model_std_loss_train/events.out.tfevents.1721758188.72f500866ed6.3742.3 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:92695bc11e3c44652c7de31055834f5380a6f1375dfac685d49cd8109aac42bb +size 1123 diff --git a/iris/lct_gan/0/logs/avg_role_model_std_loss_val/events.out.tfevents.1721758188.72f500866ed6.3742.4 b/iris/lct_gan/0/logs/avg_role_model_std_loss_val/events.out.tfevents.1721758188.72f500866ed6.3742.4 new file mode 100644 index 0000000000000000000000000000000000000000..9a577efa7033cddc548188a426b6d9f4169b8c2b --- /dev/null +++ b/iris/lct_gan/0/logs/avg_role_model_std_loss_val/events.out.tfevents.1721758188.72f500866ed6.3742.4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:47452f3ccd444b10c7f7911ef81c5b3c006d1aeff8673a82b6ae2e6c716ccacd +size 1123 diff --git a/iris/lct_gan/0/logs/duration_batch_train/events.out.tfevents.1721758188.72f500866ed6.3742.25 b/iris/lct_gan/0/logs/duration_batch_train/events.out.tfevents.1721758188.72f500866ed6.3742.25 new file mode 100644 index 0000000000000000000000000000000000000000..61c2b3fec02d1ab76b61c872044f7cae695bc486 --- /dev/null +++ b/iris/lct_gan/0/logs/duration_batch_train/events.out.tfevents.1721758188.72f500866ed6.3742.25 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:202043b084e16d41b9109e0fdbfa3deb2577653f095f2cadfe58741e7d4f077d +size 970 diff --git a/iris/lct_gan/0/logs/duration_batch_val/events.out.tfevents.1721758188.72f500866ed6.3742.26 b/iris/lct_gan/0/logs/duration_batch_val/events.out.tfevents.1721758188.72f500866ed6.3742.26 new file mode 100644 index 0000000000000000000000000000000000000000..380028461d5a04ba53fbd3c73dde44d641da8bba --- /dev/null +++ b/iris/lct_gan/0/logs/duration_batch_val/events.out.tfevents.1721758188.72f500866ed6.3742.26 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5a07c962d83e13d935f2936868bf42c5517f82c60a1508a1f2d97beea8d13f34 +size 970 diff --git a/iris/lct_gan/0/logs/duration_size_train/events.out.tfevents.1721758188.72f500866ed6.3742.27 b/iris/lct_gan/0/logs/duration_size_train/events.out.tfevents.1721758188.72f500866ed6.3742.27 new file mode 100644 index 0000000000000000000000000000000000000000..56ed0919f6fc113bed7c3d2ca62e3e6f1546ea59 --- /dev/null +++ b/iris/lct_gan/0/logs/duration_size_train/events.out.tfevents.1721758188.72f500866ed6.3742.27 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dd4313c14dbe76d0f64e0713ba825f44588799e27b5133b7142b2f1144ac722b +size 953 diff --git a/iris/lct_gan/0/logs/duration_size_val/events.out.tfevents.1721758188.72f500866ed6.3742.28 b/iris/lct_gan/0/logs/duration_size_val/events.out.tfevents.1721758188.72f500866ed6.3742.28 new file mode 100644 index 0000000000000000000000000000000000000000..0e161cf8703b0e87d79fa2a6cc7afa2753c45ced --- /dev/null +++ b/iris/lct_gan/0/logs/duration_size_val/events.out.tfevents.1721758188.72f500866ed6.3742.28 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:74f808eaa15e9d9de8035c74bb740e2e794d41ef135c35d355c13d705d3accda +size 953 diff --git a/iris/lct_gan/0/logs/duration_train/events.out.tfevents.1721758188.72f500866ed6.3742.23 b/iris/lct_gan/0/logs/duration_train/events.out.tfevents.1721758188.72f500866ed6.3742.23 new file mode 100644 index 0000000000000000000000000000000000000000..9bb662bf1b52aaad3971c749d2ee83fa186e689d --- /dev/null +++ b/iris/lct_gan/0/logs/duration_train/events.out.tfevents.1721758188.72f500866ed6.3742.23 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:591f0fbcae1a3dc20c4596f2a0dd1d6db0abd5bfa3580ce11af405a411d9a68f +size 868 diff --git a/iris/lct_gan/0/logs/duration_val/events.out.tfevents.1721758188.72f500866ed6.3742.24 b/iris/lct_gan/0/logs/duration_val/events.out.tfevents.1721758188.72f500866ed6.3742.24 new file mode 100644 index 0000000000000000000000000000000000000000..3ed6bb9c529d59de02d34f71d326866519567973 --- /dev/null +++ b/iris/lct_gan/0/logs/duration_val/events.out.tfevents.1721758188.72f500866ed6.3742.24 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e621d47a05e135390c28cae18b43d3ad0f4752120d9210f897ee4389e19cdecc +size 868 diff --git a/iris/lct_gan/0/logs/events.out.tfevents.1721757977.72f500866ed6.3742.0 b/iris/lct_gan/0/logs/events.out.tfevents.1721757977.72f500866ed6.3742.0 new file mode 100644 index 0000000000000000000000000000000000000000..36da8e28575beeb853206bcea96206f5fed20b6a --- /dev/null +++ b/iris/lct_gan/0/logs/events.out.tfevents.1721757977.72f500866ed6.3742.0 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:95dcd1b8780b92da27e5679cf9be613646c022e7f527abacd4427244ccb752fe +size 88 diff --git a/iris/lct_gan/0/logs/n_batch_train/events.out.tfevents.1721758188.72f500866ed6.3742.21 b/iris/lct_gan/0/logs/n_batch_train/events.out.tfevents.1721758188.72f500866ed6.3742.21 new file mode 100644 index 0000000000000000000000000000000000000000..ef01fdd1237768a58d81a9f937bb4a75c1ff88c5 --- /dev/null +++ b/iris/lct_gan/0/logs/n_batch_train/events.out.tfevents.1721758188.72f500866ed6.3742.21 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:35d8723d78fcc100d67d0c1eaf356503ef66401de7a00335d8bde0576ae95f73 +size 851 diff --git a/iris/lct_gan/0/logs/n_batch_val/events.out.tfevents.1721758188.72f500866ed6.3742.22 b/iris/lct_gan/0/logs/n_batch_val/events.out.tfevents.1721758188.72f500866ed6.3742.22 new file mode 100644 index 0000000000000000000000000000000000000000..243562d57cec4fbac3675f9bbc9bf86f0c159e10 --- /dev/null +++ b/iris/lct_gan/0/logs/n_batch_val/events.out.tfevents.1721758188.72f500866ed6.3742.22 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:032b1781625696f7a5a97a985dd80617a9716cc55629570381d8213495b1268e +size 851 diff --git a/iris/lct_gan/0/logs/n_size_train/events.out.tfevents.1721758188.72f500866ed6.3742.19 b/iris/lct_gan/0/logs/n_size_train/events.out.tfevents.1721758188.72f500866ed6.3742.19 new file mode 100644 index 0000000000000000000000000000000000000000..024bcc7ca6ce15c63bf7a797fd31cd95edffd09d --- /dev/null +++ b/iris/lct_gan/0/logs/n_size_train/events.out.tfevents.1721758188.72f500866ed6.3742.19 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f80ee0506ad038dfdd7c9b91a17ff080a0282752029303092bc42fb485c86e9d +size 834 diff --git a/iris/lct_gan/0/logs/n_size_val/events.out.tfevents.1721758188.72f500866ed6.3742.20 b/iris/lct_gan/0/logs/n_size_val/events.out.tfevents.1721758188.72f500866ed6.3742.20 new file mode 100644 index 0000000000000000000000000000000000000000..cf4d89fd6c0226f901631a20e280fab6eb6a6f28 --- /dev/null +++ b/iris/lct_gan/0/logs/n_size_val/events.out.tfevents.1721758188.72f500866ed6.3742.20 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:83e7499565077c3f79c66586049643155d82a6013ddd499658160bbf4d86b643 +size 834 diff --git a/iris/lct_gan/0/logs/train_avg_loss/events.out.tfevents.1721758188.72f500866ed6.3742.39 b/iris/lct_gan/0/logs/train_avg_loss/events.out.tfevents.1721758188.72f500866ed6.3742.39 new file mode 100644 index 0000000000000000000000000000000000000000..f37713675629d196384eac74489018d4a9c7bb7b --- /dev/null +++ b/iris/lct_gan/0/logs/train_avg_loss/events.out.tfevents.1721758188.72f500866ed6.3742.39 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:93bb4495e8ab8297c2bf53b4091bba80b46034cb9f5baed1076a15a1cc7ed79e +size 817 diff --git a/iris/lct_gan/0/logs/train_avg_non_role_model_embed_loss/events.out.tfevents.1721758188.72f500866ed6.3742.38 b/iris/lct_gan/0/logs/train_avg_non_role_model_embed_loss/events.out.tfevents.1721758188.72f500866ed6.3742.38 new file mode 100644 index 0000000000000000000000000000000000000000..c9b4cc3d2efeb61d11a7e6acb60b30395c0ea5dd --- /dev/null +++ b/iris/lct_gan/0/logs/train_avg_non_role_model_embed_loss/events.out.tfevents.1721758188.72f500866ed6.3742.38 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7bd8e81af0f284a5cb622eb927abad74f2e7d40e8f041ed7e2744489df1ebdf2 +size 817 diff --git a/iris/lct_gan/0/logs/train_avg_non_role_model_g_cos_loss/events.out.tfevents.1721758188.72f500866ed6.3742.37 b/iris/lct_gan/0/logs/train_avg_non_role_model_g_cos_loss/events.out.tfevents.1721758188.72f500866ed6.3742.37 new file mode 100644 index 0000000000000000000000000000000000000000..4c3f6a9fa2aca20333dc9f0c2419105d1a5de97e --- /dev/null +++ b/iris/lct_gan/0/logs/train_avg_non_role_model_g_cos_loss/events.out.tfevents.1721758188.72f500866ed6.3742.37 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8f50200fe5fcb907582ee38011100710847636aa4afa339d9584590bd2cbf8cb +size 817 diff --git a/iris/lct_gan/0/logs/train_avg_non_role_model_g_mag_loss/events.out.tfevents.1721758188.72f500866ed6.3742.36 b/iris/lct_gan/0/logs/train_avg_non_role_model_g_mag_loss/events.out.tfevents.1721758188.72f500866ed6.3742.36 new file mode 100644 index 0000000000000000000000000000000000000000..f0f2199748704a0aaf3d8c6ba54135e842ff6a77 --- /dev/null +++ b/iris/lct_gan/0/logs/train_avg_non_role_model_g_mag_loss/events.out.tfevents.1721758188.72f500866ed6.3742.36 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2de112844bc946fb4c8de42618293528fe55e53108897bf17aab01c8400fde07 +size 817 diff --git a/iris/lct_gan/0/logs/train_avg_pred_std/events.out.tfevents.1721758188.72f500866ed6.3742.45 b/iris/lct_gan/0/logs/train_avg_pred_std/events.out.tfevents.1721758188.72f500866ed6.3742.45 new file mode 100644 index 0000000000000000000000000000000000000000..cae33db7f9b7bc938ced9c18c263582d72afc151 --- /dev/null +++ b/iris/lct_gan/0/logs/train_avg_pred_std/events.out.tfevents.1721758188.72f500866ed6.3742.45 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:41ca03bc9ab4e61dd184b9c147bb15a916138f9c22691115b9764f3aba28fad2 +size 817 diff --git a/iris/lct_gan/0/logs/train_avg_role_model_g_cos_loss/events.out.tfevents.1721758188.72f500866ed6.3742.35 b/iris/lct_gan/0/logs/train_avg_role_model_g_cos_loss/events.out.tfevents.1721758188.72f500866ed6.3742.35 new file mode 100644 index 0000000000000000000000000000000000000000..bdef064b1fd740655bd3b556576880656db8dbaa --- /dev/null +++ b/iris/lct_gan/0/logs/train_avg_role_model_g_cos_loss/events.out.tfevents.1721758188.72f500866ed6.3742.35 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e24ad95ff14748878b8da13fc4b19efac89e20e2ae0569993caf37a10f49e1c3 +size 817 diff --git a/iris/lct_gan/0/logs/train_avg_role_model_g_mag_loss/events.out.tfevents.1721758188.72f500866ed6.3742.34 b/iris/lct_gan/0/logs/train_avg_role_model_g_mag_loss/events.out.tfevents.1721758188.72f500866ed6.3742.34 new file mode 100644 index 0000000000000000000000000000000000000000..71eb7b89c486d92b4cdff55ab56d53a550e4f99b --- /dev/null +++ b/iris/lct_gan/0/logs/train_avg_role_model_g_mag_loss/events.out.tfevents.1721758188.72f500866ed6.3742.34 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4555942db8aa1e01cc5da121a2bab6922dc03d81c36eb689c6a5dfa53da7aac2 +size 817 diff --git a/iris/lct_gan/0/logs/train_avg_role_model_loss/events.out.tfevents.1721758188.72f500866ed6.3742.31 b/iris/lct_gan/0/logs/train_avg_role_model_loss/events.out.tfevents.1721758188.72f500866ed6.3742.31 new file mode 100644 index 0000000000000000000000000000000000000000..bc0ec3746a5240eba7ec2ddf500829b57b1f0f73 --- /dev/null +++ b/iris/lct_gan/0/logs/train_avg_role_model_loss/events.out.tfevents.1721758188.72f500866ed6.3742.31 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:76974a3e2b0087150ee94d098e2f6bb5d09da3528e04580f199928e7e154b44e +size 817 diff --git a/iris/lct_gan/0/logs/train_avg_role_model_mean_pred_loss/events.out.tfevents.1721758188.72f500866ed6.3742.33 b/iris/lct_gan/0/logs/train_avg_role_model_mean_pred_loss/events.out.tfevents.1721758188.72f500866ed6.3742.33 new file mode 100644 index 0000000000000000000000000000000000000000..84c1a1c97004aa461c3350adac70968eb6c744bc --- /dev/null +++ b/iris/lct_gan/0/logs/train_avg_role_model_mean_pred_loss/events.out.tfevents.1721758188.72f500866ed6.3742.33 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f023c06abe166dd05263ac423d4b9da37dcaeab6d211c3de47cabb9ccf8e4ba0 +size 817 diff --git a/iris/lct_gan/0/logs/train_avg_role_model_std_loss/events.out.tfevents.1721758188.72f500866ed6.3742.32 b/iris/lct_gan/0/logs/train_avg_role_model_std_loss/events.out.tfevents.1721758188.72f500866ed6.3742.32 new file mode 100644 index 0000000000000000000000000000000000000000..ae11abed58c6fdc0b242d95a7327501d247b51ff --- /dev/null +++ b/iris/lct_gan/0/logs/train_avg_role_model_std_loss/events.out.tfevents.1721758188.72f500866ed6.3742.32 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:da28455564600184a8e4546c990273c4a6ef1c549dfc23dd03866a2ab7fa0597 +size 817 diff --git a/iris/lct_gan/0/logs/train_duration/events.out.tfevents.1721758188.72f500866ed6.3742.42 b/iris/lct_gan/0/logs/train_duration/events.out.tfevents.1721758188.72f500866ed6.3742.42 new file mode 100644 index 0000000000000000000000000000000000000000..42a1d79db8dbd0a1be98557e91d0f0712e6a1b2e --- /dev/null +++ b/iris/lct_gan/0/logs/train_duration/events.out.tfevents.1721758188.72f500866ed6.3742.42 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f156b798594d9e76ef517be66f6956428986b77ee2100a656370e7bb1d0ba51a +size 817 diff --git a/iris/lct_gan/0/logs/train_duration_batch/events.out.tfevents.1721758188.72f500866ed6.3742.43 b/iris/lct_gan/0/logs/train_duration_batch/events.out.tfevents.1721758188.72f500866ed6.3742.43 new file mode 100644 index 0000000000000000000000000000000000000000..8041eda009a57f712cc4835d636be41f1c75b298 --- /dev/null +++ b/iris/lct_gan/0/logs/train_duration_batch/events.out.tfevents.1721758188.72f500866ed6.3742.43 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4a684d045530a1b05798c974e18f5b5c90d720bf1cb738f529c729e5b762f23f +size 817 diff --git a/iris/lct_gan/0/logs/train_duration_size/events.out.tfevents.1721758188.72f500866ed6.3742.44 b/iris/lct_gan/0/logs/train_duration_size/events.out.tfevents.1721758188.72f500866ed6.3742.44 new file mode 100644 index 0000000000000000000000000000000000000000..1baf243a765d835c196d97680e3f35df7cdf5535 --- /dev/null +++ b/iris/lct_gan/0/logs/train_duration_size/events.out.tfevents.1721758188.72f500866ed6.3742.44 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2597cf26f6fee8bb984c1c0eab0981ca3e2375540c401bc4c980aa9bc6c6660b +size 817 diff --git a/iris/lct_gan/0/logs/train_n_batch/events.out.tfevents.1721758188.72f500866ed6.3742.41 b/iris/lct_gan/0/logs/train_n_batch/events.out.tfevents.1721758188.72f500866ed6.3742.41 new file mode 100644 index 0000000000000000000000000000000000000000..37c187a0c0eef7329ea5175af75f6762653658b5 --- /dev/null +++ b/iris/lct_gan/0/logs/train_n_batch/events.out.tfevents.1721758188.72f500866ed6.3742.41 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e7a747203ec1a2c117d045fdbe83627f07125ab9b302c28fe62bbe18432b3cfb +size 817 diff --git a/iris/lct_gan/0/logs/train_n_size/events.out.tfevents.1721758188.72f500866ed6.3742.40 b/iris/lct_gan/0/logs/train_n_size/events.out.tfevents.1721758188.72f500866ed6.3742.40 new file mode 100644 index 0000000000000000000000000000000000000000..7db5985d4cad49d4e406ea069f2445377d74b0c2 --- /dev/null +++ b/iris/lct_gan/0/logs/train_n_size/events.out.tfevents.1721758188.72f500866ed6.3742.40 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4ff5d14af19ef26785c40ed6d302165c6313c573c5e14c6ac4fd65e096ca7f0f +size 817 diff --git a/iris/lct_gan/0/logs/val_avg_loss/events.out.tfevents.1721758188.72f500866ed6.3742.54 b/iris/lct_gan/0/logs/val_avg_loss/events.out.tfevents.1721758188.72f500866ed6.3742.54 new file mode 100644 index 0000000000000000000000000000000000000000..26019867b7e223d90308b468d6fba8cbe1402d7a --- /dev/null +++ b/iris/lct_gan/0/logs/val_avg_loss/events.out.tfevents.1721758188.72f500866ed6.3742.54 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:065eeab411d2548881a0f9d62645d67632e5328f23f7414fc65000b0caa362ed +size 783 diff --git a/iris/lct_gan/0/logs/val_avg_non_role_model_embed_loss/events.out.tfevents.1721758188.72f500866ed6.3742.53 b/iris/lct_gan/0/logs/val_avg_non_role_model_embed_loss/events.out.tfevents.1721758188.72f500866ed6.3742.53 new file mode 100644 index 0000000000000000000000000000000000000000..c6bde8dcd9ac4ce94a612c6a04d9bc18694787a4 --- /dev/null +++ b/iris/lct_gan/0/logs/val_avg_non_role_model_embed_loss/events.out.tfevents.1721758188.72f500866ed6.3742.53 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1c720afddfaed1cfdd5ce38cbf5f241801a9726dd9c50bdac55697bab1718fec +size 783 diff --git a/iris/lct_gan/0/logs/val_avg_non_role_model_g_cos_loss/events.out.tfevents.1721758188.72f500866ed6.3742.52 b/iris/lct_gan/0/logs/val_avg_non_role_model_g_cos_loss/events.out.tfevents.1721758188.72f500866ed6.3742.52 new file mode 100644 index 0000000000000000000000000000000000000000..aa201ab14d3cdae48b26f15afbf63a6720533bde --- /dev/null +++ b/iris/lct_gan/0/logs/val_avg_non_role_model_g_cos_loss/events.out.tfevents.1721758188.72f500866ed6.3742.52 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7057ead951f1088bdc2875f8f0887601e390ae63f32b377fbf2d687a62f1aaa7 +size 783 diff --git a/iris/lct_gan/0/logs/val_avg_non_role_model_g_mag_loss/events.out.tfevents.1721758188.72f500866ed6.3742.51 b/iris/lct_gan/0/logs/val_avg_non_role_model_g_mag_loss/events.out.tfevents.1721758188.72f500866ed6.3742.51 new file mode 100644 index 0000000000000000000000000000000000000000..08295367f8725f1032712a189f89ee2920dc7689 --- /dev/null +++ b/iris/lct_gan/0/logs/val_avg_non_role_model_g_mag_loss/events.out.tfevents.1721758188.72f500866ed6.3742.51 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c40a49ab81eb493dab4a09888d19c765f66ce043f8fc4bc2bee1d8c6c4fa7d56 +size 783 diff --git a/iris/lct_gan/0/logs/val_avg_pred_std/events.out.tfevents.1721758188.72f500866ed6.3742.60 b/iris/lct_gan/0/logs/val_avg_pred_std/events.out.tfevents.1721758188.72f500866ed6.3742.60 new file mode 100644 index 0000000000000000000000000000000000000000..e75a18b974cbb2587d3c1ad9db99b3999b45ff7d --- /dev/null +++ b/iris/lct_gan/0/logs/val_avg_pred_std/events.out.tfevents.1721758188.72f500866ed6.3742.60 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9c7485ce0dc3645760d75ae931306a2c7d6707776823795a32a805fb4bfe4bed +size 783 diff --git a/iris/lct_gan/0/logs/val_avg_role_model_g_cos_loss/events.out.tfevents.1721758188.72f500866ed6.3742.50 b/iris/lct_gan/0/logs/val_avg_role_model_g_cos_loss/events.out.tfevents.1721758188.72f500866ed6.3742.50 new file mode 100644 index 0000000000000000000000000000000000000000..4444631e29e1c9baab1db5037b496023133714cb --- /dev/null +++ b/iris/lct_gan/0/logs/val_avg_role_model_g_cos_loss/events.out.tfevents.1721758188.72f500866ed6.3742.50 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ed1b667399148e30db5f2ff0753507359b024dc5f6fa2da875a6b87f0f2d875e +size 783 diff --git a/iris/lct_gan/0/logs/val_avg_role_model_g_mag_loss/events.out.tfevents.1721758188.72f500866ed6.3742.49 b/iris/lct_gan/0/logs/val_avg_role_model_g_mag_loss/events.out.tfevents.1721758188.72f500866ed6.3742.49 new file mode 100644 index 0000000000000000000000000000000000000000..d37b189dcceb290baa6619d61406f32f959260bc --- /dev/null +++ b/iris/lct_gan/0/logs/val_avg_role_model_g_mag_loss/events.out.tfevents.1721758188.72f500866ed6.3742.49 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c07697b3e3c29d707368532db3c261078937e2546d6d548570a8f3b8e19955d1 +size 783 diff --git a/iris/lct_gan/0/logs/val_avg_role_model_loss/events.out.tfevents.1721758188.72f500866ed6.3742.46 b/iris/lct_gan/0/logs/val_avg_role_model_loss/events.out.tfevents.1721758188.72f500866ed6.3742.46 new file mode 100644 index 0000000000000000000000000000000000000000..d416a4494a7bff183f24c9e4117adbbdef60bf0d --- /dev/null +++ b/iris/lct_gan/0/logs/val_avg_role_model_loss/events.out.tfevents.1721758188.72f500866ed6.3742.46 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1ea7fce21cbb77fae756f09387d9fee1b6deb6e378ecd8551ca5b86a14e6bfd8 +size 783 diff --git a/iris/lct_gan/0/logs/val_avg_role_model_mean_pred_loss/events.out.tfevents.1721758188.72f500866ed6.3742.48 b/iris/lct_gan/0/logs/val_avg_role_model_mean_pred_loss/events.out.tfevents.1721758188.72f500866ed6.3742.48 new file mode 100644 index 0000000000000000000000000000000000000000..9c904e1f32a5f9a2eb593accf8c37b2111518eb5 --- /dev/null +++ b/iris/lct_gan/0/logs/val_avg_role_model_mean_pred_loss/events.out.tfevents.1721758188.72f500866ed6.3742.48 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eccb95ddc7bbadcb49f7d9d2bc6f414728c50de64c4cc8c760ea078ccc6372f4 +size 783 diff --git a/iris/lct_gan/0/logs/val_avg_role_model_std_loss/events.out.tfevents.1721758188.72f500866ed6.3742.47 b/iris/lct_gan/0/logs/val_avg_role_model_std_loss/events.out.tfevents.1721758188.72f500866ed6.3742.47 new file mode 100644 index 0000000000000000000000000000000000000000..4178d8f87711b1bc6544a711a3b59e79e0c8f859 --- /dev/null +++ b/iris/lct_gan/0/logs/val_avg_role_model_std_loss/events.out.tfevents.1721758188.72f500866ed6.3742.47 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c0157f4b54f15c938135169c6a18d00e0549548f2f4e8e02dc5b505098bb9531 +size 783 diff --git a/iris/lct_gan/0/logs/val_duration/events.out.tfevents.1721758188.72f500866ed6.3742.57 b/iris/lct_gan/0/logs/val_duration/events.out.tfevents.1721758188.72f500866ed6.3742.57 new file mode 100644 index 0000000000000000000000000000000000000000..b8eda591b34fcc741fada2a38893e69c0da2b06a --- /dev/null +++ b/iris/lct_gan/0/logs/val_duration/events.out.tfevents.1721758188.72f500866ed6.3742.57 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1f94d27f5a97de360e04ac3e77d6bc8206ea05c305ae6cd5d03cb64bbc46d4f1 +size 783 diff --git a/iris/lct_gan/0/logs/val_duration_batch/events.out.tfevents.1721758188.72f500866ed6.3742.58 b/iris/lct_gan/0/logs/val_duration_batch/events.out.tfevents.1721758188.72f500866ed6.3742.58 new file mode 100644 index 0000000000000000000000000000000000000000..8c7ce2dff4c50ec64ebde7888276aa540073b227 --- /dev/null +++ b/iris/lct_gan/0/logs/val_duration_batch/events.out.tfevents.1721758188.72f500866ed6.3742.58 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:41fa5e2e0c16bd67c56f86effd5c915beaac87693abb5d0a22eb6bc49be2d1e9 +size 783 diff --git a/iris/lct_gan/0/logs/val_duration_size/events.out.tfevents.1721758188.72f500866ed6.3742.59 b/iris/lct_gan/0/logs/val_duration_size/events.out.tfevents.1721758188.72f500866ed6.3742.59 new file mode 100644 index 0000000000000000000000000000000000000000..148be9c6377c92f82328248f170afc07662284b0 --- /dev/null +++ b/iris/lct_gan/0/logs/val_duration_size/events.out.tfevents.1721758188.72f500866ed6.3742.59 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8ce089d8d219aa36c8b44bf89482c33938b4e51017596392eb50680347e4854f +size 783 diff --git a/iris/lct_gan/0/logs/val_n_batch/events.out.tfevents.1721758188.72f500866ed6.3742.56 b/iris/lct_gan/0/logs/val_n_batch/events.out.tfevents.1721758188.72f500866ed6.3742.56 new file mode 100644 index 0000000000000000000000000000000000000000..142e16401b7a743444f072eb277c9751d1131d1b --- /dev/null +++ b/iris/lct_gan/0/logs/val_n_batch/events.out.tfevents.1721758188.72f500866ed6.3742.56 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:87b149749ecdabc92196cb91065b416f5953f4c0cbd03a46d2eaf1de6e0fc3f4 +size 783 diff --git a/iris/lct_gan/0/logs/val_n_size/events.out.tfevents.1721758188.72f500866ed6.3742.55 b/iris/lct_gan/0/logs/val_n_size/events.out.tfevents.1721758188.72f500866ed6.3742.55 new file mode 100644 index 0000000000000000000000000000000000000000..1ad8a83e1f24e896bc98b6473f8a9d465b8bb1dd --- /dev/null +++ b/iris/lct_gan/0/logs/val_n_size/events.out.tfevents.1721758188.72f500866ed6.3742.55 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4e29d50cb0de5965d51c304a145c7627a3d6b4441a35592a2381a82e69622ffa +size 783 diff --git a/iris/lct_gan/0/mlu-eval.ipynb b/iris/lct_gan/0/mlu-eval.ipynb new file mode 100644 index 0000000000000000000000000000000000000000..5e4f2f354d275ae07ffdaeb7f3d3f3e5a2829fce --- /dev/null +++ b/iris/lct_gan/0/mlu-eval.ipynb @@ -0,0 +1,2332 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "982e76f5", + "metadata": { + "execution": { + "iopub.execute_input": "2024-07-23T18:05:18.090759Z", + "iopub.status.busy": "2024-07-23T18:05:18.090132Z", + "iopub.status.idle": "2024-07-23T18:05:18.121946Z", + "shell.execute_reply": "2024-07-23T18:05:18.121219Z" + }, + "papermill": { + "duration": 0.046692, + "end_time": "2024-07-23T18:05:18.124021", + "exception": false, + "start_time": "2024-07-23T18:05:18.077329", + "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-23T18:05:18.150163Z", + "iopub.status.busy": "2024-07-23T18:05:18.149333Z", + "iopub.status.idle": "2024-07-23T18:05:18.156760Z", + "shell.execute_reply": "2024-07-23T18:05:18.155934Z" + }, + "papermill": { + "duration": 0.022635, + "end_time": "2024-07-23T18:05:18.158703", + "exception": false, + "start_time": "2024-07-23T18:05:18.136068", + "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-23T18:05:18.182379Z", + "iopub.status.busy": "2024-07-23T18:05:18.182097Z", + "iopub.status.idle": "2024-07-23T18:05:18.186004Z", + "shell.execute_reply": "2024-07-23T18:05:18.185160Z" + }, + "papermill": { + "duration": 0.018032, + "end_time": "2024-07-23T18:05:18.187912", + "exception": false, + "start_time": "2024-07-23T18:05:18.169880", + "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-23T18:05:18.211878Z", + "iopub.status.busy": "2024-07-23T18:05:18.211588Z", + "iopub.status.idle": "2024-07-23T18:05:18.215715Z", + "shell.execute_reply": "2024-07-23T18:05:18.214866Z" + }, + "executionInfo": { + "elapsed": 678, + "status": "ok", + "timestamp": 1696841022168, + "user": { + "displayName": "Rizqi Nur", + "userId": "09644007964068789560" + }, + "user_tz": -420 + }, + "id": "ns5hFcVL2yvs", + "papermill": { + "duration": 0.018719, + "end_time": "2024-07-23T18:05:18.217723", + "exception": false, + "start_time": "2024-07-23T18:05:18.199004", + "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-23T18:05:18.241005Z", + "iopub.status.busy": "2024-07-23T18:05:18.240758Z", + "iopub.status.idle": "2024-07-23T18:05:18.246188Z", + "shell.execute_reply": "2024-07-23T18:05:18.245452Z" + }, + "papermill": { + "duration": 0.019402, + "end_time": "2024-07-23T18:05:18.248133", + "exception": false, + "start_time": "2024-07-23T18:05:18.228731", + "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": "414bbe26", + "metadata": { + "execution": { + "iopub.execute_input": "2024-07-23T18:05:18.274109Z", + "iopub.status.busy": "2024-07-23T18:05:18.273461Z", + "iopub.status.idle": "2024-07-23T18:05:18.279207Z", + "shell.execute_reply": "2024-07-23T18:05:18.278373Z" + }, + "papermill": { + "duration": 0.020773, + "end_time": "2024-07-23T18:05:18.281061", + "exception": false, + "start_time": "2024-07-23T18:05:18.260288", + "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 = 0\n", + "debug = False\n", + "folder = \"eval\"\n", + "path_prefix = \"../../../../\"\n", + "path = \"eval/iris/lct_gan/0\"\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.010985, + "end_time": "2024-07-23T18:05:18.303545", + "exception": false, + "start_time": "2024-07-23T18:05:18.292560", + "status": "completed" + }, + "tags": [] + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "5f45b1d0", + "metadata": { + "execution": { + "iopub.execute_input": "2024-07-23T18:05:18.328211Z", + "iopub.status.busy": "2024-07-23T18:05:18.327603Z", + "iopub.status.idle": "2024-07-23T18:05:18.337464Z", + "shell.execute_reply": "2024-07-23T18:05:18.336529Z" + }, + "executionInfo": { + "elapsed": 7, + "status": "ok", + "timestamp": 1696841022169, + "user": { + "displayName": "Rizqi Nur", + "userId": "09644007964068789560" + }, + "user_tz": -420 + }, + "id": "UdvXYv3c3LXy", + "papermill": { + "duration": 0.024476, + "end_time": "2024-07-23T18:05:18.339545", + "exception": false, + "start_time": "2024-07-23T18:05:18.315069", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "/kaggle/working\n", + "/kaggle/working/eval/iris/lct_gan/0\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-23T18:05:18.364027Z", + "iopub.status.busy": "2024-07-23T18:05:18.363691Z", + "iopub.status.idle": "2024-07-23T18:05:20.346321Z", + "shell.execute_reply": "2024-07-23T18:05:20.345376Z" + }, + "papermill": { + "duration": 1.997425, + "end_time": "2024-07-23T18:05:20.348399", + "exception": false, + "start_time": "2024-07-23T18:05:18.350974", + "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-23T18:05:20.374802Z", + "iopub.status.busy": "2024-07-23T18:05:20.374371Z", + "iopub.status.idle": "2024-07-23T18:05:20.384733Z", + "shell.execute_reply": "2024-07-23T18:05:20.383920Z" + }, + "papermill": { + "duration": 0.026064, + "end_time": "2024-07-23T18:05:20.386858", + "exception": false, + "start_time": "2024-07-23T18:05:20.360794", + "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-23T18:05:20.411218Z", + "iopub.status.busy": "2024-07-23T18:05:20.410916Z", + "iopub.status.idle": "2024-07-23T18:05:20.417804Z", + "shell.execute_reply": "2024-07-23T18:05:20.416978Z" + }, + "executionInfo": { + "elapsed": 6, + "status": "ok", + "timestamp": 1696841022169, + "user": { + "displayName": "Rizqi Nur", + "userId": "09644007964068789560" + }, + "user_tz": -420 + }, + "id": "Vrl2QkoV3o_8", + "papermill": { + "duration": 0.021204, + "end_time": "2024-07-23T18:05:20.419689", + "exception": false, + "start_time": "2024-07-23T18:05:20.398485", + "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-23T18:05:20.443495Z", + "iopub.status.busy": "2024-07-23T18:05:20.443216Z", + "iopub.status.idle": "2024-07-23T18:05:20.541581Z", + "shell.execute_reply": "2024-07-23T18:05:20.540759Z" + }, + "executionInfo": { + "elapsed": 6, + "status": "ok", + "timestamp": 1696841022169, + "user": { + "displayName": "Rizqi Nur", + "userId": "09644007964068789560" + }, + "user_tz": -420 + }, + "id": "TilUuFk9vqMb", + "papermill": { + "duration": 0.112655, + "end_time": "2024-07-23T18:05:20.543714", + "exception": false, + "start_time": "2024-07-23T18:05:20.431059", + "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-23T18:05:20.571313Z", + "iopub.status.busy": "2024-07-23T18:05:20.570924Z", + "iopub.status.idle": "2024-07-23T18:05:25.006007Z", + "shell.execute_reply": "2024-07-23T18:05:25.004987Z" + }, + "executionInfo": { + "elapsed": 3113, + "status": "ok", + "timestamp": 1696841025277, + "user": { + "displayName": "Rizqi Nur", + "userId": "09644007964068789560" + }, + "user_tz": -420 + }, + "id": "7Abt8nStvr9Z", + "papermill": { + "duration": 4.450965, + "end_time": "2024-07-23T18:05:25.008542", + "exception": false, + "start_time": "2024-07-23T18:05:20.557577", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "2024-07-23 18:05:22.353846: 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 18:05:22.353903: 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 18:05:22.355767: 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-23T18:05:25.033646Z", + "iopub.status.busy": "2024-07-23T18:05:25.032893Z", + "iopub.status.idle": "2024-07-23T18:05:25.039811Z", + "shell.execute_reply": "2024-07-23T18:05:25.039069Z" + }, + "papermill": { + "duration": 0.02153, + "end_time": "2024-07-23T18:05:25.041828", + "exception": false, + "start_time": "2024-07-23T18:05:25.020298", + "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-23T18:05:25.067799Z", + "iopub.status.busy": "2024-07-23T18:05:25.066983Z", + "iopub.status.idle": "2024-07-23T18:05:27.680326Z", + "shell.execute_reply": "2024-07-23T18:05:27.679504Z" + }, + "executionInfo": { + "elapsed": 20137, + "status": "ok", + "timestamp": 1696841045408, + "user": { + "displayName": "Rizqi Nur", + "userId": "09644007964068789560" + }, + "user_tz": -420 + }, + "id": "tbaguWxAvtPi", + "papermill": { + "duration": 2.6288, + "end_time": "2024-07-23T18:05:27.682654", + "exception": false, + "start_time": "2024-07-23T18:05:25.053854", + "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-23T18:05:27.710226Z", + "iopub.status.busy": "2024-07-23T18:05:27.709636Z", + "iopub.status.idle": "2024-07-23T18:05:27.715715Z", + "shell.execute_reply": "2024-07-23T18:05:27.714876Z" + }, + "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.022307, + "end_time": "2024-07-23T18:05:27.717672", + "exception": false, + "start_time": "2024-07-23T18:05:27.695365", + "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-23T18:05:27.742424Z", + "iopub.status.busy": "2024-07-23T18:05:27.742126Z", + "iopub.status.idle": "2024-07-23T18:05:27.747121Z", + "shell.execute_reply": "2024-07-23T18:05:27.746243Z" + }, + "papermill": { + "duration": 0.019741, + "end_time": "2024-07-23T18:05:27.749160", + "exception": false, + "start_time": "2024-07-23T18:05:27.729419", + "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-23T18:05:27.773681Z", + "iopub.status.busy": "2024-07-23T18:05:27.773409Z", + "iopub.status.idle": "2024-07-23T18:05:35.787183Z", + "shell.execute_reply": "2024-07-23T18:05:35.786234Z" + }, + "papermill": { + "duration": 8.028453, + "end_time": "2024-07-23T18:05:35.789275", + "exception": false, + "start_time": "2024-07-23T18:05:27.760822", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "../../../../ml-utility-loss/ synthetics iris\n", + "Caching in ../../../../iris/_cache_aug_test/lct_gan/all inf False\n", + "../../../../ml-utility-loss/aug_test/iris 0\n", + "Caching in ../../../../iris/_cache_bs_test/lct_gan/all inf False\n", + "../../../../ml-utility-loss/bs_test/iris 0\n", + "Caching in ../../../../iris/_cache_synth_test/lct_gan/all inf False\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "../../../../ml-utility-loss/synthetics/iris 200\n", + "200\n" + ] + } + ], + "source": [ + "from ml_utility_loss.loss_learning.estimator.pipeline import load_dataset_4\n", + "\n", + "test_set = load_dataset_4(\n", + " dataset_dir=os.path.join(path_prefix, \"ml-utility-loss/\"),\n", + " dataset_name=dataset_name,\n", + " preprocessor=preprocessor,\n", + " model=single_model,\n", + " cache_dir=path_prefix,\n", + " #synth_dir=f\"synthetics2/{single_model}\",\n", + " synth_dir=\"synthetics\",\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "14ff8b40", + "metadata": { + "execution": { + "iopub.execute_input": "2024-07-23T18:05:35.816934Z", + "iopub.status.busy": "2024-07-23T18:05:35.816161Z", + "iopub.status.idle": "2024-07-23T18:05:36.393990Z", + "shell.execute_reply": "2024-07-23T18:05:36.393044Z" + }, + "executionInfo": { + "elapsed": 588, + "status": "ok", + "timestamp": 1696841049215, + "user": { + "displayName": "Rizqi Nur", + "userId": "09644007964068789560" + }, + "user_tz": -420 + }, + "id": "NgahtU1q9uLO", + "papermill": { + "duration": 0.593673, + "end_time": "2024-07-23T18:05:36.396176", + "exception": false, + "start_time": "2024-07-23T18:05:35.802503", + "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-23T18:05:36.423636Z", + "iopub.status.busy": "2024-07-23T18:05:36.423310Z", + "iopub.status.idle": "2024-07-23T18:06:16.310974Z", + "shell.execute_reply": "2024-07-23T18:06:16.310049Z" + }, + "papermill": { + "duration": 39.903912, + "end_time": "2024-07-23T18:06:16.313020", + "exception": false, + "start_time": "2024-07-23T18:05:36.409108", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "../../../../ml-utility-loss/ synthetics iris\n", + "Caching in ../../../../iris/_cache_aug_train/lct_gan/all inf False\n", + "split df ratio is 0\n", + "../../../../ml-utility-loss/aug_train/iris [0, 0]\n", + "Caching in ../../../../iris/_cache_aug_val/lct_gan/all inf False\n", + "split df ratio is 1\n", + "../../../../ml-utility-loss/aug_val/iris [0, 0]\n", + "Caching in ../../../../iris/_cache_bs_train/lct_gan/all inf False\n", + "split df ratio is 0\n", + "../../../../ml-utility-loss/bs_train/iris [0, 0]\n", + "Caching in ../../../../iris/_cache_bs_val/lct_gan/all inf False\n", + "split df ratio is 1\n", + "../../../../ml-utility-loss/bs_val/iris [0, 0]\n", + "Caching in ../../../../iris/_cache_synth/lct_gan/all inf False\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/opt/conda/lib/python3.10/site-packages/ml_utility_loss/loss_learning/estimator/data.py:174: FutureWarning: The default dtype for empty Series will be 'object' instead of 'float64' in a future version. Specify a dtype explicitly to silence this warning.\n", + " index = pd.Series(self.index)\n", + "/opt/conda/lib/python3.10/site-packages/ml_utility_loss/loss_learning/estimator/data.py:174: FutureWarning: The default dtype for empty Series will be 'object' instead of 'float64' in a future version. Specify a dtype explicitly to silence this warning.\n", + " index = pd.Series(self.index)\n", + "/opt/conda/lib/python3.10/site-packages/ml_utility_loss/loss_learning/estimator/data.py:174: FutureWarning: The default dtype for empty Series will be 'object' instead of 'float64' in a future version. Specify a dtype explicitly to silence this warning.\n", + " index = pd.Series(self.index)\n", + "/opt/conda/lib/python3.10/site-packages/ml_utility_loss/loss_learning/estimator/data.py:174: FutureWarning: The default dtype for empty Series will be 'object' instead of 'float64' in a future version. Specify a dtype explicitly to silence this warning.\n", + " index = pd.Series(self.index)\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Splitting without random!\n", + "Split with reverse index!\n", + "../../../../ml-utility-loss/synthetics/iris [800, 200]\n", + "Caching in ../../../../iris/_cache_real/lct_gan/all inf False\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "split df ratio is 0\n", + "../../../../ml-utility-loss/synthetics/iris [5, 0]\n", + "[805, 200]\n", + "[805, 200]\n" + ] + } + ], + "source": [ + "train_set, val_set = datasetsn(model=params[\"fixed_role_model\"], synth_data=params[\"synth_data\"])" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "2fcb1418", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 1000 + }, + "execution": { + "iopub.execute_input": "2024-07-23T18:06:16.342217Z", + "iopub.status.busy": "2024-07-23T18:06:16.341796Z", + "iopub.status.idle": "2024-07-23T18:06:16.656034Z", + "shell.execute_reply": "2024-07-23T18:06:16.655154Z" + }, + "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.331245, + "end_time": "2024-07-23T18:06:16.658066", + "exception": false, + "start_time": "2024-07-23T18:06:16.326821", + "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-23T18:06:16.687806Z", + "iopub.status.busy": "2024-07-23T18:06:16.687027Z", + "iopub.status.idle": "2024-07-23T18:06:16.691553Z", + "shell.execute_reply": "2024-07-23T18:06:16.690635Z" + }, + "papermill": { + "duration": 0.02173, + "end_time": "2024-07-23T18:06:16.693511", + "exception": false, + "start_time": "2024-07-23T18:06:16.671781", + "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-23T18:06:16.720571Z", + "iopub.status.busy": "2024-07-23T18:06:16.719984Z", + "iopub.status.idle": "2024-07-23T18:06:16.726847Z", + "shell.execute_reply": "2024-07-23T18:06:16.725999Z" + }, + "papermill": { + "duration": 0.022634, + "end_time": "2024-07-23T18:06:16.728864", + "exception": false, + "start_time": "2024-07-23T18:06:16.706230", + "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-23T18:06:16.757196Z", + "iopub.status.busy": "2024-07-23T18:06:16.756874Z", + "iopub.status.idle": "2024-07-23T18:06:16.811951Z", + "shell.execute_reply": "2024-07-23T18:06:16.811117Z" + }, + "papermill": { + "duration": 0.071948, + "end_time": "2024-07-23T18:06:16.813940", + "exception": false, + "start_time": "2024-07-23T18:06:16.741992", + "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-23T18:06:16.843575Z", + "iopub.status.busy": "2024-07-23T18:06:16.843279Z", + "iopub.status.idle": "2024-07-23T19:07:13.099613Z", + "shell.execute_reply": "2024-07-23T19:07:13.098734Z" + }, + "papermill": { + "duration": 3656.289792, + "end_time": "2024-07-23T19:07:13.117896", + "exception": false, + "start_time": "2024-07-23T18:06:16.828104", + "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.046113098300255, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 0.002374093190029751, 'avg_role_model_g_mag_loss': 0.05198724521728961, '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.055958376110180515, 'n_size': 805, 'n_batch': 202, 'duration': 170.25894927978516, 'duration_batch': 0.8428660855434909, 'duration_size': 0.2115018003475592, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.014470968693494797, 'avg_role_model_std_loss': 0.4669409842395544, 'avg_role_model_mean_pred_loss': 0.0003078601939669889, '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.014470968693494797, 'n_size': 200, 'n_batch': 50, 'duration': 40.12657952308655, 'duration_batch': 0.802531590461731, 'duration_size': 0.20063289761543274, 'avg_pred_std': 0.22374631986021995}\n", + "Epoch 1\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.012530759160163933, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 0.00022470774353013372, 'avg_role_model_g_mag_loss': 0.0578103197405913, '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.012749045218850098, 'n_size': 805, 'n_batch': 202, 'duration': 170.79174780845642, 'duration_batch': 0.8455037020220615, 'duration_size': 0.2121636618738589, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.012825913373380899, 'avg_role_model_std_loss': 0.34154419784201306, 'avg_role_model_mean_pred_loss': 8.543279905438794e-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.012825913373380899, 'n_size': 200, 'n_batch': 50, 'duration': 39.99063849449158, 'duration_batch': 0.7998127698898315, 'duration_size': 0.19995319247245788, 'avg_pred_std': 0.2037345689535141}\n", + "Epoch 2\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.010576248667000429, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 0.00017939177513192424, 'avg_role_model_g_mag_loss': 0.03153845898963233, '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.010822467918627785, 'n_size': 805, 'n_batch': 202, 'duration': 168.7718207836151, 'duration_batch': 0.8355040632852233, 'duration_size': 0.20965443575604362, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.01418652815045789, 'avg_role_model_std_loss': 0.45457997316734916, 'avg_role_model_mean_pred_loss': 0.00018232655053907366, '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.01418652815045789, 'n_size': 200, 'n_batch': 50, 'duration': 39.99701762199402, 'duration_batch': 0.7999403524398804, 'duration_size': 0.1999850881099701, 'avg_pred_std': 0.20486331149935721}\n", + "Epoch 3\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.009874900642446942, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 0.00015306980999423955, 'avg_role_model_g_mag_loss': 0.031926160350569194, '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.010113143273311094, 'n_size': 805, 'n_batch': 202, 'duration': 167.73858880996704, 'duration_batch': 0.8303890535146883, 'duration_size': 0.20837091777635658, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.008934392400551588, 'avg_role_model_std_loss': 0.14515205713230897, 'avg_role_model_mean_pred_loss': 0.00011402946744354381, '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.008934392400551588, 'n_size': 200, 'n_batch': 50, 'duration': 39.178648710250854, 'duration_batch': 0.783572974205017, 'duration_size': 0.19589324355125426, 'avg_pred_std': 0.239295059889555}\n", + "Epoch 4\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.009412600212478837, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 0.00014734073785495507, 'avg_role_model_g_mag_loss': 0.024214294373046213, '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.00972763716947484, 'n_size': 805, 'n_batch': 202, 'duration': 162.77311182022095, 'duration_batch': 0.8058074842585196, 'duration_size': 0.20220262337915645, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.008706244271015748, 'avg_role_model_std_loss': 0.1380096659906667, 'avg_role_model_mean_pred_loss': 8.255640768254579e-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.008706244271015748, 'n_size': 200, 'n_batch': 50, 'duration': 38.37443208694458, 'duration_batch': 0.7674886417388916, 'duration_size': 0.1918721604347229, 'avg_pred_std': 0.2351854908466339}\n", + "Epoch 5\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.00906648518277552, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 0.00010720703784799043, 'avg_role_model_g_mag_loss': 0.02101341394874049, '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.009330641998625967, 'n_size': 805, 'n_batch': 202, 'duration': 163.80307364463806, 'duration_batch': 0.8109063051714755, 'duration_size': 0.20348207906166219, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.00806080972077325, 'avg_role_model_std_loss': 0.11078220062838426, 'avg_role_model_mean_pred_loss': 4.589715525810334e-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.00806080972077325, 'n_size': 200, 'n_batch': 50, 'duration': 38.14159321784973, 'duration_batch': 0.7628318643569947, 'duration_size': 0.19070796608924867, 'avg_pred_std': 0.2380160790681839}\n", + "Epoch 6\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.00858902616863087, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 0.00013632228462729024, 'avg_role_model_g_mag_loss': 0.012416136395244031, '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.00893910686038608, 'n_size': 805, 'n_batch': 202, 'duration': 162.73704838752747, 'duration_batch': 0.8056289524135023, 'duration_size': 0.20215782408388505, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.007891997146653012, 'avg_role_model_std_loss': 0.12853932638310653, 'avg_role_model_mean_pred_loss': 4.438038137347e-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.007891997146653012, 'n_size': 200, 'n_batch': 50, 'duration': 38.279568672180176, 'duration_batch': 0.7655913734436035, 'duration_size': 0.19139784336090088, 'avg_pred_std': 0.23305976659059524}\n", + "Epoch 7\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.00928999728393764, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 0.0001651332436581723, 'avg_role_model_g_mag_loss': 0.01767020636087758, '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.009734467150367253, 'n_size': 805, 'n_batch': 202, 'duration': 162.97861742973328, 'duration_batch': 0.8068248387610558, 'duration_size': 0.20245790985060033, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.009421458053402602, 'avg_role_model_std_loss': 0.1953774666293441, 'avg_role_model_mean_pred_loss': 0.00019048304901932766, '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.009421458053402602, 'n_size': 200, 'n_batch': 50, 'duration': 38.41881704330444, 'duration_batch': 0.7683763408660889, 'duration_size': 0.19209408521652221, 'avg_pred_std': 0.23182216048240661}\n", + "Epoch 8\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.007906872946125462, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 0.0001043955870384689, 'avg_role_model_g_mag_loss': 0.01612274802770026, '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.008279283271244907, 'n_size': 805, 'n_batch': 202, 'duration': 163.33901286125183, 'duration_batch': 0.8086089745606526, 'duration_size': 0.20290560603882216, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.008948395568877459, 'avg_role_model_std_loss': 0.0757950722055412, 'avg_role_model_mean_pred_loss': 7.8807531465507e-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.008948395568877459, 'n_size': 200, 'n_batch': 50, 'duration': 38.46061563491821, 'duration_batch': 0.7692123126983642, 'duration_size': 0.19230307817459105, 'avg_pred_std': 0.25659295558929446}\n", + "Epoch 9\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.008504275450488749, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 0.00011397372201531437, 'avg_role_model_g_mag_loss': 0.008929683819054538, '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.009325041732988003, 'n_size': 805, 'n_batch': 202, 'duration': 163.23995733261108, 'duration_batch': 0.8081186006564905, 'duration_size': 0.20278255569268458, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.007595406485488638, 'avg_role_model_std_loss': 0.1028019287098141, 'avg_role_model_mean_pred_loss': 4.890095265376537e-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.007595406485488638, 'n_size': 200, 'n_batch': 50, 'duration': 38.2600200176239, 'duration_batch': 0.765200400352478, 'duration_size': 0.1913001000881195, 'avg_pred_std': 0.24050406128168106}\n", + "Epoch 10\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.008611053564319654, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 8.206605133119805e-05, 'avg_role_model_g_mag_loss': 0.004291428038228581, '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.009651706033380506, 'n_size': 805, 'n_batch': 202, 'duration': 162.8558211326599, 'duration_batch': 0.8062169363002966, 'duration_size': 0.2023053678666583, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.008085854463279247, 'avg_role_model_std_loss': 0.17193313988776027, 'avg_role_model_mean_pred_loss': 5.399939436316004e-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.008085854463279247, 'n_size': 200, 'n_batch': 50, 'duration': 39.15912938117981, 'duration_batch': 0.7831825876235962, 'duration_size': 0.19579564690589904, 'avg_pred_std': 0.22449224010109903}\n", + "Epoch 11\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.008678055109936304, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 0.00011918006009974887, 'avg_role_model_g_mag_loss': 0.003577051771897244, '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.010484514054798909, 'n_size': 805, 'n_batch': 202, 'duration': 163.8142647743225, 'duration_batch': 0.8109617068035768, 'duration_size': 0.2034959810861149, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.007870052698999644, 'avg_role_model_std_loss': 0.08255979415101138, 'avg_role_model_mean_pred_loss': 5.945954320822011e-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.007870052698999644, 'n_size': 200, 'n_batch': 50, 'duration': 37.577213525772095, 'duration_batch': 0.7515442705154419, 'duration_size': 0.18788606762886048, 'avg_pred_std': 0.2555285167694092}\n", + "Epoch 12\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.008192613328407919, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 0.00017826775526019026, 'avg_role_model_g_mag_loss': 0.0018906308986645724, '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.010740507164570902, 'n_size': 805, 'n_batch': 202, 'duration': 159.90096521377563, 'duration_batch': 0.7915889367018596, 'duration_size': 0.19863473939599458, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.00747227291285526, 'avg_role_model_std_loss': 0.06292297853098944, 'avg_role_model_mean_pred_loss': 0.00010710543829180352, '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.00747227291285526, 'n_size': 200, 'n_batch': 50, 'duration': 37.5173499584198, 'duration_batch': 0.750346999168396, 'duration_size': 0.187586749792099, 'avg_pred_std': 0.2621671015024185}\n", + "Epoch 13\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.008063060163103784, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 7.728943601530707e-05, 'avg_role_model_g_mag_loss': 0.0014628538385318137, '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.013350193465406203, 'n_size': 805, 'n_batch': 202, 'duration': 159.76345896720886, 'duration_batch': 0.7909082127089547, 'duration_size': 0.19846392418286815, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.0076726438757032155, 'avg_role_model_std_loss': 0.05748278970012961, 'avg_role_model_mean_pred_loss': 8.30927209294102e-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.0076726438757032155, 'n_size': 200, 'n_batch': 50, 'duration': 37.75867986679077, 'duration_batch': 0.7551735973358155, 'duration_size': 0.18879339933395387, 'avg_pred_std': 0.26235078245401383}\n", + "Epoch 14\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.007415602151420175, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 8.929440459749589e-05, 'avg_role_model_g_mag_loss': 0.0015707375406524779, '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.010729716642129218, 'n_size': 805, 'n_batch': 202, 'duration': 158.96377038955688, 'duration_batch': 0.786949358364143, 'duration_size': 0.19747052222305203, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.007680397593649104, 'avg_role_model_std_loss': 0.11086941079141979, 'avg_role_model_mean_pred_loss': 6.998573060639335e-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.007680397593649104, 'n_size': 200, 'n_batch': 50, 'duration': 37.23767685890198, 'duration_batch': 0.7447535371780396, 'duration_size': 0.1861883842945099, 'avg_pred_std': 0.2440120619535446}\n", + "Epoch 15\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.007437876933572455, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 8.564865368529946e-05, 'avg_role_model_g_mag_loss': 0.00047338137020623046, '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.009121710080537736, 'n_size': 805, 'n_batch': 202, 'duration': 159.01979041099548, 'duration_batch': 0.7872266852029479, 'duration_size': 0.19754011231179563, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.007031830735504627, 'avg_role_model_std_loss': 0.10957676354975775, 'avg_role_model_mean_pred_loss': 0.00010169217264709652, '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.007031830735504627, 'n_size': 200, 'n_batch': 50, 'duration': 37.40683197975159, 'duration_batch': 0.7481366395950317, 'duration_size': 0.18703415989875793, 'avg_pred_std': 0.24615271314978598}\n", + "Epoch 16\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.007482980641895061, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 8.625618536462435e-05, 'avg_role_model_g_mag_loss': 0.000594590488613022, '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.010502986287588242, 'n_size': 805, 'n_batch': 202, 'duration': 160.58214402198792, 'duration_batch': 0.7949611090197422, 'duration_size': 0.19948092425091665, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.008200818449258804, 'avg_role_model_std_loss': 0.09636649512682198, 'avg_role_model_mean_pred_loss': 9.688687013927222e-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.008200818449258804, 'n_size': 200, 'n_batch': 50, 'duration': 38.80649161338806, 'duration_batch': 0.7761298322677612, 'duration_size': 0.1940324580669403, 'avg_pred_std': 0.24884941577911376}\n", + "Epoch 17\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.00782661016893816, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 0.00014481379198073515, 'avg_role_model_g_mag_loss': 0.0013642852068791941, '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.009429997524141004, 'n_size': 805, 'n_batch': 202, 'duration': 162.98948788642883, 'duration_batch': 0.806878652903113, 'duration_size': 0.20247141352351408, 'avg_pred_std': nan}\n", + "Time out: 3617.038191318512/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.006594617842929438, 'avg_g_mag_loss': 0.004333059433366771, 'avg_g_cos_loss': 0.011260993524920195, 'pred_duration': 0.4931809902191162, 'grad_duration': 0.2746555805206299, 'total_duration': 0.7678365707397461, 'pred_std': 0.22500167787075043, 'std_loss': 0.007899628020823002, 'mean_pred_loss': 9.314726776210591e-05, 'pred_rmse': 0.08120725303888321, 'pred_mae': 0.05876980349421501, 'pred_mape': 0.11997413635253906, 'grad_rmse': 0.05755273625254631, 'grad_mae': 0.042309194803237915, 'grad_mape': 0.7396932244300842}, '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.006594617842929438, 'avg_g_mag_loss': 0.004333059433366771, 'avg_g_cos_loss': 0.011260993524920195, 'avg_pred_duration': 0.4931809902191162, 'avg_grad_duration': 0.2746555805206299, 'avg_total_duration': 0.7678365707397461, 'avg_pred_std': 0.22500167787075043, 'avg_std_loss': 0.007899628020823002, 'avg_mean_pred_loss': 9.314726776210591e-05}, 'min_metrics': {'avg_loss': 0.006594617842929438, 'avg_g_mag_loss': 0.004333059433366771, 'avg_g_cos_loss': 0.011260993524920195, 'pred_duration': 0.4931809902191162, 'grad_duration': 0.2746555805206299, 'total_duration': 0.7678365707397461, 'pred_std': 0.22500167787075043, 'std_loss': 0.007899628020823002, 'mean_pred_loss': 9.314726776210591e-05, 'pred_rmse': 0.08120725303888321, 'pred_mae': 0.05876980349421501, 'pred_mape': 0.11997413635253906, 'grad_rmse': 0.05755273625254631, 'grad_mae': 0.042309194803237915, 'grad_mape': 0.7396932244300842}, 'model_metrics': {'lct_gan': {'avg_loss': 0.006594617842929438, 'avg_g_mag_loss': 0.004333059433366771, 'avg_g_cos_loss': 0.011260993524920195, 'pred_duration': 0.4931809902191162, 'grad_duration': 0.2746555805206299, 'total_duration': 0.7678365707397461, 'pred_std': 0.22500167787075043, 'std_loss': 0.007899628020823002, 'mean_pred_loss': 9.314726776210591e-05, 'pred_rmse': 0.08120725303888321, 'pred_mae': 0.05876980349421501, 'pred_mape': 0.11997413635253906, 'grad_rmse': 0.05755273625254631, 'grad_mae': 0.042309194803237915, 'grad_mape': 0.7396932244300842}}}\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-23T19:07:13.153645Z", + "iopub.status.busy": "2024-07-23T19:07:13.153308Z", + "iopub.status.idle": "2024-07-23T19:07:13.157719Z", + "shell.execute_reply": "2024-07-23T19:07:13.156878Z" + }, + "papermill": { + "duration": 0.024633, + "end_time": "2024-07-23T19:07:13.159555", + "exception": false, + "start_time": "2024-07-23T19:07:13.134922", + "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-23T19:07:13.193844Z", + "iopub.status.busy": "2024-07-23T19:07:13.193560Z", + "iopub.status.idle": "2024-07-23T19:07:13.212474Z", + "shell.execute_reply": "2024-07-23T19:07:13.211752Z" + }, + "papermill": { + "duration": 0.038417, + "end_time": "2024-07-23T19:07:13.214329", + "exception": false, + "start_time": "2024-07-23T19:07:13.175912", + "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-23T19:07:13.247717Z", + "iopub.status.busy": "2024-07-23T19:07:13.247437Z", + "iopub.status.idle": "2024-07-23T19:07:13.532530Z", + "shell.execute_reply": "2024-07-23T19:07:13.531573Z" + }, + "papermill": { + "duration": 0.304639, + "end_time": "2024-07-23T19:07:13.535037", + "exception": false, + "start_time": "2024-07-23T19:07:13.230398", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 27, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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vUdWVhZDhw41zSnliGr//o7+2QDj7tqaNWtIS0tj6dKlfP/994waNQq9Xm+V578tph8RzTdq1CjT7b59+xIfH09YWBj/+Mc/mD59ug1rJuzB448/brodHR1N37596datGzt27OC++9r+CrcO00Ly9/dHrVaTm5trtj43N5fAwEAb1cr2fHx8iIyM5PTp07auis3U/v3ls3G9rl274u/vb7XPh8MEkqurKwMGDCAtLc20zmAwkJaWxuDBg21YM9sqLi7mzJkzBAUF2boqNtOlSxcCAwPNPhtFRUXs3bvXoT8bAOfPn+fy5ctW+3w41C5bcnIyU6dOZeDAgcTFxbFs2TJKSkqYNm2aratmNXPnzmXMmDGEhYWRk5PDkiVLUKvVTJw40dZVa1PFxcVm/+WzsrI4dOgQHTp0oHPnzjz33HP86U9/IiIigi5durBo0SKCg4NJSkqyXaXbQFPvQ4cOHXj55ZcZN24cgYGBnDlzhhdeeIHu3buTmJhonQra7Piejbz77rtK586dFVdXVyUuLk758ccfbV0lq5owYYISFBSkuLq6KiEhIcqECROU06dP27pabW779u0KcN0ydepURVGMh/4XLVqkBAQEKG5ubsp9992nnDx50raVbgNNvQ+lpaXKAw88oHTs2FFxcXFRwsLClBkzZihardZq9ZP5kIQQdsNh+pCEEPZPAkkIYTckkIQQdkMCSQhhNySQhBB2QwJJCGE3JJCEEHZDAkkIYTckkIQQdkMCSQhhNySQhBB24/8DxY0P4RU7TfIAAAAASUVORK5CYII=", + "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-23T19:07:13.576566Z", + "iopub.status.busy": "2024-07-23T19:07:13.576153Z", + "iopub.status.idle": "2024-07-23T19:07:52.624238Z", + "shell.execute_reply": "2024-07-23T19:07:52.623335Z" + }, + "papermill": { + "duration": 39.070369, + "end_time": "2024-07-23T19:07:52.626736", + "exception": false, + "start_time": "2024-07-23T19:07:13.556367", + "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-23T19:07:52.664462Z", + "iopub.status.busy": "2024-07-23T19:07:52.664124Z", + "iopub.status.idle": "2024-07-23T19:07:52.684488Z", + "shell.execute_reply": "2024-07-23T19:07:52.683599Z" + }, + "papermill": { + "duration": 0.041713, + "end_time": "2024-07-23T19:07:52.686422", + "exception": false, + "start_time": "2024-07-23T19:07:52.644709", + "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.0093570.0145820.0065950.278170.0423090.7396930.0575530.0000930.4953410.058770.1199740.0812070.2250020.00790.773511
\n", + "
" + ], + "text/plain": [ + " avg_g_cos_loss avg_g_mag_loss avg_loss grad_duration grad_mae \\\n", + "lct_gan 0.009357 0.014582 0.006595 0.27817 0.042309 \n", + "\n", + " grad_mape grad_rmse mean_pred_loss pred_duration pred_mae \\\n", + "lct_gan 0.739693 0.057553 0.000093 0.495341 0.05877 \n", + "\n", + " pred_mape pred_rmse pred_std std_loss total_duration \n", + "lct_gan 0.119974 0.081207 0.225002 0.0079 0.773511 " + ] + }, + "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-23T19:07:52.721718Z", + "iopub.status.busy": "2024-07-23T19:07:52.721210Z", + "iopub.status.idle": "2024-07-23T19:07:52.976621Z", + "shell.execute_reply": "2024-07-23T19:07:52.975605Z" + }, + "papermill": { + "duration": 0.275478, + "end_time": "2024-07-23T19:07:52.978701", + "exception": false, + "start_time": "2024-07-23T19:07:52.703223", + "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-23T19:07:53.016862Z", + "iopub.status.busy": "2024-07-23T19:07:53.015995Z", + "iopub.status.idle": "2024-07-23T19:08:31.603385Z", + "shell.execute_reply": "2024-07-23T19:08:31.602549Z" + }, + "papermill": { + "duration": 38.609087, + "end_time": "2024-07-23T19:08:31.605718", + "exception": false, + "start_time": "2024-07-23T19:07:52.996631", + "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-23T19:08:31.644269Z", + "iopub.status.busy": "2024-07-23T19:08:31.643424Z", + "iopub.status.idle": "2024-07-23T19:08:31.657759Z", + "shell.execute_reply": "2024-07-23T19:08:31.657046Z" + }, + "papermill": { + "duration": 0.035758, + "end_time": "2024-07-23T19:08:31.659777", + "exception": false, + "start_time": "2024-07-23T19:08:31.624019", + "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-23T19:08:31.695010Z", + "iopub.status.busy": "2024-07-23T19:08:31.694666Z", + "iopub.status.idle": "2024-07-23T19:08:31.700052Z", + "shell.execute_reply": "2024-07-23T19:08:31.699104Z" + }, + "papermill": { + "duration": 0.02515, + "end_time": "2024-07-23T19:08:31.701958", + "exception": false, + "start_time": "2024-07-23T19:08:31.676808", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'lct_gan': 0.7548610179871321}\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-23T19:08:31.737296Z", + "iopub.status.busy": "2024-07-23T19:08:31.736993Z", + "iopub.status.idle": "2024-07-23T19:08:32.067270Z", + "shell.execute_reply": "2024-07-23T19:08:32.066422Z" + }, + "papermill": { + "duration": 0.350339, + "end_time": "2024-07-23T19:08:32.069275", + "exception": false, + "start_time": "2024-07-23T19:08:31.718936", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from ml_utility_loss.loss_learning.visualization import plot_pred_density_2\n", + "\n", + "_ = plot_pred_density_2(y)" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "id": "e79e4b0f", + "metadata": { + "execution": { + "iopub.execute_input": "2024-07-23T19:08:32.108558Z", + "iopub.status.busy": "2024-07-23T19:08:32.108246Z", + "iopub.status.idle": "2024-07-23T19:08:32.474999Z", + "shell.execute_reply": "2024-07-23T19:08:32.474128Z" + }, + "papermill": { + "duration": 0.388851, + "end_time": "2024-07-23T19:08:32.477165", + "exception": false, + "start_time": "2024-07-23T19:08:32.088314", + "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-23T19:08:32.516552Z", + "iopub.status.busy": "2024-07-23T19:08:32.516234Z", + "iopub.status.idle": "2024-07-23T19:08:32.749999Z", + "shell.execute_reply": "2024-07-23T19:08:32.749072Z" + }, + "papermill": { + "duration": 0.256022, + "end_time": "2024-07-23T19:08:32.751917", + "exception": false, + "start_time": "2024-07-23T19:08:32.495895", + "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_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-23T19:08:32.790843Z", + "iopub.status.busy": "2024-07-23T19:08:32.790538Z", + "iopub.status.idle": "2024-07-23T19:08:33.111640Z", + "shell.execute_reply": "2024-07-23T19:08:33.110723Z" + }, + "papermill": { + "duration": 0.342783, + "end_time": "2024-07-23T19:08:33.113646", + "exception": false, + "start_time": "2024-07-23T19:08:32.770863", + "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.019191, + "end_time": "2024-07-23T19:08:33.152255", + "exception": false, + "start_time": "2024-07-23T19:08:33.133064", + "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": 3798.853203, + "end_time": "2024-07-23T19:08:35.516484", + "environment_variables": {}, + "exception": null, + "input_path": "eval/iris/lct_gan/0/mlu-eval.ipynb", + "output_path": "eval/iris/lct_gan/0/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/0", + "path_prefix": "../../../../", + "random_seed": 0, + "single_model": "lct_gan" + }, + "start_time": "2024-07-23T18:05:16.663281", + "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/0/model.pt b/iris/lct_gan/0/model.pt new file mode 100644 index 0000000000000000000000000000000000000000..5ce5be853cd5fd4f3c9d73612696f1994fd77e64 --- /dev/null +++ b/iris/lct_gan/0/model.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3ca5e69e9df2a6ba5a4dcf3cb5c0c2c22e70b26028bb9dd36518e42ef453465d +size 177865 diff --git a/iris/lct_gan/0/params.json b/iris/lct_gan/0/params.json new file mode 100644 index 0000000000000000000000000000000000000000..2a20e47c9a36f2aa645340f00fd696503a2274ef --- /dev/null +++ b/iris/lct_gan/0/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/0/pred/error.csv b/iris/lct_gan/0/pred/error.csv new file mode 100644 index 0000000000000000000000000000000000000000..f2287c80b73ce1515b82d35ceada2442b4b6289d --- /dev/null +++ b/iris/lct_gan/0/pred/error.csv @@ -0,0 +1,201 @@ +,lct_gan +0,0.014825985 +1,0.15686584 +2,0.0019889474 +3,-0.029201627 +4,0.033850238 +5,0.08673054 +6,-0.058762193 +7,-0.07720679 +8,0.03497368 +9,-0.14448327 +10,-0.012781262 +11,0.024494529 +12,0.023199558 +13,-0.025834799 +14,0.06383246 +15,0.057348847 +16,0.03536938 +17,0.053916723 +18,0.05032432 +19,-0.006522417 +20,0.005567193 +21,0.20774353 +22,0.0063446164 +23,-0.033849478 +24,0.04415627 +25,0.05390179 +26,-0.067067266 +27,-0.070473015 +28,0.035832122 +29,0.07594633 +30,0.028747976 +31,-0.010251403 +32,0.00508821 +33,0.23449552 +34,-0.07033229 +35,-0.045996904 +36,0.02933544 +37,0.14502013 +38,0.07621002 +39,-0.03824407 +40,-0.032598555 +41,-0.03614062 +42,-0.028904915 +43,0.15843356 +44,0.03864102 +45,0.0006198287 +46,-0.09137851 +47,-0.07242793 +48,0.0334782 +49,0.085414946 +50,-0.030461729 +51,0.11015594 +52,0.01681912 +53,0.117293894 +54,-0.049358845 +55,0.0069337487 +56,0.1645595 +57,0.14414293 +58,-0.021143794 +59,0.09459102 +60,0.055049628 +61,-0.01165396 +62,-0.03283316 +63,-0.025128663 +64,-0.09236145 +65,0.013337851 +66,-0.021118045 +67,-0.0664165 +68,0.1465601 +69,-0.029754996 +70,0.031762123 +71,0.15075892 +72,0.02157253 +73,-0.0586102 +74,0.0015020967 +75,-0.100185156 +76,-0.0056679547 +77,0.023650765 +78,0.047701895 +79,-0.0016214848 +80,-0.033889413 +81,-0.015048981 +82,-0.0370782 +83,-0.02257061 +84,0.012193531 +85,-0.023638785 +86,-0.023854494 +87,-0.034663916 +88,0.22222067 +89,-0.07366693 +90,-0.008405685 +91,0.0130111575 +92,-0.0053625107 +93,-0.051827133 +94,-0.03110385 +95,-0.10750091 +96,0.06972337 +97,-0.0135988 +98,0.04742825 +99,-0.0258888 +100,-0.043767244 +101,-0.009020865 +102,-0.034715414 +103,-0.023957849 +104,0.24879943 +105,0.010245919 +106,-0.08507937 +107,-0.040058076 +108,0.20481674 +109,0.04275453 +110,0.022955894 +111,-0.043427467 +112,-0.08856565 +113,-0.05440104 +114,-0.050583124 +115,-0.053699434 +116,0.2548771 +117,0.044771373 +118,0.04947394 +119,-0.03845918 +120,-0.05438733 +121,-0.008408427 +122,-0.037093222 +123,-0.029478371 +124,-0.09026274 +125,0.011443615 +126,0.013467491 +127,0.008584142 +128,-0.02335924 +129,-0.07185292 +130,-0.035410285 +131,-0.068582416 +132,-0.110321045 +133,-0.018888831 +134,-0.02476871 +135,-0.06225145 +136,-0.041716754 +137,0.005151212 +138,0.040388584 +139,0.21425158 +140,-0.06851557 +141,0.0828082 +142,0.04260242 +143,-0.053948104 +144,-0.08022964 +145,-0.024726331 +146,-0.058674455 +147,0.0922938 +148,0.2701227 +149,0.010647535 +150,-0.03493756 +151,-0.041339576 +152,-0.082520425 +153,-0.08258581 +154,-0.017284453 +155,-0.10070646 +156,0.13302049 +157,0.0061691403 +158,0.050085902 +159,0.0529778 +160,0.018344462 +161,0.1131174 +162,-0.03175366 +163,-0.027445793 +164,-0.057187498 +165,-0.02083093 +166,-0.08442199 +167,-0.02288121 +168,0.17289075 +169,0.06330782 +170,-0.032987237 +171,-0.067191005 +172,-0.06266552 +173,-0.045511544 +174,-0.044482887 +175,-0.065363705 +176,0.16949421 +177,0.01554364 +178,0.01971972 +179,0.04009819 +180,0.120201945 +181,0.19331455 +182,-0.032307565 +183,-0.024344265 +184,-0.04876697 +185,0.005185306 +186,-0.086402535 +187,0.013050616 +188,-0.026197523 +189,-0.010418475 +190,-0.037236273 +191,-0.1040715 +192,-0.055789113 +193,-0.078247726 +194,0.055780828 +195,0.013593137 +196,-0.3351861 +197,-0.023126304 +198,0.018935919 +199,0.07533187 diff --git a/iris/lct_gan/0/pred/g.csv b/iris/lct_gan/0/pred/g.csv new file mode 100644 index 0000000000000000000000000000000000000000..dba51d0955a52f503e5a3102786fbd4052fa0835 --- /dev/null +++ b/iris/lct_gan/0/pred/g.csv @@ -0,0 +1,201 @@ +,lct_gan +0,0.014825985 +1,0.15686584 +2,0.0019889474 +3,0.029201627 +4,0.033850238 +5,0.08673054 +6,0.058762193 +7,0.07720679 +8,0.03497368 +9,0.14448327 +10,0.012781262 +11,0.024494529 +12,0.023199558 +13,0.025834799 +14,0.06383246 +15,0.057348847 +16,0.03536938 +17,0.053916723 +18,0.05032432 +19,0.006522417 +20,0.005567193 +21,0.20774353 +22,0.0063446164 +23,0.033849478 +24,0.04415627 +25,0.05390179 +26,0.067067266 +27,0.070473015 +28,0.035832122 +29,0.07594633 +30,0.028747976 +31,0.010251403 +32,0.00508821 +33,0.23449552 +34,0.07033229 +35,0.045996904 +36,0.02933544 +37,0.14502013 +38,0.07621002 +39,0.03824407 +40,0.032598555 +41,0.03614062 +42,0.028904915 +43,0.15843356 +44,0.03864102 +45,0.0006198287 +46,0.09137851 +47,0.07242793 +48,0.0334782 +49,0.085414946 +50,0.030461729 +51,0.11015594 +52,0.01681912 +53,0.117293894 +54,0.049358845 +55,0.0069337487 +56,0.1645595 +57,0.14414293 +58,0.021143794 +59,0.09459102 +60,0.055049628 +61,0.01165396 +62,0.03283316 +63,0.025128663 +64,0.09236145 +65,0.013337851 +66,0.021118045 +67,0.0664165 +68,0.1465601 +69,0.029754996 +70,0.031762123 +71,0.15075892 +72,0.02157253 +73,0.0586102 +74,0.0015020967 +75,0.100185156 +76,0.0056679547 +77,0.023650765 +78,0.047701895 +79,0.0016214848 +80,0.033889413 +81,0.015048981 +82,0.0370782 +83,0.02257061 +84,0.012193531 +85,0.023638785 +86,0.023854494 +87,0.034663916 +88,0.22222067 +89,0.07366693 +90,0.008405685 +91,0.0130111575 +92,0.0053625107 +93,0.051827133 +94,0.03110385 +95,0.10750091 +96,0.06972337 +97,0.0135988 +98,0.04742825 +99,0.0258888 +100,0.043767244 +101,0.009020865 +102,0.034715414 +103,0.023957849 +104,0.24879943 +105,0.010245919 +106,0.08507937 +107,0.040058076 +108,0.20481674 +109,0.04275453 +110,0.022955894 +111,0.043427467 +112,0.08856565 +113,0.05440104 +114,0.050583124 +115,0.053699434 +116,0.2548771 +117,0.044771373 +118,0.04947394 +119,0.03845918 +120,0.05438733 +121,0.008408427 +122,0.037093222 +123,0.029478371 +124,0.09026274 +125,0.011443615 +126,0.013467491 +127,0.008584142 +128,0.02335924 +129,0.07185292 +130,0.035410285 +131,0.068582416 +132,0.110321045 +133,0.018888831 +134,0.02476871 +135,0.06225145 +136,0.041716754 +137,0.005151212 +138,0.040388584 +139,0.21425158 +140,0.06851557 +141,0.0828082 +142,0.04260242 +143,0.053948104 +144,0.08022964 +145,0.024726331 +146,0.058674455 +147,0.0922938 +148,0.2701227 +149,0.010647535 +150,0.03493756 +151,0.041339576 +152,0.082520425 +153,0.08258581 +154,0.017284453 +155,0.10070646 +156,0.13302049 +157,0.0061691403 +158,0.050085902 +159,0.0529778 +160,0.018344462 +161,0.1131174 +162,0.03175366 +163,0.027445793 +164,0.057187498 +165,0.02083093 +166,0.08442199 +167,0.02288121 +168,0.17289075 +169,0.06330782 +170,0.032987237 +171,0.067191005 +172,0.06266552 +173,0.045511544 +174,0.044482887 +175,0.065363705 +176,0.16949421 +177,0.01554364 +178,0.01971972 +179,0.04009819 +180,0.120201945 +181,0.19331455 +182,0.032307565 +183,0.024344265 +184,0.04876697 +185,0.005185306 +186,0.086402535 +187,0.013050616 +188,0.026197523 +189,0.010418475 +190,0.037236273 +191,0.1040715 +192,0.055789113 +193,0.078247726 +194,0.055780828 +195,0.013593137 +196,0.3351861 +197,0.023126304 +198,0.018935919 +199,0.07533187 diff --git a/iris/lct_gan/0/pred/grad.csv b/iris/lct_gan/0/pred/grad.csv new file mode 100644 index 0000000000000000000000000000000000000000..8ab01c1fffd3a90c457ed76b0e7bde2faf10fcc0 --- /dev/null +++ b/iris/lct_gan/0/pred/grad.csv @@ -0,0 +1,201 @@ +,lct_gan +0,0.004859835 +1,0.029765062 +2,0.0003924147 +3,0.0044855624 +4,0.009683375 +5,0.006168273 +6,0.009031615 +7,0.014976424 +8,0.00895055 +9,0.032181665 +10,0.0035690323 +11,0.0061126784 +12,0.00656504 +13,0.02398843 +14,0.018150426 +15,0.027700407 +16,0.011398404 +17,0.011876124 +18,0.008454304 +19,0.0012097298 +20,0.0016293881 +21,0.08536813 +22,0.000985923 +23,0.010462555 +24,0.015847722 +25,0.008057772 +26,0.011505405 +27,0.022800293 +28,0.010088918 +29,0.011348681 +30,0.005838063 +31,0.002410402 +32,0.0014869797 +33,0.10100434 +34,0.020245673 +35,0.018636625 +36,0.009242338 +37,0.051530287 +38,0.012265115 +39,0.009601004 +40,0.013824329 +41,0.008118178 +42,0.0047702314 +43,0.02328106 +44,0.011779707 +45,0.00015320735 +46,0.011166991 +47,0.013666252 +48,0.010804627 +49,0.024405742 +50,0.0077179796 +51,0.02727582 +52,0.004627572 +53,0.044743218 +54,0.017543146 +55,0.0025952552 +56,0.068216436 +57,0.026725924 +58,0.0029377062 +59,0.015968747 +60,0.012777634 +61,0.0022587813 +62,0.0049543455 +63,0.0049144337 +64,0.03415425 +65,0.0025122087 +66,0.0029176648 +67,0.015040403 +68,0.17497931 +69,0.009029942 +70,0.008912775 +71,0.038529642 +72,0.014917874 +73,0.020279711 +74,0.00044325858 +75,0.0412724 +76,0.001852325 +77,0.005306557 +78,0.0061484245 +79,0.0002482995 +80,0.011935012 +81,0.0028677147 +82,0.0074525094 +83,0.0033581366 +84,0.0050205835 +85,0.0043460326 +86,0.002596472 +87,0.0071290312 +88,0.056223743 +89,0.015818503 +90,0.0022121582 +91,0.004058393 +92,0.0028384656 +93,0.016896125 +94,0.009285112 +95,0.029423336 +96,0.016708342 +97,0.002288389 +98,0.00801042 +99,0.0038550522 +100,0.015204369 +101,0.0016351341 +102,0.006589654 +103,0.00342579 +104,0.09993173 +105,0.0022622938 +106,0.007838598 +107,0.0068479204 +108,0.065945126 +109,0.008383528 +110,0.0064191674 +111,0.017380577 +112,0.04286405 +113,0.017894037 +114,0.014275171 +115,0.014001201 +116,0.08464917 +117,0.005116756 +118,0.007648219 +119,0.007928129 +120,0.019197594 +121,0.002036038 +122,0.008177305 +123,0.0049761026 +124,0.035740443 +125,0.002800253 +126,0.0011867648 +127,0.0016314231 +128,0.005419239 +129,0.015678035 +130,0.0103529105 +131,0.019596323 +132,0.024066322 +133,0.0059324554 +134,0.0077959974 +135,0.019644149 +136,0.0141270505 +137,0.00084175717 +138,0.006244516 +139,0.034756657 +140,0.023164049 +141,0.017344961 +142,0.008904072 +143,0.0065449732 +144,0.02636853 +145,0.005189243 +146,0.006476766 +147,0.016739305 +148,0.046497513 +149,0.0028441679 +150,0.009690447 +151,0.011075613 +152,0.06765113 +153,0.029532572 +154,0.006312425 +155,0.027428025 +156,0.048603456 +157,0.0008711702 +158,0.008233603 +159,0.007873142 +160,0.003926808 +161,0.019874573 +162,0.005835596 +163,0.0037941232 +164,0.009410061 +165,0.005259882 +166,0.008813304 +167,0.0041325116 +168,0.0403351 +169,0.012970675 +170,0.0086717885 +171,0.016870433 +172,0.01230957 +173,0.015086408 +174,0.013556962 +175,0.01910354 +176,0.0607648 +177,0.002044359 +178,0.003301869 +179,0.004733095 +180,0.01822493 +181,0.04457028 +182,0.005126946 +183,0.0030331027 +184,0.026095364 +185,0.001428645 +186,0.008214071 +187,0.0021600956 +188,0.006420239 +189,0.0022915204 +190,0.009470983 +191,0.025395349 +192,0.039736364 +193,0.025207689 +194,0.019800467 +195,0.003926677 +196,0.16302714 +197,0.0037119475 +198,0.0029234062 +199,0.009642183 diff --git a/iris/lct_gan/0/pred/pred.csv b/iris/lct_gan/0/pred/pred.csv new file mode 100644 index 0000000000000000000000000000000000000000..fe579bf271bb8b26fb6bed288ba4dbcff7b69e66 --- /dev/null +++ b/iris/lct_gan/0/pred/pred.csv @@ -0,0 +1,201 @@ +,lct_gan +0,0.19368777 +1,0.50771123 +2,0.9043699 +3,0.90378034 +4,0.21271202 +5,0.49625435 +6,0.90782094 +7,0.8886926 +8,0.20164035 +9,0.51422143 +10,0.8851366 +11,0.8708342 +12,0.18986623 +13,0.6020618 +14,0.7823832 +15,0.8430631 +16,0.20203605 +17,0.4976414 +18,0.9163176 +19,0.89594764 +20,0.18442897 +21,0.72087485 +22,0.90944755 +23,0.86853147 +24,0.22301805 +25,0.88339883 +26,0.9011867 +27,0.8940461 +28,0.2024988 +29,0.88186264 +30,0.89455014 +31,0.8704504 +32,0.17175488 +33,0.8295952 +34,0.8092664 +35,0.8539859 +36,0.19600211 +37,0.8116868 +38,0.90797544 +39,0.8990779 +40,0.3840681 +41,0.8762403 +42,0.9130143 +43,0.90568155 +44,0.2175028 +45,0.89395314 +46,0.9086215 +47,0.8941552 +48,0.20014487 +49,0.89133126 +50,0.8982182 +51,0.8840065 +52,0.18348579 +53,0.8363415 +54,0.8464798 +55,0.8429126 +56,0.38678172 +57,0.86835986 +58,0.91617817 +59,0.8999782 +60,0.47171628 +61,0.900727 +62,0.90908605 +63,0.9078533 +64,0.47753102 +65,0.90833825 +66,0.9121317 +67,0.90016663 +68,0.5170729 +69,0.8908799 +70,0.8975643 +71,0.88378316 +72,0.5930011 +73,0.8271041 +74,0.83748096 +75,0.82481486 +76,0.43595335 +77,0.9014285 +78,0.91369516 +79,0.9072812 +80,0.44759208 +81,0.89733195 +82,0.904841 +83,0.9193486 +84,0.45834738 +85,0.90902114 +86,0.9103616 +87,0.897996 +88,0.4444429 +89,0.88481903 +90,0.8895122 +91,0.8852334 +92,0.5660661 +93,0.82777154 +94,0.8410632 +95,0.8236102 +96,0.45067576 +97,0.8953039 +98,0.9115677 +99,0.91350514 +100,0.43771425 +101,0.90336007 +102,0.9072038 +103,0.91796136 +104,0.4154661 +105,0.9052463 +106,0.9149206 +107,0.8911589 +108,0.42703897 +109,0.8853471 +110,0.88875806 +111,0.82722783 +112,0.48286295 +113,0.83131325 +114,0.8452555 +115,0.8421392 +116,0.41173983 +117,0.9150186 +118,0.9136134 +119,0.90093476 +120,0.4511199 +121,0.9039725 +122,0.904826 +123,0.91244084 +124,0.47962973 +125,0.906444 +126,0.91162956 +127,0.90358454 +128,0.4824887 +129,0.88663304 +130,0.89326966 +131,0.88990355 +132,0.46110755 +133,0.8344445 +134,0.84739834 +135,0.82855463 +136,0.4279056 +137,0.9140539 +138,0.9106358 +139,0.91281617 +140,0.41296592 +141,0.90030444 +142,0.9054618 +143,0.9170664 +144,0.48966283 +145,0.9064906 +146,0.9095795 +147,0.9074014 +148,0.49234492 +149,0.8930005 +150,0.8937424 +151,0.889383 +152,0.48890817 +153,0.8433401 +154,0.8548826 +155,0.82429355 +156,0.4565499 +157,0.91507185 +158,0.91422534 +159,0.9192959 +160,0.49982595 +161,0.91021883 +162,0.91016555 +163,0.9144734 +164,0.51270497 +165,0.9071994 +166,0.915578 +167,0.90508634 +168,0.44540536 +169,0.8831668 +170,0.8956927 +171,0.89129496 +172,0.5087631 +173,0.84020275 +174,0.8463232 +175,0.8346191 +176,0.4552085 +177,0.92444634 +178,0.9156473 +179,0.9064163 +180,0.5097672 +181,0.90534735 +182,0.90961164 +183,0.91757494 +184,0.5211255 +185,0.9001857 +186,0.91359746 +187,0.908051 +188,0.43519056 +189,0.8874994 +190,0.89144367 +191,0.8959285 +192,0.5156395 +193,0.8476782 +194,0.83759904 +195,0.81385666 +196,0.4637557 +197,0.91419566 +198,0.9148635 +199,0.9124492 diff --git a/iris/lct_gan/0/pred/y.csv b/iris/lct_gan/0/pred/y.csv new file mode 100644 index 0000000000000000000000000000000000000000..d4af620bf6949a5d1238ac0d52f05819dd6696ee --- /dev/null +++ b/iris/lct_gan/0/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/0/pred/y_real.csv b/iris/lct_gan/0/pred/y_real.csv new file mode 100644 index 0000000000000000000000000000000000000000..fb0baf5e24b3c966e30c86abef7475ae9ef5ced6 --- /dev/null +++ b/iris/lct_gan/0/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