Skip to content

Commit

Permalink
Update implementation_notes.md (#112)
Browse files Browse the repository at this point in the history
Update implementation_notes.md


Co-authored-by: lazaratan <lazar.atanackovic@recursionpharma.com>
  • Loading branch information
bengioe and lazaratan authored Jan 17, 2024
1 parent e6b7906 commit 609352d
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions docs/implementation_notes.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Implementation notes

This repo is centered around training GFlowNets that produce graphs. While we intend to specialize towards building molecules, we've tried to keep the implementation moderately agnostic to that fact, which makes it able to support other graph-generation environments.
This repo is centered around training GFlowNets that produce graphs, although sequences are also supported. While we intend to specialize towards building molecules, we've tried to keep the implementation moderately agnostic to that fact, which makes it able to support other graph-generation environments.

## Environment, Context, Task, Trainers

Expand Down Expand Up @@ -33,4 +33,4 @@ The code contains a specific categorical distribution type for graph actions, `G

Consider for example the `AddNode` and `SetEdgeAttr` actions, one applies to nodes and one to edges. An efficient way to produce logits for these actions would be to take the node/edge embeddings and project them (e.g. via an MLP) to a `(n_nodes, n_node_actions)` and `(n_edges, n_edge_actions)` tensor respectively. We thus obtain a list of tensors representing the logits of different actions, but logits are mixed between graphs in the minibatch, so one cannot simply apply a `softmax` operator on the tensor.

The `GraphActionCategorical` class handles this and can be used to compute various other things, such as entropy, log probabilities, and so on; it can also be used to sample from the distribution.
The `GraphActionCategorical` class handles this and can be used to compute various other things, such as entropy, log probabilities, and so on; it can also be used to sample from the distribution.

0 comments on commit 609352d

Please sign in to comment.