Skip to content

Commit

Permalink
Merge pull request #266 from arogozhnikov/release-070rc1
Browse files Browse the repository at this point in the history
release 0.7.0rc1, highlight changes in README
  • Loading branch information
arogozhnikov committed Jul 8, 2023
2 parents ef4028c + 952f066 commit f656128
Show file tree
Hide file tree
Showing 4 changed files with 44 additions and 44 deletions.
63 changes: 31 additions & 32 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ Supports numpy, pytorch, tensorflow, jax, and [others](#supported-frameworks).

## Recent updates:

- 0.7.0rc1: no-hassle `torch.compile`, support of [array api standard](https://data-apis.org/array-api/latest/API_specification/index.html) and more
- 10'000: github reports that more than 10k project use einops 🎂
- see how to use einops with [torch.compile](https://github.com/arogozhnikov/einops/wiki/Using-torch.compile-with-einops)
- einops 0.6.1: paddle backend added
Expand All @@ -38,13 +39,11 @@ Supports numpy, pytorch, tensorflow, jax, and [others](#supported-frameworks).
Talk recordings are [available](https://iclr.cc/virtual/2022/oral/6603)


<details>
<summary>Previous updates</summary>


- flax and oneflow backend added
- torch.jit.script is supported for pytorch layers
- powerful EinMix added to einops. [Einmix tutorial notebook](https://github.com/arogozhnikov/einops/blob/master/docs/3-einmix-layer.ipynb)
<details markdown="1">
<summary>Previous updates</summary>
- flax and oneflow backend added
- torch.jit.script is supported for pytorch layers
- powerful EinMix added to einops. [Einmix tutorial notebook](https://github.com/arogozhnikov/einops/blob/master/docs/3-einmix-layer.ipynb)
</details>

<!--<div align="center">
Expand Down Expand Up @@ -167,30 +166,29 @@ from einops.layers.keras import Rearrange, Reduce
from einops.layers.chainer import Rearrange, Reduce
```

<details>
<summary>Example of using layers within a pytorch model</summary>


```python
# example given for pytorch, but code in other frameworks is almost identical
from torch.nn import Sequential, Conv2d, MaxPool2d, Linear, ReLU
from einops.layers.torch import Rearrange

model = Sequential(
...,
Conv2d(6, 16, kernel_size=5),
MaxPool2d(kernel_size=2),
# flattening without need to write forward
Rearrange('b c h w -> b (c h w)'),
Linear(16*5*5, 120),
ReLU(),
Linear(120, 10),
)
```

No more flatten needed!

Additionally, torch users will benefit from layers as those are script-able and compile-able.
<details markdown="1">
<summary>Example of using layers within a pytorch model</summary>
Example given for pytorch, but code in other frameworks is almost identical

```python
from torch.nn import Sequential, Conv2d, MaxPool2d, Linear, ReLU
from einops.layers.torch import Rearrange

model = Sequential(
...,
Conv2d(6, 16, kernel_size=5),
MaxPool2d(kernel_size=2),
# flattening without need to write forward
Rearrange('b c h w -> b (c h w)'),
Linear(16*5*5, 120),
ReLU(),
Linear(120, 10),
)
```

No more flatten needed!

Additionally, torch users will benefit from layers as those are script-able and compile-able.
</details>


Expand Down Expand Up @@ -324,6 +322,7 @@ Einops works with ...
- [flax](https://github.com/google/flax) (experimental)
- [paddle](https://github.com/PaddlePaddle/Paddle) (experimental)

Additionally, starting from einops 0.7.0 einops can be used with any framework that supports [Python array API standard](https://data-apis.org/array-api/latest/API_specification/index.html)

## Citing einops <a name="Citing"></a>

Expand All @@ -343,4 +342,4 @@ Please use the following bibtex record

## Supported python versions

`einops` works with python 3.7 or later.
`einops` works with python 3.8 or later.
2 changes: 1 addition & 1 deletion einops/__init__.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
__author__ = 'Alex Rogozhnikov'
__version__ = '0.6.2rc'
__version__ = '0.7.0rc1'


class EinopsError(RuntimeError):
Expand Down
1 change: 1 addition & 0 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ markdown_extensions:
- admonition
- codehilite
- pymdownx.arithmatex
- markdown.extensions.md_in_html
plugins:
- search
- mkdocstrings
Expand Down
22 changes: 11 additions & 11 deletions scripts/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,25 +2,25 @@
This is a fake script, it is not used.
Seems github does not count contributions unless you have a setup.py
"""
__author__ = 'Alex Rogozhnikov'
__author__ = "Alex Rogozhnikov"

from setuptools import setup

setup(
name="einops",
version='0.6.2rc',
version="0.7.0rc1",
description="A new flavour of deep learning operations",
long_description=open('README.md', encoding='utf-8').read(),
long_description_content_type='text/markdown',
url='https://github.com/arogozhnikov/einops',
author='Alex Rogozhnikov',
long_description=open("README.md", encoding="utf-8").read(),
long_description_content_type="text/markdown",
url="https://github.com/arogozhnikov/einops",
author="Alex Rogozhnikov",
classifiers=[
'Intended Audience :: Science/Research',
'Programming Language :: Python :: 3 ',
'License :: OSI Approved :: MIT License',
"Intended Audience :: Science/Research",
"Programming Language :: Python :: 3 ",
"License :: OSI Approved :: MIT License",
],
keywords='deep learning, neural networks, tensor manipulation, machine learning, '
'scientific computations, einops',
keywords="deep learning, neural networks, tensor manipulation, machine learning, "
"scientific computations, einops",
install_requires=[
# no run-time or installation-time dependencies
],
Expand Down

0 comments on commit f656128

Please sign in to comment.