Skip to content

Update documentation regarding compatibility #1562

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 4 commits into from
Apr 5, 2020
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 26 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -63,11 +63,33 @@ import tensorflow as tf
import tensorflow_addons as tfa
```

### Python Op Compatility
TensorFlow Addons is actively working towards forward compatiblity with TF2.x.
However there are still a few private API uses within the respository so at the moment
we can only gurentee compatibility with the version of TF which it was built against.
Warnings will be emitted during TFA import if your TensorFlow version does not match
what it was built against.

### C++ Op Compatibility
TensorFlow C++ APIs are not stable and thus we can only guarentee compatibility with the
version TFA was built against. It is possible custom-ops will work with multiple
versions of TF, but there is also a chance for segfault or other problematic crash.
Warnings will be emitted during TFA import if your TensorFlow version does not match
what it was built against.

Additionally, registering custom-ops does not have an ABI stable interface so it is
required that users have a compatible installation of TensorFlow even if the versions
match what we had build against. A simplification of this is that **TensorFlow Addons
custom-ops will work with pip installed TensorFlow** but will have issues with TF
compiled differently. A typical reason for this would be conda installed TensorFlow.
[RFC #133](https://github.com/tensorflow/community/pull/133) aims to fix this.


#### Linux Build Matrix
| Version | Compatible With |Python versions | Compiler | cuDNN | CUDA |
|:----------------------- |:---|:---------- |:---------|:---------|:---------|
| tfa-nightly | tensorflow==2.1.0 | 3.5-3.7 | GCC 7.3.1 | 7.6 | 10.1 |
| tensorflow-addons-0.8.2 | tensorflow==2.1.0 |3.5-3.7 | GCC 7.3.1 | 7.6 | 10.1 |
| tensorflow-addons-0.8.3 | tensorflow==2.1.0 |3.5-3.7 | GCC 7.3.1 | 7.6 | 10.1 |
| tensorflow-addons-0.7.1 | tensorflow==2.1.0 | 2.7, 3.5-3.7 | GCC 7.3.1 | 7.6 | 10.1 |
| tensorflow-addons-0.6.0 | tensorflow==2.0.0 | 2.7, 3.5-3.7 | GCC 7.3.1 | 7.4 | 10.0 |

Expand Down Expand Up @@ -113,8 +135,9 @@ TF-Addons. In order to achieve these we require that our additions
conform to established API patterns seen in core TensorFlow.

#### GPU/CPU Custom-Ops
A major benefit of TensorFlow Addons is that there are precompiled ops for CPU/GPU.
Currently however, GPU custom ops only work for Linux distributions. For this reason Windows and MacOS will fallback to pure TensorFlow Python implementations whenever possible.
TensorFlow Addons supports precompiled custom ops for CPU/GPU. Currently however,
GPU custom ops only work for Linux distributions. For this reason Windows and MacOS
will fallback to pure TensorFlow Python implementations whenever possible.

The order of priority in MacOS/Windows:
1) Pure TensorFlow + Python implementation (work on cpu+gpu)
Expand Down