Dear numpy community,
I'm happy to announce the first public release of einops package.
einops is a new way to manipulate tensors.
Examples with numpy worth a thousand words:
einops introduces a special notation which includes composition and decomposition of axes.
This notation allows non-trivial rearrangement of elements, which can be combined with reductions.
Goal of the project is to provide a way to write a more readable and maintainable code with additional checks,
which works consistently and uniformly across a set of popular tensor packages.
It should also complement well existing deep learning packages when operations are missing
or when extensive usage of transpose/reshapes/broadcasts drives to hardly readable and (frequently) buggy code.
Would be happy to hear feedback.
Regards,
Alex Rogozhnikov