Skip to main content

Make recommendations for sequential decision problems using offline data

Project description

Amazon Accessible RL SDK

[ Documentation | PyPI | Blog-01 | Blog-02 (coming soon) ]

Amazon Accessible RL (A2RL) is an open-source Python package for sequential decision making problem using offline time-series data. It focuses on offline RL using state-of-the-art generative transformer technology – the same technology behind GATO, trajectory transformer and decision transformer.

A2RL guides you through problem formulation via data frames API, conduct initial data analysis to see if a solution is possible, use the data to train a simulator (aka digital twin) based on the data, and providing recommended actions.

Installation

pip install a2rl

Usage

You should start by formulating your problem into states, actions, and rewards (see the online documentation). Then, prepare a dataset that reflects the formulation, using A2RL's Pandas-like API.

A synthetic dataset is included to help you quickly jump into the end-to-end workflow:

import a2rl as wi
from a2rl.utils import plot_information

# Load a sample dataset which contains historical states, actions, and rewards.
wi_df = wi.read_csv_dataset(wi.sample_dataset_path("chiller")).trim().add_value()
wi_df = wi_df.iloc[:1000]  # Reduce data size for demo purpose

# Checks and analysis
plot_information(wi_df)

# Train a simulator
tokenizer = wi.AutoTokenizer(wi_df, block_size_row=2)
builder = wi.GPTBuilder(tokenizer, model_dir="my-model", )
model = builder.fit()
simulator = wi.Simulator(tokenizer, model, max_steps=100, reset_coldstart=2)

# Get recommended actions given an input context (s,a,r,v,...s).
# Context must end with states, and its members must be tokenized.
custom_context = simulator.tokenizer.df_tokenized.sequence[:7]
recommendation_df = simulator.sample(custom_context, 3)

# Show recommendations (i.e., trajectory)
recommendation_df

For more examples, see notebooks/ (pre-rendered versions here), and the A2RL blog series: part-1 and part-2 (coming soon).

Help and Support

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

a2rl-1.2.0-py3-none-any.whl (214.5 kB view details)

Uploaded Python 3

File details

Details for the file a2rl-1.2.0-py3-none-any.whl.

File metadata

  • Download URL: a2rl-1.2.0-py3-none-any.whl
  • Upload date:
  • Size: 214.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.3

File hashes

Hashes for a2rl-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3dd0e6edb70f64976873ef227a74e7f4f8e35dc95b27e1535f1c008ae6f720a2
MD5 2e6275b975645f78047c5d85e7f90ddf
BLAKE2b-256 4cef130a18d160e0ccb5ddf95ae74d9fa850032e94093053143e2fc4c895f623

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page