* Tensorflow 2.3.0 building and passing tests.
* Added einsum and test.
* Added ByteString as a possible argument to a function.
* Support more data types for Adam.
* Move to later version of LTS on stackage.
* Added a wrapper module for convolution functions.
* Update ci build to use a later version of stack.
* Removed a deprecated import in GradientTest.
* I upgraded nixpkgs to the latest master which now contains
libtensorflow. This replaces the custom tensorflow-c. Note that
libtensorflow also builds on OS X and has optional CUDA support.
* nixpkgs is now pinned using builtins.fetchTarball which means we
can build with an empty NIX_PATH thus making the build pure.
This does require Nix-2.0 but this has been released for a while
with NixOS-18.03.
* The stack override has been replaced by passing
`extraArgs = "--system-ghc";` to buildStackProject.
Fix Conduit 1.3 deprecation warnings
- The `Conduit`, `Producer` and `Consumer` aliases are deprecated and
`ConduitT` is used directly instead
- `=$=` is deprecated and replaced by `.|`
Required by #187.
The version we were using is old enough that it doesn't work with the
latest stackage LTS. haskellstack.org says
There is also a Ubuntu package for Ubuntu 16.10 and up, but the
distribution's Stack version lags behind, ...
So, instead of asking them to update it, it's probably better to
download the tar of the version we want.
Somehow updating stack surfaced a new pedantic warning in GradientTest,
so I've fixed that as well.
All of the non-s/1.3/1.7/ changes are because
* There are new tensorflow datatypes
* Some ops have looser types (e.g. fill now accepts both int64 and int32)
* There are more ops of type "func"
* Fix initialized variables for tensorflow 1.7
This is needed to support tensorflow 1.7. The trick of initializing a
variable with `Shape []` and then overriding the shape by assigning an
initial value no longer works. It seems that we need to explicitly flip
the unknown_rank bit in the shape proto.
I thought about switching opgen to use `Maybe Shape` when an op requires
a shape attribute, but that will cause a lot of api churn, so I chose to
hold off for now and just do a spot fix to unblock 1.7.