Releases: GFNOrg/torchgfn
Releases · GFNOrg/torchgfn
v2.3.0
What's Changed
- Multinode training: timing profiles, seeding, distributed asynchronous training (including selective policy averaging) by @josephdviviano, @chirayuharyan, @younik in #260, #335, #418, #341, #395, #401, #403, #411, #417, #420
- Move to
PolicyMixinto factorizeSamplerandEstimatorlogic by @josephdviviano in #413 and #410 - Diffusion Sampling by @hyeok9855 and @josephdviviano in #419
- Simplification and enhancement of node classes in graph sampling by @younik in #386, #387
- Expanded off policy sampling methods by @josephdviviano in #388
- Efficient TerminatingStateBuffer by @hyeok9855 in #392
- hypergrid refactor by @josephdviviano in #402
- Misc fixes by @hyeok9855, @josephdviviano in #391, #397, #399, #398
Full Changelog: v2.2.2...v2.3.0
v2.2.2
v2.2.1
What's Changed
Full Changelog: v2.2.0...v2.2.1
v2.2.0
High Level
- Added Generative Augmented Flow Networks example (https://arxiv.org/abs/2210.03308), which specifies intermediate rewards with intrinsic motivation to help with the exploration problem in sparse reward environments.
- Extended graph functionality (e.g., add nodes as an action).
- More efficient autoregressive GFN training.
What's Changed
- Add GAFN for hypergrid with sparse reward by @hyeok9855 in #375
- Add graph example with add node action by @younik in #378
- Misc efficiency improvements by @hyeok9855 in #376
- Simplify GraphActionGNN by @younik in #382
- Don't allow removal of nodes with edges by @younik in #381
- minor change to allow for pb to be None when the gflownet's DAG is a tree by @josephdviviano in #371
Full Changelog: v2.1.1...v2.2.0
v2.1.1
What's Changed
- Add custom mRNA codon design environment by @ayalaajil in #350
- Fix broken conditional training script by @saleml in #372
New Contributors
- @ayalaajil made their first contribution in #350
Full Changelog: v2.1.0...v2.1.1
v2.1.0
What's Changed
- Documentation updates by @hyeok9855 in #352
- Rename GFNModule to Estimator. (removing the notion of
GFNModulesfrom the library entirely) by @hyeok9855 in #353 - consistent dtype handling library-wide by @josephdviviano in #358
- typing consistency fixes library-wide
- misc minor fixes
Full Changelog: v2.0.1...v2.1.0
v2.0.1
What's Changed
- Multiple improvements to replay buffers.
- Support for conditional GFNs.
- Support for graph-based states (using
torch_geometric). - Major improvements supporting reproducible experiments in distributed settings.
- Various quality of life improvements, small features, optimizations, and refactorings.
- Complete type safety - library-wide adherence to pyright, while dropping
torchtyping. - Improved documentation.
- Addition of many new environments in
gfn/gym. - Addition of new tutorials and examples demonstrating advanced usage of
torchgfn. - Reproduction of DAG-GFlowNet (Bayesian Structure learning, Deleu et al., 2022).
- Local search sampler (Local Search GFlowNets, Kim et al., 2024).
New Contributors
- @inelgnu made their first contribution in #192
- @younik made their first contribution in #202
- @hyeok9855 made their first contribution in #203
- @alexandrelarouche made their first contribution in #232
- @Idriss-Malek made their first contribution in #236
- @emirceyani made their first contribution in #240
- @alip67 made their first contribution in #210
Full Changelog: v1.2.1...v2.0.1
New Replay Buffer, Computation Caching, Helper Functions, and Tutorials
- License / Readme updates.
- Updates to package requirements.
- Addition of a Prioritised Replay Buffer.
- GFlowNets now optionally
save_logprobsorestimator_outputs-- this is to prevent unnecessary re-computation (depending on whether you are performing on-policy or off-policy learning). - Added
self.logF*_parameters()methods to help when passing to a dedicated optimizer (differently from saypfandpb. - Helper functions (e.g.,
stack_states). - Improved tutorials - new use-cases and improved notebooks.
v1.2 Substantial Updates to Environment Definition and Sampling
- Sampling now saves estimator outputs to avoid recomputation.
- The user no longer has to define a class factory when defining environments.
- New examples added.
- Other small quality of life improvements to prevent silent bugs (often these require the user to more explicitly define expected behaviours when sampling etc).
Version 1.1.1
Bug fix : #134
- From now on, the published version (on pypi) and the release should correspond to the
stablebranch