# tf.config.experimental.set_device_policy

<br />

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

Sets the current thread device policy.

#### View aliases


**Compat aliases for migration**

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

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

<br />

    tf.config.experimental.set_device_policy(
        device_policy
    )

The device policy controls how operations requiring inputs on a specific
device (e.g., on GPU:0) handle inputs on a different device (e.g. GPU:1).

When using the default, an appropriate policy will be picked automatically.
The default policy may change over time.

This function only sets the device policy for the current thread. Any
subsequently started thread will again use the default policy.

<br />

<br />

<br />

| ## Args ||
|---|---|
| `device_policy` | A device policy. Valid values: <br /> - None: Switch to a system default. - 'warn': Copies the tensors which are not on the right device and logs a warning. - 'explicit': Raises an error if the placement is not as required. - 'silent': Silently copies the tensors. Note that this may hide performance problems as there is no notification provided when operations are blocked on the tensor being copied between devices. - 'silent_for_int32': silently copies `int32` tensors, raising errors on the other ones. |

<br />

<br />

<br />

| ## Raises ||
|---|---|
| `ValueError` | If an invalid `device_policy` is passed. |

<br />