Skip to main content

A prioritized sampling tool.

Project description

# Priority Memory

A prioritized sampling tool for priority memory replay.

The implementation is based on sum tree, or segmentation tree.

- Set the priority of each sample at anytime.
- When you do not know the priority of the sample, you can append
them to the buffer, and they will show up in the next sampling batch.
- When the buffer is full, drop the samples with lowest priority.

The time complexity for sampling a batch with batch size m
from a dataset with n samples is O(mlogn), for setting priority
for the batch is O(mlogn).


# Usage

> pip install priority_memory

```python

from priority_memory import FastPriorReplayBuffer

buffer = FastPriorReplayBuffer(8000)
buffer.append(features=[0.1, 0.1, 0.1], prior=1)
buffer.append(features=[0.2, 0.2, 0.2], prior=2)
buffer.append(features=[0.3, 0.3, 0.3], prior=3)
buffer.append(features=[0.4, 0.4, 0.4], prior=4)
indexes, data, weights = buffer.sample_with_weights(batch_size=2)

mae = [10, 20]
buffer.set_weights(indexes, mae)

```

Project details


Download files

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

Source Distribution

priority_memory-0.0.2.tar.gz (7.4 kB view details)

Uploaded Source

File details

Details for the file priority_memory-0.0.2.tar.gz.

File metadata

  • Download URL: priority_memory-0.0.2.tar.gz
  • Upload date:
  • Size: 7.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.18.4 setuptools/38.4.0 requests-toolbelt/0.8.0 tqdm/4.23.1 CPython/3.6.4

File hashes

Hashes for priority_memory-0.0.2.tar.gz
Algorithm Hash digest
SHA256 902b9cf6050a723a8659709151ee1ac7ed38a90553f2ddd3bbfdd6310d6c98f8
MD5 638d02e54949b6ec71f2762b008a7247
BLAKE2b-256 c88ee5ba48ab51e7f4255016aa9c8f1e1843d38e3826f682462ede90b49b62fd

See more details on using hashes here.

Supported by

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