Skip to content
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

Update tensorflow-haskell dependencies. #88604

Conversation

@mikesperber
Copy link
Contributor

mikesperber commented May 22, 2020

Updating to the current HEAD of the Tensorflow-Haskell bindings allows
us to also update the dependencies, specifically proto-lens, and avoid
having to retain their outdated versions.

Motivation for this change

I finally got patches into the Tensorflow Haskell bindings to update the dependencies. This enables removing lots of cruft.

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Ensured that relevant documentation is up to date
  • Fits CONTRIBUTING.md.
@mikesperber mikesperber requested a review from cdepillabout as a code owner May 22, 2020
@cdepillabout
Copy link
Member

cdepillabout commented May 23, 2020

@GrahamcOfBorg build haskellPackages.tensorflow-proto
@GrahamcOfBorg build haskellPackages.tensorflow
@GrahamcOfBorg build haskellPackages.tensorflow-core-ops
@GrahamcOfBorg build haskellPackages.tensorflow-logging
@GrahamcOfBorg build haskellPackages.tensorflow-mnist
@GrahamcOfBorg build haskellPackages.tensorflow-opgen
@GrahamcOfBorg build haskellPackages.tensorflow-ops

@cdepillabout
Copy link
Member

cdepillabout commented May 23, 2020

Thanks for updating this.

Can you mark the following Haskell packages as non-broken in pkgs/development/haskell-modules/configuration-hackage2nix.yaml around line 9900? (All you need to do is remove these lines from that file)

  • tensorflow
  • tensorflow-core-ops
  • tensorflow-logging
  • tensorflow-ops
Updating to the current HEAD of the Tensorflow-Haskell bindings allows
us to also update the dependencies, specifically proto-lens, and avoid
having to retain their outdated versions.
@mikesperber mikesperber force-pushed the mikesperber:update-tensorflow-haskell-dependencies branch from b619b9b to d93aa81 May 23, 2020
@mikesperber
Copy link
Contributor Author

mikesperber commented May 23, 2020

@cdepillabout
Copy link
Member

cdepillabout commented May 24, 2020

Thanks, looks like these all compile!

@cdepillabout cdepillabout merged commit 762d9fc into NixOS:haskell-updates May 24, 2020
1 check failed
1 check failed
grahamcofborg-eval The branch this PR will merge in to does not cleanly evaluate, and so this PR cannot be checked.
Details
@cdepillabout
Copy link
Member

cdepillabout commented May 24, 2020

Oops, it looks like tensorflow-mnist is still marked broken in hackage-packages.nix, even though it is not in the list of broken-packages in configuration-hackage2nix.yaml.

I'm not sure why this would be the case. Maybe you can try running cabal2nix on the commandline and seeing if you can figure out why it would be generated with broken = true.

If you can't figure it out, we can ask peti.

@mikesperber
Copy link
Contributor Author

mikesperber commented May 25, 2020

@cdepillabout Good catch, thanks!

I suspect that's because the tensorflow-mnist-input-data dependency, which is not on Hackage, and hence only defined in configuration-tensorflow.nix - cabal2nix doesn't know about it.

I suggest just unbreaking it in configuration-tensorflow.nix - you OK with that? Then I could make another patch.

@cdepillabout
Copy link
Member

cdepillabout commented May 26, 2020

I suggest just unbreaking it in configuration-tensorflow.nix

Yeah, that is probably the easiest thing to do right now.

Although, the better thing would be to actually get it on Hackage. I guess it doesn't make sense to have packages on Hackage if they have dependencies that are not on Hackage. Although I don't know why tensorflow-mnist-input-data isn't on Hackage in the first place.

@mikesperber
Copy link
Contributor Author

mikesperber commented May 26, 2020

@mikesperber
Copy link
Contributor Author

mikesperber commented May 28, 2020

@cdepillabout So I've written to LeCun, but the whole process - if it's successful at all - will take a while.

OK, in the meantime, to just unbreak tensorflow-mnist?

@cdepillabout
Copy link
Member

cdepillabout commented May 28, 2020

@mikesperber It would probably be easier just to take out the tensorflow-mnist package. It sounds like the authors are saying it was an example package and never meant to be on Hackage.

@mikesperber mikesperber mentioned this pull request Jun 2, 2020
4 of 10 tasks complete
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

2 participants
You can’t perform that action at this time.