diff --git a/iris/tab_ddpm_concat/3/eval.csv b/iris/tab_ddpm_concat/3/eval.csv new file mode 100644 index 0000000000000000000000000000000000000000..f99072c8b4d22c809d477ef9566dc317e7e1a586 --- /dev/null +++ b/iris/tab_ddpm_concat/3/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 +tab_ddpm_concat,0.010302117550745607,0.002877906300636823,0.006236631013453006,0.10834360122680664,0.04618881642818451,0.8373756408691406,0.06311119347810745,5.872532710782252e-05,0.17665672302246094,0.056903596967458725,0.10229673981666565,0.07897233963012695,0.22791557013988495,0.006126572377979755,0.2850003242492676 diff --git a/iris/tab_ddpm_concat/3/history.csv b/iris/tab_ddpm_concat/3/history.csv new file mode 100644 index 0000000000000000000000000000000000000000..4d1be528a7164cf9173909333c4ed1f41eeb4529 --- /dev/null +++ b/iris/tab_ddpm_concat/3/history.csv @@ -0,0 +1,23 @@ +,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.036291342401900184,9.613647967049653,0.00275139284578249,0.008159523364662639,0.0,0.0,0.0,0.0,0.043605739747966575,805,101,91.09181046485901,0.9018991135134555,0.11315752852777516,0.1680646454638774,0.013122648242861032,0.19204905984748621,0.0005505479100838783,0.0,0.0,0.0,0.0,0.0,0.013122648242861032,200,25,21.680766582489014,0.8672306632995606,0.10840383291244507,0.23837531089782715 +1,0.01803406994292362,0.7968750392358477,0.0006104508866654548,0.0007548290909331593,0.0,0.0,0.0,0.0,0.07762242384335917,805,101,92.48554754257202,0.9156984905205151,0.11488887893487208,0.20356402660507966,0.01477179566398263,0.06712992636181297,0.0002999522847019938,0.0,0.0,0.0,0.0,0.0,0.01477179566398263,200,25,22.284488439559937,0.8913795375823974,0.11142244219779968,0.25487948954105377 +2,0.011295697196265277,0.6833392431588454,0.0002381900636637725,2.8184116442011008e-05,0.0,0.0,0.0,0.0,0.01641215796941047,805,101,92.18538856506348,0.912726619456074,0.11451601063983041,0.20187231874333159,0.006096411682665348,0.2077976295351982,5.7786306111753396e-05,0.0,0.0,0.0,0.0,0.0,0.006096411682665348,200,25,22.22325086593628,0.8889300346374511,0.11111625432968139,0.21598123788833617 +3,0.009130899310806153,0.622099482935167,0.00015745707330984312,2.622985228988695e-05,0.0,0.0,0.0,0.0,0.02603167328659607,805,101,92.20356774330139,0.9129066113198158,0.11453859346993962,0.21439532966048705,0.008542224066331983,0.19804511459573404,8.781799012325564e-05,0.0,0.0,0.0,0.0,0.0,0.008542224066331983,200,25,21.977800369262695,0.8791120147705078,0.10988900184631348,0.22209442436695098 +4,0.007538152251230634,0.6262158579256706,8.025142730758717e-05,8.369180495324342e-05,0.0,0.0,0.0,0.0,0.03443632680367424,805,101,87.74771547317505,0.868789262110644,0.10900337325860254,0.20949126558728737,0.006724292635917664,0.153661529986166,7.35600011500992e-05,0.0,0.0,0.0,0.0,0.0,0.006724292635917664,200,25,19.99750590324402,0.7999002361297607,0.09998752951622009,0.22667041897773743 +5,0.0073704892989271175,0.543726752706915,0.00011846785400962025,0.00024665827336518663,0.0,0.0,0.0,0.0,0.00791876494930768,805,101,80.46979761123657,0.7967306694181839,0.09996248150464171,0.20986553768415261,0.0063422384671866896,0.07834266673075035,0.00010398663475825742,0.0,0.0,0.0,0.0,0.0,0.0063422384671866896,200,25,18.142517566680908,0.7257007026672363,0.09071258783340454,0.24074191391468047 +6,0.0075338370863764735,0.08155179207226478,0.00014545378249663363,6.782052726108836e-05,0.0,0.0,0.0,0.0,0.018621662818763103,805,101,76.56598949432373,0.7580791039041953,0.09511303042773134,0.22243754563871587,0.010225302018225193,0.07855536445247707,0.0001466249392147745,0.0,0.0,0.0,0.0,0.0,0.010225302018225193,200,25,18.052699327468872,0.7221079730987549,0.09026349663734436,0.23874252796173095 +7,0.007377984847364403,0.2868406507310702,0.00012698542131570775,2.7809738650085024e-05,0.0,0.0,0.0,0.0,0.01685104184026211,805,101,76.0781717300415,0.7532492250499159,0.09450704562738076,0.20828711916462028,0.009444874171167612,0.06933180529318633,0.0001440259456857973,0.0,0.0,0.0,0.0,0.0,0.009444874171167612,200,25,18.115092515945435,0.7246037006378174,0.09057546257972718,0.24495381236076355 +8,0.006473996460160113,0.48053274145265484,8.845461222305044e-05,1.5811113241527763e-05,0.0,0.0,0.0,0.0,0.05189229827258528,805,101,75.16528582572937,0.7442107507497957,0.09337302587047126,0.21909826848250213,0.006364351878874004,0.11456766941684692,9.279455789944269e-05,0.0,0.0,0.0,0.0,0.0,0.006364351878874004,200,25,19.066568613052368,0.7626627445220947,0.09533284306526184,0.23300585627555848 +9,0.0068196402998606425,0.3755717994075025,0.00011836514854435723,0.00017316189727612904,0.0,0.0,0.0,0.0,0.01499499186080944,805,101,80.94533705711365,0.8014389807635015,0.1005532137355449,0.20999054654990093,0.0069454485457390545,0.10071827908690466,7.860407941922221e-05,0.0,0.0,0.0,0.0,0.0,0.0069454485457390545,200,25,20.222619771957397,0.8089047908782959,0.10111309885978699,0.23589576542377472 +10,0.008843339334664323,0.24537422526073258,0.00014201406557474733,4.1900079564324444e-05,0.0,0.0,0.0,0.0,0.016551140589951913,805,101,79.35159945487976,0.7856594005433639,0.09857341547190032,0.22331148199737072,0.00959770955145359,0.041332003410789186,0.0001284683260098518,0.0,0.0,0.0,0.0,0.0,0.00959770955145359,200,25,18.032944202423096,0.7213177680969238,0.09016472101211548,0.25326721906661986 +11,0.006356531196499463,0.3782198460100659,6.8978879505447e-05,4.314523398505975e-05,0.0,0.0,0.0,0.0,0.006846042315226905,805,101,75.99841976165771,0.7524596016005715,0.09440797485920213,0.21677931027468478,0.007036921945400536,0.13711122419123056,9.415043011402808e-05,0.0,0.0,0.0,0.0,0.0,0.007036921945400536,200,25,18.122788190841675,0.724911527633667,0.09061394095420837,0.22965492248535158 +12,0.005912380540882301,0.2341676154593567,7.411405657434983e-05,0.0,0.0,0.0,0.0,0.0,0.005912380540882301,805,101,76.08836531639099,0.7533501516474356,0.09451970846756645,0.22350824074727474,0.007265017232857645,0.11384457741154279,0.00012050134637224374,0.0,0.0,0.0,0.0,0.0,0.007265017232857645,200,25,18.57159972190857,0.7428639888763428,0.09285799860954284,0.2338661563396454 +13,0.005896884532680053,0.15942217810624973,9.097752337072014e-05,2.4632720843605374e-05,0.0,0.0,0.0,0.0,0.005939783680003993,805,101,79.14002180099487,0.783564572287078,0.09831058608819239,0.21675792985623427,0.006888368967920542,0.07049077784526162,0.00012954828831766464,0.0,0.0,0.0,0.0,0.0,0.006888368967920542,200,25,18.58639693260193,0.7434558773040771,0.09293198466300964,0.24401052176952362 +14,0.0066343734896978975,0.2488072367485188,0.00011085429657210026,5.966591538849825e-06,0.0,0.0,0.0,0.0,0.007081449882167837,805,101,77.49162316322327,0.7672437936952798,0.09626288591704754,0.21889576495689625,0.0067538260668516155,0.16112240424583432,7.366671597509366e-05,0.0,0.0,0.0,0.0,0.0,0.0067538260668516155,200,25,18.1923668384552,0.727694673538208,0.090961834192276,0.2258973526954651 +15,0.0055911174344812865,0.2845252660687974,6.157613314555714e-05,9.348354539515809e-06,0.0,0.0,0.0,0.0,0.00562975314902778,805,101,76.30395841598511,0.7554847367919317,0.0947875259825902,0.2124419780355869,0.0066338792117312554,0.18911292934950324,7.323215405222072e-05,0.0,0.0,0.0,0.0,0.0,0.0066338792117312554,200,25,18.09674620628357,0.7238698482513428,0.09048373103141785,0.22362703680992127 +16,0.0060427696247417366,0.3893703750144132,8.51109300764322e-05,7.951574758713289e-05,0.0,0.0,0.0,0.0,0.006955635190727363,805,101,77.83368992805481,0.7706305933470773,0.09668781357522337,0.2187386360388286,0.005087165453005582,0.13347666280904377,4.190261444193766e-05,0.0,0.0,0.0,0.0,0.0,0.005087165453005582,200,25,19.113037824630737,0.7645215129852295,0.09556518912315369,0.22963309705257415 +17,0.005513405484604354,0.22773699850231346,7.321764363773209e-05,4.113899971942724e-05,0.0,0.0,0.0,0.0,0.01883920798055041,805,101,79.69086790084839,0.7890184940678058,0.09899486695757564,0.21317783861172082,0.008442493779584765,0.0835029304208001,0.00015148092748810737,0.0,0.0,0.0,0.0,0.0,0.008442493779584765,200,25,18.27677893638611,0.7310711574554444,0.09138389468193055,0.24156776547431946 +18,0.00591686438994702,0.24325306459942486,7.924135118828296e-05,5.530907269220174e-06,0.0,0.0,0.0,0.0,0.006667100351812861,805,101,76.85100531578064,0.7609010427305014,0.09546708734879583,0.2264526099851816,0.0061096432991325856,0.13502902742766765,5.308920259246008e-05,0.0,0.0,0.0,0.0,0.0,0.0061096432991325856,200,25,18.08058476448059,0.7232233905792236,0.09040292382240295,0.22854533851146697 +19,0.005499712386463555,0.5012982771618467,6.593721300214419e-05,0.0,0.0,0.0,0.0,0.0,0.005499712386463555,805,101,77.28571391105652,0.7652050882282824,0.09600709802615717,0.21378549942654548,0.005320499395020306,0.16377683642160265,5.518209005231256e-05,0.0,0.0,0.0,0.0,0.0,0.005320499395020306,200,25,19.183692693710327,0.7673477077484131,0.09591846346855164,0.22393818259239195 +20,0.005374926289034463,0.33032953426228945,6.437564828740322e-05,7.905760166807945e-07,0.0,0.0,0.0,0.0,0.0067886820187364125,805,101,77.28111982345581,0.7651596022124337,0.09600139108503827,0.2160925804314637,0.007050306210294366,0.20168953415821306,8.021365183077833e-05,0.0,0.0,0.0,0.0,0.0,0.007050306210294366,200,25,18.751020431518555,0.7500408172607422,0.09375510215759278,0.2217828792333603 +21,0.006107389845347367,0.1994983826907116,0.0001103997828810178,3.95645011470925e-05,0.0,0.0,0.0,0.0,0.008589921106717417,805,101,78.76627659797668,0.7798641247324424,0.09784630633289029,0.2262248746903226,0.0067810512334108355,0.16799731640319807,4.659663203062436e-05,0.0,0.0,0.0,0.0,0.0,0.0067810512334108355,200,25,18.570249319076538,0.7428099727630615,0.09285124659538269,0.22336962282657624 diff --git a/iris/tab_ddpm_concat/3/logs/avg_loss_train/events.out.tfevents.1721746495.0e0da8a72f77.3052.17 b/iris/tab_ddpm_concat/3/logs/avg_loss_train/events.out.tfevents.1721746495.0e0da8a72f77.3052.17 new file mode 100644 index 0000000000000000000000000000000000000000..b197533e7e64a0620fc12b73f550cddd1eadfe07 --- /dev/null +++ b/iris/tab_ddpm_concat/3/logs/avg_loss_train/events.out.tfevents.1721746495.0e0da8a72f77.3052.17 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:35cf9c32b56134cb1b78660f615481e36e8323105e93ea5a3b603aab0c301f32 +size 1098 diff --git a/iris/tab_ddpm_concat/3/logs/avg_loss_val/events.out.tfevents.1721746495.0e0da8a72f77.3052.18 b/iris/tab_ddpm_concat/3/logs/avg_loss_val/events.out.tfevents.1721746495.0e0da8a72f77.3052.18 new file mode 100644 index 0000000000000000000000000000000000000000..3c021eceffcc6b3120158403de98d610bc5dd62b --- /dev/null +++ b/iris/tab_ddpm_concat/3/logs/avg_loss_val/events.out.tfevents.1721746495.0e0da8a72f77.3052.18 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b6da834f85d23720afe0d21cecab163071ecd6d33ea94fc2a0cce4a4ab243cf5 +size 1098 diff --git a/iris/tab_ddpm_concat/3/logs/avg_non_role_model_embed_loss_train/events.out.tfevents.1721746495.0e0da8a72f77.3052.15 b/iris/tab_ddpm_concat/3/logs/avg_non_role_model_embed_loss_train/events.out.tfevents.1721746495.0e0da8a72f77.3052.15 new file mode 100644 index 0000000000000000000000000000000000000000..d5727afc5038b8d10b639e1f49ddddae80c4acf4 --- /dev/null +++ b/iris/tab_ddpm_concat/3/logs/avg_non_role_model_embed_loss_train/events.out.tfevents.1721746495.0e0da8a72f77.3052.15 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cab1b3f05b12bf4f6fa1735977a4979d3ba1fb03b259970267e689c716acf130 +size 1560 diff --git a/iris/tab_ddpm_concat/3/logs/avg_non_role_model_embed_loss_val/events.out.tfevents.1721746495.0e0da8a72f77.3052.16 b/iris/tab_ddpm_concat/3/logs/avg_non_role_model_embed_loss_val/events.out.tfevents.1721746495.0e0da8a72f77.3052.16 new file mode 100644 index 0000000000000000000000000000000000000000..fd79db4f12d1d666ab31c28c5919b3ba93d9f994 --- /dev/null +++ b/iris/tab_ddpm_concat/3/logs/avg_non_role_model_embed_loss_val/events.out.tfevents.1721746495.0e0da8a72f77.3052.16 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8e2d684609c297f982b603278fd3e197bf3ec7c69e65ebc79a2ab7bf29fe2282 +size 1560 diff --git a/iris/tab_ddpm_concat/3/logs/avg_non_role_model_g_cos_loss_train/events.out.tfevents.1721746495.0e0da8a72f77.3052.13 b/iris/tab_ddpm_concat/3/logs/avg_non_role_model_g_cos_loss_train/events.out.tfevents.1721746495.0e0da8a72f77.3052.13 new file mode 100644 index 0000000000000000000000000000000000000000..ed12c98ffa01bceefec4e8123a7574e1949b55be --- /dev/null +++ b/iris/tab_ddpm_concat/3/logs/avg_non_role_model_g_cos_loss_train/events.out.tfevents.1721746495.0e0da8a72f77.3052.13 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0317601b599632118e9127ca3a29f3b061665b399a7aad2c18259d2db190a32d +size 1560 diff --git a/iris/tab_ddpm_concat/3/logs/avg_non_role_model_g_cos_loss_val/events.out.tfevents.1721746495.0e0da8a72f77.3052.14 b/iris/tab_ddpm_concat/3/logs/avg_non_role_model_g_cos_loss_val/events.out.tfevents.1721746495.0e0da8a72f77.3052.14 new file mode 100644 index 0000000000000000000000000000000000000000..a7924c12c123bbc0c9a2a1ae9ffc15340ddaa52c --- /dev/null +++ b/iris/tab_ddpm_concat/3/logs/avg_non_role_model_g_cos_loss_val/events.out.tfevents.1721746495.0e0da8a72f77.3052.14 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:566c5644cbd717f64d4bbaa3fb7949e079b7917b61eeca12e7fa27bb96bcc05d +size 1560 diff --git a/iris/tab_ddpm_concat/3/logs/avg_non_role_model_g_mag_loss_train/events.out.tfevents.1721746495.0e0da8a72f77.3052.11 b/iris/tab_ddpm_concat/3/logs/avg_non_role_model_g_mag_loss_train/events.out.tfevents.1721746495.0e0da8a72f77.3052.11 new file mode 100644 index 0000000000000000000000000000000000000000..0c55bcb172a4bed36ea2192326a9cb1646e3d366 --- /dev/null +++ b/iris/tab_ddpm_concat/3/logs/avg_non_role_model_g_mag_loss_train/events.out.tfevents.1721746495.0e0da8a72f77.3052.11 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:154e0a7910f3b0c535dc58e0b6942968887cfa0887ed51373adbf7f81512db65 +size 1560 diff --git a/iris/tab_ddpm_concat/3/logs/avg_non_role_model_g_mag_loss_val/events.out.tfevents.1721746495.0e0da8a72f77.3052.12 b/iris/tab_ddpm_concat/3/logs/avg_non_role_model_g_mag_loss_val/events.out.tfevents.1721746495.0e0da8a72f77.3052.12 new file mode 100644 index 0000000000000000000000000000000000000000..2bda1c7313b35411dbc9f424add3106833ea2209 --- /dev/null +++ b/iris/tab_ddpm_concat/3/logs/avg_non_role_model_g_mag_loss_val/events.out.tfevents.1721746495.0e0da8a72f77.3052.12 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2d00e3b8e1b8534d86b8776395abe0e57b53cdc9328113a213a87b2762915e26 +size 1560 diff --git a/iris/tab_ddpm_concat/3/logs/avg_pred_std_train/events.out.tfevents.1721746495.0e0da8a72f77.3052.29 b/iris/tab_ddpm_concat/3/logs/avg_pred_std_train/events.out.tfevents.1721746495.0e0da8a72f77.3052.29 new file mode 100644 index 0000000000000000000000000000000000000000..d2f3033e48f098790035ab5a71d923264d2a3f94 --- /dev/null +++ b/iris/tab_ddpm_concat/3/logs/avg_pred_std_train/events.out.tfevents.1721746495.0e0da8a72f77.3052.29 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b804dd2ac52e007702e2e40488f689cedc7cc80fc04e4cb61c09bc692becc210 +size 1186 diff --git a/iris/tab_ddpm_concat/3/logs/avg_pred_std_val/events.out.tfevents.1721746495.0e0da8a72f77.3052.30 b/iris/tab_ddpm_concat/3/logs/avg_pred_std_val/events.out.tfevents.1721746495.0e0da8a72f77.3052.30 new file mode 100644 index 0000000000000000000000000000000000000000..61dbe2d7776b308ecd3268a6b487a97f5ae2db34 --- /dev/null +++ b/iris/tab_ddpm_concat/3/logs/avg_pred_std_val/events.out.tfevents.1721746495.0e0da8a72f77.3052.30 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1ad8c53be082603c5ae9f64c449cb5c4fcbd58e7c3b1266defafa93430e394cb +size 1186 diff --git a/iris/tab_ddpm_concat/3/logs/avg_role_model_g_cos_loss_train/events.out.tfevents.1721746495.0e0da8a72f77.3052.9 b/iris/tab_ddpm_concat/3/logs/avg_role_model_g_cos_loss_train/events.out.tfevents.1721746495.0e0da8a72f77.3052.9 new file mode 100644 index 0000000000000000000000000000000000000000..8bb511b0fc7bfac94c9d716403c875fc7e964019 --- /dev/null +++ b/iris/tab_ddpm_concat/3/logs/avg_role_model_g_cos_loss_train/events.out.tfevents.1721746495.0e0da8a72f77.3052.9 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:03e0dfefdf2c1832f90c11fd2ade1a2530aedd0106ff764c35e525748b552387 +size 1472 diff --git a/iris/tab_ddpm_concat/3/logs/avg_role_model_g_cos_loss_val/events.out.tfevents.1721746495.0e0da8a72f77.3052.10 b/iris/tab_ddpm_concat/3/logs/avg_role_model_g_cos_loss_val/events.out.tfevents.1721746495.0e0da8a72f77.3052.10 new file mode 100644 index 0000000000000000000000000000000000000000..95321520f002d18bca66a036337194458f8c40ee --- /dev/null +++ b/iris/tab_ddpm_concat/3/logs/avg_role_model_g_cos_loss_val/events.out.tfevents.1721746495.0e0da8a72f77.3052.10 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7e88d968b84e85a974800c075a82e5b998d732aab8e8f5c80e5ded718c1bf0a4 +size 1472 diff --git a/iris/tab_ddpm_concat/3/logs/avg_role_model_g_mag_loss_train/events.out.tfevents.1721746495.0e0da8a72f77.3052.7 b/iris/tab_ddpm_concat/3/logs/avg_role_model_g_mag_loss_train/events.out.tfevents.1721746495.0e0da8a72f77.3052.7 new file mode 100644 index 0000000000000000000000000000000000000000..0739b813a4958eb31d751550f0c9a5a1257084b4 --- /dev/null +++ b/iris/tab_ddpm_concat/3/logs/avg_role_model_g_mag_loss_train/events.out.tfevents.1721746495.0e0da8a72f77.3052.7 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f10bfeae672cd467976ef2612b2ee6db82f1dcb3207591e4fc095e2f6b37f0c0 +size 1472 diff --git a/iris/tab_ddpm_concat/3/logs/avg_role_model_g_mag_loss_val/events.out.tfevents.1721746495.0e0da8a72f77.3052.8 b/iris/tab_ddpm_concat/3/logs/avg_role_model_g_mag_loss_val/events.out.tfevents.1721746495.0e0da8a72f77.3052.8 new file mode 100644 index 0000000000000000000000000000000000000000..0191eab61bb297d188c6e41a66e305dc6736d488 --- /dev/null +++ b/iris/tab_ddpm_concat/3/logs/avg_role_model_g_mag_loss_val/events.out.tfevents.1721746495.0e0da8a72f77.3052.8 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:83e3e7095b40888394dcd359900073b781ad3fd0be9f60ad1f4ad412fff3e38c +size 1472 diff --git a/iris/tab_ddpm_concat/3/logs/avg_role_model_loss_train/events.out.tfevents.1721746495.0e0da8a72f77.3052.1 b/iris/tab_ddpm_concat/3/logs/avg_role_model_loss_train/events.out.tfevents.1721746495.0e0da8a72f77.3052.1 new file mode 100644 index 0000000000000000000000000000000000000000..7b7bb52513cb38c7a35a6edd11d0ea33c608d675 --- /dev/null +++ b/iris/tab_ddpm_concat/3/logs/avg_role_model_loss_train/events.out.tfevents.1721746495.0e0da8a72f77.3052.1 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c1cb801ec34edc12039d89b2f262b3a1ac16273a59b7ca2790a75fc7aab8c00c +size 1340 diff --git a/iris/tab_ddpm_concat/3/logs/avg_role_model_loss_val/events.out.tfevents.1721746495.0e0da8a72f77.3052.2 b/iris/tab_ddpm_concat/3/logs/avg_role_model_loss_val/events.out.tfevents.1721746495.0e0da8a72f77.3052.2 new file mode 100644 index 0000000000000000000000000000000000000000..cc9db4acb89b8cee5a384bdf15ccd316b08d5b97 --- /dev/null +++ b/iris/tab_ddpm_concat/3/logs/avg_role_model_loss_val/events.out.tfevents.1721746495.0e0da8a72f77.3052.2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9fa7abfa708deb868202a75cddb6bf62ce223d5fa7b21b98f3c10fa63fca9cfb +size 1340 diff --git a/iris/tab_ddpm_concat/3/logs/avg_role_model_mean_pred_loss_train/events.out.tfevents.1721746495.0e0da8a72f77.3052.5 b/iris/tab_ddpm_concat/3/logs/avg_role_model_mean_pred_loss_train/events.out.tfevents.1721746495.0e0da8a72f77.3052.5 new file mode 100644 index 0000000000000000000000000000000000000000..a72e3e27d1af655e1499a276504673de60fcd9a5 --- /dev/null +++ b/iris/tab_ddpm_concat/3/logs/avg_role_model_mean_pred_loss_train/events.out.tfevents.1721746495.0e0da8a72f77.3052.5 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0a960137eca828ef97eee520c48efc574b33b84308ae47752fd56b1b8188b306 +size 1560 diff --git a/iris/tab_ddpm_concat/3/logs/avg_role_model_mean_pred_loss_val/events.out.tfevents.1721746495.0e0da8a72f77.3052.6 b/iris/tab_ddpm_concat/3/logs/avg_role_model_mean_pred_loss_val/events.out.tfevents.1721746495.0e0da8a72f77.3052.6 new file mode 100644 index 0000000000000000000000000000000000000000..bf3845f59810f0cbb5c7306103a626ef182aaf47 --- /dev/null +++ b/iris/tab_ddpm_concat/3/logs/avg_role_model_mean_pred_loss_val/events.out.tfevents.1721746495.0e0da8a72f77.3052.6 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bd9fd5506a4b36900c493d41e401332deac4e231d3edb07f7bdffa37d2c49c64 +size 1560 diff --git a/iris/tab_ddpm_concat/3/logs/avg_role_model_std_loss_train/events.out.tfevents.1721746495.0e0da8a72f77.3052.3 b/iris/tab_ddpm_concat/3/logs/avg_role_model_std_loss_train/events.out.tfevents.1721746495.0e0da8a72f77.3052.3 new file mode 100644 index 0000000000000000000000000000000000000000..b19d084162539cb60dc6a0f54b6d2b338d05ed37 --- /dev/null +++ b/iris/tab_ddpm_concat/3/logs/avg_role_model_std_loss_train/events.out.tfevents.1721746495.0e0da8a72f77.3052.3 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:31c37de3f8a9f1821aea98bdaea6150e42621f7cddcca7d53fbf4c3adbc69a29 +size 1428 diff --git a/iris/tab_ddpm_concat/3/logs/avg_role_model_std_loss_val/events.out.tfevents.1721746495.0e0da8a72f77.3052.4 b/iris/tab_ddpm_concat/3/logs/avg_role_model_std_loss_val/events.out.tfevents.1721746495.0e0da8a72f77.3052.4 new file mode 100644 index 0000000000000000000000000000000000000000..736a2c9a1a4b0d362c46a30f1cf32aa5163454ec --- /dev/null +++ b/iris/tab_ddpm_concat/3/logs/avg_role_model_std_loss_val/events.out.tfevents.1721746495.0e0da8a72f77.3052.4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a99f9a482d8b0cb66ff016700235e9947a54649274bcdf78af050fa6d5020270 +size 1428 diff --git a/iris/tab_ddpm_concat/3/logs/duration_batch_train/events.out.tfevents.1721746495.0e0da8a72f77.3052.25 b/iris/tab_ddpm_concat/3/logs/duration_batch_train/events.out.tfevents.1721746495.0e0da8a72f77.3052.25 new file mode 100644 index 0000000000000000000000000000000000000000..68459cac1ceb555239a4083e16a4111a82b509ca --- /dev/null +++ b/iris/tab_ddpm_concat/3/logs/duration_batch_train/events.out.tfevents.1721746495.0e0da8a72f77.3052.25 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e97e3532fbe605c6bb4e32c4b034d8b72670f28b2f648a5262881f9b42aaf3c5 +size 1230 diff --git a/iris/tab_ddpm_concat/3/logs/duration_batch_val/events.out.tfevents.1721746495.0e0da8a72f77.3052.26 b/iris/tab_ddpm_concat/3/logs/duration_batch_val/events.out.tfevents.1721746495.0e0da8a72f77.3052.26 new file mode 100644 index 0000000000000000000000000000000000000000..ec846eb57328f9f0334ed86f7d48f85fb724ee70 --- /dev/null +++ b/iris/tab_ddpm_concat/3/logs/duration_batch_val/events.out.tfevents.1721746495.0e0da8a72f77.3052.26 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:49ac7b0ab90ca5bd231e7dd19da0a82023f1041dcf5184e8363e1faed01953cf +size 1230 diff --git a/iris/tab_ddpm_concat/3/logs/duration_size_train/events.out.tfevents.1721746495.0e0da8a72f77.3052.27 b/iris/tab_ddpm_concat/3/logs/duration_size_train/events.out.tfevents.1721746495.0e0da8a72f77.3052.27 new file mode 100644 index 0000000000000000000000000000000000000000..3ecc99103a143caba9c4d684c09beec9450ddf8d --- /dev/null +++ b/iris/tab_ddpm_concat/3/logs/duration_size_train/events.out.tfevents.1721746495.0e0da8a72f77.3052.27 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d2cb5d08b59941962dcdf841484713cf84aeda081265346cbe99fd57401078c4 +size 1208 diff --git a/iris/tab_ddpm_concat/3/logs/duration_size_val/events.out.tfevents.1721746495.0e0da8a72f77.3052.28 b/iris/tab_ddpm_concat/3/logs/duration_size_val/events.out.tfevents.1721746495.0e0da8a72f77.3052.28 new file mode 100644 index 0000000000000000000000000000000000000000..e1c5cc396cc7de96d1c323a0933b115f87018a1a --- /dev/null +++ b/iris/tab_ddpm_concat/3/logs/duration_size_val/events.out.tfevents.1721746495.0e0da8a72f77.3052.28 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:90486a25216555dbbcb3367ad5938311c4cb4c10dfc0e7556641be968d844e5f +size 1208 diff --git a/iris/tab_ddpm_concat/3/logs/duration_train/events.out.tfevents.1721746495.0e0da8a72f77.3052.23 b/iris/tab_ddpm_concat/3/logs/duration_train/events.out.tfevents.1721746495.0e0da8a72f77.3052.23 new file mode 100644 index 0000000000000000000000000000000000000000..2007ddd777db0552b0dc0decd80c9f77dde7c26c --- /dev/null +++ b/iris/tab_ddpm_concat/3/logs/duration_train/events.out.tfevents.1721746495.0e0da8a72f77.3052.23 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8beaf3dc4e4d0dc2d7d763847f392e957eb727fb5a0c7c078be5c4d080ab9b0c +size 1098 diff --git a/iris/tab_ddpm_concat/3/logs/duration_val/events.out.tfevents.1721746495.0e0da8a72f77.3052.24 b/iris/tab_ddpm_concat/3/logs/duration_val/events.out.tfevents.1721746495.0e0da8a72f77.3052.24 new file mode 100644 index 0000000000000000000000000000000000000000..a955a66cd73ec11a4cb4f0bc123ecfcb196db614 --- /dev/null +++ b/iris/tab_ddpm_concat/3/logs/duration_val/events.out.tfevents.1721746495.0e0da8a72f77.3052.24 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c39105b3f1a9808d0c4a2333a94f1e721bd289558e5c336f2d50a4764882f3da +size 1098 diff --git a/iris/tab_ddpm_concat/3/logs/events.out.tfevents.1721746381.0e0da8a72f77.3052.0 b/iris/tab_ddpm_concat/3/logs/events.out.tfevents.1721746381.0e0da8a72f77.3052.0 new file mode 100644 index 0000000000000000000000000000000000000000..4825387a53c8a84d8ad92267651c6809c41825bd --- /dev/null +++ b/iris/tab_ddpm_concat/3/logs/events.out.tfevents.1721746381.0e0da8a72f77.3052.0 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5d3e1ac4abb9964fe7f49c0a3d6aa957d1c4ed256a4b923152e59072cc015189 +size 88 diff --git a/iris/tab_ddpm_concat/3/logs/n_batch_train/events.out.tfevents.1721746495.0e0da8a72f77.3052.21 b/iris/tab_ddpm_concat/3/logs/n_batch_train/events.out.tfevents.1721746495.0e0da8a72f77.3052.21 new file mode 100644 index 0000000000000000000000000000000000000000..b1f280aecb18c374839764fe40213db3a39f18dd --- /dev/null +++ b/iris/tab_ddpm_concat/3/logs/n_batch_train/events.out.tfevents.1721746495.0e0da8a72f77.3052.21 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2716ecab1a0793d3cf60f83b63bf15698e570b90448f2f46b2c4963ef86196d3 +size 1076 diff --git a/iris/tab_ddpm_concat/3/logs/n_batch_val/events.out.tfevents.1721746495.0e0da8a72f77.3052.22 b/iris/tab_ddpm_concat/3/logs/n_batch_val/events.out.tfevents.1721746495.0e0da8a72f77.3052.22 new file mode 100644 index 0000000000000000000000000000000000000000..f0cd82f4bf4319e58955da541ebb30b8d6f93e63 --- /dev/null +++ b/iris/tab_ddpm_concat/3/logs/n_batch_val/events.out.tfevents.1721746495.0e0da8a72f77.3052.22 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0d35a70ce0a02f555309a6cba0f372e40b8174bf720e631b6ed721b39287dfb1 +size 1076 diff --git a/iris/tab_ddpm_concat/3/logs/n_size_train/events.out.tfevents.1721746495.0e0da8a72f77.3052.19 b/iris/tab_ddpm_concat/3/logs/n_size_train/events.out.tfevents.1721746495.0e0da8a72f77.3052.19 new file mode 100644 index 0000000000000000000000000000000000000000..cb99a3125aaa36df66175841533a617690f0fc5b --- /dev/null +++ b/iris/tab_ddpm_concat/3/logs/n_size_train/events.out.tfevents.1721746495.0e0da8a72f77.3052.19 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a3d4d5c9a6323ee8d7f1f608e26d24199bc4087c2ca9edb8cc47e1f8f8d33486 +size 1054 diff --git a/iris/tab_ddpm_concat/3/logs/n_size_val/events.out.tfevents.1721746495.0e0da8a72f77.3052.20 b/iris/tab_ddpm_concat/3/logs/n_size_val/events.out.tfevents.1721746495.0e0da8a72f77.3052.20 new file mode 100644 index 0000000000000000000000000000000000000000..4be99aade96cd5886382730498b3d87df3477804 --- /dev/null +++ b/iris/tab_ddpm_concat/3/logs/n_size_val/events.out.tfevents.1721746495.0e0da8a72f77.3052.20 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7edb8c0fd06431545105ec1a209a588e07a395630dd8ef0c8a3d6ef830bbd8cc +size 1054 diff --git a/iris/tab_ddpm_concat/3/logs/train_avg_loss/events.out.tfevents.1721746495.0e0da8a72f77.3052.39 b/iris/tab_ddpm_concat/3/logs/train_avg_loss/events.out.tfevents.1721746495.0e0da8a72f77.3052.39 new file mode 100644 index 0000000000000000000000000000000000000000..76a347a9bf4a606e6ca362b428ce40ddb18d0e9d --- /dev/null +++ b/iris/tab_ddpm_concat/3/logs/train_avg_loss/events.out.tfevents.1721746495.0e0da8a72f77.3052.39 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9f3c06055a6dbe64580de421136c714bd6dabe4ab3626984764f50f2f594e215 +size 1032 diff --git a/iris/tab_ddpm_concat/3/logs/train_avg_non_role_model_embed_loss/events.out.tfevents.1721746495.0e0da8a72f77.3052.38 b/iris/tab_ddpm_concat/3/logs/train_avg_non_role_model_embed_loss/events.out.tfevents.1721746495.0e0da8a72f77.3052.38 new file mode 100644 index 0000000000000000000000000000000000000000..dbdcec6a7c97b49382745a5d00ccd015e7a87c3a --- /dev/null +++ b/iris/tab_ddpm_concat/3/logs/train_avg_non_role_model_embed_loss/events.out.tfevents.1721746495.0e0da8a72f77.3052.38 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:687fcec46e7caf68229e4c8865371475e400a966ba5c6fe074e9faad5a2885f3 +size 1032 diff --git a/iris/tab_ddpm_concat/3/logs/train_avg_non_role_model_g_cos_loss/events.out.tfevents.1721746495.0e0da8a72f77.3052.37 b/iris/tab_ddpm_concat/3/logs/train_avg_non_role_model_g_cos_loss/events.out.tfevents.1721746495.0e0da8a72f77.3052.37 new file mode 100644 index 0000000000000000000000000000000000000000..22f7ba3569e7568cf0cd9f2df5130919eb69de02 --- /dev/null +++ b/iris/tab_ddpm_concat/3/logs/train_avg_non_role_model_g_cos_loss/events.out.tfevents.1721746495.0e0da8a72f77.3052.37 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1aeae901063c1336dec18a004c67353d546b5929dc8d610d04dc73b1bf483bea +size 1032 diff --git a/iris/tab_ddpm_concat/3/logs/train_avg_non_role_model_g_mag_loss/events.out.tfevents.1721746495.0e0da8a72f77.3052.36 b/iris/tab_ddpm_concat/3/logs/train_avg_non_role_model_g_mag_loss/events.out.tfevents.1721746495.0e0da8a72f77.3052.36 new file mode 100644 index 0000000000000000000000000000000000000000..35828c0fadb0f1504a12924e855b6a72f5f5fd4c --- /dev/null +++ b/iris/tab_ddpm_concat/3/logs/train_avg_non_role_model_g_mag_loss/events.out.tfevents.1721746495.0e0da8a72f77.3052.36 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:615b7f61b0514b2c1200ce737229f18d814a4b204c397332c0204b5485aba3c0 +size 1032 diff --git a/iris/tab_ddpm_concat/3/logs/train_avg_pred_std/events.out.tfevents.1721746495.0e0da8a72f77.3052.45 b/iris/tab_ddpm_concat/3/logs/train_avg_pred_std/events.out.tfevents.1721746495.0e0da8a72f77.3052.45 new file mode 100644 index 0000000000000000000000000000000000000000..e3b85fa1e755f5982757a348356ecd1e658f1f61 --- /dev/null +++ b/iris/tab_ddpm_concat/3/logs/train_avg_pred_std/events.out.tfevents.1721746495.0e0da8a72f77.3052.45 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:423f91e1caef59744429b96f4ceb49b7a1e3730b934575120c65d216357c591a +size 1032 diff --git a/iris/tab_ddpm_concat/3/logs/train_avg_role_model_g_cos_loss/events.out.tfevents.1721746495.0e0da8a72f77.3052.35 b/iris/tab_ddpm_concat/3/logs/train_avg_role_model_g_cos_loss/events.out.tfevents.1721746495.0e0da8a72f77.3052.35 new file mode 100644 index 0000000000000000000000000000000000000000..6fff32454f34dd68154b253528497a1c5d407d77 --- /dev/null +++ b/iris/tab_ddpm_concat/3/logs/train_avg_role_model_g_cos_loss/events.out.tfevents.1721746495.0e0da8a72f77.3052.35 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f588c81f70ab5cd43981d55b264a3b59756ad3cca129edf7517eea53693f4606 +size 1032 diff --git a/iris/tab_ddpm_concat/3/logs/train_avg_role_model_g_mag_loss/events.out.tfevents.1721746495.0e0da8a72f77.3052.34 b/iris/tab_ddpm_concat/3/logs/train_avg_role_model_g_mag_loss/events.out.tfevents.1721746495.0e0da8a72f77.3052.34 new file mode 100644 index 0000000000000000000000000000000000000000..8c328d63a32e2afa2fbb678245dd92c0680fafa5 --- /dev/null +++ b/iris/tab_ddpm_concat/3/logs/train_avg_role_model_g_mag_loss/events.out.tfevents.1721746495.0e0da8a72f77.3052.34 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6ea418be2e22e764e42df4817e2e084d4931ba65fe5ba9ef9a27b4d58691bfd8 +size 1032 diff --git a/iris/tab_ddpm_concat/3/logs/train_avg_role_model_loss/events.out.tfevents.1721746495.0e0da8a72f77.3052.31 b/iris/tab_ddpm_concat/3/logs/train_avg_role_model_loss/events.out.tfevents.1721746495.0e0da8a72f77.3052.31 new file mode 100644 index 0000000000000000000000000000000000000000..44ae06715777116ed93a9e8ee971950c97b88ca6 --- /dev/null +++ b/iris/tab_ddpm_concat/3/logs/train_avg_role_model_loss/events.out.tfevents.1721746495.0e0da8a72f77.3052.31 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cd895ae2126ae8a9ba9106e35e8933850682a69d4b54e96a828935929ac36fd3 +size 1032 diff --git a/iris/tab_ddpm_concat/3/logs/train_avg_role_model_mean_pred_loss/events.out.tfevents.1721746495.0e0da8a72f77.3052.33 b/iris/tab_ddpm_concat/3/logs/train_avg_role_model_mean_pred_loss/events.out.tfevents.1721746495.0e0da8a72f77.3052.33 new file mode 100644 index 0000000000000000000000000000000000000000..92b7a4289c76243974b2382654a8a3e4a5e55db2 --- /dev/null +++ b/iris/tab_ddpm_concat/3/logs/train_avg_role_model_mean_pred_loss/events.out.tfevents.1721746495.0e0da8a72f77.3052.33 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:84b21f3926e9affa1904a6cae6d3140c4a6fc780a2f6e4e4f04ff14cce63e0d7 +size 1032 diff --git a/iris/tab_ddpm_concat/3/logs/train_avg_role_model_std_loss/events.out.tfevents.1721746495.0e0da8a72f77.3052.32 b/iris/tab_ddpm_concat/3/logs/train_avg_role_model_std_loss/events.out.tfevents.1721746495.0e0da8a72f77.3052.32 new file mode 100644 index 0000000000000000000000000000000000000000..42a4d6a2af70fed4765192f38289a69c1c610a31 --- /dev/null +++ b/iris/tab_ddpm_concat/3/logs/train_avg_role_model_std_loss/events.out.tfevents.1721746495.0e0da8a72f77.3052.32 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:61d215148a4b4f12f93c37b4dbcb4bcd56b37120d588a4bbd61f8b023927688c +size 1032 diff --git a/iris/tab_ddpm_concat/3/logs/train_duration/events.out.tfevents.1721746495.0e0da8a72f77.3052.42 b/iris/tab_ddpm_concat/3/logs/train_duration/events.out.tfevents.1721746495.0e0da8a72f77.3052.42 new file mode 100644 index 0000000000000000000000000000000000000000..3f498354bf307a93081cc0866476fab47b6f666f --- /dev/null +++ b/iris/tab_ddpm_concat/3/logs/train_duration/events.out.tfevents.1721746495.0e0da8a72f77.3052.42 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7066d92b4ed9ec901966dcd3b2c4dd6713d9e2670d5c8afcdba341e5ab8430d7 +size 1032 diff --git a/iris/tab_ddpm_concat/3/logs/train_duration_batch/events.out.tfevents.1721746495.0e0da8a72f77.3052.43 b/iris/tab_ddpm_concat/3/logs/train_duration_batch/events.out.tfevents.1721746495.0e0da8a72f77.3052.43 new file mode 100644 index 0000000000000000000000000000000000000000..c34804ff8317da35741276416f2e4f5366abdb61 --- /dev/null +++ b/iris/tab_ddpm_concat/3/logs/train_duration_batch/events.out.tfevents.1721746495.0e0da8a72f77.3052.43 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c4ae981dc2f8392e153dfbef34961abdfc780eebffff2a5455d17950e94460b6 +size 1032 diff --git a/iris/tab_ddpm_concat/3/logs/train_duration_size/events.out.tfevents.1721746495.0e0da8a72f77.3052.44 b/iris/tab_ddpm_concat/3/logs/train_duration_size/events.out.tfevents.1721746495.0e0da8a72f77.3052.44 new file mode 100644 index 0000000000000000000000000000000000000000..d0d76544b31a2846bbc9c5d427a11b2a596aceb1 --- /dev/null +++ b/iris/tab_ddpm_concat/3/logs/train_duration_size/events.out.tfevents.1721746495.0e0da8a72f77.3052.44 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6cfb75f3f8c2534958762a5cb194aa1dd918cad7187e893f3f8c46aad2850c13 +size 1032 diff --git a/iris/tab_ddpm_concat/3/logs/train_n_batch/events.out.tfevents.1721746495.0e0da8a72f77.3052.41 b/iris/tab_ddpm_concat/3/logs/train_n_batch/events.out.tfevents.1721746495.0e0da8a72f77.3052.41 new file mode 100644 index 0000000000000000000000000000000000000000..35730e3b08b48dfced7050bbbf9fa26473f1ec30 --- /dev/null +++ b/iris/tab_ddpm_concat/3/logs/train_n_batch/events.out.tfevents.1721746495.0e0da8a72f77.3052.41 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:222bf9455e21a735135f383771177ae216afe618a9aa8c61d5c05012cac625a7 +size 1032 diff --git a/iris/tab_ddpm_concat/3/logs/train_n_size/events.out.tfevents.1721746495.0e0da8a72f77.3052.40 b/iris/tab_ddpm_concat/3/logs/train_n_size/events.out.tfevents.1721746495.0e0da8a72f77.3052.40 new file mode 100644 index 0000000000000000000000000000000000000000..0242f213b8bbbb26d24e697ebd46e35b090ba9ae --- /dev/null +++ b/iris/tab_ddpm_concat/3/logs/train_n_size/events.out.tfevents.1721746495.0e0da8a72f77.3052.40 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4a5eabfec7bfadabe65dcc5655f440f78019b59ccf90258b243774dad3e311f9 +size 1032 diff --git a/iris/tab_ddpm_concat/3/logs/val_avg_loss/events.out.tfevents.1721746495.0e0da8a72f77.3052.54 b/iris/tab_ddpm_concat/3/logs/val_avg_loss/events.out.tfevents.1721746495.0e0da8a72f77.3052.54 new file mode 100644 index 0000000000000000000000000000000000000000..332d60a3417602bafee7d4fdf80e5b384abb4a8b --- /dev/null +++ b/iris/tab_ddpm_concat/3/logs/val_avg_loss/events.out.tfevents.1721746495.0e0da8a72f77.3052.54 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9a55e870cc982d08d726fe2fcbc0c6880b82f8e08d5eec04311535c4f85588d3 +size 988 diff --git a/iris/tab_ddpm_concat/3/logs/val_avg_non_role_model_embed_loss/events.out.tfevents.1721746495.0e0da8a72f77.3052.53 b/iris/tab_ddpm_concat/3/logs/val_avg_non_role_model_embed_loss/events.out.tfevents.1721746495.0e0da8a72f77.3052.53 new file mode 100644 index 0000000000000000000000000000000000000000..19d84edc47a3be64c37a0ae7bf06375a3ad9f61f --- /dev/null +++ b/iris/tab_ddpm_concat/3/logs/val_avg_non_role_model_embed_loss/events.out.tfevents.1721746495.0e0da8a72f77.3052.53 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:618279903cea714c340c172865c1ccad792e70a23fc42f398f5448aabc62de85 +size 988 diff --git a/iris/tab_ddpm_concat/3/logs/val_avg_non_role_model_g_cos_loss/events.out.tfevents.1721746495.0e0da8a72f77.3052.52 b/iris/tab_ddpm_concat/3/logs/val_avg_non_role_model_g_cos_loss/events.out.tfevents.1721746495.0e0da8a72f77.3052.52 new file mode 100644 index 0000000000000000000000000000000000000000..098d17f437ab147670fb92ddf6395eb4cc0877cc --- /dev/null +++ b/iris/tab_ddpm_concat/3/logs/val_avg_non_role_model_g_cos_loss/events.out.tfevents.1721746495.0e0da8a72f77.3052.52 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bc812be85e9997eeb93b4c88da12df12ad83aebd873e0db0897ae0ab936610e7 +size 988 diff --git a/iris/tab_ddpm_concat/3/logs/val_avg_non_role_model_g_mag_loss/events.out.tfevents.1721746495.0e0da8a72f77.3052.51 b/iris/tab_ddpm_concat/3/logs/val_avg_non_role_model_g_mag_loss/events.out.tfevents.1721746495.0e0da8a72f77.3052.51 new file mode 100644 index 0000000000000000000000000000000000000000..f0661f872c4eb44e7966e00a919658891438a216 --- /dev/null +++ b/iris/tab_ddpm_concat/3/logs/val_avg_non_role_model_g_mag_loss/events.out.tfevents.1721746495.0e0da8a72f77.3052.51 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d6fa9d208542c4f9c46a760327246a091054bc6ef45906e7c2249ee973281254 +size 988 diff --git a/iris/tab_ddpm_concat/3/logs/val_avg_pred_std/events.out.tfevents.1721746495.0e0da8a72f77.3052.60 b/iris/tab_ddpm_concat/3/logs/val_avg_pred_std/events.out.tfevents.1721746495.0e0da8a72f77.3052.60 new file mode 100644 index 0000000000000000000000000000000000000000..54ef5714c07bbb8ffe7ae6d54ec5f11564c25137 --- /dev/null +++ b/iris/tab_ddpm_concat/3/logs/val_avg_pred_std/events.out.tfevents.1721746495.0e0da8a72f77.3052.60 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e20992f9a8316b0950210a669c38bf2930c45c91ee424526f8c300830ede3201 +size 988 diff --git a/iris/tab_ddpm_concat/3/logs/val_avg_role_model_g_cos_loss/events.out.tfevents.1721746495.0e0da8a72f77.3052.50 b/iris/tab_ddpm_concat/3/logs/val_avg_role_model_g_cos_loss/events.out.tfevents.1721746495.0e0da8a72f77.3052.50 new file mode 100644 index 0000000000000000000000000000000000000000..795ab9818d350cb807163ad3011d9501a1ccb5ad --- /dev/null +++ b/iris/tab_ddpm_concat/3/logs/val_avg_role_model_g_cos_loss/events.out.tfevents.1721746495.0e0da8a72f77.3052.50 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:308bae51f9409f31aa59918a179836dbefcd2a717f540bebb7165d6d1b6644a6 +size 988 diff --git a/iris/tab_ddpm_concat/3/logs/val_avg_role_model_g_mag_loss/events.out.tfevents.1721746495.0e0da8a72f77.3052.49 b/iris/tab_ddpm_concat/3/logs/val_avg_role_model_g_mag_loss/events.out.tfevents.1721746495.0e0da8a72f77.3052.49 new file mode 100644 index 0000000000000000000000000000000000000000..2f248a49dabc57148785868a16327cef691896b3 --- /dev/null +++ b/iris/tab_ddpm_concat/3/logs/val_avg_role_model_g_mag_loss/events.out.tfevents.1721746495.0e0da8a72f77.3052.49 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:83e1d7e0ecf3a8ac049930c596ecd344fed4ec96aa1021aac3e18a20ca543156 +size 988 diff --git a/iris/tab_ddpm_concat/3/logs/val_avg_role_model_loss/events.out.tfevents.1721746495.0e0da8a72f77.3052.46 b/iris/tab_ddpm_concat/3/logs/val_avg_role_model_loss/events.out.tfevents.1721746495.0e0da8a72f77.3052.46 new file mode 100644 index 0000000000000000000000000000000000000000..aae5904caa48d224951467ab9dd8e7fa93e4ce00 --- /dev/null +++ b/iris/tab_ddpm_concat/3/logs/val_avg_role_model_loss/events.out.tfevents.1721746495.0e0da8a72f77.3052.46 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b3e78949a2bc21c36ebc698c210090228f2de7ed2106061c3935cd1dd00f846b +size 988 diff --git a/iris/tab_ddpm_concat/3/logs/val_avg_role_model_mean_pred_loss/events.out.tfevents.1721746495.0e0da8a72f77.3052.48 b/iris/tab_ddpm_concat/3/logs/val_avg_role_model_mean_pred_loss/events.out.tfevents.1721746495.0e0da8a72f77.3052.48 new file mode 100644 index 0000000000000000000000000000000000000000..72cfa6a591d6bc59dddd335441568d2a63768b73 --- /dev/null +++ b/iris/tab_ddpm_concat/3/logs/val_avg_role_model_mean_pred_loss/events.out.tfevents.1721746495.0e0da8a72f77.3052.48 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3bdbcdc74e30ce9b0b2ab913ba848ad5a42e20e122ccb3a31d07e78672118e6e +size 988 diff --git a/iris/tab_ddpm_concat/3/logs/val_avg_role_model_std_loss/events.out.tfevents.1721746495.0e0da8a72f77.3052.47 b/iris/tab_ddpm_concat/3/logs/val_avg_role_model_std_loss/events.out.tfevents.1721746495.0e0da8a72f77.3052.47 new file mode 100644 index 0000000000000000000000000000000000000000..74165523ae01dc6bcd3279034480a672d84d10c0 --- /dev/null +++ b/iris/tab_ddpm_concat/3/logs/val_avg_role_model_std_loss/events.out.tfevents.1721746495.0e0da8a72f77.3052.47 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ec36734eb9b854597d2fb108aee3e8fc16973e69c2bc7dea4ea5d52fe8bb006d +size 988 diff --git a/iris/tab_ddpm_concat/3/logs/val_duration/events.out.tfevents.1721746495.0e0da8a72f77.3052.57 b/iris/tab_ddpm_concat/3/logs/val_duration/events.out.tfevents.1721746495.0e0da8a72f77.3052.57 new file mode 100644 index 0000000000000000000000000000000000000000..c723ccbe0cc36d3d8f1e9a5135b83226e4abf7bc --- /dev/null +++ b/iris/tab_ddpm_concat/3/logs/val_duration/events.out.tfevents.1721746495.0e0da8a72f77.3052.57 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d1b52c8ffc8635fe91f74c37782c7c238756c9999c5dd96952a5dcf75bf600c9 +size 988 diff --git a/iris/tab_ddpm_concat/3/logs/val_duration_batch/events.out.tfevents.1721746495.0e0da8a72f77.3052.58 b/iris/tab_ddpm_concat/3/logs/val_duration_batch/events.out.tfevents.1721746495.0e0da8a72f77.3052.58 new file mode 100644 index 0000000000000000000000000000000000000000..88359ba093479c7c7e2df5f3e33da6822b08e2f7 --- /dev/null +++ b/iris/tab_ddpm_concat/3/logs/val_duration_batch/events.out.tfevents.1721746495.0e0da8a72f77.3052.58 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f1be6b819b2142bc99951cd8eb728009e86ec157e18a725fd84e8eabea77f2f4 +size 988 diff --git a/iris/tab_ddpm_concat/3/logs/val_duration_size/events.out.tfevents.1721746495.0e0da8a72f77.3052.59 b/iris/tab_ddpm_concat/3/logs/val_duration_size/events.out.tfevents.1721746495.0e0da8a72f77.3052.59 new file mode 100644 index 0000000000000000000000000000000000000000..368b4a9c9a21212a97b8a5e9f9fa5e977a4343a2 --- /dev/null +++ b/iris/tab_ddpm_concat/3/logs/val_duration_size/events.out.tfevents.1721746495.0e0da8a72f77.3052.59 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:03ce0be8b81aee893fa77f79e231e46b52c1612b163beed27085ea618183fe8a +size 988 diff --git a/iris/tab_ddpm_concat/3/logs/val_n_batch/events.out.tfevents.1721746495.0e0da8a72f77.3052.56 b/iris/tab_ddpm_concat/3/logs/val_n_batch/events.out.tfevents.1721746495.0e0da8a72f77.3052.56 new file mode 100644 index 0000000000000000000000000000000000000000..3eedbb6ed3e84437d74718951a39e3804bb5b378 --- /dev/null +++ b/iris/tab_ddpm_concat/3/logs/val_n_batch/events.out.tfevents.1721746495.0e0da8a72f77.3052.56 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c4e30058a8849a5e28127e9f19c9de6d7ec94f8705112d8c0c3f3ab347fd3674 +size 988 diff --git a/iris/tab_ddpm_concat/3/logs/val_n_size/events.out.tfevents.1721746495.0e0da8a72f77.3052.55 b/iris/tab_ddpm_concat/3/logs/val_n_size/events.out.tfevents.1721746495.0e0da8a72f77.3052.55 new file mode 100644 index 0000000000000000000000000000000000000000..3796df7236ad073d3c367e8dff561febb4701da3 --- /dev/null +++ b/iris/tab_ddpm_concat/3/logs/val_n_size/events.out.tfevents.1721746495.0e0da8a72f77.3052.55 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:16e0535d344454aad27adf96ab444a2b7526ca7cbd373b096333223456092304 +size 988 diff --git a/iris/tab_ddpm_concat/3/mlu-eval.ipynb b/iris/tab_ddpm_concat/3/mlu-eval.ipynb new file mode 100644 index 0000000000000000000000000000000000000000..a1a5a5c556b0dbe060583d3ca40f58c1b1d4cf16 --- /dev/null +++ b/iris/tab_ddpm_concat/3/mlu-eval.ipynb @@ -0,0 +1,2332 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "982e76f5", + "metadata": { + "execution": { + "iopub.execute_input": "2024-07-23T14:52:49.831582Z", + "iopub.status.busy": "2024-07-23T14:52:49.830925Z", + "iopub.status.idle": "2024-07-23T14:52:49.862541Z", + "shell.execute_reply": "2024-07-23T14:52:49.861800Z" + }, + "papermill": { + "duration": 0.047407, + "end_time": "2024-07-23T14:52:49.864823", + "exception": false, + "start_time": "2024-07-23T14:52:49.817416", + "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-23T14:52:49.890807Z", + "iopub.status.busy": "2024-07-23T14:52:49.890455Z", + "iopub.status.idle": "2024-07-23T14:52:49.897551Z", + "shell.execute_reply": "2024-07-23T14:52:49.896661Z" + }, + "papermill": { + "duration": 0.022313, + "end_time": "2024-07-23T14:52:49.899640", + "exception": false, + "start_time": "2024-07-23T14:52:49.877327", + "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-23T14:52:49.924212Z", + "iopub.status.busy": "2024-07-23T14:52:49.923635Z", + "iopub.status.idle": "2024-07-23T14:52:49.928212Z", + "shell.execute_reply": "2024-07-23T14:52:49.927321Z" + }, + "papermill": { + "duration": 0.019258, + "end_time": "2024-07-23T14:52:49.930194", + "exception": false, + "start_time": "2024-07-23T14:52:49.910936", + "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-23T14:52:49.954457Z", + "iopub.status.busy": "2024-07-23T14:52:49.954113Z", + "iopub.status.idle": "2024-07-23T14:52:49.958346Z", + "shell.execute_reply": "2024-07-23T14:52:49.957523Z" + }, + "executionInfo": { + "elapsed": 678, + "status": "ok", + "timestamp": 1696841022168, + "user": { + "displayName": "Rizqi Nur", + "userId": "09644007964068789560" + }, + "user_tz": -420 + }, + "id": "ns5hFcVL2yvs", + "papermill": { + "duration": 0.019116, + "end_time": "2024-07-23T14:52:49.960406", + "exception": false, + "start_time": "2024-07-23T14:52:49.941290", + "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-23T14:52:49.984145Z", + "iopub.status.busy": "2024-07-23T14:52:49.983856Z", + "iopub.status.idle": "2024-07-23T14:52:49.989662Z", + "shell.execute_reply": "2024-07-23T14:52:49.988832Z" + }, + "papermill": { + "duration": 0.019993, + "end_time": "2024-07-23T14:52:49.991636", + "exception": false, + "start_time": "2024-07-23T14:52:49.971643", + "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": "ecc95bbf", + "metadata": { + "execution": { + "iopub.execute_input": "2024-07-23T14:52:50.018277Z", + "iopub.status.busy": "2024-07-23T14:52:50.017957Z", + "iopub.status.idle": "2024-07-23T14:52:50.023101Z", + "shell.execute_reply": "2024-07-23T14:52:50.022268Z" + }, + "papermill": { + "duration": 0.02063, + "end_time": "2024-07-23T14:52:50.025046", + "exception": false, + "start_time": "2024-07-23T14:52:50.004416", + "status": "completed" + }, + "tags": [ + "injected-parameters" + ] + }, + "outputs": [], + "source": [ + "# Parameters\n", + "dataset = \"iris\"\n", + "dataset_name = \"iris\"\n", + "single_model = \"tab_ddpm_concat\"\n", + "gp = True\n", + "gp_multiply = True\n", + "random_seed = 3\n", + "debug = False\n", + "folder = \"eval\"\n", + "path_prefix = \"../../../../\"\n", + "path = \"eval/iris/tab_ddpm_concat/3\"\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.011143, + "end_time": "2024-07-23T14:52:50.048502", + "exception": false, + "start_time": "2024-07-23T14:52:50.037359", + "status": "completed" + }, + "tags": [] + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "5f45b1d0", + "metadata": { + "execution": { + "iopub.execute_input": "2024-07-23T14:52:50.072923Z", + "iopub.status.busy": "2024-07-23T14:52:50.072542Z", + "iopub.status.idle": "2024-07-23T14:52:50.082535Z", + "shell.execute_reply": "2024-07-23T14:52:50.081688Z" + }, + "executionInfo": { + "elapsed": 7, + "status": "ok", + "timestamp": 1696841022169, + "user": { + "displayName": "Rizqi Nur", + "userId": "09644007964068789560" + }, + "user_tz": -420 + }, + "id": "UdvXYv3c3LXy", + "papermill": { + "duration": 0.024691, + "end_time": "2024-07-23T14:52:50.084389", + "exception": false, + "start_time": "2024-07-23T14:52:50.059698", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "/kaggle/working\n", + "/kaggle/working/eval/iris/tab_ddpm_concat/3\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-23T14:52:50.109187Z", + "iopub.status.busy": "2024-07-23T14:52:50.108511Z", + "iopub.status.idle": "2024-07-23T14:52:52.151828Z", + "shell.execute_reply": "2024-07-23T14:52:52.150815Z" + }, + "papermill": { + "duration": 2.058165, + "end_time": "2024-07-23T14:52:52.153922", + "exception": false, + "start_time": "2024-07-23T14:52:50.095757", + "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-23T14:52:52.181651Z", + "iopub.status.busy": "2024-07-23T14:52:52.181152Z", + "iopub.status.idle": "2024-07-23T14:52:52.191926Z", + "shell.execute_reply": "2024-07-23T14:52:52.191128Z" + }, + "papermill": { + "duration": 0.027291, + "end_time": "2024-07-23T14:52:52.193887", + "exception": false, + "start_time": "2024-07-23T14:52:52.166596", + "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-23T14:52:52.218874Z", + "iopub.status.busy": "2024-07-23T14:52:52.218507Z", + "iopub.status.idle": "2024-07-23T14:52:52.225933Z", + "shell.execute_reply": "2024-07-23T14:52:52.225005Z" + }, + "executionInfo": { + "elapsed": 6, + "status": "ok", + "timestamp": 1696841022169, + "user": { + "displayName": "Rizqi Nur", + "userId": "09644007964068789560" + }, + "user_tz": -420 + }, + "id": "Vrl2QkoV3o_8", + "papermill": { + "duration": 0.022688, + "end_time": "2024-07-23T14:52:52.228092", + "exception": false, + "start_time": "2024-07-23T14:52:52.205404", + "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-23T14:52:52.253728Z", + "iopub.status.busy": "2024-07-23T14:52:52.253370Z", + "iopub.status.idle": "2024-07-23T14:52:52.357832Z", + "shell.execute_reply": "2024-07-23T14:52:52.356991Z" + }, + "executionInfo": { + "elapsed": 6, + "status": "ok", + "timestamp": 1696841022169, + "user": { + "displayName": "Rizqi Nur", + "userId": "09644007964068789560" + }, + "user_tz": -420 + }, + "id": "TilUuFk9vqMb", + "papermill": { + "duration": 0.120486, + "end_time": "2024-07-23T14:52:52.360168", + "exception": false, + "start_time": "2024-07-23T14:52:52.239682", + "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-23T14:52:52.387334Z", + "iopub.status.busy": "2024-07-23T14:52:52.386968Z", + "iopub.status.idle": "2024-07-23T14:52:56.922184Z", + "shell.execute_reply": "2024-07-23T14:52:56.921337Z" + }, + "executionInfo": { + "elapsed": 3113, + "status": "ok", + "timestamp": 1696841025277, + "user": { + "displayName": "Rizqi Nur", + "userId": "09644007964068789560" + }, + "user_tz": -420 + }, + "id": "7Abt8nStvr9Z", + "papermill": { + "duration": 4.551791, + "end_time": "2024-07-23T14:52:56.924572", + "exception": false, + "start_time": "2024-07-23T14:52:52.372781", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "2024-07-23 14:52:54.179227: 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 14:52:54.179287: 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 14:52:54.180842: 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-23T14:52:56.950646Z", + "iopub.status.busy": "2024-07-23T14:52:56.949802Z", + "iopub.status.idle": "2024-07-23T14:52:56.956884Z", + "shell.execute_reply": "2024-07-23T14:52:56.955991Z" + }, + "papermill": { + "duration": 0.022111, + "end_time": "2024-07-23T14:52:56.958924", + "exception": false, + "start_time": "2024-07-23T14:52:56.936813", + "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-23T14:52:56.985469Z", + "iopub.status.busy": "2024-07-23T14:52:56.985107Z", + "iopub.status.idle": "2024-07-23T14:52:59.753576Z", + "shell.execute_reply": "2024-07-23T14:52:59.752708Z" + }, + "executionInfo": { + "elapsed": 20137, + "status": "ok", + "timestamp": 1696841045408, + "user": { + "displayName": "Rizqi Nur", + "userId": "09644007964068789560" + }, + "user_tz": -420 + }, + "id": "tbaguWxAvtPi", + "papermill": { + "duration": 2.784681, + "end_time": "2024-07-23T14:52:59.756035", + "exception": false, + "start_time": "2024-07-23T14:52:56.971354", + "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-23T14:52:59.784158Z", + "iopub.status.busy": "2024-07-23T14:52:59.783788Z", + "iopub.status.idle": "2024-07-23T14:52:59.789853Z", + "shell.execute_reply": "2024-07-23T14:52:59.788991Z" + }, + "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.023073, + "end_time": "2024-07-23T14:52:59.791912", + "exception": false, + "start_time": "2024-07-23T14:52:59.768839", + "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-23T14:52:59.817562Z", + "iopub.status.busy": "2024-07-23T14:52:59.817206Z", + "iopub.status.idle": "2024-07-23T14:52:59.822452Z", + "shell.execute_reply": "2024-07-23T14:52:59.821552Z" + }, + "papermill": { + "duration": 0.020515, + "end_time": "2024-07-23T14:52:59.824396", + "exception": false, + "start_time": "2024-07-23T14:52:59.803881", + "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-23T14:52:59.849739Z", + "iopub.status.busy": "2024-07-23T14:52:59.849419Z", + "iopub.status.idle": "2024-07-23T14:52:59.913359Z", + "shell.execute_reply": "2024-07-23T14:52:59.912322Z" + }, + "papermill": { + "duration": 0.079405, + "end_time": "2024-07-23T14:52:59.915799", + "exception": false, + "start_time": "2024-07-23T14:52:59.836394", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "../../../../ml-utility-loss/ synthetics iris\n", + "Caching in ../../../../iris/_cache_aug_test/tab_ddpm_concat/all inf False\n", + "../../../../ml-utility-loss/aug_test/iris 0\n", + "Caching in ../../../../iris/_cache_bs_test/tab_ddpm_concat/all inf False\n", + "../../../../ml-utility-loss/bs_test/iris 0\n", + "Caching in ../../../../iris/_cache_synth_test/tab_ddpm_concat/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-23T14:52:59.943948Z", + "iopub.status.busy": "2024-07-23T14:52:59.943578Z", + "iopub.status.idle": "2024-07-23T14:53:00.526125Z", + "shell.execute_reply": "2024-07-23T14:53:00.525257Z" + }, + "executionInfo": { + "elapsed": 588, + "status": "ok", + "timestamp": 1696841049215, + "user": { + "displayName": "Rizqi Nur", + "userId": "09644007964068789560" + }, + "user_tz": -420 + }, + "id": "NgahtU1q9uLO", + "papermill": { + "duration": 0.598929, + "end_time": "2024-07-23T14:53:00.528275", + "exception": false, + "start_time": "2024-07-23T14:52:59.929346", + "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': 8,\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': ml_utility_loss.activations.LeakyHardsigmoid,\n", + " 'tf_activation': ml_utility_loss.activations.LeakyHardtanh,\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': 8,\n", + " 'epochs': 100,\n", + " 'lr_mul': 0.09999999999999999,\n", + " 'n_warmup_steps': 60,\n", + " 'Optim': functools.partial(, amsgrad=True),\n", + " 'g_loss_mul': 0.2,\n", + " 'd_model': 128,\n", + " 'attn_activation': torch.nn.modules.activation.LeakyReLU,\n", + " 'tf_d_inner': 4,\n", + " 'tf_n_layers_enc': 1,\n", + " 'tf_n_head': 8,\n", + " 'tf_activation_final': ml_utility_loss.activations.LeakyHardtanh,\n", + " 'ada_d_hid': 256,\n", + " 'ada_n_layers': 2,\n", + " 'ada_activation': torch.nn.modules.activation.SELU,\n", + " 'ada_activation_final': ml_utility_loss.activations.LeakyHardtanh,\n", + " 'head_d_hid': 128,\n", + " 'head_n_layers': 7,\n", + " 'head_n_head': 16,\n", + " 'head_activation_final': torch.nn.modules.activation.Sigmoid,\n", + " 'models': ['tab_ddpm_concat'],\n", + " 'fixed_role_model': 'tab_ddpm_concat',\n", + " 'max_seconds': 3600,\n", + " 'tf_lora': False,\n", + " 'tf_num_inds': 4,\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-23T14:53:00.555327Z", + "iopub.status.busy": "2024-07-23T14:53:00.555019Z", + "iopub.status.idle": "2024-07-23T14:53:00.699814Z", + "shell.execute_reply": "2024-07-23T14:53:00.698928Z" + }, + "papermill": { + "duration": 0.160924, + "end_time": "2024-07-23T14:53:00.702209", + "exception": false, + "start_time": "2024-07-23T14:53:00.541285", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "../../../../ml-utility-loss/ synthetics iris\n", + "Caching in ../../../../iris/_cache_aug_train/tab_ddpm_concat/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/tab_ddpm_concat/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/tab_ddpm_concat/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/tab_ddpm_concat/all inf False\n", + "split df ratio is 1\n", + "../../../../ml-utility-loss/bs_val/iris [0, 0]\n", + "Caching in ../../../../iris/_cache_synth/tab_ddpm_concat/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/tab_ddpm_concat/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-23T14:53:00.729836Z", + "iopub.status.busy": "2024-07-23T14:53:00.729520Z", + "iopub.status.idle": "2024-07-23T14:53:01.032962Z", + "shell.execute_reply": "2024-07-23T14:53:01.032053Z" + }, + "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.319629, + "end_time": "2024-07-23T14:53:01.035019", + "exception": false, + "start_time": "2024-07-23T14:53:00.715390", + "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", + "['tab_ddpm_concat'] 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-23T14:53:01.063568Z", + "iopub.status.busy": "2024-07-23T14:53:01.063204Z", + "iopub.status.idle": "2024-07-23T14:53:01.067550Z", + "shell.execute_reply": "2024-07-23T14:53:01.066701Z" + }, + "papermill": { + "duration": 0.021004, + "end_time": "2024-07-23T14:53:01.069482", + "exception": false, + "start_time": "2024-07-23T14:53:01.048478", + "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-23T14:53:01.097318Z", + "iopub.status.busy": "2024-07-23T14:53:01.096637Z", + "iopub.status.idle": "2024-07-23T14:53:01.103349Z", + "shell.execute_reply": "2024-07-23T14:53:01.102531Z" + }, + "papermill": { + "duration": 0.022227, + "end_time": "2024-07-23T14:53:01.105363", + "exception": false, + "start_time": "2024-07-23T14:53:01.083136", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "448005" + ] + }, + "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-23T14:53:01.131339Z", + "iopub.status.busy": "2024-07-23T14:53:01.131080Z", + "iopub.status.idle": "2024-07-23T14:53:01.171338Z", + "shell.execute_reply": "2024-07-23T14:53:01.170426Z" + }, + "papermill": { + "duration": 0.055591, + "end_time": "2024-07-23T14:53:01.173291", + "exception": false, + "start_time": "2024-07-23T14:53:01.117700", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "========================================================================================================================\n", + "Layer (type:depth-idx) Output Shape Param #\n", + "========================================================================================================================\n", + "MLUtilitySingle [2, 120, 5] --\n", + "├─Adapter: 1-1 [2, 120, 5] --\n", + "│ └─Sequential: 2-1 [2, 120, 128] --\n", + "│ │ └─FeedForward: 3-1 [2, 120, 256] --\n", + "│ │ │ └─Linear: 4-1 [2, 120, 256] 1,536\n", + "│ │ │ └─SELU: 4-2 [2, 120, 256] --\n", + "│ │ └─FeedForward: 3-2 [2, 120, 128] --\n", + "│ │ │ └─Linear: 4-3 [2, 120, 128] 32,896\n", + "│ │ │ └─LeakyHardtanh: 4-4 [2, 120, 128] --\n", + "├─Adapter: 1-2 [2, 30, 5] (recursive)\n", + "│ └─Sequential: 2-2 [2, 30, 128] (recursive)\n", + "│ │ └─FeedForward: 3-3 [2, 30, 256] (recursive)\n", + "│ │ │ └─Linear: 4-5 [2, 30, 256] (recursive)\n", + "│ │ │ └─SELU: 4-6 [2, 30, 256] --\n", + "│ │ └─FeedForward: 3-4 [2, 30, 128] (recursive)\n", + "│ │ │ └─Linear: 4-7 [2, 30, 128] (recursive)\n", + "│ │ │ └─LeakyHardtanh: 4-8 [2, 30, 128] --\n", + "├─TwinEncoder: 1-3 [2, 1024] --\n", + "│ └─Encoder: 2-3 [2, 8, 128] --\n", + "│ │ └─ModuleList: 3-6 -- (recursive)\n", + "│ │ │ └─EncoderLayer: 4-9 [2, 8, 128] --\n", + "│ │ │ │ └─SimpleInducedSetAttention: 5-1 [2, 120, 128] --\n", + "│ │ │ │ │ └─TensorInductionPoint: 6-1 [2, 4, 128] 512\n", + "│ │ │ │ │ └─MultiHeadAttention: 6-2 [2, 4, 128] --\n", + "│ │ │ │ │ │ └─Linear: 7-1 [2, 4, 128] 16,384\n", + "│ │ │ │ │ │ └─Linear: 7-2 [2, 120, 128] 16,384\n", + "│ │ │ │ │ │ └─Linear: 7-3 [2, 120, 128] 16,384\n", + "│ │ │ │ │ │ └─ScaledDotProductAttention: 7-4 [2, 8, 4, 16] --\n", + "│ │ │ │ │ │ │ └─Softmax: 8-1 [2, 8, 4, 120] --\n", + "│ │ │ │ │ │ └─Linear: 7-5 [2, 4, 128] 16,512\n", + "│ │ │ │ │ │ └─LeakyReLU: 7-6 [2, 4, 128] --\n", + "│ │ │ │ │ └─MultiHeadAttention: 6-3 [2, 120, 128] --\n", + "│ │ │ │ │ │ └─Linear: 7-7 [2, 120, 128] 16,384\n", + "│ │ │ │ │ │ └─Linear: 7-8 [2, 4, 128] 16,384\n", + "│ │ │ │ │ │ └─Linear: 7-9 [2, 4, 128] 16,384\n", + "│ │ │ │ │ │ └─ScaledDotProductAttention: 7-10 [2, 8, 120, 16] --\n", + "│ │ │ │ │ │ │ └─Softmax: 8-2 [2, 8, 120, 4] --\n", + "│ │ │ │ │ │ └─Linear: 7-11 [2, 120, 128] 16,512\n", + "│ │ │ │ │ │ └─LeakyReLU: 7-12 [2, 120, 128] --\n", + "│ │ │ │ └─DoubleFeedForward: 5-2 [2, 120, 128] --\n", + "│ │ │ │ │ └─Linear: 6-4 [2, 120, 4] 516\n", + "│ │ │ │ │ └─LeakyHardtanh: 6-5 [2, 120, 4] --\n", + "│ │ │ │ │ └─Linear: 6-6 [2, 120, 128] 640\n", + "│ │ │ │ └─PoolingByMultiheadAttention: 5-3 [2, 8, 128] --\n", + "│ │ │ │ │ └─TensorInductionPoint: 6-7 [2, 8, 128] 1,024\n", + "│ │ │ │ │ └─SimpleMultiHeadAttention: 6-8 [2, 8, 128] --\n", + "│ │ │ │ │ │ └─Linear: 7-13 [2, 8, 128] 16,384\n", + "│ │ │ │ │ │ └─Linear: 7-14 [2, 120, 128] 16,384\n", + "│ │ │ │ │ │ └─Linear: 7-15 [2, 120, 128] 16,384\n", + "│ │ │ │ │ │ └─ScaledDotProductAttention: 7-16 [2, 8, 8, 16] --\n", + "│ │ │ │ │ │ │ └─Softmax: 8-3 [2, 8, 8, 120] --\n", + "│ │ │ │ │ │ └─Linear: 7-17 [2, 8, 128] 16,512\n", + "│ │ │ │ │ │ └─LeakyReLU: 7-18 [2, 8, 128] --\n", + "│ └─Encoder: 2-4 [2, 8, 128] (recursive)\n", + "│ │ └─ModuleList: 3-6 -- (recursive)\n", + "│ │ │ └─EncoderLayer: 4-10 [2, 8, 128] (recursive)\n", + "│ │ │ │ └─SimpleInducedSetAttention: 5-4 [2, 30, 128] (recursive)\n", + "│ │ │ │ │ └─TensorInductionPoint: 6-9 [2, 4, 128] (recursive)\n", + "│ │ │ │ │ └─MultiHeadAttention: 6-10 [2, 4, 128] (recursive)\n", + "│ │ │ │ │ │ └─Linear: 7-19 [2, 4, 128] (recursive)\n", + "│ │ │ │ │ │ └─Linear: 7-20 [2, 30, 128] (recursive)\n", + "│ │ │ │ │ │ └─Linear: 7-21 [2, 30, 128] (recursive)\n", + "│ │ │ │ │ │ └─ScaledDotProductAttention: 7-22 [2, 8, 4, 16] --\n", + "│ │ │ │ │ │ │ └─Softmax: 8-4 [2, 8, 4, 30] --\n", + "│ │ │ │ │ │ └─Linear: 7-23 [2, 4, 128] (recursive)\n", + "│ │ │ │ │ │ └─LeakyReLU: 7-24 [2, 4, 128] --\n", + "│ │ │ │ │ └─MultiHeadAttention: 6-11 [2, 30, 128] (recursive)\n", + "│ │ │ │ │ │ └─Linear: 7-25 [2, 30, 128] (recursive)\n", + "│ │ │ │ │ │ └─Linear: 7-26 [2, 4, 128] (recursive)\n", + "│ │ │ │ │ │ └─Linear: 7-27 [2, 4, 128] (recursive)\n", + "│ │ │ │ │ │ └─ScaledDotProductAttention: 7-28 [2, 8, 30, 16] --\n", + "│ │ │ │ │ │ │ └─Softmax: 8-5 [2, 8, 30, 4] --\n", + "│ │ │ │ │ │ └─Linear: 7-29 [2, 30, 128] (recursive)\n", + "│ │ │ │ │ │ └─LeakyReLU: 7-30 [2, 30, 128] --\n", + "│ │ │ │ └─DoubleFeedForward: 5-5 [2, 30, 128] (recursive)\n", + "│ │ │ │ │ └─Linear: 6-12 [2, 30, 4] (recursive)\n", + "│ │ │ │ │ └─LeakyHardtanh: 6-13 [2, 30, 4] --\n", + "│ │ │ │ │ └─Linear: 6-14 [2, 30, 128] (recursive)\n", + "│ │ │ │ └─PoolingByMultiheadAttention: 5-6 [2, 8, 128] (recursive)\n", + "│ │ │ │ │ └─TensorInductionPoint: 6-15 [2, 8, 128] (recursive)\n", + "│ │ │ │ │ └─SimpleMultiHeadAttention: 6-16 [2, 8, 128] (recursive)\n", + "│ │ │ │ │ │ └─Linear: 7-31 [2, 8, 128] (recursive)\n", + "│ │ │ │ │ │ └─Linear: 7-32 [2, 30, 128] (recursive)\n", + "│ │ │ │ │ │ └─Linear: 7-33 [2, 30, 128] (recursive)\n", + "│ │ │ │ │ │ └─ScaledDotProductAttention: 7-34 [2, 8, 8, 16] --\n", + "│ │ │ │ │ │ │ └─Softmax: 8-6 [2, 8, 8, 30] --\n", + "│ │ │ │ │ │ └─Linear: 7-35 [2, 8, 128] (recursive)\n", + "│ │ │ │ │ │ └─LeakyReLU: 7-36 [2, 8, 128] --\n", + "├─Head: 1-4 [2] --\n", + "│ └─Sequential: 2-5 [2, 1] --\n", + "│ │ └─FeedForward: 3-7 [2, 128] --\n", + "│ │ │ └─Linear: 4-11 [2, 128] 131,200\n", + "│ │ │ └─LeakyHardsigmoid: 4-12 [2, 128] --\n", + "│ │ └─FeedForward: 3-8 [2, 128] --\n", + "│ │ │ └─Linear: 4-13 [2, 128] 16,512\n", + "│ │ │ └─LeakyHardsigmoid: 4-14 [2, 128] --\n", + "│ │ └─FeedForward: 3-9 [2, 128] --\n", + "│ │ │ └─Linear: 4-15 [2, 128] 16,512\n", + "│ │ │ └─LeakyHardsigmoid: 4-16 [2, 128] --\n", + "│ │ └─FeedForward: 3-10 [2, 128] --\n", + "│ │ │ └─Linear: 4-17 [2, 128] 16,512\n", + "│ │ │ └─LeakyHardsigmoid: 4-18 [2, 128] --\n", + "│ │ └─FeedForward: 3-11 [2, 128] --\n", + "│ │ │ └─Linear: 4-19 [2, 128] 16,512\n", + "│ │ │ └─LeakyHardsigmoid: 4-20 [2, 128] --\n", + "│ │ └─FeedForward: 3-12 [2, 128] --\n", + "│ │ │ └─Linear: 4-21 [2, 128] 16,512\n", + "│ │ │ └─LeakyHardsigmoid: 4-22 [2, 128] --\n", + "│ │ └─FeedForward: 3-13 [2, 1] --\n", + "│ │ │ └─Linear: 4-23 [2, 1] 129\n", + "│ │ │ └─Sigmoid: 4-24 [2, 1] --\n", + "========================================================================================================================\n", + "Total params: 448,005\n", + "Trainable params: 448,005\n", + "Non-trainable params: 0\n", + "Total mult-adds (M): 1.36\n", + "========================================================================================================================\n", + "Input size (MB): 0.01\n", + "Forward/backward pass size (MB): 3.27\n", + "Params size (MB): 1.79\n", + "Estimated Total Size (MB): 5.07\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-23T14:53:01.202651Z", + "iopub.status.busy": "2024-07-23T14:53:01.202359Z", + "iopub.status.idle": "2024-07-23T15:30:24.214563Z", + "shell.execute_reply": "2024-07-23T15:30:24.213588Z" + }, + "papermill": { + "duration": 2243.046784, + "end_time": "2024-07-23T15:30:24.233911", + "exception": false, + "start_time": "2024-07-23T14:53:01.187127", + "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.2\n", + "Epoch 0\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.036291342401900184, 'avg_role_model_std_loss': 9.613647967049653, 'avg_role_model_mean_pred_loss': 0.00275139284578249, 'avg_role_model_g_mag_loss': 0.008159523364662639, '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.043605739747966575, 'n_size': 805, 'n_batch': 101, 'duration': 91.09181046485901, 'duration_batch': 0.9018991135134555, 'duration_size': 0.11315752852777516, 'avg_pred_std': 0.1680646454638774}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.013122648242861032, 'avg_role_model_std_loss': 0.19204905984748621, 'avg_role_model_mean_pred_loss': 0.0005505479100838783, '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.013122648242861032, 'n_size': 200, 'n_batch': 25, 'duration': 21.680766582489014, 'duration_batch': 0.8672306632995606, 'duration_size': 0.10840383291244507, 'avg_pred_std': 0.23837531089782715}\n", + "Epoch 1\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.01803406994292362, 'avg_role_model_std_loss': 0.7968750392358477, 'avg_role_model_mean_pred_loss': 0.0006104508866654548, 'avg_role_model_g_mag_loss': 0.0007548290909331593, '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.07762242384335917, 'n_size': 805, 'n_batch': 101, 'duration': 92.48554754257202, 'duration_batch': 0.9156984905205151, 'duration_size': 0.11488887893487208, 'avg_pred_std': 0.20356402660507966}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.01477179566398263, 'avg_role_model_std_loss': 0.06712992636181297, 'avg_role_model_mean_pred_loss': 0.0002999522847019938, '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.01477179566398263, 'n_size': 200, 'n_batch': 25, 'duration': 22.284488439559937, 'duration_batch': 0.8913795375823974, 'duration_size': 0.11142244219779968, 'avg_pred_std': 0.25487948954105377}\n", + "Epoch 2\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.011295697196265277, 'avg_role_model_std_loss': 0.6833392431588454, 'avg_role_model_mean_pred_loss': 0.0002381900636637725, 'avg_role_model_g_mag_loss': 2.8184116442011008e-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.01641215796941047, 'n_size': 805, 'n_batch': 101, 'duration': 92.18538856506348, 'duration_batch': 0.912726619456074, 'duration_size': 0.11451601063983041, 'avg_pred_std': 0.20187231874333159}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.006096411682665348, 'avg_role_model_std_loss': 0.2077976295351982, 'avg_role_model_mean_pred_loss': 5.7786306111753396e-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.006096411682665348, 'n_size': 200, 'n_batch': 25, 'duration': 22.22325086593628, 'duration_batch': 0.8889300346374511, 'duration_size': 0.11111625432968139, 'avg_pred_std': 0.21598123788833617}\n", + "Epoch 3\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.009130899310806153, 'avg_role_model_std_loss': 0.622099482935167, 'avg_role_model_mean_pred_loss': 0.00015745707330984312, 'avg_role_model_g_mag_loss': 2.622985228988695e-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.02603167328659607, 'n_size': 805, 'n_batch': 101, 'duration': 92.20356774330139, 'duration_batch': 0.9129066113198158, 'duration_size': 0.11453859346993962, 'avg_pred_std': 0.21439532966048705}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.008542224066331983, 'avg_role_model_std_loss': 0.19804511459573404, 'avg_role_model_mean_pred_loss': 8.781799012325564e-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.008542224066331983, 'n_size': 200, 'n_batch': 25, 'duration': 21.977800369262695, 'duration_batch': 0.8791120147705078, 'duration_size': 0.10988900184631348, 'avg_pred_std': 0.22209442436695098}\n", + "Epoch 4\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.007538152251230634, 'avg_role_model_std_loss': 0.6262158579256706, 'avg_role_model_mean_pred_loss': 8.025142730758717e-05, 'avg_role_model_g_mag_loss': 8.369180495324342e-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.03443632680367424, 'n_size': 805, 'n_batch': 101, 'duration': 87.74771547317505, 'duration_batch': 0.868789262110644, 'duration_size': 0.10900337325860254, 'avg_pred_std': 0.20949126558728737}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.006724292635917664, 'avg_role_model_std_loss': 0.153661529986166, 'avg_role_model_mean_pred_loss': 7.35600011500992e-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.006724292635917664, 'n_size': 200, 'n_batch': 25, 'duration': 19.99750590324402, 'duration_batch': 0.7999002361297607, 'duration_size': 0.09998752951622009, 'avg_pred_std': 0.22667041897773743}\n", + "Epoch 5\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.0073704892989271175, 'avg_role_model_std_loss': 0.543726752706915, 'avg_role_model_mean_pred_loss': 0.00011846785400962025, 'avg_role_model_g_mag_loss': 0.00024665827336518663, '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.00791876494930768, 'n_size': 805, 'n_batch': 101, 'duration': 80.46979761123657, 'duration_batch': 0.7967306694181839, 'duration_size': 0.09996248150464171, 'avg_pred_std': 0.20986553768415261}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.0063422384671866896, 'avg_role_model_std_loss': 0.07834266673075035, 'avg_role_model_mean_pred_loss': 0.00010398663475825742, '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.0063422384671866896, 'n_size': 200, 'n_batch': 25, 'duration': 18.142517566680908, 'duration_batch': 0.7257007026672363, 'duration_size': 0.09071258783340454, 'avg_pred_std': 0.24074191391468047}\n", + "Epoch 6\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.0075338370863764735, 'avg_role_model_std_loss': 0.08155179207226478, 'avg_role_model_mean_pred_loss': 0.00014545378249663363, 'avg_role_model_g_mag_loss': 6.782052726108836e-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.018621662818763103, 'n_size': 805, 'n_batch': 101, 'duration': 76.56598949432373, 'duration_batch': 0.7580791039041953, 'duration_size': 0.09511303042773134, 'avg_pred_std': 0.22243754563871587}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.010225302018225193, 'avg_role_model_std_loss': 0.07855536445247707, 'avg_role_model_mean_pred_loss': 0.0001466249392147745, '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.010225302018225193, 'n_size': 200, 'n_batch': 25, 'duration': 18.052699327468872, 'duration_batch': 0.7221079730987549, 'duration_size': 0.09026349663734436, 'avg_pred_std': 0.23874252796173095}\n", + "Epoch 7\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.007377984847364403, 'avg_role_model_std_loss': 0.2868406507310702, 'avg_role_model_mean_pred_loss': 0.00012698542131570775, 'avg_role_model_g_mag_loss': 2.7809738650085024e-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.01685104184026211, 'n_size': 805, 'n_batch': 101, 'duration': 76.0781717300415, 'duration_batch': 0.7532492250499159, 'duration_size': 0.09450704562738076, 'avg_pred_std': 0.20828711916462028}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.009444874171167612, 'avg_role_model_std_loss': 0.06933180529318633, 'avg_role_model_mean_pred_loss': 0.0001440259456857973, '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.009444874171167612, 'n_size': 200, 'n_batch': 25, 'duration': 18.115092515945435, 'duration_batch': 0.7246037006378174, 'duration_size': 0.09057546257972718, 'avg_pred_std': 0.24495381236076355}\n", + "Epoch 8\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.006473996460160113, 'avg_role_model_std_loss': 0.48053274145265484, 'avg_role_model_mean_pred_loss': 8.845461222305044e-05, 'avg_role_model_g_mag_loss': 1.5811113241527763e-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.05189229827258528, 'n_size': 805, 'n_batch': 101, 'duration': 75.16528582572937, 'duration_batch': 0.7442107507497957, 'duration_size': 0.09337302587047126, 'avg_pred_std': 0.21909826848250213}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.006364351878874004, 'avg_role_model_std_loss': 0.11456766941684692, 'avg_role_model_mean_pred_loss': 9.279455789944269e-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.006364351878874004, 'n_size': 200, 'n_batch': 25, 'duration': 19.066568613052368, 'duration_batch': 0.7626627445220947, 'duration_size': 0.09533284306526184, 'avg_pred_std': 0.23300585627555848}\n", + "Epoch 9\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.0068196402998606425, 'avg_role_model_std_loss': 0.3755717994075025, 'avg_role_model_mean_pred_loss': 0.00011836514854435723, 'avg_role_model_g_mag_loss': 0.00017316189727612904, '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.01499499186080944, 'n_size': 805, 'n_batch': 101, 'duration': 80.94533705711365, 'duration_batch': 0.8014389807635015, 'duration_size': 0.1005532137355449, 'avg_pred_std': 0.20999054654990093}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.0069454485457390545, 'avg_role_model_std_loss': 0.10071827908690466, 'avg_role_model_mean_pred_loss': 7.860407941922221e-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.0069454485457390545, 'n_size': 200, 'n_batch': 25, 'duration': 20.222619771957397, 'duration_batch': 0.8089047908782959, 'duration_size': 0.10111309885978699, 'avg_pred_std': 0.23589576542377472}\n", + "Epoch 10\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.008843339334664323, 'avg_role_model_std_loss': 0.24537422526073258, 'avg_role_model_mean_pred_loss': 0.00014201406557474733, 'avg_role_model_g_mag_loss': 4.1900079564324444e-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.016551140589951913, 'n_size': 805, 'n_batch': 101, 'duration': 79.35159945487976, 'duration_batch': 0.7856594005433639, 'duration_size': 0.09857341547190032, 'avg_pred_std': 0.22331148199737072}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.00959770955145359, 'avg_role_model_std_loss': 0.041332003410789186, 'avg_role_model_mean_pred_loss': 0.0001284683260098518, '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.00959770955145359, 'n_size': 200, 'n_batch': 25, 'duration': 18.032944202423096, 'duration_batch': 0.7213177680969238, 'duration_size': 0.09016472101211548, 'avg_pred_std': 0.25326721906661986}\n", + "Epoch 11\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.006356531196499463, 'avg_role_model_std_loss': 0.3782198460100659, 'avg_role_model_mean_pred_loss': 6.8978879505447e-05, 'avg_role_model_g_mag_loss': 4.314523398505975e-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.006846042315226905, 'n_size': 805, 'n_batch': 101, 'duration': 75.99841976165771, 'duration_batch': 0.7524596016005715, 'duration_size': 0.09440797485920213, 'avg_pred_std': 0.21677931027468478}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.007036921945400536, 'avg_role_model_std_loss': 0.13711122419123056, 'avg_role_model_mean_pred_loss': 9.415043011402808e-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.007036921945400536, 'n_size': 200, 'n_batch': 25, 'duration': 18.122788190841675, 'duration_batch': 0.724911527633667, 'duration_size': 0.09061394095420837, 'avg_pred_std': 0.22965492248535158}\n", + "Epoch 12\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.005912380540882301, 'avg_role_model_std_loss': 0.2341676154593567, 'avg_role_model_mean_pred_loss': 7.411405657434983e-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.005912380540882301, 'n_size': 805, 'n_batch': 101, 'duration': 76.08836531639099, 'duration_batch': 0.7533501516474356, 'duration_size': 0.09451970846756645, 'avg_pred_std': 0.22350824074727474}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.007265017232857645, 'avg_role_model_std_loss': 0.11384457741154279, 'avg_role_model_mean_pred_loss': 0.00012050134637224374, '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.007265017232857645, 'n_size': 200, 'n_batch': 25, 'duration': 18.57159972190857, 'duration_batch': 0.7428639888763428, 'duration_size': 0.09285799860954284, 'avg_pred_std': 0.2338661563396454}\n", + "Epoch 13\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.005896884532680053, 'avg_role_model_std_loss': 0.15942217810624973, 'avg_role_model_mean_pred_loss': 9.097752337072014e-05, 'avg_role_model_g_mag_loss': 2.4632720843605374e-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.005939783680003993, 'n_size': 805, 'n_batch': 101, 'duration': 79.14002180099487, 'duration_batch': 0.783564572287078, 'duration_size': 0.09831058608819239, 'avg_pred_std': 0.21675792985623427}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.006888368967920542, 'avg_role_model_std_loss': 0.07049077784526162, 'avg_role_model_mean_pred_loss': 0.00012954828831766464, '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.006888368967920542, 'n_size': 200, 'n_batch': 25, 'duration': 18.58639693260193, 'duration_batch': 0.7434558773040771, 'duration_size': 0.09293198466300964, 'avg_pred_std': 0.24401052176952362}\n", + "Epoch 14\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.0066343734896978975, 'avg_role_model_std_loss': 0.2488072367485188, 'avg_role_model_mean_pred_loss': 0.00011085429657210026, 'avg_role_model_g_mag_loss': 5.966591538849825e-06, 'avg_role_model_g_cos_loss': 0.0, 'avg_non_role_model_g_mag_loss': 0.0, 'avg_non_role_model_g_cos_loss': 0.0, 'avg_non_role_model_embed_loss': 0.0, 'avg_loss': 0.007081449882167837, 'n_size': 805, 'n_batch': 101, 'duration': 77.49162316322327, 'duration_batch': 0.7672437936952798, 'duration_size': 0.09626288591704754, 'avg_pred_std': 0.21889576495689625}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.0067538260668516155, 'avg_role_model_std_loss': 0.16112240424583432, 'avg_role_model_mean_pred_loss': 7.366671597509366e-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.0067538260668516155, 'n_size': 200, 'n_batch': 25, 'duration': 18.1923668384552, 'duration_batch': 0.727694673538208, 'duration_size': 0.090961834192276, 'avg_pred_std': 0.2258973526954651}\n", + "Epoch 15\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.0055911174344812865, 'avg_role_model_std_loss': 0.2845252660687974, 'avg_role_model_mean_pred_loss': 6.157613314555714e-05, 'avg_role_model_g_mag_loss': 9.348354539515809e-06, 'avg_role_model_g_cos_loss': 0.0, 'avg_non_role_model_g_mag_loss': 0.0, 'avg_non_role_model_g_cos_loss': 0.0, 'avg_non_role_model_embed_loss': 0.0, 'avg_loss': 0.00562975314902778, 'n_size': 805, 'n_batch': 101, 'duration': 76.30395841598511, 'duration_batch': 0.7554847367919317, 'duration_size': 0.0947875259825902, 'avg_pred_std': 0.2124419780355869}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.0066338792117312554, 'avg_role_model_std_loss': 0.18911292934950324, 'avg_role_model_mean_pred_loss': 7.323215405222072e-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.0066338792117312554, 'n_size': 200, 'n_batch': 25, 'duration': 18.09674620628357, 'duration_batch': 0.7238698482513428, 'duration_size': 0.09048373103141785, 'avg_pred_std': 0.22362703680992127}\n", + "Epoch 16\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.0060427696247417366, 'avg_role_model_std_loss': 0.3893703750144132, 'avg_role_model_mean_pred_loss': 8.51109300764322e-05, 'avg_role_model_g_mag_loss': 7.951574758713289e-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.006955635190727363, 'n_size': 805, 'n_batch': 101, 'duration': 77.83368992805481, 'duration_batch': 0.7706305933470773, 'duration_size': 0.09668781357522337, 'avg_pred_std': 0.2187386360388286}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.005087165453005582, 'avg_role_model_std_loss': 0.13347666280904377, 'avg_role_model_mean_pred_loss': 4.190261444193766e-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.005087165453005582, 'n_size': 200, 'n_batch': 25, 'duration': 19.113037824630737, 'duration_batch': 0.7645215129852295, 'duration_size': 0.09556518912315369, 'avg_pred_std': 0.22963309705257415}\n", + "Epoch 17\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.005513405484604354, 'avg_role_model_std_loss': 0.22773699850231346, 'avg_role_model_mean_pred_loss': 7.321764363773209e-05, 'avg_role_model_g_mag_loss': 4.113899971942724e-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.01883920798055041, 'n_size': 805, 'n_batch': 101, 'duration': 79.69086790084839, 'duration_batch': 0.7890184940678058, 'duration_size': 0.09899486695757564, 'avg_pred_std': 0.21317783861172082}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.008442493779584765, 'avg_role_model_std_loss': 0.0835029304208001, 'avg_role_model_mean_pred_loss': 0.00015148092748810737, '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.008442493779584765, 'n_size': 200, 'n_batch': 25, 'duration': 18.27677893638611, 'duration_batch': 0.7310711574554444, 'duration_size': 0.09138389468193055, 'avg_pred_std': 0.24156776547431946}\n", + "Epoch 18\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.00591686438994702, 'avg_role_model_std_loss': 0.24325306459942486, 'avg_role_model_mean_pred_loss': 7.924135118828296e-05, 'avg_role_model_g_mag_loss': 5.530907269220174e-06, 'avg_role_model_g_cos_loss': 0.0, 'avg_non_role_model_g_mag_loss': 0.0, 'avg_non_role_model_g_cos_loss': 0.0, 'avg_non_role_model_embed_loss': 0.0, 'avg_loss': 0.006667100351812861, 'n_size': 805, 'n_batch': 101, 'duration': 76.85100531578064, 'duration_batch': 0.7609010427305014, 'duration_size': 0.09546708734879583, 'avg_pred_std': 0.2264526099851816}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.0061096432991325856, 'avg_role_model_std_loss': 0.13502902742766765, 'avg_role_model_mean_pred_loss': 5.308920259246008e-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.0061096432991325856, 'n_size': 200, 'n_batch': 25, 'duration': 18.08058476448059, 'duration_batch': 0.7232233905792236, 'duration_size': 0.09040292382240295, 'avg_pred_std': 0.22854533851146697}\n", + "Epoch 19\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.005499712386463555, 'avg_role_model_std_loss': 0.5012982771618467, 'avg_role_model_mean_pred_loss': 6.593721300214419e-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.005499712386463555, 'n_size': 805, 'n_batch': 101, 'duration': 77.28571391105652, 'duration_batch': 0.7652050882282824, 'duration_size': 0.09600709802615717, 'avg_pred_std': 0.21378549942654548}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.005320499395020306, 'avg_role_model_std_loss': 0.16377683642160265, 'avg_role_model_mean_pred_loss': 5.518209005231256e-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.005320499395020306, 'n_size': 200, 'n_batch': 25, 'duration': 19.183692693710327, 'duration_batch': 0.7673477077484131, 'duration_size': 0.09591846346855164, 'avg_pred_std': 0.22393818259239195}\n", + "Epoch 20\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.005374926289034463, 'avg_role_model_std_loss': 0.33032953426228945, 'avg_role_model_mean_pred_loss': 6.437564828740322e-05, 'avg_role_model_g_mag_loss': 7.905760166807945e-07, '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.0067886820187364125, 'n_size': 805, 'n_batch': 101, 'duration': 77.28111982345581, 'duration_batch': 0.7651596022124337, 'duration_size': 0.09600139108503827, 'avg_pred_std': 0.2160925804314637}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.007050306210294366, 'avg_role_model_std_loss': 0.20168953415821306, 'avg_role_model_mean_pred_loss': 8.021365183077833e-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.007050306210294366, 'n_size': 200, 'n_batch': 25, 'duration': 18.751020431518555, 'duration_batch': 0.7500408172607422, 'duration_size': 0.09375510215759278, 'avg_pred_std': 0.2217828792333603}\n", + "Epoch 21\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.006107389845347367, 'avg_role_model_std_loss': 0.1994983826907116, 'avg_role_model_mean_pred_loss': 0.0001103997828810178, 'avg_role_model_g_mag_loss': 3.95645011470925e-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.008589921106717417, 'n_size': 805, 'n_batch': 101, 'duration': 78.76627659797668, 'duration_batch': 0.7798641247324424, 'duration_size': 0.09784630633289029, 'avg_pred_std': 0.2262248746903226}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.0067810512334108355, 'avg_role_model_std_loss': 0.16799731640319807, 'avg_role_model_mean_pred_loss': 4.659663203062436e-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.0067810512334108355, 'n_size': 200, 'n_batch': 25, 'duration': 18.570249319076538, 'duration_batch': 0.7428099727630615, 'duration_size': 0.09285124659538269, 'avg_pred_std': 0.22336962282657624}\n", + "Stopped False\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Eval loss {'role_model': 'tab_ddpm_concat', 'n_size': 200, 'n_batch': 25, 'role_model_metrics': {'avg_loss': 0.006236630966886878, 'avg_g_mag_loss': 0.0036867460029839094, 'avg_g_cos_loss': 0.017362661585211756, 'pred_duration': 0.17435288429260254, 'grad_duration': 0.10869002342224121, 'total_duration': 0.28304290771484375, 'pred_std': 0.22791557013988495, 'std_loss': 0.006126572377979755, 'mean_pred_loss': 5.8725323469843715e-05, 'pred_rmse': 0.07897234708070755, 'pred_mae': 0.05690360441803932, 'pred_mape': 0.10229673981666565, 'grad_rmse': 0.06311119347810745, 'grad_mae': 0.04618881642818451, 'grad_mape': 0.8373755812644958}, '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.006236630966886878, 'avg_g_mag_loss': 0.0036867460029839094, 'avg_g_cos_loss': 0.017362661585211756, 'avg_pred_duration': 0.17435288429260254, 'avg_grad_duration': 0.10869002342224121, 'avg_total_duration': 0.28304290771484375, 'avg_pred_std': 0.22791557013988495, 'avg_std_loss': 0.006126572377979755, 'avg_mean_pred_loss': 5.8725323469843715e-05}, 'min_metrics': {'avg_loss': 0.006236630966886878, 'avg_g_mag_loss': 0.0036867460029839094, 'avg_g_cos_loss': 0.017362661585211756, 'pred_duration': 0.17435288429260254, 'grad_duration': 0.10869002342224121, 'total_duration': 0.28304290771484375, 'pred_std': 0.22791557013988495, 'std_loss': 0.006126572377979755, 'mean_pred_loss': 5.8725323469843715e-05, 'pred_rmse': 0.07897234708070755, 'pred_mae': 0.05690360441803932, 'pred_mape': 0.10229673981666565, 'grad_rmse': 0.06311119347810745, 'grad_mae': 0.04618881642818451, 'grad_mape': 0.8373755812644958}, 'model_metrics': {'tab_ddpm_concat': {'avg_loss': 0.006236630966886878, 'avg_g_mag_loss': 0.0036867460029839094, 'avg_g_cos_loss': 0.017362661585211756, 'pred_duration': 0.17435288429260254, 'grad_duration': 0.10869002342224121, 'total_duration': 0.28304290771484375, 'pred_std': 0.22791557013988495, 'std_loss': 0.006126572377979755, 'mean_pred_loss': 5.8725323469843715e-05, 'pred_rmse': 0.07897234708070755, 'pred_mae': 0.05690360441803932, 'pred_mape': 0.10229673981666565, 'grad_rmse': 0.06311119347810745, 'grad_mae': 0.04618881642818451, 'grad_mape': 0.8373755812644958}}}\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-23T15:30:24.270541Z", + "iopub.status.busy": "2024-07-23T15:30:24.269747Z", + "iopub.status.idle": "2024-07-23T15:30:24.274101Z", + "shell.execute_reply": "2024-07-23T15:30:24.273353Z" + }, + "papermill": { + "duration": 0.024683, + "end_time": "2024-07-23T15:30:24.275950", + "exception": false, + "start_time": "2024-07-23T15:30:24.251267", + "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-23T15:30:24.310015Z", + "iopub.status.busy": "2024-07-23T15:30:24.309732Z", + "iopub.status.idle": "2024-07-23T15:30:24.327186Z", + "shell.execute_reply": "2024-07-23T15:30:24.326333Z" + }, + "papermill": { + "duration": 0.036876, + "end_time": "2024-07-23T15:30:24.329171", + "exception": false, + "start_time": "2024-07-23T15:30:24.292295", + "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-23T15:30:24.363865Z", + "iopub.status.busy": "2024-07-23T15:30:24.363215Z", + "iopub.status.idle": "2024-07-23T15:30:24.652567Z", + "shell.execute_reply": "2024-07-23T15:30:24.651729Z" + }, + "papermill": { + "duration": 0.309046, + "end_time": "2024-07-23T15:30:24.654519", + "exception": false, + "start_time": "2024-07-23T15:30:24.345473", + "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-23T15:30:24.692359Z", + "iopub.status.busy": "2024-07-23T15:30:24.692066Z", + "iopub.status.idle": "2024-07-23T15:30:44.448564Z", + "shell.execute_reply": "2024-07-23T15:30:44.447724Z" + }, + "papermill": { + "duration": 19.777825, + "end_time": "2024-07-23T15:30:44.450925", + "exception": false, + "start_time": "2024-07-23T15:30:24.673100", + "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-23T15:30:44.489516Z", + "iopub.status.busy": "2024-07-23T15:30:44.489194Z", + "iopub.status.idle": "2024-07-23T15:30:44.509228Z", + "shell.execute_reply": "2024-07-23T15:30:44.508277Z" + }, + "papermill": { + "duration": 0.041275, + "end_time": "2024-07-23T15:30:44.511253", + "exception": false, + "start_time": "2024-07-23T15:30:44.469978", + "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
tab_ddpm_concat0.0103020.0028780.0062370.1083440.0461890.8373760.0631110.0000590.1766570.0569040.1022970.0789720.2279160.0061270.285
\n", + "
" + ], + "text/plain": [ + " avg_g_cos_loss avg_g_mag_loss avg_loss grad_duration \\\n", + "tab_ddpm_concat 0.010302 0.002878 0.006237 0.108344 \n", + "\n", + " grad_mae grad_mape grad_rmse mean_pred_loss \\\n", + "tab_ddpm_concat 0.046189 0.837376 0.063111 0.000059 \n", + "\n", + " pred_duration pred_mae pred_mape pred_rmse pred_std \\\n", + "tab_ddpm_concat 0.176657 0.056904 0.102297 0.078972 0.227916 \n", + "\n", + " std_loss total_duration \n", + "tab_ddpm_concat 0.006127 0.285 " + ] + }, + "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-23T15:30:44.548244Z", + "iopub.status.busy": "2024-07-23T15:30:44.547498Z", + "iopub.status.idle": "2024-07-23T15:30:44.813134Z", + "shell.execute_reply": "2024-07-23T15:30:44.812133Z" + }, + "papermill": { + "duration": 0.286504, + "end_time": "2024-07-23T15:30:44.815363", + "exception": false, + "start_time": "2024-07-23T15:30:44.528859", + "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-23T15:30:44.854086Z", + "iopub.status.busy": "2024-07-23T15:30:44.853183Z", + "iopub.status.idle": "2024-07-23T15:31:05.517108Z", + "shell.execute_reply": "2024-07-23T15:31:05.516086Z" + }, + "papermill": { + "duration": 20.685863, + "end_time": "2024-07-23T15:31:05.519678", + "exception": false, + "start_time": "2024-07-23T15:30:44.833815", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Caching in ../../../../iris/_cache_aug_test/tab_ddpm_concat/all inf False\n", + "Caching in ../../../../iris/_cache_bs_test/tab_ddpm_concat/all inf False\n", + "Caching in ../../../../iris/_cache_synth_test/tab_ddpm_concat/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-23T15:31:05.558702Z", + "iopub.status.busy": "2024-07-23T15:31:05.557750Z", + "iopub.status.idle": "2024-07-23T15:31:05.572194Z", + "shell.execute_reply": "2024-07-23T15:31:05.571461Z" + }, + "papermill": { + "duration": 0.035809, + "end_time": "2024-07-23T15:31:05.574123", + "exception": false, + "start_time": "2024-07-23T15:31:05.538314", + "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-23T15:31:05.611123Z", + "iopub.status.busy": "2024-07-23T15:31:05.610411Z", + "iopub.status.idle": "2024-07-23T15:31:05.615546Z", + "shell.execute_reply": "2024-07-23T15:31:05.614676Z" + }, + "papermill": { + "duration": 0.025381, + "end_time": "2024-07-23T15:31:05.617520", + "exception": false, + "start_time": "2024-07-23T15:31:05.592139", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'tab_ddpm_concat': 0.738914426714182}\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-23T15:31:05.653593Z", + "iopub.status.busy": "2024-07-23T15:31:05.653340Z", + "iopub.status.idle": "2024-07-23T15:31:06.022438Z", + "shell.execute_reply": "2024-07-23T15:31:06.021464Z" + }, + "papermill": { + "duration": 0.389667, + "end_time": "2024-07-23T15:31:06.024576", + "exception": false, + "start_time": "2024-07-23T15:31:05.634909", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from ml_utility_loss.loss_learning.visualization import plot_pred_density_2\n", + "\n", + "_ = plot_pred_density_2(y)" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "id": "e79e4b0f", + "metadata": { + "execution": { + "iopub.execute_input": "2024-07-23T15:31:06.063706Z", + "iopub.status.busy": "2024-07-23T15:31:06.063407Z", + "iopub.status.idle": "2024-07-23T15:31:06.384154Z", + "shell.execute_reply": "2024-07-23T15:31:06.383251Z" + }, + "papermill": { + "duration": 0.342493, + "end_time": "2024-07-23T15:31:06.386179", + "exception": false, + "start_time": "2024-07-23T15:31:06.043686", + "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-23T15:31:06.426669Z", + "iopub.status.busy": "2024-07-23T15:31:06.426348Z", + "iopub.status.idle": "2024-07-23T15:31:06.663780Z", + "shell.execute_reply": "2024-07-23T15:31:06.662799Z" + }, + "papermill": { + "duration": 0.260478, + "end_time": "2024-07-23T15:31:06.665972", + "exception": false, + "start_time": "2024-07-23T15:31:06.405494", + "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-23T15:31:06.707529Z", + "iopub.status.busy": "2024-07-23T15:31:06.707183Z", + "iopub.status.idle": "2024-07-23T15:31:07.012128Z", + "shell.execute_reply": "2024-07-23T15:31:07.011232Z" + }, + "papermill": { + "duration": 0.328251, + "end_time": "2024-07-23T15:31:07.014368", + "exception": false, + "start_time": "2024-07-23T15:31:06.686117", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "image/png": "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9Xz27NmiU6dO5T7+p59+EjqdTpw9e9a1bc2aNR4V3IIFC654vmHDhomnn35aCHHl99tstYkcs1VYbO6fG18oODlFDUA+23KSvvP+x2dbTvpNhrfffpuuXbsSHR1NaGgo77//PsnJyW5jOnXqRHBwsOt57969yc7O5tSpU2We++jRo1gsFnr27OnaVqdOHVq3bu16vn//fnQ6HV27dnVta9OmDZGRkSXO17t37xLP9+/f77bt2muvdf0fExMDQMeOHd22nTt3rky5QZ02nzlzhptvvtnj/v3799OoUSO3kvft2rUjMjLSTaamTZu6VaONi4tzXX///v2YzeZSrwGwfPly+vbtS2xsLKGhocycObPE++MNBw8epFGjRsTGxrq29ejRw+PYbt26uT232+3MmTOHjh07UqdOHUJDQ/n5559d8lzp/XZNUSssfelIBReALPr1KCmX81j061G/XH/ZsmVMnjyZCRMm8Msvv7B7927Gjx9fbv9aIKLX613/O/08xbc5HI4SxxXHV2l4Ra9d/PpXukZSUhL33HMPQ4cOZeXKlezatYtnn322yt6fkJAQt+evvvoqCxcuZOrUqaxbt47du3czaNCgcskjii4w+HqFAangApJHbmxBg8ggHrmxRZVcz2AwYLfbXc83bdpEnz59ePTRR+nSpQstW7bk6NGSyvaPP/4gLy/P9XzLli2EhoZesWFPixYt0Ov1bN261bXt0qVLHDp0yPW8TZs22Gw2duzY4dp28OBBLl++XOJ8W7ZsKfG8bdu2ZcpQUcLCwmjatCmJiYke97dt25ZTp065WbH79u3j8uXLtGvXrlzXaNWqFUFBQaVeY/PmzTRp0oRnn32Wbt260apVK06edLf2i7+nV6J169acOnXKbTFk27Zt5Tp206ZN3Hbbbdx777106tSJ5s2bu72XV3q/Bar1VhkWnMxkCEDu7dWEe3s1qbLrNW3alK1bt3LixAlCQ0Np1aoVn3zyCT///DPNmjXj008/Zdu2bTRr1sztOIvFwoQJE5g5cyYnTpxg9uzZPP7441fMIQwNDWXChAlMmTKFunXrUr9+fZ599lm341q3bs3gwYN56KGHWLRoETqdjn/+858erZuvvvqKbt260a9fP5YuXcrvv//O//3f//nm5njg+eef5+GHH6Z+/foMGTKErKwsNm3axMSJE0lISKBjx47c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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.020647, + "end_time": "2024-07-23T15:31:07.055376", + "exception": false, + "start_time": "2024-07-23T15:31:07.034729", + "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": 2301.124018, + "end_time": "2024-07-23T15:31:09.481175", + "environment_variables": {}, + "exception": null, + "input_path": "eval/iris/tab_ddpm_concat/3/mlu-eval.ipynb", + "output_path": "eval/iris/tab_ddpm_concat/3/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/tab_ddpm_concat/3", + "path_prefix": "../../../../", + "random_seed": 3, + "single_model": "tab_ddpm_concat" + }, + "start_time": "2024-07-23T14:52:48.357157", + "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/tab_ddpm_concat/3/model.pt b/iris/tab_ddpm_concat/3/model.pt new file mode 100644 index 0000000000000000000000000000000000000000..8d6e1fedaedcd4144fc74d09a2094093d75d7943 --- /dev/null +++ b/iris/tab_ddpm_concat/3/model.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:64c62bacdd36c20c4133ee00cd5989ce865a101edbf7b9a0563f89b0e4c9aa4c +size 1811678 diff --git a/iris/tab_ddpm_concat/3/params.json b/iris/tab_ddpm_concat/3/params.json new file mode 100644 index 0000000000000000000000000000000000000000..f7d9d222aa88f08a148fe83399adc6f657cab573 --- /dev/null +++ b/iris/tab_ddpm_concat/3/params.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d3f4c9fb8a783ba2afd862721012e99b0875b9e45c40935f3eecf2f741aba8ad +size 1938 diff --git a/iris/tab_ddpm_concat/3/pred/error.csv b/iris/tab_ddpm_concat/3/pred/error.csv new file mode 100644 index 0000000000000000000000000000000000000000..6c62ad5beffbf2c0af658663af839666c408f067 --- /dev/null +++ b/iris/tab_ddpm_concat/3/pred/error.csv @@ -0,0 +1,201 @@ +,tab_ddpm_concat +0,-0.019165933 +1,0.23240054 +2,0.008161783 +3,-0.10257214 +4,-0.017761648 +5,0.1922535 +6,-0.044552505 +7,-0.10720664 +8,-0.0049434304 +9,-0.082552314 +10,0.004912317 +11,-0.02370727 +12,0.0021035075 +13,-0.07595563 +14,0.07755709 +15,-0.07973498 +16,-0.006614238 +17,0.10033786 +18,0.0028287768 +19,-0.08951157 +20,-0.019165978 +21,0.29626322 +22,0.005002022 +23,-0.053747952 +24,-0.01749891 +25,0.020636678 +26,-0.042892694 +27,-0.09002769 +28,-0.005030647 +29,0.016618967 +30,0.046590447 +31,-0.016130865 +32,0.0016139448 +33,0.04832053 +34,-0.10213822 +35,-0.09533429 +36,-0.0066149384 +37,0.098089755 +38,0.0311414 +39,-0.10348147 +40,-0.0070290565 +41,-0.057778 +42,-0.02656877 +43,0.11055589 +44,-0.003290847 +45,-0.007839382 +46,-0.081843615 +47,-0.09530872 +48,-0.007221505 +49,0.04812759 +50,-0.0077908635 +51,0.0703153 +52,0.0016147196 +53,0.0021635294 +54,-0.08864337 +55,-0.0452981 +56,0.16023491 +57,0.12422764 +58,-0.052259028 +59,0.030627966 +60,0.009683937 +61,-0.033762574 +62,-0.021979451 +63,-0.06812942 +64,-0.06766206 +65,0.010764062 +66,-0.011896849 +67,-0.075847685 +68,0.02519244 +69,-0.020263433 +70,0.055740237 +71,0.117639184 +72,-0.016642094 +73,-0.11778617 +74,-0.045481503 +75,-0.15593654 +76,-0.03673476 +77,0.00018441677 +78,0.03022784 +79,-0.04031068 +80,-0.0453628 +81,-0.028882444 +82,-0.035947084 +83,-0.047092557 +84,0.03910142 +85,-0.019282997 +86,-0.00046861172 +87,-0.040352046 +88,0.18211742 +89,-0.078810036 +90,0.025590181 +91,0.00039088726 +92,-0.01748997 +93,-0.15937197 +94,-0.060652733 +95,-0.1263451 +96,0.009056836 +97,-0.030256808 +98,0.010643542 +99,-0.05413747 +100,-0.049087435 +101,-0.027800024 +102,-0.0402444 +103,-0.049004078 +104,0.09127094 +105,0.028799772 +106,-0.06866604 +107,-0.032862365 +108,0.19333856 +109,0.04324943 +110,0.05109501 +111,0.01617843 +112,-0.03275436 +113,-0.12542814 +114,-0.12037742 +115,-0.08898425 +116,0.23182459 +117,0.019637883 +118,0.025422454 +119,-0.051155806 +120,0.0042949915 +121,-0.033932686 +122,-0.02868718 +123,-0.050504327 +124,-0.04048133 +125,0.02919209 +126,0.03333968 +127,0.002623558 +128,-0.10586044 +129,-0.058416963 +130,-0.0076417327 +131,-0.092229545 +132,-0.028155804 +133,-0.11135185 +134,-0.04106337 +135,-0.08648902 +136,-0.074579954 +137,-0.018135011 +138,-0.0023488402 +139,0.18346345 +140,-0.058142573 +141,0.06529647 +142,0.043996274 +143,-0.074617565 +144,-0.002076149 +145,-0.019453287 +146,-0.042935193 +147,0.09463322 +148,0.15071122 +149,0.009600937 +150,-0.006484568 +151,-0.0577752 +152,-0.0066910386 +153,-0.1614337 +154,-0.06936228 +155,-0.101276994 +156,0.095172524 +157,-0.009549797 +158,0.024442792 +159,0.028907359 +160,-0.0546349 +161,0.08956045 +162,-0.0246225 +163,-0.05404097 +164,-0.00507921 +165,-0.01036191 +166,-0.07113302 +167,-0.019798756 +168,0.2121529 +169,0.08032721 +170,-0.006973982 +171,-0.08453208 +172,-0.0021950006 +173,-0.11815357 +174,-0.08657861 +175,-0.08862054 +176,0.1469641 +177,-0.016878963 +178,-0.0035299063 +179,0.017388701 +180,0.042679936 +181,0.19304854 +182,-0.030630052 +183,-0.044638693 +184,-0.011087418 +185,0.022200346 +186,-0.0711987 +187,0.01735282 +188,-0.06764951 +189,0.014400244 +190,-0.007433355 +191,-0.113897145 +192,0.017337143 +193,-0.12436283 +194,0.027058661 +195,-0.024972022 +196,-0.30042547 +197,-0.038729787 +198,-0.025414348 +199,0.05701202 diff --git a/iris/tab_ddpm_concat/3/pred/g.csv b/iris/tab_ddpm_concat/3/pred/g.csv new file mode 100644 index 0000000000000000000000000000000000000000..0e1a3cc7efac8db01bbdac3182a2ac8e6c83cbb3 --- /dev/null +++ b/iris/tab_ddpm_concat/3/pred/g.csv @@ -0,0 +1,201 @@ +,tab_ddpm_concat +0,0.019165933 +1,0.23240054 +2,0.008161783 +3,0.10257214 +4,0.017761648 +5,0.1922535 +6,0.044552505 +7,0.10720664 +8,0.0049434304 +9,0.082552314 +10,0.004912317 +11,0.02370727 +12,0.0021035075 +13,0.07595563 +14,0.07755709 +15,0.07973498 +16,0.006614238 +17,0.10033786 +18,0.0028287768 +19,0.08951157 +20,0.019165978 +21,0.29626322 +22,0.005002022 +23,0.053747952 +24,0.01749891 +25,0.020636678 +26,0.042892694 +27,0.09002769 +28,0.005030647 +29,0.016618967 +30,0.046590447 +31,0.016130865 +32,0.0016139448 +33,0.04832053 +34,0.10213822 +35,0.09533429 +36,0.0066149384 +37,0.098089755 +38,0.0311414 +39,0.10348147 +40,0.0070290565 +41,0.057778 +42,0.02656877 +43,0.11055589 +44,0.003290847 +45,0.007839382 +46,0.081843615 +47,0.09530872 +48,0.007221505 +49,0.04812759 +50,0.0077908635 +51,0.0703153 +52,0.0016147196 +53,0.0021635294 +54,0.08864337 +55,0.0452981 +56,0.16023491 +57,0.12422764 +58,0.052259028 +59,0.030627966 +60,0.009683937 +61,0.033762574 +62,0.021979451 +63,0.06812942 +64,0.06766206 +65,0.010764062 +66,0.011896849 +67,0.075847685 +68,0.02519244 +69,0.020263433 +70,0.055740237 +71,0.117639184 +72,0.016642094 +73,0.11778617 +74,0.045481503 +75,0.15593654 +76,0.03673476 +77,0.00018441677 +78,0.03022784 +79,0.04031068 +80,0.0453628 +81,0.028882444 +82,0.035947084 +83,0.047092557 +84,0.03910142 +85,0.019282997 +86,0.00046861172 +87,0.040352046 +88,0.18211742 +89,0.078810036 +90,0.025590181 +91,0.00039088726 +92,0.01748997 +93,0.15937197 +94,0.060652733 +95,0.1263451 +96,0.009056836 +97,0.030256808 +98,0.010643542 +99,0.05413747 +100,0.049087435 +101,0.027800024 +102,0.0402444 +103,0.049004078 +104,0.09127094 +105,0.028799772 +106,0.06866604 +107,0.032862365 +108,0.19333856 +109,0.04324943 +110,0.05109501 +111,0.01617843 +112,0.03275436 +113,0.12542814 +114,0.12037742 +115,0.08898425 +116,0.23182459 +117,0.019637883 +118,0.025422454 +119,0.051155806 +120,0.0042949915 +121,0.033932686 +122,0.02868718 +123,0.050504327 +124,0.04048133 +125,0.02919209 +126,0.03333968 +127,0.002623558 +128,0.10586044 +129,0.058416963 +130,0.0076417327 +131,0.092229545 +132,0.028155804 +133,0.11135185 +134,0.04106337 +135,0.08648902 +136,0.074579954 +137,0.018135011 +138,0.0023488402 +139,0.18346345 +140,0.058142573 +141,0.06529647 +142,0.043996274 +143,0.074617565 +144,0.002076149 +145,0.019453287 +146,0.042935193 +147,0.09463322 +148,0.15071122 +149,0.009600937 +150,0.006484568 +151,0.0577752 +152,0.0066910386 +153,0.1614337 +154,0.06936228 +155,0.101276994 +156,0.095172524 +157,0.009549797 +158,0.024442792 +159,0.028907359 +160,0.0546349 +161,0.08956045 +162,0.0246225 +163,0.05404097 +164,0.00507921 +165,0.01036191 +166,0.07113302 +167,0.019798756 +168,0.2121529 +169,0.08032721 +170,0.006973982 +171,0.08453208 +172,0.0021950006 +173,0.11815357 +174,0.08657861 +175,0.08862054 +176,0.1469641 +177,0.016878963 +178,0.0035299063 +179,0.017388701 +180,0.042679936 +181,0.19304854 +182,0.030630052 +183,0.044638693 +184,0.011087418 +185,0.022200346 +186,0.0711987 +187,0.01735282 +188,0.06764951 +189,0.014400244 +190,0.007433355 +191,0.113897145 +192,0.017337143 +193,0.12436283 +194,0.027058661 +195,0.024972022 +196,0.30042547 +197,0.038729787 +198,0.025414348 +199,0.05701202 diff --git a/iris/tab_ddpm_concat/3/pred/grad.csv b/iris/tab_ddpm_concat/3/pred/grad.csv new file mode 100644 index 0000000000000000000000000000000000000000..51e86a79dc9b13ce6c1d49734bfb1627413d9e26 --- /dev/null +++ b/iris/tab_ddpm_concat/3/pred/grad.csv @@ -0,0 +1,201 @@ +,tab_ddpm_concat +0,0.00016038903 +1,0.030572867 +2,0.0008937601 +3,0.016533691 +4,0.0013443104 +5,0.056047164 +6,0.0035444587 +7,0.023929786 +8,0.0006182941 +9,0.017480547 +10,0.00060230296 +11,0.005978599 +12,0.00030658836 +13,0.011108477 +14,0.020479746 +15,0.009586348 +16,0.00019710581 +17,0.025563963 +18,0.00042828856 +19,0.02861625 +20,0.00016038769 +21,0.0748385 +22,0.000816682 +23,0.009290923 +24,0.001282197 +25,0.0028130694 +26,0.0037182004 +27,0.0125566395 +28,0.00062218437 +29,0.0027985284 +30,0.006141781 +31,0.0018301917 +32,0.00021199555 +33,0.013962678 +34,0.02028294 +35,0.0114864595 +36,0.00019711323 +37,0.036882985 +38,0.004767146 +39,0.021908028 +40,0.0027266005 +41,0.00976986 +42,0.0043415874 +43,0.022037996 +44,0.0004973989 +45,0.0008794273 +46,0.0075836615 +47,0.0115335025 +48,5.0506223e-05 +49,0.0059512104 +50,0.0009555055 +51,0.01382911 +52,0.00021209895 +53,0.00042974539 +54,0.023142241 +55,0.012046287 +56,0.06922494 +57,0.020979874 +58,0.0069623548 +59,0.008720561 +60,0.0035307468 +61,0.004276585 +62,0.0029350838 +63,0.0054401923 +64,0.009521659 +65,0.00147126 +66,0.0010444303 +67,0.009597917 +68,0.010100837 +69,0.0019259288 +70,0.006193114 +71,0.015301253 +72,0.002479726 +73,0.022021832 +74,0.01060508 +75,0.033749215 +76,0.008560753 +77,2.7007069e-05 +78,0.0039680162 +79,0.008527432 +80,0.0109530715 +81,0.0029745388 +82,0.005002864 +83,0.0061357007 +84,0.008219374 +85,0.0014124445 +86,3.3787965e-05 +87,0.0046011196 +88,0.057182588 +89,0.0069269007 +90,0.0029210064 +91,5.8972455e-05 +92,0.0026156036 +93,0.024856571 +94,0.016875526 +95,0.033458512 +96,0.0019874661 +97,0.0040197684 +98,0.0019271491 +99,0.0065026446 +100,0.010383017 +101,0.00264744 +102,0.0063130064 +103,0.0060734004 +104,0.019477312 +105,0.001936735 +106,0.0049571022 +107,0.0046093543 +108,0.06220605 +109,0.004319921 +110,0.006401581 +111,0.0023670993 +112,0.0054805544 +113,0.020726202 +114,0.027078824 +115,0.018346218 +116,0.05529924 +117,0.002457767 +118,0.0038468277 +119,0.00639962 +120,0.00056221674 +121,0.0047946596 +122,0.0037387959 +123,0.0067258934 +124,0.0059363353 +125,0.0021893708 +126,0.0025263827 +127,0.0003200728 +128,0.028105993 +129,0.0063720387 +130,0.0009363465 +131,0.016132714 +132,0.004744071 +133,0.019967917 +134,0.011281495 +135,0.017074233 +136,0.017968938 +137,0.0017799159 +138,0.00044424034 +139,0.016900087 +140,0.013920246 +141,0.012405515 +142,0.0060194996 +143,0.010661032 +144,0.0003114433 +145,0.0019840603 +146,0.003230483 +147,0.013573433 +148,0.038436167 +149,0.0013863802 +150,0.0008961825 +151,0.009945847 +152,0.00087053736 +153,0.030357148 +154,0.017827386 +155,0.020608809 +156,0.021563984 +157,0.00078273437 +158,0.0036815272 +159,0.0037995684 +160,0.0119431615 +161,0.014291131 +162,0.0030623632 +163,0.0077071018 +164,0.0007911041 +165,0.0009468683 +166,0.0058167498 +167,0.0024002916 +168,0.042345416 +169,0.011213464 +170,0.00085428945 +171,0.013055525 +172,0.00030138026 +173,0.026201932 +174,0.024234269 +175,0.01825407 +176,0.03926688 +177,0.0016432578 +178,0.0005519671 +179,0.002250038 +180,0.009776089 +181,0.019451063 +182,0.0040418203 +183,0.0057349214 +184,0.0018628378 +185,0.0020457832 +186,0.005682169 +187,0.002142455 +188,0.019260682 +189,0.001571457 +190,0.0009643493 +191,0.015460231 +192,0.0022039162 +193,0.02516701 +194,0.007815896 +195,0.0042967615 +196,0.058541466 +197,0.0038893402 +198,0.004310238 +199,0.00713581 diff --git a/iris/tab_ddpm_concat/3/pred/pred.csv b/iris/tab_ddpm_concat/3/pred/pred.csv new file mode 100644 index 0000000000000000000000000000000000000000..10118885eb4b26dd75965edd801539d239325030 --- /dev/null +++ b/iris/tab_ddpm_concat/3/pred/pred.csv @@ -0,0 +1,201 @@ +,tab_ddpm_concat +0,0.15969585 +1,0.58324593 +2,0.9105427 +3,0.8304098 +4,0.16110013 +5,0.6017773 +6,0.9220306 +7,0.85869277 +8,0.16172324 +9,0.5761524 +10,0.9028302 +11,0.8226324 +12,0.16877018 +13,0.551941 +14,0.7961078 +15,0.7059793 +16,0.16005243 +17,0.54406255 +18,0.86882204 +19,0.8129585 +20,0.1596958 +21,0.80939454 +22,0.90810496 +23,0.848633 +24,0.16136287 +25,0.8501337 +26,0.9253613 +27,0.87449145 +28,0.16163602 +29,0.8225353 +30,0.9123926 +31,0.8645709 +32,0.16828062 +33,0.6434202 +34,0.77746046 +35,0.8046485 +36,0.16005173 +37,0.76475644 +38,0.8629068 +39,0.8338405 +40,0.4096376 +41,0.85460293 +42,0.91535044 +43,0.8578039 +44,0.17557094 +45,0.88549393 +46,0.9181564 +47,0.8712744 +48,0.15944517 +49,0.8540439 +50,0.9208891 +51,0.84416586 +52,0.16828139 +53,0.72121114 +54,0.80719525 +55,0.79068077 +56,0.38245714 +57,0.8484446 +58,0.88506293 +59,0.83601516 +60,0.4263506 +61,0.87861836 +62,0.91993976 +63,0.86485255 +64,0.5022304 +65,0.90576446 +66,0.9213529 +67,0.89073545 +68,0.39570525 +69,0.9003715 +70,0.9215424 +71,0.8506634 +72,0.5547865 +73,0.7679281 +74,0.79049736 +75,0.7690635 +76,0.40488654 +77,0.8779622 +78,0.8962211 +79,0.868592 +80,0.4361187 +81,0.8834985 +82,0.9059721 +83,0.89482665 +84,0.48525527 +85,0.9133769 +86,0.9337475 +87,0.8923079 +88,0.40433964 +89,0.8796759 +90,0.92350805 +91,0.87261313 +92,0.5539386 +93,0.7202267 +94,0.8115143 +95,0.804766 +96,0.39000922 +97,0.8786459 +98,0.874783 +99,0.88525647 +100,0.43239406 +101,0.8845809 +102,0.9016748 +103,0.8929151 +104,0.2579376 +105,0.9238002 +106,0.93133396 +107,0.8983546 +108,0.41556078 +109,0.885842 +110,0.9168972 +111,0.8868337 +112,0.53867424 +113,0.76028615 +114,0.7754612 +115,0.80685437 +116,0.38868734 +117,0.8898851 +118,0.8895619 +119,0.88823813 +120,0.5098022 +121,0.87844825 +122,0.913232 +123,0.8914149 +124,0.52941114 +125,0.9241925 +126,0.93150175 +127,0.89762396 +128,0.3999875 +129,0.900069 +130,0.9210382 +131,0.8662564 +132,0.5432728 +133,0.7419815 +134,0.8311037 +135,0.80431706 +136,0.3950424 +137,0.8907677 +138,0.8678984 +139,0.88202804 +140,0.42333892 +141,0.8827927 +142,0.90685564 +143,0.89639693 +144,0.5678163 +145,0.91176367 +146,0.9253188 +147,0.9097408 +148,0.37293345 +149,0.8919539 +150,0.9221954 +151,0.8729474 +152,0.56473756 +153,0.7644922 +154,0.80280477 +155,0.823723 +156,0.41870195 +157,0.8993529 +158,0.8885822 +159,0.89522547 +160,0.4268466 +161,0.8866619 +162,0.9172967 +163,0.88787824 +164,0.56481326 +165,0.9176684 +166,0.928867 +167,0.9081688 +168,0.4846675 +169,0.9001862 +170,0.92170596 +171,0.8739539 +172,0.5692336 +173,0.7675607 +174,0.8042275 +175,0.81136227 +176,0.4326784 +177,0.89202374 +178,0.8923977 +179,0.8837068 +180,0.43224517 +181,0.90508133 +182,0.91128916 +183,0.8972805 +184,0.55880505 +185,0.91720074 +186,0.9288013 +187,0.9123532 +188,0.39373857 +189,0.9123181 +190,0.9212466 +191,0.88610286 +192,0.58876574 +193,0.8015631 +194,0.8088769 +195,0.7752915 +196,0.49851632 +197,0.8985922 +198,0.87051326 +199,0.89412934 diff --git a/iris/tab_ddpm_concat/3/pred/y.csv b/iris/tab_ddpm_concat/3/pred/y.csv new file mode 100644 index 0000000000000000000000000000000000000000..a4860b935caf8f38b1c0c7f88a821071be8182e5 --- /dev/null +++ b/iris/tab_ddpm_concat/3/pred/y.csv @@ -0,0 +1,201 @@ +,tab_ddpm_concat +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/tab_ddpm_concat/3/pred/y_real.csv b/iris/tab_ddpm_concat/3/pred/y_real.csv new file mode 100644 index 0000000000000000000000000000000000000000..801e9d3b6ff5f40b4dd0446f34f75e97566c0832 --- /dev/null +++ b/iris/tab_ddpm_concat/3/pred/y_real.csv @@ -0,0 +1,201 @@ +,tab_ddpm_concat +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