tutorials.examples.train_graph_triangle¶
Minimal training example for a graph-building environment with node addition.
This script demonstrates training a GFlowNet on a generic graph-building task where the policy can ADD_NODE, ADD_EDGE, or EXIT. The reward here encourages forming an undirected triangle (3 nodes, 3 edges).
- Run:
python tutorials/examples/train_graph_build_nodes.py –device cpu –plot
Attributes¶
Classes¶
Reward high if the graph is an undirected triangle, else a small epsilon. |
Functions¶
|
|
|
|
|
|
|
Module Contents¶
- class tutorials.examples.train_graph_triangle.TriangleReward(reward_val=100.0, eps_val=1e-06, device='cpu')¶
Reward high if the graph is an undirected triangle, else a small epsilon.
Undirected triangle: exactly 3 nodes and edges {(0,1),(1,2),(0,2)} ignoring labels.
- Parameters:
reward_val (float)
eps_val (float)
device (torch.device | str)
- __call__(states)¶
- Parameters:
states (gfn.states.GraphStates)
- Return type:
torch.Tensor
- device¶
- eps_val = 1e-06¶
- reward_val = 100.0¶
- tutorials.examples.train_graph_triangle.init_env(device)¶
- Parameters:
device (torch.device)
- Return type:
- tutorials.examples.train_graph_triangle.init_gflownet(env, embedding_dim, num_conv_layers, device)¶
- Parameters:
embedding_dim (int)
num_conv_layers (int)
device (torch.device)
- Return type:
- tutorials.examples.train_graph_triangle.main(args)¶
- Parameters:
args (argparse.Namespace)
- Return type:
None
- tutorials.examples.train_graph_triangle.parser¶
- tutorials.examples.train_graph_triangle.render_states(states, evaluator)¶
- Parameters:
states (gfn.states.GraphStates)
evaluator (Callable[[gfn.states.GraphStates], torch.Tensor])