Пример #1
0
    def testTensorBoardDebugHookDisablingTracebackSourceCodeSendingWorks(self):
        u = variables.Variable(2.1, name="u")
        v = variables.Variable(20.0, name="v")
        w = math_ops.multiply(u, v, name="w")

        sess = session.Session(
            config=session_debug_testlib.no_rewrite_session_config())
        sess.run(variables.global_variables_initializer())

        grpc_debug_hook = hooks.TensorBoardDebugHook(
            ["localhost:%d" % self._server_port],
            send_traceback_and_source_code=False)
        sess = monitored_session._HookedSession(sess, [grpc_debug_hook])

        # Activate watch point on a tensor before calling sess.run().
        self._server.request_watch("u/read", 0, "DebugIdentity")
        self.assertAllClose(42.0, sess.run(w))

        # Check that the server has _not_ received any tracebacks, as a result of
        # the disabling above.
        with self.assertRaisesRegexp(ValueError,
                                     r"Op .*u/read.* does not exist"):
            self.assertTrue(self._server.query_op_traceback("u/read"))
        with self.assertRaisesRegexp(ValueError,
                                     r".* has not received any source file"):
            self._server.query_source_file_line(__file__, 1)
Пример #2
0
    def testTensorBoardDebugHooWorks(self):
        u = variables.Variable(2.1, name="u")
        v = variables.Variable(20.0, name="v")
        w = math_ops.multiply(u, v, name="w")

        sess = session.Session(config=no_rewrite_session_config())
        sess.run(u.initializer)
        sess.run(v.initializer)

        grpc_debug_hook = hooks.TensorBoardDebugHook(
            ["localhost:%d" % self._server_port])
        sess = monitored_session._HookedSession(sess, [grpc_debug_hook])

        self.assertAllClose(42.0, sess.run(w))
Пример #3
0
    def testTensorBoardDebugHookWorks(self):
        u = variables.Variable(2.1, name="u")
        v = variables.Variable(20.0, name="v")
        w = math_ops.multiply(u, v, name="w")

        sess = session.Session(
            config=session_debug_testlib.no_rewrite_session_config())
        sess.run(u.initializer)
        sess.run(v.initializer)

        grpc_debug_hook = hooks.TensorBoardDebugHook(
            ["localhost:%d" % self._server_port])
        sess = monitored_session._HookedSession(sess, [grpc_debug_hook])

        # Activate watch point on a tensor before calling sess.run().
        self._server.request_watch("u/read", 0, "DebugIdentity")
        self.assertAllClose(42.0, sess.run(w))

        # self.assertAllClose(42.0, sess.run(w))
        dump = debug_data.DebugDumpDir(self._dump_root)
        self.assertAllClose([2.1],
                            dump.get_tensors("u/read", 0, "DebugIdentity"))

        # Check that the server has received the stack trace.
        self.assertTrue(self._server.query_op_traceback("u"))
        self.assertTrue(self._server.query_op_traceback("u/read"))
        self.assertTrue(self._server.query_op_traceback("v"))
        self.assertTrue(self._server.query_op_traceback("v/read"))
        self.assertTrue(self._server.query_op_traceback("w"))

        # Check that the server has received the python file content.
        # Query an arbitrary line to make sure that is the case.
        with open(__file__, "rt") as this_source_file:
            first_line = this_source_file.readline().strip()
            self.assertEqual(first_line,
                             self._server.query_source_file_line(__file__, 1))

        self._server.clear_data()
        # Call sess.run() again, and verify that this time the traceback and source
        # code is not sent, because the graph version is not newer.
        self.assertAllClose(42.0, sess.run(w))
        with self.assertRaises(ValueError):
            self._server.query_op_traceback("delta_1")
        with self.assertRaises(ValueError):
            self._server.query_source_file_line(__file__, 1)