From fccef6337e56e2216e4de4e215a750b631f978ee Mon Sep 17 00:00:00 2001 From: Jama Hussein Mohamud Date: Mon, 23 Sep 2024 15:13:28 -0400 Subject: [PATCH 01/10] ignore logs --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 64a683331..91f7303f8 100644 --- a/.gitignore +++ b/.gitignore @@ -15,3 +15,4 @@ playground/ !docs/requirements-docs.txt .DS_Store docs/_build/ +logs \ No newline at end of file From 2f713d25b75e183d16a3e7a8afcf064331235a7a Mon Sep 17 00:00:00 2001 From: Jama Hussein Mohamud Date: Wed, 25 Sep 2024 14:24:50 -0400 Subject: [PATCH 02/10] Add the specific versions of pymatgen and spglib --- prereq_ci.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/prereq_ci.sh b/prereq_ci.sh index 2aec7a616..0590333a5 100755 --- a/prereq_ci.sh +++ b/prereq_ci.sh @@ -5,3 +5,4 @@ python -m pip install torch==2.0.1 python -m pip install dgl==1.1.3+cu118 python -m pip install dglgo==0.0.2 python -m pip install pyg_lib==0.3.1 torch_scatter==2.1.2 torch_sparse==0.6.18 torch_geometric==2.4.0 torch_cluster==1.6.3 torch_spline_conv==1.2.2 -f https://data.pyg.org/whl/torch-2.0.0+cpu.html +python -m pip install pymatgen==2024.5.1 spglib==2.4.0 \ No newline at end of file From cbc028ef216c3261cad5e6325d8969b99fa0b310 Mon Sep 17 00:00:00 2001 From: Jama Hussein Mohamud Date: Wed, 25 Sep 2024 16:56:27 -0400 Subject: [PATCH 03/10] revert version downgrade of pymatgen --- prereq_ci.sh | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/prereq_ci.sh b/prereq_ci.sh index 0590333a5..4ca1afb19 100755 --- a/prereq_ci.sh +++ b/prereq_ci.sh @@ -4,5 +4,4 @@ python -m pip install --ignore-installed six appdirs python -m pip install torch==2.0.1 python -m pip install dgl==1.1.3+cu118 python -m pip install dglgo==0.0.2 -python -m pip install pyg_lib==0.3.1 torch_scatter==2.1.2 torch_sparse==0.6.18 torch_geometric==2.4.0 torch_cluster==1.6.3 torch_spline_conv==1.2.2 -f https://data.pyg.org/whl/torch-2.0.0+cpu.html -python -m pip install pymatgen==2024.5.1 spglib==2.4.0 \ No newline at end of file +python -m pip install pyg_lib==0.3.1 torch_scatter==2.1.2 torch_sparse==0.6.18 torch_geometric==2.4.0 torch_cluster==1.6.3 torch_spline_conv==1.2.2 -f https://data.pyg.org/whl/torch-2.0.0+cpu.html \ No newline at end of file From feba5e6d7de3d62b06c917ad1cf5b89835a6ea92 Mon Sep 17 00:00:00 2001 From: Jama Hussein Mohamud Date: Thu, 24 Oct 2024 19:12:05 -0400 Subject: [PATCH 04/10] update documentation structure --- README.md | 4 +-- docs/Makefile | 2 +- docs/index.rst | 10 -------- docs/source/.gitignore | 1 + docs/{ => source}/_static/css/custom.css | 0 .../_static/images/gflownet-logo-32.png | Bin .../_static/images/gflownet-logo.png | Bin .../{ => source}/_static/images/github-pr.png | Bin .../{ => source}/_templates/autoapi/index.rst | 0 .../_templates/autoapi/python/attribute.rst | 0 .../_templates/autoapi/python/class.rst | 0 .../_templates/autoapi/python/data.rst | 0 .../_templates/autoapi/python/exception.rst | 0 .../_templates/autoapi/python/function.rst | 0 .../_templates/autoapi/python/method.rst | 0 .../_templates/autoapi/python/module.rst | 0 .../_templates/autoapi/python/package.rst | 0 .../_templates/autoapi/python/property.rst | 0 docs/source/advanced/stack_enviroments.rst | 3 +++ docs/{ => source}/conf.py | 2 +- .../figures}/reward_landscape.png | Bin .../figures}/tetris_flows.png | Bin docs/source/get_started/colabs.rst | 5 ++++ docs/source/get_started/introduction.rst | 2 ++ docs/source/index.rst | 24 ++++++++++++++++++ docs/source/install/installation.rst | 2 ++ docs/source/tutorials/add_enviroment.rst | 2 ++ docs/source/tutorials/grid_enviroment.rst | 2 ++ docs/tutorial.rst | 10 -------- 29 files changed, 45 insertions(+), 24 deletions(-) delete mode 100644 docs/index.rst create mode 100644 docs/source/.gitignore rename docs/{ => source}/_static/css/custom.css (100%) rename docs/{ => source}/_static/images/gflownet-logo-32.png (100%) rename docs/{ => source}/_static/images/gflownet-logo.png (100%) rename docs/{ => source}/_static/images/github-pr.png (100%) rename docs/{ => source}/_templates/autoapi/index.rst (100%) rename docs/{ => source}/_templates/autoapi/python/attribute.rst (100%) rename docs/{ => source}/_templates/autoapi/python/class.rst (100%) rename docs/{ => source}/_templates/autoapi/python/data.rst (100%) rename docs/{ => source}/_templates/autoapi/python/exception.rst (100%) rename docs/{ => source}/_templates/autoapi/python/function.rst (100%) rename docs/{ => source}/_templates/autoapi/python/method.rst (100%) rename docs/{ => source}/_templates/autoapi/python/module.rst (100%) rename docs/{ => source}/_templates/autoapi/python/package.rst (100%) rename docs/{ => source}/_templates/autoapi/python/property.rst (100%) create mode 100644 docs/source/advanced/stack_enviroments.rst rename docs/{ => source}/conf.py (99%) rename docs/{images => source/figures}/reward_landscape.png (100%) rename docs/{images => source/figures}/tetris_flows.png (100%) create mode 100644 docs/source/get_started/colabs.rst create mode 100644 docs/source/get_started/introduction.rst create mode 100644 docs/source/index.rst create mode 100644 docs/source/install/installation.rst create mode 100644 docs/source/tutorials/add_enviroment.rst create mode 100644 docs/source/tutorials/grid_enviroment.rst delete mode 100644 docs/tutorial.rst diff --git a/README.md b/README.md index eb4641345..207157ca6 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ gflownet is a library built upon [PyTorch](https://pytorch.org/) to easily train In a nutshell, GFlowNets can be regarded as a generative model designed to sample objects $x \in \mathcal{X}$ proportionally to a reward function $R(x)$. This results in the potential of sampling diverse objects with high rewards. For example, given the reward landscape depicted below, defined over a two-dimensional space, a well-trained GFlowNet will be able to sample from the four high-reward corners with high probability.

- +

GFlowNets rely on the principle of **compositionality** to generate samples. A meaningful decomposition of samples $x$ into multiple intermediate states $s_0\rightarrow s_1 \rightarrow \dots \rightarrow x$ can yield generalisable patterns. These patterns can then be learned by neural networks trained to model the value of transitions $F_{\theta}(s_t \rightarrow s_{t+1})$. @@ -13,7 +13,7 @@ GFlowNets rely on the principle of **compositionality** to generate samples. A m Consider the problem of generating [Tetris](https://en.wikipedia.org/wiki/Tetris)-like boards. A natural decomposition of the sample generation process would be to add one piece at a time, starting from an empty board. For any state representing a board with pieces, we could identify its valid parents and children, as illustrated in the figure below.

- +

We could define a reward function $R(x)$ as the number of cells occupied by pieces, for instance. The goal of training a GFlowNet on this task would be to discover (sample) diverse solutions (boards with pieces) with high rewards. This represents an intuitive yet complex problem where GFlowNets can be used, which is [implemented in this library](https://github.com/alexhernandezgarcia/gflownet/blob/ahg/313-update-readme-components/gflownet/envs/tetris.py). Many problems in scientific discoveries, such as the inverse design of proteins, molecules, or crystals share similarties with this intuitive task. diff --git a/docs/Makefile b/docs/Makefile index d4bb2cbb9..92dd33a1a 100644 --- a/docs/Makefile +++ b/docs/Makefile @@ -5,7 +5,7 @@ # from the environment for the first two. SPHINXOPTS ?= SPHINXBUILD ?= sphinx-build -SOURCEDIR = . +SOURCEDIR = source BUILDDIR = _build # Put it first so that "make" without argument is like "make help". diff --git a/docs/index.rst b/docs/index.rst deleted file mode 100644 index c8087658a..000000000 --- a/docs/index.rst +++ /dev/null @@ -1,10 +0,0 @@ -.. include:: ../README.md - :parser: myst_parser.sphinx_ - -.. toctree:: - :hidden: - :maxdepth: 4 - - self - tutorial - contributors/index diff --git a/docs/source/.gitignore b/docs/source/.gitignore new file mode 100644 index 000000000..3fe20bec0 --- /dev/null +++ b/docs/source/.gitignore @@ -0,0 +1 @@ +generated/ \ No newline at end of file diff --git a/docs/_static/css/custom.css b/docs/source/_static/css/custom.css similarity index 100% rename from docs/_static/css/custom.css rename to docs/source/_static/css/custom.css diff --git a/docs/_static/images/gflownet-logo-32.png b/docs/source/_static/images/gflownet-logo-32.png similarity index 100% rename from docs/_static/images/gflownet-logo-32.png rename to docs/source/_static/images/gflownet-logo-32.png diff --git a/docs/_static/images/gflownet-logo.png b/docs/source/_static/images/gflownet-logo.png similarity index 100% rename from docs/_static/images/gflownet-logo.png rename to docs/source/_static/images/gflownet-logo.png diff --git a/docs/_static/images/github-pr.png b/docs/source/_static/images/github-pr.png similarity index 100% rename from docs/_static/images/github-pr.png rename to docs/source/_static/images/github-pr.png diff --git a/docs/_templates/autoapi/index.rst b/docs/source/_templates/autoapi/index.rst similarity index 100% rename from docs/_templates/autoapi/index.rst rename to docs/source/_templates/autoapi/index.rst diff --git a/docs/_templates/autoapi/python/attribute.rst b/docs/source/_templates/autoapi/python/attribute.rst similarity index 100% rename from docs/_templates/autoapi/python/attribute.rst rename to docs/source/_templates/autoapi/python/attribute.rst diff --git a/docs/_templates/autoapi/python/class.rst b/docs/source/_templates/autoapi/python/class.rst similarity index 100% rename from docs/_templates/autoapi/python/class.rst rename to docs/source/_templates/autoapi/python/class.rst diff --git a/docs/_templates/autoapi/python/data.rst b/docs/source/_templates/autoapi/python/data.rst similarity index 100% rename from docs/_templates/autoapi/python/data.rst rename to docs/source/_templates/autoapi/python/data.rst diff --git a/docs/_templates/autoapi/python/exception.rst b/docs/source/_templates/autoapi/python/exception.rst similarity index 100% rename from docs/_templates/autoapi/python/exception.rst rename to docs/source/_templates/autoapi/python/exception.rst diff --git a/docs/_templates/autoapi/python/function.rst b/docs/source/_templates/autoapi/python/function.rst similarity index 100% rename from docs/_templates/autoapi/python/function.rst rename to docs/source/_templates/autoapi/python/function.rst diff --git a/docs/_templates/autoapi/python/method.rst b/docs/source/_templates/autoapi/python/method.rst similarity index 100% rename from docs/_templates/autoapi/python/method.rst rename to docs/source/_templates/autoapi/python/method.rst diff --git a/docs/_templates/autoapi/python/module.rst b/docs/source/_templates/autoapi/python/module.rst similarity index 100% rename from docs/_templates/autoapi/python/module.rst rename to docs/source/_templates/autoapi/python/module.rst diff --git a/docs/_templates/autoapi/python/package.rst b/docs/source/_templates/autoapi/python/package.rst similarity index 100% rename from docs/_templates/autoapi/python/package.rst rename to docs/source/_templates/autoapi/python/package.rst diff --git a/docs/_templates/autoapi/python/property.rst b/docs/source/_templates/autoapi/python/property.rst similarity index 100% rename from docs/_templates/autoapi/python/property.rst rename to docs/source/_templates/autoapi/python/property.rst diff --git a/docs/source/advanced/stack_enviroments.rst b/docs/source/advanced/stack_enviroments.rst new file mode 100644 index 000000000..56586571f --- /dev/null +++ b/docs/source/advanced/stack_enviroments.rst @@ -0,0 +1,3 @@ +Stacked Enviroment +=================== +This tutorial demonstrates how to use more than one enviroments one time or what we call stacked enviroments... diff --git a/docs/conf.py b/docs/source/conf.py similarity index 99% rename from docs/conf.py rename to docs/source/conf.py index 0a275b706..f474503cc 100644 --- a/docs/conf.py +++ b/docs/source/conf.py @@ -17,7 +17,7 @@ import sys from pathlib import Path -ROOT = Path(__file__).resolve().parent.parent +ROOT = Path(__file__).resolve().parent.parent.parent sys.path.insert(0, str(ROOT)) # -- Project information ----------------------------------------------------- diff --git a/docs/images/reward_landscape.png b/docs/source/figures/reward_landscape.png similarity index 100% rename from docs/images/reward_landscape.png rename to docs/source/figures/reward_landscape.png diff --git a/docs/images/tetris_flows.png b/docs/source/figures/tetris_flows.png similarity index 100% rename from docs/images/tetris_flows.png rename to docs/source/figures/tetris_flows.png diff --git a/docs/source/get_started/colabs.rst b/docs/source/get_started/colabs.rst new file mode 100644 index 000000000..aab6f53a7 --- /dev/null +++ b/docs/source/get_started/colabs.rst @@ -0,0 +1,5 @@ +Colab Notebooks and Video Tutorials +============ + +List of tutorials +----------------- diff --git a/docs/source/get_started/introduction.rst b/docs/source/get_started/introduction.rst new file mode 100644 index 000000000..eea8168fa --- /dev/null +++ b/docs/source/get_started/introduction.rst @@ -0,0 +1,2 @@ +Introduction by Example +======================= \ No newline at end of file diff --git a/docs/source/index.rst b/docs/source/index.rst new file mode 100644 index 000000000..d742f984f --- /dev/null +++ b/docs/source/index.rst @@ -0,0 +1,24 @@ +gflownet Documentation +====================== + +Welcome to the documentation for **gflownet**, a library built upon `PyTorch `_ to facilitate training and extending Generative Flow Networks (GFlowNets) for a wide range of applications, particularly in scientific discovery problems. + +.. toctree:: + :maxdepth: 2 + :caption: Install gflownet + + install/installation + +.. toctree:: + :maxdepth: 2 + :caption: Get Started + + get_started/introduction + get_started/tutorials + +.. toctree:: + :maxdepth: 2 + :caption: Tutorials + + tutorials/grid_environment + tutorials/add_enviroment \ No newline at end of file diff --git a/docs/source/install/installation.rst b/docs/source/install/installation.rst new file mode 100644 index 000000000..e50cd8d4b --- /dev/null +++ b/docs/source/install/installation.rst @@ -0,0 +1,2 @@ +Installation +============ \ No newline at end of file diff --git a/docs/source/tutorials/add_enviroment.rst b/docs/source/tutorials/add_enviroment.rst new file mode 100644 index 000000000..6309df43e --- /dev/null +++ b/docs/source/tutorials/add_enviroment.rst @@ -0,0 +1,2 @@ +How to add custom enviroment +============ \ No newline at end of file diff --git a/docs/source/tutorials/grid_enviroment.rst b/docs/source/tutorials/grid_enviroment.rst new file mode 100644 index 000000000..4ac22b6c5 --- /dev/null +++ b/docs/source/tutorials/grid_enviroment.rst @@ -0,0 +1,2 @@ +Grid Enviroment tutorial +============ \ No newline at end of file diff --git a/docs/tutorial.rst b/docs/tutorial.rst deleted file mode 100644 index 0d9fde514..000000000 --- a/docs/tutorial.rst +++ /dev/null @@ -1,10 +0,0 @@ -.. - This ``.rst`` file contains a short tutorial on how to use the `gflownet` library - It starts with a title called "Tutorial" and then a short description of the - library. Then it shows how to use the library with a simple example. It is entirely - written using the ``.rst`` syntax. - -Tutorial -======== - -This is a short, example-driven introduction to the ``gflownet`` library. From 6ae003aad017fc8a97e8f74e4c448256fff3ea60 Mon Sep 17 00:00:00 2001 From: Jama Hussein Mohamud Date: Tue, 5 Nov 2024 16:26:39 -0500 Subject: [PATCH 05/10] add image on the side bar --- docs/source/conf.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/source/conf.py b/docs/source/conf.py index f474503cc..e5ed6f961 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -70,8 +70,8 @@ html_css_files = [ "css/custom.css", ] -html_favicon = "./_static/images/gflownet-logo-32.png" - +html_favicon = "./_static/images/gflownet-logo.png" +html_logo = "./figures/reward_landscape.png" # ----------------------------- # ----- Plugins configs ----- # ----------------------------- From bda1bf13ca2bbfddc8476cd4714a662b1762f2ea Mon Sep 17 00:00:00 2001 From: Jama Hussein Mohamud Date: Tue, 5 Nov 2024 16:27:05 -0500 Subject: [PATCH 06/10] add few more sections --- docs/source/index.rst | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/docs/source/index.rst b/docs/source/index.rst index d742f984f..b0deace49 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -1,4 +1,4 @@ -gflownet Documentation +GFlowNets Documentation ====================== Welcome to the documentation for **gflownet**, a library built upon `PyTorch `_ to facilitate training and extending Generative Flow Networks (GFlowNets) for a wide range of applications, particularly in scientific discovery problems. @@ -14,11 +14,17 @@ Welcome to the documentation for **gflownet**, a library built upon `PyTorch Date: Tue, 5 Nov 2024 16:27:22 -0500 Subject: [PATCH 07/10] minor custom modifications --- docs/source/_static/css/custom.css | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/docs/source/_static/css/custom.css b/docs/source/_static/css/custom.css index b48211545..291569639 100644 --- a/docs/source/_static/css/custom.css +++ b/docs/source/_static/css/custom.css @@ -1,3 +1,22 @@ .sidebar-container { width: 20em !important; } + +.sidebar-brand img { + display: block; + margin: 0 auto 0.5rem auto; + padding-top: 1rem; + width: 80%; + height: auto; +} + +/* To make toctree captions bold */ +.caption .caption-text { + font-weight: bold; +} + +/* To change the color of the first title on the page */ +.article-container>article>section>h1 { + color: #904e3d; + /* Example: Google blue */ +} \ No newline at end of file From 5146f182a1aaf1e532a3b29b6c4200d23f0a8410 Mon Sep 17 00:00:00 2001 From: Jama Hussein Mohamud Date: Tue, 5 Nov 2024 16:27:38 -0500 Subject: [PATCH 08/10] change API Reference to Package Reference --- docs/source/_templates/autoapi/index.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/_templates/autoapi/index.rst b/docs/source/_templates/autoapi/index.rst index 8c1fe15fb..4da09e3cf 100644 --- a/docs/source/_templates/autoapi/index.rst +++ b/docs/source/_templates/autoapi/index.rst @@ -1,4 +1,4 @@ -API Reference +Package Reference ============= This page contains auto-generated API reference documentation [#f1]_ for the ``gflownet`` package. From 89c1c01fb16201d065c8d154dc0758985107bdf6 Mon Sep 17 00:00:00 2001 From: Jama Hussein Mohamud Date: Tue, 5 Nov 2024 16:27:59 -0500 Subject: [PATCH 09/10] add content for the installation section --- docs/source/install/installation.rst | 75 +++++++++++++++++++++++++++- 1 file changed, 74 insertions(+), 1 deletion(-) diff --git a/docs/source/install/installation.rst b/docs/source/install/installation.rst index e50cd8d4b..b2153172b 100644 --- a/docs/source/install/installation.rst +++ b/docs/source/install/installation.rst @@ -1,2 +1,75 @@ Installation -============ \ No newline at end of file +============ + +This section provides detailed instructions on how to install **gflownet**. Ensure your system meets the following requirements before proceeding with the installation. + +Requirements +------------ + +* **Python Version:** Python 3.10 is required. +* **CUDA Version:** CUDA 11.8 is needed for GPU acceleration. +* **Operating System:** The setup is primarily supported on Ubuntu. The installation may work on OSX with manual handling of package dependencies. + +Quick Installation +------------------ + +For a quick installation, clone the repository and execute the setup script: + +.. code-block:: bash + + git clone git@github.com:alexhernandezgarcia/gflownet.git + cd gflownet + ./setup_all.sh + +Detailed Installation +--------------------- + +If you prefer a more controlled installation or need to customize the environment, follow these steps: + +1. **Create a Virtual Environment:** + + .. code-block:: bash + + python3.10 -m venv ~/envs/gflownet # Initialize your virtual environment. + +2. **Activate the Virtual Environment:** + + .. code-block:: bash + + source ~/envs/gflownet/bin/activate # Activate your environment. + +3. **Install Ubuntu Prerequisites:** + + .. code-block:: bash + + ./prereq_ubuntu.sh # Installs some packages required by dependencies. + +4. **Install Python Prerequisites:** + + .. code-block:: bash + + ./prereq_python.sh # Installs Python packages with specific wheels. + +5. **Optional: Install Geometric Dependencies:** + + .. code-block:: bash + + ./prereq_geometric.sh # OPTIONAL - for the molecule environment. + +6. **Install gflownet:** + + .. code-block:: bash + + pip install .[all] # Install the remaining elements of this package. + +Optional Packages +----------------- + +You can also install additional optional packages tailored for specific functionalities: + +* **Development Tools:** Install with `dev` tag. +* **Materials Science Dependencies:** Install with `materials` tag. +* **Molecular Environment Packages:** Install with `molecules` tag. + +The `all` tag installs all dependencies, which is the simplest and recommended option if you require full functionality. + From 2a53543ae727ea5492258824ad8e0d11a49bfc3f Mon Sep 17 00:00:00 2001 From: Jama Hussein Mohamud Date: Tue, 5 Nov 2024 18:54:59 -0500 Subject: [PATCH 10/10] add sample introduction --- docs/source/get_started/introduction.rst | 39 +++++++++++++++++++++++- 1 file changed, 38 insertions(+), 1 deletion(-) diff --git a/docs/source/get_started/introduction.rst b/docs/source/get_started/introduction.rst index eea8168fa..ad2904509 100644 --- a/docs/source/get_started/introduction.rst +++ b/docs/source/get_started/introduction.rst @@ -1,2 +1,39 @@ Introduction by Example -======================= \ No newline at end of file +======================= + +Welcome to the introduction of **gflownet**, a library designed to facilitate training and extending Generative Flow Networks (GFlowNets) for a wide range of applications, especially in scientific discovery. GFlowNets provide a framework for probabilistic and generative modeling. + +What are GFlowNets? +------------------- + +Generative Flow Networks, or GFlowNets, are a type of generative model that sample objects $x \in \mathcal{X}$ proportionally to a reward function $R(x)$. This framework is particularly suited for applications where the goal is to generate diverse high-reward samples, such as in scientific discovery. + +.. image:: ../figures/reward_landscape.png + :align: center + :width: 400 + :alt: Reward landscape + +The model learns to transition between states in a way that the frequency of generating any given state is proportional to its reward. For instance, a GFlowNet trained on a 2D space with four high-reward areas would learn to sample those areas more frequently. + +Compositionality and Sampling +------------------------------ + +GFlowNets utilize compositionality by decomposing samples $x$ into sequences of intermediate states, such as: + +.. image:: ../figures/tetris_flows.png + :align: center + :width: 400 + :alt: Tetris flows + +In the example of generating Tetris-like boards, each board configuration is built by adding one piece at a time, starting from an empty board. Each intermediate state has potential "parents" and "children," forming a directed graph over states, where each edge (transition from one state to another) is modeled and learned. + + +Key Components +-------------- + +**gflownet** comprises several core components essential for its operation: + +- **Environment**: Defines the state and action spaces for tasks, such as the Tetris or Scrabble environments. +- **Proxy**: Manages the reward function logic, essential for evaluating states. +- **Policy Models**: Neural networks that model the transitions between states. +- **GFlowNet Agent**: Orchestrates interactions between the environment, policies, and proxy, among other functions. \ No newline at end of file