diff --git a/iris/tvae/4/eval.csv b/iris/tvae/4/eval.csv new file mode 100644 index 0000000000000000000000000000000000000000..767c2bbef29858ca69a34180c1aaf4827f4bbb75 --- /dev/null +++ b/iris/tvae/4/eval.csv @@ -0,0 +1,2 @@ +,avg_g_cos_loss,avg_g_mag_loss,avg_loss,grad_duration,grad_mae,grad_mape,grad_rmse,mean_pred_loss,pred_duration,pred_mae,pred_mape,pred_rmse,pred_std,std_loss,total_duration +tvae,0.013481416511785938,0.0017128709339899472,0.007721501551568508,0.2833065986633301,0.0404033362865448,0.7001240253448486,0.056202929466962814,6.578397733392194e-05,0.5048930644989014,0.06116542965173721,0.12753400206565857,0.08787207305431366,0.2212255895137787,0.010574433021247387,0.7881996631622314 diff --git a/iris/tvae/4/history.csv b/iris/tvae/4/history.csv new file mode 100644 index 0000000000000000000000000000000000000000..257424d733cf56b8a1881e76856ba9c502ab924a --- /dev/null +++ b/iris/tvae/4/history.csv @@ -0,0 +1,18 @@ +,avg_role_model_loss_train,avg_role_model_std_loss_train,avg_role_model_mean_pred_loss_train,avg_role_model_g_mag_loss_train,avg_role_model_g_cos_loss_train,avg_non_role_model_g_mag_loss_train,avg_non_role_model_g_cos_loss_train,avg_non_role_model_embed_loss_train,avg_loss_train,n_size_train,n_batch_train,duration_train,duration_batch_train,duration_size_train,avg_pred_std_train,avg_role_model_loss_test,avg_role_model_std_loss_test,avg_role_model_mean_pred_loss_test,avg_role_model_g_mag_loss_test,avg_role_model_g_cos_loss_test,avg_non_role_model_g_mag_loss_test,avg_non_role_model_g_cos_loss_test,avg_non_role_model_embed_loss_test,avg_loss_test,n_size_test,n_batch_test,duration_test,duration_batch_test,duration_size_test,avg_pred_std_test +0,0.05316402865139918,,0.003025496581185339,0.012441955545558507,0.0,0.0,0.0,0.0,0.09759947288006267,805,202,160.40350818634033,0.7940767731997046,0.199259016380547,,0.014479612979339435,1.0537620263634744,0.00011946571300903485,0.0,0.0,0.0,0.0,0.0,0.014479612979339435,200,50,37.02557158470154,0.7405114316940308,0.1851278579235077,0.18307621080428363 +1,0.016311073873296195,,0.0003964504950315929,0.0023356519130446154,0.0,0.0,0.0,0.0,0.025515357176165866,805,202,158.2519612312317,0.7834255506496618,0.19658628724376606,,0.009847069224342704,0.061237021266424566,6.534664782976716e-05,0.0,0.0,0.0,0.0,0.0,0.009847069224342704,200,50,36.514960527420044,0.7302992105484009,0.18257480263710021,0.26737940788269043 +2,0.010034364624771792,,0.0001516891084028112,0.00036931741036914337,0.0,0.0,0.0,0.0,0.011623831834067065,805,202,158.3632607460022,0.7839765383465456,0.19672454751056173,,0.010970421027159317,0.41797928259606126,7.769332486120107e-05,0.0,0.0,0.0,0.0,0.0,0.010970421027159317,200,50,37.957977056503296,0.7591595411300659,0.18978988528251647,0.19719498366117477 +3,0.01001821496489209,,0.00011448198488124864,0.0003188420211468239,0.0,0.0,0.0,0.0,0.021669246593594364,805,202,160.36429738998413,0.793882660346456,0.19921030731675046,,0.006757983728894032,0.09562963622207463,1.842758846530401e-05,0.0,0.0,0.0,0.0,0.0,0.006757983728894032,200,50,38.392563581466675,0.7678512716293335,0.19196281790733338,0.2447887235879898 +4,0.008850304606755304,,7.611022839319101e-05,0.00019596938321494168,0.0,0.0,0.0,0.0,0.00990126063571433,805,202,161.33938241004944,0.7987098139111358,0.20042159305596202,,0.0075851924321614205,0.12813962657145112,1.7344092995745797e-05,0.0,0.0,0.0,0.0,0.0,0.0075851924321614205,200,50,38.711721658706665,0.7742344331741333,0.19355860829353333,0.2320684799551964 +5,0.008760198910419846,,0.000135404507096625,0.00015235104546043444,0.0,0.0,0.0,0.0,0.016739682606942027,805,202,164.02156519889832,0.8119879465291996,0.2037534971414886,,0.00766922085895203,0.1857406496720796,4.324602634902419e-05,0.0,0.0,0.0,0.0,0.0,0.00766922085895203,200,50,38.592358350753784,0.7718471670150757,0.19296179175376893,0.21998695224523546 +6,0.007993532467757494,,6.649130836995365e-05,0.00013452501655180263,0.0,0.0,0.0,0.0,0.011703683053400376,805,202,163.1816999912262,0.8078301979763673,0.2027101863245046,,0.00711649734294042,0.1162863750976203,7.86582092771937e-05,0.0,0.0,0.0,0.0,0.0,0.00711649734294042,200,50,38.18028020858765,0.7636056041717529,0.19090140104293823,0.23739480897784232 +7,0.00760357193345123,,6.25550708701498e-05,0.0001476468842314637,0.0,0.0,0.0,0.0,0.009671050467910187,805,202,162.4574248790741,0.8042446776191787,0.2018104656882908,,0.00692649842821993,0.1035704698264135,4.0841071038890676e-05,0.0,0.0,0.0,0.0,0.0,0.00692649842821993,200,50,38.28986477851868,0.7657972955703736,0.1914493238925934,0.2410617169737816 +8,0.0077589181864992805,,9.889409277080356e-05,0.00024661020208034456,0.0,0.0,0.0,0.0,0.010519169878955029,805,202,165.2306685447693,0.8179736066572737,0.2052554888754898,,0.00767035422497429,0.03293478913983563,5.4173822717302756e-05,0.0,0.0,0.0,0.0,0.0,0.00767035422497429,200,50,40.16674613952637,0.8033349227905273,0.20083373069763183,0.2804925358295441 +9,0.007305746946826589,,7.816544312464231e-05,3.1589920291249055e-05,0.0,0.0,0.0,0.0,0.008409453634793078,805,202,167.92762923240662,0.8313248971901318,0.20860575059926287,,0.006953988248715177,0.05949966062031308,3.707406550179912e-05,0.0,0.0,0.0,0.0,0.0,0.006953988248715177,200,50,39.41908025741577,0.7883816051483155,0.19709540128707886,0.251317124068737 +10,0.0069121151671582915,,5.264219442312186e-05,4.099206962790456e-05,0.0,0.0,0.0,0.0,0.2637631674102646,805,202,168.55138850212097,0.8344128143669355,0.2093806068349329,,0.006984701466280967,0.1677649440800269,5.438742926608064e-05,0.0,0.0,0.0,0.0,0.0,0.006984701466280967,200,50,39.48977327346802,0.7897954654693603,0.19744886636734008,0.22682722091674803 +11,0.0067413941349672235,,7.759258618626795e-05,5.447061859672855e-05,0.0,0.0,0.0,0.0,0.007446342493228105,805,202,163.25129961967468,0.8081747505924489,0.20279664549027912,,0.007110629869857803,0.14650550237528706,9.976358226168713e-05,0.0,0.0,0.0,0.0,0.0,0.007110629869857803,200,50,38.427539348602295,0.7685507869720459,0.19213769674301148,0.23655535012483597 +12,0.007260609579002137,,7.863503280914072e-05,0.0004883822959324241,0.0,0.0,0.0,0.0,0.016781227697035505,805,202,165.82853078842163,0.8209333207347606,0.20599817489244923,,0.007817559581017122,0.05978130773024759,3.6274457960736585e-05,0.0,0.0,0.0,0.0,0.0,0.007817559581017122,200,50,38.56433320045471,0.7712866640090943,0.19282166600227357,0.2503936293721199 +13,0.006825684921548272,,6.880262920986e-05,0.00014857716210510419,0.0,0.0,0.0,0.0,0.011989540198122069,805,202,163.69111919403076,0.810352075217974,0.2033430052099761,,0.006251497776247561,0.059878015750800845,3.585102345724067e-05,0.0,0.0,0.0,0.0,0.0,0.006251497776247561,200,50,38.187318563461304,0.7637463712692261,0.19093659281730652,0.24956564277410506 +14,0.006477063416220534,,7.067492894623861e-05,4.202487259547903e-05,0.0,0.0,0.0,0.0,0.006746205649102104,805,202,164.46489644050598,0.8141826556460692,0.20430421918075278,,0.006733081634156406,0.0969269711484526,4.3488372137048256e-05,0.0,0.0,0.0,0.0,0.0,0.006733081634156406,200,50,39.442824363708496,0.7888564872741699,0.19721412181854248,0.23764485329389573 +15,0.006159565581575684,,5.1395137329359315e-05,9.713525542561311e-05,0.0,0.0,0.0,0.0,0.007442988763615397,805,202,166.02179741859436,0.8218900862306652,0.20623825766285014,,0.006445633955299854,0.042039627569392904,6.0552509461808676e-05,0.0,0.0,0.0,0.0,0.0,0.006445633955299854,200,50,38.83265423774719,0.7766530847549439,0.19416327118873597,0.2608501300215721 +16,0.0061872028084095825,,5.7001268243492155e-05,4.351274486376632e-05,0.0,0.0,0.0,0.0,0.00953819029827122,805,202,164.04958629608154,0.8121266648320868,0.20378830595786526,,0.007937328663538211,0.15666945051333642,2.3941793181858627e-05,0.0,0.0,0.0,0.0,0.0,0.007937328663538211,200,50,38.70338702201843,0.7740677404403686,0.19351693511009216,0.22153211504220963 diff --git a/iris/tvae/4/logs/avg_loss_train/events.out.tfevents.1721754366.72f500866ed6.3426.17 b/iris/tvae/4/logs/avg_loss_train/events.out.tfevents.1721754366.72f500866ed6.3426.17 new file mode 100644 index 0000000000000000000000000000000000000000..316ac4bf0a8fb640932e296ecedff1fea18855f8 --- /dev/null +++ b/iris/tvae/4/logs/avg_loss_train/events.out.tfevents.1721754366.72f500866ed6.3426.17 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c360e396d947e45852186fd9a465c86248ddb301f2c084f83fc615a73b304e5c +size 868 diff --git a/iris/tvae/4/logs/avg_loss_val/events.out.tfevents.1721754366.72f500866ed6.3426.18 b/iris/tvae/4/logs/avg_loss_val/events.out.tfevents.1721754366.72f500866ed6.3426.18 new file mode 100644 index 0000000000000000000000000000000000000000..f58b8821aba5c78816cda3b5282804331cce3898 --- /dev/null +++ b/iris/tvae/4/logs/avg_loss_val/events.out.tfevents.1721754366.72f500866ed6.3426.18 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:af1c35cfb0d6fac92fcab089ca3eba2c21ff423a413534e9d904dfad37c37bed +size 868 diff --git a/iris/tvae/4/logs/avg_non_role_model_embed_loss_train/events.out.tfevents.1721754366.72f500866ed6.3426.15 b/iris/tvae/4/logs/avg_non_role_model_embed_loss_train/events.out.tfevents.1721754366.72f500866ed6.3426.15 new file mode 100644 index 0000000000000000000000000000000000000000..c3114a190f362c2e2b6d4e24aa06c03f2ad64897 --- /dev/null +++ b/iris/tvae/4/logs/avg_non_role_model_embed_loss_train/events.out.tfevents.1721754366.72f500866ed6.3426.15 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:76b7be346a56c5424e04edb689d59aec02663bea9f12ab99c73e66da49ddb003 +size 1225 diff --git a/iris/tvae/4/logs/avg_non_role_model_embed_loss_val/events.out.tfevents.1721754366.72f500866ed6.3426.16 b/iris/tvae/4/logs/avg_non_role_model_embed_loss_val/events.out.tfevents.1721754366.72f500866ed6.3426.16 new file mode 100644 index 0000000000000000000000000000000000000000..eacac7c2e0991d5d15342184794883a8f7933321 --- /dev/null +++ b/iris/tvae/4/logs/avg_non_role_model_embed_loss_val/events.out.tfevents.1721754366.72f500866ed6.3426.16 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:26913761f9c5269aef68d416a3f0a01a9bc212e83cce3748d9c00dcf6a0e8317 +size 1225 diff --git a/iris/tvae/4/logs/avg_non_role_model_g_cos_loss_train/events.out.tfevents.1721754366.72f500866ed6.3426.13 b/iris/tvae/4/logs/avg_non_role_model_g_cos_loss_train/events.out.tfevents.1721754366.72f500866ed6.3426.13 new file mode 100644 index 0000000000000000000000000000000000000000..cdf34359311652e78b321f32edb646aef2cd85a7 --- /dev/null +++ b/iris/tvae/4/logs/avg_non_role_model_g_cos_loss_train/events.out.tfevents.1721754366.72f500866ed6.3426.13 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:34c67f7398c0b37161fa8a0011bb5a23aec3e2096299579b9bdf3968655227c8 +size 1225 diff --git a/iris/tvae/4/logs/avg_non_role_model_g_cos_loss_val/events.out.tfevents.1721754366.72f500866ed6.3426.14 b/iris/tvae/4/logs/avg_non_role_model_g_cos_loss_val/events.out.tfevents.1721754366.72f500866ed6.3426.14 new file mode 100644 index 0000000000000000000000000000000000000000..d52aa777b2c3d218a6e8a6b1e1e768c80010fd1f --- /dev/null +++ b/iris/tvae/4/logs/avg_non_role_model_g_cos_loss_val/events.out.tfevents.1721754366.72f500866ed6.3426.14 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2e6fca0329d71e5044063f5a7114fe325b274c8612ab1579efe8eaa7955e9d7a +size 1225 diff --git a/iris/tvae/4/logs/avg_non_role_model_g_mag_loss_train/events.out.tfevents.1721754366.72f500866ed6.3426.11 b/iris/tvae/4/logs/avg_non_role_model_g_mag_loss_train/events.out.tfevents.1721754366.72f500866ed6.3426.11 new file mode 100644 index 0000000000000000000000000000000000000000..0304065b29cda50df71b8da240977e5f91693fe3 --- /dev/null +++ b/iris/tvae/4/logs/avg_non_role_model_g_mag_loss_train/events.out.tfevents.1721754366.72f500866ed6.3426.11 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8236021aff6e929288a19856aeb6813875df1885bc5059d7a6d943343438a86f +size 1225 diff --git a/iris/tvae/4/logs/avg_non_role_model_g_mag_loss_val/events.out.tfevents.1721754366.72f500866ed6.3426.12 b/iris/tvae/4/logs/avg_non_role_model_g_mag_loss_val/events.out.tfevents.1721754366.72f500866ed6.3426.12 new file mode 100644 index 0000000000000000000000000000000000000000..27b2d8fbc94432cd734c32ccc72bdf4c16663560 --- /dev/null +++ b/iris/tvae/4/logs/avg_non_role_model_g_mag_loss_val/events.out.tfevents.1721754366.72f500866ed6.3426.12 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bbaccd6b0e345be81908c1ae2782d35c25629e25cd6a650236d12c3cafbc3e53 +size 1225 diff --git a/iris/tvae/4/logs/avg_pred_std_train/events.out.tfevents.1721754366.72f500866ed6.3426.29 b/iris/tvae/4/logs/avg_pred_std_train/events.out.tfevents.1721754366.72f500866ed6.3426.29 new file mode 100644 index 0000000000000000000000000000000000000000..fb96230e132601f6b1cc0673740f9072cda72ec9 --- /dev/null +++ b/iris/tvae/4/logs/avg_pred_std_train/events.out.tfevents.1721754366.72f500866ed6.3426.29 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:16a13ca3c6a3e4b588dbca38c10b55734635e65d4b9e9b23dc050cbd942c3043 +size 936 diff --git a/iris/tvae/4/logs/avg_pred_std_val/events.out.tfevents.1721754366.72f500866ed6.3426.30 b/iris/tvae/4/logs/avg_pred_std_val/events.out.tfevents.1721754366.72f500866ed6.3426.30 new file mode 100644 index 0000000000000000000000000000000000000000..fbf3a9a95116993d181b6c35c7b811fd9a816e9c --- /dev/null +++ b/iris/tvae/4/logs/avg_pred_std_val/events.out.tfevents.1721754366.72f500866ed6.3426.30 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dcab12b62b452a00f3c5d5d8e5b19111f2fee7a395ada43450a75f5499ed79d1 +size 936 diff --git a/iris/tvae/4/logs/avg_role_model_g_cos_loss_train/events.out.tfevents.1721754366.72f500866ed6.3426.9 b/iris/tvae/4/logs/avg_role_model_g_cos_loss_train/events.out.tfevents.1721754366.72f500866ed6.3426.9 new file mode 100644 index 0000000000000000000000000000000000000000..8a26d3725e39d6db83b63fdc7907899858a226d0 --- /dev/null +++ b/iris/tvae/4/logs/avg_role_model_g_cos_loss_train/events.out.tfevents.1721754366.72f500866ed6.3426.9 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bf876fa6ef6b26406f716d88f762744197eb40375124317be9aced15e814584b +size 1157 diff --git a/iris/tvae/4/logs/avg_role_model_g_cos_loss_val/events.out.tfevents.1721754366.72f500866ed6.3426.10 b/iris/tvae/4/logs/avg_role_model_g_cos_loss_val/events.out.tfevents.1721754366.72f500866ed6.3426.10 new file mode 100644 index 0000000000000000000000000000000000000000..40e209d01dc49c53b9fc6d9062f422e13cdecabd --- /dev/null +++ b/iris/tvae/4/logs/avg_role_model_g_cos_loss_val/events.out.tfevents.1721754366.72f500866ed6.3426.10 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ea5ac42558274d89ee69ad8e446d98e0590b2f8675dda59f86021c90893e87a1 +size 1157 diff --git a/iris/tvae/4/logs/avg_role_model_g_mag_loss_train/events.out.tfevents.1721754366.72f500866ed6.3426.7 b/iris/tvae/4/logs/avg_role_model_g_mag_loss_train/events.out.tfevents.1721754366.72f500866ed6.3426.7 new file mode 100644 index 0000000000000000000000000000000000000000..411b62572ac92269e052123d46faa915d9dee3c3 --- /dev/null +++ b/iris/tvae/4/logs/avg_role_model_g_mag_loss_train/events.out.tfevents.1721754366.72f500866ed6.3426.7 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fd1a8e75cb98541d0f2d9c3a7a368379e23682a3794b232ad152f87c092a93c9 +size 1157 diff --git a/iris/tvae/4/logs/avg_role_model_g_mag_loss_val/events.out.tfevents.1721754366.72f500866ed6.3426.8 b/iris/tvae/4/logs/avg_role_model_g_mag_loss_val/events.out.tfevents.1721754366.72f500866ed6.3426.8 new file mode 100644 index 0000000000000000000000000000000000000000..22d39ffe4cf2ff3dab693b5833010e5e791a52a8 --- /dev/null +++ b/iris/tvae/4/logs/avg_role_model_g_mag_loss_val/events.out.tfevents.1721754366.72f500866ed6.3426.8 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0dad7b763eec8bb9c17ef13d32ecb78494fb612bbc7864aea108c3d714434f8f +size 1157 diff --git a/iris/tvae/4/logs/avg_role_model_loss_train/events.out.tfevents.1721754366.72f500866ed6.3426.1 b/iris/tvae/4/logs/avg_role_model_loss_train/events.out.tfevents.1721754366.72f500866ed6.3426.1 new file mode 100644 index 0000000000000000000000000000000000000000..9af295c5b1b4c09854e74e07eb38fdb0b70655d5 --- /dev/null +++ b/iris/tvae/4/logs/avg_role_model_loss_train/events.out.tfevents.1721754366.72f500866ed6.3426.1 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0ac43468990493e09a532e8d3bac701b0609c8aa067f1387a987b2185b534dab +size 1055 diff --git a/iris/tvae/4/logs/avg_role_model_loss_val/events.out.tfevents.1721754366.72f500866ed6.3426.2 b/iris/tvae/4/logs/avg_role_model_loss_val/events.out.tfevents.1721754366.72f500866ed6.3426.2 new file mode 100644 index 0000000000000000000000000000000000000000..d329e0507e6ffe5e26fc11f70c97336d86ff6d67 --- /dev/null +++ b/iris/tvae/4/logs/avg_role_model_loss_val/events.out.tfevents.1721754366.72f500866ed6.3426.2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b782b7d9db4fe7a242f410dd09135653e4e353f392c394c192952fb9ed40ac21 +size 1055 diff --git a/iris/tvae/4/logs/avg_role_model_mean_pred_loss_train/events.out.tfevents.1721754366.72f500866ed6.3426.5 b/iris/tvae/4/logs/avg_role_model_mean_pred_loss_train/events.out.tfevents.1721754366.72f500866ed6.3426.5 new file mode 100644 index 0000000000000000000000000000000000000000..aa9a63e5ac1951ca836d7bd47c92a90d7219230e --- /dev/null +++ b/iris/tvae/4/logs/avg_role_model_mean_pred_loss_train/events.out.tfevents.1721754366.72f500866ed6.3426.5 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:064ce52a70d931c98563ff50d06a72c654ed217b2e1562ec938020322bbc41fa +size 1225 diff --git a/iris/tvae/4/logs/avg_role_model_mean_pred_loss_val/events.out.tfevents.1721754366.72f500866ed6.3426.6 b/iris/tvae/4/logs/avg_role_model_mean_pred_loss_val/events.out.tfevents.1721754366.72f500866ed6.3426.6 new file mode 100644 index 0000000000000000000000000000000000000000..7130637a191e8c807991cf0f48e008b4b20c1570 --- /dev/null +++ b/iris/tvae/4/logs/avg_role_model_mean_pred_loss_val/events.out.tfevents.1721754366.72f500866ed6.3426.6 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:67022847e2b5504ae6c2ef2a13eb7b60247c9c362545e5554e822950da48db53 +size 1225 diff --git a/iris/tvae/4/logs/avg_role_model_std_loss_train/events.out.tfevents.1721754366.72f500866ed6.3426.3 b/iris/tvae/4/logs/avg_role_model_std_loss_train/events.out.tfevents.1721754366.72f500866ed6.3426.3 new file mode 100644 index 0000000000000000000000000000000000000000..6acd870f5dd4eb222f48e9424096d38277f0d757 --- /dev/null +++ b/iris/tvae/4/logs/avg_role_model_std_loss_train/events.out.tfevents.1721754366.72f500866ed6.3426.3 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3153d4a462cf659a8020bece06989a16de20d0b39f40ccd11b7b71d2b33ded54 +size 1123 diff --git a/iris/tvae/4/logs/avg_role_model_std_loss_val/events.out.tfevents.1721754366.72f500866ed6.3426.4 b/iris/tvae/4/logs/avg_role_model_std_loss_val/events.out.tfevents.1721754366.72f500866ed6.3426.4 new file mode 100644 index 0000000000000000000000000000000000000000..33a63825666bc2dc75502f7773ca75f4e00dec42 --- /dev/null +++ b/iris/tvae/4/logs/avg_role_model_std_loss_val/events.out.tfevents.1721754366.72f500866ed6.3426.4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a1efe4b03aad104d0e526b12042e5b83105d284f06961bb8127d5b9dc4000789 +size 1123 diff --git a/iris/tvae/4/logs/duration_batch_train/events.out.tfevents.1721754366.72f500866ed6.3426.25 b/iris/tvae/4/logs/duration_batch_train/events.out.tfevents.1721754366.72f500866ed6.3426.25 new file mode 100644 index 0000000000000000000000000000000000000000..71c6be5bd420ab6058ce1721608aec02c1acc13a --- /dev/null +++ b/iris/tvae/4/logs/duration_batch_train/events.out.tfevents.1721754366.72f500866ed6.3426.25 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6cccaadd92b0758decec85c6a5dac48a07892127cd498f376941136064cad115 +size 970 diff --git a/iris/tvae/4/logs/duration_batch_val/events.out.tfevents.1721754366.72f500866ed6.3426.26 b/iris/tvae/4/logs/duration_batch_val/events.out.tfevents.1721754366.72f500866ed6.3426.26 new file mode 100644 index 0000000000000000000000000000000000000000..7735111d9d1f6a1d2b807d55dacac528dc552878 --- /dev/null +++ b/iris/tvae/4/logs/duration_batch_val/events.out.tfevents.1721754366.72f500866ed6.3426.26 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7f7cb8431f83aa35ecc7bc3ee4e62da7982bfb5b9fec69e446d7018c31e0170e +size 970 diff --git a/iris/tvae/4/logs/duration_size_train/events.out.tfevents.1721754366.72f500866ed6.3426.27 b/iris/tvae/4/logs/duration_size_train/events.out.tfevents.1721754366.72f500866ed6.3426.27 new file mode 100644 index 0000000000000000000000000000000000000000..771653a1debd6c661dcbace06dbcb6d1d6d0aeba --- /dev/null +++ b/iris/tvae/4/logs/duration_size_train/events.out.tfevents.1721754366.72f500866ed6.3426.27 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:672dae1c487a3711ab989f4148514a252f90b4e4f51ca0822e1115053409b810 +size 953 diff --git a/iris/tvae/4/logs/duration_size_val/events.out.tfevents.1721754366.72f500866ed6.3426.28 b/iris/tvae/4/logs/duration_size_val/events.out.tfevents.1721754366.72f500866ed6.3426.28 new file mode 100644 index 0000000000000000000000000000000000000000..57fe567738a7f117df733518c078907f17c82871 --- /dev/null +++ b/iris/tvae/4/logs/duration_size_val/events.out.tfevents.1721754366.72f500866ed6.3426.28 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:053507442b0a8acaef447b16c9893164751fdda9c8b5b0a8eba6e2cce5b58427 +size 953 diff --git a/iris/tvae/4/logs/duration_train/events.out.tfevents.1721754366.72f500866ed6.3426.23 b/iris/tvae/4/logs/duration_train/events.out.tfevents.1721754366.72f500866ed6.3426.23 new file mode 100644 index 0000000000000000000000000000000000000000..db2860cf15552e3ce2c8faebd3ca604369994e7c --- /dev/null +++ b/iris/tvae/4/logs/duration_train/events.out.tfevents.1721754366.72f500866ed6.3426.23 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1c50a637fb4bc1c1fbd87a6ff8c6f7f275c20b15e72713b54cef2a37c5622d08 +size 868 diff --git a/iris/tvae/4/logs/duration_val/events.out.tfevents.1721754366.72f500866ed6.3426.24 b/iris/tvae/4/logs/duration_val/events.out.tfevents.1721754366.72f500866ed6.3426.24 new file mode 100644 index 0000000000000000000000000000000000000000..d1801b4da9e562ec588f3cd8650e84797bc8431f --- /dev/null +++ b/iris/tvae/4/logs/duration_val/events.out.tfevents.1721754366.72f500866ed6.3426.24 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1bd2db38faed9279c4eed9ddf8b84e93d813d43a69d7475e5186b628fa5d6d4d +size 868 diff --git a/iris/tvae/4/logs/events.out.tfevents.1721754167.72f500866ed6.3426.0 b/iris/tvae/4/logs/events.out.tfevents.1721754167.72f500866ed6.3426.0 new file mode 100644 index 0000000000000000000000000000000000000000..06dbc24893c7ad1f3b9b0227542f4255a0c9bcdd --- /dev/null +++ b/iris/tvae/4/logs/events.out.tfevents.1721754167.72f500866ed6.3426.0 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bfd1712bc65330850e3b6ce93c5251fff0fbbcf9fc4de5ff3e9c03ef7bc81253 +size 88 diff --git a/iris/tvae/4/logs/n_batch_train/events.out.tfevents.1721754366.72f500866ed6.3426.21 b/iris/tvae/4/logs/n_batch_train/events.out.tfevents.1721754366.72f500866ed6.3426.21 new file mode 100644 index 0000000000000000000000000000000000000000..71bf5c33210abb6f0e22ebf141ce20c547734e49 --- /dev/null +++ b/iris/tvae/4/logs/n_batch_train/events.out.tfevents.1721754366.72f500866ed6.3426.21 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:42dbbfbf4f90b3f995cb0666f68dbf25cf3ece3525038fc00b4f8db7e8d62a8e +size 851 diff --git a/iris/tvae/4/logs/n_batch_val/events.out.tfevents.1721754366.72f500866ed6.3426.22 b/iris/tvae/4/logs/n_batch_val/events.out.tfevents.1721754366.72f500866ed6.3426.22 new file mode 100644 index 0000000000000000000000000000000000000000..c7e2950ad322fadef1abb364d41d801fa85f2562 --- /dev/null +++ b/iris/tvae/4/logs/n_batch_val/events.out.tfevents.1721754366.72f500866ed6.3426.22 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:99329e4ff428ab198a21c8a0847e204e354050f0605215b9fad12a7fa1371fae +size 851 diff --git a/iris/tvae/4/logs/n_size_train/events.out.tfevents.1721754366.72f500866ed6.3426.19 b/iris/tvae/4/logs/n_size_train/events.out.tfevents.1721754366.72f500866ed6.3426.19 new file mode 100644 index 0000000000000000000000000000000000000000..cea8ee32a1e397ed6168fbd6cafdeba0c6e56159 --- /dev/null +++ b/iris/tvae/4/logs/n_size_train/events.out.tfevents.1721754366.72f500866ed6.3426.19 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:57e564ea780bd77215afaa4564541a82cc324a2450328b7702ecada92347e9be +size 834 diff --git a/iris/tvae/4/logs/n_size_val/events.out.tfevents.1721754366.72f500866ed6.3426.20 b/iris/tvae/4/logs/n_size_val/events.out.tfevents.1721754366.72f500866ed6.3426.20 new file mode 100644 index 0000000000000000000000000000000000000000..360fb66c1775c563e9caed26b4c835a7843d1f4f --- /dev/null +++ b/iris/tvae/4/logs/n_size_val/events.out.tfevents.1721754366.72f500866ed6.3426.20 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:05aff881f0d56e204cc1dbb46c2c50f22c0ef040113b8d467660adf18ca64f0b +size 834 diff --git a/iris/tvae/4/logs/train_avg_loss/events.out.tfevents.1721754366.72f500866ed6.3426.39 b/iris/tvae/4/logs/train_avg_loss/events.out.tfevents.1721754366.72f500866ed6.3426.39 new file mode 100644 index 0000000000000000000000000000000000000000..ed40b2dc756e6943052bba0a94bd8a6f58276ffd --- /dev/null +++ b/iris/tvae/4/logs/train_avg_loss/events.out.tfevents.1721754366.72f500866ed6.3426.39 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7cf027fa41126433aab02699cc8fb0010bad022dc4d344d6722bae3c0ac521c2 +size 817 diff --git a/iris/tvae/4/logs/train_avg_non_role_model_embed_loss/events.out.tfevents.1721754366.72f500866ed6.3426.38 b/iris/tvae/4/logs/train_avg_non_role_model_embed_loss/events.out.tfevents.1721754366.72f500866ed6.3426.38 new file mode 100644 index 0000000000000000000000000000000000000000..2e988543238d57cf1fd71b8a788e9d742a7bdaf4 --- /dev/null +++ b/iris/tvae/4/logs/train_avg_non_role_model_embed_loss/events.out.tfevents.1721754366.72f500866ed6.3426.38 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5cdb6d375ab6a9461beffe1e7055b4eea908291c7383ae0603ef30b66cc65a54 +size 817 diff --git a/iris/tvae/4/logs/train_avg_non_role_model_g_cos_loss/events.out.tfevents.1721754366.72f500866ed6.3426.37 b/iris/tvae/4/logs/train_avg_non_role_model_g_cos_loss/events.out.tfevents.1721754366.72f500866ed6.3426.37 new file mode 100644 index 0000000000000000000000000000000000000000..3b0bc5250b2903ea6723f86e3c5029026b70d4a5 --- /dev/null +++ b/iris/tvae/4/logs/train_avg_non_role_model_g_cos_loss/events.out.tfevents.1721754366.72f500866ed6.3426.37 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3844ff7c5aa6c0b52a92222129910b39b02488fc308c9a9a636ff20ed7ecf7d4 +size 817 diff --git a/iris/tvae/4/logs/train_avg_non_role_model_g_mag_loss/events.out.tfevents.1721754366.72f500866ed6.3426.36 b/iris/tvae/4/logs/train_avg_non_role_model_g_mag_loss/events.out.tfevents.1721754366.72f500866ed6.3426.36 new file mode 100644 index 0000000000000000000000000000000000000000..b65b8fa8326f7ee7918c168907de5ce42505d6de --- /dev/null +++ b/iris/tvae/4/logs/train_avg_non_role_model_g_mag_loss/events.out.tfevents.1721754366.72f500866ed6.3426.36 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b8ee448b8cb76c459980b30ad8fcc49c0af9151bbc026e00de6a62e8ac28167a +size 817 diff --git a/iris/tvae/4/logs/train_avg_pred_std/events.out.tfevents.1721754366.72f500866ed6.3426.45 b/iris/tvae/4/logs/train_avg_pred_std/events.out.tfevents.1721754366.72f500866ed6.3426.45 new file mode 100644 index 0000000000000000000000000000000000000000..38a25c6afdc24ba310fa361c602018e14e4f538f --- /dev/null +++ b/iris/tvae/4/logs/train_avg_pred_std/events.out.tfevents.1721754366.72f500866ed6.3426.45 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:454c11f9c0094ea9de0c7e99bc9cf27f6903a00af280842b5fcdda1efcb29bee +size 817 diff --git a/iris/tvae/4/logs/train_avg_role_model_g_cos_loss/events.out.tfevents.1721754366.72f500866ed6.3426.35 b/iris/tvae/4/logs/train_avg_role_model_g_cos_loss/events.out.tfevents.1721754366.72f500866ed6.3426.35 new file mode 100644 index 0000000000000000000000000000000000000000..26d53b64702f51aeeb20480a9147aa47c28eba54 --- /dev/null +++ b/iris/tvae/4/logs/train_avg_role_model_g_cos_loss/events.out.tfevents.1721754366.72f500866ed6.3426.35 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f736bc9cf09c0db85ba472a4561a0e5a562484710fcb7d51eb8d459e6eb88c6f +size 817 diff --git a/iris/tvae/4/logs/train_avg_role_model_g_mag_loss/events.out.tfevents.1721754366.72f500866ed6.3426.34 b/iris/tvae/4/logs/train_avg_role_model_g_mag_loss/events.out.tfevents.1721754366.72f500866ed6.3426.34 new file mode 100644 index 0000000000000000000000000000000000000000..7da42214880a89c78183fbcd4bffa267f02d8987 --- /dev/null +++ b/iris/tvae/4/logs/train_avg_role_model_g_mag_loss/events.out.tfevents.1721754366.72f500866ed6.3426.34 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e87d2c18518cafe23af7006b390b872738d37a0f837008dd3a57f55dc840e645 +size 817 diff --git a/iris/tvae/4/logs/train_avg_role_model_loss/events.out.tfevents.1721754366.72f500866ed6.3426.31 b/iris/tvae/4/logs/train_avg_role_model_loss/events.out.tfevents.1721754366.72f500866ed6.3426.31 new file mode 100644 index 0000000000000000000000000000000000000000..1b0f3396f1fb1d92e3df9d099da819a46557396f --- /dev/null +++ b/iris/tvae/4/logs/train_avg_role_model_loss/events.out.tfevents.1721754366.72f500866ed6.3426.31 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:36e8943e59ae793769d835103891c92224969c855a8cb03d6fa5307293672a2b +size 817 diff --git a/iris/tvae/4/logs/train_avg_role_model_mean_pred_loss/events.out.tfevents.1721754366.72f500866ed6.3426.33 b/iris/tvae/4/logs/train_avg_role_model_mean_pred_loss/events.out.tfevents.1721754366.72f500866ed6.3426.33 new file mode 100644 index 0000000000000000000000000000000000000000..24b0b7a92f5f94a34626881c50c8223e0aa80f3c --- /dev/null +++ b/iris/tvae/4/logs/train_avg_role_model_mean_pred_loss/events.out.tfevents.1721754366.72f500866ed6.3426.33 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:79c9c06ef9df83ca39457cf3441fdf7581ab9af4492741fb83190528a04de9d7 +size 817 diff --git a/iris/tvae/4/logs/train_avg_role_model_std_loss/events.out.tfevents.1721754366.72f500866ed6.3426.32 b/iris/tvae/4/logs/train_avg_role_model_std_loss/events.out.tfevents.1721754366.72f500866ed6.3426.32 new file mode 100644 index 0000000000000000000000000000000000000000..a6fe62ac2526acea7dc26071e1632bcd0406b368 --- /dev/null +++ b/iris/tvae/4/logs/train_avg_role_model_std_loss/events.out.tfevents.1721754366.72f500866ed6.3426.32 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bd91ad432c4028bd61535d505db2d9b96b6b7625d18ab3a4181853dcce383b1e +size 817 diff --git a/iris/tvae/4/logs/train_duration/events.out.tfevents.1721754366.72f500866ed6.3426.42 b/iris/tvae/4/logs/train_duration/events.out.tfevents.1721754366.72f500866ed6.3426.42 new file mode 100644 index 0000000000000000000000000000000000000000..5aea684c153ef89a34f96218af3fccf0b90f5aa3 --- /dev/null +++ b/iris/tvae/4/logs/train_duration/events.out.tfevents.1721754366.72f500866ed6.3426.42 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6bba8eb3246b47cc28e3dce1719fb72e538b5b5759c587057c2101ae4dc5b62d +size 817 diff --git a/iris/tvae/4/logs/train_duration_batch/events.out.tfevents.1721754366.72f500866ed6.3426.43 b/iris/tvae/4/logs/train_duration_batch/events.out.tfevents.1721754366.72f500866ed6.3426.43 new file mode 100644 index 0000000000000000000000000000000000000000..83a6f415ee0da7ca1d259f31cdbc7b55dd8895af --- /dev/null +++ b/iris/tvae/4/logs/train_duration_batch/events.out.tfevents.1721754366.72f500866ed6.3426.43 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:04a1f8b71661efbb110c7d24c7e0a1b8889c24f985df65c8222c847ba6008ec1 +size 817 diff --git a/iris/tvae/4/logs/train_duration_size/events.out.tfevents.1721754366.72f500866ed6.3426.44 b/iris/tvae/4/logs/train_duration_size/events.out.tfevents.1721754366.72f500866ed6.3426.44 new file mode 100644 index 0000000000000000000000000000000000000000..1587dd851a851a50e4af7af41ab1e0175dc13c85 --- /dev/null +++ b/iris/tvae/4/logs/train_duration_size/events.out.tfevents.1721754366.72f500866ed6.3426.44 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d5e6446931102337ab1f691b63a262cb2d5afe05de13103cd4b22620a0097c29 +size 817 diff --git a/iris/tvae/4/logs/train_n_batch/events.out.tfevents.1721754366.72f500866ed6.3426.41 b/iris/tvae/4/logs/train_n_batch/events.out.tfevents.1721754366.72f500866ed6.3426.41 new file mode 100644 index 0000000000000000000000000000000000000000..96f9cc267c757e8097609b925c47ea7cb97b6101 --- /dev/null +++ b/iris/tvae/4/logs/train_n_batch/events.out.tfevents.1721754366.72f500866ed6.3426.41 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:48e1c94d5fda62b34d0751ae1ae27025ecbe4029787f0841acef7bbbeecb86c6 +size 817 diff --git a/iris/tvae/4/logs/train_n_size/events.out.tfevents.1721754366.72f500866ed6.3426.40 b/iris/tvae/4/logs/train_n_size/events.out.tfevents.1721754366.72f500866ed6.3426.40 new file mode 100644 index 0000000000000000000000000000000000000000..3297c8ca9ccb894c31f7ff8f22c61c284cb06742 --- /dev/null +++ b/iris/tvae/4/logs/train_n_size/events.out.tfevents.1721754366.72f500866ed6.3426.40 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:23f0c9bd733f16542f7af254e75abf0fb2848148aa2ab081da7947eb426e2974 +size 817 diff --git a/iris/tvae/4/logs/val_avg_loss/events.out.tfevents.1721754366.72f500866ed6.3426.54 b/iris/tvae/4/logs/val_avg_loss/events.out.tfevents.1721754366.72f500866ed6.3426.54 new file mode 100644 index 0000000000000000000000000000000000000000..e840a34a8a4b19533a09a115be9b5d591ae2645b --- /dev/null +++ b/iris/tvae/4/logs/val_avg_loss/events.out.tfevents.1721754366.72f500866ed6.3426.54 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:20f4c0234b79cc454d327df2d3c4b5eb53b745a12842bdba5d046b97ff97d89d +size 783 diff --git a/iris/tvae/4/logs/val_avg_non_role_model_embed_loss/events.out.tfevents.1721754366.72f500866ed6.3426.53 b/iris/tvae/4/logs/val_avg_non_role_model_embed_loss/events.out.tfevents.1721754366.72f500866ed6.3426.53 new file mode 100644 index 0000000000000000000000000000000000000000..3e360b32516d1ff400d771a336ce268ab06dfbb6 --- /dev/null +++ b/iris/tvae/4/logs/val_avg_non_role_model_embed_loss/events.out.tfevents.1721754366.72f500866ed6.3426.53 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:96196530c2c642b0cbe4f38debea3f61408ce97512f288a736d3458f85d4425a +size 783 diff --git a/iris/tvae/4/logs/val_avg_non_role_model_g_cos_loss/events.out.tfevents.1721754366.72f500866ed6.3426.52 b/iris/tvae/4/logs/val_avg_non_role_model_g_cos_loss/events.out.tfevents.1721754366.72f500866ed6.3426.52 new file mode 100644 index 0000000000000000000000000000000000000000..35e5071a04defb974f7fc4c8ada0902e012d7983 --- /dev/null +++ b/iris/tvae/4/logs/val_avg_non_role_model_g_cos_loss/events.out.tfevents.1721754366.72f500866ed6.3426.52 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:12a838655a9559224eafd4778608fa8ce9bb955027ad7d5f5c28372295788688 +size 783 diff --git a/iris/tvae/4/logs/val_avg_non_role_model_g_mag_loss/events.out.tfevents.1721754366.72f500866ed6.3426.51 b/iris/tvae/4/logs/val_avg_non_role_model_g_mag_loss/events.out.tfevents.1721754366.72f500866ed6.3426.51 new file mode 100644 index 0000000000000000000000000000000000000000..8413d1406ee3513a7e4ae54e0d4ae9f6855cd9d0 --- /dev/null +++ b/iris/tvae/4/logs/val_avg_non_role_model_g_mag_loss/events.out.tfevents.1721754366.72f500866ed6.3426.51 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dffdb97f42f383488af360d8026cd6eba7bbf500558bc27035d59b5745bb9bc9 +size 783 diff --git a/iris/tvae/4/logs/val_avg_pred_std/events.out.tfevents.1721754366.72f500866ed6.3426.60 b/iris/tvae/4/logs/val_avg_pred_std/events.out.tfevents.1721754366.72f500866ed6.3426.60 new file mode 100644 index 0000000000000000000000000000000000000000..f0d694c142a57743d0d6e287e4b701c400792f5a --- /dev/null +++ b/iris/tvae/4/logs/val_avg_pred_std/events.out.tfevents.1721754366.72f500866ed6.3426.60 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8ee44e5884f11b2ce1d6eefad18f03d7ba09bbcc263cf4efa89d43779c5b2dea +size 783 diff --git a/iris/tvae/4/logs/val_avg_role_model_g_cos_loss/events.out.tfevents.1721754366.72f500866ed6.3426.50 b/iris/tvae/4/logs/val_avg_role_model_g_cos_loss/events.out.tfevents.1721754366.72f500866ed6.3426.50 new file mode 100644 index 0000000000000000000000000000000000000000..039162092e20bc5531933cb86b465813047732b4 --- /dev/null +++ b/iris/tvae/4/logs/val_avg_role_model_g_cos_loss/events.out.tfevents.1721754366.72f500866ed6.3426.50 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6ca3354fc647aa152f1409f961a0b79db88d987fc0eab748e841a816f15db4bd +size 783 diff --git a/iris/tvae/4/logs/val_avg_role_model_g_mag_loss/events.out.tfevents.1721754366.72f500866ed6.3426.49 b/iris/tvae/4/logs/val_avg_role_model_g_mag_loss/events.out.tfevents.1721754366.72f500866ed6.3426.49 new file mode 100644 index 0000000000000000000000000000000000000000..a5015bca22beb30098292ad47263b9fbdb2f3cdd --- /dev/null +++ b/iris/tvae/4/logs/val_avg_role_model_g_mag_loss/events.out.tfevents.1721754366.72f500866ed6.3426.49 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5584d146a1dcb6282278e16dc07bda15ea75e8235a85011459dc6fec703b0e25 +size 783 diff --git a/iris/tvae/4/logs/val_avg_role_model_loss/events.out.tfevents.1721754366.72f500866ed6.3426.46 b/iris/tvae/4/logs/val_avg_role_model_loss/events.out.tfevents.1721754366.72f500866ed6.3426.46 new file mode 100644 index 0000000000000000000000000000000000000000..a19cbc3ae778a5a9041c231acde775ae3f4c623f --- /dev/null +++ b/iris/tvae/4/logs/val_avg_role_model_loss/events.out.tfevents.1721754366.72f500866ed6.3426.46 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:04537f75b1fe313c0e8ff7d4b51760dab015ff313a3fcf32c7303c4877694283 +size 783 diff --git a/iris/tvae/4/logs/val_avg_role_model_mean_pred_loss/events.out.tfevents.1721754366.72f500866ed6.3426.48 b/iris/tvae/4/logs/val_avg_role_model_mean_pred_loss/events.out.tfevents.1721754366.72f500866ed6.3426.48 new file mode 100644 index 0000000000000000000000000000000000000000..c6ff08cb1d9b5a2ab492c6da9c2caa03846cb93d --- /dev/null +++ b/iris/tvae/4/logs/val_avg_role_model_mean_pred_loss/events.out.tfevents.1721754366.72f500866ed6.3426.48 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4981dcf73958c59a05d690fd36af91219cbe34e6bcc33d0beb7bb5b580f39217 +size 783 diff --git a/iris/tvae/4/logs/val_avg_role_model_std_loss/events.out.tfevents.1721754366.72f500866ed6.3426.47 b/iris/tvae/4/logs/val_avg_role_model_std_loss/events.out.tfevents.1721754366.72f500866ed6.3426.47 new file mode 100644 index 0000000000000000000000000000000000000000..ef0436717cbbad2c6d3f9dd0475241f3782fbd2a --- /dev/null +++ b/iris/tvae/4/logs/val_avg_role_model_std_loss/events.out.tfevents.1721754366.72f500866ed6.3426.47 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3cf06daab2864d4e6e219109fc95d1b68e4dc3024ab1d3920b71d969ca51b634 +size 783 diff --git a/iris/tvae/4/logs/val_duration/events.out.tfevents.1721754366.72f500866ed6.3426.57 b/iris/tvae/4/logs/val_duration/events.out.tfevents.1721754366.72f500866ed6.3426.57 new file mode 100644 index 0000000000000000000000000000000000000000..ed982717f086d5616e1553645bbc95c1df1ba5cf --- /dev/null +++ b/iris/tvae/4/logs/val_duration/events.out.tfevents.1721754366.72f500866ed6.3426.57 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:05cc6bd4c3bbd4133888c4519dfcef84ea45284814f4641da297731be775d844 +size 783 diff --git a/iris/tvae/4/logs/val_duration_batch/events.out.tfevents.1721754366.72f500866ed6.3426.58 b/iris/tvae/4/logs/val_duration_batch/events.out.tfevents.1721754366.72f500866ed6.3426.58 new file mode 100644 index 0000000000000000000000000000000000000000..75f67931e709408fe42e29a1589398c8458b4a4d --- /dev/null +++ b/iris/tvae/4/logs/val_duration_batch/events.out.tfevents.1721754366.72f500866ed6.3426.58 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e58dc3d587b7e64b7d96e91f163db52c582e2d3cb2cd31f922888c9e7d2ebe62 +size 783 diff --git a/iris/tvae/4/logs/val_duration_size/events.out.tfevents.1721754366.72f500866ed6.3426.59 b/iris/tvae/4/logs/val_duration_size/events.out.tfevents.1721754366.72f500866ed6.3426.59 new file mode 100644 index 0000000000000000000000000000000000000000..df5d3911c012e34e5e3b5b06537f39514017d1f3 --- /dev/null +++ b/iris/tvae/4/logs/val_duration_size/events.out.tfevents.1721754366.72f500866ed6.3426.59 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6db31142c28bba21e0b20e0fffe2b027f9c31c6c03d55575162d2dff9894226f +size 783 diff --git a/iris/tvae/4/logs/val_n_batch/events.out.tfevents.1721754366.72f500866ed6.3426.56 b/iris/tvae/4/logs/val_n_batch/events.out.tfevents.1721754366.72f500866ed6.3426.56 new file mode 100644 index 0000000000000000000000000000000000000000..5a465cb776e8acde486dfafb821fd2df596fc4d5 --- /dev/null +++ b/iris/tvae/4/logs/val_n_batch/events.out.tfevents.1721754366.72f500866ed6.3426.56 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5cf27be258a28d7e057ffaf6204630cefbea76824aa58591f3f230eb3663abea +size 783 diff --git a/iris/tvae/4/logs/val_n_size/events.out.tfevents.1721754366.72f500866ed6.3426.55 b/iris/tvae/4/logs/val_n_size/events.out.tfevents.1721754366.72f500866ed6.3426.55 new file mode 100644 index 0000000000000000000000000000000000000000..e5302abf4f0e2e1f9daeb19f80e2847a23e382c2 --- /dev/null +++ b/iris/tvae/4/logs/val_n_size/events.out.tfevents.1721754366.72f500866ed6.3426.55 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d8390555c7edb3439bcd9555e76252230c7294b0f6d62633f78186f44c672666 +size 783 diff --git a/iris/tvae/4/mlu-eval.ipynb b/iris/tvae/4/mlu-eval.ipynb new file mode 100644 index 0000000000000000000000000000000000000000..86c79bfae26d0d1308009a8a1c64a5542e7a164a --- /dev/null +++ b/iris/tvae/4/mlu-eval.ipynb @@ -0,0 +1,2314 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "982e76f5", + "metadata": { + "execution": { + "iopub.execute_input": "2024-07-23T17:02:36.230906Z", + "iopub.status.busy": "2024-07-23T17:02:36.230572Z", + "iopub.status.idle": "2024-07-23T17:02:36.262923Z", + "shell.execute_reply": "2024-07-23T17:02:36.262200Z" + }, + "papermill": { + "duration": 0.047579, + "end_time": "2024-07-23T17:02:36.265006", + "exception": false, + "start_time": "2024-07-23T17:02:36.217427", + "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-23T17:02:36.290196Z", + "iopub.status.busy": "2024-07-23T17:02:36.289889Z", + "iopub.status.idle": "2024-07-23T17:02:36.298287Z", + "shell.execute_reply": "2024-07-23T17:02:36.297475Z" + }, + "papermill": { + "duration": 0.023173, + "end_time": "2024-07-23T17:02:36.300306", + "exception": false, + "start_time": "2024-07-23T17:02:36.277133", + "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-23T17:02:36.324445Z", + "iopub.status.busy": "2024-07-23T17:02:36.323681Z", + "iopub.status.idle": "2024-07-23T17:02:36.327870Z", + "shell.execute_reply": "2024-07-23T17:02:36.327204Z" + }, + "papermill": { + "duration": 0.018245, + "end_time": "2024-07-23T17:02:36.329783", + "exception": false, + "start_time": "2024-07-23T17:02:36.311538", + "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-23T17:02:36.353756Z", + "iopub.status.busy": "2024-07-23T17:02:36.353474Z", + "iopub.status.idle": "2024-07-23T17:02:36.357619Z", + "shell.execute_reply": "2024-07-23T17:02:36.356753Z" + }, + "executionInfo": { + "elapsed": 678, + "status": "ok", + "timestamp": 1696841022168, + "user": { + "displayName": "Rizqi Nur", + "userId": "09644007964068789560" + }, + "user_tz": -420 + }, + "id": "ns5hFcVL2yvs", + "papermill": { + "duration": 0.018249, + "end_time": "2024-07-23T17:02:36.359671", + "exception": false, + "start_time": "2024-07-23T17:02:36.341422", + "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-23T17:02:36.383352Z", + "iopub.status.busy": "2024-07-23T17:02:36.382851Z", + "iopub.status.idle": "2024-07-23T17:02:36.388505Z", + "shell.execute_reply": "2024-07-23T17:02:36.387641Z" + }, + "papermill": { + "duration": 0.019723, + "end_time": "2024-07-23T17:02:36.390498", + "exception": false, + "start_time": "2024-07-23T17:02:36.370775", + "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": "83964596", + "metadata": { + "execution": { + "iopub.execute_input": "2024-07-23T17:02:36.415648Z", + "iopub.status.busy": "2024-07-23T17:02:36.415378Z", + "iopub.status.idle": "2024-07-23T17:02:36.420349Z", + "shell.execute_reply": "2024-07-23T17:02:36.419528Z" + }, + "papermill": { + "duration": 0.019741, + "end_time": "2024-07-23T17:02:36.422242", + "exception": false, + "start_time": "2024-07-23T17:02:36.402501", + "status": "completed" + }, + "tags": [ + "injected-parameters" + ] + }, + "outputs": [], + "source": [ + "# Parameters\n", + "dataset = \"iris\"\n", + "dataset_name = \"iris\"\n", + "single_model = \"tvae\"\n", + "gp = True\n", + "gp_multiply = True\n", + "random_seed = 4\n", + "debug = False\n", + "folder = \"eval\"\n", + "path_prefix = \"../../../../\"\n", + "path = \"eval/iris/tvae/4\"\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.011228, + "end_time": "2024-07-23T17:02:36.444796", + "exception": false, + "start_time": "2024-07-23T17:02:36.433568", + "status": "completed" + }, + "tags": [] + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "5f45b1d0", + "metadata": { + "execution": { + "iopub.execute_input": "2024-07-23T17:02:36.468840Z", + "iopub.status.busy": "2024-07-23T17:02:36.468158Z", + "iopub.status.idle": "2024-07-23T17:02:36.477247Z", + "shell.execute_reply": "2024-07-23T17:02:36.476359Z" + }, + "executionInfo": { + "elapsed": 7, + "status": "ok", + "timestamp": 1696841022169, + "user": { + "displayName": "Rizqi Nur", + "userId": "09644007964068789560" + }, + "user_tz": -420 + }, + "id": "UdvXYv3c3LXy", + "papermill": { + "duration": 0.023225, + "end_time": "2024-07-23T17:02:36.479167", + "exception": false, + "start_time": "2024-07-23T17:02:36.455942", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "/kaggle/working\n", + "/kaggle/working/eval/iris/tvae/4\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-23T17:02:36.502764Z", + "iopub.status.busy": "2024-07-23T17:02:36.502485Z", + "iopub.status.idle": "2024-07-23T17:02:38.498412Z", + "shell.execute_reply": "2024-07-23T17:02:38.497461Z" + }, + "papermill": { + "duration": 2.010201, + "end_time": "2024-07-23T17:02:38.500522", + "exception": false, + "start_time": "2024-07-23T17:02:36.490321", + "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-23T17:02:38.527986Z", + "iopub.status.busy": "2024-07-23T17:02:38.527544Z", + "iopub.status.idle": "2024-07-23T17:02:38.537679Z", + "shell.execute_reply": "2024-07-23T17:02:38.536949Z" + }, + "papermill": { + "duration": 0.02595, + "end_time": "2024-07-23T17:02:38.539595", + "exception": false, + "start_time": "2024-07-23T17:02:38.513645", + "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-23T17:02:38.563509Z", + "iopub.status.busy": "2024-07-23T17:02:38.563229Z", + "iopub.status.idle": "2024-07-23T17:02:38.570110Z", + "shell.execute_reply": "2024-07-23T17:02:38.569404Z" + }, + "executionInfo": { + "elapsed": 6, + "status": "ok", + "timestamp": 1696841022169, + "user": { + "displayName": "Rizqi Nur", + "userId": "09644007964068789560" + }, + "user_tz": -420 + }, + "id": "Vrl2QkoV3o_8", + "papermill": { + "duration": 0.021191, + "end_time": "2024-07-23T17:02:38.572221", + "exception": false, + "start_time": "2024-07-23T17:02:38.551030", + "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-23T17:02:38.597619Z", + "iopub.status.busy": "2024-07-23T17:02:38.597121Z", + "iopub.status.idle": "2024-07-23T17:02:38.696480Z", + "shell.execute_reply": "2024-07-23T17:02:38.695483Z" + }, + "executionInfo": { + "elapsed": 6, + "status": "ok", + "timestamp": 1696841022169, + "user": { + "displayName": "Rizqi Nur", + "userId": "09644007964068789560" + }, + "user_tz": -420 + }, + "id": "TilUuFk9vqMb", + "papermill": { + "duration": 0.114583, + "end_time": "2024-07-23T17:02:38.699010", + "exception": false, + "start_time": "2024-07-23T17:02:38.584427", + "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-23T17:02:38.725263Z", + "iopub.status.busy": "2024-07-23T17:02:38.724943Z", + "iopub.status.idle": "2024-07-23T17:02:43.180825Z", + "shell.execute_reply": "2024-07-23T17:02:43.180005Z" + }, + "executionInfo": { + "elapsed": 3113, + "status": "ok", + "timestamp": 1696841025277, + "user": { + "displayName": "Rizqi Nur", + "userId": "09644007964068789560" + }, + "user_tz": -420 + }, + "id": "7Abt8nStvr9Z", + "papermill": { + "duration": 4.471905, + "end_time": "2024-07-23T17:02:43.183338", + "exception": false, + "start_time": "2024-07-23T17:02:38.711433", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "2024-07-23 17:02:40.533161: 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 17:02:40.533216: 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 17:02:40.535250: 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-23T17:02:43.209411Z", + "iopub.status.busy": "2024-07-23T17:02:43.208274Z", + "iopub.status.idle": "2024-07-23T17:02:43.215679Z", + "shell.execute_reply": "2024-07-23T17:02:43.214768Z" + }, + "papermill": { + "duration": 0.021979, + "end_time": "2024-07-23T17:02:43.217598", + "exception": false, + "start_time": "2024-07-23T17:02:43.195619", + "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-23T17:02:43.244409Z", + "iopub.status.busy": "2024-07-23T17:02:43.244106Z", + "iopub.status.idle": "2024-07-23T17:02:45.987352Z", + "shell.execute_reply": "2024-07-23T17:02:45.986328Z" + }, + "executionInfo": { + "elapsed": 20137, + "status": "ok", + "timestamp": 1696841045408, + "user": { + "displayName": "Rizqi Nur", + "userId": "09644007964068789560" + }, + "user_tz": -420 + }, + "id": "tbaguWxAvtPi", + "papermill": { + "duration": 2.759684, + "end_time": "2024-07-23T17:02:45.989982", + "exception": false, + "start_time": "2024-07-23T17:02:43.230298", + "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-23T17:02:46.018130Z", + "iopub.status.busy": "2024-07-23T17:02:46.017812Z", + "iopub.status.idle": "2024-07-23T17:02:46.023993Z", + "shell.execute_reply": "2024-07-23T17:02:46.023121Z" + }, + "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.023292, + "end_time": "2024-07-23T17:02:46.026094", + "exception": false, + "start_time": "2024-07-23T17:02:46.002802", + "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-23T17:02:46.050670Z", + "iopub.status.busy": "2024-07-23T17:02:46.050369Z", + "iopub.status.idle": "2024-07-23T17:02:46.055045Z", + "shell.execute_reply": "2024-07-23T17:02:46.054215Z" + }, + "papermill": { + "duration": 0.019174, + "end_time": "2024-07-23T17:02:46.056949", + "exception": false, + "start_time": "2024-07-23T17:02:46.037775", + "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-23T17:02:46.082220Z", + "iopub.status.busy": "2024-07-23T17:02:46.081924Z", + "iopub.status.idle": "2024-07-23T17:02:46.144470Z", + "shell.execute_reply": "2024-07-23T17:02:46.143548Z" + }, + "papermill": { + "duration": 0.077461, + "end_time": "2024-07-23T17:02:46.146587", + "exception": false, + "start_time": "2024-07-23T17:02:46.069126", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "../../../../ml-utility-loss/ synthetics iris\n", + "Caching in ../../../../iris/_cache_aug_test/tvae/all inf False\n", + "../../../../ml-utility-loss/aug_test/iris 0\n", + "Caching in ../../../../iris/_cache_bs_test/tvae/all inf False\n", + "../../../../ml-utility-loss/bs_test/iris 0\n", + "Caching in ../../../../iris/_cache_synth_test/tvae/all inf False\n", + "../../../../ml-utility-loss/synthetics/iris 200\n", + "200\n" + ] + } + ], + "source": [ + "from ml_utility_loss.loss_learning.estimator.pipeline import load_dataset_4\n", + "\n", + "test_set = load_dataset_4(\n", + " dataset_dir=os.path.join(path_prefix, \"ml-utility-loss/\"),\n", + " dataset_name=dataset_name,\n", + " preprocessor=preprocessor,\n", + " model=single_model,\n", + " cache_dir=path_prefix,\n", + " #synth_dir=f\"synthetics2/{single_model}\",\n", + " synth_dir=\"synthetics\",\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "14ff8b40", + "metadata": { + "execution": { + "iopub.execute_input": "2024-07-23T17:02:46.173496Z", + "iopub.status.busy": "2024-07-23T17:02:46.173139Z", + "iopub.status.idle": "2024-07-23T17:02:46.747959Z", + "shell.execute_reply": "2024-07-23T17:02:46.747118Z" + }, + "executionInfo": { + "elapsed": 588, + "status": "ok", + "timestamp": 1696841049215, + "user": { + "displayName": "Rizqi Nur", + "userId": "09644007964068789560" + }, + "user_tz": -420 + }, + "id": "NgahtU1q9uLO", + "papermill": { + "duration": 0.59092, + "end_time": "2024-07-23T17:02:46.750044", + "exception": false, + "start_time": "2024-07-23T17:02:46.159124", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "{'bias_weight_decay': 0.05,\n", + " 'Body': 'twin_encoder',\n", + " 'loss_balancer_meta': True,\n", + " 'loss_balancer_log': False,\n", + " 'loss_balancer_lbtw': False,\n", + " 'pma_skip_small': False,\n", + " 'isab_skip_small': False,\n", + " 'layer_norm': False,\n", + " 'pma_layer_norm': False,\n", + " 'attn_residual': True,\n", + " 'tf_n_layers_dec': False,\n", + " 'tf_isab_rank': 0,\n", + " 'tf_layer_norm': False,\n", + " 'tf_pma_start': -1,\n", + " 'head_n_seeds': 0,\n", + " 'dropout': 0,\n", + " 'combine_mode': 'diff_left',\n", + " 'tf_isab_mode': 'separate',\n", + " 'grad_loss_fn': torch.Tensor>,\n", + " 'bias': True,\n", + " 'bias_final': True,\n", + " 'pma_ffn_mode': 'none',\n", + " 'gradient_penalty_mode': {'gradient_penalty': True,\n", + " 'forward_once': False,\n", + " 'calc_grad_m': False,\n", + " 'avg_non_role_model_m': False,\n", + " 'inverse_avg_non_role_model_m': False},\n", + " 'single_model': True,\n", + " 'tf_pma_low': 4,\n", + " 'patience': 10,\n", + " 'grad_clip': 0.7999999999999999,\n", + " 'bias_lr_mul': 1.0,\n", + " 'synth_data': 2,\n", + " 'inds_init_mode': 'fixnorm',\n", + " 'head_activation': torch.nn.modules.activation.ReLU6,\n", + " 'tf_activation': torch.nn.modules.activation.ReLU6,\n", + " 'loss_balancer_beta': 0.7,\n", + " 'loss_balancer_r': 0.96,\n", + " 'aug_train': 0,\n", + " 'bs_train': 0,\n", + " 'real_train': 5,\n", + " 'dataset_size': 256,\n", + " 'batch_size': 4,\n", + " 'epochs': 100,\n", + " 'lr_mul': 0.15,\n", + " 'n_warmup_steps': 120,\n", + " 'Optim': functools.partial(, amsgrad=True),\n", + " 'g_loss_mul': 0.1,\n", + " 'd_model': 32,\n", + " 'attn_activation': ml_utility_loss.activations.LeakyHardtanh,\n", + " 'tf_d_inner': 16,\n", + " 'tf_n_layers_enc': 2,\n", + " 'tf_n_head': 16,\n", + " 'tf_activation_final': ml_utility_loss.activations.LeakyHardsigmoid,\n", + " 'ada_d_hid': 32,\n", + " 'ada_n_layers': 3,\n", + " 'ada_activation': torch.nn.modules.activation.ReLU6,\n", + " 'ada_activation_final': torch.nn.modules.activation.Sigmoid,\n", + " 'head_d_hid': 32,\n", + " 'head_n_layers': 7,\n", + " 'head_n_head': 2,\n", + " 'head_activation_final': torch.nn.modules.activation.Sigmoid,\n", + " 'models': ['tvae'],\n", + " 'fixed_role_model': 'tvae',\n", + " 'max_seconds': 3600,\n", + " 'tf_lora': False,\n", + " 'tf_num_inds': 32,\n", + " 'ada_n_seeds': 0,\n", + " 'gradient_penalty_kwargs': {'mag_loss': True,\n", + " 'mse_mag': True,\n", + " 'mag_corr': False,\n", + " 'seq_mag': False,\n", + " 'cos_loss': False,\n", + " 'mag_corr_kwargs': {'only_sign': False},\n", + " 'cos_loss_kwargs': {'only_sign': True, 'cos_matrix': False},\n", + " 'mse_mag_kwargs': {'target': 0.5, 'multiply': True, 'forgive_over': True}}}" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import ml_utility_loss.loss_learning.estimator.params2 as PARAMS\n", + "from ml_utility_loss.tuning import map_parameters\n", + "from ml_utility_loss.loss_learning.estimator.params.default import update_param_space, update_param_space_2\n", + "import wandb\n", + "\n", + "#\"\"\"\n", + "param_space = {\n", + " **getattr(PARAMS, dataset_name).PARAM_SPACE,\n", + "}\n", + "# params = {\n", + "# **getattr(PARAMS, dataset_name).BESTS[param_index],\n", + "# }\n", + "params = getattr(PARAMS, dataset_name).BEST_DICT[gp][gp_multiply][single_model]\n", + "if isinstance(params, (list, tuple)):\n", + " params = params[param_index]\n", + "params = {\n", + " **getattr(PARAMS, dataset_name).DEFAULTS,\n", + " **params,\n", + "}\n", + "if gp:\n", + " params[\"gradient_penalty_mode\"] = \"ALL\"\n", + " params[\"mse_mag\"] = True\n", + " if gp_multiply:\n", + " params[\"mse_mag_multiply\"] = True\n", + " #params[\"mse_mag_target\"] = 1.0\n", + " else:\n", + " params[\"mse_mag_multiply\"] = False\n", + " #params[\"mse_mag_target\"] = 0.1\n", + "else:\n", + " params[\"gradient_penalty_mode\"] = \"NONE\"\n", + " params[\"mse_mag\"] = False\n", + "params[\"single_model\"] = False\n", + "if models:\n", + " params[\"models\"] = models\n", + "if single_model:\n", + " params[\"fixed_role_model\"] = single_model\n", + " params[\"single_model\"] = True\n", + " params[\"models\"] = [single_model]\n", + "# if params[\"fixed_role_model\"] == \"realtabformer\" and dataset_name == \"treatment\":\n", + "# params[\"batch_size\"] = 2\n", + "params[\"max_seconds\"] = 3600\n", + "params[\"patience\"] = 10\n", + "params[\"epochs\"] = 100\n", + "if debug:\n", + " params[\"epochs\"] = 2\n", + "with open(\"params.json\", \"w\") as f:\n", + " json.dump(params, f)\n", + "params = map_parameters(params, param_space=param_space)\n", + "params" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "a48bd9e9", + "metadata": { + "execution": { + "iopub.execute_input": "2024-07-23T17:02:46.775682Z", + "iopub.status.busy": "2024-07-23T17:02:46.775392Z", + "iopub.status.idle": "2024-07-23T17:02:46.923519Z", + "shell.execute_reply": "2024-07-23T17:02:46.922597Z" + }, + "papermill": { + "duration": 0.163879, + "end_time": "2024-07-23T17:02:46.926179", + "exception": false, + "start_time": "2024-07-23T17:02:46.762300", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "../../../../ml-utility-loss/ synthetics iris\n", + "Caching in ../../../../iris/_cache_aug_train/tvae/all inf False\n", + "split df ratio is 0\n", + "../../../../ml-utility-loss/aug_train/iris [0, 0]\n", + "Caching in ../../../../iris/_cache_aug_val/tvae/all inf False\n", + "split df ratio is 1\n", + "../../../../ml-utility-loss/aug_val/iris [0, 0]\n", + "Caching in ../../../../iris/_cache_bs_train/tvae/all inf False\n", + "split df ratio is 0\n", + "../../../../ml-utility-loss/bs_train/iris [0, 0]\n", + "Caching in ../../../../iris/_cache_bs_val/tvae/all inf False\n", + "split df ratio is 1\n", + "../../../../ml-utility-loss/bs_val/iris [0, 0]\n", + "Caching in ../../../../iris/_cache_synth/tvae/all inf False\n", + "Splitting without random!\n", + "Split with reverse index!\n", + "../../../../ml-utility-loss/synthetics/iris [800, 200]\n", + "Caching in ../../../../iris/_cache_real/tvae/all inf False\n", + "split df ratio is 0\n", + "../../../../ml-utility-loss/synthetics/iris [5, 0]\n", + "[805, 200]\n", + "[805, 200]\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/opt/conda/lib/python3.10/site-packages/ml_utility_loss/loss_learning/estimator/data.py:174: FutureWarning: The default dtype for empty Series will be 'object' instead of 'float64' in a future version. Specify a dtype explicitly to silence this warning.\n", + " index = pd.Series(self.index)\n", + "/opt/conda/lib/python3.10/site-packages/ml_utility_loss/loss_learning/estimator/data.py:174: FutureWarning: The default dtype for empty Series will be 'object' instead of 'float64' in a future version. Specify a dtype explicitly to silence this warning.\n", + " index = pd.Series(self.index)\n", + "/opt/conda/lib/python3.10/site-packages/ml_utility_loss/loss_learning/estimator/data.py:174: FutureWarning: The default dtype for empty Series will be 'object' instead of 'float64' in a future version. Specify a dtype explicitly to silence this warning.\n", + " index = pd.Series(self.index)\n", + "/opt/conda/lib/python3.10/site-packages/ml_utility_loss/loss_learning/estimator/data.py:174: FutureWarning: The default dtype for empty Series will be 'object' instead of 'float64' in a future version. Specify a dtype explicitly to silence this warning.\n", + " index = pd.Series(self.index)\n" + ] + } + ], + "source": [ + "train_set, val_set = datasetsn(model=params[\"fixed_role_model\"], synth_data=params[\"synth_data\"])" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "2fcb1418", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 1000 + }, + "execution": { + "iopub.execute_input": "2024-07-23T17:02:46.957015Z", + "iopub.status.busy": "2024-07-23T17:02:46.956265Z", + "iopub.status.idle": "2024-07-23T17:02:47.238812Z", + "shell.execute_reply": "2024-07-23T17:02:47.237907Z" + }, + "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.30062, + "end_time": "2024-07-23T17:02:47.240828", + "exception": false, + "start_time": "2024-07-23T17:02:46.940208", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Creating model of type \n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[*] Embedding False True\n", + "['tvae'] 1\n" + ] + } + ], + "source": [ + "from ml_utility_loss.loss_learning.estimator.model.pipeline import remove_non_model_params\n", + "from ml_utility_loss.loss_learning.estimator.pipeline import create_model\n", + "from ml_utility_loss.util import filter_dict, clear_memory\n", + "\n", + "clear_memory()\n", + "\n", + "params2 = remove_non_model_params(params)\n", + "adapters = filter_dict(preprocessor.adapter_sizes, params[\"models\"])\n", + "\n", + "model = create_model(\n", + " adapters=adapters,\n", + " #Body=\"twin_encoder\",\n", + " **params2,\n", + ")\n", + "#cf.apply_weight_standardization(model, n_last_layers_ignore=0)\n", + "print(model.models, len(model.adapters))" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "938f94fc", + "metadata": { + "execution": { + "iopub.execute_input": "2024-07-23T17:02:47.269087Z", + "iopub.status.busy": "2024-07-23T17:02:47.268776Z", + "iopub.status.idle": "2024-07-23T17:02:47.272994Z", + "shell.execute_reply": "2024-07-23T17:02:47.272131Z" + }, + "papermill": { + "duration": 0.020512, + "end_time": "2024-07-23T17:02:47.274945", + "exception": false, + "start_time": "2024-07-23T17:02:47.254433", + "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-23T17:02:47.300890Z", + "iopub.status.busy": "2024-07-23T17:02:47.300616Z", + "iopub.status.idle": "2024-07-23T17:02:47.307052Z", + "shell.execute_reply": "2024-07-23T17:02:47.306272Z" + }, + "papermill": { + "duration": 0.021651, + "end_time": "2024-07-23T17:02:47.308898", + "exception": false, + "start_time": "2024-07-23T17:02:47.287247", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "37313" + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "def count_parameters(model):\n", + " return sum(p.numel() for p in model.parameters() if p.requires_grad)\n", + "\n", + "count_parameters(model)" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "id": "bd386e57", + "metadata": { + "execution": { + "iopub.execute_input": "2024-07-23T17:02:47.335287Z", + "iopub.status.busy": "2024-07-23T17:02:47.334703Z", + "iopub.status.idle": "2024-07-23T17:02:47.390920Z", + "shell.execute_reply": "2024-07-23T17:02:47.389966Z" + }, + "papermill": { + "duration": 0.071812, + "end_time": "2024-07-23T17:02:47.393045", + "exception": false, + "start_time": "2024-07-23T17:02:47.321233", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "========================================================================================================================\n", + "Layer (type:depth-idx) Output Shape Param #\n", + "========================================================================================================================\n", + "MLUtilitySingle [2, 120, 24] --\n", + "├─Adapter: 1-1 [2, 120, 24] --\n", + "│ └─Sequential: 2-1 [2, 120, 32] --\n", + "│ │ └─FeedForward: 3-1 [2, 120, 32] --\n", + "│ │ │ └─Linear: 4-1 [2, 120, 32] 800\n", + "│ │ │ └─ReLU6: 4-2 [2, 120, 32] --\n", + "│ │ └─FeedForward: 3-2 [2, 120, 32] --\n", + "│ │ │ └─Linear: 4-3 [2, 120, 32] 1,056\n", + "│ │ │ └─ReLU6: 4-4 [2, 120, 32] --\n", + "│ │ └─FeedForward: 3-3 [2, 120, 32] --\n", + "│ │ │ └─Linear: 4-5 [2, 120, 32] 1,056\n", + "│ │ │ └─Sigmoid: 4-6 [2, 120, 32] --\n", + "├─Adapter: 1-2 [2, 30, 24] (recursive)\n", + "│ └─Sequential: 2-2 [2, 30, 32] (recursive)\n", + "│ │ └─FeedForward: 3-4 [2, 30, 32] (recursive)\n", + "│ │ │ └─Linear: 4-7 [2, 30, 32] (recursive)\n", + "│ │ │ └─ReLU6: 4-8 [2, 30, 32] --\n", + "│ │ └─FeedForward: 3-5 [2, 30, 32] (recursive)\n", + "│ │ │ └─Linear: 4-9 [2, 30, 32] (recursive)\n", + "│ │ │ └─ReLU6: 4-10 [2, 30, 32] --\n", + "│ │ └─FeedForward: 3-6 [2, 30, 32] (recursive)\n", + "│ │ │ └─Linear: 4-11 [2, 30, 32] (recursive)\n", + "│ │ │ └─Sigmoid: 4-12 [2, 30, 32] --\n", + "├─TwinEncoder: 1-3 [2, 128] --\n", + "│ └─Encoder: 2-3 [2, 4, 32] --\n", + "│ │ └─ModuleList: 3-8 -- (recursive)\n", + "│ │ │ └─EncoderLayer: 4-13 [2, 120, 32] --\n", + "│ │ │ │ └─SimpleInducedSetAttention: 5-1 [2, 120, 32] --\n", + "│ │ │ │ │ └─TensorInductionPoint: 6-1 [2, 32, 32] 1,024\n", + "│ │ │ │ │ └─MultiHeadAttention: 6-2 [2, 32, 32] --\n", + "│ │ │ │ │ │ └─Linear: 7-1 [2, 32, 32] 1,024\n", + "│ │ │ │ │ │ └─Linear: 7-2 [2, 120, 32] 1,024\n", + "│ │ │ │ │ │ └─Linear: 7-3 [2, 120, 32] 1,024\n", + "│ │ │ │ │ │ └─ScaledDotProductAttention: 7-4 [2, 16, 32, 2] --\n", + "│ │ │ │ │ │ │ └─Softmax: 8-1 [2, 16, 32, 120] --\n", + "│ │ │ │ │ │ └─Linear: 7-5 [2, 32, 32] 1,056\n", + "│ │ │ │ │ │ └─LeakyHardtanh: 7-6 [2, 32, 32] --\n", + "│ │ │ │ │ └─MultiHeadAttention: 6-3 [2, 120, 32] --\n", + "│ │ │ │ │ │ └─Linear: 7-7 [2, 120, 32] 1,024\n", + "│ │ │ │ │ │ └─Linear: 7-8 [2, 32, 32] 1,024\n", + "│ │ │ │ │ │ └─Linear: 7-9 [2, 32, 32] 1,024\n", + "│ │ │ │ │ │ └─ScaledDotProductAttention: 7-10 [2, 16, 120, 2] --\n", + "│ │ │ │ │ │ │ └─Softmax: 8-2 [2, 16, 120, 32] --\n", + "│ │ │ │ │ │ └─Linear: 7-11 [2, 120, 32] 1,056\n", + "│ │ │ │ │ │ └─LeakyHardtanh: 7-12 [2, 120, 32] --\n", + "│ │ │ │ └─DoubleFeedForward: 5-2 [2, 120, 32] --\n", + "│ │ │ │ │ └─Linear: 6-4 [2, 120, 16] 528\n", + "│ │ │ │ │ └─ReLU6: 6-5 [2, 120, 16] --\n", + "│ │ │ │ │ └─Linear: 6-6 [2, 120, 32] 544\n", + "│ │ │ └─EncoderLayer: 4-14 [2, 4, 32] --\n", + "│ │ │ │ └─SimpleInducedSetAttention: 5-3 [2, 120, 32] --\n", + "│ │ │ │ │ └─TensorInductionPoint: 6-7 [2, 32, 32] 1,024\n", + "│ │ │ │ │ └─MultiHeadAttention: 6-8 [2, 32, 32] --\n", + "│ │ │ │ │ │ └─Linear: 7-13 [2, 32, 32] 1,024\n", + "│ │ │ │ │ │ └─Linear: 7-14 [2, 120, 32] 1,024\n", + "│ │ │ │ │ │ └─Linear: 7-15 [2, 120, 32] 1,024\n", + "│ │ │ │ │ │ └─ScaledDotProductAttention: 7-16 [2, 16, 32, 2] --\n", + "│ │ │ │ │ │ │ └─Softmax: 8-3 [2, 16, 32, 120] --\n", + "│ │ │ │ │ │ └─Linear: 7-17 [2, 32, 32] 1,056\n", + "│ │ │ │ │ │ └─LeakyHardtanh: 7-18 [2, 32, 32] --\n", + "│ │ │ │ │ └─MultiHeadAttention: 6-9 [2, 120, 32] --\n", + "│ │ │ │ │ │ └─Linear: 7-19 [2, 120, 32] 1,024\n", + "│ │ │ │ │ │ └─Linear: 7-20 [2, 32, 32] 1,024\n", + "│ │ │ │ │ │ └─Linear: 7-21 [2, 32, 32] 1,024\n", + "│ │ │ │ │ │ └─ScaledDotProductAttention: 7-22 [2, 16, 120, 2] --\n", + "│ │ │ │ │ │ │ └─Softmax: 8-4 [2, 16, 120, 32] --\n", + "│ │ │ │ │ │ └─Linear: 7-23 [2, 120, 32] 1,056\n", + "│ │ │ │ │ │ └─LeakyHardtanh: 7-24 [2, 120, 32] --\n", + "│ │ │ │ └─DoubleFeedForward: 5-4 [2, 120, 32] --\n", + "│ │ │ │ │ └─Linear: 6-10 [2, 120, 16] 528\n", + "│ │ │ │ │ └─LeakyHardsigmoid: 6-11 [2, 120, 16] --\n", + "│ │ │ │ │ └─Linear: 6-12 [2, 120, 32] 544\n", + "│ │ │ │ └─PoolingByMultiheadAttention: 5-5 [2, 4, 32] --\n", + "│ │ │ │ │ └─TensorInductionPoint: 6-13 [2, 4, 32] 128\n", + "│ │ │ │ │ └─SimpleMultiHeadAttention: 6-14 [2, 4, 32] --\n", + "│ │ │ │ │ │ └─Linear: 7-25 [2, 4, 32] 1,024\n", + "│ │ │ │ │ │ └─Linear: 7-26 [2, 120, 32] 1,024\n", + "│ │ │ │ │ │ └─Linear: 7-27 [2, 120, 32] 1,024\n", + "│ │ │ │ │ │ └─ScaledDotProductAttention: 7-28 [2, 16, 4, 2] --\n", + "│ │ │ │ │ │ │ └─Softmax: 8-5 [2, 16, 4, 120] --\n", + "│ │ │ │ │ │ └─Linear: 7-29 [2, 4, 32] 1,056\n", + "│ │ │ │ │ │ └─LeakyHardtanh: 7-30 [2, 4, 32] --\n", + "│ └─Encoder: 2-4 [2, 4, 32] (recursive)\n", + "│ │ └─ModuleList: 3-8 -- (recursive)\n", + "│ │ │ └─EncoderLayer: 4-15 [2, 30, 32] (recursive)\n", + "│ │ │ │ └─SimpleInducedSetAttention: 5-6 [2, 30, 32] (recursive)\n", + "│ │ │ │ │ └─TensorInductionPoint: 6-15 [2, 32, 32] (recursive)\n", + "│ │ │ │ │ └─MultiHeadAttention: 6-16 [2, 32, 32] (recursive)\n", + "│ │ │ │ │ │ └─Linear: 7-31 [2, 32, 32] (recursive)\n", + "│ │ │ │ │ │ └─Linear: 7-32 [2, 30, 32] (recursive)\n", + "│ │ │ │ │ │ └─Linear: 7-33 [2, 30, 32] (recursive)\n", + "│ │ │ │ │ │ └─ScaledDotProductAttention: 7-34 [2, 16, 32, 2] --\n", + "│ │ │ │ │ │ │ └─Softmax: 8-6 [2, 16, 32, 30] --\n", + "│ │ │ │ │ │ └─Linear: 7-35 [2, 32, 32] (recursive)\n", + "│ │ │ │ │ │ └─LeakyHardtanh: 7-36 [2, 32, 32] --\n", + "│ │ │ │ │ └─MultiHeadAttention: 6-17 [2, 30, 32] (recursive)\n", + "│ │ │ │ │ │ └─Linear: 7-37 [2, 30, 32] (recursive)\n", + "│ │ │ │ │ │ └─Linear: 7-38 [2, 32, 32] (recursive)\n", + "│ │ │ │ │ │ └─Linear: 7-39 [2, 32, 32] (recursive)\n", + "│ │ │ │ │ │ └─ScaledDotProductAttention: 7-40 [2, 16, 30, 2] --\n", + "│ │ │ │ │ │ │ └─Softmax: 8-7 [2, 16, 30, 32] --\n", + "│ │ │ │ │ │ └─Linear: 7-41 [2, 30, 32] (recursive)\n", + "│ │ │ │ │ │ └─LeakyHardtanh: 7-42 [2, 30, 32] --\n", + "│ │ │ │ └─DoubleFeedForward: 5-7 [2, 30, 32] (recursive)\n", + "│ │ │ │ │ └─Linear: 6-18 [2, 30, 16] (recursive)\n", + "│ │ │ │ │ └─ReLU6: 6-19 [2, 30, 16] --\n", + "│ │ │ │ │ └─Linear: 6-20 [2, 30, 32] (recursive)\n", + "│ │ │ └─EncoderLayer: 4-16 [2, 4, 32] (recursive)\n", + "│ │ │ │ └─SimpleInducedSetAttention: 5-8 [2, 30, 32] (recursive)\n", + "│ │ │ │ │ └─TensorInductionPoint: 6-21 [2, 32, 32] (recursive)\n", + "│ │ │ │ │ └─MultiHeadAttention: 6-22 [2, 32, 32] (recursive)\n", + "│ │ │ │ │ │ └─Linear: 7-43 [2, 32, 32] (recursive)\n", + "│ │ │ │ │ │ └─Linear: 7-44 [2, 30, 32] (recursive)\n", + "│ │ │ │ │ │ └─Linear: 7-45 [2, 30, 32] (recursive)\n", + "│ │ │ │ │ │ └─ScaledDotProductAttention: 7-46 [2, 16, 32, 2] --\n", + "│ │ │ │ │ │ │ └─Softmax: 8-8 [2, 16, 32, 30] --\n", + "│ │ │ │ │ │ └─Linear: 7-47 [2, 32, 32] (recursive)\n", + "│ │ │ │ │ │ └─LeakyHardtanh: 7-48 [2, 32, 32] --\n", + "│ │ │ │ │ └─MultiHeadAttention: 6-23 [2, 30, 32] (recursive)\n", + "│ │ │ │ │ │ └─Linear: 7-49 [2, 30, 32] (recursive)\n", + "│ │ │ │ │ │ └─Linear: 7-50 [2, 32, 32] (recursive)\n", + "│ │ │ │ │ │ └─Linear: 7-51 [2, 32, 32] (recursive)\n", + "│ │ │ │ │ │ └─ScaledDotProductAttention: 7-52 [2, 16, 30, 2] --\n", + "│ │ │ │ │ │ │ └─Softmax: 8-9 [2, 16, 30, 32] --\n", + "│ │ │ │ │ │ └─Linear: 7-53 [2, 30, 32] (recursive)\n", + "│ │ │ │ │ │ └─LeakyHardtanh: 7-54 [2, 30, 32] --\n", + "│ │ │ │ └─DoubleFeedForward: 5-9 [2, 30, 32] (recursive)\n", + "│ │ │ │ │ └─Linear: 6-24 [2, 30, 16] (recursive)\n", + "│ │ │ │ │ └─LeakyHardsigmoid: 6-25 [2, 30, 16] --\n", + "│ │ │ │ │ └─Linear: 6-26 [2, 30, 32] (recursive)\n", + "│ │ │ │ └─PoolingByMultiheadAttention: 5-10 [2, 4, 32] (recursive)\n", + "│ │ │ │ │ └─TensorInductionPoint: 6-27 [2, 4, 32] (recursive)\n", + "│ │ │ │ │ └─SimpleMultiHeadAttention: 6-28 [2, 4, 32] (recursive)\n", + "│ │ │ │ │ │ └─Linear: 7-55 [2, 4, 32] (recursive)\n", + "│ │ │ │ │ │ └─Linear: 7-56 [2, 30, 32] (recursive)\n", + "│ │ │ │ │ │ └─Linear: 7-57 [2, 30, 32] (recursive)\n", + "│ │ │ │ │ │ └─ScaledDotProductAttention: 7-58 [2, 16, 4, 2] --\n", + "│ │ │ │ │ │ │ └─Softmax: 8-10 [2, 16, 4, 30] --\n", + "│ │ │ │ │ │ └─Linear: 7-59 [2, 4, 32] (recursive)\n", + "│ │ │ │ │ │ └─LeakyHardtanh: 7-60 [2, 4, 32] --\n", + "├─Head: 1-4 [2] --\n", + "│ └─Sequential: 2-5 [2, 1] --\n", + "│ │ └─FeedForward: 3-9 [2, 32] --\n", + "│ │ │ └─Linear: 4-17 [2, 32] 4,128\n", + "│ │ │ └─ReLU6: 4-18 [2, 32] --\n", + "│ │ └─FeedForward: 3-10 [2, 32] --\n", + "│ │ │ └─Linear: 4-19 [2, 32] 1,056\n", + "│ │ │ └─ReLU6: 4-20 [2, 32] --\n", + "│ │ └─FeedForward: 3-11 [2, 32] --\n", + "│ │ │ └─Linear: 4-21 [2, 32] 1,056\n", + "│ │ │ └─ReLU6: 4-22 [2, 32] --\n", + "│ │ └─FeedForward: 3-12 [2, 32] --\n", + "│ │ │ └─Linear: 4-23 [2, 32] 1,056\n", + "│ │ │ └─ReLU6: 4-24 [2, 32] --\n", + "│ │ └─FeedForward: 3-13 [2, 32] --\n", + "│ │ │ └─Linear: 4-25 [2, 32] 1,056\n", + "│ │ │ └─ReLU6: 4-26 [2, 32] --\n", + "│ │ └─FeedForward: 3-14 [2, 32] --\n", + "│ │ │ └─Linear: 4-27 [2, 32] 1,056\n", + "│ │ │ └─ReLU6: 4-28 [2, 32] --\n", + "│ │ └─FeedForward: 3-15 [2, 1] --\n", + "│ │ │ └─Linear: 4-29 [2, 1] 33\n", + "│ │ │ └─Sigmoid: 4-30 [2, 1] --\n", + "========================================================================================================================\n", + "Total params: 37,313\n", + "Trainable params: 37,313\n", + "Non-trainable params: 0\n", + "Total mult-adds (M): 0.12\n", + "========================================================================================================================\n", + "Input size (MB): 0.03\n", + "Forward/backward pass size (MB): 1.57\n", + "Params size (MB): 0.15\n", + "Estimated Total Size (MB): 1.75\n", + "========================================================================================================================" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from torchinfo import summary\n", + "\n", + "role_model = params[\"fixed_role_model\"]\n", + "s = train_set[0][role_model]\n", + "summary(model[role_model], input_size=((2, *s[0].shape), (2, *s[1].shape)), depth=9) # 8 max" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "id": "0f42c4d1", + "metadata": { + "execution": { + "iopub.execute_input": "2024-07-23T17:02:47.422007Z", + "iopub.status.busy": "2024-07-23T17:02:47.421724Z", + "iopub.status.idle": "2024-07-23T18:03:39.760148Z", + "shell.execute_reply": "2024-07-23T18:03:39.759152Z" + }, + "papermill": { + "duration": 3652.371462, + "end_time": "2024-07-23T18:03:39.778291", + "exception": false, + "start_time": "2024-07-23T17:02:47.406829", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "3 datasets [805, 200, 200]\n", + "Creating model of type \n", + "[*] Embedding False True\n", + "g_loss_mul 0.1\n", + "Epoch 0\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.05316402865139918, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 0.003025496581185339, 'avg_role_model_g_mag_loss': 0.012441955545558507, '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.09759947288006267, 'n_size': 805, 'n_batch': 202, 'duration': 160.40350818634033, 'duration_batch': 0.7940767731997046, 'duration_size': 0.199259016380547, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.014479612979339435, 'avg_role_model_std_loss': 1.0537620263634744, 'avg_role_model_mean_pred_loss': 0.00011946571300903485, '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.014479612979339435, 'n_size': 200, 'n_batch': 50, 'duration': 37.02557158470154, 'duration_batch': 0.7405114316940308, 'duration_size': 0.1851278579235077, 'avg_pred_std': 0.18307621080428363}\n", + "Epoch 1\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.016311073873296195, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 0.0003964504950315929, 'avg_role_model_g_mag_loss': 0.0023356519130446154, '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.025515357176165866, 'n_size': 805, 'n_batch': 202, 'duration': 158.2519612312317, 'duration_batch': 0.7834255506496618, 'duration_size': 0.19658628724376606, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.009847069224342704, 'avg_role_model_std_loss': 0.061237021266424566, 'avg_role_model_mean_pred_loss': 6.534664782976716e-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.009847069224342704, 'n_size': 200, 'n_batch': 50, 'duration': 36.514960527420044, 'duration_batch': 0.7302992105484009, 'duration_size': 0.18257480263710021, 'avg_pred_std': 0.26737940788269043}\n", + "Epoch 2\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.010034364624771792, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 0.0001516891084028112, 'avg_role_model_g_mag_loss': 0.00036931741036914337, '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.011623831834067065, 'n_size': 805, 'n_batch': 202, 'duration': 158.3632607460022, 'duration_batch': 0.7839765383465456, 'duration_size': 0.19672454751056173, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.010970421027159317, 'avg_role_model_std_loss': 0.41797928259606126, 'avg_role_model_mean_pred_loss': 7.769332486120107e-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.010970421027159317, 'n_size': 200, 'n_batch': 50, 'duration': 37.957977056503296, 'duration_batch': 0.7591595411300659, 'duration_size': 0.18978988528251647, 'avg_pred_std': 0.19719498366117477}\n", + "Epoch 3\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.01001821496489209, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 0.00011448198488124864, 'avg_role_model_g_mag_loss': 0.0003188420211468239, '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.021669246593594364, 'n_size': 805, 'n_batch': 202, 'duration': 160.36429738998413, 'duration_batch': 0.793882660346456, 'duration_size': 0.19921030731675046, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.006757983728894032, 'avg_role_model_std_loss': 0.09562963622207463, 'avg_role_model_mean_pred_loss': 1.842758846530401e-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.006757983728894032, 'n_size': 200, 'n_batch': 50, 'duration': 38.392563581466675, 'duration_batch': 0.7678512716293335, 'duration_size': 0.19196281790733338, 'avg_pred_std': 0.2447887235879898}\n", + "Epoch 4\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.008850304606755304, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 7.611022839319101e-05, 'avg_role_model_g_mag_loss': 0.00019596938321494168, '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.00990126063571433, 'n_size': 805, 'n_batch': 202, 'duration': 161.33938241004944, 'duration_batch': 0.7987098139111358, 'duration_size': 0.20042159305596202, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.0075851924321614205, 'avg_role_model_std_loss': 0.12813962657145112, 'avg_role_model_mean_pred_loss': 1.7344092995745797e-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.0075851924321614205, 'n_size': 200, 'n_batch': 50, 'duration': 38.711721658706665, 'duration_batch': 0.7742344331741333, 'duration_size': 0.19355860829353333, 'avg_pred_std': 0.2320684799551964}\n", + "Epoch 5\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.008760198910419846, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 0.000135404507096625, 'avg_role_model_g_mag_loss': 0.00015235104546043444, '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.016739682606942027, 'n_size': 805, 'n_batch': 202, 'duration': 164.02156519889832, 'duration_batch': 0.8119879465291996, 'duration_size': 0.2037534971414886, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.00766922085895203, 'avg_role_model_std_loss': 0.1857406496720796, 'avg_role_model_mean_pred_loss': 4.324602634902419e-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.00766922085895203, 'n_size': 200, 'n_batch': 50, 'duration': 38.592358350753784, 'duration_batch': 0.7718471670150757, 'duration_size': 0.19296179175376893, 'avg_pred_std': 0.21998695224523546}\n", + "Epoch 6\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.007993532467757494, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 6.649130836995365e-05, 'avg_role_model_g_mag_loss': 0.00013452501655180263, '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.011703683053400376, 'n_size': 805, 'n_batch': 202, 'duration': 163.1816999912262, 'duration_batch': 0.8078301979763673, 'duration_size': 0.2027101863245046, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.00711649734294042, 'avg_role_model_std_loss': 0.1162863750976203, 'avg_role_model_mean_pred_loss': 7.86582092771937e-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.00711649734294042, 'n_size': 200, 'n_batch': 50, 'duration': 38.18028020858765, 'duration_batch': 0.7636056041717529, 'duration_size': 0.19090140104293823, 'avg_pred_std': 0.23739480897784232}\n", + "Epoch 7\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.00760357193345123, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 6.25550708701498e-05, 'avg_role_model_g_mag_loss': 0.0001476468842314637, '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.009671050467910187, 'n_size': 805, 'n_batch': 202, 'duration': 162.4574248790741, 'duration_batch': 0.8042446776191787, 'duration_size': 0.2018104656882908, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.00692649842821993, 'avg_role_model_std_loss': 0.1035704698264135, 'avg_role_model_mean_pred_loss': 4.0841071038890676e-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.00692649842821993, 'n_size': 200, 'n_batch': 50, 'duration': 38.28986477851868, 'duration_batch': 0.7657972955703736, 'duration_size': 0.1914493238925934, 'avg_pred_std': 0.2410617169737816}\n", + "Epoch 8\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.0077589181864992805, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 9.889409277080356e-05, 'avg_role_model_g_mag_loss': 0.00024661020208034456, '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.010519169878955029, 'n_size': 805, 'n_batch': 202, 'duration': 165.2306685447693, 'duration_batch': 0.8179736066572737, 'duration_size': 0.2052554888754898, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.00767035422497429, 'avg_role_model_std_loss': 0.03293478913983563, 'avg_role_model_mean_pred_loss': 5.4173822717302756e-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.00767035422497429, 'n_size': 200, 'n_batch': 50, 'duration': 40.16674613952637, 'duration_batch': 0.8033349227905273, 'duration_size': 0.20083373069763183, 'avg_pred_std': 0.2804925358295441}\n", + "Epoch 9\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.007305746946826589, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 7.816544312464231e-05, 'avg_role_model_g_mag_loss': 3.1589920291249055e-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.008409453634793078, 'n_size': 805, 'n_batch': 202, 'duration': 167.92762923240662, 'duration_batch': 0.8313248971901318, 'duration_size': 0.20860575059926287, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.006953988248715177, 'avg_role_model_std_loss': 0.05949966062031308, 'avg_role_model_mean_pred_loss': 3.707406550179912e-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.006953988248715177, 'n_size': 200, 'n_batch': 50, 'duration': 39.41908025741577, 'duration_batch': 0.7883816051483155, 'duration_size': 0.19709540128707886, 'avg_pred_std': 0.251317124068737}\n", + "Epoch 10\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.0069121151671582915, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 5.264219442312186e-05, 'avg_role_model_g_mag_loss': 4.099206962790456e-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.2637631674102646, 'n_size': 805, 'n_batch': 202, 'duration': 168.55138850212097, 'duration_batch': 0.8344128143669355, 'duration_size': 0.2093806068349329, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.006984701466280967, 'avg_role_model_std_loss': 0.1677649440800269, 'avg_role_model_mean_pred_loss': 5.438742926608064e-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.006984701466280967, 'n_size': 200, 'n_batch': 50, 'duration': 39.48977327346802, 'duration_batch': 0.7897954654693603, 'duration_size': 0.19744886636734008, 'avg_pred_std': 0.22682722091674803}\n", + "Epoch 11\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.0067413941349672235, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 7.759258618626795e-05, 'avg_role_model_g_mag_loss': 5.447061859672855e-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.007446342493228105, 'n_size': 805, 'n_batch': 202, 'duration': 163.25129961967468, 'duration_batch': 0.8081747505924489, 'duration_size': 0.20279664549027912, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.007110629869857803, 'avg_role_model_std_loss': 0.14650550237528706, 'avg_role_model_mean_pred_loss': 9.976358226168713e-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.007110629869857803, 'n_size': 200, 'n_batch': 50, 'duration': 38.427539348602295, 'duration_batch': 0.7685507869720459, 'duration_size': 0.19213769674301148, 'avg_pred_std': 0.23655535012483597}\n", + "Epoch 12\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.007260609579002137, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 7.863503280914072e-05, 'avg_role_model_g_mag_loss': 0.0004883822959324241, '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.016781227697035505, 'n_size': 805, 'n_batch': 202, 'duration': 165.82853078842163, 'duration_batch': 0.8209333207347606, 'duration_size': 0.20599817489244923, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.007817559581017122, 'avg_role_model_std_loss': 0.05978130773024759, 'avg_role_model_mean_pred_loss': 3.6274457960736585e-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.007817559581017122, 'n_size': 200, 'n_batch': 50, 'duration': 38.56433320045471, 'duration_batch': 0.7712866640090943, 'duration_size': 0.19282166600227357, 'avg_pred_std': 0.2503936293721199}\n", + "Epoch 13\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.006825684921548272, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 6.880262920986e-05, 'avg_role_model_g_mag_loss': 0.00014857716210510419, '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.011989540198122069, 'n_size': 805, 'n_batch': 202, 'duration': 163.69111919403076, 'duration_batch': 0.810352075217974, 'duration_size': 0.2033430052099761, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.006251497776247561, 'avg_role_model_std_loss': 0.059878015750800845, 'avg_role_model_mean_pred_loss': 3.585102345724067e-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.006251497776247561, 'n_size': 200, 'n_batch': 50, 'duration': 38.187318563461304, 'duration_batch': 0.7637463712692261, 'duration_size': 0.19093659281730652, 'avg_pred_std': 0.24956564277410506}\n", + "Epoch 14\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.006477063416220534, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 7.067492894623861e-05, 'avg_role_model_g_mag_loss': 4.202487259547903e-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.006746205649102104, 'n_size': 805, 'n_batch': 202, 'duration': 164.46489644050598, 'duration_batch': 0.8141826556460692, 'duration_size': 0.20430421918075278, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.006733081634156406, 'avg_role_model_std_loss': 0.0969269711484526, 'avg_role_model_mean_pred_loss': 4.3488372137048256e-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.006733081634156406, 'n_size': 200, 'n_batch': 50, 'duration': 39.442824363708496, 'duration_batch': 0.7888564872741699, 'duration_size': 0.19721412181854248, 'avg_pred_std': 0.23764485329389573}\n", + "Epoch 15\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.006159565581575684, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 5.1395137329359315e-05, 'avg_role_model_g_mag_loss': 9.713525542561311e-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.007442988763615397, 'n_size': 805, 'n_batch': 202, 'duration': 166.02179741859436, 'duration_batch': 0.8218900862306652, 'duration_size': 0.20623825766285014, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.006445633955299854, 'avg_role_model_std_loss': 0.042039627569392904, 'avg_role_model_mean_pred_loss': 6.0552509461808676e-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.006445633955299854, 'n_size': 200, 'n_batch': 50, 'duration': 38.83265423774719, 'duration_batch': 0.7766530847549439, 'duration_size': 0.19416327118873597, 'avg_pred_std': 0.2608501300215721}\n", + "Epoch 16\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.0061872028084095825, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 5.7001268243492155e-05, 'avg_role_model_g_mag_loss': 4.351274486376632e-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.00953819029827122, 'n_size': 805, 'n_batch': 202, 'duration': 164.04958629608154, 'duration_batch': 0.8121266648320868, 'duration_size': 0.20378830595786526, 'avg_pred_std': nan}\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Val loss {'avg_role_model_loss': 0.007937328663538211, 'avg_role_model_std_loss': 0.15666945051333642, 'avg_role_model_mean_pred_loss': 2.3941793181858627e-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.007937328663538211, 'n_size': 200, 'n_batch': 50, 'duration': 38.70338702201843, 'duration_batch': 0.7740677404403686, 'duration_size': 0.19351693511009216, 'avg_pred_std': 0.22153211504220963}\n", + "Epoch 17\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train loss {'avg_role_model_loss': 0.006093522619169714, 'avg_role_model_std_loss': nan, 'avg_role_model_mean_pred_loss': 5.312658770219956e-05, 'avg_role_model_g_mag_loss': 4.868518021709708e-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.00945838076295331, 'n_size': 805, 'n_batch': 202, 'duration': 162.614440202713, 'duration_batch': 0.8050219812015496, 'duration_size': 0.20200551577976772, 'avg_pred_std': nan}\n", + "Time out: 3612.960695028305/3600\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Eval loss {'role_model': 'tvae', 'n_size': 200, 'n_batch': 50, 'role_model_metrics': {'avg_loss': 0.007721501645864919, 'avg_g_mag_loss': 0.0007096360344326769, 'avg_g_cos_loss': 0.006994724505348131, 'pred_duration': 0.50657057762146, 'grad_duration': 0.2845437526702881, 'total_duration': 0.791114330291748, 'pred_std': 0.2212255895137787, 'std_loss': 0.010574433021247387, 'mean_pred_loss': 6.578397733392194e-05, 'pred_rmse': 0.08787207305431366, 'pred_mae': 0.06116543710231781, 'pred_mape': 0.12753400206565857, 'grad_rmse': 0.056202929466962814, 'grad_mae': 0.0404033325612545, 'grad_mape': 0.7001239657402039}, '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.007721501645864919, 'avg_g_mag_loss': 0.0007096360344326769, 'avg_g_cos_loss': 0.006994724505348131, 'avg_pred_duration': 0.50657057762146, 'avg_grad_duration': 0.2845437526702881, 'avg_total_duration': 0.791114330291748, 'avg_pred_std': 0.2212255895137787, 'avg_std_loss': 0.010574433021247387, 'avg_mean_pred_loss': 6.578397733392194e-05}, 'min_metrics': {'avg_loss': 0.007721501645864919, 'avg_g_mag_loss': 0.0007096360344326769, 'avg_g_cos_loss': 0.006994724505348131, 'pred_duration': 0.50657057762146, 'grad_duration': 0.2845437526702881, 'total_duration': 0.791114330291748, 'pred_std': 0.2212255895137787, 'std_loss': 0.010574433021247387, 'mean_pred_loss': 6.578397733392194e-05, 'pred_rmse': 0.08787207305431366, 'pred_mae': 0.06116543710231781, 'pred_mape': 0.12753400206565857, 'grad_rmse': 0.056202929466962814, 'grad_mae': 0.0404033325612545, 'grad_mape': 0.7001239657402039}, 'model_metrics': {'tvae': {'avg_loss': 0.007721501645864919, 'avg_g_mag_loss': 0.0007096360344326769, 'avg_g_cos_loss': 0.006994724505348131, 'pred_duration': 0.50657057762146, 'grad_duration': 0.2845437526702881, 'total_duration': 0.791114330291748, 'pred_std': 0.2212255895137787, 'std_loss': 0.010574433021247387, 'mean_pred_loss': 6.578397733392194e-05, 'pred_rmse': 0.08787207305431366, 'pred_mae': 0.06116543710231781, 'pred_mape': 0.12753400206565857, 'grad_rmse': 0.056202929466962814, 'grad_mae': 0.0404033325612545, 'grad_mape': 0.7001239657402039}}}\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-23T18:03:39.814315Z", + "iopub.status.busy": "2024-07-23T18:03:39.813443Z", + "iopub.status.idle": "2024-07-23T18:03:39.817834Z", + "shell.execute_reply": "2024-07-23T18:03:39.816996Z" + }, + "papermill": { + "duration": 0.024714, + "end_time": "2024-07-23T18:03:39.819754", + "exception": false, + "start_time": "2024-07-23T18:03:39.795040", + "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-23T18:03:39.853347Z", + "iopub.status.busy": "2024-07-23T18:03:39.852711Z", + "iopub.status.idle": "2024-07-23T18:03:39.871678Z", + "shell.execute_reply": "2024-07-23T18:03:39.870796Z" + }, + "papermill": { + "duration": 0.038219, + "end_time": "2024-07-23T18:03:39.873876", + "exception": false, + "start_time": "2024-07-23T18:03:39.835657", + "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-23T18:03:39.907648Z", + "iopub.status.busy": "2024-07-23T18:03:39.907348Z", + "iopub.status.idle": "2024-07-23T18:03:40.186912Z", + "shell.execute_reply": "2024-07-23T18:03:40.185480Z" + }, + "papermill": { + "duration": 0.299269, + "end_time": "2024-07-23T18:03:40.189586", + "exception": false, + "start_time": "2024-07-23T18:03:39.890317", + "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-23T18:03:40.226220Z", + "iopub.status.busy": "2024-07-23T18:03:40.225882Z", + "iopub.status.idle": "2024-07-23T18:04:19.519141Z", + "shell.execute_reply": "2024-07-23T18:04:19.518309Z" + }, + "papermill": { + "duration": 39.313892, + "end_time": "2024-07-23T18:04:19.521427", + "exception": false, + "start_time": "2024-07-23T18:03:40.207535", + "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-23T18:04:19.558650Z", + "iopub.status.busy": "2024-07-23T18:04:19.558272Z", + "iopub.status.idle": "2024-07-23T18:04:19.579480Z", + "shell.execute_reply": "2024-07-23T18:04:19.578507Z" + }, + "papermill": { + "duration": 0.042357, + "end_time": "2024-07-23T18:04:19.581572", + "exception": false, + "start_time": "2024-07-23T18:04:19.539215", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
avg_g_cos_lossavg_g_mag_lossavg_lossgrad_durationgrad_maegrad_mapegrad_rmsemean_pred_losspred_durationpred_maepred_mapepred_rmsepred_stdstd_losstotal_duration
tvae0.0134810.0017130.0077220.2833070.0404030.7001240.0562030.0000660.5048930.0611650.1275340.0878720.2212260.0105740.7882
\n", + "
" + ], + "text/plain": [ + " avg_g_cos_loss avg_g_mag_loss avg_loss grad_duration grad_mae \\\n", + "tvae 0.013481 0.001713 0.007722 0.283307 0.040403 \n", + "\n", + " grad_mape grad_rmse mean_pred_loss pred_duration pred_mae \\\n", + "tvae 0.700124 0.056203 0.000066 0.504893 0.061165 \n", + "\n", + " pred_mape pred_rmse pred_std std_loss total_duration \n", + "tvae 0.127534 0.087872 0.221226 0.010574 0.7882 " + ] + }, + "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-23T18:04:19.617496Z", + "iopub.status.busy": "2024-07-23T18:04:19.617141Z", + "iopub.status.idle": "2024-07-23T18:04:19.888260Z", + "shell.execute_reply": "2024-07-23T18:04:19.887234Z" + }, + "papermill": { + "duration": 0.291533, + "end_time": "2024-07-23T18:04:19.890299", + "exception": false, + "start_time": "2024-07-23T18:04:19.598766", + "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-23T18:04:19.927579Z", + "iopub.status.busy": "2024-07-23T18:04:19.927248Z", + "iopub.status.idle": "2024-07-23T18:04:59.096636Z", + "shell.execute_reply": "2024-07-23T18:04:59.095834Z" + }, + "papermill": { + "duration": 39.19113, + "end_time": "2024-07-23T18:04:59.099114", + "exception": false, + "start_time": "2024-07-23T18:04:19.907984", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Caching in ../../../../iris/_cache_aug_test/tvae/all inf False\n", + "Caching in ../../../../iris/_cache_bs_test/tvae/all inf False\n", + "Caching in ../../../../iris/_cache_synth_test/tvae/all inf False\n" + ] + } + ], + "source": [ + "#\"\"\"\n", + "from ml_utility_loss.loss_learning.estimator.process import pred, pred_2\n", + "from ml_utility_loss.util import stack_samples\n", + "\n", + "#samples = test_set[list(range(len(test_set)))]\n", + "#y = {m: pred(model[m], s) for m, s in samples.items()}\n", + "y = pred_2(model, test_set, batch_size=batch_size)\n", + "#\"\"\"" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "id": "6ab51db8", + "metadata": { + "execution": { + "iopub.execute_input": "2024-07-23T18:04:59.137253Z", + "iopub.status.busy": "2024-07-23T18:04:59.136377Z", + "iopub.status.idle": "2024-07-23T18:04:59.150967Z", + "shell.execute_reply": "2024-07-23T18:04:59.150255Z" + }, + "papermill": { + "duration": 0.035985, + "end_time": "2024-07-23T18:04:59.153019", + "exception": false, + "start_time": "2024-07-23T18:04:59.117034", + "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-23T18:04:59.188758Z", + "iopub.status.busy": "2024-07-23T18:04:59.188478Z", + "iopub.status.idle": "2024-07-23T18:04:59.193873Z", + "shell.execute_reply": "2024-07-23T18:04:59.192959Z" + }, + "papermill": { + "duration": 0.02592, + "end_time": "2024-07-23T18:04:59.195892", + "exception": false, + "start_time": "2024-07-23T18:04:59.169972", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'tvae': 0.7605732118338346}\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-23T18:04:59.231109Z", + "iopub.status.busy": "2024-07-23T18:04:59.230810Z", + "iopub.status.idle": "2024-07-23T18:04:59.566528Z", + "shell.execute_reply": "2024-07-23T18:04:59.565619Z" + }, + "papermill": { + "duration": 0.356068, + "end_time": "2024-07-23T18:04:59.568696", + "exception": false, + "start_time": "2024-07-23T18:04:59.212628", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAToAAAE8CAYAAABQG31BAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuNSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/xnp5ZAAAACXBIWXMAAA9hAAAPYQGoP6dpAABK8ElEQVR4nO3deXzU9Z348dd37pyTBHIREgg3CHIpEKyCiqJQNevWonYLVNF2F37VUrsrfexi1e1i1wOtaz1WgboW8ULc9UKKIlUO5YhcGgRCEiAnSWaSSTLn9/fHNxkISSDHXEzez8djSOY7n+93Pt+EeedzfxRVVVWEECKK6cKdASGECDYJdEKIqCeBTggR9STQCSGingQ6IUTUk0AnhIh6EuiEEFFPAp0QIupJoBNCRD0JdEKIqCeBToTdtm3b+N3vfkddXV24syKilAQ6EXbbtm3j4YcflkAngkYCnRAi6kmgE2H1u9/9jt/85jcA5ObmoigKiqIQHx/P1Vdf3S69z+cjKyuLH/3oR/5jTzzxBNOnT6dfv37ExMQwefJk3n777Q7f77XXXmPy5MnExMSQkpLC7bffTmlpaXBuTkQMRZZpEuG0b98+HnvsMV5//XVWrlxJ//79ATh69CiPPPIIJ0+eJCMjw59+69atzJgxg7feessf7LKzs7n55psZM2YMLpeLdevW8dVXX/H+++8zd+5c/7m///3v+bd/+zd+/OMfM2PGDKqqqnj22WeJj49n7969JCUlhfTeRQipQoTZ448/rgJqUVGR/1hhYaEKqM8++2ybtP/0T/+kxsfHq42Njf5jZ3+vqqrqcrnUsWPHqtdcc43/2PHjx1W9Xq/+/ve/b5N2//79qsFgaHdcRBepuoqINGLECCZMmMAbb7zhP+b1enn77be56aabiImJ8R8/+/va2lpsNhtXXnkle/bs8R9fv349Pp+PH//4x1RXV/sfGRkZDB8+nM8++yw0NybCwhDuDAjRmXnz5vHb3/6WkydPkpWVxZYtW6isrGTevHlt0r3//vv8+7//OwUFBTidTv9xRVH833///feoqsrw4cM7fC+j0RicmxARQQKdiFjz5s1j2bJlvPXWW9x///28+eabWK1WbrjhBn+av/3tb9x8881cddVV/OlPfyIzMxOj0cjq1atZu3atP53P50NRFD766CP0en2794qPjw/JPYnwkEAnwu7sktfZcnNzmTJlCm+88QZLlixh/fr15OfnYzab/WneeecdLBYLGzdubHN89erVba41dOhQVFUlNzeXESNGBOdGRMSSNjoRdnFxcQAdDhieN28eO3bsYNWqVVRXV7ertur1ehRFwev1+o8dP36cDRs2tEl36623otfrefjhh1HPGWigqiqnT58OzM2IiCTDS0TYff3110yZMoU5c+Zw++23YzQauemmm4iLi+PEiRPk5OQQHx+P0WikvLy8TXvap59+yrXXXsuVV17JnXfeSWVlJc899xwZGRns27evTVB77LHHWLZsGdOnTyc/P5+EhASKiop49913uffee3nggQfCcfsiFMLY4yuE36OPPqpmZWWpOp2u3VCTK664QgXURYsWdXjuK6+8og4fPlw1m83qqFGj1NWrV6sPPfSQ2tF/73feeUf9wQ9+oMbFxalxcXHqqFGj1MWLF6uFhYXBujURAaREJ4SIetJGJ4SIehLohBBRTwKdECLqSaATQkQ9CXRCiKgX1kD3/PPPc+mll5KYmEhiYiJ5eXl89NFHnaZfs2aNf72y1ofFYglhjoUQF6OwTgEbOHAgjz32GMOHD0dVVf785z9zyy23sHfvXi655JIOz0lMTKSwsND/vLPpQ53x+XycOnWKhISEbp8rhAg+VVWpr69nwIAB6HQBKouFdxhfe8nJyerLL7/c4WurV69WrVZrr65fWlqqAvKQhzwi/FFaWtqrz/rZImZSv9fr5a233sLhcJCXl9dpuoaGBgYNGoTP52PSpEn8x3/8R6elPwCn09lm6R61ZXx0aWkpiYmJgbsBIURA2O12srOzSUhICNg1wx7o9u/fT15eHs3NzcTHx/Puu+8yZsyYDtOOHDmSVatWcemll2Kz2fx7BRw8eJCBAwd2eM6KFSt4+OGH2x1vbRcUQkSmQDYthX0KmMvloqSkBJvNxttvv83LL7/M559/3mmwO5vb7Wb06NHccccdPProox2mObdE1/rXwmazSaATIgLZ7XasVmtAP6NhL9GZTCaGDRsGwOTJk/n666955plnePHFFy94rtFoZOLEiRw5cqTTNGazuc06ZUKIvifixtH5fL42JbDz8Xq97N+/n8zMzCDnSghxMQtriW7ZsmXceOON5OTkUF9fz9q1a9myZQsbN24EYP78+WRlZbFixQoAHnnkEaZNm8aw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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-23T18:04:59.609953Z", + "iopub.status.busy": "2024-07-23T18:04:59.609631Z", + "iopub.status.idle": "2024-07-23T18:04:59.932720Z", + "shell.execute_reply": "2024-07-23T18:04:59.931783Z" + }, + "papermill": { + "duration": 0.347791, + "end_time": "2024-07-23T18:04:59.934790", + "exception": false, + "start_time": "2024-07-23T18:04:59.586999", + "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-23T18:04:59.973670Z", + "iopub.status.busy": "2024-07-23T18:04:59.973358Z", + "iopub.status.idle": "2024-07-23T18:05:00.212839Z", + "shell.execute_reply": "2024-07-23T18:05:00.211915Z" + }, + "papermill": { + "duration": 0.261263, + "end_time": "2024-07-23T18:05:00.214837", + "exception": false, + "start_time": "2024-07-23T18:04:59.953574", + "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-23T18:05:00.254355Z", + "iopub.status.busy": "2024-07-23T18:05:00.253999Z", + "iopub.status.idle": "2024-07-23T18:05:00.516097Z", + "shell.execute_reply": "2024-07-23T18:05:00.515198Z" + }, + "papermill": { + "duration": 0.284288, + "end_time": "2024-07-23T18:05:00.518113", + "exception": false, + "start_time": "2024-07-23T18:05:00.233825", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "#\"\"\"\n", + "from ml_utility_loss.loss_learning.visualization import plot_grad, plot_grad_2, plot_grad_3\n", + "import matplotlib.pyplot as plt\n", + "\n", + "#plot_grad_2(y, model.models)\n", + "for m in model.models:\n", + " ym = y[m]\n", + " fig, ax = plt.subplots()\n", + " plot_grad_3(ym[\"error\"], ym[\"grad\"], name=f\"{m}_grad\", fig=fig, ax=ax)\n", + "#\"\"\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "54c0e9f3", + "metadata": { + "papermill": { + "duration": 0.019105, + "end_time": "2024-07-23T18:05:00.556796", + "exception": false, + "start_time": "2024-07-23T18:05:00.537691", + "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": 3747.70998, + "end_time": "2024-07-23T18:05:02.502631", + "environment_variables": {}, + "exception": null, + "input_path": "eval/iris/tvae/4/mlu-eval.ipynb", + "output_path": "eval/iris/tvae/4/mlu-eval.ipynb", + "parameters": { + "allow_same_prediction": true, + "dataset": "iris", + "dataset_name": "iris", + "debug": false, + "folder": "eval", + "gp": true, + "gp_multiply": true, + "log_wandb": false, + "param_index": 0, + "path": "eval/iris/tvae/4", + "path_prefix": "../../../../", + "random_seed": 4, + "single_model": "tvae" + }, + "start_time": "2024-07-23T17:02:34.792651", + "version": "2.5.0" + }, + "toc": { + "base_numbering": 1, + "nav_menu": {}, + "number_sections": true, + "sideBar": true, + "skip_h1_title": false, + "title_cell": "Table of Contents", + "title_sidebar": "Contents", + "toc_cell": false, + "toc_position": {}, + "toc_section_display": true, + "toc_window_display": false + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} \ No newline at end of file diff --git a/iris/tvae/4/model.pt b/iris/tvae/4/model.pt new file mode 100644 index 0000000000000000000000000000000000000000..2bfadd66bd639e1d836cedb3120f1cf4e3ffb044 --- /dev/null +++ b/iris/tvae/4/model.pt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b6a466bfdca44b3d3a0e18037ea2acecda32ce87fdc736242d0c16b818850606 +size 179081 diff --git a/iris/tvae/4/params.json b/iris/tvae/4/params.json new file mode 100644 index 0000000000000000000000000000000000000000..1d5886d62b72719a58e39d0694253677a858e63c --- /dev/null +++ b/iris/tvae/4/params.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:39bc36cfd8c2c9f5565a7fc14cfe5481f1c12770262e5ace564927f834e08b7b +size 1885 diff --git a/iris/tvae/4/pred/error.csv b/iris/tvae/4/pred/error.csv new file mode 100644 index 0000000000000000000000000000000000000000..d7b56923296f625d2802d0b892befc3b2bead85d --- /dev/null +++ b/iris/tvae/4/pred/error.csv @@ -0,0 +1,201 @@ +,tvae +0,0.010645077 +1,0.19524777 +2,0.008685529 +3,-0.03709835 +4,0.04618834 +5,0.27366886 +6,-0.042963505 +7,-0.12473458 +8,0.012632787 +9,-0.036303997 +10,-0.038820326 +11,0.018467724 +12,0.026021749 +13,0.0064260364 +14,0.100500464 +15,0.030813217 +16,0.01954493 +17,0.13898176 +18,0.044074 +19,-0.034802675 +20,0.007234618 +21,0.33542383 +22,0.0062512755 +23,-0.002774477 +24,0.04945816 +25,0.0710935 +26,-0.051962495 +27,-0.12901688 +28,0.026513755 +29,0.07885933 +30,0.008617163 +31,-0.0144658685 +32,0.033180743 +33,0.23685563 +34,-0.05464673 +35,-0.07727927 +36,0.028361157 +37,0.1627658 +38,0.059194982 +39,-0.105772614 +40,-0.028184384 +41,-0.012081921 +42,-0.025841594 +43,0.1435709 +44,0.101432756 +45,0.027008653 +46,-0.07252151 +47,-0.073331416 +48,0.025151879 +49,0.081857264 +50,-0.041327536 +51,0.101234734 +52,0.032814473 +53,0.12191713 +54,-0.07445681 +55,-0.022117734 +56,0.15736173 +57,0.16596991 +58,-0.022910297 +59,0.09352952 +60,0.0050225556 +61,0.011200964 +62,-0.022374332 +63,-0.004223764 +64,-0.0348832 +65,0.013271451 +66,0.000300169 +67,-0.07935977 +68,0.03623116 +69,-0.0478037 +70,0.02275294 +71,0.1451509 +72,-0.07147533 +73,-0.047894835 +74,-0.028674126 +75,-0.10050702 +76,0.014654905 +77,0.011464 +78,0.03870076 +79,-0.00091814995 +80,-0.04012671 +81,0.0056012273 +82,-0.031294167 +83,-0.016737878 +84,0.11138585 +85,-0.002160132 +86,-0.0019719005 +87,-0.03660053 +88,0.18462692 +89,-0.06578362 +90,-0.0132882 +91,0.01537323 +92,-0.116239846 +93,-0.052674472 +94,-0.056697845 +95,-0.1283325 +96,0.04562819 +97,-0.015641749 +98,0.027610302 +99,-0.034581542 +100,-0.05567056 +101,0.009277105 +102,-0.030515611 +103,-0.0060942173 +104,0.35117894 +105,0.023492634 +106,-0.06786919 +107,-0.03459543 +108,0.20006482 +109,0.044870257 +110,0.024237692 +111,0.026213229 +112,-0.068707764 +113,-0.047758996 +114,-0.06738323 +115,-0.086740315 +116,0.24219616 +117,0.047839165 +118,0.042710245 +119,-0.02486521 +120,-0.021918774 +121,0.014178753 +122,-0.023863614 +123,-0.009768486 +124,-0.011727154 +125,0.016921282 +126,0.015680552 +127,0.02081877 +128,0.017238438 +129,-0.07448155 +130,-0.048509777 +131,-0.061378896 +132,-0.09058881 +133,-0.046880662 +134,-0.048553646 +135,-0.081085026 +136,0.058697373 +137,0.007158339 +138,0.026994348 +139,0.2201873 +140,-0.11074555 +141,0.101619065 +142,0.056341827 +143,-0.039647102 +144,0.0027608871 +145,-0.017138958 +146,-0.031138718 +147,0.08469796 +148,0.18479644 +149,0.00520128 +150,-0.057822883 +151,-0.031739116 +152,-0.03761667 +153,-0.0747776 +154,-0.05936414 +155,-0.123092294 +156,0.2642702 +157,0.023066878 +158,0.048087478 +159,0.064163506 +160,-0.05784455 +161,0.13924336 +162,-0.021505952 +163,-0.0033946037 +164,0.01643753 +165,-0.018743694 +166,-0.06741333 +167,-0.02572155 +168,0.1429989 +169,0.051638603 +170,-0.04627788 +171,-0.06414479 +172,-0.04851222 +173,-0.05004239 +174,-0.06596172 +175,-0.059052587 +176,0.28061 +177,0.0077949762 +178,-0.0005427599 +179,0.04874754 +180,0.06637019 +181,0.21632034 +182,-0.020246208 +183,-0.011745393 +184,0.059775054 +185,0.008529842 +186,-0.076886356 +187,0.012425423 +188,-0.083652794 +189,-0.014261067 +190,-0.061353028 +191,-0.11227977 +192,0.021941066 +193,-0.072693944 +194,0.03917694 +195,0.021471739 +196,-0.21715039 +197,-0.022890508 +198,0.016907811 +199,0.0731858 diff --git a/iris/tvae/4/pred/g.csv b/iris/tvae/4/pred/g.csv new file mode 100644 index 0000000000000000000000000000000000000000..f931e5277599a1bac3e699e6b4854220b5900333 --- /dev/null +++ b/iris/tvae/4/pred/g.csv @@ -0,0 +1,201 @@ +,tvae +0,0.010645077 +1,0.19524777 +2,0.008685529 +3,0.03709835 +4,0.04618834 +5,0.27366886 +6,0.042963505 +7,0.12473458 +8,0.012632787 +9,0.036303997 +10,0.038820326 +11,0.018467724 +12,0.026021749 +13,0.0064260364 +14,0.100500464 +15,0.030813217 +16,0.01954493 +17,0.13898176 +18,0.044074 +19,0.034802675 +20,0.007234618 +21,0.33542383 +22,0.0062512755 +23,0.002774477 +24,0.04945816 +25,0.0710935 +26,0.051962495 +27,0.12901688 +28,0.026513755 +29,0.07885933 +30,0.008617163 +31,0.0144658685 +32,0.033180743 +33,0.23685563 +34,0.05464673 +35,0.07727927 +36,0.028361157 +37,0.1627658 +38,0.059194982 +39,0.105772614 +40,0.028184384 +41,0.012081921 +42,0.025841594 +43,0.1435709 +44,0.101432756 +45,0.027008653 +46,0.07252151 +47,0.073331416 +48,0.025151879 +49,0.081857264 +50,0.041327536 +51,0.101234734 +52,0.032814473 +53,0.12191713 +54,0.07445681 +55,0.022117734 +56,0.15736173 +57,0.16596991 +58,0.022910297 +59,0.09352952 +60,0.0050225556 +61,0.011200964 +62,0.022374332 +63,0.004223764 +64,0.0348832 +65,0.013271451 +66,0.000300169 +67,0.07935977 +68,0.03623116 +69,0.0478037 +70,0.02275294 +71,0.1451509 +72,0.07147533 +73,0.047894835 +74,0.028674126 +75,0.10050702 +76,0.014654905 +77,0.011464 +78,0.03870076 +79,0.00091814995 +80,0.04012671 +81,0.0056012273 +82,0.031294167 +83,0.016737878 +84,0.11138585 +85,0.002160132 +86,0.0019719005 +87,0.03660053 +88,0.18462692 +89,0.06578362 +90,0.0132882 +91,0.01537323 +92,0.116239846 +93,0.052674472 +94,0.056697845 +95,0.1283325 +96,0.04562819 +97,0.015641749 +98,0.027610302 +99,0.034581542 +100,0.05567056 +101,0.009277105 +102,0.030515611 +103,0.0060942173 +104,0.35117894 +105,0.023492634 +106,0.06786919 +107,0.03459543 +108,0.20006482 +109,0.044870257 +110,0.024237692 +111,0.026213229 +112,0.068707764 +113,0.047758996 +114,0.06738323 +115,0.086740315 +116,0.24219616 +117,0.047839165 +118,0.042710245 +119,0.02486521 +120,0.021918774 +121,0.014178753 +122,0.023863614 +123,0.009768486 +124,0.011727154 +125,0.016921282 +126,0.015680552 +127,0.02081877 +128,0.017238438 +129,0.07448155 +130,0.048509777 +131,0.061378896 +132,0.09058881 +133,0.046880662 +134,0.048553646 +135,0.081085026 +136,0.058697373 +137,0.007158339 +138,0.026994348 +139,0.2201873 +140,0.11074555 +141,0.101619065 +142,0.056341827 +143,0.039647102 +144,0.0027608871 +145,0.017138958 +146,0.031138718 +147,0.08469796 +148,0.18479644 +149,0.00520128 +150,0.057822883 +151,0.031739116 +152,0.03761667 +153,0.0747776 +154,0.05936414 +155,0.123092294 +156,0.2642702 +157,0.023066878 +158,0.048087478 +159,0.064163506 +160,0.05784455 +161,0.13924336 +162,0.021505952 +163,0.0033946037 +164,0.01643753 +165,0.018743694 +166,0.06741333 +167,0.02572155 +168,0.1429989 +169,0.051638603 +170,0.04627788 +171,0.06414479 +172,0.04851222 +173,0.05004239 +174,0.06596172 +175,0.059052587 +176,0.28061 +177,0.0077949762 +178,0.0005427599 +179,0.04874754 +180,0.06637019 +181,0.21632034 +182,0.020246208 +183,0.011745393 +184,0.059775054 +185,0.008529842 +186,0.076886356 +187,0.012425423 +188,0.083652794 +189,0.014261067 +190,0.061353028 +191,0.11227977 +192,0.021941066 +193,0.072693944 +194,0.03917694 +195,0.021471739 +196,0.21715039 +197,0.022890508 +198,0.016907811 +199,0.0731858 diff --git a/iris/tvae/4/pred/grad.csv b/iris/tvae/4/pred/grad.csv new file mode 100644 index 0000000000000000000000000000000000000000..7a2196d8cd1f27c10a5e8b2280507733361c4931 --- /dev/null +++ b/iris/tvae/4/pred/grad.csv @@ -0,0 +1,201 @@ +,tvae +0,0.0038140956 +1,0.082053706 +2,0.0025425646 +3,0.009942479 +4,0.012214041 +5,0.1641336 +6,0.007873004 +7,0.0413804 +8,0.002037623 +9,0.013981665 +10,0.013965752 +11,0.0046045156 +12,0.0069495263 +13,0.00222163 +14,0.038034767 +15,0.010511297 +16,0.004918418 +17,0.03900794 +18,0.012386506 +19,0.011064265 +20,0.0025569487 +21,0.17185575 +22,0.0018913925 +23,0.0007551599 +24,0.015786154 +25,0.016811337 +26,0.011466197 +27,0.040626723 +28,0.0047463505 +29,0.02176536 +30,0.0028933818 +31,0.0037317174 +32,0.008994251 +33,0.10192684 +34,0.016257504 +35,0.033091817 +36,0.0073288465 +37,0.058422327 +38,0.02093461 +39,0.04370493 +40,0.011235243 +41,0.0036172091 +42,0.0068476615 +43,0.036424562 +44,0.043174196 +45,0.00645671 +46,0.012912537 +47,0.022636443 +48,0.0066487654 +49,0.018864885 +50,0.011318602 +51,0.023282891 +52,0.009205094 +53,0.052065544 +54,0.03080449 +55,0.010587522 +56,0.06291036 +57,0.04293329 +58,0.005792134 +59,0.027171673 +60,0.0016219083 +61,0.0026483317 +62,0.0055114534 +63,0.00086173153 +64,0.007500785 +65,0.0043826876 +66,4.927374e-05 +67,0.0212715 +68,0.01328193 +69,0.015014929 +70,0.0072247284 +71,0.04183921 +72,0.032075685 +73,0.020000512 +74,0.009634862 +75,0.051064827 +76,0.007574939 +77,0.0041243955 +78,0.011001435 +79,0.00023681675 +80,0.011883555 +81,0.0014009068 +82,0.009140775 +83,0.0034360571 +84,0.016357878 +85,0.00044068656 +86,0.00027681977 +87,0.010525647 +88,0.07781073 +89,0.019267123 +90,0.004193039 +91,0.003732696 +92,0.06909555 +93,0.021333184 +94,0.025743943 +95,0.060885735 +96,0.015471578 +97,0.004673164 +98,0.008894824 +99,0.010258603 +100,0.021924222 +101,0.0018971437 +102,0.00872607 +103,0.0009751791 +104,0.14629099 +105,0.0054038777 +106,0.009587318 +107,0.009450144 +108,0.085193224 +109,0.009999631 +110,0.0073132217 +111,0.005556603 +112,0.024399932 +113,0.019454299 +114,0.020617299 +115,0.038858566 +116,0.08139279 +117,0.012646257 +118,0.01060015 +119,0.005806045 +120,0.0075402022 +121,0.00305119 +122,0.0057423436 +123,0.0015599803 +124,0.0017238915 +125,0.0032637727 +126,0.0026076515 +127,0.004929567 +128,0.0042839902 +129,0.027057825 +130,0.016118046 +131,0.01499564 +132,0.034236133 +133,0.022956815 +134,0.020551916 +135,0.034637593 +136,0.018175667 +137,0.0015092684 +138,0.008465838 +139,0.049272493 +140,0.029825356 +141,0.020489464 +142,0.014622375 +143,0.0073387674 +144,0.0003134755 +145,0.0039658076 +146,0.0048415763 +147,0.02409208 +148,0.06284609 +149,0.0015602858 +150,0.020740064 +151,0.0069171023 +152,0.013390396 +153,0.028914483 +154,0.018719742 +155,0.06533506 +156,0.089549035 +157,0.004231562 +158,0.0124082845 +159,0.011877416 +160,0.012160406 +161,0.018271213 +162,0.005061813 +163,0.0005150154 +164,0.0015429117 +165,0.0056193382 +166,0.010076141 +167,0.0068710092 +168,0.049820382 +169,0.01521037 +170,0.016503312 +171,0.01360412 +172,0.016819077 +173,0.021069486 +174,0.023497611 +175,0.02895801 +176,0.085622184 +177,0.0018428555 +178,0.00017645666 +179,0.011767406 +180,0.017941788 +181,0.033309914 +182,0.0051654633 +183,0.0022380238 +184,0.023367135 +185,0.0022441607 +186,0.014470629 +187,0.0026387468 +188,0.026810648 +189,0.003942726 +190,0.021685038 +191,0.029637378 +192,0.004192271 +193,0.02631537 +194,0.013703144 +195,0.010551452 +196,0.14554495 +197,0.004444018 +198,0.0046263444 +199,0.018009868 diff --git a/iris/tvae/4/pred/pred.csv b/iris/tvae/4/pred/pred.csv new file mode 100644 index 0000000000000000000000000000000000000000..c5c3b74c8c0f5602674fa4c442144dd53b21cd98 --- /dev/null +++ b/iris/tvae/4/pred/pred.csv @@ -0,0 +1,201 @@ +,tvae +0,0.18950686 +1,0.54609317 +2,0.9110665 +3,0.8958836 +4,0.22505012 +5,0.6831927 +6,0.9236196 +7,0.8411648 +8,0.17929946 +9,0.6224007 +10,0.85909754 +11,0.86480737 +12,0.19268842 +13,0.63432264 +14,0.8190512 +15,0.8165275 +16,0.1862116 +17,0.58270645 +18,0.91006726 +19,0.8676674 +20,0.1860964 +21,0.84855515 +22,0.9093542 +23,0.89960647 +24,0.22831994 +25,0.90059054 +26,0.9162915 +27,0.83550227 +28,0.19318043 +29,0.88477564 +30,0.87441933 +31,0.8662359 +32,0.19984742 +33,0.8319553 +34,0.82495195 +35,0.82270354 +36,0.19502783 +37,0.8294325 +38,0.8909604 +39,0.83154935 +40,0.38848227 +41,0.900299 +42,0.9160776 +43,0.8908189 +44,0.28029454 +45,0.92034197 +46,0.9274785 +47,0.8932517 +48,0.19181855 +49,0.8877736 +50,0.8873524 +51,0.8750853 +52,0.19948114 +53,0.84096473 +54,0.8213818 +55,0.81386113 +56,0.37958395 +57,0.89018685 +58,0.91441166 +59,0.8989167 +60,0.4216892 +61,0.9235819 +62,0.9195449 +63,0.9287582 +64,0.53500926 +65,0.90827185 +66,0.93354994 +67,0.88722336 +68,0.40674397 +69,0.8728312 +70,0.8885551 +71,0.87817514 +72,0.49995327 +73,0.83781946 +74,0.80730474 +75,0.824493 +76,0.4562762 +77,0.88924176 +78,0.904694 +79,0.90798455 +80,0.44135478 +81,0.91798216 +82,0.91062504 +83,0.9251813 +84,0.5575397 +85,0.9304998 +86,0.9322442 +87,0.8960594 +88,0.40684915 +89,0.89270234 +90,0.88462967 +91,0.8875955 +92,0.45518875 +93,0.8269242 +94,0.8154692 +95,0.8027786 +96,0.42658058 +97,0.89326096 +98,0.89174974 +99,0.9048124 +100,0.42581093 +101,0.92165804 +102,0.9114036 +103,0.935825 +104,0.51784563 +105,0.91849303 +106,0.9321308 +107,0.8966215 +108,0.42228705 +109,0.88746285 +110,0.89003986 +111,0.8968685 +112,0.50272083 +113,0.8379553 +114,0.8284554 +115,0.8090983 +116,0.3990589 +117,0.9180864 +118,0.9068497 +119,0.9145287 +120,0.48358846 +121,0.9265597 +122,0.9180556 +123,0.9321507 +124,0.5581653 +125,0.9119217 +126,0.9138426 +127,0.91581917 +128,0.52308637 +129,0.8840044 +130,0.88017017 +131,0.89710706 +132,0.4808398 +133,0.8064527 +134,0.8236134 +135,0.80972105 +136,0.5283197 +137,0.91606104 +138,0.8972416 +139,0.9187519 +140,0.37073594 +141,0.9191153 +142,0.9192012 +143,0.9313674 +144,0.57265335 +145,0.914078 +146,0.93711525 +147,0.89980555 +148,0.40701866 +149,0.8875542 +150,0.87085706 +151,0.8989835 +152,0.5338119 +153,0.8511483 +154,0.8128029 +155,0.8019077 +156,0.5877996 +157,0.9319696 +158,0.9122269 +159,0.9304816 +160,0.42363694 +161,0.9363448 +162,0.92041326 +163,0.9385246 +164,0.58633 +165,0.9092866 +166,0.93258667 +167,0.902246 +168,0.41551352 +169,0.8714976 +170,0.88240206 +171,0.8943412 +172,0.5229164 +173,0.8356719 +174,0.82484436 +175,0.8409302 +176,0.5663243 +177,0.9166977 +178,0.89538485 +179,0.91506565 +180,0.45593542 +181,0.92835313 +182,0.921673 +183,0.9301738 +184,0.6296675 +185,0.90353024 +186,0.92311364 +187,0.9074258 +188,0.3777353 +189,0.8836568 +190,0.8673269 +191,0.8877202 +192,0.59336966 +193,0.85323197 +194,0.82099515 +195,0.82173526 +196,0.5817914 +197,0.91443145 +198,0.9128354 +199,0.9103031 diff --git a/iris/tvae/4/pred/y.csv b/iris/tvae/4/pred/y.csv new file mode 100644 index 0000000000000000000000000000000000000000..b8049ee1b8f310f4767c838eb01985bc6792a5ae --- /dev/null +++ b/iris/tvae/4/pred/y.csv @@ -0,0 +1,201 @@ +,tvae +0,0.17886178 +1,0.3508454 +2,0.90238094 +3,0.93298197 +4,0.17886178 +5,0.40952381 +6,0.96658313 +7,0.9658994 +8,0.16666667 +9,0.6587047 +10,0.89791787 +11,0.84633964 +12,0.16666667 +13,0.6278966 +14,0.71855074 +15,0.78571427 +16,0.16666667 +17,0.4437247 +18,0.86599326 +19,0.90247005 +20,0.17886178 +21,0.5131313 +22,0.90310293 +23,0.90238094 +24,0.17886178 +25,0.82949704 +26,0.96825397 +27,0.96451914 +28,0.16666667 +29,0.8059163 +30,0.86580217 +31,0.8807018 +32,0.16666667 +33,0.5950997 +34,0.8795987 +35,0.8999828 +36,0.16666667 +37,0.6666667 +38,0.8317654 +39,0.93732196 +40,0.41666666 +41,0.91238093 +42,0.9419192 +43,0.747248 +44,0.17886178 +45,0.8933333 +46,1.0 +47,0.96658313 +48,0.16666667 +49,0.8059163 +50,0.92867994 +51,0.77385056 +52,0.16666667 +53,0.7190476 +54,0.8958386 +55,0.83597887 +56,0.22222222 +57,0.72421694 +58,0.93732196 +59,0.8053872 +60,0.41666666 +61,0.91238093 +62,0.9419192 +63,0.93298197 +64,0.56989247 +65,0.8950004 +66,0.9332498 +67,0.96658313 +68,0.3705128 +69,0.9206349 +70,0.86580217 +71,0.73302424 +72,0.5714286 +73,0.8857143 +74,0.83597887 +75,0.925 +76,0.4416213 +77,0.87777776 +78,0.86599326 +79,0.9089027 +80,0.4814815 +81,0.91238093 +82,0.9419192 +83,0.9419192 +84,0.44615385 +85,0.9326599 +86,0.9342161 +87,0.9326599 +88,0.22222222 +89,0.95848596 +90,0.89791787 +91,0.87222224 +92,0.5714286 +93,0.8795987 +94,0.87216705 +95,0.9311111 +96,0.3809524 +97,0.9089027 +98,0.86413944 +99,0.93939394 +100,0.4814815 +101,0.91238093 +102,0.9419192 +103,0.9419192 +104,0.16666667 +105,0.8950004 +106,1.0 +107,0.93121696 +108,0.22222222 +109,0.8425926 +110,0.86580217 +111,0.8706553 +112,0.5714286 +113,0.8857143 +114,0.8958386 +115,0.8958386 +116,0.15686275 +117,0.87024724 +118,0.86413944 +119,0.93939394 +120,0.50550723 +121,0.91238093 +122,0.9419192 +123,0.9419192 +124,0.56989247 +125,0.8950004 +126,0.89816207 +127,0.8950004 +128,0.50584793 +129,0.95848596 +130,0.92867994 +131,0.95848596 +132,0.5714286 +133,0.85333335 +134,0.87216705 +135,0.8908061 +136,0.46962234 +137,0.9089027 +138,0.87024724 +139,0.6985646 +140,0.4814815 +141,0.81749624 +142,0.86285937 +143,0.9710145 +144,0.56989247 +145,0.93121696 +146,0.96825397 +147,0.8151076 +148,0.22222222 +149,0.88235295 +150,0.92867994 +151,0.9307226 +152,0.5714286 +153,0.9259259 +154,0.87216705 +155,0.925 +156,0.32352942 +157,0.9089027 +158,0.86413944 +159,0.8663181 +160,0.4814815 +161,0.79710144 +162,0.9419192 +163,0.9419192 +164,0.56989247 +165,0.9280303 +166,1.0 +167,0.92796755 +168,0.2725146 +169,0.81985897 +170,0.92867994 +171,0.95848596 +172,0.5714286 +173,0.8857143 +174,0.8908061 +175,0.8999828 +176,0.2857143 +177,0.9089027 +178,0.8959276 +179,0.8663181 +180,0.38956523 +181,0.7120328 +182,0.9419192 +183,0.9419192 +184,0.56989247 +185,0.8950004 +186,1.0 +187,0.8950004 +188,0.46138808 +189,0.89791787 +190,0.92867994 +191,1.0 +192,0.5714286 +193,0.9259259 +194,0.7818182 +195,0.8002635 +196,0.7989418 +197,0.93732196 +198,0.8959276 +199,0.8371173 diff --git a/iris/tvae/4/pred/y_real.csv b/iris/tvae/4/pred/y_real.csv new file mode 100644 index 0000000000000000000000000000000000000000..6a1325d4d4cd3125096b90a0439f8d420ce2b093 --- /dev/null +++ b/iris/tvae/4/pred/y_real.csv @@ -0,0 +1,201 @@ +,tvae +0,0.9419192 +1,0.9419192 +2,0.9419192 +3,0.9419192 +4,0.9658994 +5,0.9658994 +6,0.9658994 +7,0.9658994 +8,1.0 +9,1.0 +10,1.0 +11,1.0 +12,0.9259259 +13,0.9259259 +14,0.9259259 +15,0.9259259 +16,0.9073684 +17,0.9073684 +18,0.9073684 +19,0.9073684 +20,0.9419192 +21,0.9419192 +22,0.9419192 +23,0.9419192 +24,0.9658994 +25,0.9658994 +26,0.9658994 +27,0.9658994 +28,1.0 +29,1.0 +30,1.0 +31,1.0 +32,0.9259259 +33,0.9259259 +34,0.9259259 +35,0.9259259 +36,0.9073684 +37,0.9073684 +38,0.9073684 +39,0.9073684 +40,0.9419192 +41,0.9419192 +42,0.9419192 +43,0.9419192 +44,0.9658994 +45,0.9658994 +46,0.9658994 +47,0.9658994 +48,1.0 +49,1.0 +50,1.0 +51,1.0 +52,0.9259259 +53,0.9259259 +54,0.9259259 +55,0.9259259 +56,0.9073684 +57,0.9073684 +58,0.9073684 +59,0.9073684 +60,0.9419192 +61,0.9419192 +62,0.9419192 +63,0.9419192 +64,0.9658994 +65,0.9658994 +66,0.9658994 +67,0.9658994 +68,1.0 +69,1.0 +70,1.0 +71,1.0 +72,0.9259259 +73,0.9259259 +74,0.9259259 +75,0.9259259 +76,0.9073684 +77,0.9073684 +78,0.9073684 +79,0.9073684 +80,0.9419192 +81,0.9419192 +82,0.9419192 +83,0.9419192 +84,0.9658994 +85,0.9658994 +86,0.9658994 +87,0.9658994 +88,1.0 +89,1.0 +90,1.0 +91,1.0 +92,0.9259259 +93,0.9259259 +94,0.9259259 +95,0.9259259 +96,0.9073684 +97,0.9073684 +98,0.9073684 +99,0.9073684 +100,0.9419192 +101,0.9419192 +102,0.9419192 +103,0.9419192 +104,0.9658994 +105,0.9658994 +106,0.9658994 +107,0.9658994 +108,1.0 +109,1.0 +110,1.0 +111,1.0 +112,0.9259259 +113,0.9259259 +114,0.9259259 +115,0.9259259 +116,0.9073684 +117,0.9073684 +118,0.9073684 +119,0.9073684 +120,0.9419192 +121,0.9419192 +122,0.9419192 +123,0.9419192 +124,0.9658994 +125,0.9658994 +126,0.9658994 +127,0.9658994 +128,1.0 +129,1.0 +130,1.0 +131,1.0 +132,0.9259259 +133,0.9259259 +134,0.9259259 +135,0.9259259 +136,0.9073684 +137,0.9073684 +138,0.9073684 +139,0.9073684 +140,0.9419192 +141,0.9419192 +142,0.9419192 +143,0.9419192 +144,0.9658994 +145,0.9658994 +146,0.9658994 +147,0.9658994 +148,1.0 +149,1.0 +150,1.0 +151,1.0 +152,0.9259259 +153,0.9259259 +154,0.9259259 +155,0.9259259 +156,0.9073684 +157,0.9073684 +158,0.9073684 +159,0.9073684 +160,0.9419192 +161,0.9419192 +162,0.9419192 +163,0.9419192 +164,0.9658994 +165,0.9658994 +166,0.9658994 +167,0.9658994 +168,1.0 +169,1.0 +170,1.0 +171,1.0 +172,0.9259259 +173,0.9259259 +174,0.9259259 +175,0.9259259 +176,0.9073684 +177,0.9073684 +178,0.9073684 +179,0.9073684 +180,0.9419192 +181,0.9419192 +182,0.9419192 +183,0.9419192 +184,0.9658994 +185,0.9658994 +186,0.9658994 +187,0.9658994 +188,1.0 +189,1.0 +190,1.0 +191,1.0 +192,0.9259259 +193,0.9259259 +194,0.9259259 +195,0.9259259 +196,0.9073684 +197,0.9073684 +198,0.9073684 +199,0.9073684