No project description provided
Project description
Einop
One op to rule them all
Einop is a very thin wrapper around einops that combines rearrange
, reduce
, and repeat
into a single einop
function. This library is a port of arogozhnikov/einops#91 by Miles Cranmer into a separate library, if at some point that PR is merged use einop
directly from einops instead.
Installation
pip install einop
Usage
import numpy as np
from einop import einop
x = np.random.uniform(size=(10, 20))
y = einop(x, "height width -> batch width height", batch=32)
assert y.shape == (32, 20, 10)
Rearrange
einop(x, 'i j k -> k i j').shape
>>> (3, 100, 5)
Reduction
import numpy as np
from einops import einop
x = np.random.randn(100, 5, 3)
einop(x, 'i j k -> i j', reduction='sum').shape
>>> (100, 5)
Repeat
einop(x, 'i j k -> i j k l', l=10).shape
(100, 5, 3, 10)
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
einop-0.0.1.tar.gz
(3.1 kB
view hashes)
Built Distribution
einop-0.0.1-py3-none-any.whl
(3.0 kB
view hashes)