Skip to main content

Graph-RL

Graph-RL is a hierarchical reinforcement learning (HRL) framework that emphasizes modularity and flexibility. The user can define a hierarchy by specifying a directed graph where the nodes correspond to what is usually referred to as level or layer in the literature. Each node consists of an algorithm (responsible for learning), a subtask (responsible for observation, goal and reward generation) and a policy (generates the output of the node). This design allows the user to tailor a hierarchy to a reinforcement learning environment and unlocks the modularity inherent in HRL.

Diagram illustrating graph structure of hierarchy

When evaluating the hierarchical policy, the graph is traversed from the root node to one of the leaf nodes. In general, the output of the parent node modulates the policy of the child node. In case of more than one child node, the policy of the parent node chooses which edge to follow. When a leaf node is reached, an atomic action from the action space of the environment is sampled.

The child nodes that have been traversed in this forward pass can then report back feedback to their parent nodes. This backward pass enables hindsight operations during learning (e.g. hindsight action relabeling).

Every node that has been traversed (starting from the leaf node that sampled the atomic action) can furthermore decide whether to return control to its parent or stay active (in which case the forward pass in the next environment step will start there). Control can also be reclaimed by every traversed parent node, e.g., if it achieved its subgoal.

Installation

With python3.7 or higher run

pip install graph_rl

Usage

Using Graph-RL requires specifying the hierarchy via a graph. A way to get started quickly is to use graph classes that automatically generate the whole graph when provided with the subtask specifications for each node. Alternatively, a graph can be constructed manually by instantiating nodes and defining parent child relations. Please refer to the scripts provided in the demos folder for further information.

At the moment the algorithms "Hierarchical Actor-Critic" (HAC) and "Hierarchical reinforcement learning with Timed Subgoals" (HiTS) are available.

Metadata

Release files for Graph-RL 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for Graph-RL 0.1.2
File Size Uploaded Provenance
Graph_RL-0.1.2.tar.gz 42.2 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for Graph-RL 0.1.2
File Interpreter ABI Platform
Graph_RL-0.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 111.0 kB

Release files / Graph_RL-0.1.2.tar.gz

Download URL Graph_RL-0.1.2.tar.gz
Size 42.2 kB
Tags Source
SHA-256 checksum
How to use checksums
c27150e0c7f822b29a971a4d4bc327b86db06b9dda54f2b04f944a38d6e929f2
BLAKE2b-256 checksum
How to use checksums
36532fb96854ffeded9e2b6425bd54e140fa74e235122749a227a0b85d896a04
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.8.10

Release files / Graph_RL-0.1.2-py3-none-any.whl

Download URL Graph_RL-0.1.2-py3-none-any.whl
Size 68.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a31c627cb8a3a5e8937e115a0a5fa06549f5ffac4c470e09186d299cabaa8571
BLAKE2b-256 checksum
How to use checksums
f6856692f5714ed61639775ecf821874a74d0b75cae4044c4a79a67dcfa98390
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.8.10

Security for Graph-RL 0.1.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page