You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Mar 11, 2026. It is now read-only.
Repository navigation
This repository was archived by the owner on Mar 11, 2026. It is now read-only.
This will likely come after we finalize our build automation and toolchain, but wanted to start an issue for visibility. When the time comes we will enable anaconda installs using conda-forge.
Hi @jjhelmus -- we're starting the process of packaging tensorflow/addons in conda and wanted to ask a few questions to see if you could guide us.
Is conda-forge the best channel for us?
It looks like there is a conda-forge/tensorflow and anaconda/tensorflow. Which dependency should we build against? (I think the conda-forge docs say to avoid external channel dependencies?)
Do you have an idea what the lag time is for tensorflow packages to show up on conda? (i.e. how long after tf2 release will we be able to build our conda package which depends on tf2?) It looks like conda-forge/tensorflow is still 1.13
I'm 90% sure the answer is yes, but there will be issues with GPU support given the state of nvidia licensing (doesn't support OSS projects like conda-forge).
We're definitely in a stange place with wanting to support both CPU and GPU work. I think this is a very good question that we need to resolve.
The lag time for conda-forge is about an hour after the pull request is merged. However, the review cycle can take up to a week.
PS I still think it would be good to see if @jjhelmus agrees.
conda-forge is the largest community-led packaging community and would make an ideal channel to use and contribute too (note that I am on the conda-forge core team so I might be bias). Another option is to create your own channel and publish packages there.
Some organizations like pytorch and rapids find this flexibility useful. Using your own channel will require you to setup the necessary infrastructure for producing packages and users may find it harder to find your packages than if they were on conda-forge.
This depends on how addons interacts with tensorflow. If the interaction is via Python only then either channel should be fine. If you make use of the C/C++ components then you will need to take care to match the ABI used by the channel.
With the newer 1.13 builds conda-forge's linux-64 package is build from source using the conda compilers. The osx-64 and win-64 packages are repackaged wheels. The packages in defaults have been built from source using the conda provided compilers for a number of versions.
Only defaults provides a GPU package at this time. The package name is the same, tensorflow, but the tensorflow-gpu metapackage can be used to select the GPU variant.
Please avoid using the anaconda channel. It is a mixture of the two subchannels which make up defaults but without any subchannel priority which is needed for reliable solutions.
For conda-forge packages the time between a release and conda packages depends on entirely on volunteers.
For defaults the time depends on where the package is prioritized by Anaconda, Inc. Typically packages are build within 2 weeks but this depends greatly on the difficulty of the build and other team priorities. Given the large number of changes in TF 2.0 I would not be surprised if the lag for that release is longer than normal.
Thanks for all the feedback everyone. So to answer one question: Addons does indeed utilize the pre-compiled libtensorflow_framework.so for our C++ op linking.
Just want verify my understanding from the above information is correct:
It seems like packaging in conda-forge will be ideal
We should link to defaults channel's tensorflow making sure we match the ABI that TF was compiled against
Should we also encourage users to install cudatoolkit if they want GPU support? Currently the plan is to link to tensorflow-gpu and use CPU fallback in case it is not available. In 2.1 these packages will be consolidated.
We are blocked on this issue until a TF2 full release is made and subsequent package is distributed on conda
This is quite a bit more difficult than we originally suspected. A more complete investigation can be found for SIG IO who has the same goal: tensorflow/io#676
A more immediate fix would be the completion of tensorflow/community#133 so that you can have a conda installed TF and a pip install TFA.
Okey I see, many thanks. The problem is rather that we're having a downstream package zfit which we also like to publish on conda-forge (or rather, which we do, but adding TFA as a dependency breaks this)
Can we maybe reopen this? The problem with all these channels is that they are not in conda-forge. In practice, many people have conda-forge added to the default. Packages in conda-forge cannot just depend on other channels. So to have a downstream package in conda-forge, in reality, the upstream package is also needed in conda forge.
Since there are many channels, it would be good to let the community move it together. Can we maybe use this thread to organize this?
I managed to get this to build and run the test suite, there's only a handful of tests that fail with some off-by-one errors. I'd really appreciate some input from the maintainers about these (and you'd be very welcome to co-maintain the conda-forge package! 😊)
Hi @h-vetinari thank you very much for your work on this. I've re-opened this issue seeing the progress you've made on the conda forge PR. Given our bandwidth for maintainers on this repo we'll be unable to support this ourselves but we're happy to onboard someone who would like to own this feature. We know this is a commonly requested feature. Please keep us updated on this progress.
Not so far, sorry. I didn't get any feedback from the maintainers here on the errors I noted above. But I can try to revive the PR and cross my fingers that those are gone with a newer version.
Ah, sorry, I had misremembered the situation from conda-forge/staged-recipes#16888. Letting bazel find a pre-installed (i.e. conda-forge-packaged) tensorflow looked to be extremely painful, and I didn't try to bash my head against this particular wall. Happy to receive help/guidance on this of course!
TensorFlow Addons is transitioning to a minimal maintenance and release mode. New features will not be added to this repository. For more information, please see our public messaging on this decision: TensorFlow Addons Wind Down
Please consider sending feature requests / contributions to other repositories in the TF community with a similar charters to TFA: Keras Keras-CV Keras-NLP
Activity
kyleabeauchamp commentedon Apr 24, 2019
As a starting point, I made a WIP PR to get a conda package for TF2 nightly: conda-forge/tensorflow-feedstock#68
Smokrow commentedon Sep 9, 2019
Can I help with anything?
seanpmorgan commentedon Sep 10, 2019
Hi @jjhelmus -- we're starting the process of packaging tensorflow/addons in conda and wanted to ask a few questions to see if you could guide us.
kyleabeauchamp commentedon Sep 10, 2019
PS I still think it would be good to see if @jjhelmus agrees.
xhochy commentedon Sep 11, 2019
As a conda-forge maintainer (not part of core though), I would answer:
jjhelmus commentedon Sep 11, 2019
conda-forge is the largest community-led packaging community and would make an ideal channel to use and contribute too (note that I am on the conda-forge core team so I might be bias). Another option is to create your own channel and publish packages there.
Some organizations like
pytorchandrapidsfind this flexibility useful. Using your own channel will require you to setup the necessary infrastructure for producing packages and users may find it harder to find your packages than if they were on conda-forge.This depends on how addons interacts with tensorflow. If the interaction is via Python only then either channel should be fine. If you make use of the C/C++ components then you will need to take care to match the ABI used by the channel.
With the newer 1.13 builds conda-forge's linux-64 package is build from source using the conda compilers. The osx-64 and win-64 packages are repackaged wheels. The packages in
defaultshave been built from source using the conda provided compilers for a number of versions.Only
defaultsprovides a GPU package at this time. The package name is the same,tensorflow, but thetensorflow-gpumetapackage can be used to select the GPU variant.Please avoid using the
anacondachannel. It is a mixture of the two subchannels which make updefaultsbut without any subchannel priority which is needed for reliable solutions.For conda-forge packages the time between a release and conda packages depends on entirely on volunteers.
For
defaultsthe time depends on where the package is prioritized by Anaconda, Inc. Typically packages are build within 2 weeks but this depends greatly on the difficulty of the build and other team priorities. Given the large number of changes in TF 2.0 I would not be surprised if the lag for that release is longer than normal.seanpmorgan commentedon Sep 12, 2019
Thanks for all the feedback everyone. So to answer one question: Addons does indeed utilize the pre-compiled libtensorflow_framework.so for our C++ op linking.
Just want verify my understanding from the above information is correct:
defaultschannel'stensorflowmaking sure we match the ABI that TF was compiled againstcudatoolkitif they want GPU support? Currently the plan is to link to tensorflow-gpu and use CPU fallback in case it is not available. In 2.1 these packages will be consolidated.Smokrow commentedon Sep 16, 2019
Should we add like a "WiP" or "blocked" Label or something like that?
seanpmorgan commentedon Oct 28, 2019
This is now unblocked as TF2 is on conda.
jonas-eschle commentedon Jul 12, 2020
Hi all, what's the status of this?
seanpmorgan commentedon Jul 14, 2020
This is quite a bit more difficult than we originally suspected. A more complete investigation can be found for SIG IO who has the same goal:
tensorflow/io#676
A more immediate fix would be the completion of tensorflow/community#133 so that you can have a conda installed TF and a pip install TFA.
jonas-eschle commentedon Jul 14, 2020
Okey I see, many thanks. The problem is rather that we're having a downstream package zfit which we also like to publish on conda-forge (or rather, which we do, but adding TFA as a dependency breaks this)
seanpmorgan commentedon Mar 29, 2021
Given our availability, we have decided to let the community package Addons on Conda. There are several channels:
https://anaconda.org/search?q=Addons+tensorflow
jonas-eschle commentedon Jun 3, 2021
Can we maybe reopen this? The problem with all these channels is that they are not in conda-forge. In practice, many people have conda-forge added to the default. Packages in conda-forge cannot just depend on other channels. So to have a downstream package in conda-forge, in reality, the upstream package is also needed in conda forge.
Since there are many channels, it would be good to let the community move it together. Can we maybe use this thread to organize this?
h-vetinari commentedon Nov 11, 2021
For those interested, I opened a PR to add this to conda-forge: conda-forge/staged-recipes#16888
h-vetinari commentedon Nov 12, 2021
Hey all
I managed to get this to build and run the test suite, there's only a handful of tests that fail with some off-by-one errors. I'd really appreciate some input from the maintainers about these (and you'd be very welcome to co-maintain the conda-forge package! 😊)
Here's a CI run that has the full logs.
Sample error
jonas-eschle commentedon Nov 12, 2021
@seanpmorgan can we re-open this issue maybe?
jonas-eschle commentedon Dec 7, 2021
@kyleabeauchamp could you maybe re-open this issue since there is progress by @h-vetinari?
seanpmorgan commentedon Dec 16, 2021
Hi @h-vetinari thank you very much for your work on this. I've re-opened this issue seeing the progress you've made on the conda forge PR. Given our bandwidth for maintainers on this repo we'll be unable to support this ourselves but we're happy to onboard someone who would like to own this feature. We know this is a commonly requested feature. Please keep us updated on this progress.
jonas-eschle commentedon Jun 9, 2022
@h-vetinari any news on this?
h-vetinari commentedon Jul 10, 2022
Not so far, sorry. I didn't get any feedback from the maintainers here on the errors I noted above. But I can try to revive the PR and cross my fingers that those are gone with a newer version.
h-vetinari commentedon Jul 10, 2022
Ah, sorry, I had misremembered the situation from conda-forge/staged-recipes#16888. Letting bazel find a pre-installed (i.e. conda-forge-packaged)
tensorflowlooked to be extremely painful, and I didn't try to bash my head against this particular wall. Happy to receive help/guidance on this of course!seanpmorgan commentedon Mar 1, 2023
TensorFlow Addons is transitioning to a minimal maintenance and release mode. New features will not be added to this repository. For more information, please see our public messaging on this decision:
TensorFlow Addons Wind Down
Please consider sending feature requests / contributions to other repositories in the TF community with a similar charters to TFA:
Keras
Keras-CV
Keras-NLP