<br />

|---|
| [![](https://www.tensorflow.org/images/GitHub-Mark-32px.png) View source on GitHub](https://github.com/tensorflow/tensorflow/blob/v2.21.0/tensorflow/python/framework/config.py#L473-L509) |

Return a list of logical devices created by runtime.

#### View aliases


**Main aliases**

[`tf.config.experimental.list_logical_devices`](https://www.tensorflow.org/api_docs/python/tf/config/list_logical_devices)
**Compat aliases for migration**

See
[Migration guide](https://www.tensorflow.org/guide/migrate) for
more details.

[`tf.compat.v1.config.experimental.list_logical_devices`](https://www.tensorflow.org/api_docs/python/tf/config/list_logical_devices), [`tf.compat.v1.config.list_logical_devices`](https://www.tensorflow.org/api_docs/python/tf/config/list_logical_devices)

<br />

    tf.config.list_logical_devices(
        device_type=None
    )

### Used in the notebooks

| Used in the guide | Used in the tutorials |
|---|---|
| - [Use a GPU](https://www.tensorflow.org/guide/gpu) - [NumPy API on TensorFlow](https://www.tensorflow.org/guide/tf_numpy) - [Migrate from TPU embedding_columns to TPUEmbedding layer](https://www.tensorflow.org/guide/migrate/tpu_embedding) - [Migrate from TPUEstimator to TPUStrategy](https://www.tensorflow.org/guide/migrate/tpu_estimator) - [Distributed training with Core APIs and DTensor](https://www.tensorflow.org/guide/core/distribution) | - [Using DTensors with Keras](https://www.tensorflow.org/tutorials/distribute/dtensor_keras_tutorial) - [Distributed training with DTensors](https://www.tensorflow.org/tutorials/distribute/dtensor_ml_tutorial) - [Distributed Input](https://www.tensorflow.org/tutorials/distribute/input) - [Image classification with Model Garden](https://www.tensorflow.org/tfmodels/vision/image_classification) - [TFF simulations with accelerators](https://www.tensorflow.org/federated/tutorials/simulations_with_accelerators) |

Logical devices may correspond to physical devices or remote devices in the
cluster. Operations and tensors may be placed on these devices by using the
`name` of the [`tf.config.LogicalDevice`](https://www.tensorflow.org/api_docs/python/tf/config/LogicalDevice).

Calling [`tf.config.list_logical_devices`](https://www.tensorflow.org/api_docs/python/tf/config/list_logical_devices) triggers the runtime to configure any
[`tf.config.PhysicalDevice`](https://www.tensorflow.org/api_docs/python/tf/config/PhysicalDevice) visible to the runtime, thereby preventing
further configuration. To avoid runtime initialization, call
[`tf.config.list_physical_devices`](https://www.tensorflow.org/api_docs/python/tf/config/list_physical_devices) instead.

#### For example:

    logical_devices = tf.config.list_logical_devices('GPU')
    if len(logical_devices) > 0:
      # Allocate on GPU:0
      with tf.device(logical_devices[0].name):
        one = tf.constant(1)
      # Allocate on GPU:1
      with tf.device(logical_devices[1].name):
        two = tf.constant(2)

<br />

<br />

<br />

| ## Args ||
|---|---|
| `device_type` | (optional string) Only include devices matching this device type. For example "CPU" or "GPU". |
| `Notes` | <br /> 1. If provided with any numerical values or any string other than supported device type such as 'CPU' it returns an empty list instead of raising error. 2. For default value it returns all logical devices |

<br />

<br />

<br />

| ## Returns ||
|---|---|
| List of initialized `LogicalDevice`s ||

<br />