<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/ops/variables.py#L1877-L1904) |

Returns all variables created with `trainable=True`.

    tf.compat.v1.trainable_variables(
        scope=None
    )

<br />

## Migrate to TF2

<br />

> [!CAUTION]
> **Caution:** This API was designed for TensorFlow v1. Continue reading for details on how to migrate from this API to a native TensorFlow v2 equivalent. See the [TensorFlow v1 to TensorFlow v2 migration guide](https://www.tensorflow.org/guide/migrate) for instructions on how to migrate the rest of your code.

Not compatible with eager execution and [`tf.function`](https://www.tensorflow.org/api_docs/python/tf/function). In particular, Graph
collections are deprecated in TF2. Instead please create a [`tf.Module`](https://www.tensorflow.org/api_docs/python/tf/Module)
container for all your model state, including variables.
You can then list all the trainable variables in your [`tf.Module`](https://www.tensorflow.org/api_docs/python/tf/Module) through the
`trainable_variables` attribute.

<br />

<br />

## Description

When passed `trainable=True`, the `Variable()` constructor automatically
adds new variables to the graph collection
`GraphKeys.TRAINABLE_VARIABLES`. This convenience function returns the
contents of that collection.

<br />

<br />

<br />

| ## Args ||
|---|---|
| `scope` | (Optional.) A string. If supplied, the resulting list is filtered to include only items whose `name` attribute matches `scope` using `re.match`. Items without a `name` attribute are never returned if a scope is supplied. The choice of `re.match` means that a `scope` without special tokens filters by prefix. |

<br />

<br />

<br />

<br />

| ## Returns ||
|---|---|
| A list of Variable objects. ||

<br />