gflownet
gflownet copied to clipboard
GFlowNet library specialized for graph & molecular data
The function obj_to_graph takes forever to generate graphs for some molecules even though the are of the same size as the molecules that it can randomly sample. So it takes...
This PR implements a better way of sharing torch tensors between process by creating (large enough) shared tensors that are created once are used as a transfer mechanism. Doing this...
Fixes a few bugs when using Envelope Q-learning probably introduced gradually over time (we don't run it very often).
Adding SCScorer in gflownet/models. This might be a more interesting metric / reward to use for synthetic accessibility than SA-score, see: https://pubs.acs.org/doi/abs/10.1021/acs.jcim.7b00622. (not for immediate use but I had been...
This PR makes it possible to have a separate set of parameters for P_B by setting `cfg.model.do_separate_p_b`. It also introduces `cfg.algo.min_len`, which defaults to `0` and prevents and agent from...
Current multiprocessing/threading routines are not explicitly stopped, they just rely on the objects they belong to to be garbage collected to stop. This sometimes causes aesthetically displeasing logs where all...
Right now setting the multiprocessing start method causes things to not work. The code jumps from the cycle method to MPObjectProxy's getattr and it does not make any sense.
I've been using this environment to "debug" gflownets. PR not ready yet but this branch may be useful for others.
Masks are currently used somewhat ad-hoc here and there, in particular: - `GraphSampler` explicitly uses them, but it should be abstracted away - `GraphTransformerGFN` and derivatives end up applying masks...