Remove custom tensorflow ops
Apparently we may be able to avoid the custom tensorflow triangular operations - https://github.com/tensorflow/tensorflow/issues/1825#issuecomment-337394937
Sorry for just jumping in here. But the
tf.contrib.distributions.fill_triangularutility function might be useful. It reshapes a length-d*(d+1)/2 vector into a lower (or upper) triangular matrix (with zeros on the flip-side).
this will simplify packaging by avoiding compilation. Requires tensorflow master, however.
Tensorflow 1.4 is out and includes triangualr matrix packing. will investigate if this remove the build step.
Ah, tragically the operation did not make it in to tensorflow 1.4.; it will be in tenorflow 1.5 some time in the next few months.
https://www.tensorflow.org/versions/master/api_docs/python/tf/contrib/distributions/fill_triangular
In the interim, GPFlow now has a compilation-free triangular packing called LowerTriangular which would also be an option. I do not know the performance implications fo the GPFlow approach
(this would additionally solve #3)