tf.debugging.set_log_device_placement
Stay organized with collections
Save and categorize content based on your preferences.
Turns logging for device placement decisions on or off.
tf.debugging.set_log_device_placement(
enabled
)
Used in the notebooks
Operations execute on a particular device, producing and consuming tensors on
that device. This may change the performance of the operation or require
TensorFlow to copy data to or from an accelerator, so knowing where operations
execute is useful for debugging performance issues.
For more advanced profiling, use the TensorFlow
profiler.
Device placement for operations is typically controlled by a tf.device
scope, but there are exceptions, for example operations on a tf.Variable
which follow the initial placement of the variable. Turning off soft device
placement (with tf.config.set_soft_device_placement
) provides more explicit
control.
tf.debugging.set_log_device_placement(True)
tf.ones([])
# [...] op Fill in device /job:localhost/replica:0/task:0/device:GPU:0
with tf.device("CPU"):
tf.ones([])
# [...] op Fill in device /job:localhost/replica:0/task:0/device:CPU:0
tf.debugging.set_log_device_placement(False)
Turning on tf.debugging.set_log_device_placement
also logs the placement of
ops inside tf.function
when the function is called.
Args |
enabled
|
Whether to enabled device placement logging.
|
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates. Some content is licensed under the numpy license.
Last updated 2024-04-26 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2024-04-26 UTC."],[],[],null,["# tf.debugging.set_log_device_placement\n\n\u003cbr /\u003e\n\n|-------------------------------------------------------------------------------------------------------------------------------|\n| [View source on GitHub](https://github.com/tensorflow/tensorflow/blob/v2.16.1/tensorflow/python/eager/context.py#L2567-L2599) |\n\nTurns logging for device placement decisions on or off.\n\n#### View aliases\n\n\n**Compat aliases for migration**\n\nSee\n[Migration guide](https://www.tensorflow.org/guide/migrate) for\nmore details.\n\n[`tf.compat.v1.debugging.set_log_device_placement`](https://www.tensorflow.org/api_docs/python/tf/debugging/set_log_device_placement)\n\n\u003cbr /\u003e\n\n tf.debugging.set_log_device_placement(\n enabled\n )\n\n### Used in the notebooks\n\n| Used in the guide |\n|-----------------------------------------------------|\n| - [Use a GPU](https://www.tensorflow.org/guide/gpu) |\n\nOperations execute on a particular device, producing and consuming tensors on\nthat device. This may change the performance of the operation or require\nTensorFlow to copy data to or from an accelerator, so knowing where operations\nexecute is useful for debugging performance issues.\n\nFor more advanced profiling, use the [TensorFlow\nprofiler](https://www.tensorflow.org/guide/profiler).\n\nDevice placement for operations is typically controlled by a [`tf.device`](../../tf/device)\nscope, but there are exceptions, for example operations on a [`tf.Variable`](../../tf/Variable)\nwhich follow the initial placement of the variable. Turning off soft device\nplacement (with [`tf.config.set_soft_device_placement`](../../tf/config/set_soft_device_placement)) provides more explicit\ncontrol. \n\n tf.debugging.set_log_device_placement(True)\n tf.ones([])\n # [...] op Fill in device /job:localhost/replica:0/task:0/device:GPU:0\n with tf.device(\"CPU\"):\n tf.ones([])\n # [...] op Fill in device /job:localhost/replica:0/task:0/device:CPU:0\n tf.debugging.set_log_device_placement(False)\n\nTurning on [`tf.debugging.set_log_device_placement`](../../tf/debugging/set_log_device_placement) also logs the placement of\nops inside [`tf.function`](../../tf/function) when the function is called.\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Args ---- ||\n|-----------|----------------------------------------------|\n| `enabled` | Whether to enabled device placement logging. |\n\n\u003cbr /\u003e"]]