ivanjaenm commited on
Commit
762a3ca
·
verified ·
1 Parent(s): d096145

ToR-OT 2D model, best checkpoint so far (step 560000)

Browse files
Files changed (46) hide show
  1. README.md +55 -0
  2. SHA256SUMS +45 -0
  3. baselines/metaot/canberra_eps0.01/config.json +47 -0
  4. baselines/metaot/canberra_eps0.01/metrics.json +15 -0
  5. baselines/metaot/canberra_eps0.01/params.msgpack +3 -0
  6. baselines/metaot/cubic_euclidean_eps0.001/config.json +47 -0
  7. baselines/metaot/cubic_euclidean_eps0.001/metrics.json +15 -0
  8. baselines/metaot/cubic_euclidean_eps0.001/params.msgpack +3 -0
  9. baselines/metaot/euclidean_eps0.01/config.json +47 -0
  10. baselines/metaot/euclidean_eps0.01/metrics.json +15 -0
  11. baselines/metaot/euclidean_eps0.01/params.msgpack +3 -0
  12. baselines/metaot/gaussian_eps0.01/config.json +47 -0
  13. baselines/metaot/gaussian_eps0.01/metrics.json +15 -0
  14. baselines/metaot/gaussian_eps0.01/params.msgpack +3 -0
  15. baselines/metaot/sqeuclidean_eps0.01/config.json +47 -0
  16. baselines/metaot/sqeuclidean_eps0.01/metrics.json +15 -0
  17. baselines/metaot/sqeuclidean_eps0.01/params.msgpack +3 -0
  18. baselines/metaot/sqrt_euclidean_eps0.01/config.json +47 -0
  19. baselines/metaot/sqrt_euclidean_eps0.01/metrics.json +15 -0
  20. baselines/metaot/sqrt_euclidean_eps0.01/params.msgpack +3 -0
  21. baselines/unot/canberra_eps0.01/config.json +41 -0
  22. baselines/unot/canberra_eps0.01/generator.pt +3 -0
  23. baselines/unot/canberra_eps0.01/metrics.json +19 -0
  24. baselines/unot/canberra_eps0.01/predictor.pt +3 -0
  25. baselines/unot/cubic_euclidean_eps0.001/config.json +41 -0
  26. baselines/unot/cubic_euclidean_eps0.001/generator.pt +3 -0
  27. baselines/unot/cubic_euclidean_eps0.001/metrics.json +19 -0
  28. baselines/unot/cubic_euclidean_eps0.001/predictor.pt +3 -0
  29. baselines/unot/euclidean_eps0.01/config.json +41 -0
  30. baselines/unot/euclidean_eps0.01/generator.pt +3 -0
  31. baselines/unot/euclidean_eps0.01/metrics.json +19 -0
  32. baselines/unot/euclidean_eps0.01/predictor.pt +3 -0
  33. baselines/unot/gaussian_eps0.01_w144/config.json +41 -0
  34. baselines/unot/gaussian_eps0.01_w144/generator.pt +3 -0
  35. baselines/unot/gaussian_eps0.01_w144/metrics.json +19 -0
  36. baselines/unot/gaussian_eps0.01_w144/predictor.pt +3 -0
  37. baselines/unot/sqeuclidean_eps0.01_w144/config.json +41 -0
  38. baselines/unot/sqeuclidean_eps0.01_w144/generator.pt +3 -0
  39. baselines/unot/sqeuclidean_eps0.01_w144/metrics.json +19 -0
  40. baselines/unot/sqeuclidean_eps0.01_w144/predictor.pt +3 -0
  41. baselines/unot/sqrt_euclidean_eps0.01/config.json +41 -0
  42. baselines/unot/sqrt_euclidean_eps0.01/generator.pt +3 -0
  43. baselines/unot/sqrt_euclidean_eps0.01/metrics.json +19 -0
  44. baselines/unot/sqrt_euclidean_eps0.01/predictor.pt +3 -0
  45. config.yaml +56 -0
  46. model.safetensors +3 -0
README.md ADDED
@@ -0,0 +1,55 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: mit
3
+ library_name: torot
4
+ tags: [optimal-transport, transformer, token-regression]
5
+ datasets: [ivanjaenm/torot_data_4M_2d]
6
+ ---
7
+
8
+ # ToR-OT 2D model (157.6M parameters)
9
+
10
+ Model of *Learning Optimal Transport Plans Via Autoregressive Token Regression* (NeurIPS 2026), used for the 2D results of the paper (Fig. 4C-D, Fig. 5, App. F).
11
+ An encoder reads the two histograms and the cost type; a decoder writes the optimal transport plan row by row as
12
+ tokens (target-bin pointer, exponent, four mantissa digits). Code: https://github.com/vsingh-group/TOR-OT
13
+
14
+ * Weights: exponential moving average after 560000 training steps (`model.safetensors`, float32); architecture in
15
+ `config.yaml`.
16
+ * Training data: [`ivanjaenm/torot_data_4M_2d`](https://huggingface.co/datasets/ivanjaenm/torot_data_4M_2d) at revision `1ff4a4a6329fa5c822f77d92b1c2ae850afedd9b`: 2D histograms on k x k grids in [0, 1]^2 (k = 3-10, n = 9-100 bins), six cost types; half of the marginals have empty bins (10-70 % of the bins set to zero).
17
+ * Decoding used for the paper: greedy, grammar-constrained, row by row, last row decoded by the model
18
+ (`last_row="model"`).
19
+
20
+ ```python
21
+ import numpy as np, torch, ot
22
+ from torot.evaluate import load_model
23
+ from torot.decode import predict_plans
24
+ from torot.data.cost import COST_TYPES, cost_matrix
25
+ from torot.data.supports import grid_2d
26
+
27
+ device = torch.device("cuda")
28
+ model, tok, cfg = load_model("ivanjaenm/torot-2d", device)
29
+
30
+ k = 6
31
+ x = grid_2d(k) # k*k bin centres on [0, 1]^2, shape [k*k, 2]
32
+ n = k * k
33
+ rng = np.random.default_rng(0)
34
+ a, b = rng.dirichlet(np.ones(n)), rng.dirichlet(np.ones(n))
35
+ inst = {"n": n, "m": n, "dim": 2, "cost_type": COST_TYPES.index("sqeuclidean"),
36
+ "coords_src": x, "coords_tgt": x, "a": a, "b": b}
37
+ plan = predict_plans(model, tok, [inst], device, last_row="model")[0] # dense n x m plan
38
+
39
+ C = cost_matrix(x, x, "sqeuclidean")
40
+ print((plan * C).sum() / (ot.emd(a, b, C) * C).sum() - 1) # relative cost gap to the exact plan
41
+ ```
42
+
43
+
44
+ `baselines/`: the Meta OT and UNOT runs used in the paper (one per cost, selected on validation; code in `baselines/` of the repository).
45
+
46
+ ## Citation
47
+
48
+ ```bibtex
49
+ @inproceedings{jaenmarquez2026torot,
50
+ title = {Learning Optimal Transport Plans Via Autoregressive Token Regression},
51
+ author = {Jaen Marquez, Ivan and Chytas, Takis and Singh, Vikas},
52
+ booktitle = {Advances in Neural Information Processing Systems (NeurIPS)},
53
+ year = {2026}
54
+ }
55
+ ```
SHA256SUMS ADDED
@@ -0,0 +1,45 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ fd3ecdce52c9f1013cd96ef66351bf1983fe30b54b9826fe21e3c02b1fc32ebe README.md
2
+ d62b8fb9d17855d6fca82c07de68ad21b5c932be9e03802f7f79d37cf638058e baselines/metaot/canberra_eps0.01/config.json
3
+ 3c3d6856bd68e68b2b4ab1c5a798353e14b70fc01c089198d53f69714bc54f79 baselines/metaot/canberra_eps0.01/metrics.json
4
+ e080d87e7b96ec52a476d78a95cbe5d5c8df533f3a819d4a9b4d443345b23d63 baselines/metaot/canberra_eps0.01/params.msgpack
5
+ 4525b3950937c1402345b8d7e12284792eb74e0eb31c06d7ceb1d18671ade71e baselines/metaot/cubic_euclidean_eps0.001/config.json
6
+ 95ba524d3b3bb2c61a3abca70ed85bb8c2b68c84fb4520e2ff363c5d6c0aa047 baselines/metaot/cubic_euclidean_eps0.001/metrics.json
7
+ dabb07a7b2f614b3c8dc14fcdd5a51b44d8820ac04fdee0087908be5b06460d9 baselines/metaot/cubic_euclidean_eps0.001/params.msgpack
8
+ a7b7f1a2ae6a457a7514f3721811fbccf17ed4052a21a7dd867baf2162802a21 baselines/metaot/euclidean_eps0.01/config.json
9
+ ba0097bea24749938e56918ea78b88a9d8da64dc4679d00913b916ed9bfb5012 baselines/metaot/euclidean_eps0.01/metrics.json
10
+ 90ed21e379ece73534f5eb030bd17fcb4f80711aa6ce04abde490cc3617e67bc baselines/metaot/euclidean_eps0.01/params.msgpack
11
+ aa2429c725561c0cf1c3d983969160975bb2e76f4d678cb46081b50fb3f7d586 baselines/metaot/gaussian_eps0.01/config.json
12
+ 26f4bc9d39c2def42835ae6a809f0c65e27efa3f05bc6a355d076669f0a658fb baselines/metaot/gaussian_eps0.01/metrics.json
13
+ 03998a558012f61ca2513f809d9f4f116fe33370440ab4600509a33362e81b0a baselines/metaot/gaussian_eps0.01/params.msgpack
14
+ 6cc68cb2753df240e8e95480f65587841c28387c703365fbf4c1a8c0d51a0c51 baselines/metaot/sqeuclidean_eps0.01/config.json
15
+ 904f0b16c08b6bf45ae2994df9bc11432931782f4453a07fdcb99b67cc1cb38f baselines/metaot/sqeuclidean_eps0.01/metrics.json
16
+ 9cbf8a93696f96dcbd934d257d97f3ccbd3a22f40ec8b4dfe11fb1e4573e3872 baselines/metaot/sqeuclidean_eps0.01/params.msgpack
17
+ b6ceebc1fa375e61b2947d26bf026bedc9e680b0780e40ef644f41b1a97f8a23 baselines/metaot/sqrt_euclidean_eps0.01/config.json
18
+ 755cf55b289009b1cc0a72755c7a773fe36ded274888a82218f6584b8619e3b7 baselines/metaot/sqrt_euclidean_eps0.01/metrics.json
19
+ 12de5d3b6b2c5a21bf3f82d644697011b99d71f4254d26e64ca2872ac8f98205 baselines/metaot/sqrt_euclidean_eps0.01/params.msgpack
20
+ 9084a19670ef2a9619d315a165c6afa427f5cd982693e269f14d8be3664c512e baselines/unot/canberra_eps0.01/config.json
21
+ e3d60a959a1da9310f9d4c5f4df82b55098fdf8be48d82babad12be06375d032 baselines/unot/canberra_eps0.01/generator.pt
22
+ 5d26e1aa6125761477334b9eb4a1c06f0fc1c1a00ee388f2dfec56c40781b30f baselines/unot/canberra_eps0.01/metrics.json
23
+ 0b4fcbea2e5ba01bc960a5fea9c9dacee9588da2228de3dc8e5b705b790cf07e baselines/unot/canberra_eps0.01/predictor.pt
24
+ 84102fd80db8f5ca5f480fbbb0f34fca55e6ac9f490a327863f01957601393fe baselines/unot/cubic_euclidean_eps0.001/config.json
25
+ 2a189fe332ab67c3c9ef4fe177f6d21491c0d6bb39c4906513e32af4a8f66bea baselines/unot/cubic_euclidean_eps0.001/generator.pt
26
+ d478add85299c1206b9dcc5c077b76e52a408d96fd9781427155a2c1bc2c5659 baselines/unot/cubic_euclidean_eps0.001/metrics.json
27
+ 3c974ffc49bf17f273f474aadd6a7634214261b2896d5516ce33ed32c65dc1bd baselines/unot/cubic_euclidean_eps0.001/predictor.pt
28
+ 4849b229df30f702d8a5aa0d42d6eaf995c979ce0046cea7bedc1db274b48b70 baselines/unot/euclidean_eps0.01/config.json
29
+ beb27a049f735baf49f85aebe9e4734941595dbbc301ac2db3e89cd46a396130 baselines/unot/euclidean_eps0.01/generator.pt
30
+ 2bdf880e85df7557798d459ca1fb4b5cc98bc84f21c602a1df14c34a64782739 baselines/unot/euclidean_eps0.01/metrics.json
31
+ e38287705ccb366e2682f264ef1023633ece05e5e319ffe6b0df90084b102223 baselines/unot/euclidean_eps0.01/predictor.pt
32
+ c74d75b88102a3ad8d5d17c6d8ee5a453d31f29c3355d0f69a1d7e0cbb838e76 baselines/unot/gaussian_eps0.01_w144/config.json
33
+ d1ac19634c248e2daef3c212ff7c4984868a2d2e47fa9500732d45326a3df219 baselines/unot/gaussian_eps0.01_w144/generator.pt
34
+ c5c8e366e19891490e1223a3aa7a1846b48d8faa8e0a6147a02b462cbf52b579 baselines/unot/gaussian_eps0.01_w144/metrics.json
35
+ daeb29419504918302b5623684e9dd3645239e6dfcfa2155f3bdb721ca18fa4b baselines/unot/gaussian_eps0.01_w144/predictor.pt
36
+ 00f4f443220390434d2a994bb629c194450fd42366d355bd60e6d935dcdae134 baselines/unot/sqeuclidean_eps0.01_w144/config.json
37
+ 9fc5bbd5c191063a7f5ee247c2ca499b58cebcf466d5bba2cf6af06d5161624a baselines/unot/sqeuclidean_eps0.01_w144/generator.pt
38
+ 215052692ccf920fdded52898ce000ae701389b376fd60c7b42a942c00491f9e baselines/unot/sqeuclidean_eps0.01_w144/metrics.json
39
+ 9788fcdfff26b79823071cdb3e75d5c8bcab98cca86d9d575152d198db3bcedb baselines/unot/sqeuclidean_eps0.01_w144/predictor.pt
40
+ b23627da5507bfc60879af51d8d9ca6979835028a317cc6d2032d3cfab04adca baselines/unot/sqrt_euclidean_eps0.01/config.json
41
+ 8c031c18f0ec18c52b070eb324a85d845148edaad7f21eb0bb91385ce19f8fe1 baselines/unot/sqrt_euclidean_eps0.01/generator.pt
42
+ c98d318521b7e34ed204be16dc03eb0ee86c5346df22857a0824e1ee5c8eb65d baselines/unot/sqrt_euclidean_eps0.01/metrics.json
43
+ b2ec80b1427c1f07f99ed361688067b1304c5241cdd7ce470038087007a27b75 baselines/unot/sqrt_euclidean_eps0.01/predictor.pt
44
+ c779e34fe20e08a0ca902ab484feab1d3ce5278896e39ac72462fd10d145f15d config.yaml
45
+ 99bfdb2eedf149f2be416a4f69ad4ce37ed6b64a252c474b2cf95191fd6c92f5 model.safetensors
baselines/metaot/canberra_eps0.01/config.json ADDED
@@ -0,0 +1,47 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "method": "metaot",
3
+ "cost": "canberra",
4
+ "eps": 0.01,
5
+ "n": 36,
6
+ "dim": 2,
7
+ "seed": 0,
8
+ "train_marginals": "uniform on the simplex (Dirichlet(1)), as ToR-OT's training data",
9
+ "official_config": {
10
+ "seed": 0,
11
+ "data": "random",
12
+ "potential_model": {
13
+ "_target_": "meta_ot.models.PotentialMLP",
14
+ "n_hidden": 1024,
15
+ "n_hidden_layer": 3
16
+ },
17
+ "batch_size": 128,
18
+ "num_train_iter": 50000,
19
+ "potential_model_mlp": {
20
+ "_target_": "meta_ot.models.PotentialMLP",
21
+ "n_hidden": 1024,
22
+ "n_hidden_layer": 3
23
+ },
24
+ "optim": {
25
+ "_target_": "optax.adam",
26
+ "learning_rate": 0.001
27
+ },
28
+ "max_grad_norm": 1.0
29
+ },
30
+ "vendored_commit": "7dcc9a4c25b0a57626d3fa26028c6633ad19da50",
31
+ "versions": {
32
+ "jax": "0.4.30",
33
+ "jaxlib": "0.4.30",
34
+ "flax": "0.8.5",
35
+ "optax": "0.2.2",
36
+ "numpy": "1.26.4",
37
+ "ott-jax": "0.2.9"
38
+ },
39
+ "device": "cuda:0",
40
+ "provenance": {
41
+ "tor_ot_commit": "b9c045807b7fbee37ab22a523e75bc3bbc076169",
42
+ "tor_ot_dirty": true,
43
+ "python": "3.10.22",
44
+ "executable": "/home/ivan/anaconda3/envs/env_metaot/bin/python",
45
+ "platform": "Linux-6.8.0-138-generic-x86_64-with-glibc2.35"
46
+ }
47
+ }
baselines/metaot/canberra_eps0.01/metrics.json ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "validation": {
3
+ "set": "val_simplex2d_canberra",
4
+ "instances": 500,
5
+ "paper_mape_mean": 0.48757729823236323,
6
+ "paper_mape_median": 0.48294072325959986,
7
+ "row_violation_l1_mean": 0.25674583064459744,
8
+ "col_violation_l1_mean": 1.194925654429723e-15,
9
+ "abs_cost_gap_mean": 0.010577336395573882,
10
+ "finite_fraction": 1.0
11
+ },
12
+ "train_seconds": 4130.631784915924,
13
+ "parameters": 2210852,
14
+ "iterations": 50000
15
+ }
baselines/metaot/canberra_eps0.01/params.msgpack ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e080d87e7b96ec52a476d78a95cbe5d5c8df533f3a819d4a9b4d443345b23d63
3
+ size 8843673
baselines/metaot/cubic_euclidean_eps0.001/config.json ADDED
@@ -0,0 +1,47 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "method": "metaot",
3
+ "cost": "cubic_euclidean",
4
+ "eps": 0.001,
5
+ "n": 36,
6
+ "dim": 2,
7
+ "seed": 0,
8
+ "train_marginals": "uniform on the simplex (Dirichlet(1)), as ToR-OT's training data",
9
+ "official_config": {
10
+ "seed": 0,
11
+ "data": "random",
12
+ "potential_model": {
13
+ "_target_": "meta_ot.models.PotentialMLP",
14
+ "n_hidden": 1024,
15
+ "n_hidden_layer": 3
16
+ },
17
+ "batch_size": 128,
18
+ "num_train_iter": 50000,
19
+ "potential_model_mlp": {
20
+ "_target_": "meta_ot.models.PotentialMLP",
21
+ "n_hidden": 1024,
22
+ "n_hidden_layer": 3
23
+ },
24
+ "optim": {
25
+ "_target_": "optax.adam",
26
+ "learning_rate": 0.001
27
+ },
28
+ "max_grad_norm": 1.0
29
+ },
30
+ "vendored_commit": "7dcc9a4c25b0a57626d3fa26028c6633ad19da50",
31
+ "versions": {
32
+ "jax": "0.4.30",
33
+ "jaxlib": "0.4.30",
34
+ "flax": "0.8.5",
35
+ "optax": "0.2.2",
36
+ "numpy": "1.26.4",
37
+ "ott-jax": "0.2.9"
38
+ },
39
+ "device": "cuda:0",
40
+ "provenance": {
41
+ "tor_ot_commit": "b9c045807b7fbee37ab22a523e75bc3bbc076169",
42
+ "tor_ot_dirty": true,
43
+ "python": "3.10.22",
44
+ "executable": "/home/ivan/anaconda3/envs/env_metaot/bin/python",
45
+ "platform": "Linux-6.8.0-138-generic-x86_64-with-glibc2.35"
46
+ }
47
+ }
baselines/metaot/cubic_euclidean_eps0.001/metrics.json ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "validation": {
3
+ "set": "val_simplex2d_cubic_euclidean",
4
+ "instances": 500,
5
+ "paper_mape_mean": 0.43835759711989714,
6
+ "paper_mape_median": 0.42727180654938646,
7
+ "row_violation_l1_mean": 0.30611072450875987,
8
+ "col_violation_l1_mean": 1.227751313463666e-15,
9
+ "abs_cost_gap_mean": 0.0006078786352234964,
10
+ "finite_fraction": 1.0
11
+ },
12
+ "train_seconds": 4130.424247264862,
13
+ "parameters": 2210852,
14
+ "iterations": 50000
15
+ }
baselines/metaot/cubic_euclidean_eps0.001/params.msgpack ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:dabb07a7b2f614b3c8dc14fcdd5a51b44d8820ac04fdee0087908be5b06460d9
3
+ size 8843673
baselines/metaot/euclidean_eps0.01/config.json ADDED
@@ -0,0 +1,47 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "method": "metaot",
3
+ "cost": "euclidean",
4
+ "eps": 0.01,
5
+ "n": 36,
6
+ "dim": 2,
7
+ "seed": 0,
8
+ "train_marginals": "uniform on the simplex (Dirichlet(1)), as ToR-OT's training data",
9
+ "official_config": {
10
+ "seed": 0,
11
+ "data": "random",
12
+ "potential_model": {
13
+ "_target_": "meta_ot.models.PotentialMLP",
14
+ "n_hidden": 1024,
15
+ "n_hidden_layer": 3
16
+ },
17
+ "batch_size": 128,
18
+ "num_train_iter": 50000,
19
+ "potential_model_mlp": {
20
+ "_target_": "meta_ot.models.PotentialMLP",
21
+ "n_hidden": 1024,
22
+ "n_hidden_layer": 3
23
+ },
24
+ "optim": {
25
+ "_target_": "optax.adam",
26
+ "learning_rate": 0.001
27
+ },
28
+ "max_grad_norm": 1.0
29
+ },
30
+ "vendored_commit": "7dcc9a4c25b0a57626d3fa26028c6633ad19da50",
31
+ "versions": {
32
+ "jax": "0.4.30",
33
+ "jaxlib": "0.4.30",
34
+ "flax": "0.8.5",
35
+ "optax": "0.2.2",
36
+ "numpy": "1.26.4",
37
+ "ott-jax": "0.2.9"
38
+ },
39
+ "device": "cuda:0",
40
+ "provenance": {
41
+ "tor_ot_commit": "b9c045807b7fbee37ab22a523e75bc3bbc076169",
42
+ "tor_ot_dirty": true,
43
+ "python": "3.10.22",
44
+ "executable": "/home/ivan/anaconda3/envs/env_metaot/bin/python",
45
+ "platform": "Linux-6.8.0-138-generic-x86_64-with-glibc2.35"
46
+ }
47
+ }
baselines/metaot/euclidean_eps0.01/metrics.json ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "validation": {
3
+ "set": "val_simplex2d_euclidean",
4
+ "instances": 500,
5
+ "paper_mape_mean": 0.41057894637272296,
6
+ "paper_mape_median": 0.3993071094091103,
7
+ "row_violation_l1_mean": 0.24206822685050514,
8
+ "col_violation_l1_mean": 1.1271179963071335e-15,
9
+ "abs_cost_gap_mean": 0.008357788421720032,
10
+ "finite_fraction": 1.0
11
+ },
12
+ "train_seconds": 4130.422701120377,
13
+ "parameters": 2210852,
14
+ "iterations": 50000
15
+ }
baselines/metaot/euclidean_eps0.01/params.msgpack ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:90ed21e379ece73534f5eb030bd17fcb4f80711aa6ce04abde490cc3617e67bc
3
+ size 8843673
baselines/metaot/gaussian_eps0.01/config.json ADDED
@@ -0,0 +1,47 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "method": "metaot",
3
+ "cost": "gaussian",
4
+ "eps": 0.01,
5
+ "n": 36,
6
+ "dim": 2,
7
+ "seed": 0,
8
+ "train_marginals": "uniform on the simplex (Dirichlet(1)), as ToR-OT's training data",
9
+ "official_config": {
10
+ "seed": 0,
11
+ "data": "random",
12
+ "potential_model": {
13
+ "_target_": "meta_ot.models.PotentialMLP",
14
+ "n_hidden": 1024,
15
+ "n_hidden_layer": 3
16
+ },
17
+ "batch_size": 128,
18
+ "num_train_iter": 50000,
19
+ "potential_model_mlp": {
20
+ "_target_": "meta_ot.models.PotentialMLP",
21
+ "n_hidden": 1024,
22
+ "n_hidden_layer": 3
23
+ },
24
+ "optim": {
25
+ "_target_": "optax.adam",
26
+ "learning_rate": 0.001
27
+ },
28
+ "max_grad_norm": 1.0
29
+ },
30
+ "vendored_commit": "7dcc9a4c25b0a57626d3fa26028c6633ad19da50",
31
+ "versions": {
32
+ "jax": "0.4.30",
33
+ "jaxlib": "0.4.30",
34
+ "flax": "0.8.5",
35
+ "optax": "0.2.2",
36
+ "numpy": "1.26.4",
37
+ "ott-jax": "0.2.9"
38
+ },
39
+ "device": "cuda:0",
40
+ "provenance": {
41
+ "tor_ot_commit": "b9c045807b7fbee37ab22a523e75bc3bbc076169",
42
+ "tor_ot_dirty": true,
43
+ "python": "3.10.22",
44
+ "executable": "/home/ivan/anaconda3/envs/env_metaot/bin/python",
45
+ "platform": "Linux-6.8.0-138-generic-x86_64-with-glibc2.35"
46
+ }
47
+ }
baselines/metaot/gaussian_eps0.01/metrics.json ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "validation": {
3
+ "set": "val_simplex2d_gaussian",
4
+ "instances": 500,
5
+ "paper_mape_mean": 0.5226949643986197,
6
+ "paper_mape_median": 0.5212648175950179,
7
+ "row_violation_l1_mean": 0.4143645651665812,
8
+ "col_violation_l1_mean": 2.194984908011877e-15,
9
+ "abs_cost_gap_mean": 0.030263616592299654,
10
+ "finite_fraction": 1.0
11
+ },
12
+ "train_seconds": 4130.375089645386,
13
+ "parameters": 2210852,
14
+ "iterations": 50000
15
+ }
baselines/metaot/gaussian_eps0.01/params.msgpack ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:03998a558012f61ca2513f809d9f4f116fe33370440ab4600509a33362e81b0a
3
+ size 8843673
baselines/metaot/sqeuclidean_eps0.01/config.json ADDED
@@ -0,0 +1,47 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "method": "metaot",
3
+ "cost": "sqeuclidean",
4
+ "eps": 0.01,
5
+ "n": 36,
6
+ "dim": 2,
7
+ "seed": 0,
8
+ "train_marginals": "uniform on the simplex (Dirichlet(1)), as ToR-OT's training data",
9
+ "official_config": {
10
+ "seed": 0,
11
+ "data": "random",
12
+ "potential_model": {
13
+ "_target_": "meta_ot.models.PotentialMLP",
14
+ "n_hidden": 1024,
15
+ "n_hidden_layer": 3
16
+ },
17
+ "batch_size": 128,
18
+ "num_train_iter": 50000,
19
+ "potential_model_mlp": {
20
+ "_target_": "meta_ot.models.PotentialMLP",
21
+ "n_hidden": 1024,
22
+ "n_hidden_layer": 3
23
+ },
24
+ "optim": {
25
+ "_target_": "optax.adam",
26
+ "learning_rate": 0.001
27
+ },
28
+ "max_grad_norm": 1.0
29
+ },
30
+ "vendored_commit": "7dcc9a4c25b0a57626d3fa26028c6633ad19da50",
31
+ "versions": {
32
+ "jax": "0.4.30",
33
+ "jaxlib": "0.4.30",
34
+ "flax": "0.8.5",
35
+ "optax": "0.2.2",
36
+ "numpy": "1.26.4",
37
+ "ott-jax": "0.2.9"
38
+ },
39
+ "device": "cuda:0",
40
+ "provenance": {
41
+ "tor_ot_commit": "b9c045807b7fbee37ab22a523e75bc3bbc076169",
42
+ "tor_ot_dirty": true,
43
+ "python": "3.10.22",
44
+ "executable": "/home/ivan/anaconda3/envs/env_metaot/bin/python",
45
+ "platform": "Linux-6.8.0-138-generic-x86_64-with-glibc2.35"
46
+ }
47
+ }
baselines/metaot/sqeuclidean_eps0.01/metrics.json ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "validation": {
3
+ "set": "val_simplex2d_sqeuclidean",
4
+ "instances": 500,
5
+ "paper_mape_mean": 0.49454423258223007,
6
+ "paper_mape_median": 0.4890397708741878,
7
+ "row_violation_l1_mean": 0.10032652592309427,
8
+ "col_violation_l1_mean": 4.806512341288475e-16,
9
+ "abs_cost_gap_mean": 0.002031926991414964,
10
+ "finite_fraction": 1.0
11
+ },
12
+ "train_seconds": 4130.550829410553,
13
+ "parameters": 2210852,
14
+ "iterations": 50000
15
+ }
baselines/metaot/sqeuclidean_eps0.01/params.msgpack ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:9cbf8a93696f96dcbd934d257d97f3ccbd3a22f40ec8b4dfe11fb1e4573e3872
3
+ size 8843673
baselines/metaot/sqrt_euclidean_eps0.01/config.json ADDED
@@ -0,0 +1,47 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "method": "metaot",
3
+ "cost": "sqrt_euclidean",
4
+ "eps": 0.01,
5
+ "n": 36,
6
+ "dim": 2,
7
+ "seed": 0,
8
+ "train_marginals": "uniform on the simplex (Dirichlet(1)), as ToR-OT's training data",
9
+ "official_config": {
10
+ "seed": 0,
11
+ "data": "random",
12
+ "potential_model": {
13
+ "_target_": "meta_ot.models.PotentialMLP",
14
+ "n_hidden": 1024,
15
+ "n_hidden_layer": 3
16
+ },
17
+ "batch_size": 128,
18
+ "num_train_iter": 50000,
19
+ "potential_model_mlp": {
20
+ "_target_": "meta_ot.models.PotentialMLP",
21
+ "n_hidden": 1024,
22
+ "n_hidden_layer": 3
23
+ },
24
+ "optim": {
25
+ "_target_": "optax.adam",
26
+ "learning_rate": 0.001
27
+ },
28
+ "max_grad_norm": 1.0
29
+ },
30
+ "vendored_commit": "7dcc9a4c25b0a57626d3fa26028c6633ad19da50",
31
+ "versions": {
32
+ "jax": "0.4.30",
33
+ "jaxlib": "0.4.30",
34
+ "flax": "0.8.5",
35
+ "optax": "0.2.2",
36
+ "numpy": "1.26.4",
37
+ "ott-jax": "0.2.9"
38
+ },
39
+ "device": "cuda:0",
40
+ "provenance": {
41
+ "tor_ot_commit": "b9c045807b7fbee37ab22a523e75bc3bbc076169",
42
+ "tor_ot_dirty": true,
43
+ "python": "3.10.22",
44
+ "executable": "/home/ivan/anaconda3/envs/env_metaot/bin/python",
45
+ "platform": "Linux-6.8.0-138-generic-x86_64-with-glibc2.35"
46
+ }
47
+ }
baselines/metaot/sqrt_euclidean_eps0.01/metrics.json ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "validation": {
3
+ "set": "val_simplex2d_sqrt_euclidean",
4
+ "instances": 500,
5
+ "paper_mape_mean": 0.360679581856843,
6
+ "paper_mape_median": 0.35895149743904375,
7
+ "row_violation_l1_mean": 0.27511418609134025,
8
+ "col_violation_l1_mean": 2.0080832422471187e-15,
9
+ "abs_cost_gap_mean": 0.01639749865033589,
10
+ "finite_fraction": 1.0
11
+ },
12
+ "train_seconds": 4130.353412151337,
13
+ "parameters": 2210852,
14
+ "iterations": 50000
15
+ }
baselines/metaot/sqrt_euclidean_eps0.01/params.msgpack ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:12de5d3b6b2c5a21bf3f82d644697011b99d71f4254d26e64ca2872ac8f98205
3
+ size 8843673
baselines/unot/canberra_eps0.01/config.json ADDED
@@ -0,0 +1,41 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "method": "unot",
3
+ "cost": "canberra",
4
+ "eps": 0.01,
5
+ "n": 36,
6
+ "dim": 2,
7
+ "seed": 0,
8
+ "hyperparameters": {
9
+ "lr": 0.01,
10
+ "weight_decay_generator": 0.0,
11
+ "weight_decay_predictor": 0.0001,
12
+ "gamma_generator": 1.0,
13
+ "gamma_predictor": 0.9999,
14
+ "batch_size": 64,
15
+ "nits": 10000,
16
+ "nits_mini_loop_generator": 1,
17
+ "nits_mini_loop_predictor": 1,
18
+ "sinkhorn_max_iterations": 5,
19
+ "num_layers": 3,
20
+ "length_latent": 10,
21
+ "dust_const": 1e-06,
22
+ "skip_const": 1.0,
23
+ "width": 1024
24
+ },
25
+ "train_marginals": "UNOT's adversarial generator (no dataset), as in the official method",
26
+ "sinkhorn_targets": "log domain (identical iterates)",
27
+ "vendored_commit": "73b290ba8c0709fa7dd4992eeda88171628d6bb2",
28
+ "versions": {
29
+ "torch": "2.5.1+cu124",
30
+ "numpy": "2.2.1",
31
+ "wandb": "0.19.1"
32
+ },
33
+ "device": "NVIDIA A100-PCIE-40GB",
34
+ "provenance": {
35
+ "tor_ot_commit": "b9c045807b7fbee37ab22a523e75bc3bbc076169",
36
+ "tor_ot_dirty": true,
37
+ "python": "3.12.15",
38
+ "executable": "/home/ivan/anaconda3/envs/env_unot/bin/python",
39
+ "platform": "Linux-6.8.0-138-generic-x86_64-with-glibc2.35"
40
+ }
41
+ }
baselines/unot/canberra_eps0.01/generator.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e3d60a959a1da9310f9d4c5f4df82b55098fdf8be48d82babad12be06375d032
3
+ size 13789312
baselines/unot/canberra_eps0.01/metrics.json ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "validation": {
3
+ "set": "val_simplex2d_canberra",
4
+ "instances": 500,
5
+ "paper_mape_mean": 1.0239031142795592,
6
+ "paper_mape_median": 1.0110007108679273,
7
+ "row_violation_l1_mean": 2.1793333430843205e-08,
8
+ "col_violation_l1_mean": 0.8667472874915544,
9
+ "abs_cost_gap_mean": 0.032092018875914785,
10
+ "finite_fraction": 1.0
11
+ },
12
+ "train_seconds": 1100.571202993393,
13
+ "parameters": 3268644,
14
+ "iterations": 10000,
15
+ "predictor_updates": 10000,
16
+ "non_finite_predictor_losses": 0,
17
+ "final_predictor_loss_mean_last_100": 12.474288320541381,
18
+ "batchnorm_recalibrated_on": "12800 finite generator samples (0 non-finite dropped)"
19
+ }
baselines/unot/canberra_eps0.01/predictor.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:0b4fcbea2e5ba01bc960a5fea9c9dacee9588da2228de3dc8e5b705b790cf07e
3
+ size 13117440
baselines/unot/cubic_euclidean_eps0.001/config.json ADDED
@@ -0,0 +1,41 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "method": "unot",
3
+ "cost": "cubic_euclidean",
4
+ "eps": 0.001,
5
+ "n": 36,
6
+ "dim": 2,
7
+ "seed": 0,
8
+ "hyperparameters": {
9
+ "lr": 0.01,
10
+ "weight_decay_generator": 0.0,
11
+ "weight_decay_predictor": 0.0001,
12
+ "gamma_generator": 1.0,
13
+ "gamma_predictor": 0.9999,
14
+ "batch_size": 64,
15
+ "nits": 10000,
16
+ "nits_mini_loop_generator": 1,
17
+ "nits_mini_loop_predictor": 1,
18
+ "sinkhorn_max_iterations": 5,
19
+ "num_layers": 3,
20
+ "length_latent": 10,
21
+ "dust_const": 1e-06,
22
+ "skip_const": 1.0,
23
+ "width": 1024
24
+ },
25
+ "train_marginals": "UNOT's adversarial generator (no dataset), as in the official method",
26
+ "sinkhorn_targets": "log domain (identical iterates)",
27
+ "vendored_commit": "73b290ba8c0709fa7dd4992eeda88171628d6bb2",
28
+ "versions": {
29
+ "torch": "2.5.1+cu124",
30
+ "numpy": "2.2.1",
31
+ "wandb": "0.19.1"
32
+ },
33
+ "device": "NVIDIA A100-PCIE-40GB",
34
+ "provenance": {
35
+ "tor_ot_commit": "b9c045807b7fbee37ab22a523e75bc3bbc076169",
36
+ "tor_ot_dirty": true,
37
+ "python": "3.12.15",
38
+ "executable": "/home/ivan/anaconda3/envs/env_unot/bin/python",
39
+ "platform": "Linux-6.8.0-138-generic-x86_64-with-glibc2.35"
40
+ }
41
+ }
baselines/unot/cubic_euclidean_eps0.001/generator.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:2a189fe332ab67c3c9ef4fe177f6d21491c0d6bb39c4906513e32af4a8f66bea
3
+ size 13789312
baselines/unot/cubic_euclidean_eps0.001/metrics.json ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "validation": {
3
+ "set": "val_simplex2d_cubic_euclidean",
4
+ "instances": 500,
5
+ "paper_mape_mean": 0.9532561271039957,
6
+ "paper_mape_median": 0.9460185019162484,
7
+ "row_violation_l1_mean": 2.1793333400397737e-08,
8
+ "col_violation_l1_mean": 0.762428565899103,
9
+ "abs_cost_gap_mean": 0.0012899823837028265,
10
+ "finite_fraction": 1.0
11
+ },
12
+ "train_seconds": 1100.405916929245,
13
+ "parameters": 3268644,
14
+ "iterations": 10000,
15
+ "predictor_updates": 10000,
16
+ "non_finite_predictor_losses": 0,
17
+ "final_predictor_loss_mean_last_100": 17.718043403625487,
18
+ "batchnorm_recalibrated_on": "12800 finite generator samples (0 non-finite dropped)"
19
+ }
baselines/unot/cubic_euclidean_eps0.001/predictor.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:3c974ffc49bf17f273f474aadd6a7634214261b2896d5516ce33ed32c65dc1bd
3
+ size 13117440
baselines/unot/euclidean_eps0.01/config.json ADDED
@@ -0,0 +1,41 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "method": "unot",
3
+ "cost": "euclidean",
4
+ "eps": 0.01,
5
+ "n": 36,
6
+ "dim": 2,
7
+ "seed": 0,
8
+ "hyperparameters": {
9
+ "lr": 0.01,
10
+ "weight_decay_generator": 0.0,
11
+ "weight_decay_predictor": 0.0001,
12
+ "gamma_generator": 1.0,
13
+ "gamma_predictor": 0.9999,
14
+ "batch_size": 64,
15
+ "nits": 10000,
16
+ "nits_mini_loop_generator": 1,
17
+ "nits_mini_loop_predictor": 1,
18
+ "sinkhorn_max_iterations": 5,
19
+ "num_layers": 3,
20
+ "length_latent": 10,
21
+ "dust_const": 1e-06,
22
+ "skip_const": 1.0,
23
+ "width": 1024
24
+ },
25
+ "train_marginals": "UNOT's adversarial generator (no dataset), as in the official method",
26
+ "sinkhorn_targets": "log domain (identical iterates)",
27
+ "vendored_commit": "73b290ba8c0709fa7dd4992eeda88171628d6bb2",
28
+ "versions": {
29
+ "torch": "2.5.1+cu124",
30
+ "numpy": "2.2.1",
31
+ "wandb": "0.19.1"
32
+ },
33
+ "device": "NVIDIA A100-PCIE-40GB",
34
+ "provenance": {
35
+ "tor_ot_commit": "b9c045807b7fbee37ab22a523e75bc3bbc076169",
36
+ "tor_ot_dirty": true,
37
+ "python": "3.12.15",
38
+ "executable": "/home/ivan/anaconda3/envs/env_unot/bin/python",
39
+ "platform": "Linux-6.8.0-138-generic-x86_64-with-glibc2.35"
40
+ }
41
+ }
baselines/unot/euclidean_eps0.01/generator.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:beb27a049f735baf49f85aebe9e4734941595dbbc301ac2db3e89cd46a396130
3
+ size 13789312
baselines/unot/euclidean_eps0.01/metrics.json ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "validation": {
3
+ "set": "val_simplex2d_euclidean",
4
+ "instances": 500,
5
+ "paper_mape_mean": 0.7710163460437718,
6
+ "paper_mape_median": 0.7651310466306106,
7
+ "row_violation_l1_mean": 2.1793333438916048e-08,
8
+ "col_violation_l1_mean": 0.6470750562478266,
9
+ "abs_cost_gap_mean": 0.03352212004773903,
10
+ "finite_fraction": 1.0
11
+ },
12
+ "train_seconds": 1100.8721661567688,
13
+ "parameters": 3268644,
14
+ "iterations": 10000,
15
+ "predictor_updates": 10000,
16
+ "non_finite_predictor_losses": 0,
17
+ "final_predictor_loss_mean_last_100": 12.550443811416626,
18
+ "batchnorm_recalibrated_on": "12800 finite generator samples (0 non-finite dropped)"
19
+ }
baselines/unot/euclidean_eps0.01/predictor.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e38287705ccb366e2682f264ef1023633ece05e5e319ffe6b0df90084b102223
3
+ size 13117440
baselines/unot/gaussian_eps0.01_w144/config.json ADDED
@@ -0,0 +1,41 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "method": "unot",
3
+ "cost": "gaussian",
4
+ "eps": 0.01,
5
+ "n": 36,
6
+ "dim": 2,
7
+ "seed": 0,
8
+ "hyperparameters": {
9
+ "lr": 0.01,
10
+ "weight_decay_generator": 0.0,
11
+ "weight_decay_predictor": 0.0001,
12
+ "gamma_generator": 1.0,
13
+ "gamma_predictor": 0.9999,
14
+ "batch_size": 64,
15
+ "nits": 10000,
16
+ "nits_mini_loop_generator": 1,
17
+ "nits_mini_loop_predictor": 1,
18
+ "sinkhorn_max_iterations": 5,
19
+ "num_layers": 3,
20
+ "length_latent": 10,
21
+ "dust_const": 1e-06,
22
+ "skip_const": 1.0,
23
+ "width": 144
24
+ },
25
+ "train_marginals": "UNOT's adversarial generator (no dataset), as in the official method",
26
+ "sinkhorn_targets": "log domain (identical iterates)",
27
+ "vendored_commit": "73b290ba8c0709fa7dd4992eeda88171628d6bb2",
28
+ "versions": {
29
+ "torch": "2.5.1+cu124",
30
+ "numpy": "2.2.1",
31
+ "wandb": "0.19.1"
32
+ },
33
+ "device": "NVIDIA A100-PCIE-40GB",
34
+ "provenance": {
35
+ "tor_ot_commit": "b9c045807b7fbee37ab22a523e75bc3bbc076169",
36
+ "tor_ot_dirty": true,
37
+ "python": "3.12.15",
38
+ "executable": "/home/ivan/anaconda3/envs/env_unot/bin/python",
39
+ "platform": "Linux-6.8.0-138-generic-x86_64-with-glibc2.35"
40
+ }
41
+ }
baselines/unot/gaussian_eps0.01_w144/generator.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:d1ac19634c248e2daef3c212ff7c4984868a2d2e47fa9500732d45326a3df219
3
+ size 427328
baselines/unot/gaussian_eps0.01_w144/metrics.json ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "validation": {
3
+ "set": "val_simplex2d_gaussian",
4
+ "instances": 500,
5
+ "paper_mape_mean": 0.8667829143279226,
6
+ "paper_mape_median": 0.8609271789295385,
7
+ "row_violation_l1_mean": 2.1793333412383664e-08,
8
+ "col_violation_l1_mean": 0.7243300167267797,
9
+ "abs_cost_gap_mean": 0.09239843748887588,
10
+ "finite_fraction": 1.0
11
+ },
12
+ "train_seconds": 659.0352730751038,
13
+ "parameters": 79524,
14
+ "iterations": 10000,
15
+ "predictor_updates": 10000,
16
+ "non_finite_predictor_losses": 0,
17
+ "final_predictor_loss_mean_last_100": 30.131474838256835,
18
+ "batchnorm_recalibrated_on": "12800 finite generator samples (0 non-finite dropped)"
19
+ }
baselines/unot/gaussian_eps0.01_w144/predictor.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:daeb29419504918302b5623684e9dd3645239e6dfcfa2155f3bdb721ca18fa4b
3
+ size 332736
baselines/unot/sqeuclidean_eps0.01_w144/config.json ADDED
@@ -0,0 +1,41 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "method": "unot",
3
+ "cost": "sqeuclidean",
4
+ "eps": 0.01,
5
+ "n": 36,
6
+ "dim": 2,
7
+ "seed": 0,
8
+ "hyperparameters": {
9
+ "lr": 0.01,
10
+ "weight_decay_generator": 0.0,
11
+ "weight_decay_predictor": 0.0001,
12
+ "gamma_generator": 1.0,
13
+ "gamma_predictor": 0.9999,
14
+ "batch_size": 64,
15
+ "nits": 10000,
16
+ "nits_mini_loop_generator": 1,
17
+ "nits_mini_loop_predictor": 1,
18
+ "sinkhorn_max_iterations": 5,
19
+ "num_layers": 3,
20
+ "length_latent": 10,
21
+ "dust_const": 1e-06,
22
+ "skip_const": 1.0,
23
+ "width": 144
24
+ },
25
+ "train_marginals": "UNOT's adversarial generator (no dataset), as in the official method",
26
+ "sinkhorn_targets": "log domain (identical iterates)",
27
+ "vendored_commit": "73b290ba8c0709fa7dd4992eeda88171628d6bb2",
28
+ "versions": {
29
+ "torch": "2.5.1+cu124",
30
+ "numpy": "2.2.1",
31
+ "wandb": "0.19.1"
32
+ },
33
+ "device": "NVIDIA A100-PCIE-40GB",
34
+ "provenance": {
35
+ "tor_ot_commit": "b9c045807b7fbee37ab22a523e75bc3bbc076169",
36
+ "tor_ot_dirty": true,
37
+ "python": "3.12.15",
38
+ "executable": "/home/ivan/anaconda3/envs/env_unot/bin/python",
39
+ "platform": "Linux-6.8.0-138-generic-x86_64-with-glibc2.35"
40
+ }
41
+ }
baselines/unot/sqeuclidean_eps0.01_w144/generator.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:9fc5bbd5c191063a7f5ee247c2ca499b58cebcf466d5bba2cf6af06d5161624a
3
+ size 427328
baselines/unot/sqeuclidean_eps0.01_w144/metrics.json ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "validation": {
3
+ "set": "val_simplex2d_sqeuclidean",
4
+ "instances": 500,
5
+ "paper_mape_mean": 0.9227674866907752,
6
+ "paper_mape_median": 0.9187091289427531,
7
+ "row_violation_l1_mean": 2.1793333416468553e-08,
8
+ "col_violation_l1_mean": 0.5871081061916796,
9
+ "abs_cost_gap_mean": 0.008746131607150119,
10
+ "finite_fraction": 1.0
11
+ },
12
+ "train_seconds": 658.9568598270416,
13
+ "parameters": 79524,
14
+ "iterations": 10000,
15
+ "predictor_updates": 10000,
16
+ "non_finite_predictor_losses": 0,
17
+ "final_predictor_loss_mean_last_100": 12.587937898635865,
18
+ "batchnorm_recalibrated_on": "12800 finite generator samples (0 non-finite dropped)"
19
+ }
baselines/unot/sqeuclidean_eps0.01_w144/predictor.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:9788fcdfff26b79823071cdb3e75d5c8bcab98cca86d9d575152d198db3bcedb
3
+ size 332736
baselines/unot/sqrt_euclidean_eps0.01/config.json ADDED
@@ -0,0 +1,41 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "method": "unot",
3
+ "cost": "sqrt_euclidean",
4
+ "eps": 0.01,
5
+ "n": 36,
6
+ "dim": 2,
7
+ "seed": 0,
8
+ "hyperparameters": {
9
+ "lr": 0.01,
10
+ "weight_decay_generator": 0.0,
11
+ "weight_decay_predictor": 0.0001,
12
+ "gamma_generator": 1.0,
13
+ "gamma_predictor": 0.9999,
14
+ "batch_size": 64,
15
+ "nits": 10000,
16
+ "nits_mini_loop_generator": 1,
17
+ "nits_mini_loop_predictor": 1,
18
+ "sinkhorn_max_iterations": 5,
19
+ "num_layers": 3,
20
+ "length_latent": 10,
21
+ "dust_const": 1e-06,
22
+ "skip_const": 1.0,
23
+ "width": 1024
24
+ },
25
+ "train_marginals": "UNOT's adversarial generator (no dataset), as in the official method",
26
+ "sinkhorn_targets": "log domain (identical iterates)",
27
+ "vendored_commit": "73b290ba8c0709fa7dd4992eeda88171628d6bb2",
28
+ "versions": {
29
+ "torch": "2.5.1+cu124",
30
+ "numpy": "2.2.1",
31
+ "wandb": "0.19.1"
32
+ },
33
+ "device": "NVIDIA A100-PCIE-40GB",
34
+ "provenance": {
35
+ "tor_ot_commit": "b9c045807b7fbee37ab22a523e75bc3bbc076169",
36
+ "tor_ot_dirty": true,
37
+ "python": "3.12.15",
38
+ "executable": "/home/ivan/anaconda3/envs/env_unot/bin/python",
39
+ "platform": "Linux-6.8.0-138-generic-x86_64-with-glibc2.35"
40
+ }
41
+ }
baselines/unot/sqrt_euclidean_eps0.01/generator.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:8c031c18f0ec18c52b070eb324a85d845148edaad7f21eb0bb91385ce19f8fe1
3
+ size 13789312
baselines/unot/sqrt_euclidean_eps0.01/metrics.json ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "validation": {
3
+ "set": "val_simplex2d_sqrt_euclidean",
4
+ "instances": 500,
5
+ "paper_mape_mean": 0.8049276410675595,
6
+ "paper_mape_median": 0.8038773890528728,
7
+ "row_violation_l1_mean": 2.179333341410435e-08,
8
+ "col_violation_l1_mean": 0.731193874708468,
9
+ "abs_cost_gap_mean": 0.0926930243704554,
10
+ "finite_fraction": 1.0
11
+ },
12
+ "train_seconds": 1100.6754524707794,
13
+ "parameters": 3268644,
14
+ "iterations": 10000,
15
+ "predictor_updates": 10000,
16
+ "non_finite_predictor_losses": 0,
17
+ "final_predictor_loss_mean_last_100": 21.89601837158203,
18
+ "batchnorm_recalibrated_on": "12800 finite generator samples (0 non-finite dropped)"
19
+ }
baselines/unot/sqrt_euclidean_eps0.01/predictor.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b2ec80b1427c1f07f99ed361688067b1304c5241cdd7ce470038087007a27b75
3
+ size 13117440
config.yaml ADDED
@@ -0,0 +1,56 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ data:
2
+ repo_id: ivanjaenm/torot_data_4M_2d
3
+ cache_dir: null
4
+ train_split: train
5
+ val_split: val
6
+ max_bins: 200
7
+ transpose_aug_prob: 0.5
8
+ residual_noise: 0.01
9
+ residual_leftover_prob: 0.25
10
+ residual_leftover_range:
11
+ - 1.0e-06
12
+ - 0.01
13
+ num_workers: 8
14
+ tokenizer:
15
+ mantissa_digits: 4
16
+ max_exponent: 9
17
+ model:
18
+ d_model: 768
19
+ n_heads: 12
20
+ enc_layers: 6
21
+ dec_layers: 12
22
+ d_ff: 2048
23
+ fourier_bands: 8
24
+ dropout: 0.0
25
+ max_seq_len: 4096
26
+ decoding: row
27
+ loss:
28
+ digit_weight_decay: 0.5
29
+ exponent_weight: 1.0
30
+ ordinal_eps: 0.05
31
+ z_loss: 0.0001
32
+ optim:
33
+ lr: 0.0001
34
+ betas:
35
+ - 0.9
36
+ - 0.95
37
+ weight_decay: 0.1
38
+ warmup_steps: 2000
39
+ max_steps: 627000
40
+ min_lr_ratio: 0.1
41
+ batch_size: 256
42
+ max_tokens: 32768
43
+ max_dec_tokens: 24576
44
+ grad_clip: 1.0
45
+ ema_decay: 0.999
46
+ run:
47
+ out_dir: experiments/torot/row_M_2d_mixed_support
48
+ seed: 0
49
+ log_every: 50
50
+ val_every: 5000
51
+ val_batches: 20
52
+ val_decode_instances: 256
53
+ max_decode_len: 2048
54
+ bf16: true
55
+ compile: false
56
+ resume: null
model.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:99bfdb2eedf149f2be416a4f69ad4ce37ed6b64a252c474b2cf95191fd6c92f5
3
+ size 630429520