1
0
Fork 0
mirror of https://github.com/tensorflow/haskell.git synced 2024-11-05 10:39:44 +01:00
Commit graph

18 commits

Author SHA1 Message Date
fkm3
7720af0afd Update to tensorflow 1.3 (#161)
* Tested on linux without Docker.
* Couldn't get nix build to work, so I just updated the URL and hash.
* Did not test macos build.

The mnist change was necessary because the argmax output type is now polmorphic.
2017-10-19 13:41:55 -04:00
Judah Jacobson
7328cb277f Fix the build with ghc-8.2.1. (#147)
- Avoid using a deprecated Cabal function
- Use newer versions of proto-lens packages in stack.yaml
- Work around a new type-level warning that affects `OneOf/TensorTypes`.
2017-08-08 09:48:59 -07:00
Judah Jacobson
aa9efa3aa1 Fix 'sdist' for tensorflow-core-ops. (#113)
Use the same trick as for `proto-lens-protoc`: hack the package description
during the `sdist` step to include the autogen directory in hs-source-dirs.
2017-05-10 16:29:31 -07:00
Judah Jacobson
0fa719b701 Fix .cabal files so 'stack check' passes. (#110)
- Add LICENSE files for all packages.
- Add descriptions for packages that were missing one.
- Work around google/proto-lens#69 by symlinking third_party into
  tensorflow-proto.
2017-05-10 11:37:00 -07:00
Greg Steuck
1d45e33d2a Switched to lts-8.13, added custom-setup. (#106)
* Switched to lts-8.13, added custom-setup.

Our packages no longer elicit complaints like this:
Package tensorflow-foo uses a custom Cabal build, but does not use a
custom-setup stanza.

* Removed some extra-deps and explicit-setup-deps

* Removed provisions for different versions of stack lts.

We are now solidly in the 8-only territory.
2017-05-09 20:49:51 -07:00
Christian Berentsen
21b723d542 Adapt to lts-8.6 and use proto-lens-0.2.0.1 (#97) 2017-04-11 14:09:01 -07:00
Judah Jacobson
16d660c3bc Support a couple more ops by allowing larger tuples. (#93) 2017-04-06 19:00:18 -07:00
Judah Jacobson
9209dfc4c4 Support lists of tensors in ops. (#79)
Adds a new type `ListOf` which wraps a heterogeneous list; for example,
`ListOf (Tensor Value) '[Int32, Float]` represents a list of two
elements: a tensor of int32s and a tensor of floats.

Also changes the `Queue2` type (which suppored pairs of tensors) to
`Queue` (which supports arbitrary lists).
2017-03-17 13:53:19 -07:00
Judah Jacobson
0c8d41250a Remove the type parameter from ResourceHandle. (#76)
This change allows us to reenable the rest of the ResourceHandle ops, and
future-proofs us against more being added.  It removes the custom logic that
assumed there was a "dtype" attribute to guess what the type parameter is
(which wasn't true in general.)

When we switch to ResourceHandle (e.g., for queues and variables) we can add
parameters to the wrapper types like "Queue" on a case-by-case basis.
2017-02-21 19:38:26 -08:00
Greg Steuck
72631cb9f3 Uprev to TF 1.0rc1. (#69)
* Download protoc and libtensorflow instead of running bazel.
* Explicitly set permissions of protoc.
2017-02-09 14:20:43 -08:00
Judah Jacobson
1ffc5c4383 Blacklist some more ops. (#62)
- More heterogeneous list ops
- Resource ops that don't use "dtype" as the type parameter

For the latter, we may need an upstream fix, or else to change the convention
of how we can tell what the type parameter is.
2017-01-15 11:21:09 -08:00
Judah Jacobson
db75350969 Support type attributes that aren't used by an input/output. (#51)
We should treat such attributes as regular `DataType` values rather than type
parameters; otherwise we'll get ambiguous types.  As with other attributes,
they can either set by default or passed in as an explicit argument to the op.

Allows us to reenable a couple more ops.
2016-12-15 11:52:48 -08:00
Judah Jacobson
1539783ee5 Update type constraints to work around a ghc-8 bug. (#47)
Also removes all the ghc-8-specific logic in the .cabal files.

ghc-8 has issues with deeply nested tuples of constraints.  We can
work around it by:
- Changing TensorTypes to a regular class.  This required FlexibleContexts.
  (But we'll probably need it anyway when we support heterogeneous tensor
  lists.)
- Specializing NoneOf for long type lists.

For more details, see: https://ghc.haskell.org/trac/ghc/ticket/12175.

Also added 'directory' to tensorflow-core-ops' dependencies since it's used
in the Setup script.

One more step towards fixing #38.
2016-11-28 21:15:09 -08:00
Judah Jacobson
5b4017e31b Fix the build on ghc-8.0.1 (#38). (#40)
Two issues:
- The definition of `\\` was missing parentheses.  It was probably a bug
  that this used to worked in ghc-7.10.
- Set `-fconstraint-solver-iterations=0` to work around
  https://ghc.haskell.org/trac/ghc/ticket/12175.  It looks like we can
  trigger that bug when defining a significantly complicated op.  Specifically,
  our type shenanigans ("OneOf") along with lens setters (for OpDef) seem
  to confuse GHC.

Still TODO: automate testing of different ghc versions to prevent a regression.
2016-11-21 22:20:08 -08:00
Greg Steuck
c430e54c3c Uprev tensorflow. (#33)
* No longer need to hide ResourceHandle ops
* Blacklisted not supported TensorArrayV2
* Ownership of feed tensors changed (1f0c5119a0230c5160d45496175b9256f097e144)
2016-11-16 21:16:20 -08:00
Greg Steuck
93e27a12c6 Uprev tensorflow. (#29)
Includes temporary blacklisting for a couple of ops that will be
supported once my fix lands in the main tensorflow repo.
2016-11-14 17:04:44 -08:00
Judah Jacobson
95cfe1aefa Blacklist the SaveV2 and RestoreV2 ops which need Tensor lists. (#7) 2016-10-25 23:19:19 -07:00
Greg Steuck
67690d1499 Initial commit 2016-10-24 19:26:42 +00:00