Hi folks -
Trying to understand how 'Transformed Variables' work with bijectors that DON'T operate elementwise. My understanding how how TransformedVariables work comes from the docs, which state `Variable tracking object which applies a bijector upon convert_to_tensor.` Great, that's what I'm looking for.
So for example, with `FillTriangular` I see that this works:
x = [1, 1, 1, 1, 1, 1]
b = tfb.FillTriangular()
b.forward(x)
and returns 3 x 3 matrix with lower diagonal 1's.
however, this breaks:
x = [1, 1, 1, 1, 1, 1]
b = tfb.FillTriangular()
v = tfp.util.TransformedVariable(x, b)
with error `ValueError: Shape (6,) must have rank at least 2`.
It seems like TransformedVariable is looking for a 2 dimensional array, so I tried feeding:
b = tfb.FillTriangular()
new_x = tf.ones((3,3))
v = tfp.util.TransformedVariable(new_x, b)
The result for that code is:
2 0 0
2 2 0
1 1 1
Which I don't see how it's arriving at. Is there something I'm missing here?
Thanks for any help,
Paul