torch-einops-utils
Some utility functions to help myself (and perhaps others) go faster with ML/AI work
maybe_return
return just the primary output by default, extras only on request
from torch_einops_utils import maybe_return
@maybe_return('memories')
def forward(self, ids, return_memories = False):
memories = build_memories(ids) if return_memories else None
return backbone(ids), memories
model(ids) # logits
model(ids, return_memories = True) # Output(logits, memories)
logits, memories = model(ids, return_memories = True) # unpacks
any number of extras, individually or all at once
@maybe_return('memories', 'hiddens')
def forward(self, ids, return_memories = False, return_hiddens = False):
...
return logits, memories, hiddens
model(ids, return_hiddens = True) # Output(logits, hiddens)
model(ids, return_all = True) # Output(logits, memories, hiddens)
primary may be a tuple of names, or a callable receiving the bound call arguments, for when the shape of the primary depends on the mode
def primary_fields(kwargs):
if not kwargs.get('return_loss', False):
return ('logits', 'memory') if kwargs.get('return_memory', False) else 'logits'
return ('loss', 'loss_mask') if not kwargs.get('reduce_loss', False) else 'loss'
@maybe_return('pooled_repr', primary = primary_fields)
def forward(self, ids, return_loss = False, return_memory = False, reduce_loss = False, return_pooled_repr = False):
...
if return_loss:
return loss, loss_mask, pooled_repr
return logits, memory, pooled_repr
model(ids) # logits
logits, memory = model(ids, return_memory = True)
loss, loss_mask = model(ids, return_loss = True)
loss = model(ids, return_loss = True, reduce_loss = True)
loss, pooled = model(ids, return_loss = True, reduce_loss = True, return_pooled_repr = True)
Metadata
Release files for torch-einops-utils 0.1.38
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| torch_einops_utils-0.1.38.tar.gz | 28.8 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| torch_einops_utils-0.1.38-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 47.5 kB
Release files / torch_einops_utils-0.1.38.tar.gz
| Download URL | torch_einops_utils-0.1.38.tar.gz |
|---|---|
| Size | 28.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
28926fd6d765a83e1609feb76152c3d5f59131049b7a04b08cd20200c4e68635
|
|
BLAKE2b-256 checksum How to use checksums |
c4ff6d1ee7187b685e51338d49f52d80184c328eba1c969397f92996bd40bc69
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.8.17
|
Release files / torch_einops_utils-0.1.38-py3-none-any.whl
| Download URL | torch_einops_utils-0.1.38-py3-none-any.whl |
|---|---|
| Size | 18.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
cab36c7a8c512522d76a58b22b54edf4e0c8f8c49cd5c397c4cf7408afe383e0
|
|
BLAKE2b-256 checksum How to use checksums |
4e11ce928f4b018c53eb3126fc0d84b02ccf9d6cf5d93bf35cad22bb2f5970f8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.8.17
|
Security for torch-einops-utils 0.1.38
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.