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)
```
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
Release history Release notifications | RSS feed
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)
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
902b9cf6050a723a8659709151ee1ac7ed38a90553f2ddd3bbfdd6310d6c98f8
|
|
| MD5 |
638d02e54949b6ec71f2762b008a7247
|
|
| BLAKE2b-256 |
c88ee5ba48ab51e7f4255016aa9c8f1e1843d38e3826f682462ede90b49b62fd
|