diff --git a/tensorflow/python/eager/context.py b/tensorflow/python/eager/context.py index a69ad1d7e42..7149245a7ec 100644 --- a/tensorflow/python/eager/context.py +++ b/tensorflow/python/eager/context.py @@ -1194,6 +1194,9 @@ class Context(object): @log_device_placement.setter def log_device_placement(self, enabled): + if self._log_device_placement == enabled: + return + if self._context_handle is not None: raise RuntimeError( "Device placement logging must be set at program startup") diff --git a/tensorflow/python/framework/config_test.py b/tensorflow/python/framework/config_test.py index 31e9cc90ac6..b64407d52f5 100644 --- a/tensorflow/python/framework/config_test.py +++ b/tensorflow/python/framework/config_test.py @@ -198,8 +198,10 @@ class ConfigTest(test.TestCase, parameterized.TestCase): with self.assertRaises(RuntimeError): context.set_log_device_placement(True) - with self.assertRaises(RuntimeError): - context.set_log_device_placement(False) + + # If the setting the device placement is a no-op, do not throw a runtime + # exception. + context.set_log_device_placement(False) @test_util.run_gpu_only @reset_eager