This package provides 2 utilities:
cut2min_bucket.DatasetWrapperto eliminate padding and cut to min size in batchcut2min_bucket.BucketBatchSamplera batch sampler that buckets by input length.
In addition, we provide a Distributed Data Parallel version of the batch sampler: cut2min_bucket.DistributedBucketBatchSampler.
A detailed motivation for this package can be found on my blog.
Simple example:
import cut2min_bucket
import torch
import numpy as np
X = []
for _ in range(10000):
X.append(torch.tensor(np.random.randn(torch.randint(size=(), low=2, high=1000),)))
seqlens = torch.tensor([len(x) for x in X])
X = torch.nn.utils.rnn.pad_sequence(X, batch_first=True)
y = (torch.rand(10000)>0.5).int()
dataset = torch.utils.data.TensorDataset(X, y)
dataset = cut2min_bucket.DatasetWrapper(
dataset, seqlens,
index_or_key=0
)
batch_sampler = cut2min_bucket.BucketBatchSampler(
dataset,
seqlens,
batch_size=8,
n_partitions=5
)
dataloader = torch.utils.data.DataLoader(
dataset,
batch_sampler=batch_sampler,
collate_fn=dataset.collate_fn,
)
next(iter(dataloader))
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
cut2min_bucket-0.1.3.tar.gz
(7.5 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file cut2min_bucket-0.1.3.tar.gz.
File metadata
- Download URL: cut2min_bucket-0.1.3.tar.gz
- Upload date:
- Size: 7.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
92c039ed45fdbcab29ce3d390a76623b70afed6c071bdff1eac3f758dae54095
|
|
| MD5 |
86453eaede946f72b3117f6cc9672ebd
|
|
| BLAKE2b-256 |
a331596dd32e1ffc0c13212bb508294dc2388278c583be3f2faecd879e04162f
|
File details
Details for the file cut2min_bucket-0.1.3-py3-none-any.whl.
File metadata
- Download URL: cut2min_bucket-0.1.3-py3-none-any.whl
- Upload date:
- Size: 6.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1df4c7c3c00c74c2e28c27b89d308f9786b1d40f7c2c22b67c41217a29d40581
|
|
| MD5 |
872be1c9144719002654cdbe665d3f22
|
|
| BLAKE2b-256 |
269d5b56814174d6f7717c4b761ecf2e3742fdb4809200cc19efb9bc3fc0e474
|