def testEventNdimsMustBeZeroOrRaiseDynamic(self): with self.test_session() as sess: event_ndims = array_ops.placeholder(dtypes.int32) abs_bijector = AbsoluteValue(event_ndims=event_ndims, validate_args=True) with self.assertRaisesOpError("event_ndims was not 0"): sess.run(abs_bijector.inverse_log_det_jacobian([1.]), feed_dict={event_ndims: 1})
def testBijectorVersusNumpyRewriteOfBasicFunctionsEventNdims0(self): with self.test_session() as sess: bijector = AbsoluteValue(event_ndims=0, validate_args=True) self.assertEqual("absolute_value", bijector.name) x = array_ops.constant([[0., 1., -1], [0., -5., 3.]]) # Shape [2, 3] y = math_ops.abs(x) y_ = y.eval() zeros = np.zeros((2, 3)) self.assertAllClose(y_, bijector.forward(x).eval()) self.assertAllClose((-y_, y_), sess.run(bijector.inverse(y))) self.assertAllClose((zeros, zeros), sess.run(bijector.inverse_log_det_jacobian(y))) # Run things twice to make sure there are no issues in caching the tuples # returned by .inverse* self.assertAllClose(y_, bijector.forward(x).eval()) self.assertAllClose((-y_, y_), sess.run(bijector.inverse(y))) self.assertAllClose((zeros, zeros), sess.run(bijector.inverse_log_det_jacobian(y)))
def testEventNdimsMustBeZeroOrRaiseStatic(self): with self.test_session(): with self.assertRaisesRegexp(ValueError, "event_ndims.*was not 0"): AbsoluteValue(event_ndims=1)
def testNegativeYRaisesForILDJIfValidateArgs(self): with self.test_session() as sess: bijector = AbsoluteValue(validate_args=True) with self.assertRaisesOpError("y was negative"): sess.run(bijector.inverse_log_det_jacobian(-1., event_ndims=0))
def testNegativeYRaisesForInverseIfValidateArgs(self): with self.test_session() as sess: bijector = AbsoluteValue(validate_args=True) with self.assertRaisesOpError("y was negative"): sess.run(bijector.inverse(-1.))