diff options
Diffstat (limited to 'tensorflow/python/kernel_tests/logging_ops_test.py')
-rw-r--r-- | tensorflow/python/kernel_tests/logging_ops_test.py | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/tensorflow/python/kernel_tests/logging_ops_test.py b/tensorflow/python/kernel_tests/logging_ops_test.py new file mode 100644 index 0000000000..18ca441b23 --- /dev/null +++ b/tensorflow/python/kernel_tests/logging_ops_test.py @@ -0,0 +1,50 @@ +"""Tests for tensorflow.kernels.logging_ops.""" + +import tensorflow.python.platform + +import tensorflow as tf + + +class LoggingOpsTest(tf.test.TestCase): + + def testAssertDivideByZero(self): + with self.test_session() as sess: + epsilon = tf.convert_to_tensor(1e-20) + x = tf.convert_to_tensor(0.0) + y = tf.convert_to_tensor(1.0) + z = tf.convert_to_tensor(2.0) + # assert(epsilon < y) + # z / y + with sess.graph.control_dependencies( + [tf.Assert(tf.less(epsilon, y), ["Divide-by-zero"])]): + out = tf.div(z, y) + self.assertAllEqual(2.0, out.eval()) + # assert(epsilon < x) + # z / x + # + # This tests printing out multiple tensors + with sess.graph.control_dependencies( + [tf.Assert(tf.less(epsilon, x), + ["Divide-by-zero", "less than x"])]): + out = tf.div(z, x) + with self.assertRaisesOpError("less than x"): + out.eval() + + +class PrintGradientTest(tf.test.TestCase): + + def testPrintGradient(self): + with self.test_session(): + inp = tf.constant(2.0, shape=[100, 32], name="in") + w = tf.constant(4.0, shape=[10, 100], name="w") + wx = tf.matmul(w, inp, name="wx") + wx_print = tf.Print(wx, [w, w, w]) + wx_grad = tf.gradients(wx, w)[0] + wx_print_grad = tf.gradients(wx_print, w)[0] + wxg = wx_grad.eval() + wxpg = wx_print_grad.eval() + self.assertAllEqual(wxg, wxpg) + + +if __name__ == "__main__": + tf.test.main() |