diff --git a/iris/tvae/1/eval.csv b/iris/tvae/1/eval.csv new file mode 100644 index 0000000000000000000000000000000000000000..4e72fea3f824770b345091dee7a543a058c3aa2a --- /dev/null +++ b/iris/tvae/1/eval.csv @@ -0,0 +1,2 @@ +,avg_g_cos_loss,avg_g_mag_loss,avg_loss,grad_duration,grad_mae,grad_mape,grad_rmse,mean_pred_loss,pred_duration,pred_mae,pred_mape,pred_rmse,pred_std,std_loss,total_duration +tvae,0.005838490314781666,0.005589492884161018,0.006222890815115534,0.2702653408050537,0.04328439384698868,0.7904992699623108,0.05826411023736,5.291849811328575e-05,0.49074673652648926,0.05737316980957985,0.10883855074644089,0.07888530194759369,0.24644586443901062,0.00019139632058795542,0.761012077331543 diff --git a/iris/tvae/1/history.csv b/iris/tvae/1/history.csv new file mode 100644 index 0000000000000000000000000000000000000000..344ce161afc8d14af398c4add03d39f28183b374 --- /dev/null +++ b/iris/tvae/1/history.csv @@ -0,0 +1,19 @@ +,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.06877608297404295,,0.005261059476647074,0.010634415943800293,0.0,0.0,0.0,0.0,0.08941646716239289,805,202,163.94822192192078,0.8116248609996078,0.20366238748064694,,0.034095599697902795,6.351600584685802,0.00010493475272623343,0.0,0.0,0.0,0.0,0.0,0.034095599697902795,200,50,37.24104356765747,0.7448208713531494,0.18620521783828736,0.08547119786962867 +1,0.015433896861114302,,0.00032223282937056256,0.008446617819577085,0.0,0.0,0.0,0.0,0.017391407627161154,805,202,158.7523865699768,0.7859029038117664,0.19720793362730038,,0.008531553433276712,0.15765642361315257,3.040849379608801e-05,0.0,0.0,0.0,0.0,0.0,0.008531553433276712,200,50,37.24056339263916,0.7448112678527832,0.1862028169631958,0.2430392946302891 +2,0.010663760354148039,,0.00012477135186244681,0.0007410384032019177,0.0,0.0,0.0,0.0,0.012229947218424148,805,202,157.76356482505798,0.7810077466587029,0.1959795836336124,,0.010508495268877595,0.44592022928311054,9.717446186371603e-05,0.0,0.0,0.0,0.0,0.0,0.010508495268877595,200,50,39.08183932304382,0.7816367864608764,0.1954091966152191,0.20174677908420563 +3,0.008818703006672085,,9.502739606176101e-05,0.0001763453683960512,0.0,0.0,0.0,0.0,0.01001330224278503,805,202,166.59172010421753,0.8247114856644432,0.2069462361543075,,0.006947553628124297,0.10842938760491108,4.9417699330298604e-05,0.0,0.0,0.0,0.0,0.0,0.006947553628124297,200,50,37.944297075271606,0.7588859415054321,0.18972148537635802,0.24482785791158676 +4,0.008917390571557193,,0.00010001881333488584,0.0003420483731658933,0.0,0.0,0.0,0.0,0.012408441647537261,805,202,162.94966626167297,0.8066815161468959,0.2024219456666745,,0.006682257349602878,0.11081521677304408,3.904709093256009e-05,0.0,0.0,0.0,0.0,0.0,0.006682257349602878,200,50,37.74117302894592,0.7548234605789185,0.18870586514472962,0.24536412596702575 +5,0.008169078731168964,,8.65085365903166e-05,0.0005116528125699633,0.0,0.0,0.0,0.0,0.011378624746344566,805,202,163.73660278320312,0.8105772415010055,0.20339950656298525,,0.007581411695573479,0.13771508441298075,7.607240160595552e-05,0.0,0.0,0.0,0.0,0.0,0.007581411695573479,200,50,37.49194598197937,0.7498389196395874,0.18745972990989684,0.23555596098303794 +6,0.00799623741999685,,7.53206616539823e-05,0.0001221779352111846,0.0,0.0,0.0,0.0,0.009867064752876296,805,202,160.7129466533661,0.795608646798842,0.1996434119917591,,0.009399615051224828,0.11629707709779602,5.167414282201577e-05,0.0,0.0,0.0,0.0,0.0,0.009399615051224828,200,50,38.275365591049194,0.7655073118209839,0.19137682795524597,0.23657408952713013 +7,0.007882647364369957,,9.071895482456605e-05,3.533323544152775e-05,0.0,0.0,0.0,0.0,0.017877932695161424,805,202,157.8179008960724,0.7812767371092693,0.19604708185847503,,0.006580184882041067,0.08501579926347404,6.5548175243606e-05,0.0,0.0,0.0,0.0,0.0,0.006580184882041067,200,50,37.806416273117065,0.7561283254623413,0.18903208136558533,0.25233389586210253 +8,0.007468372043395727,,6.353591479371403e-05,0.00010482834923943007,0.0,0.0,0.0,0.0,0.009172710965196632,805,202,168.1236584186554,0.8322953387062149,0.2088492651163421,,0.008343770203646272,0.05150121794253664,5.437851250104521e-05,0.0,0.0,0.0,0.0,0.0,0.008343770203646272,200,50,38.4111225605011,0.768222451210022,0.1920556128025055,0.2590739569067955 +9,0.0070196910797450576,,7.435747972356147e-05,4.942027956062222e-05,0.0,0.0,0.0,0.0,0.010307628180837455,805,202,159.27152681350708,0.7884729050173618,0.19785282833976034,,0.007503953352570533,0.13464405912951066,7.96548192935509e-05,0.0,0.0,0.0,0.0,0.0,0.007503953352570533,200,50,37.175779819488525,0.7435155963897705,0.18587889909744262,0.23783099725842477 +10,0.006977192288039032,,6.684013115658363e-05,0.00042261946830690275,0.0,0.0,0.0,0.0,0.009113721890224618,805,202,158.27068495750427,0.7835182423638826,0.19660954653106122,,0.007390938203316182,0.10047649786109104,7.857542771922965e-05,0.0,0.0,0.0,0.0,0.0,0.007390938203316182,200,50,37.21220827102661,0.7442441654205322,0.18606104135513304,0.24520318806171418 +11,0.006711545143629314,,6.264465038691593e-05,3.875453279625555e-05,0.0,0.0,0.0,0.0,0.009752938129522647,805,202,157.8668270111084,0.7815189455995465,0.19610785964112845,,0.0062049031048081816,0.09077514337222965,6.35516202265407e-05,0.0,0.0,0.0,0.0,0.0,0.0062049031048081816,200,50,37.12565016746521,0.7425130033493041,0.18562825083732604,0.2388383489847183 +12,0.006954703760269729,,7.927717950878278e-05,5.754888309339374e-05,0.0,0.0,0.0,0.0,0.018561436962162763,805,202,157.16425228118896,0.7780408528771731,0.19523509600147698,,0.007789716767147184,0.04399919623357,0.00010375537992864281,0.0,0.0,0.0,0.0,0.0,0.007789716767147184,200,50,36.83195233345032,0.7366390466690064,0.1841597616672516,0.2643679800629616 +13,0.007756865668683226,,5.7955760979582743e-05,0.00021561393514275552,0.0,0.0,0.0,0.0,0.010383801928920938,805,202,156.91896152496338,0.776826542202789,0.19493038698753215,,0.0068127409310545775,0.10835013508569319,0.0001182703989836309,0.0,0.0,0.0,0.0,0.0,0.0068127409310545775,200,50,36.798638582229614,0.7359727716445923,0.18399319291114807,0.24877308413386345 +14,0.0068827589516822964,,7.125838099728713e-05,7.062907972783775e-05,0.0,0.0,0.0,0.0,0.008276451657879056,805,202,156.1541018486023,0.7730401081613975,0.19398025074360534,,0.0072668834868818526,0.14801818099270803,8.102651334830568e-05,0.0,0.0,0.0,0.0,0.0,0.0072668834868818526,200,50,36.81609773635864,0.7363219547271729,0.18408048868179322,0.22618799045681953 +15,0.006718653736412612,,7.375786028588198e-05,0.0001409289380824714,0.0,0.0,0.0,0.0,0.05178351103079069,805,202,156.1664309501648,0.7731011433176475,0.19399556639772025,,0.006568357723299414,0.12198326829363623,5.483031678926942e-05,0.0,0.0,0.0,0.0,0.0,0.006568357723299414,200,50,36.67724299430847,0.7335448598861695,0.18338621497154237,0.23499341577291488 +16,0.006773011581480549,,6.124409637400213e-05,0.00012296283941553988,0.0,0.0,0.0,0.0,0.009347675004482315,805,202,155.76153135299683,0.771096689866321,0.1934925855316731,,0.0075676964479498565,0.10283301580817351,7.000541275493101e-05,0.0,0.0,0.0,0.0,0.0,0.0075676964479498565,200,50,36.513182401657104,0.7302636480331421,0.18256591200828554,0.24249120593070983 +17,0.006813953403435555,,4.3093009721011074e-05,2.4938343312614452e-05,0.0,0.0,0.0,0.0,0.012606700300239027,805,202,155.63718175888062,0.7704810978162406,0.1933381139861871,,0.0061530869151465595,0.07821852180488122,7.42635408545278e-05,0.0,0.0,0.0,0.0,0.0,0.0061530869151465595,200,50,36.78648900985718,0.7357297801971435,0.18393244504928588,0.24507438510656357 diff --git a/iris/tvae/1/logs/avg_loss_train/events.out.tfevents.1721742856.72f500866ed6.2503.17 b/iris/tvae/1/logs/avg_loss_train/events.out.tfevents.1721742856.72f500866ed6.2503.17 new file mode 100644 index 0000000000000000000000000000000000000000..1842c329a6f4c3c71f6e6036b4b523d386f72d56 --- /dev/null +++ b/iris/tvae/1/logs/avg_loss_train/events.out.tfevents.1721742856.72f500866ed6.2503.17 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:99d5baea14750bb04d2af52d4a407d15e147f0ba78082015df78b545356b6fe9 +size 914 diff --git a/iris/tvae/1/logs/avg_loss_val/events.out.tfevents.1721742856.72f500866ed6.2503.18 b/iris/tvae/1/logs/avg_loss_val/events.out.tfevents.1721742856.72f500866ed6.2503.18 new file mode 100644 index 0000000000000000000000000000000000000000..7116aa936e893ce1bfaa08c9ffaf2017e9247cee --- /dev/null +++ b/iris/tvae/1/logs/avg_loss_val/events.out.tfevents.1721742856.72f500866ed6.2503.18 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5ea8482250265632fee9d7db5465a96126a13836cc870a9b56d790aa43e3a036 +size 914 diff --git a/iris/tvae/1/logs/avg_non_role_model_embed_loss_train/events.out.tfevents.1721742856.72f500866ed6.2503.15 b/iris/tvae/1/logs/avg_non_role_model_embed_loss_train/events.out.tfevents.1721742856.72f500866ed6.2503.15 new file mode 100644 index 0000000000000000000000000000000000000000..c58cf03674dd98579cac8d6bbdf66394ceccdd30 --- /dev/null +++ b/iris/tvae/1/logs/avg_non_role_model_embed_loss_train/events.out.tfevents.1721742856.72f500866ed6.2503.15 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9ce439377fa5ef118c8d403bce753b530a901495dfab8810e1d4ec46129b09ed +size 1292 diff --git a/iris/tvae/1/logs/avg_non_role_model_embed_loss_val/events.out.tfevents.1721742856.72f500866ed6.2503.16 b/iris/tvae/1/logs/avg_non_role_model_embed_loss_val/events.out.tfevents.1721742856.72f500866ed6.2503.16 new file mode 100644 index 0000000000000000000000000000000000000000..389fdf4d9ca364ee66ccc19aee99fb0e74373b18 --- /dev/null +++ b/iris/tvae/1/logs/avg_non_role_model_embed_loss_val/events.out.tfevents.1721742856.72f500866ed6.2503.16 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:231dc157418ae9aeaa0c8ccb149d4581081117325a7f60de9430e9210a817b86 +size 1292 diff --git a/iris/tvae/1/logs/avg_non_role_model_g_cos_loss_train/events.out.tfevents.1721742856.72f500866ed6.2503.13 b/iris/tvae/1/logs/avg_non_role_model_g_cos_loss_train/events.out.tfevents.1721742856.72f500866ed6.2503.13 new file mode 100644 index 0000000000000000000000000000000000000000..198dfe46ea6fd3bcd5b36630a7ca2282eeaf124c --- /dev/null +++ b/iris/tvae/1/logs/avg_non_role_model_g_cos_loss_train/events.out.tfevents.1721742856.72f500866ed6.2503.13 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fd8bedcd9320f2883fe4d1d002365edb1158ef5c66046a6087ad60e9d04a3e24 +size 1292 diff --git a/iris/tvae/1/logs/avg_non_role_model_g_cos_loss_val/events.out.tfevents.1721742856.72f500866ed6.2503.14 b/iris/tvae/1/logs/avg_non_role_model_g_cos_loss_val/events.out.tfevents.1721742856.72f500866ed6.2503.14 new file mode 100644 index 0000000000000000000000000000000000000000..63d4ee0969aa17eb7934ec66b8767e15d0c8bbf8 --- /dev/null +++ b/iris/tvae/1/logs/avg_non_role_model_g_cos_loss_val/events.out.tfevents.1721742856.72f500866ed6.2503.14 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3285a92ddf9337458808a2d817c266cc9e4753922684eb02013524360d679c9a +size 1292 diff --git a/iris/tvae/1/logs/avg_non_role_model_g_mag_loss_train/events.out.tfevents.1721742856.72f500866ed6.2503.11 b/iris/tvae/1/logs/avg_non_role_model_g_mag_loss_train/events.out.tfevents.1721742856.72f500866ed6.2503.11 new file mode 100644 index 0000000000000000000000000000000000000000..19794f3844c3a0bf785f10ab52d12a0b4b1395ff --- /dev/null +++ b/iris/tvae/1/logs/avg_non_role_model_g_mag_loss_train/events.out.tfevents.1721742856.72f500866ed6.2503.11 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1eb37faec6025de2acec7d55067600f42153f33b08b560921930d4ff6694e775 +size 1292 diff --git a/iris/tvae/1/logs/avg_non_role_model_g_mag_loss_val/events.out.tfevents.1721742856.72f500866ed6.2503.12 b/iris/tvae/1/logs/avg_non_role_model_g_mag_loss_val/events.out.tfevents.1721742856.72f500866ed6.2503.12 new file mode 100644 index 0000000000000000000000000000000000000000..7eca58f807e3920d0820fddb11d70c22046c3777 --- /dev/null +++ b/iris/tvae/1/logs/avg_non_role_model_g_mag_loss_val/events.out.tfevents.1721742856.72f500866ed6.2503.12 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2338ef35af9866ac8a9eff1253b6858b8a4cc3801f0db060d2a79b3a90b64935 +size 1292 diff --git a/iris/tvae/1/logs/avg_pred_std_train/events.out.tfevents.1721742856.72f500866ed6.2503.29 b/iris/tvae/1/logs/avg_pred_std_train/events.out.tfevents.1721742856.72f500866ed6.2503.29 new file mode 100644 index 0000000000000000000000000000000000000000..1c6ebab81fd18fcfa088e492168b56740a808fd6 --- /dev/null +++ b/iris/tvae/1/logs/avg_pred_std_train/events.out.tfevents.1721742856.72f500866ed6.2503.29 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4aae3190a2ee8f741b150481ed19e1ae6a290fac581ad87d3079bac9d73f3dd3 +size 986 diff --git a/iris/tvae/1/logs/avg_pred_std_val/events.out.tfevents.1721742856.72f500866ed6.2503.30 b/iris/tvae/1/logs/avg_pred_std_val/events.out.tfevents.1721742856.72f500866ed6.2503.30 new file mode 100644 index 0000000000000000000000000000000000000000..40d833f25d30741764b4e92181b0cc6cdbf68be5 --- /dev/null +++ b/iris/tvae/1/logs/avg_pred_std_val/events.out.tfevents.1721742856.72f500866ed6.2503.30 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0f952f4d0d8b0b911ea2040a0ed59bb5443e6d65451f7f41a97f7d22764e5a1a +size 986 diff --git a/iris/tvae/1/logs/avg_role_model_g_cos_loss_train/events.out.tfevents.1721742856.72f500866ed6.2503.9 b/iris/tvae/1/logs/avg_role_model_g_cos_loss_train/events.out.tfevents.1721742856.72f500866ed6.2503.9 new file mode 100644 index 0000000000000000000000000000000000000000..a2fae80c216556e8b288471d919c8f68a8d8c364 --- /dev/null +++ b/iris/tvae/1/logs/avg_role_model_g_cos_loss_train/events.out.tfevents.1721742856.72f500866ed6.2503.9 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6305b800c957db1a87a0974e75e64222a94861aee753274feed3e4c978c01f23 +size 1220 diff --git a/iris/tvae/1/logs/avg_role_model_g_cos_loss_val/events.out.tfevents.1721742856.72f500866ed6.2503.10 b/iris/tvae/1/logs/avg_role_model_g_cos_loss_val/events.out.tfevents.1721742856.72f500866ed6.2503.10 new file mode 100644 index 0000000000000000000000000000000000000000..b8ef81d07ec8b3db254e4fa2a7d4bf5ec4269ccc --- /dev/null +++ b/iris/tvae/1/logs/avg_role_model_g_cos_loss_val/events.out.tfevents.1721742856.72f500866ed6.2503.10 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0bf6f7a1323834397f79468c7f0e44cc8e599fda5cee88908e920defcbb0ca96 +size 1220 diff --git a/iris/tvae/1/logs/avg_role_model_g_mag_loss_train/events.out.tfevents.1721742856.72f500866ed6.2503.7 b/iris/tvae/1/logs/avg_role_model_g_mag_loss_train/events.out.tfevents.1721742856.72f500866ed6.2503.7 new file mode 100644 index 0000000000000000000000000000000000000000..210df597b717ec7f3e86fd125be7c077f6f4a3c0 --- /dev/null +++ b/iris/tvae/1/logs/avg_role_model_g_mag_loss_train/events.out.tfevents.1721742856.72f500866ed6.2503.7 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c7eb7a9946c2f5bb93e574e1d6155952462a51e9b3967569eaca346c53d112ff +size 1220 diff --git a/iris/tvae/1/logs/avg_role_model_g_mag_loss_val/events.out.tfevents.1721742856.72f500866ed6.2503.8 b/iris/tvae/1/logs/avg_role_model_g_mag_loss_val/events.out.tfevents.1721742856.72f500866ed6.2503.8 new file mode 100644 index 0000000000000000000000000000000000000000..54194e5e24522346888195fda3d4fbbf1bc8496c --- /dev/null +++ b/iris/tvae/1/logs/avg_role_model_g_mag_loss_val/events.out.tfevents.1721742856.72f500866ed6.2503.8 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b2e7e7055934afa4a1b2f6c2b38485671e93502215e93535b99ad51a78d48eaa +size 1220 diff --git a/iris/tvae/1/logs/avg_role_model_loss_train/events.out.tfevents.1721742856.72f500866ed6.2503.1 b/iris/tvae/1/logs/avg_role_model_loss_train/events.out.tfevents.1721742856.72f500866ed6.2503.1 new file mode 100644 index 0000000000000000000000000000000000000000..1e6bfb0069bdf338dd9484cc8cbf911fb05bb4bf --- /dev/null +++ b/iris/tvae/1/logs/avg_role_model_loss_train/events.out.tfevents.1721742856.72f500866ed6.2503.1 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b45f459b1d99249a1fc470ff2ee40f34fb699dd10a3c13493a36a2f1906cdba9 +size 1112 diff --git a/iris/tvae/1/logs/avg_role_model_loss_val/events.out.tfevents.1721742856.72f500866ed6.2503.2 b/iris/tvae/1/logs/avg_role_model_loss_val/events.out.tfevents.1721742856.72f500866ed6.2503.2 new file mode 100644 index 0000000000000000000000000000000000000000..130f324a708d6e0103d050513badbe3309f7e609 --- /dev/null +++ b/iris/tvae/1/logs/avg_role_model_loss_val/events.out.tfevents.1721742856.72f500866ed6.2503.2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8762dbf7c3a3ca99e0eda56eb1a94d0f249c92900abe877c203e27503b61395d +size 1112 diff --git a/iris/tvae/1/logs/avg_role_model_mean_pred_loss_train/events.out.tfevents.1721742856.72f500866ed6.2503.5 b/iris/tvae/1/logs/avg_role_model_mean_pred_loss_train/events.out.tfevents.1721742856.72f500866ed6.2503.5 new file mode 100644 index 0000000000000000000000000000000000000000..fbb6a9ff02bb186105c26359deeb91d6e5590580 --- /dev/null +++ b/iris/tvae/1/logs/avg_role_model_mean_pred_loss_train/events.out.tfevents.1721742856.72f500866ed6.2503.5 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3bae117fea9ce5597cea87f1d8a39cafef48e9c3d7fb6d260215b05bd10ad437 +size 1292 diff --git a/iris/tvae/1/logs/avg_role_model_mean_pred_loss_val/events.out.tfevents.1721742856.72f500866ed6.2503.6 b/iris/tvae/1/logs/avg_role_model_mean_pred_loss_val/events.out.tfevents.1721742856.72f500866ed6.2503.6 new file mode 100644 index 0000000000000000000000000000000000000000..17764b7d4b4a1d0125c5ef239f4c4cec870b99eb --- /dev/null +++ b/iris/tvae/1/logs/avg_role_model_mean_pred_loss_val/events.out.tfevents.1721742856.72f500866ed6.2503.6 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6d22639235e396a97461f6663cfa7e3b0826b6e3cef934311101081636558b08 +size 1292 diff --git a/iris/tvae/1/logs/avg_role_model_std_loss_train/events.out.tfevents.1721742856.72f500866ed6.2503.3 b/iris/tvae/1/logs/avg_role_model_std_loss_train/events.out.tfevents.1721742856.72f500866ed6.2503.3 new file mode 100644 index 0000000000000000000000000000000000000000..1a16e8db1d7c4de7445580e368c562923864e423 --- /dev/null +++ b/iris/tvae/1/logs/avg_role_model_std_loss_train/events.out.tfevents.1721742856.72f500866ed6.2503.3 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c4dfa5b9dbed9a9b85932087ecf7cace589b63ee31067dd8e70a970e656e4011 +size 1184 diff --git a/iris/tvae/1/logs/avg_role_model_std_loss_val/events.out.tfevents.1721742856.72f500866ed6.2503.4 b/iris/tvae/1/logs/avg_role_model_std_loss_val/events.out.tfevents.1721742856.72f500866ed6.2503.4 new file mode 100644 index 0000000000000000000000000000000000000000..6913c369ab8245186cde7b30a2de97ee51817cce --- /dev/null +++ b/iris/tvae/1/logs/avg_role_model_std_loss_val/events.out.tfevents.1721742856.72f500866ed6.2503.4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:db306b23b07e64e5f70ceb105f8a8a2f68c829ab4221ff32604cab51b3dff136 +size 1184 diff --git a/iris/tvae/1/logs/duration_batch_train/events.out.tfevents.1721742856.72f500866ed6.2503.25 b/iris/tvae/1/logs/duration_batch_train/events.out.tfevents.1721742856.72f500866ed6.2503.25 new file mode 100644 index 0000000000000000000000000000000000000000..823a5e6ddb180d413b82f77cf58b9d739fa2e87d --- /dev/null +++ b/iris/tvae/1/logs/duration_batch_train/events.out.tfevents.1721742856.72f500866ed6.2503.25 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1925105ee87e465e8e07a3a37cffba7634a31c3ea76345354b9c12a43ea39659 +size 1022 diff --git a/iris/tvae/1/logs/duration_batch_val/events.out.tfevents.1721742856.72f500866ed6.2503.26 b/iris/tvae/1/logs/duration_batch_val/events.out.tfevents.1721742856.72f500866ed6.2503.26 new file mode 100644 index 0000000000000000000000000000000000000000..8da106392fbcb27de6507398ee55467b67ecdf3e --- /dev/null +++ b/iris/tvae/1/logs/duration_batch_val/events.out.tfevents.1721742856.72f500866ed6.2503.26 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f4e6ef8758e79f73a28af9efa6463acf59efb195ca6599a3a671b924e6f13736 +size 1022 diff --git a/iris/tvae/1/logs/duration_size_train/events.out.tfevents.1721742856.72f500866ed6.2503.27 b/iris/tvae/1/logs/duration_size_train/events.out.tfevents.1721742856.72f500866ed6.2503.27 new file mode 100644 index 0000000000000000000000000000000000000000..11e249bc06a2fb9e0336741b2b5d872f9f559179 --- /dev/null +++ b/iris/tvae/1/logs/duration_size_train/events.out.tfevents.1721742856.72f500866ed6.2503.27 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0a5d2e2d9cda2256b0612dd6236f9a97d2df4cdc69ba1cef3fe2480e83f49667 +size 1004 diff --git a/iris/tvae/1/logs/duration_size_val/events.out.tfevents.1721742856.72f500866ed6.2503.28 b/iris/tvae/1/logs/duration_size_val/events.out.tfevents.1721742856.72f500866ed6.2503.28 new file mode 100644 index 0000000000000000000000000000000000000000..84caf47854d0cee7ac802ea0345e2f12ae4990de --- /dev/null +++ b/iris/tvae/1/logs/duration_size_val/events.out.tfevents.1721742856.72f500866ed6.2503.28 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3e0c955f96973e380598c590328022512512c80377cbbc80bf56f8892da7f785 +size 1004 diff --git a/iris/tvae/1/logs/duration_train/events.out.tfevents.1721742856.72f500866ed6.2503.23 b/iris/tvae/1/logs/duration_train/events.out.tfevents.1721742856.72f500866ed6.2503.23 new file mode 100644 index 0000000000000000000000000000000000000000..f96d903c0730bd123e581b2c29ec55a485b7d919 --- /dev/null +++ b/iris/tvae/1/logs/duration_train/events.out.tfevents.1721742856.72f500866ed6.2503.23 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:58a540424d99b39565e4af3e8be8f330c898c7ad77d245ed0c7816acbd14c844 +size 914 diff --git a/iris/tvae/1/logs/duration_val/events.out.tfevents.1721742856.72f500866ed6.2503.24 b/iris/tvae/1/logs/duration_val/events.out.tfevents.1721742856.72f500866ed6.2503.24 new file mode 100644 index 0000000000000000000000000000000000000000..a195917cad8f62e5dc613c04dd66d49fe2750c3e --- /dev/null +++ b/iris/tvae/1/logs/duration_val/events.out.tfevents.1721742856.72f500866ed6.2503.24 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3a38925afc84b64fde7736e7bbab404fd3d5587c92abaf72a36f383bedabbf94 +size 914 diff --git a/iris/tvae/1/logs/events.out.tfevents.1721742654.72f500866ed6.2503.0 b/iris/tvae/1/logs/events.out.tfevents.1721742654.72f500866ed6.2503.0 new file mode 100644 index 0000000000000000000000000000000000000000..f713e2491efd747ed4e6aa585d0983c7867aeecf --- /dev/null +++ b/iris/tvae/1/logs/events.out.tfevents.1721742654.72f500866ed6.2503.0 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cd3338219e4f204cda9cd6ce66c4d2bdf5528fdb66ab99f8f563ab94ca3c719f +size 88 diff --git a/iris/tvae/1/logs/n_batch_train/events.out.tfevents.1721742856.72f500866ed6.2503.21 b/iris/tvae/1/logs/n_batch_train/events.out.tfevents.1721742856.72f500866ed6.2503.21 new file mode 100644 index 0000000000000000000000000000000000000000..9a1d5e0df5c64882c376c318ba8605b07cc9e741 --- /dev/null +++ b/iris/tvae/1/logs/n_batch_train/events.out.tfevents.1721742856.72f500866ed6.2503.21 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:69ee81b3558376f984e0cbc38ff5cec56ecdd77e4d4e2b3459e32def5ec3545c +size 896 diff --git a/iris/tvae/1/logs/n_batch_val/events.out.tfevents.1721742856.72f500866ed6.2503.22 b/iris/tvae/1/logs/n_batch_val/events.out.tfevents.1721742856.72f500866ed6.2503.22 new file mode 100644 index 0000000000000000000000000000000000000000..87dc77f256f634654ff9bb40b83da53773f9ae9f --- /dev/null +++ b/iris/tvae/1/logs/n_batch_val/events.out.tfevents.1721742856.72f500866ed6.2503.22 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f4cf3eecf5bd913a5822f9aac26502698ac1d702e128206a038c3765e66de9e3 +size 896 diff --git a/iris/tvae/1/logs/n_size_train/events.out.tfevents.1721742856.72f500866ed6.2503.19 b/iris/tvae/1/logs/n_size_train/events.out.tfevents.1721742856.72f500866ed6.2503.19 new file mode 100644 index 0000000000000000000000000000000000000000..011f79221bf0aed26a3427ba87e1bf6e42c1e553 --- /dev/null +++ b/iris/tvae/1/logs/n_size_train/events.out.tfevents.1721742856.72f500866ed6.2503.19 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ac3db3876e4b0c97ecd15ca0af6f8275ece724f55d0ae4bdfc58b793a2752629 +size 878 diff --git a/iris/tvae/1/logs/n_size_val/events.out.tfevents.1721742856.72f500866ed6.2503.20 b/iris/tvae/1/logs/n_size_val/events.out.tfevents.1721742856.72f500866ed6.2503.20 new file mode 100644 index 0000000000000000000000000000000000000000..7fedf65d846d86747ca85eeb21ad7d0235167ef2 --- /dev/null +++ b/iris/tvae/1/logs/n_size_val/events.out.tfevents.1721742856.72f500866ed6.2503.20 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9b59e203bc1e69315f821ec3049a32243ae72fd502622010e4ab75df7d30dea8 +size 878 diff --git a/iris/tvae/1/logs/train_avg_loss/events.out.tfevents.1721742856.72f500866ed6.2503.39 b/iris/tvae/1/logs/train_avg_loss/events.out.tfevents.1721742856.72f500866ed6.2503.39 new file mode 100644 index 0000000000000000000000000000000000000000..b8ec94ef8ef8a5bc14bc6babdfb551264c1975b2 --- /dev/null +++ b/iris/tvae/1/logs/train_avg_loss/events.out.tfevents.1721742856.72f500866ed6.2503.39 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8bd3677cbee44660f709dce59d0366dae12528c8437689898ad1ecd2c1640485 +size 860 diff --git a/iris/tvae/1/logs/train_avg_non_role_model_embed_loss/events.out.tfevents.1721742856.72f500866ed6.2503.38 b/iris/tvae/1/logs/train_avg_non_role_model_embed_loss/events.out.tfevents.1721742856.72f500866ed6.2503.38 new file mode 100644 index 0000000000000000000000000000000000000000..527bc09261a43e95a51fc8f44e5dba7d2f2d2a87 --- /dev/null +++ b/iris/tvae/1/logs/train_avg_non_role_model_embed_loss/events.out.tfevents.1721742856.72f500866ed6.2503.38 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8fc7052ec40cc5c17518651068ad7f88aa74fa79fda9293693a930ca3707dbcb +size 860 diff --git a/iris/tvae/1/logs/train_avg_non_role_model_g_cos_loss/events.out.tfevents.1721742856.72f500866ed6.2503.37 b/iris/tvae/1/logs/train_avg_non_role_model_g_cos_loss/events.out.tfevents.1721742856.72f500866ed6.2503.37 new file mode 100644 index 0000000000000000000000000000000000000000..4d637b7b561eb08311e208dcd1e283d7a28adfb4 --- /dev/null +++ b/iris/tvae/1/logs/train_avg_non_role_model_g_cos_loss/events.out.tfevents.1721742856.72f500866ed6.2503.37 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:459dc22547d1bc0dc1da3102356522e80c8fb089b9b64ae80037ccf8be5fb15f +size 860 diff --git a/iris/tvae/1/logs/train_avg_non_role_model_g_mag_loss/events.out.tfevents.1721742856.72f500866ed6.2503.36 b/iris/tvae/1/logs/train_avg_non_role_model_g_mag_loss/events.out.tfevents.1721742856.72f500866ed6.2503.36 new file mode 100644 index 0000000000000000000000000000000000000000..52ce6e83848144281c447c070262fdd74756cb1f --- /dev/null +++ b/iris/tvae/1/logs/train_avg_non_role_model_g_mag_loss/events.out.tfevents.1721742856.72f500866ed6.2503.36 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:06baa5cdcd71030b483cd359360e7ed989ed4803dc685a08df0d53a651db2757 +size 860 diff --git a/iris/tvae/1/logs/train_avg_pred_std/events.out.tfevents.1721742856.72f500866ed6.2503.45 b/iris/tvae/1/logs/train_avg_pred_std/events.out.tfevents.1721742856.72f500866ed6.2503.45 new file mode 100644 index 0000000000000000000000000000000000000000..0810ba15c5617e1cd329a122e5c829e6978adba1 --- /dev/null +++ b/iris/tvae/1/logs/train_avg_pred_std/events.out.tfevents.1721742856.72f500866ed6.2503.45 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:71b1ed8120228b3f1b37bde441158eeb3242edb2d16440d439a8bde9354dc7a0 +size 860 diff --git a/iris/tvae/1/logs/train_avg_role_model_g_cos_loss/events.out.tfevents.1721742856.72f500866ed6.2503.35 b/iris/tvae/1/logs/train_avg_role_model_g_cos_loss/events.out.tfevents.1721742856.72f500866ed6.2503.35 new file mode 100644 index 0000000000000000000000000000000000000000..8c9329e751f0ca9202f88f0b51917cc7ca192434 --- /dev/null +++ b/iris/tvae/1/logs/train_avg_role_model_g_cos_loss/events.out.tfevents.1721742856.72f500866ed6.2503.35 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c9663dec264359ee2e9601c80bb2389513e6ed2cd777a03e63e68530a9335cde +size 860 diff --git a/iris/tvae/1/logs/train_avg_role_model_g_mag_loss/events.out.tfevents.1721742856.72f500866ed6.2503.34 b/iris/tvae/1/logs/train_avg_role_model_g_mag_loss/events.out.tfevents.1721742856.72f500866ed6.2503.34 new file mode 100644 index 0000000000000000000000000000000000000000..091cb02abf5dd7ccf672ac2210a9afd72e42292b --- /dev/null +++ b/iris/tvae/1/logs/train_avg_role_model_g_mag_loss/events.out.tfevents.1721742856.72f500866ed6.2503.34 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ae695577dc016c315b61fef3d6f4b6154ef6285af501696a5f2e90595ae2acff +size 860 diff --git a/iris/tvae/1/logs/train_avg_role_model_loss/events.out.tfevents.1721742856.72f500866ed6.2503.31 b/iris/tvae/1/logs/train_avg_role_model_loss/events.out.tfevents.1721742856.72f500866ed6.2503.31 new file mode 100644 index 0000000000000000000000000000000000000000..3ef026d3c5c69b09e1c6ac904f9cdb14a285b5d7 --- /dev/null +++ b/iris/tvae/1/logs/train_avg_role_model_loss/events.out.tfevents.1721742856.72f500866ed6.2503.31 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3c7fcbc8e5a0072cda9ce6035d50449f858259c4d7ae36ce58ecef1ae4d18625 +size 860 diff --git a/iris/tvae/1/logs/train_avg_role_model_mean_pred_loss/events.out.tfevents.1721742856.72f500866ed6.2503.33 b/iris/tvae/1/logs/train_avg_role_model_mean_pred_loss/events.out.tfevents.1721742856.72f500866ed6.2503.33 new file mode 100644 index 0000000000000000000000000000000000000000..212e91e7ed072121f67b5191b4a2395a65a12374 --- /dev/null +++ b/iris/tvae/1/logs/train_avg_role_model_mean_pred_loss/events.out.tfevents.1721742856.72f500866ed6.2503.33 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ccc4e815ad00139d40a54d8beb34b605425cc85b43912acef062f2d21566cdb7 +size 860 diff --git a/iris/tvae/1/logs/train_avg_role_model_std_loss/events.out.tfevents.1721742856.72f500866ed6.2503.32 b/iris/tvae/1/logs/train_avg_role_model_std_loss/events.out.tfevents.1721742856.72f500866ed6.2503.32 new file mode 100644 index 0000000000000000000000000000000000000000..fad4e239d57e554ebc7266d1bf768f51bcc8810a --- /dev/null +++ b/iris/tvae/1/logs/train_avg_role_model_std_loss/events.out.tfevents.1721742856.72f500866ed6.2503.32 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:be3911d91f49fb7dca471bcf604cbbc56d4ea9aebe4ca60b0bd79bb90434f356 +size 860 diff --git a/iris/tvae/1/logs/train_duration/events.out.tfevents.1721742856.72f500866ed6.2503.42 b/iris/tvae/1/logs/train_duration/events.out.tfevents.1721742856.72f500866ed6.2503.42 new file mode 100644 index 0000000000000000000000000000000000000000..9e32a25fb05e571ff5db42eb718f31b83c795592 --- /dev/null +++ b/iris/tvae/1/logs/train_duration/events.out.tfevents.1721742856.72f500866ed6.2503.42 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f7e8d43be1f0e53d74f18d1e372bb928fbb05106cec906808c2205791e90ab6d +size 860 diff --git a/iris/tvae/1/logs/train_duration_batch/events.out.tfevents.1721742856.72f500866ed6.2503.43 b/iris/tvae/1/logs/train_duration_batch/events.out.tfevents.1721742856.72f500866ed6.2503.43 new file mode 100644 index 0000000000000000000000000000000000000000..845a0f953523493b13905763b1d37e8dd8be66e5 --- /dev/null +++ b/iris/tvae/1/logs/train_duration_batch/events.out.tfevents.1721742856.72f500866ed6.2503.43 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7dd87420b271ee87311768df13e4ea7978743c3d4912bb077f0ff4b62f161de8 +size 860 diff --git a/iris/tvae/1/logs/train_duration_size/events.out.tfevents.1721742856.72f500866ed6.2503.44 b/iris/tvae/1/logs/train_duration_size/events.out.tfevents.1721742856.72f500866ed6.2503.44 new file mode 100644 index 0000000000000000000000000000000000000000..8db3da1ab9b0b7a7558f6c42f5705a50ca9b2744 --- /dev/null +++ b/iris/tvae/1/logs/train_duration_size/events.out.tfevents.1721742856.72f500866ed6.2503.44 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:da4570340b7a7593054717e54b8428c77e78adb4ba72ed227f3288bf94f81698 +size 860 diff --git a/iris/tvae/1/logs/train_n_batch/events.out.tfevents.1721742856.72f500866ed6.2503.41 b/iris/tvae/1/logs/train_n_batch/events.out.tfevents.1721742856.72f500866ed6.2503.41 new file mode 100644 index 0000000000000000000000000000000000000000..b299271942465d263937f2cf82e437e2311e3e95 --- /dev/null +++ b/iris/tvae/1/logs/train_n_batch/events.out.tfevents.1721742856.72f500866ed6.2503.41 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a455c956008a64ca38d109543642b380e4fbc487de777b1650e52ef1730f68f4 +size 860 diff --git a/iris/tvae/1/logs/train_n_size/events.out.tfevents.1721742856.72f500866ed6.2503.40 b/iris/tvae/1/logs/train_n_size/events.out.tfevents.1721742856.72f500866ed6.2503.40 new file mode 100644 index 0000000000000000000000000000000000000000..96df668ab87e63a1cb5705818ee9b8a945538417 --- /dev/null +++ b/iris/tvae/1/logs/train_n_size/events.out.tfevents.1721742856.72f500866ed6.2503.40 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:052d5780af26adb3e60db6e297cecdd970eb9c95331b6e70b3c6360dde7b6567 +size 860 diff --git a/iris/tvae/1/logs/val_avg_loss/events.out.tfevents.1721742856.72f500866ed6.2503.54 b/iris/tvae/1/logs/val_avg_loss/events.out.tfevents.1721742856.72f500866ed6.2503.54 new file mode 100644 index 0000000000000000000000000000000000000000..23530b8d0f40885cc19963287ceaa49fa04a12c5 --- /dev/null +++ b/iris/tvae/1/logs/val_avg_loss/events.out.tfevents.1721742856.72f500866ed6.2503.54 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:07e644081e7adc226853cb90785f39355d69de95eaa2e3b102d4cdb3f1452d28 +size 824 diff --git a/iris/tvae/1/logs/val_avg_non_role_model_embed_loss/events.out.tfevents.1721742856.72f500866ed6.2503.53 b/iris/tvae/1/logs/val_avg_non_role_model_embed_loss/events.out.tfevents.1721742856.72f500866ed6.2503.53 new file mode 100644 index 0000000000000000000000000000000000000000..5827f1dfdeed518c3481bb3f47f08634133d2997 --- /dev/null +++ b/iris/tvae/1/logs/val_avg_non_role_model_embed_loss/events.out.tfevents.1721742856.72f500866ed6.2503.53 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d452dd0e33b07cf7ea7854b1a22f85f9e8dd1c657c65aea90274291391280f51 +size 824 diff --git a/iris/tvae/1/logs/val_avg_non_role_model_g_cos_loss/events.out.tfevents.1721742856.72f500866ed6.2503.52 b/iris/tvae/1/logs/val_avg_non_role_model_g_cos_loss/events.out.tfevents.1721742856.72f500866ed6.2503.52 new file mode 100644 index 0000000000000000000000000000000000000000..c0eee5bac1a2c940c5f3ae2bae5681ff59c7ff73 --- /dev/null +++ b/iris/tvae/1/logs/val_avg_non_role_model_g_cos_loss/events.out.tfevents.1721742856.72f500866ed6.2503.52 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c13bd1e812f5a8c41b24b7f55d1e004ad46de628a7eb763ed329a5a9e3719cd6 +size 824 diff --git a/iris/tvae/1/logs/val_avg_non_role_model_g_mag_loss/events.out.tfevents.1721742856.72f500866ed6.2503.51 b/iris/tvae/1/logs/val_avg_non_role_model_g_mag_loss/events.out.tfevents.1721742856.72f500866ed6.2503.51 new file mode 100644 index 0000000000000000000000000000000000000000..34835ae803df8fe8740b4c7a5bcb8dd3d75aa87b --- /dev/null +++ b/iris/tvae/1/logs/val_avg_non_role_model_g_mag_loss/events.out.tfevents.1721742856.72f500866ed6.2503.51 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4eeca1793de734d0fcea6351b2c66bf997012140c37058509ab5755682081279 +size 824 diff --git a/iris/tvae/1/logs/val_avg_pred_std/events.out.tfevents.1721742856.72f500866ed6.2503.60 b/iris/tvae/1/logs/val_avg_pred_std/events.out.tfevents.1721742856.72f500866ed6.2503.60 new file mode 100644 index 0000000000000000000000000000000000000000..d6e0230b929ae8b01dda075bd3da0638ff209e6c --- /dev/null +++ b/iris/tvae/1/logs/val_avg_pred_std/events.out.tfevents.1721742856.72f500866ed6.2503.60 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0d79bb10cbe63d780b46efd4e6fa58f1f43f4fc55d501a631120513ec7ec3a22 +size 824 diff --git a/iris/tvae/1/logs/val_avg_role_model_g_cos_loss/events.out.tfevents.1721742856.72f500866ed6.2503.50 b/iris/tvae/1/logs/val_avg_role_model_g_cos_loss/events.out.tfevents.1721742856.72f500866ed6.2503.50 new file mode 100644 index 0000000000000000000000000000000000000000..db9cc37f283395951536c6474650bef0b29a9b60 --- /dev/null +++ b/iris/tvae/1/logs/val_avg_role_model_g_cos_loss/events.out.tfevents.1721742856.72f500866ed6.2503.50 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:12c76dd1e5c1bb834ee5fb2d897ce464928f516f8e233752af3516267dff3a9c +size 824 diff --git a/iris/tvae/1/logs/val_avg_role_model_g_mag_loss/events.out.tfevents.1721742856.72f500866ed6.2503.49 b/iris/tvae/1/logs/val_avg_role_model_g_mag_loss/events.out.tfevents.1721742856.72f500866ed6.2503.49 new file mode 100644 index 0000000000000000000000000000000000000000..3bea07c71fe9202dac41a64ad439cb3ce6a3ee5b --- /dev/null +++ b/iris/tvae/1/logs/val_avg_role_model_g_mag_loss/events.out.tfevents.1721742856.72f500866ed6.2503.49 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:22ebef102b31bd7bc5cd92725aa8a4597d015c67f196a6577e0b7d429d4a3663 +size 824 diff --git a/iris/tvae/1/logs/val_avg_role_model_loss/events.out.tfevents.1721742856.72f500866ed6.2503.46 b/iris/tvae/1/logs/val_avg_role_model_loss/events.out.tfevents.1721742856.72f500866ed6.2503.46 new file mode 100644 index 0000000000000000000000000000000000000000..dc235dcf42e7ab290812e4a7130bc3d35bf87b8c --- /dev/null +++ b/iris/tvae/1/logs/val_avg_role_model_loss/events.out.tfevents.1721742856.72f500866ed6.2503.46 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c06f67b2f3caf16d9b0fbad39f10accda653802d3031ccba92e63fb4458bbd52 +size 824 diff --git a/iris/tvae/1/logs/val_avg_role_model_mean_pred_loss/events.out.tfevents.1721742856.72f500866ed6.2503.48 b/iris/tvae/1/logs/val_avg_role_model_mean_pred_loss/events.out.tfevents.1721742856.72f500866ed6.2503.48 new file mode 100644 index 0000000000000000000000000000000000000000..16b8ee7fbd092a4ebdc299d37fb918427156aedc --- /dev/null +++ b/iris/tvae/1/logs/val_avg_role_model_mean_pred_loss/events.out.tfevents.1721742856.72f500866ed6.2503.48 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0eead17fb35979afb8137f248ded4f5affe528fcbf7ed1143310c5890778fcc5 +size 824 diff --git a/iris/tvae/1/logs/val_avg_role_model_std_loss/events.out.tfevents.1721742856.72f500866ed6.2503.47 b/iris/tvae/1/logs/val_avg_role_model_std_loss/events.out.tfevents.1721742856.72f500866ed6.2503.47 new file mode 100644 index 0000000000000000000000000000000000000000..e7ee16771049de9b3a910b3449378f411c6e79ec --- /dev/null +++ b/iris/tvae/1/logs/val_avg_role_model_std_loss/events.out.tfevents.1721742856.72f500866ed6.2503.47 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:19975db687c3d48f07b8218120987480f2d46e05ac26bf245dfb88c64dcca081 +size 824 diff --git a/iris/tvae/1/logs/val_duration/events.out.tfevents.1721742856.72f500866ed6.2503.57 b/iris/tvae/1/logs/val_duration/events.out.tfevents.1721742856.72f500866ed6.2503.57 new file mode 100644 index 0000000000000000000000000000000000000000..b39b47168560bd8cb5d05e30f6b87ccb71d0de7f --- /dev/null +++ b/iris/tvae/1/logs/val_duration/events.out.tfevents.1721742856.72f500866ed6.2503.57 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bf098c1751e65ab599704cf30b700ceefd268f88d877dfa4baa42a4f909f17c9 +size 824 diff --git a/iris/tvae/1/logs/val_duration_batch/events.out.tfevents.1721742856.72f500866ed6.2503.58 b/iris/tvae/1/logs/val_duration_batch/events.out.tfevents.1721742856.72f500866ed6.2503.58 new file mode 100644 index 0000000000000000000000000000000000000000..901223f387b0f50223274d51544e80e7aa68fc01 --- /dev/null +++ b/iris/tvae/1/logs/val_duration_batch/events.out.tfevents.1721742856.72f500866ed6.2503.58 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f0d3580a6b88748cc556d6a11de1784f112c936786fbbc6ffdb4f5f6d7dbe3f7 +size 824 diff --git a/iris/tvae/1/logs/val_duration_size/events.out.tfevents.1721742856.72f500866ed6.2503.59 b/iris/tvae/1/logs/val_duration_size/events.out.tfevents.1721742856.72f500866ed6.2503.59 new file mode 100644 index 0000000000000000000000000000000000000000..f327278ca8405ab50b728b17fb9634be503c4706 --- /dev/null +++ b/iris/tvae/1/logs/val_duration_size/events.out.tfevents.1721742856.72f500866ed6.2503.59 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:73467d18d26444bcef0d9859ca53bb19ae7cc08d81e2a50e24804a961f2bebc4 +size 824 diff --git a/iris/tvae/1/logs/val_n_batch/events.out.tfevents.1721742856.72f500866ed6.2503.56 b/iris/tvae/1/logs/val_n_batch/events.out.tfevents.1721742856.72f500866ed6.2503.56 new file mode 100644 index 0000000000000000000000000000000000000000..06261e4db2d2cac7ffca757a914e413939515fb7 --- /dev/null +++ b/iris/tvae/1/logs/val_n_batch/events.out.tfevents.1721742856.72f500866ed6.2503.56 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c6a99c0011e541161c1adb79c14d006b638dc07c4cbe5d3e2b46aa2404de023e +size 824 diff --git a/iris/tvae/1/logs/val_n_size/events.out.tfevents.1721742856.72f500866ed6.2503.55 b/iris/tvae/1/logs/val_n_size/events.out.tfevents.1721742856.72f500866ed6.2503.55 new file mode 100644 index 0000000000000000000000000000000000000000..7662a4e6c6e3a14501827ad1d58e94ef2e142e15 --- /dev/null +++ b/iris/tvae/1/logs/val_n_size/events.out.tfevents.1721742856.72f500866ed6.2503.55 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c72993db6ad963564b661604f5b66cb40df44671133006419d212538b32e5798 +size 824 diff --git a/iris/tvae/1/mlu-eval.ipynb b/iris/tvae/1/mlu-eval.ipynb new file mode 100644 index 0000000000000000000000000000000000000000..eea8d352de655b9374cd019fd597131914541dc4 --- /dev/null +++ b/iris/tvae/1/mlu-eval.ipynb @@ -0,0 +1,2329 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "982e76f5", + "metadata": { + "execution": { + "iopub.execute_input": "2024-07-23T13:50:43.032772Z", + "iopub.status.busy": "2024-07-23T13:50:43.032028Z", + "iopub.status.idle": "2024-07-23T13:50:43.063188Z", + "shell.execute_reply": "2024-07-23T13:50:43.062425Z" + }, + "papermill": { + "duration": 0.045741, + "end_time": "2024-07-23T13:50:43.065237", + "exception": false, + "start_time": "2024-07-23T13:50:43.019496", + "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-23T13:50:43.089964Z", + "iopub.status.busy": "2024-07-23T13:50:43.089691Z", + "iopub.status.idle": "2024-07-23T13:50:43.096213Z", + "shell.execute_reply": "2024-07-23T13:50:43.095332Z" + }, + "papermill": { + "duration": 0.021042, + "end_time": "2024-07-23T13:50:43.098044", + "exception": false, + "start_time": "2024-07-23T13:50:43.077002", + "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-23T13:50:43.121445Z", + "iopub.status.busy": "2024-07-23T13:50:43.121125Z", + "iopub.status.idle": "2024-07-23T13:50:43.125108Z", + "shell.execute_reply": "2024-07-23T13:50:43.124289Z" + }, + "papermill": { + "duration": 0.017917, + "end_time": "2024-07-23T13:50:43.127031", + "exception": false, + "start_time": "2024-07-23T13:50:43.109114", + "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-23T13:50:43.150004Z", + "iopub.status.busy": "2024-07-23T13:50:43.149740Z", + "iopub.status.idle": "2024-07-23T13:50:43.153698Z", + "shell.execute_reply": "2024-07-23T13:50:43.152798Z" + }, + "executionInfo": { + "elapsed": 678, + "status": "ok", + "timestamp": 1696841022168, + "user": { + "displayName": "Rizqi Nur", + "userId": "09644007964068789560" + }, + "user_tz": -420 + }, + "id": "ns5hFcVL2yvs", + "papermill": { + "duration": 0.017731, + "end_time": "2024-07-23T13:50:43.155695", + "exception": false, + "start_time": "2024-07-23T13:50:43.137964", + "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-23T13:50:43.178806Z", + "iopub.status.busy": "2024-07-23T13:50:43.178557Z", + "iopub.status.idle": "2024-07-23T13:50:43.183972Z", + "shell.execute_reply": "2024-07-23T13:50:43.183157Z" + }, + "papermill": { + "duration": 0.019251, + "end_time": "2024-07-23T13:50:43.185934", + "exception": false, + "start_time": "2024-07-23T13:50:43.166683", + "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": "6e2e5066", + "metadata": { + "execution": { + "iopub.execute_input": "2024-07-23T13:50:43.211339Z", + "iopub.status.busy": "2024-07-23T13:50:43.211023Z", + "iopub.status.idle": "2024-07-23T13:50:43.215811Z", + "shell.execute_reply": "2024-07-23T13:50:43.214921Z" + }, + "papermill": { + "duration": 0.01984, + "end_time": "2024-07-23T13:50:43.217793", + "exception": false, + "start_time": "2024-07-23T13:50:43.197953", + "status": "completed" + }, + "tags": [ + "injected-parameters" + ] + }, + "outputs": [], + "source": [ + "# Parameters\n", + "dataset = \"iris\"\n", + "dataset_name = \"iris\"\n", + "single_model = \"tvae\"\n", + "gp = True\n", + "gp_multiply = True\n", + "random_seed = 1\n", + "debug = False\n", + "folder = \"eval\"\n", + "path_prefix = \"../../../../\"\n", + "path = \"eval/iris/tvae/1\"\n", + "param_index = 0\n", + "allow_same_prediction = True\n", + "log_wandb = False\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "bd7c02d6", + "metadata": { + "papermill": { + "duration": 0.010907, + "end_time": "2024-07-23T13:50:43.239739", + "exception": false, + "start_time": "2024-07-23T13:50:43.228832", + "status": "completed" + }, + "tags": [] + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "5f45b1d0", + "metadata": { + "execution": { + "iopub.execute_input": "2024-07-23T13:50:43.262940Z", + "iopub.status.busy": "2024-07-23T13:50:43.262680Z", + "iopub.status.idle": "2024-07-23T13:50:43.271633Z", + "shell.execute_reply": "2024-07-23T13:50:43.270855Z" + }, + "executionInfo": { + "elapsed": 7, + "status": "ok", + "timestamp": 1696841022169, + "user": { + "displayName": "Rizqi Nur", + "userId": "09644007964068789560" + }, + "user_tz": -420 + }, + "id": "UdvXYv3c3LXy", + "papermill": { + "duration": 0.022922, + "end_time": "2024-07-23T13:50:43.273585", + "exception": false, + "start_time": "2024-07-23T13:50:43.250663", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "/kaggle/working\n", + "/kaggle/working/eval/iris/tvae/1\n" + ] + } + ], + "source": [ + "from pathlib import Path\n", + "import os\n", + "\n", + "%cd /kaggle/working/\n", + "\n", + "if path is None:\n", + " path = os.path.join(folder, dataset_name, single_model, random_seed)\n", + "Path(path).mkdir(parents=True, exist_ok=True)\n", + "\n", + "%cd {path}" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "f85bf540", + "metadata": { + "execution": { + "iopub.execute_input": "2024-07-23T13:50:43.297365Z", + "iopub.status.busy": "2024-07-23T13:50:43.297103Z", + "iopub.status.idle": "2024-07-23T13:50:45.272431Z", + "shell.execute_reply": "2024-07-23T13:50:45.271497Z" + }, + "papermill": { + "duration": 1.989386, + "end_time": "2024-07-23T13:50:45.274548", + "exception": false, + "start_time": "2024-07-23T13:50:43.285162", + "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-23T13:50:45.300335Z", + "iopub.status.busy": "2024-07-23T13:50:45.299895Z", + "iopub.status.idle": "2024-07-23T13:50:45.309996Z", + "shell.execute_reply": "2024-07-23T13:50:45.309124Z" + }, + "papermill": { + "duration": 0.025108, + "end_time": "2024-07-23T13:50:45.311945", + "exception": false, + "start_time": "2024-07-23T13:50:45.286837", + "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-23T13:50:45.335437Z", + "iopub.status.busy": "2024-07-23T13:50:45.335154Z", + "iopub.status.idle": "2024-07-23T13:50:45.342103Z", + "shell.execute_reply": "2024-07-23T13:50:45.341232Z" + }, + "executionInfo": { + "elapsed": 6, + "status": "ok", + "timestamp": 1696841022169, + "user": { + "displayName": "Rizqi Nur", + "userId": "09644007964068789560" + }, + "user_tz": -420 + }, + "id": "Vrl2QkoV3o_8", + "papermill": { + "duration": 0.020863, + "end_time": "2024-07-23T13:50:45.343916", + "exception": false, + "start_time": "2024-07-23T13:50:45.323053", + "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-23T13:50:45.368029Z", + "iopub.status.busy": "2024-07-23T13:50:45.367766Z", + "iopub.status.idle": "2024-07-23T13:50:45.484920Z", + "shell.execute_reply": "2024-07-23T13:50:45.483907Z" + }, + "executionInfo": { + "elapsed": 6, + "status": "ok", + "timestamp": 1696841022169, + "user": { + "displayName": "Rizqi Nur", + "userId": "09644007964068789560" + }, + "user_tz": -420 + }, + "id": "TilUuFk9vqMb", + "papermill": { + "duration": 0.132545, + "end_time": "2024-07-23T13:50:45.487754", + "exception": false, + "start_time": "2024-07-23T13:50:45.355209", + "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-23T13:50:45.514829Z", + "iopub.status.busy": "2024-07-23T13:50:45.514448Z", + "iopub.status.idle": "2024-07-23T13:50:49.803144Z", + "shell.execute_reply": "2024-07-23T13:50:49.802355Z" + }, + "executionInfo": { + "elapsed": 3113, + "status": "ok", + "timestamp": 1696841025277, + "user": { + "displayName": "Rizqi Nur", + "userId": "09644007964068789560" + }, + "user_tz": -420 + }, + "id": "7Abt8nStvr9Z", + "papermill": { + "duration": 4.305357, + "end_time": "2024-07-23T13:50:49.805610", + "exception": false, + "start_time": "2024-07-23T13:50:45.500253", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "2024-07-23 13:50:47.259590: 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 13:50:47.259656: 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 13:50:47.261270: 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-23T13:50:49.830612Z", + "iopub.status.busy": "2024-07-23T13:50:49.829747Z", + "iopub.status.idle": "2024-07-23T13:50:49.836306Z", + "shell.execute_reply": "2024-07-23T13:50:49.835593Z" + }, + "papermill": { + "duration": 0.020954, + "end_time": "2024-07-23T13:50:49.838237", + "exception": false, + "start_time": "2024-07-23T13:50:49.817283", + "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-23T13:50:49.864009Z", + "iopub.status.busy": "2024-07-23T13:50:49.863737Z", + "iopub.status.idle": "2024-07-23T13:50:52.436449Z", + "shell.execute_reply": "2024-07-23T13:50:52.435584Z" + }, + "executionInfo": { + "elapsed": 20137, + "status": "ok", + "timestamp": 1696841045408, + "user": { + "displayName": "Rizqi Nur", + "userId": "09644007964068789560" + }, + "user_tz": -420 + }, + "id": "tbaguWxAvtPi", + "papermill": { + "duration": 2.588549, + "end_time": "2024-07-23T13:50:52.438850", + "exception": false, + "start_time": "2024-07-23T13:50:49.850301", + "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-23T13:50:52.465149Z", + "iopub.status.busy": "2024-07-23T13:50:52.464769Z", + "iopub.status.idle": "2024-07-23T13:50:52.471361Z", + "shell.execute_reply": "2024-07-23T13:50:52.470550Z" + }, + "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.021851, + "end_time": "2024-07-23T13:50:52.473336", + "exception": false, + "start_time": "2024-07-23T13:50:52.451485", + "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-23T13:50:52.497649Z", + "iopub.status.busy": "2024-07-23T13:50:52.497399Z", + "iopub.status.idle": "2024-07-23T13:50:52.502087Z", + "shell.execute_reply": "2024-07-23T13:50:52.501278Z" + }, + "papermill": { + "duration": 0.019137, + "end_time": "2024-07-23T13:50:52.504033", + "exception": false, + "start_time": "2024-07-23T13:50:52.484896", + "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-23T13:50:52.528233Z", + "iopub.status.busy": "2024-07-23T13:50:52.527946Z", + "iopub.status.idle": "2024-07-23T13:50:52.585414Z", + "shell.execute_reply": "2024-07-23T13:50:52.584534Z" + }, + "papermill": { + "duration": 0.071772, + "end_time": "2024-07-23T13:50:52.587338", + "exception": false, + "start_time": "2024-07-23T13:50:52.515566", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "../../../../ml-utility-loss/ synthetics iris\n", + "Caching in ../../../../iris/_cache_aug_test/tvae/all inf False\n", + "../../../../ml-utility-loss/aug_test/iris 0\n", + "Caching in ../../../../iris/_cache_bs_test/tvae/all inf False\n", + "../../../../ml-utility-loss/bs_test/iris 0\n", + "Caching in ../../../../iris/_cache_synth_test/tvae/all inf False\n", + "../../../../ml-utility-loss/synthetics/iris 200\n", + "200\n" + ] + } + ], + "source": [ + "from ml_utility_loss.loss_learning.estimator.pipeline import load_dataset_4\n", + "\n", + "test_set = load_dataset_4(\n", + " dataset_dir=os.path.join(path_prefix, \"ml-utility-loss/\"),\n", + " dataset_name=dataset_name,\n", + " preprocessor=preprocessor,\n", + " model=single_model,\n", + " cache_dir=path_prefix,\n", + " #synth_dir=f\"synthetics2/{single_model}\",\n", + " synth_dir=\"synthetics\",\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "14ff8b40", + "metadata": { + "execution": { + "iopub.execute_input": "2024-07-23T13:50:52.613315Z", + "iopub.status.busy": "2024-07-23T13:50:52.613011Z", + "iopub.status.idle": "2024-07-23T13:50:53.176320Z", + "shell.execute_reply": "2024-07-23T13:50:53.175345Z" + }, + "executionInfo": { + "elapsed": 588, + "status": "ok", + "timestamp": 1696841049215, + "user": { + "displayName": "Rizqi Nur", + "userId": "09644007964068789560" + }, + "user_tz": -420 + }, + "id": "NgahtU1q9uLO", + "papermill": { + "duration": 0.579035, + "end_time": "2024-07-23T13:50:53.178650", + "exception": false, + "start_time": "2024-07-23T13:50:52.599615", + "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': ['tvae'],\n", + " 'fixed_role_model': 'tvae',\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-23T13:50:53.204457Z", + "iopub.status.busy": "2024-07-23T13:50:53.204150Z", + "iopub.status.idle": "2024-07-23T13:50:53.345219Z", + "shell.execute_reply": "2024-07-23T13:50:53.344230Z" + }, + "papermill": { + "duration": 0.156531, + "end_time": "2024-07-23T13:50:53.347375", + "exception": false, + "start_time": "2024-07-23T13:50:53.190844", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "../../../../ml-utility-loss/ synthetics iris\n", + "Caching in ../../../../iris/_cache_aug_train/tvae/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/tvae/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/tvae/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/tvae/all inf False\n", + "split df ratio is 1\n", + "../../../../ml-utility-loss/bs_val/iris [0, 0]\n", + "Caching in ../../../../iris/_cache_synth/tvae/all inf False\n", + "Splitting without random!\n", + "Split with reverse index!\n", + "../../../../ml-utility-loss/synthetics/iris [800, 200]\n", + "Caching in ../../../../iris/_cache_real/tvae/all inf False\n", + "split df ratio is 0\n", + "../../../../ml-utility-loss/synthetics/iris [5, 0]\n", + "[805, 200]\n", + "[805, 200]\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/opt/conda/lib/python3.10/site-packages/ml_utility_loss/loss_learning/estimator/data.py:174: FutureWarning: The default dtype for empty Series will be 'object' instead of 'float64' in a future version. Specify a dtype explicitly to silence this warning.\n", + " index = pd.Series(self.index)\n", + "/opt/conda/lib/python3.10/site-packages/ml_utility_loss/loss_learning/estimator/data.py:174: FutureWarning: The default dtype for empty Series will be 'object' instead of 'float64' in a future version. Specify a dtype explicitly to silence this warning.\n", + " index = pd.Series(self.index)\n", + "/opt/conda/lib/python3.10/site-packages/ml_utility_loss/loss_learning/estimator/data.py:174: FutureWarning: The default dtype for empty Series will be 'object' instead of 'float64' in a future version. Specify a dtype explicitly to silence this warning.\n", + " index = pd.Series(self.index)\n", + "/opt/conda/lib/python3.10/site-packages/ml_utility_loss/loss_learning/estimator/data.py:174: FutureWarning: The default dtype for empty Series will be 'object' instead of 'float64' in a future version. Specify a dtype explicitly to silence this warning.\n", + " index = pd.Series(self.index)\n" + ] + } + ], + "source": [ + "train_set, val_set = datasetsn(model=params[\"fixed_role_model\"], synth_data=params[\"synth_data\"])" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "2fcb1418", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 1000 + }, + "execution": { + "iopub.execute_input": "2024-07-23T13:50:53.375024Z", + "iopub.status.busy": "2024-07-23T13:50:53.374736Z", + "iopub.status.idle": "2024-07-23T13:50:53.651941Z", + "shell.execute_reply": "2024-07-23T13:50:53.651050Z" + }, + "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.293573, + "end_time": "2024-07-23T13:50:53.654212", + "exception": false, + "start_time": "2024-07-23T13:50:53.360639", + "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", + "['tvae'] 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-23T13:50:53.682865Z", + "iopub.status.busy": "2024-07-23T13:50:53.682045Z", + "iopub.status.idle": "2024-07-23T13:50:53.687952Z", + "shell.execute_reply": "2024-07-23T13:50:53.687040Z" + }, + "papermill": { + "duration": 0.022049, + "end_time": "2024-07-23T13:50:53.690005", + "exception": false, + "start_time": "2024-07-23T13:50:53.667956", + "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-23T13:50:53.715800Z", + "iopub.status.busy": "2024-07-23T13:50:53.715501Z", + "iopub.status.idle": "2024-07-23T13:50:53.722170Z", + "shell.execute_reply": "2024-07-23T13:50:53.721280Z" + }, + "papermill": { + "duration": 0.02178, + "end_time": "2024-07-23T13:50:53.724149", + "exception": false, + "start_time": "2024-07-23T13:50:53.702369", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "37313" + ] + }, + "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-23T13:50:53.751184Z", + "iopub.status.busy": "2024-07-23T13:50:53.750877Z", + "iopub.status.idle": "2024-07-23T13:50:53.805004Z", + "shell.execute_reply": "2024-07-23T13:50:53.804121Z" + }, + "papermill": { + "duration": 0.069432, + "end_time": "2024-07-23T13:50:53.807024", + "exception": false, + "start_time": "2024-07-23T13:50:53.737592", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "========================================================================================================================\n", + "Layer (type:depth-idx) Output Shape Param #\n", + "========================================================================================================================\n", + "MLUtilitySingle [2, 120, 24] --\n", + "├─Adapter: 1-1 [2, 120, 24] --\n", + "│ └─Sequential: 2-1 [2, 120, 32] --\n", + "│ │ └─FeedForward: 3-1 [2, 120, 32] --\n", + "│ │ │ └─Linear: 4-1 [2, 120, 32] 800\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, 24] (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: 37,313\n", + "Trainable params: 37,313\n", + "Non-trainable params: 0\n", + "Total mult-adds (M): 0.12\n", + "========================================================================================================================\n", + "Input size (MB): 0.03\n", + "Forward/backward pass size (MB): 1.57\n", + "Params size (MB): 0.15\n", + "Estimated Total Size (MB): 1.75\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-23T13:50:53.835808Z", + "iopub.status.busy": "2024-07-23T13:50:53.835531Z", + "iopub.status.idle": "2024-07-23T14:53:33.388612Z", + "shell.execute_reply": "2024-07-23T14:53:33.387490Z" + }, + "papermill": { + "duration": 3759.58557, + "end_time": "2024-07-23T14:53:33.406281", + "exception": false, + "start_time": "2024-07-23T13:50:53.820711", + "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.06877608297404295, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 0.005261059476647074, 'avg_role_model_g_mag_loss': 0.010634415943800293, '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.08941646716239289, 'n_size': 805, 'n_batch': 202, 'duration': 163.94822192192078, 'duration_batch': 0.8116248609996078, 'duration_size': 0.20366238748064694, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.034095599697902795, 'avg_role_model_std_loss': 6.351600584685802, 'avg_role_model_mean_pred_loss': 0.00010493475272623343, '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.034095599697902795, 'n_size': 200, 'n_batch': 50, 'duration': 37.24104356765747, 'duration_batch': 0.7448208713531494, 'duration_size': 0.18620521783828736, 'avg_pred_std': 0.08547119786962867}\n", + "Epoch 1\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.015433896861114302, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 0.00032223282937056256, 'avg_role_model_g_mag_loss': 0.008446617819577085, '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.017391407627161154, 'n_size': 805, 'n_batch': 202, 'duration': 158.7523865699768, 'duration_batch': 0.7859029038117664, 'duration_size': 0.19720793362730038, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.008531553433276712, 'avg_role_model_std_loss': 0.15765642361315257, 'avg_role_model_mean_pred_loss': 3.040849379608801e-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.008531553433276712, 'n_size': 200, 'n_batch': 50, 'duration': 37.24056339263916, 'duration_batch': 0.7448112678527832, 'duration_size': 0.1862028169631958, 'avg_pred_std': 0.2430392946302891}\n", + "Epoch 2\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.010663760354148039, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 0.00012477135186244681, 'avg_role_model_g_mag_loss': 0.0007410384032019177, '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.012229947218424148, 'n_size': 805, 'n_batch': 202, 'duration': 157.76356482505798, 'duration_batch': 0.7810077466587029, 'duration_size': 0.1959795836336124, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.010508495268877595, 'avg_role_model_std_loss': 0.44592022928311054, 'avg_role_model_mean_pred_loss': 9.717446186371603e-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.010508495268877595, 'n_size': 200, 'n_batch': 50, 'duration': 39.08183932304382, 'duration_batch': 0.7816367864608764, 'duration_size': 0.1954091966152191, 'avg_pred_std': 0.20174677908420563}\n", + "Epoch 3\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.008818703006672085, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 9.502739606176101e-05, 'avg_role_model_g_mag_loss': 0.0001763453683960512, '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.01001330224278503, 'n_size': 805, 'n_batch': 202, 'duration': 166.59172010421753, 'duration_batch': 0.8247114856644432, 'duration_size': 0.2069462361543075, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.006947553628124297, 'avg_role_model_std_loss': 0.10842938760491108, 'avg_role_model_mean_pred_loss': 4.9417699330298604e-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.006947553628124297, 'n_size': 200, 'n_batch': 50, 'duration': 37.944297075271606, 'duration_batch': 0.7588859415054321, 'duration_size': 0.18972148537635802, 'avg_pred_std': 0.24482785791158676}\n", + "Epoch 4\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.008917390571557193, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 0.00010001881333488584, 'avg_role_model_g_mag_loss': 0.0003420483731658933, '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.012408441647537261, 'n_size': 805, 'n_batch': 202, 'duration': 162.94966626167297, 'duration_batch': 0.8066815161468959, 'duration_size': 0.2024219456666745, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.006682257349602878, 'avg_role_model_std_loss': 0.11081521677304408, 'avg_role_model_mean_pred_loss': 3.904709093256009e-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.006682257349602878, 'n_size': 200, 'n_batch': 50, 'duration': 37.74117302894592, 'duration_batch': 0.7548234605789185, 'duration_size': 0.18870586514472962, 'avg_pred_std': 0.24536412596702575}\n", + "Epoch 5\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.008169078731168964, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 8.65085365903166e-05, 'avg_role_model_g_mag_loss': 0.0005116528125699633, '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.011378624746344566, 'n_size': 805, 'n_batch': 202, 'duration': 163.73660278320312, 'duration_batch': 0.8105772415010055, 'duration_size': 0.20339950656298525, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.007581411695573479, 'avg_role_model_std_loss': 0.13771508441298075, 'avg_role_model_mean_pred_loss': 7.607240160595552e-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.007581411695573479, 'n_size': 200, 'n_batch': 50, 'duration': 37.49194598197937, 'duration_batch': 0.7498389196395874, 'duration_size': 0.18745972990989684, 'avg_pred_std': 0.23555596098303794}\n", + "Epoch 6\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.00799623741999685, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 7.53206616539823e-05, 'avg_role_model_g_mag_loss': 0.0001221779352111846, '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.009867064752876296, 'n_size': 805, 'n_batch': 202, 'duration': 160.7129466533661, 'duration_batch': 0.795608646798842, 'duration_size': 0.1996434119917591, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.009399615051224828, 'avg_role_model_std_loss': 0.11629707709779602, 'avg_role_model_mean_pred_loss': 5.167414282201577e-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.009399615051224828, 'n_size': 200, 'n_batch': 50, 'duration': 38.275365591049194, 'duration_batch': 0.7655073118209839, 'duration_size': 0.19137682795524597, 'avg_pred_std': 0.23657408952713013}\n", + "Epoch 7\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.007882647364369957, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 9.071895482456605e-05, 'avg_role_model_g_mag_loss': 3.533323544152775e-05, 'avg_role_model_g_cos_loss': 0.0, 'avg_non_role_model_g_mag_loss': 0.0, 'avg_non_role_model_g_cos_loss': 0.0, 'avg_non_role_model_embed_loss': 0.0, 'avg_loss': 0.017877932695161424, 'n_size': 805, 'n_batch': 202, 'duration': 157.8179008960724, 'duration_batch': 0.7812767371092693, 'duration_size': 0.19604708185847503, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.006580184882041067, 'avg_role_model_std_loss': 0.08501579926347404, 'avg_role_model_mean_pred_loss': 6.5548175243606e-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.006580184882041067, 'n_size': 200, 'n_batch': 50, 'duration': 37.806416273117065, 'duration_batch': 0.7561283254623413, 'duration_size': 0.18903208136558533, 'avg_pred_std': 0.25233389586210253}\n", + "Epoch 8\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.007468372043395727, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 6.353591479371403e-05, 'avg_role_model_g_mag_loss': 0.00010482834923943007, '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.009172710965196632, 'n_size': 805, 'n_batch': 202, 'duration': 168.1236584186554, 'duration_batch': 0.8322953387062149, 'duration_size': 0.2088492651163421, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.008343770203646272, 'avg_role_model_std_loss': 0.05150121794253664, 'avg_role_model_mean_pred_loss': 5.437851250104521e-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.008343770203646272, 'n_size': 200, 'n_batch': 50, 'duration': 38.4111225605011, 'duration_batch': 0.768222451210022, 'duration_size': 0.1920556128025055, 'avg_pred_std': 0.2590739569067955}\n", + "Epoch 9\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.0070196910797450576, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 7.435747972356147e-05, 'avg_role_model_g_mag_loss': 4.942027956062222e-05, 'avg_role_model_g_cos_loss': 0.0, 'avg_non_role_model_g_mag_loss': 0.0, 'avg_non_role_model_g_cos_loss': 0.0, 'avg_non_role_model_embed_loss': 0.0, 'avg_loss': 0.010307628180837455, 'n_size': 805, 'n_batch': 202, 'duration': 159.27152681350708, 'duration_batch': 0.7884729050173618, 'duration_size': 0.19785282833976034, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.007503953352570533, 'avg_role_model_std_loss': 0.13464405912951066, 'avg_role_model_mean_pred_loss': 7.96548192935509e-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.007503953352570533, 'n_size': 200, 'n_batch': 50, 'duration': 37.175779819488525, 'duration_batch': 0.7435155963897705, 'duration_size': 0.18587889909744262, 'avg_pred_std': 0.23783099725842477}\n", + "Epoch 10\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.006977192288039032, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 6.684013115658363e-05, 'avg_role_model_g_mag_loss': 0.00042261946830690275, '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.009113721890224618, 'n_size': 805, 'n_batch': 202, 'duration': 158.27068495750427, 'duration_batch': 0.7835182423638826, 'duration_size': 0.19660954653106122, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.007390938203316182, 'avg_role_model_std_loss': 0.10047649786109104, 'avg_role_model_mean_pred_loss': 7.857542771922965e-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.007390938203316182, 'n_size': 200, 'n_batch': 50, 'duration': 37.21220827102661, 'duration_batch': 0.7442441654205322, 'duration_size': 0.18606104135513304, 'avg_pred_std': 0.24520318806171418}\n", + "Epoch 11\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.006711545143629314, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 6.264465038691593e-05, 'avg_role_model_g_mag_loss': 3.875453279625555e-05, 'avg_role_model_g_cos_loss': 0.0, 'avg_non_role_model_g_mag_loss': 0.0, 'avg_non_role_model_g_cos_loss': 0.0, 'avg_non_role_model_embed_loss': 0.0, 'avg_loss': 0.009752938129522647, 'n_size': 805, 'n_batch': 202, 'duration': 157.8668270111084, 'duration_batch': 0.7815189455995465, 'duration_size': 0.19610785964112845, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.0062049031048081816, 'avg_role_model_std_loss': 0.09077514337222965, 'avg_role_model_mean_pred_loss': 6.35516202265407e-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.0062049031048081816, 'n_size': 200, 'n_batch': 50, 'duration': 37.12565016746521, 'duration_batch': 0.7425130033493041, 'duration_size': 0.18562825083732604, 'avg_pred_std': 0.2388383489847183}\n", + "Epoch 12\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.006954703760269729, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 7.927717950878278e-05, 'avg_role_model_g_mag_loss': 5.754888309339374e-05, 'avg_role_model_g_cos_loss': 0.0, 'avg_non_role_model_g_mag_loss': 0.0, 'avg_non_role_model_g_cos_loss': 0.0, 'avg_non_role_model_embed_loss': 0.0, 'avg_loss': 0.018561436962162763, 'n_size': 805, 'n_batch': 202, 'duration': 157.16425228118896, 'duration_batch': 0.7780408528771731, 'duration_size': 0.19523509600147698, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.007789716767147184, 'avg_role_model_std_loss': 0.04399919623357, 'avg_role_model_mean_pred_loss': 0.00010375537992864281, '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.007789716767147184, 'n_size': 200, 'n_batch': 50, 'duration': 36.83195233345032, 'duration_batch': 0.7366390466690064, 'duration_size': 0.1841597616672516, 'avg_pred_std': 0.2643679800629616}\n", + "Epoch 13\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.007756865668683226, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 5.7955760979582743e-05, 'avg_role_model_g_mag_loss': 0.00021561393514275552, '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.010383801928920938, 'n_size': 805, 'n_batch': 202, 'duration': 156.91896152496338, 'duration_batch': 0.776826542202789, 'duration_size': 0.19493038698753215, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.0068127409310545775, 'avg_role_model_std_loss': 0.10835013508569319, 'avg_role_model_mean_pred_loss': 0.0001182703989836309, '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.0068127409310545775, 'n_size': 200, 'n_batch': 50, 'duration': 36.798638582229614, 'duration_batch': 0.7359727716445923, 'duration_size': 0.18399319291114807, 'avg_pred_std': 0.24877308413386345}\n", + "Epoch 14\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.0068827589516822964, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 7.125838099728713e-05, 'avg_role_model_g_mag_loss': 7.062907972783775e-05, 'avg_role_model_g_cos_loss': 0.0, 'avg_non_role_model_g_mag_loss': 0.0, 'avg_non_role_model_g_cos_loss': 0.0, 'avg_non_role_model_embed_loss': 0.0, 'avg_loss': 0.008276451657879056, 'n_size': 805, 'n_batch': 202, 'duration': 156.1541018486023, 'duration_batch': 0.7730401081613975, 'duration_size': 0.19398025074360534, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.0072668834868818526, 'avg_role_model_std_loss': 0.14801818099270803, 'avg_role_model_mean_pred_loss': 8.102651334830568e-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.0072668834868818526, 'n_size': 200, 'n_batch': 50, 'duration': 36.81609773635864, 'duration_batch': 0.7363219547271729, 'duration_size': 0.18408048868179322, 'avg_pred_std': 0.22618799045681953}\n", + "Epoch 15\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.006718653736412612, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 7.375786028588198e-05, 'avg_role_model_g_mag_loss': 0.0001409289380824714, '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.05178351103079069, 'n_size': 805, 'n_batch': 202, 'duration': 156.1664309501648, 'duration_batch': 0.7731011433176475, 'duration_size': 0.19399556639772025, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.006568357723299414, 'avg_role_model_std_loss': 0.12198326829363623, 'avg_role_model_mean_pred_loss': 5.483031678926942e-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.006568357723299414, 'n_size': 200, 'n_batch': 50, 'duration': 36.67724299430847, 'duration_batch': 0.7335448598861695, 'duration_size': 0.18338621497154237, 'avg_pred_std': 0.23499341577291488}\n", + "Epoch 16\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.006773011581480549, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 6.124409637400213e-05, 'avg_role_model_g_mag_loss': 0.00012296283941553988, '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.009347675004482315, 'n_size': 805, 'n_batch': 202, 'duration': 155.76153135299683, 'duration_batch': 0.771096689866321, 'duration_size': 0.1934925855316731, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.0075676964479498565, 'avg_role_model_std_loss': 0.10283301580817351, 'avg_role_model_mean_pred_loss': 7.000541275493101e-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.0075676964479498565, 'n_size': 200, 'n_batch': 50, 'duration': 36.513182401657104, 'duration_batch': 0.7302636480331421, 'duration_size': 0.18256591200828554, 'avg_pred_std': 0.24249120593070983}\n", + "Epoch 17\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.006813953403435555, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 4.3093009721011074e-05, 'avg_role_model_g_mag_loss': 2.4938343312614452e-05, 'avg_role_model_g_cos_loss': 0.0, 'avg_non_role_model_g_mag_loss': 0.0, 'avg_non_role_model_g_cos_loss': 0.0, 'avg_non_role_model_embed_loss': 0.0, 'avg_loss': 0.012606700300239027, 'n_size': 805, 'n_batch': 202, 'duration': 155.63718175888062, 'duration_batch': 0.7704810978162406, 'duration_size': 0.1933381139861871, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.0061530869151465595, 'avg_role_model_std_loss': 0.07821852180488122, 'avg_role_model_mean_pred_loss': 7.42635408545278e-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.0061530869151465595, 'n_size': 200, 'n_batch': 50, 'duration': 36.78648900985718, 'duration_batch': 0.7357297801971435, 'duration_size': 0.18393244504928588, 'avg_pred_std': 0.24507438510656357}\n", + "Epoch 18\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.006677932233509162, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 6.28175691769729e-05, 'avg_role_model_g_mag_loss': 9.180384323648784e-05, 'avg_role_model_g_cos_loss': 0.0, 'avg_non_role_model_g_mag_loss': 0.0, 'avg_non_role_model_g_cos_loss': 0.0, 'avg_non_role_model_embed_loss': 0.0, 'avg_loss': 0.01176442830672962, 'n_size': 805, 'n_batch': 202, 'duration': 156.40046668052673, 'duration_batch': 0.7742597360422115, 'duration_size': 0.19428629401307668, 'avg_pred_std': nan}\n", + "Time out: 3721.8056559562683/3600\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Eval loss {'role_model': 'tvae', 'n_size': 200, 'n_batch': 50, 'role_model_metrics': {'avg_loss': 0.006222890727076447, 'avg_g_mag_loss': 0.009111716059826448, 'avg_g_cos_loss': 0.004271702921832912, 'pred_duration': 0.48700737953186035, 'grad_duration': 0.27088260650634766, 'total_duration': 0.757889986038208, 'pred_std': 0.24644586443901062, 'std_loss': 0.00019139632058795542, 'mean_pred_loss': 5.291849447530694e-05, 'pred_rmse': 0.07888530194759369, 'pred_mae': 0.05737316980957985, 'pred_mape': 0.10883855074644089, 'grad_rmse': 0.0582641065120697, 'grad_mae': 0.04328439384698868, 'grad_mape': 0.7904992699623108}, '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.006222890727076447, 'avg_g_mag_loss': 0.009111716059826448, 'avg_g_cos_loss': 0.004271702921832912, 'avg_pred_duration': 0.48700737953186035, 'avg_grad_duration': 0.27088260650634766, 'avg_total_duration': 0.757889986038208, 'avg_pred_std': 0.24644586443901062, 'avg_std_loss': 0.00019139632058795542, 'avg_mean_pred_loss': 5.291849447530694e-05}, 'min_metrics': {'avg_loss': 0.006222890727076447, 'avg_g_mag_loss': 0.009111716059826448, 'avg_g_cos_loss': 0.004271702921832912, 'pred_duration': 0.48700737953186035, 'grad_duration': 0.27088260650634766, 'total_duration': 0.757889986038208, 'pred_std': 0.24644586443901062, 'std_loss': 0.00019139632058795542, 'mean_pred_loss': 5.291849447530694e-05, 'pred_rmse': 0.07888530194759369, 'pred_mae': 0.05737316980957985, 'pred_mape': 0.10883855074644089, 'grad_rmse': 0.0582641065120697, 'grad_mae': 0.04328439384698868, 'grad_mape': 0.7904992699623108}, 'model_metrics': {'tvae': {'avg_loss': 0.006222890727076447, 'avg_g_mag_loss': 0.009111716059826448, 'avg_g_cos_loss': 0.004271702921832912, 'pred_duration': 0.48700737953186035, 'grad_duration': 0.27088260650634766, 'total_duration': 0.757889986038208, 'pred_std': 0.24644586443901062, 'std_loss': 0.00019139632058795542, 'mean_pred_loss': 5.291849447530694e-05, 'pred_rmse': 0.07888530194759369, 'pred_mae': 0.05737316980957985, 'pred_mape': 0.10883855074644089, 'grad_rmse': 0.0582641065120697, 'grad_mae': 0.04328439384698868, 'grad_mape': 0.7904992699623108}}}\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-23T14:53:33.441739Z", + "iopub.status.busy": "2024-07-23T14:53:33.441410Z", + "iopub.status.idle": "2024-07-23T14:53:33.445976Z", + "shell.execute_reply": "2024-07-23T14:53:33.445086Z" + }, + "papermill": { + "duration": 0.024315, + "end_time": "2024-07-23T14:53:33.447851", + "exception": false, + "start_time": "2024-07-23T14:53:33.423536", + "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-23T14:53:33.481217Z", + "iopub.status.busy": "2024-07-23T14:53:33.480739Z", + "iopub.status.idle": "2024-07-23T14:53:33.499780Z", + "shell.execute_reply": "2024-07-23T14:53:33.499101Z" + }, + "papermill": { + "duration": 0.037955, + "end_time": "2024-07-23T14:53:33.501672", + "exception": false, + "start_time": "2024-07-23T14:53:33.463717", + "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-23T14:53:33.534802Z", + "iopub.status.busy": "2024-07-23T14:53:33.534529Z", + "iopub.status.idle": "2024-07-23T14:53:33.795487Z", + "shell.execute_reply": "2024-07-23T14:53:33.794535Z" + }, + "papermill": { + "duration": 0.27987, + "end_time": "2024-07-23T14:53:33.797417", + "exception": false, + "start_time": "2024-07-23T14:53:33.517547", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 27, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "history = loss[\"history\"]\n", + "history.to_csv(\"history.csv\")\n", + "history[[\"avg_loss_train\", \"avg_loss_test\"]].plot()" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "id": "2586ba0a", + "metadata": { + "execution": { + "iopub.execute_input": "2024-07-23T14:53:33.834177Z", + "iopub.status.busy": "2024-07-23T14:53:33.833859Z", + "iopub.status.idle": "2024-07-23T14:54:11.620503Z", + "shell.execute_reply": "2024-07-23T14:54:11.619466Z" + }, + "papermill": { + "duration": 37.807791, + "end_time": "2024-07-23T14:54:11.622921", + "exception": false, + "start_time": "2024-07-23T14:53:33.815130", + "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-23T14:54:11.659889Z", + "iopub.status.busy": "2024-07-23T14:54:11.659561Z", + "iopub.status.idle": "2024-07-23T14:54:11.679427Z", + "shell.execute_reply": "2024-07-23T14:54:11.678486Z" + }, + "papermill": { + "duration": 0.040809, + "end_time": "2024-07-23T14:54:11.681507", + "exception": false, + "start_time": "2024-07-23T14:54:11.640698", + "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
tvae0.0058380.0055890.0062230.2702650.0432840.7904990.0582640.0000530.4907470.0573730.1088390.0788850.2464460.0001910.761012
\n", + "
" + ], + "text/plain": [ + " avg_g_cos_loss avg_g_mag_loss avg_loss grad_duration grad_mae \\\n", + "tvae 0.005838 0.005589 0.006223 0.270265 0.043284 \n", + "\n", + " grad_mape grad_rmse mean_pred_loss pred_duration pred_mae \\\n", + "tvae 0.790499 0.058264 0.000053 0.490747 0.057373 \n", + "\n", + " pred_mape pred_rmse pred_std std_loss total_duration \n", + "tvae 0.108839 0.078885 0.246446 0.000191 0.761012 " + ] + }, + "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-23T14:54:11.716713Z", + "iopub.status.busy": "2024-07-23T14:54:11.715999Z", + "iopub.status.idle": "2024-07-23T14:54:11.965785Z", + "shell.execute_reply": "2024-07-23T14:54:11.964799Z" + }, + "papermill": { + "duration": 0.269425, + "end_time": "2024-07-23T14:54:11.967856", + "exception": false, + "start_time": "2024-07-23T14:54:11.698431", + "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-23T14:54:12.006785Z", + "iopub.status.busy": "2024-07-23T14:54:12.006470Z", + "iopub.status.idle": "2024-07-23T14:54:49.578697Z", + "shell.execute_reply": "2024-07-23T14:54:49.577752Z" + }, + "papermill": { + "duration": 37.595228, + "end_time": "2024-07-23T14:54:49.581207", + "exception": false, + "start_time": "2024-07-23T14:54:11.985979", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Caching in ../../../../iris/_cache_aug_test/tvae/all inf False\n", + "Caching in ../../../../iris/_cache_bs_test/tvae/all inf False\n", + "Caching in ../../../../iris/_cache_synth_test/tvae/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-23T14:54:49.619561Z", + "iopub.status.busy": "2024-07-23T14:54:49.618854Z", + "iopub.status.idle": "2024-07-23T14:54:49.632392Z", + "shell.execute_reply": "2024-07-23T14:54:49.631686Z" + }, + "papermill": { + "duration": 0.034704, + "end_time": "2024-07-23T14:54:49.634367", + "exception": false, + "start_time": "2024-07-23T14:54:49.599663", + "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-23T14:54:49.669178Z", + "iopub.status.busy": "2024-07-23T14:54:49.668886Z", + "iopub.status.idle": "2024-07-23T14:54:49.673837Z", + "shell.execute_reply": "2024-07-23T14:54:49.673000Z" + }, + "papermill": { + "duration": 0.024591, + "end_time": "2024-07-23T14:54:49.675928", + "exception": false, + "start_time": "2024-07-23T14:54:49.651337", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'tvae': 0.754961461648345}\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-23T14:54:49.710618Z", + "iopub.status.busy": "2024-07-23T14:54:49.710335Z", + "iopub.status.idle": "2024-07-23T14:54:50.065224Z", + "shell.execute_reply": "2024-07-23T14:54:50.064289Z" + }, + "papermill": { + "duration": 0.374794, + "end_time": "2024-07-23T14:54:50.067408", + "exception": false, + "start_time": "2024-07-23T14:54:49.692614", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "image/png": "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TX2/nuhkQLXRNTY2ApCcnNxtmh07djB79uxOx+bMmcOOHTu6TO92u3E6nZ0eQvSFy+3D0j7HVbE4tHFwfaXTE59gZ3RGAleN7MOYPNGlARPoAoEA9957L5dddhkXXnhht+kqKirIyMjodCwjI4OKioou069evRqHwxF85ObmhjXfYuhp8fgw+5yY+jqZ/wzGeAcpVjOZJk/Yrik0AybQLVu2jP379/P888+H9borV66ksbEx+Dh27FhYry+GnuDyTAZdeDoiOljs2rNbah3hNiCGXy9fvpzXX3+dbdu2MWzYsHOmzczMpLKystOxyspKMjMzu0xvNpsxm81hy6sQFqOebHMb8Tp9eDoiOpgdNLR4qD1+kvRULzZLiCsWi7OEVKI7fPhwWD5cVVWWL1/Oq6++yrvvvkt+fv55zykqKmLLli2djm3evJmioqKw5EmI8xmTaeOyHAO5SfFhrbpitlFW38KXR45T3eQO33VFaIGuoKCAK6+8kueee462traQP3zZsmU899xzbNiwAZvNRkVFBRUVFbS2tgbTLFq0iJUrVwZf33PPPbz11lusWbOGr776ip/97Gd8+umnLF++POR8CNFrrWGcFdHBYsek12Hyu2TQcJiFFOh2797NRRddxIoVK8jMzOTuu+9m586dvb7OunXraGxsZNasWWRlZQUfL7zwQjBNWVkZJ0+eDL6eMWMGGzZs4He/+x0TJ07k5ZdfZtOmTefswBAinFSf59RySmEu0Rn1Okw+WVI93BRVVdVQT/b5fPzlL3+huLiYt956i9GjR3P77bdz6623kpaWFs58ho3T6cThcNDY2Ijdbo92dsQgtOHdXYw99gJjhqVhvfr+8F24zUnZG7/ieEMb7st+zJVju253jnWR+BvtU6+rwWDgpptu4qWXXuKXv/wlBw8e5L777iM3N5dFixZ1KokJEQtUVcXbXIfbF0BvDWNHBIApAYNBj4KKxyWDhsOpT4Hu008/5V/+5V/Iysriscce47777uPQoUNs3ryZEydOcOONN4Yrn0IMCG3eAGavNrDdmJAS3ovrdBjah5h4WhrCe+0hLqThJY899hjr16+npKSE66+/nmeffZbrr78enU6Lm/n5+RQXFzNixIhw5lWIqGt2+zC3b3GoD2f7XDtDvB04QaC1MezXHspCCnTr1q3j9ttvZ8mSJWRlZXWZJj09nd///vd9ypwQA02L59T0r7COoWtntSczOiOBgmEy9jOcQgp0mzdvJi8vL1iC66CqKseOHSMvLw+TycTixYvDkkkhBgqX24/Z37FqSWLYr2+2OjBbzWCUcXThFFIb3ahRo6ipqTnreF1dXY8G/QoxWLW4PadKdOEcQ9ehYyUUmQYWViEFuu5GpDQ3N2OxyL6UInZZlVYcZh3xFqO2TWG4te8GduxkJc42b/ivP0T1quq6YsUKABRFYdWqVcTHn1pOxu/38/HHHzNp0qSwZlCIgeQCRwCyHVr7nC4Ca2KY7Ryrb6XOd5Icpxu7zHcNi14Fuj179gBaiW7fvn2YTKbgeyaTiYkTJ3LfffeFN4dCDCRtDdpzBDoiALDYMeoVTO5WWttkuaZw6VWge++99wC47bbbeOKJJ2RmgRhy1JZ6FIhIRwQAxniMRhPgpc3VAHS/CK3ouZB6XdevXx/ufAgxKGzeXUKKq54xwxJIiMQHKAqKxQaNLrwyaDhsehzobrrpJoqLi7Hb7dx0003nTLtx48Y+Z0yIgcbrD6C0NeDxBzAmRKjqChjiHEAFHpcMGg6XHgc6h8OBoijBr4UYarS9IprQK2AK9/Sv0xjitb8vv8yOCJseB7rTq6tSdRVDkavFhSHQhtGgQ4lUGx1gsmrXlmlg4RNSG11rayuqqgaHl5SWlvLqq68ybtw4rr322rBmUIiBos1ZC4DObAVD5KZo2RzaNDBdqgwtCZeQBgLdeOONPPvsswA0NDQwffp01qxZw4033si6devCmkEhBgpPU532RQRLcwBmayIpVjNJ+tbzJxY9EvIKw5dffjkAL7/8MpmZmZSWlvLss8/yX//1X2HNoBADhdelBTqdNcJDPoK7gcmadOESUtW1paUFm80GwDvvvMNNN92ETqfj0ksvpbS0NKwZFGKgsKnN6C0GLPbIdUQAYLbT0OKhzddGXHMLjgTZ0LqvQt4cZ9OmTRw7doy333472C5XVVUlg4hFzMq3ehif7WBUXoQ3QTeYKXP6OFLjora2OrKfNUSEFOhWrVrFfffdx4gRI7jkkkuCWw2+8847TJ48OawZFGLA6Nj5K1LTvzooCkp79dXdLD2v4RBS1fXb3/423/jGNzh58iQTJ04MHr/66qv55je/GbbMCTFg+H2obU5t+lcklmc6g87iACrxtNRH/LOGgpACHUBmZiaZmZ13KZo+fXqfMyTEQBRobeCTI7XoDGYmKBYivRhZxzLtPpkdERYhVV1dLhc//elPmTFjBgUFBYwcObLTo6e2bdvG/Pnzyc7ORlEUNm3adM70W7duRVGUsx4VFRWh3IYQPdbirCGgQpOSgNmoj/jnGa1a1VVmR4RHSCW6pUuX8v7773PrrbeSlZUVnBrWWy6Xi4kTJ3L77befd/7s6UpKSjp1eqSnp4f0+UL0lLtJGyysWhJD/n3vDWPH7Ig2WWk4HEIKdH/961954403uOyyy/r04XPnzmXu3Lm9Pi89PZ3ExMQ+fbYQveFpD3RKfIQ7ItqZJdCFVUhV16SkJJKTo7dO1qRJk8jKyuKaa67hww8/PGdat9uN0+ns9BCit7zNWqeAvp8CnSMpldEZCUxIAbrZukD0XEiB7tFHH2XVqlW0tLSEOz/nlJWVxdNPP80rr7zCK6+8Qm5uLrNmzWL37t3dnrN69WocDkfwkZsb4TFQIib5W7RZEfpIz4poZ2mfBmYzAl6ZCtZXIVVd16xZw6FDh8jIyGDEiBEYjZ0nH58r8PTFmDFjGDNmTPD1jBkzOHToEGvXruWPf/xjl+esXLkyuNcFgNPplGAneicQINA+zMOY0E81Gb0BTPHgadGmgplkdkRfhBToFixYEOZshG769Ol88MEH3b5vNpsxm2UzYNEHnibiDGCLM2NMSu23j63xWvA567A21GKzZfTb58aikALdQw89FO58hGzv3r1kZWVFOxsilrXWk+2IIzsrGbL6b9HZrxsVqHGRU1+DTSohfRLygOGGhgZefvllDh06xP33309ycjK7d+8mIyODnJycHl2jubmZgwcPBl8fOXKEvXv3kpycTF5eHitXrqS8vDy4JNTjjz9Ofn4+48ePp62tjf/93//l3Xff5Z133gn1NoQ4v9YG7bkfZkScThdnJwB4XA39+rmxKKRA99lnnzF79mwcDgdHjx7lzjvvJDk5mY0bN1JWVhYMTOfz6aefcuWVVwZfd7SlLV68mOLiYk6ePElZWVnwfY/Hw49//GPKy8uJj4/noosu4m9/+1unawgRbmprPagqSqTnuJ7BEJ+IB/C1ykiBvgop0K1YsYIlS5bwn//5n8HlmgCuv/56vve97/X4OrNmzUI9R9d5cXFxp9c/+clP+MlPftLr/ArRF96mWnYfqaPS5WJ+gYpOF/kBwwDGeAcewN8isyP6KqThJZ988gl33333WcdzcnJkOpaIOZ7mGlSgxZDYb0EOwGjVSpCBNgl0fRVSoDObzV0OvD1w4ABpaWl9zpQQA4aq4m2fFaGzRnjBzTOYE7SOD7WtCQKBfv3sWBNSoLvhhht45JFH8Hq9ACiKQllZGf/6r//Kt771rbBmUIioamvE6/WgKjrMEdzLtSvxVgcqCj6/HzzN/frZsSakQLdmzRqam5tJS0ujtbWVmTNnUlBQgM1m4+c//3m48yhE9LTW4fYFaDPYSbCY+vWjkxLMFOZlU5iRAG7pkOiLkDojHA4Hmzdv5sMPP+Qf//gHzc3NTJkyhdmzZ4c7f0JEV0sdHl+AVkMiyeaQR2OFxGzQk5aaBg1t0OYE2Tc+ZL3+yQUCAYqLi9m4cSNHjx5FURTy8/PJzMxEVdV+WcJGiH7TUofXH6DN6MBm6d9AB4C5fVSDlOj6pFdVV1VVueGGG1i6dCnl5eVMmDCB8ePHU1paypIlS2QZdRF7WmqJNxmwJ2eQGN//G0pXuE2cbGyl2VnX758dS3r1L6q4uJht27axZcuWswbpvvvuuyxYsIBnn32WRYsWhTWTQkRNax15yfHkTb4AEvt/Yv3+WhVrbQvDU+tI6PdPjx29KtH9+c9/5sEHH+xyJsJVV13FAw88wJ/+9KewZU6IqPJ7tbYxgPj+HVrSwRivNcz5Whqi8vmxoleB7rPPPuO6667r9v25c+fyj3/8o8+ZEmJAaKlDVVUCBkvUlkkyxCcCMjuir3oV6Orq6sjI6H65mIyMDOrrZXs2ESNa63C2+dhS6uPFT45FJQum9tkRfk+LVsIUIelVoPP7/RgM3Tfr6fV6fD5fnzMlxIDQUofHH6DV4CBagwni4uLxK0Z8/oC2AKcISa86I1RVZcmSJd0uZOl2u8OSKSEGhJYavL4ArcZEHNEYWgJYLUaqDFY8/iZoa4T46O3VMpj16qe3ePHi86aRHlcRM1zVuP0BWkxJ5Jj7f2gJgNWkx6NPwOt1yli6PuhVoFu/fn2k8iHEwBLwn5oVYU0mIUolOke8kYsKcrHVO6Xq2gchzXUVIua11kPAT1tAj1ufQEI/T//qYDboyc7IwGY2alVXERIJdEJ0xVUNgFPnAEWJWqADwNI+yVUCXcii+NMTYgBzVaOiYk3JIicpLjrzXNsdazVhaGzFoatBNj0MjQQ6IbriqkZBYcrY0UyJ8j7AuytV0mtbKDA0EB8IgE4qYr0l3zEhuuKq0Z6t/bePa3fMVjsBRY/X6wO3VF9DIYFOiDP5vdBajz+g4o+PfqCzWox49Al4/AFppwuRBDohztRSC6rKcRc8+fcTvH+gOqrZSTAbaDPYcPsCp/aYFb0S1UC3bds25s+fT3Z2NoqisGnTpvOes3XrVqZMmYLZbKagoOCsLRGF6LPmSgCa9EmoKJj00S0P2CxG3AYbHp+U6EIV1Z+gy+Vi4sSJPPXUUz1Kf+TIEebNm8eVV17J3r17uffee1m6dClvv/12hHMqhpQmLdDV67TpVva46PbZ2SwG3AY7Hp8f2hqimpfBKqo/wblz5zJ37twep3/66afJz89nzZo1AFxwwQV88MEHrF27ljlz5nR5jtvt7jQHt6ttGoXopOkkALWKtnKI3RKd6V8dtECXgNevEmhtkPamEAyq79mOHTvO2oBnzpw57Nixo9tzVq9ejcPhCD5yozxUQAxwgQC4qlBRqWZgBLo4o55vTCjgwhyHVF1DNKgCXUVFxVnr4WVkZOB0Omltbe3ynJUrV9LY2Bh8HDsWnXXFxCDRUgt+H14MNOvsKApRm+faQVEURg7LIcFsQOdxybp0IYj5AcNms7nbZaWEOEtzBQAtphTwaVO/9LoBsLOdMQ4MJvB5tOXdrdFZ2n2wGlSBLjMzk8rKyk7HKisrsdvtxMXFRSlXIqa0d0Qo9mwucNgwGQZGpafC6cbTYsThd+Foa5BA10uDKtAVFRXx5ptvdjq2efNmioqKopQjEXPaOyIcacO4LjMrypk55XB1M/W1OsYZ3VqgE70S1X9Xzc3N7N27l7179wLa8JG9e/dSVlYGaO1rpy/k+YMf/IDDhw/zk5/8hK+++or//u//5sUXX+RHP/pRNLIvYo3fB01a1RV7TnTzcoaE9p5XGTQcmqgGuk8//ZTJkyczefJkAFasWMHkyZNZtWoVACdPngwGPYD8/HzeeOMNNm/ezMSJE1mzZg3/+7//2+3QEiF6pbkCAj4wxtGss+EPqNHOUZA2aNgug4ZDFNWq66xZs1DV7n+Zupr1MGvWLPbs2RPBXIkhq7Fce3YM46Vdx3G2+rj54mFkJ0a//bfzNDDZaa+3BkZLqxADgfM4AAFbDs5WHwFVjfrQkg42i4E2gwNfQMXv0ubiip6TQCcEaIGjvUTXbMkkoKoYdAq2aK4sfBqzQYdqcaCi4PF4ZP+IXpJAJwRo1UGPC3R66vXaHFdHvBElWhu6nkFRFBLizLgNNtw+v1Rfe0kCnRAADaXasy2ThjatWuiIi+7UrzNdNTadKWNHYrMYobUu2tkZVCTQCQFQf1R7TsqnsVWbYjXQAt2wpHgcyZnoFQVaJND1hgQ6IVT1tEA3gob2QJcYb4penroTpy00IFXX3hkYLa1CRFNTBXjbtLmk9myGJzdh0iuk2wbWHGmX28eRBj3Jja1kWyXQ9YYEOiHqj2jPicNBp2dibiITcxOjmqWutHj8bDvmY3pDK9lJ9dqSUrIjWI/Id0mImgPac8qo6ObjPBxxRtz6BDwBBZ/PC25ZRLanJNCJoa2tEZwnQVEgpZAWj4+GFg+BATT9q4PJoCPebKTNYG+fISEdEj0lVVfRL3z+AMfrW6lwtuH1B0gwGxiRYiXJGuUG/5qvtWd7DpgT+LK0nm0HqhmTaeP6CQNn9ZIOjjgjrYZE3N4arC11kDwy2lkaFCTQiYjz+gP8YftRmtp8Z7xTTV5yPJePTiXdZolK3qj6UntOGwNAncsDQGL8wBpa0sERZ8RlTKTNV3Vqk21xXlJ1FRFn1OvITY4nwWzggiw7k/MSGZ4Sj05RKKtr4a39FdGpKrpqofG4Vm1NGwtAfXugS452SbMbjjgjrcYk3F4/tEig6ykp0YmIaGz1YjbosBj1AMwcnYZRr+u0LHljq5cPvq5h2ogkdNFYrrziH9pz8iiw2FFVldoBHujs7YGurTUArmptDOAAmaY2kEmJToRdY6uXlz49xl/2nsDrDwBgMerP2nvBEWdk3kVZpNtPVVub3WdWbyPE74OKfdrXWRMBaPX6afP6URRIGoiDhYH8VCs3FE2gIN2mjf3zuKKdpUFBAp0Iqzavn9f2ltPU5qPN59cWiuyhg1XN/GH7UfaX98PCkpX7wNMCZltwWElts1aas1uMGPUD80/DajaQmWzDaNUWHsBVHd0MDRID86cpBqVAQOX1z05S2+zBZjHwzck5WHuxzFGVsw2PL8CWL6uoaGyLYEb9UPax9nXuJaDTqtcDvdraiTVVe26pjW4+BgkJdCJsPjpcy7G6FkwGHTdMytZW2eiFolEpFKQnEFBV/rr/pLYcUSSU79Lmiprig9VWgCyHhUvykxmTaYvM54bJ15VN7K0z0NTmlRJdD0mgE2FxtMbFzqPaANbZF2SENFxEURSuGZeBzWKgocXLe19F4I+4tQGO/l37On+mNr+1XYbdwoyCVC7Isof/c8PoUHUzn9WbcLb5ZIhJD0mvq+izQEDlvZIqVBUm5jr6VCKyGPXMnZDFy58cofLQP6ho3UGmUq+tqOtzg94IpgRISNcG+aYUQFxizy7u98IXm7RNoO3ZnUpzg0lSvIlSYyKtrvYhJtLzel4S6ESf6XQK35ycw0eH67iiMK1vF/O2klP3MfNdH1BZ28CJBh2pwxwYOiavB/xab6OrBiq/gK83Q0KaNg4ubeyptquzrtsGn7+qTfcymGHcjZ2Cg8vto6rJTZrNTMIAWT69O0lWE63GRFq9Ae2+3E1gGdil0GgbED/Rp556il/96ldUVFQwceJEnnzySaZPn95l2uLiYm677bZOx8xmM21tEWy8FueVGG/iugszQ79AIKC1nR3dBj4Pw+06alrsGLPHoY4dBwmpWoDye7X5qU0V2hpyjceguVp7HPk7xKdosxwS88Di0NI3lMKxnVpA0BthwrfPKgV2DFzOSYzjO9Ny+/S9iLSkeBOqYqAOGyoqSnOVBLrziHqge+GFF1ixYgVPP/00l1xyCY8//jhz5syhpKSE9PT0Ls+x2+2UlJQEXw+Udf2HmrLaFgDyUuL7diFXLXz1f1ppCyAhDf2Iy5lyxSgMhi5+Ra2p2pCQEZdpQ0Rqv4bqA9pySy21ULpde5wpLkkrydnPnsNa3eQGINU28Htck+KNKAo06lPw+mswNVdAakG0szWgRT3QPfbYY9x5553BUtrTTz/NG2+8wTPPPMMDDzzQ5TmKopCZ2YfSg+izpjYvb+4/SZvXzw0TsxmZlhDahWq+hi//orWbGUww8krIngyK0umXs2P/37P+qXX0nGZN1KpxdYe0ZZeaq7VljHQGsKZB+ljIvEgr0XWhYzhLhj1Kc257waDXYbcYcZlSafVUYmqqiHaWBryoBjqPx8OuXbtYuXJl8JhOp2P27Nns2LGj2/Oam5sZPnw4gUCAKVOm8B//8R+MHz++y7Rutxu32x187XTKGl59FQio/HV/Ba0eP2k2M3nJIZToVBVKP9SqmwCJuXDBDV1Wwaqa2thaUs2F2Q7GZZ+jima0QMZ47dEL/oBKpVMLdNmO6G9W3RMpCSaq61Np8/pxNFdGOzsDXlSHl9TU1OD3+8nIyOh0PCMjg4qKrv9LjRkzhmeeeYbXXnuN5557jkAgwIwZMzh+/HiX6VevXo3D4Qg+cnMHdvvLYPD3gzWU17diMuiYNyELQ29nEfjc8PnGU0EuZypMvKXbdqay2hbK61v54GB1RMbWVTe58QVULEb9gF215EyzRqfzz1dP00qgbU6ZCnYeUa+69lZRURFFRUXB1zNmzOCCCy7gt7/9LY8++uhZ6VeuXMmKFSuCr51OpwQ70OZ6Vn+pNei3tVfx4lMgZSQkjuh2ie795Y3sLtX2K7h2XEbv15NrqYP9r2i9pjo9FF4L2ZPOecqk3ET2lzdS3+Jl55E6Lu9rz+4ZTjS2AtqA4cHS3uuINwJGiE/WvqfNlbI23TlENdClpqai1+uprOxc9K6srOxxG5zRaGTy5MkcPHiwy/fNZjNm88Da5CSqVBWqvoCDW84uBdQdhuOfaI32w4u0Nq3T/vBLa11s+bIK0GYxFGb0crxc3WH44jWtLc2cAOO/CY5h5z3NoNcxc0w6m/aUs6esgfHZjrBO0+pon8tyDPz2ubMkZGiBrqlCAt05RLXqajKZmDp1Klu2bAkeCwQCbNmypVOp7Vz8fj/79u0jK2vgrQY74AQCUPImfPEXLchZ7DB8htYTOWauVrIyWrTpUV+9Cbv/cKonFChvaCWgqozJtHFJfnLPP1dVoewj+OxFLcjZs2Hqkh4FuQ75qVZGplnxB1TeP1AV7JwIh28UpnLNuAxGpYfYoRIlHx2u5f0KPa1ePzhPRDs7A1rUq64rVqxg8eLFXHzxxUyfPp3HH38cl8sV7IVdtGgROTk5rF69GoBHHnmESy+9lIKCAhoaGvjVr35FaWkpS5cujeZtDHwBvzZgtuZrrZQ24huQVxSc0K6ZBKOuhhO7tY4C50kt2OVcDPmXUzQyhaR4E6MzbD2v4vnc8NXr2vAPgKyLoHAO6Hv/qzdzdBqltS0crWnhULWLgjAFJrvFyIU5jrBcqz+V1rpwtiYyXvUR5yyXGRLnEPVAt3DhQqqrq1m1ahUVFRVMmjSJt956K9hBUVZWhu609qL6+nruvPNOKioqSEpKYurUqWzfvp1x48ZF6xYGPlWFkr9qQU5ngPELILWw67QGE+RdChnjCXy9hapDe0j1f4yh+iuUwmu5IGt0zz+3oUwrGbbWt7fHXQNZk0L+Y0yMNzF1eBI7j9Tx+YnGsAW6wSrNZuZkfSrNzZDqadG+z/G9KGkPIYoazjrAIOB0OnE4HDQ2NmK3D5HR5Ec/hCPbQNFpswJ6sK1flbON90qqcJ08yMWenUxICaCgaAFy1FXn/oNqc2olwhN7tdcWu9YeZ8/u8614fAFKKpoYn20Py6rEHx2uxWTQMSbD1qslpQaCfccb+duXlVze/DYXJzbD2OsH7fzd00Xib3Rw/WRF7zlPwtEPtK8LrzlnkFNVlfKGVv5xrJEDlU0AmGx56AouAs9+OPaxViqsPahNpk8bA7ZsbdCurw2aq6D6K62aGmhfKTh7kjYI2Biehn6TQceEYeGpZnr9AT49WofXrzIsKW7QBboMh9bJVq4mM1VtQmk8HhOBLhIG109W9E7ADyVvgBqA9AsgZ0q3Sb886eSTo3XBVXYVBcZm2phRkIrdYgRmaQNxD2/VAl3N16e2CuxKYi7kX6HNOY0Qnz/AoWpXyKullNa24PWr2CwG0hIGX898qtWMyaCjzpBOi/cw1sbyaGdpwJJAF8tKP9SmQpnitfFqpzlzSlWz20dtsweTQcfoDBuTchNJs53xx5+QBhfd3L5yyOfacJHWOm36lk6vjcNLzIP0cVo1NYIN4z5/gD99XEady4PZoGNEqrXX1zhYpZVaC3vTuTKA6HQKGXYLJ9wZNLf5sLbUgrtZG7ojOpFAF6uaKqG0fRpd4bVasEMLcAcqm9l5pJaiUanBBv0LsuyYDTrGZNowG/TdXVVjTYWRM7WHqmolRkXXrz1+Br0W3OpcHrZ8VcX3L807f75P420vDQIUDuJOjSyHhaqmeNqUNKBJGwCeeWG0szXgyArDsSjg14Z0qAGtHS39AgBqm928vOs4b+47SU2zh73HGoKnJJgNXDQssVfBAtCCm04flWENl45Mxh5nxNnq5e8HerfS7oHKJjy+AI444+AcKNxuen4y/9/MUQwvaJ/fW38kuhkaoCTQxaKyj7SOAaMlWGXdX97In3eWcby+FaNe4dKRKfzTRYN7kLXZoOfacdowpH3ljRyt6fl8z46dxi7McQzKamsHo16n5T85XztQd0QrZYtOJNDFmuZqrW0OoOAaAkYrm7+oZPMXlXj9KsNT4rm1aARFo1KCm0sPZrnJ8UzKSwTgnS8qtA1jzsPnD2C3GDHoFMafazWUQUS15+BX9NqMl+aqaGdnwJE2ulgSCGhV1oBfG++WMZ5DVc3sL29EUWDGqFSmjUga1CWYrnyjIJXj9a3UNLl5r6SaGyaee7yeQa9j7oQsWjw+4k2D/0/gYFUT7x+oYVprEhdZarSFSG0Z5z9xCJESXSw5vlOb3G0ww+g5oCgUpCcwPT+Z+ROzmZ6fHHNBDrTq2w0XZTMyzcpVY7telborsRDkAEx6Pc5WL4fUHFRUqC45/0lDjAS6WOGqDa7v5ht5NT6DNtxCURQuK0hlVKgrAA8SjngjN07KCW5so6oqXn+gU5oqZxuv7S2nseX81dvBJDvRgkGncFw3jBavqlVdW+qina0BRQJdLAgEtIHBAR+BpHzeqErhtb0n8PgC5z83Rn12vJFnd5Ty2fEGKp1t7Cmr56Vdxzlc7WLrgdhqwzLodeSlxOPTWzhB+1p9UqrrJDbK7kPd8U+gsZyA3sTfAlM4XNuCQadQ5/KQOYiHToTKH1DZU1aPs9UbXD+vw7CkOOaMj739RgrTbRyudnFAzaWQWqjYpy3OEINNFaGQQDfYNVfDkW2oqHyim8TntaDXKcyfmD0kgxxo9/+9S4azr7yBryubaWrzYbMYGJtlZ0KOA30YFgMYaEamWdEpCofIpSXwGfEttdB4XJuKJyTQDWoBv7ZNYMDH174MtnuHoejgugszQ5oSFUtMBh1ThyczdfjQWLbIYtQzPCWeIzUqpbo8LuAonNwrga6dtNENZkc/gKZKyl0q7/imgKJw9dgMRvd2iXMREyYMczAhx0HamEu0A1VfaktmCQl0g1btISjbgdcf4O9MwWuwMmNUStiWMBKDz6i0BGaPyyA1e6RWkgv4tSFHQgLdoNTaoG36rKoYc6dy1cxZXDoyhem92cdBxLa89j1XTuzRVjQZ4iTQDTbeNtj/Mj53C9izoGA26TYLRaNSYnIwsOi9mmY3b5bHUa1L0ba1PPxetLMUdRLoBhO/F/a/TNXJY3x8wsPJYXND2mRGxLYvTzopqWzm/cBEAgAV+6G+NNrZiioJdIOFz4362QuUHS7hQK2H/cnXUdIgJThxtouHJxNn0nPMl8RBffvS+V/+H3haopuxKJJANxi0NtD26R/56svPKXP6+CptLheNHc3M0eHdsV7EhjiTPvi78XbbhdSTAO4mbbtLf2xNf+spCXQDnFpdQuV7T7P/qxJq3Hq+zpzPZVMnSZucOKexmTZGZ9jwKQb+4ruEZr9e235y/0Ztr90hZkAEuqeeeooRI0ZgsVi45JJL2Lnz3F3iL730EmPHjsVisTBhwgTefPPNfsppP2qugs9eonHn8xw+WUODPoUTBQu54fKpXJAVG2uoichRFIVrxmWQYbdQRyKv+opo9qHt87H7WRhiG+lEPdC98MILrFixgoceeojdu3czceJE5syZQ1VV1xOvt2/fzi233MIdd9zBnj17WLBgAQsWLGD//v39nPPwU71t1B/Zzclt6+GT30PtQRxWC2ruJTguu51vzRhPyiDcrUpEh8mg46YpOWQnWlAduZinLdI2znHVwJ4/wuebtGliQ2BF4qhvYH3JJZcwbdo0fvOb3wAQCATIzc3l//2//8cDDzxwVvqFCxficrl4/fXXg8cuvfRSJk2axNNPP33ez4vqBtaqCn4P+Ny4Wlw4G2ppddbS5qzCU3ccb0MFPr8fvQJTR6Sgz7gARnwDNV6qqSJ0Pn8Al8ePI84Inha8X/+Nr/ZsJ8FiIMFswGR1YErJx5iYhT4hFcVsA1MCGCyg6/+yUMxtYO3xeNi1axcrV64MHtPpdMyePZsdO3Z0ec6OHTtYsWJFp2Nz5sxh06ZNXaZ3u9243afaJJzOHk6JcdXAF5s4WNVEbXP7+aravk2gGnx98fBEDO2TxA9VNVHd1IYKKKjtO2Sp2mtVZeqweIztaStrmql0nt1W4jYlYswch2vyN7AnaYtISogTfWHQ63DEtQcsUzxfJ81ie1IqWU37SHYeRV9VDke0qqwC5KdaybBrC0I4PQEOVLehKob2oKcEV0RRUchNTiArMa7nmRk7T9sKs59FNdDV1NTg9/vJyOi87HNGRgZfffVVl+dUVFR0mb6ioqLL9KtXr+bhhx/ufeb8XmiuRm1uItC+qXOX2pRT//XczajtQfXMYrIK+P0WjDo9KDr0Ziuq1YHBmojBmoI5OYfkrHzSUlIx9HYnLiF6YWSaFf3UCZxoLOBkowu1oQxd00ni3DVYfE5Uo46O3+CA34fX3drttVRLGxh7Eeii1Osb86NNV65c2akE6HQ6yc3twYoO8ckw8buktHixegPB/2KKAkpwD1MFnc0c/E+X1ubF4VNBp72nnaKgKAqKosOYYNV25tIbGa4oDI/A/QpxPhajnjGZNsZkdiz+kE8goOLxB/D6A5gMOq313u/B0tZGfrMLNeBDDfgh0FGj0QKhzWIAk17bWrMnEnq+1H04RTXQpaamotfrqays7HS8srKSzMyuF0fMzMzsVXqz2YzZHEIDvsEMyfkk92L6aH83+QkRLjqdgkWn77wznC4OizGOTFtS9DIWJlHtdTWZTEydOpUtW7YEjwUCAbZs2UJRUVGX5xQVFXVKD7B58+Zu0wshRNSrritWrGDx4sVcfPHFTJ8+nccffxyXy8Vtt90GwKJFi8jJyWH16tUA3HPPPcycOZM1a9Ywb948nn/+eT799FN+97vfRfM2hBADWNQD3cKFC6murmbVqlVUVFQwadIk3nrrrWCHQ1lZGbrTurhnzJjBhg0b+Ld/+zcefPBBCgsL2bRpExdeeGG0bkEIMcBFfRxdf4vqODohxHlF4m806jMjhBAi0iTQCSFingQ6IUTMi3pnRH/raJLs8VQwIUS/6vjbDGf3wZALdE1NTQA9mx0hhIiapqYmHI7w7Go35HpdA4EAJ06cwGazDYoVQTqmrB07dmzI9RIP1XsfqvcNp+79iy++YMyYMZ2GlvXFkCvR6XQ6hg0bFu1s9Jrdbh9yv/Qdhuq9D9X7BsjJyQlbkAPpjBBCDAES6IQQMU8C3QBnNpt56KGHQluBZZAbqvc+VO8bInfvQ64zQggx9EiJTggR8yTQCSFingQ6IUTMk0AnhIh5EugGgKeeeooRI0ZgsVi45JJL2Llz5znTv/TSS4wdOxaLxcKECRN48803+ymn4debey8uLm7faOjUw2Kx9GNuw2Pbtm3Mnz+f7OxsFEXpdqvO023dupUpU6ZgNpspKCiguLg44vmMhN7e+9atW8/6mSuK0u2uf92RQBdlL7zwAitWrOChhx5i9+7dTJw4kTlz5lBVVdVl+u3bt3PLLbdwxx13sGfPHhYsWMCCBQvYv39/P+e873p776DNFjh58mTwUVpa2o85Dg+Xy8XEiRN56qmnepT+yJEjzJs3jyuvvJK9e/dy7733snTpUt5+++0I5zT8envvHUpKSjr93NPTe7mbmCqiavr06eqyZcuCr/1+v5qdna2uXr26y/Tf+c531Hnz5nU6dskll6h33313RPMZCb299/Xr16sOh6Ofctc/APXVV189Z5qf/OQn6vjx4zsdW7hwoTpnzpwI5izyenLv7733ngqo9fX1ffosKdFFkcfjYdeuXcyePTt4TKfTMXv2bHbs2NHlOTt27OiUHmDOnDndph+oQrl3gObmZoYPH05ubi433ngjn3/+eX9kN6pi5WfeF5MmTSIrK4trrrmGDz/8sNfnS6CLopqaGvx+f3AjoA4ZGRndtkFUVFT0Kv1AFcq9jxkzhmeeeYbXXnuN5557jkAgwIwZMzh+/Hh/ZDlquvuZO51OWltbo5Sr/pGVlcXTTz/NK6+8wiuvvEJubi6zZs1i9+7dvbrOkFu9RAxeRUVFnfbvnTFjBhdccAG//e1vefTRR6OYMxEpY8aMYcyYMcHXM2bM4NChQ6xdu5Y//vGPPb6OlOiiKDU1Fb1eT2VlZafjlZWVZGZmdnlOZmZmr9IPVKHc+5mMRiOTJ0/m4MGDkcjigNHdz9xutxMXFxelXEXP9OnTe/0zl0AXRSaTialTp7Jly5bgsUAgwJYtWzqVXE5XVFTUKT3A5s2bu00/UIVy72fy+/3s27ePrKysSGVzQIiVn3m47N27t/c/8z51ZYg+e/7551Wz2awWFxerX3zxhXrXXXepiYmJakVFhaqqqnrrrbeqDzzwQDD9hx9+qBoMBvXXv/61+uWXX6oPPfSQajQa1X379kXrFkLW23t/+OGH1bfffls9dOiQumvXLvW73/2uarFY1M8//zxatxCSpqYmdc+ePeqePXtUQH3sscfUPXv2qKWlpaqqquoDDzyg3nrrrcH0hw8fVuPj49X7779f/fLLL9WnnnpK1ev16ltvvRWtWwhZb+997dq16qZNm9Svv/5a3bdvn3rPPfeoOp1O/dvf/tarz5VANwA8+eSTal5enmoymdTp06erH330UfC9mTNnqosXL+6U/sUXX1RHjx6tmkwmdfz48eobb7zRzzkOn97c+7333htMm5GRoV5//fXq7t27o5DrvukYMnHmo+NeFy9erM6cOfOscyZNmqSaTCZ15MiR6vr16/s93+HQ23v/5S9/qY4aNUq1WCxqcnKyOmvWLPXdd9/t9efKMk1CiJgnbXRCiJgngU4IEfMk0AkhYp4EOiFEzJNAJ4SIeRLohBAxTwKdECLmSaATQsQ8CXQi5hUXF5OYmBh8/bOf/YxJkyYFXy9ZsoQFCxb0e75E/5FAJ8JmyZIlKIrCD37wg7PeW7ZsGYqisGTJkk7pwx1gRowYweOPP97p2MKFCzlw4EC35zzxxBOd9mCYNWsW9957b1jzJaJLAp0Iq9zcXJ5//vlOC0K2tbWxYcMG8vLyopKnuLi4c+4x4HA4OpX4ROyRQCfCasqUKeTm5rJx48bgsY0bN5KXl8fkyZP7dO2uSloLFiwIlhJnzZpFaWkpP/rRj4K7RcHZVdcznV6yXLJkCe+//z5PPPFE8BpHjhyhoKCAX//6153O27t3L4qixPx6eLFAAp0Iu9tvv53169cHXz/zzDPcdtttEf/cjRs3MmzYMB555JHgblG99cQTT1BUVMSdd94ZvEZeXt5Z9wSwfv16rrjiCgoKCsJ1CyJCJNCJsPv+97/PBx98QGlpKaWlpXz44Yd8//vfj/jnJicno9frsdlsZGZmhrTqssPhwGQyER8fH7yGXq9nyZIllJSUBPed9Xq9bNiwgdtvvz3ctyEiQPaMEGGXlpbGvHnzKC4uRlVV5s2bR2pqarSz1SfZ2dnMmzePZ555hunTp/N///d/uN1ubr755mhnTfSAlOhERNx+++0UFxfzhz/8IWylHp1Ox5nLJ3q93rBcuyeWLl0a7GhZv349CxcuJD4+vt8+X4ROAp2IiOuuuw6Px4PX62XOnDlhuWZaWlqndje/38/+/fs7pTGZTPj9/j59TnfXuP7667Faraxbt4633npLqq2DiFRdRUTo9Xq+/PLL4NfdaWxsZO/evZ2OpaSkkJube1baq666ihUrVvDGG28watQoHnvsMRoaGjqlGTFiBNu2beO73/0uZrM5pCrziBEj+Pjjjzl69CgJCQkkJyej0+mCbXUrV66ksLBwyG5OMxhJiU5EjN1ux263nzPN1q1bmTx5cqfHww8/3GXa22+/ncWLF7No0SJmzpzJyJEjufLKKzuleeSRRzh69CijRo0iLS0tpHzfd9996PV6xo0bR1paGmVlZcH37rjjDjweT7/0IovwkT0jhOiFv//971x99dUcO3aMjIyMaGdH9JAEOiF6wO12U11dzeLFi8nMzORPf/pTtLMkekGqrkL0wJ///GeGDx9OQ0MD//mf/xnt7IhekhKdECLmSYlOCBHzJNAJIWKeBDohRMyTQCeEiHkS6IQQMU8CnRAi5kmgE0LEPAl0QoiY9/8DnRh2qdEneI8AAAAASUVORK5CYII=", + "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-23T14:54:50.105601Z", + "iopub.status.busy": "2024-07-23T14:54:50.105265Z", + "iopub.status.idle": "2024-07-23T14:54:50.401692Z", + "shell.execute_reply": "2024-07-23T14:54:50.400731Z" + }, + "papermill": { + "duration": 0.318315, + "end_time": "2024-07-23T14:54:50.403998", + "exception": false, + "start_time": "2024-07-23T14:54:50.085683", + "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-23T14:54:50.443733Z", + "iopub.status.busy": "2024-07-23T14:54:50.443422Z", + "iopub.status.idle": "2024-07-23T14:54:50.677716Z", + "shell.execute_reply": "2024-07-23T14:54:50.676869Z" + }, + "papermill": { + "duration": 0.256171, + "end_time": "2024-07-23T14:54:50.679748", + "exception": false, + "start_time": "2024-07-23T14:54:50.423577", + "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-23T14:54:50.719687Z", + "iopub.status.busy": "2024-07-23T14:54:50.719385Z", + "iopub.status.idle": "2024-07-23T14:54:50.946504Z", + "shell.execute_reply": "2024-07-23T14:54:50.945559Z" + }, + "papermill": { + "duration": 0.250233, + "end_time": "2024-07-23T14:54:50.948928", + "exception": false, + "start_time": "2024-07-23T14:54:50.698695", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAATgAAAEmCAYAAAD2o4yBAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuNSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/xnp5ZAAAACXBIWXMAAA9hAAAPYQGoP6dpAABhJ0lEQVR4nO2dd3yT1f7H39npomVJW1ooCMoUFGgpDlSqVVAERRFlo6gIeu0VBa6KG64XEEUE8V7EAYIgqD9EFKqgbCh7qGwKtAVEWjoznvP7I83TpE1HSmd63q9XXpAn53lykiaffM/5Lo0QQiCRSCQ+iLa6JyCRSCSVhRQ4iUTis0iBk0gkPosUOIlE4rNIgZNIJD6LFDiJROKzSIGTSCQ+ixQ4iUTis+irewI1EUVROHv2LEFBQWg0muqejkQiKYQQgsuXLxMeHo5WW7ydJgXOA2fPniUyMrK6pyGRSEohOTmZiIiIYh+XAueBoKAgwPHm1atXr5pnI5FICpORkUFkZKT6XS0OKXAecC5L69WrJwVOIqnBlLaFJJ0MEonEZ5ECJ5FIfBYpcBKJxGeRe3DlRAiBzWbDbrdX91QkFYROp0Ov18vQIB9CClw5sFgspKSkkJ2dXd1TkVQw/v7+hIWFYTQaq3sqkgpACpyXKIrC8ePH0el0hIeHYzQa5S++DyCEwGKxcP78eY4fP07r1q1LDCCV1A6kwHmJxWJBURQiIyPx9/ev7ulIKhA/Pz8MBgMnT57EYrFgNpure0pVzoe/HOHTzScYd3trBndvXt3TuWLkT1Q5kb/uvkld/7t+svEEaRl5fPjLkeqeSoVQt/+aEolERQjBgK4RNA40MfzGqOqeToUgl6gSiQQARUDvDmH07hBGg0DfcLJIC05Spxg+fDj9+vWr7mnUSFw7iOZYfCP8qdoFbvbs2URFRWE2m4mJiWHbtm3Fjj1w4AAPPPAAUVFRaDQaZs6cWWTMlClT6NatG0FBQVx11VX069ePP/74oxJfQe3h1ltv5R//+Ed1T0NSQ1FcOiTnWu34QsvkahW4JUuWkJCQwOTJk9m5cyedOnUiPj6ec+fOeRyfnZ1Ny5YtmTp1KqGhoR7HrF+/nqeffpotW7awZs0arFYrd955J1lZWZX5UiRViNVqre4p+CSKi6AJAblWpRpnU0GIaiQ6Olo8/fTT6n273S7Cw8PFlClTSj23efPm4t133y113Llz5wQg1q9fX+Z5paenC0Ckp6cXeSwnJ0ccPHhQ5OTklPl6NYFhw4YJwO3WtGlT8eGHH7qN27lzp9BoNOLEiRNCCCGmT58uOnToIPz9/UVERIR46qmnxOXLl93O+e2338RNN90kzGaziIiIEOPGjROZmZllmtfZs2dF7969hdlsFlFRUWLhwoVF/raA+PDDD8W9994r/P39xeTJk4XNZhMjR44UUVFRwmw2i2uuuUbMnDnT7do2m00899xzIjg4WDRo0ECMHz9eDB06VNx3333Fzqe2/n0rghyLTexNvqTe/srMq+4pFUtJ31FXqs2Cs1gsJCUlERcXpx7TarXExcWxefPmCnue9PR0ABo0aFDsmLy8PDIyMtxuvsZ7771HbGwsjz/+OCkpKaSkpDBo0CAWLVrkNm7hwoXceOONNG/uiIHSarW8//77HDhwgE8//ZSff/6ZF154QR1/9OhR7rrrLh544AH27t3LkiVL2LBhA2PHji3TvIYOHcrZs2dZt24dX3/9NfPmzfNowb/66qv079+fffv2MXLkSBRFISIigqVLl3Lw4EFeeeUVJk2axFdffaWeM336dBYsWMD8+fPZsGEDFy9eZMWKFeV5++oESqElabbFVk0zqUCqSHCLcObMGQGITZs2uR0fP368iI6OLvX8slhwdrtd9OnTR9x4440ljps8eXIR6wYfs+CEEKJnz57i2WefVe/v2rVLaDQacfLkSSGE4/1q2rSpmDNnTrHXWLp0qWjYsKF6f9SoUWL06NFuY3777Teh1WpLfY8OHTokALF9+3b12OHDhwVQxIL7xz/+Uerre/rpp8UDDzyg3g8LCxPvvPOOet9qtYqIiAhpwRXD5VyrmwV3OC2juqdULDXegqsKnn76afbv38/ixYtLHDdx4kTS09PVW3JycpXM74stJ7lx6s98seVklTxfYTp37kzbtm1VK279+vWcO3eOBx98UB2zdu1aevXqRdOmTQkKCmLIkCH89ddfah7unj17WLBgAYGBgeotPj5eTWkriT/++AO9Xs8NN9ygHmvVqhX169cvMrZr165Fjs2ePZsuXbrQuHFjAgMDmTdvHqdOnQIclntKSgoxMTHqeL1e7/E6Egci34LTaR2ph7lWBUWp3Y6GahO4Ro0aodPpSEtLczuelpZWrAPBG8aOHcvKlSv5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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.01955, + "end_time": "2024-07-23T14:54:50.988685", + "exception": false, + "start_time": "2024-07-23T14:54:50.969135", + "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": 3851.812533, + "end_time": "2024-07-23T14:54:53.424159", + "environment_variables": {}, + "exception": null, + "input_path": "eval/iris/tvae/1/mlu-eval.ipynb", + "output_path": "eval/iris/tvae/1/mlu-eval.ipynb", + "parameters": { + "allow_same_prediction": true, + "dataset": "iris", + "dataset_name": "iris", + "debug": false, + "folder": "eval", + "gp": true, + "gp_multiply": true, + "log_wandb": false, + "param_index": 0, + "path": "eval/iris/tvae/1", + "path_prefix": "../../../../", + "random_seed": 1, + "single_model": "tvae" + }, + "start_time": "2024-07-23T13:50:41.611626", + "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/tvae/1/model.pt b/iris/tvae/1/model.pt new file mode 100644 index 0000000000000000000000000000000000000000..c09bebffb0dd7b595098627682eaeb3e18a4a995 --- /dev/null +++ b/iris/tvae/1/model.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:198703fda9349a9d046b757a498158c4e97dd1b9716b4ba504e71243da058583 +size 179081 diff --git a/iris/tvae/1/params.json b/iris/tvae/1/params.json new file mode 100644 index 0000000000000000000000000000000000000000..1d5886d62b72719a58e39d0694253677a858e63c --- /dev/null +++ b/iris/tvae/1/params.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:39bc36cfd8c2c9f5565a7fc14cfe5481f1c12770262e5ace564927f834e08b7b +size 1885 diff --git a/iris/tvae/1/pred/error.csv b/iris/tvae/1/pred/error.csv new file mode 100644 index 0000000000000000000000000000000000000000..bcdb0edb64b3ed4f31e1236070e91efbe86e4115 --- /dev/null +++ b/iris/tvae/1/pred/error.csv @@ -0,0 +1,201 @@ +,tvae +0,-0.01538083 +1,0.117553055 +2,0.014043152 +3,-0.06353009 +4,0.02122055 +5,0.19644651 +6,-0.054805458 +7,-0.12853992 +8,-0.027121305 +9,-0.15348697 +10,-0.005889952 +11,0.038989723 +12,0.0008083582 +13,-0.04142505 +14,0.09160066 +15,0.10659808 +16,-0.012252361 +17,0.0065739453 +18,0.04863119 +19,-0.05960262 +20,-0.019528225 +21,0.29066366 +22,0.008405924 +23,-0.06268239 +24,0.018745735 +25,0.06816059 +26,-0.05730021 +27,-0.08838743 +28,-0.020893961 +29,0.097554564 +30,0.037394285 +31,-0.0024920702 +32,-0.0020830333 +33,0.27539486 +34,-0.050793767 +35,-0.0004877448 +36,-0.009786427 +37,0.11643171 +38,0.06991899 +39,-0.11147159 +40,0.0023367703 +41,-0.035437107 +42,-0.032591224 +43,0.11625016 +44,0.06100732 +45,0.02106303 +46,-0.066782 +47,-0.061936438 +48,-0.014021575 +49,0.10206401 +50,-0.021258175 +51,0.12581468 +52,0.0048758835 +53,0.16403401 +54,-0.058971882 +55,0.06063664 +56,0.15758438 +57,0.14178437 +58,-0.011879444 +59,0.110266864 +60,-0.054337204 +61,0.010975897 +62,-0.035452485 +63,-0.017347991 +64,-0.15040925 +65,0.040835857 +66,-0.0028799176 +67,-0.039153576 +68,-0.047489345 +69,-0.01702857 +70,0.045113623 +71,0.17411554 +72,-0.05593133 +73,-0.020531178 +74,-0.0071338415 +75,-0.053694844 +76,-0.11445433 +77,0.019848406 +78,0.055616915 +79,-0.002688706 +80,-0.11594179 +81,0.0005261302 +82,-0.030856729 +83,-0.029040933 +84,-0.007024467 +85,0.005074024 +86,-0.011909723 +87,-0.007007122 +88,0.116197005 +89,-0.06643814 +90,0.009484947 +91,0.035632014 +92,-0.08583242 +93,-0.0040625334 +94,-0.030757308 +95,-0.09768623 +96,-0.022949457 +97,-0.02121216 +98,0.041407585 +99,-0.04229814 +100,-0.08751747 +101,0.003968179 +102,-0.029266119 +103,-0.011936486 +104,0.18316646 +105,0.04453671 +106,-0.07688248 +107,-0.012187362 +108,0.13390608 +109,0.05629754 +110,0.042620063 +111,0.0482108 +112,-0.13687828 +113,-0.02195388 +114,-0.05345124 +115,-0.042012453 +116,0.18309934 +117,0.060821056 +118,0.044837475 +119,-0.03224945 +120,-0.08651769 +121,0.012440264 +122,-0.023128867 +123,-0.01195997 +124,-0.17042124 +125,0.04490316 +126,-0.006523013 +127,0.041174054 +128,-0.06168747 +129,-0.05522412 +130,-0.017396808 +131,-0.04893458 +132,-0.14128849 +133,0.012332439 +134,-0.006490886 +135,-0.033386946 +136,-0.002410978 +137,0.016474068 +138,0.04081577 +139,0.2124793 +140,-0.121003 +141,0.10452479 +142,0.059231997 +143,-0.040760398 +144,-0.10635233 +145,-0.00038522482 +146,-0.02882874 +147,0.10447329 +148,0.12180717 +149,0.019962192 +150,-0.018058956 +151,-0.015698195 +152,-0.06501591 +153,-0.05494851 +154,-0.04494959 +155,-0.061863244 +156,0.22325498 +157,0.02125907 +158,0.05136341 +159,0.048850656 +160,-0.07562268 +161,0.13796133 +162,-0.016645193 +163,-0.01142633 +164,-0.072007895 +165,-0.007580757 +166,-0.07320434 +167,-0.004579723 +168,0.097011894 +169,0.07579553 +170,-0.02175504 +171,-0.03929597 +172,-0.06235349 +173,-0.007303655 +174,-0.038606584 +175,-0.011537969 +176,0.20044655 +177,0.0048650503 +178,0.012290716 +179,0.051778853 +180,0.040308267 +181,0.21152377 +182,-0.029052973 +183,-0.027145147 +184,-0.048289835 +185,0.03943658 +186,-0.07438153 +187,0.02409929 +188,-0.12584281 +189,0.014537156 +190,-0.02456218 +191,-0.086701155 +192,-0.005679786 +193,-0.030853033 +194,0.0644474 +195,0.04931748 +196,-0.040914714 +197,-0.024684131 +198,0.019357204 +199,0.076998234 diff --git a/iris/tvae/1/pred/g.csv b/iris/tvae/1/pred/g.csv new file mode 100644 index 0000000000000000000000000000000000000000..a3f6b3eab54ae1850a324623882b9ff4c8311b35 --- /dev/null +++ b/iris/tvae/1/pred/g.csv @@ -0,0 +1,201 @@ +,tvae +0,0.01538083 +1,0.117553055 +2,0.014043152 +3,0.06353009 +4,0.02122055 +5,0.19644651 +6,0.054805458 +7,0.12853992 +8,0.027121305 +9,0.15348697 +10,0.005889952 +11,0.038989723 +12,0.0008083582 +13,0.04142505 +14,0.09160066 +15,0.10659808 +16,0.012252361 +17,0.0065739453 +18,0.04863119 +19,0.05960262 +20,0.019528225 +21,0.29066366 +22,0.008405924 +23,0.06268239 +24,0.018745735 +25,0.06816059 +26,0.05730021 +27,0.08838743 +28,0.020893961 +29,0.097554564 +30,0.037394285 +31,0.0024920702 +32,0.0020830333 +33,0.27539486 +34,0.050793767 +35,0.0004877448 +36,0.009786427 +37,0.11643171 +38,0.06991899 +39,0.11147159 +40,0.0023367703 +41,0.035437107 +42,0.032591224 +43,0.11625016 +44,0.06100732 +45,0.02106303 +46,0.066782 +47,0.061936438 +48,0.014021575 +49,0.10206401 +50,0.021258175 +51,0.12581468 +52,0.0048758835 +53,0.16403401 +54,0.058971882 +55,0.06063664 +56,0.15758438 +57,0.14178437 +58,0.011879444 +59,0.110266864 +60,0.054337204 +61,0.010975897 +62,0.035452485 +63,0.017347991 +64,0.15040925 +65,0.040835857 +66,0.0028799176 +67,0.039153576 +68,0.047489345 +69,0.01702857 +70,0.045113623 +71,0.17411554 +72,0.05593133 +73,0.020531178 +74,0.0071338415 +75,0.053694844 +76,0.11445433 +77,0.019848406 +78,0.055616915 +79,0.002688706 +80,0.11594179 +81,0.0005261302 +82,0.030856729 +83,0.029040933 +84,0.007024467 +85,0.005074024 +86,0.011909723 +87,0.007007122 +88,0.116197005 +89,0.06643814 +90,0.009484947 +91,0.035632014 +92,0.08583242 +93,0.0040625334 +94,0.030757308 +95,0.09768623 +96,0.022949457 +97,0.02121216 +98,0.041407585 +99,0.04229814 +100,0.08751747 +101,0.003968179 +102,0.029266119 +103,0.011936486 +104,0.18316646 +105,0.04453671 +106,0.07688248 +107,0.012187362 +108,0.13390608 +109,0.05629754 +110,0.042620063 +111,0.0482108 +112,0.13687828 +113,0.02195388 +114,0.05345124 +115,0.042012453 +116,0.18309934 +117,0.060821056 +118,0.044837475 +119,0.03224945 +120,0.08651769 +121,0.012440264 +122,0.023128867 +123,0.01195997 +124,0.17042124 +125,0.04490316 +126,0.006523013 +127,0.041174054 +128,0.06168747 +129,0.05522412 +130,0.017396808 +131,0.04893458 +132,0.14128849 +133,0.012332439 +134,0.006490886 +135,0.033386946 +136,0.002410978 +137,0.016474068 +138,0.04081577 +139,0.2124793 +140,0.121003 +141,0.10452479 +142,0.059231997 +143,0.040760398 +144,0.10635233 +145,0.00038522482 +146,0.02882874 +147,0.10447329 +148,0.12180717 +149,0.019962192 +150,0.018058956 +151,0.015698195 +152,0.06501591 +153,0.05494851 +154,0.04494959 +155,0.061863244 +156,0.22325498 +157,0.02125907 +158,0.05136341 +159,0.048850656 +160,0.07562268 +161,0.13796133 +162,0.016645193 +163,0.01142633 +164,0.072007895 +165,0.007580757 +166,0.07320434 +167,0.004579723 +168,0.097011894 +169,0.07579553 +170,0.02175504 +171,0.03929597 +172,0.06235349 +173,0.007303655 +174,0.038606584 +175,0.011537969 +176,0.20044655 +177,0.0048650503 +178,0.012290716 +179,0.051778853 +180,0.040308267 +181,0.21152377 +182,0.029052973 +183,0.027145147 +184,0.048289835 +185,0.03943658 +186,0.07438153 +187,0.02409929 +188,0.12584281 +189,0.014537156 +190,0.02456218 +191,0.086701155 +192,0.005679786 +193,0.030853033 +194,0.0644474 +195,0.04931748 +196,0.040914714 +197,0.024684131 +198,0.019357204 +199,0.076998234 diff --git a/iris/tvae/1/pred/grad.csv b/iris/tvae/1/pred/grad.csv new file mode 100644 index 0000000000000000000000000000000000000000..dd60732c1e1eccff1b78b6a23123849226432fec --- /dev/null +++ b/iris/tvae/1/pred/grad.csv @@ -0,0 +1,201 @@ +,tvae +0,0.0029830877 +1,0.037676647 +2,0.0019805226 +3,0.010344342 +4,0.0019625628 +5,0.08704088 +6,0.0066847675 +7,0.028306233 +8,0.0035140442 +9,0.06608018 +10,0.0011161406 +11,0.008042235 +12,0.00015253964 +13,0.015636208 +14,0.020062394 +15,0.026371244 +16,0.0022477687 +17,0.0015561547 +18,0.007583648 +19,0.020550033 +20,0.0037673337 +21,0.073546454 +22,0.0016060771 +23,0.012946551 +24,0.0017389982 +25,0.012083887 +26,0.007074743 +27,0.016974824 +28,0.0027636257 +29,0.017999416 +30,0.0059302533 +31,0.0010589978 +32,0.00040026565 +33,0.055150487 +34,0.012471862 +35,0.00014422479 +36,0.0016955369 +37,0.034215648 +38,0.014017208 +39,0.033694576 +40,0.00077110605 +41,0.006153296 +42,0.0062514017 +43,0.01910331 +44,0.008406451 +45,0.0028388803 +46,0.006113919 +47,0.017627882 +48,0.0023389396 +49,0.011651641 +50,0.0037787892 +51,0.029927602 +52,0.0008882743 +53,0.038492776 +54,0.018186213 +55,0.012454838 +56,0.05033406 +57,0.026203724 +58,0.0017490289 +59,0.018034024 +60,0.013249166 +61,0.0012728092 +62,0.006753177 +63,0.0021204224 +64,0.05852071 +65,0.0037772749 +66,0.00029775943 +67,0.005375838 +68,0.013573699 +69,0.0024258464 +70,0.008321729 +71,0.03239985 +72,0.023057956 +73,0.0059804297 +74,0.0016715067 +75,0.01764993 +76,0.028854787 +77,0.002942266 +78,0.0075241067 +79,0.0004065524 +80,0.027088927 +81,6.991252e-05 +82,0.005686723 +83,0.004066952 +84,0.0031649796 +85,0.00051244727 +86,0.001415309 +87,0.00096591504 +88,0.038343657 +89,0.013073345 +90,0.0012424305 +91,0.008044967 +92,0.03645215 +93,0.0009215323 +94,0.008819554 +95,0.031116912 +96,0.0058573657 +97,0.0029125628 +98,0.007893215 +99,0.008613189 +100,0.024137553 +101,0.0005322208 +102,0.005201106 +103,0.0013172803 +104,0.090136774 +105,0.0033145621 +106,0.008121421 +107,0.001318298 +108,0.048964906 +109,0.011417519 +110,0.0070141247 +111,0.0076350006 +112,0.035523847 +113,0.006065124 +114,0.014579491 +115,0.011921789 +116,0.045118306 +117,0.005463728 +118,0.005999202 +119,0.0055808974 +120,0.020904891 +121,0.0014588881 +122,0.003994293 +123,0.0013805681 +124,0.065417014 +125,0.0035831695 +126,0.0011466577 +127,0.0050395466 +128,0.026438076 +129,0.011455896 +130,0.001994723 +131,0.0058302414 +132,0.03772846 +133,0.00294171 +134,0.0018724861 +135,0.009389364 +136,0.0007285704 +137,0.0017143998 +138,0.0072702277 +139,0.03184168 +140,0.026708934 +141,0.011074458 +142,0.0072489446 +143,0.0043446925 +144,0.025802156 +145,3.3398337e-05 +146,0.0022600668 +147,0.022449065 +148,0.048445437 +149,0.002117989 +150,0.0021900637 +151,0.0020787069 +152,0.02848535 +153,0.016927918 +154,0.010025063 +155,0.017656403 +156,0.124897294 +157,0.0020912963 +158,0.00991827 +159,0.0056103254 +160,0.018227471 +161,0.01544501 +162,0.0021465172 +163,0.0011575575 +164,0.013368857 +165,0.0016903599 +166,0.007065361 +167,0.0006391162 +168,0.029864559 +169,0.012937713 +170,0.0027071673 +171,0.0042889747 +172,0.030423013 +173,0.0021378642 +174,0.012045586 +175,0.0033526586 +176,0.09985893 +177,0.00049969624 +178,0.0022698091 +179,0.0063966266 +180,0.009356254 +181,0.026808262 +182,0.0051432834 +183,0.004113447 +184,0.018485444 +185,0.004549101 +186,0.008219447 +187,0.0023901833 +188,0.043637443 +189,0.002258466 +190,0.0030312366 +191,0.014343347 +192,0.0009496206 +193,0.0063877213 +194,0.02101769 +195,0.015025211 +196,0.013694123 +197,0.0025473698 +198,0.0035811348 +199,0.0109167155 diff --git a/iris/tvae/1/pred/pred.csv b/iris/tvae/1/pred/pred.csv new file mode 100644 index 0000000000000000000000000000000000000000..aa272b60a2bbf969a5eae97ac3abc1d05e855f7f --- /dev/null +++ b/iris/tvae/1/pred/pred.csv @@ -0,0 +1,201 @@ +,tvae +0,0.16348095 +1,0.46839845 +2,0.9164241 +3,0.8694519 +4,0.20008233 +5,0.6059703 +6,0.9117777 +7,0.8373595 +8,0.13954537 +9,0.50521773 +10,0.8920279 +11,0.88532937 +12,0.16747503 +13,0.58647156 +14,0.8101514 +15,0.89231235 +16,0.15441431 +17,0.45029864 +18,0.91462445 +19,0.84286743 +20,0.15933356 +21,0.803795 +22,0.91150886 +23,0.83969855 +24,0.19760752 +25,0.89765763 +26,0.91095376 +27,0.8761317 +28,0.14577271 +29,0.9034709 +30,0.90319645 +31,0.8782097 +32,0.16458364 +33,0.87049454 +34,0.8288049 +35,0.89949507 +36,0.15688024 +37,0.7830984 +38,0.9016844 +39,0.82585037 +40,0.41900343 +41,0.8769438 +42,0.909328 +43,0.86349815 +44,0.2398691 +45,0.91439635 +46,0.933218 +47,0.9046467 +48,0.1526451 +49,0.9079803 +50,0.90742177 +51,0.89966524 +52,0.17154256 +53,0.8830816 +54,0.83686674 +55,0.8966155 +56,0.3798066 +57,0.8660013 +58,0.9254425 +59,0.91565406 +60,0.36232945 +61,0.92335683 +62,0.9064667 +63,0.915634 +64,0.4194832 +65,0.93583626 +66,0.93036985 +67,0.92742956 +68,0.32302347 +69,0.90360636 +70,0.9109158 +71,0.9071398 +72,0.51549727 +73,0.8651831 +74,0.828845 +75,0.87130517 +76,0.32716697 +77,0.89762616 +78,0.9216102 +79,0.906214 +80,0.3655397 +81,0.91290706 +82,0.9110625 +83,0.9128783 +84,0.43912938 +85,0.93773395 +86,0.92230636 +87,0.9256528 +88,0.33841923 +89,0.8920478 +90,0.9074028 +91,0.90785426 +92,0.48559618 +93,0.87553614 +94,0.84140974 +95,0.83342487 +96,0.35800293 +97,0.88769054 +98,0.905547 +99,0.8970958 +100,0.39396402 +101,0.9163491 +102,0.9126531 +103,0.9299827 +104,0.34983313 +105,0.9395371 +106,0.9231175 +107,0.9190296 +108,0.3561283 +109,0.89889014 +110,0.90842223 +111,0.9188661 +112,0.43455032 +113,0.8637604 +114,0.8423874 +115,0.85382617 +116,0.3399621 +117,0.9310683 +118,0.9089769 +119,0.9071445 +120,0.41898954 +121,0.9248212 +122,0.91879034 +123,0.92995924 +124,0.39947122 +125,0.93990356 +126,0.89163905 +127,0.93617445 +128,0.44416046 +129,0.90326184 +130,0.91128314 +131,0.9095514 +132,0.4301401 +133,0.8656658 +134,0.86567616 +135,0.85741913 +136,0.46721137 +137,0.9253768 +138,0.911063 +139,0.9110439 +140,0.3604785 +141,0.92202103 +142,0.92209136 +143,0.9302541 +144,0.46354014 +145,0.93083173 +146,0.93942523 +147,0.9195809 +148,0.3440294 +149,0.90231514 +150,0.910621 +151,0.9150244 +152,0.5064127 +153,0.8709774 +154,0.82721746 +155,0.86313677 +156,0.5467844 +157,0.9301618 +158,0.91550285 +159,0.91516876 +160,0.4058588 +161,0.93506277 +162,0.925274 +163,0.9304929 +164,0.49788457 +165,0.92044955 +166,0.92679566 +167,0.9233878 +168,0.3695265 +169,0.8956545 +170,0.9069249 +171,0.91919 +172,0.5090751 +173,0.87841064 +174,0.8521995 +175,0.88844484 +176,0.48616084 +177,0.91376776 +178,0.9082183 +179,0.91809696 +180,0.4298735 +181,0.92355657 +182,0.91286623 +183,0.91477406 +184,0.52160263 +185,0.934437 +186,0.92561847 +187,0.9190997 +188,0.33554527 +189,0.912455 +190,0.90411776 +191,0.91329885 +192,0.5657488 +193,0.8950729 +194,0.8462656 +195,0.849581 +196,0.7580271 +197,0.9126378 +198,0.9152848 +199,0.91411555 diff --git a/iris/tvae/1/pred/y.csv b/iris/tvae/1/pred/y.csv new file mode 100644 index 0000000000000000000000000000000000000000..b8049ee1b8f310f4767c838eb01985bc6792a5ae --- /dev/null +++ b/iris/tvae/1/pred/y.csv @@ -0,0 +1,201 @@ +,tvae +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/tvae/1/pred/y_real.csv b/iris/tvae/1/pred/y_real.csv new file mode 100644 index 0000000000000000000000000000000000000000..6a1325d4d4cd3125096b90a0439f8d420ce2b093 --- /dev/null +++ b/iris/tvae/1/pred/y_real.csv @@ -0,0 +1,201 @@ +,tvae +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