Giter Club home page Giter Club logo

Comments (17)

hmaarrfk avatar hmaarrfk commented on July 18, 2024 1

issue transfered to keras-tuner feedstock since it seems that the constraint is coming from here.

from keras-tuner-feedstock.

sh-shahrokhi avatar sh-shahrokhi commented on July 18, 2024 1

Sorry, no can you make a new PR and remove the limit, please? And increase the Conda recipe version, too.

done. I increased build number from 0 to 1

from keras-tuner-feedstock.

sh-shahrokhi avatar sh-shahrokhi commented on July 18, 2024 1

Would you please merge it? it passed the tests

Sorry, no can you make a new PR and remove the limit, please? And increase the Conda recipe version, too.

from keras-tuner-feedstock.

h-vetinari avatar h-vetinari commented on July 18, 2024

The limit here is wrong. Or perhaps only "wrong", as in: not suitable for what we do in conda-forge (using shared libraries, of which there can only be one per environment, which therefore needs to match for all packages, which means those packages need to be migrated for each new version as we do).

We need to remove it (perhaps even patch the source), because it is unworkable with all of the above.

This is against a common rule ("reflect upstream dependency constraints accurately"), but protobuf is special. Its ABI impact (combined with PyPI's lack of infrastructure & metadata for distributing non-python artefacts) makes many projects very defensive to changing anything about the protobuf version, and will pin hard to the latest one they've tested.

Despite protobuf's versioning shenanigans, their API is actually very stable and once one can handle the recompilation aspect for new protobuf minor versions (as we do), it's a non-issue to raise that bound.

from keras-tuner-feedstock.

sh-shahrokhi avatar sh-shahrokhi commented on July 18, 2024

The limit here is wrong. Or perhaps only "wrong", as in: not suitable for what we do in conda-forge (using shared libraries, of which there can only be one per environment, which therefore needs to match for all packages, which means those packages need to be migrated for each new version as we do).

We need to remove it (perhaps even patch the source), because it is unworkable with all of the above.

This is against a common rule ("reflect upstream dependency constraints accurately"), but protobuf is special. Its ABI impact (combined with PyPI's lack of infrastructure & metadata for distributing non-python artefacts) makes many projects very defensive to changing anything about the protobuf version, and will pin hard to the latest one they've tested.

Despite protobuf's versioning shenanigans, their API is actually very stable and once one can handle the recompilation aspect for new protobuf minor versions (as we do), it's a non-issue to raise that bound.

FYI, here is a pull request on upstream, which removes the limit on protobuf.
keras-team/keras-tuner#892

from keras-tuner-feedstock.

h-vetinari avatar h-vetinari commented on July 18, 2024

Upstream may not want to remove it (because they care about distribution on PyPI, where this can go wrong). Of course, upstream changes are better (no patches), but I wouldn't be surprised if they reject this, and then we should still change it, but only on the feedstock.

from keras-tuner-feedstock.

haifeng-jin avatar haifeng-jin commented on July 18, 2024

KerasTuner will not be compatible with TF 2.11 and below if you are using parallel tuning. But single-node usages are not affected. The incompatibility is because TF 2.12+ will install protobuf 4, and KerasTuner use protobuf 4 to regenerated its grpc files, which is not compatible with protobuf 3 which is used by TF 2.11 and below.

Are you using parallel tuning? @sh-shahrokhi

from keras-tuner-feedstock.

sh-shahrokhi avatar sh-shahrokhi commented on July 18, 2024

KerasTuner will not be compatible with TF 2.11 and below if you are using parallel tuning. But single-node usages are not affected. The incompatibility is because TF 2.12+ will install protobuf 4, and KerasTuner use protobuf 4 to regenerated its grpc files, which is not compatible with protobuf 3 which is used by TF 2.11 and below.

Are you using parallel tuning? @sh-shahrokhi

Thanks for clarification. I do not use parallel tuning.
I think it would better to remove the limit here on this feedstock. @h-vetinari

from keras-tuner-feedstock.

h-vetinari avatar h-vetinari commented on July 18, 2024

Thanks for the input @haifeng-jin!

Indeed it's possible that protobuf- or grpc-generated files are not compatible between versions. The important thing here is that we still keep the tensorflow builds separate per given version, and we could do the same for kerastuner (e.g. rebuild for protobuf 3.20 & 3.21), which would then enable the solver to choose one of our compatible tensorflow builds (whether that's 2.9, 2.10, 2.11 etc.)

from keras-tuner-feedstock.

haifeng-jin avatar haifeng-jin commented on July 18, 2024

We have generated grpc files using both protobuf v3 and v4, they will be dynamically loaded based on the situation. So it should be compatible for both TF 2.11 and TF 2.12 now.
keras-team/keras-tuner#898

from keras-tuner-feedstock.

h-vetinari avatar h-vetinari commented on July 18, 2024

Thanks @haifeng-jin, though this wouldn't have been necessary for conda-forge. In fact, I think it would be better if we do the grpc-generation ourselves, because we often migrate grpc ahead of other packages as well.

We can handle the fact that there would be different kerastuner builds, because we have infrastructure to correctly track dependence on non-python libraries

from keras-tuner-feedstock.

Anselmoo avatar Anselmoo commented on July 18, 2024

We have generated grpc files using both protobuf v3 and v4, they will be dynamically loaded based on the situation. So it should be compatible for both TF 2.11 and TF 2.12 now.
keras-team/keras-tuner#898

See also: https://github.com/keras-team/keras-tuner/releases/tag/v1.3.5

from keras-tuner-feedstock.

Anselmoo avatar Anselmoo commented on July 18, 2024

@sh-shahrokhi, based on #22 (comment) can you check it, please?

from keras-tuner-feedstock.

sh-shahrokhi avatar sh-shahrokhi commented on July 18, 2024

@sh-shahrokhi, based on #22 (comment) can you check it, please?

Hi, in the 1.3.5 recipe protobuf is limited to 3.20.3
Is this limit necessary?

from keras-tuner-feedstock.

Anselmoo avatar Anselmoo commented on July 18, 2024

Sorry, no can you make a new PR and remove the limit, please? And increase the Conda recipe version, too.

from keras-tuner-feedstock.

sh-shahrokhi avatar sh-shahrokhi commented on July 18, 2024

it works. thank you

from keras-tuner-feedstock.

Anselmoo avatar Anselmoo commented on July 18, 2024

it works. thank you

thank you for figuring It out 👍

from keras-tuner-feedstock.

Related Issues (4)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.