diff --git a/test/hello_world_op.ml b/test/hello_world_op.ml index 0673e239..24cb2696 100644 --- a/test/hello_world_op.ml +++ b/test/hello_world_op.ml @@ -390,9 +390,9 @@ let%expect_test "Matrix multiplication dims 2x3" = │┌──────┬──────────────────┐│ ││ │axis 1 ││ │├──────┼──────────────────┤│ - ││axis 0│ 3.69e-2 4.69e-1 ││ - ││ │ 8.17e-1 9.70e-1 ││ - ││ │ 1.94e-1 5.50e-1 ││ + ││axis 0│ 7.00e+0 7.00e+0 ││ + ││ │ 7.00e+0 7.00e+0 ││ + ││ │ 7.00e+0 7.00e+0 ││ │└──────┴──────────────────┘│ └───────────────────────────┘ |}]; @@ -404,7 +404,7 @@ let%expect_test "Matrix multiplication dims 2x3" = │┌┬───────────────────────────┐│ │││axis 0 ││ │├┼───────────────────────────┤│ - │││ 5.48e+0 9.54e+0 8.04e+0 ││ + │││ 3.90e+1 4.00e+1 4.10e+1 ││ │└┴───────────────────────────┘│ └──────────────────────────────┘ |}] diff --git a/test/moons_demo_parallel.ml b/test/moons_demo_parallel.ml index cfe29b79..00b8d487 100644 --- a/test/moons_demo_parallel.ml +++ b/test/moons_demo_parallel.ml @@ -86,6 +86,8 @@ let%expect_test "Half-moons data parallel" = the results from the various CI targets. The first result is the one typically observed, the second comes from targets debian-arm64 and debian-s390x, the third one from debian-ppc. *) let result = [%expect.output] in + (* TODO: this approach is bordering on ridiculous, might be worth figuring out why computations + don't reproduce across machines. *) let typical_target_sync_cc = {| Batch=19, step=20, lr=0.195250, batch loss=0.263769, epoch loss=45.768608 @@ -2006,6 +2008,91 @@ Half-moons scatterplot and decision boundary: *************...............................................%%%%%%%%%%%%%%%%%.%%%%%%%%%%%%%%%%%%%....................... *************...................................................%%%%%%.%%%%%%%%%%%%%%%%%%%%%%%.......................... ************.......................................................%....%%%%%.%%..%%%%...%..............................|} + in + let yet_another_unknown_target_cc = + {| +Batch=59, step=60, lr=0.195250, batch loss=0.749789, epoch loss=43.171278 +Epoch=0, step=60, lr=0.195250, epoch loss=43.171278 +Batch=59, step=120, lr=0.190250, batch loss=0.218655, epoch loss=5.839153 +Epoch=1, step=120, lr=0.190250, epoch loss=5.839153 +Batch=59, step=180, lr=0.185250, batch loss=0.208395, epoch loss=5.448813 +Epoch=2, step=180, lr=0.185250, epoch loss=5.448813 +Batch=59, step=240, lr=0.180250, batch loss=0.196621, epoch loss=5.325810 +Epoch=3, step=240, lr=0.180250, epoch loss=5.325810 +Batch=59, step=300, lr=0.175250, batch loss=0.186121, epoch loss=5.170299 +Epoch=4, step=300, lr=0.175250, epoch loss=5.170299 +Batch=59, step=360, lr=0.170250, batch loss=0.180507, epoch loss=5.061864 +Epoch=5, step=360, lr=0.170250, epoch loss=5.061864 +Batch=59, step=420, lr=0.165250, batch loss=0.172365, epoch loss=4.893441 +Epoch=6, step=420, lr=0.165250, epoch loss=4.893441 +Batch=59, step=480, lr=0.160250, batch loss=0.162584, epoch loss=4.679206 +Epoch=7, step=480, lr=0.160250, epoch loss=4.679206 +Batch=59, step=540, lr=0.155250, batch loss=0.147302, epoch loss=4.406136 +Epoch=8, step=540, lr=0.155250, epoch loss=4.406136 +Batch=59, step=600, lr=0.150250, batch loss=0.125581, epoch loss=3.903514 +Epoch=9, step=600, lr=0.150250, epoch loss=3.903514 +Batch=59, step=660, lr=0.145250, batch loss=0.098771, epoch loss=3.332015 +Epoch=10, step=660, lr=0.145250, epoch loss=3.332015 +Batch=59, step=720, lr=0.140250, batch loss=0.071966, epoch loss=2.731438 +Epoch=11, step=720, lr=0.140250, epoch loss=2.731438 +Batch=59, step=780, lr=0.135250, batch loss=0.037383, epoch loss=2.074802 +Epoch=12, step=780, lr=0.135250, epoch loss=2.074802 +Batch=59, step=840, lr=0.130250, batch loss=0.022974, epoch loss=1.449171 +Epoch=13, step=840, lr=0.130250, epoch loss=1.449171 +Batch=59, step=900, lr=0.125250, batch loss=0.011524, epoch loss=0.829769 +Epoch=14, step=900, lr=0.125250, epoch loss=0.829769 +Batch=59, step=960, lr=0.120250, batch loss=0.006678, epoch loss=0.468067 +Epoch=15, step=960, lr=0.120250, epoch loss=0.468067 +Batch=59, step=1020, lr=0.115250, batch loss=0.005397, epoch loss=0.296114 +Epoch=16, step=1020, lr=0.115250, epoch loss=0.296114 +Batch=59, step=1080, lr=0.110250, batch loss=0.003948, epoch loss=0.272232 +Epoch=17, step=1080, lr=0.110250, epoch loss=0.272232 +Batch=59, step=1140, lr=0.105250, batch loss=0.004124, epoch loss=0.210224 +Epoch=18, step=1140, lr=0.105250, epoch loss=0.210224 +Batch=59, step=1200, lr=0.100250, batch loss=0.004163, epoch loss=0.187330 +Epoch=19, step=1200, lr=0.100250, epoch loss=0.187330 + +Half-moons scatterplot and decision boundary: +***************************************#******************************************************************************** +***************************#*#*#########*###**######******************************************************************** +***************************######*####*#*#####*########*#*************************************************************** +*********************#**#########**#######*###############*###********************************************************** +******************####*####################################*###********************************************************* +***************#*#*###*###*###########*#*##*#####################******************************************************* +************#*######**#########*##*****************##*##*########*#***************************************************** +*************########*#*###*#**********************#******####*######*************************************************** +**************#######*#*##******************************#########*##*##*********************************************.... +**********#######*###*#****************************************###**###*#****************************************....... +********#*######**##***************......*********************#*##*####*#*************************************.......... +********###*#*#**##************..............******************###########*#********************************............ +******########***************........%....%.%...*******************##########*****************************............%. +*******#######*************...........%...........******************##*######****************************........%.%..%. +****##########*************...........%%%.%%%......*****************##########*************************........%..%%%%%. +*****######*#*************...........%%%.%...........**************#*#########************************.........%.%.%%..% +**######*#***************............%%%%%%%%.........*****************#*##*###**********************...........%%%%%%%. +**##*#####***************.............%%%%%%%...........**************#########********************.............%%.%%%.. +**########**************.............%%%%%%%%.............**************##*######*****************..............%%%%%%%. +*########***************.............%%%.%%%.%%............**************#####******************..............%%%%%%%%%. +*########**************...............%%%%%%%%%..............************###*##*#**************................%%%%%%%.. +##*######*************................%%%%%%%.%...............************######*#***********.................%%%%%%%%.. +######*##*************................%%.%%%%%%.................**********########**********..................%%%%.%%.%. +###*##**#************..................%.%%%%%%%%.................*********#####*#********...................%%%%%%%%... +##*#####************....................%%%%%%.%.%.................*******#*#*####*******...................%%.%%%%%.... +#####*##************....................%.%%%%%%%%...................*****##**##*******...................%%%%%%%%%%%... +**#*##*#***********......................%%%.%%%%%.%..................****#####*#*****.....................%%%%%%%...... +##****##**********........................%%.%%%%%%%%...................****###*##**....................%%%%%%%%%%...... +******************........................%%.%%%%%%%......................*********.....................%..%%.%%%....... +*****************...........................%...%%%%%.%%...................******..................%.%%%%%%%%%%......... +****************..............................%.%%%%%.%%%%...................***...................%%%%%%%%.%.%%........ +****************................................%..%%%%%...%......................................%%%%%%%%%%............ +***************...................................%%%.%%%%%%%%..............................%%..%%%%.%%%%%.%............ +***************..................................%%%.%%%%%%.%%...%.........................%.%%%%%%%.%%%.%.............. +**************.......................................%.%%%.%%%%%%%%%...................%.%%%%%%%%%%%%%.%.%.............. +*************.........................................%.%%%%.%%%%%%%%%.%%%%%%%%%.%.%%%%%%%%%%%%%%%%%%%.%................ +*************...........................................%%%%%%%%%%%%%%%%%%%%%.%%%%%%%.%%%.%%%%%%%%%%.................... +************................................................%%%%%%%%%%%%%%%%%.%%%%%%%%%%%%%%%%%%%....................... +***********.....................................................%%%%%%.%%%%%%%%%%%%%%%%%%%%%%%.......................... +***********........................................................%....%%%%%.%%..%%%%...%..............................|} in let result_deltas = List.map @@ -2022,6 +2109,7 @@ Half-moons scatterplot and decision boundary: ("another_unknown_target_cc", another_unknown_target_cc); ("another_mac_arm64_target_cc", another_mac_arm64_target_cc); ("another_mac_target_cc", another_mac_target_cc); + ("yet_another_unknown_target_cc", yet_another_unknown_target_cc); ] ~f:(fun (name, target) -> (name, Expect_test_patdiff.patdiff target result)) in