graph LR
DataSource["DataSource"]
ReplayBuffer["ReplayBuffer"]
QM9Dataset["QM9Dataset"]
DataSource -- "uses" --> ReplayBuffer
DataSource -- "uses" --> QM9Dataset
GFN_Trainer -- "uses" --> DataSource
GFN_Tasks -- "uses" --> QM9Dataset
Environments -- "provides trajectories to" --> DataSource
Configuration_Management -- "configures" --> DataSource
Configuration_Management -- "configures" --> ReplayBuffer
The Data Management component is crucial for the GFlowNet framework as it underpins the entire training process by providing and managing the data necessary for learning. It handles the initial datasets and the dynamic storage of experience replay data, which is vital for the stability and efficiency of off-policy reinforcement learning algorithms used in GFlowNets.
The DataSource acts as a unified interface for providing data to the GFlowNet trainer. It can combine multiple data sources, such as samples generated by the GFlowNet model itself, data from a replay buffer, or pre-existing datasets. It orchestrates the sampling process, computes properties and rewards for trajectories, and manages the flow of data to the training algorithms.
Related Classes/Methods:
The ReplayBuffer stores past trajectories (experiences) generated by the GFlowNet model. It allows for efficient sampling of these experiences, which is critical for off-policy learning algorithms like those used in GFlowNets. By re-using past data, it helps to decorrelate samples, improve data efficiency, and stabilize training.
Related Classes/Methods:
QM9Dataset is a concrete implementation of a dataset handler specifically for the QM9 dataset, a widely used benchmark in computational chemistry for molecular property prediction. It loads molecular data (SMILES strings) and their associated properties (e.g., 'gap') from HDF5 or XYZ files, converting them into a format usable by the GFlowNet.
Related Classes/Methods: