Add library_name and improve model card with additional usage and links

#1
by nielsr HF Staff - opened
Files changed (1) hide show
  1. README.md +28 -7
README.md CHANGED
@@ -1,6 +1,7 @@
1
  ---
2
  license: gpl-3.0
3
  pipeline_tag: graph-ml
 
4
  tags:
5
  - gnn
6
  - sampling
@@ -12,6 +13,9 @@ tags:
12
 
13
  # dualGNN
14
 
 
 
 
15
  dualGNN is an autoregressive message-passing GNN for sampling fine, regular
16
  triangulations (FRTs) of convex lattice polytopes. It operates on a
17
  generalization of the dual graph of a triangulation, with edges labeled by
@@ -26,6 +30,8 @@ threefolds at $h^{1,1} = 86$ (consistent with uniformity at
26
  $h^{1,1} = 128$) -- an order of magnitude beyond previous learned methods
27
  with a ~1000x smaller model.
28
 
 
 
29
  ## Files
30
 
31
  | file | what it is |
@@ -58,14 +64,29 @@ path = hf_hub_download("natemacfadden/dualGNN", "reinforce.pt")
58
  net = DualGNN.from_ckpt(path)
59
  ```
60
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
61
  ## Links
62
 
63
- - **Paper:** [Sampling Triangulations and Calabi-Yau Threefolds with
64
- Autoregressive GNNs](https://arxiv.org/abs/2605.27770) (arXiv:2605.27770)
65
- - **Code / training scripts:**
66
- [github.com/natemacfadden/dualGNN](https://github.com/natemacfadden/dualGNN)
67
- - **Benchmark protocol** (evaluate your own sampler against dualGNN):
68
- [`eval/`](https://github.com/natemacfadden/dualGNN/tree/main/eval)
69
  - **Archive:** [doi:10.5281/zenodo.20622920](https://doi.org/10.5281/zenodo.20622920)
70
 
71
  ## Citation
@@ -81,4 +102,4 @@ net = DualGNN.from_ckpt(path)
81
  doi = {10.48550/arXiv.2605.27770},
82
  url = {https://arxiv.org/abs/2605.27770},
83
  }
84
- ```
 
1
  ---
2
  license: gpl-3.0
3
  pipeline_tag: graph-ml
4
+ library_name: dualgnn
5
  tags:
6
  - gnn
7
  - sampling
 
13
 
14
  # dualGNN
15
 
16
+ [![PyPI](https://img.shields.io/pypi/v/dualgnn)](https://pypi.org/project/dualgnn/)
17
+ [![Open in Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/natemacfadden/dualGNN/blob/main/tutorials/inference_demo.ipynb)
18
+
19
  dualGNN is an autoregressive message-passing GNN for sampling fine, regular
20
  triangulations (FRTs) of convex lattice polytopes. It operates on a
21
  generalization of the dual graph of a triangulation, with edges labeled by
 
30
  $h^{1,1} = 128$) -- an order of magnitude beyond previous learned methods
31
  with a ~1000x smaller model.
32
 
33
+ The model was presented in the paper [Sampling Triangulations and Calabi-Yau Threefolds with Autoregressive GNNs](https://arxiv.org/abs/2605.27770).
34
+
35
  ## Files
36
 
37
  | file | what it is |
 
64
  net = DualGNN.from_ckpt(path)
65
  ```
66
 
67
+ ### String Theory Application
68
+
69
+ Pair the 2D sampler with the [NTFE algorithm](https://arxiv.org/abs/2309.10855) to sample fine, regular, star triangulations (FRSTs) of a reflexive 4D polytope:
70
+
71
+ ```python
72
+ import numpy as np
73
+ from cytools import Polytope
74
+ from dualgnn.model import DualGNN
75
+ from dualgnn.ntfe import sample_ntfes
76
+
77
+ verts = [[-1, -1, -1, -1], [-1, -1, -1, 3], [-1, -1, 3, -1], [-1, 3, -1, -1],
78
+ [ 1, -1, -1, -1], [ 1, -1, -1, 3], [ 1, -1, 3, -1], [ 1, 3, -1, -1]]
79
+ poly = Polytope(np.array(verts, dtype=np.int64)) # reflexive, h11 = 86
80
+ net = DualGNN.default()
81
+ heights = sample_ntfes(poly, net, N=20, N_face_triangs=1_000, n_workers=4) # (20, npts) float64
82
+ ```
83
+
84
  ## Links
85
 
86
+ - **Paper:** [Sampling Triangulations and Calabi-Yau Threefolds with Autoregressive GNNs](https://arxiv.org/abs/2605.27770) (arXiv:2605.27770)
87
+ - **Code / training scripts:** [github.com/natemacfadden/dualGNN](https://github.com/natemacfadden/dualGNN)
88
+ - **Interactive Demo:** [Open in Colab](https://colab.research.google.com/github/natemacfadden/dualGNN/blob/main/tutorials/inference_demo.ipynb)
89
+ - **Benchmark protocol:** [`eval/`](https://github.com/natemacfadden/dualGNN/tree/main/eval)
 
 
90
  - **Archive:** [doi:10.5281/zenodo.20622920](https://doi.org/10.5281/zenodo.20622920)
91
 
92
  ## Citation
 
102
  doi = {10.48550/arXiv.2605.27770},
103
  url = {https://arxiv.org/abs/2605.27770},
104
  }
105
+ ```