Skip to main content

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


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)

Uploaded Source

Built Distribution

einop-0.0.1-py3-none-any.whl (3.0 kB view hashes)

Uploaded Python 3

Supported by

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