# tf.compat.v1.ragged.placeholder

<br />

|---|
| [![](https://www.tensorflow.org/images/GitHub-Mark-32px.png) View source on GitHub](https://github.com/tensorflow/tensorflow/blob/v2.13.1/tensorflow/python/ops/ragged/ragged_factory_ops.py#L318-L366) |

Creates a placeholder for a [`tf.RaggedTensor`](https://www.tensorflow.org/versions/r2.13/api_docs/python/tf/RaggedTensor) that will always be fed.

    tf.compat.v1.ragged.placeholder(
        dtype, ragged_rank, value_shape=None, name=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.

This API is not compatible with eager execution and [`tf.function`](https://www.tensorflow.org/versions/r2.13/api_docs/python/tf/function). To migrate
to TF2, rewrite the code to be compatible with eager execution. Check the
[migration
guide](https://www.tensorflow.org/guide/migrate#1_replace_v1sessionrun_calls)
on replacing `Session.run` calls. In TF2, you can just pass tensors directly
into ops and layers. If you want to explicitly set up your inputs, also see
[Keras functional API](https://www.tensorflow.org/guide/keras/functional) on
how to use [`tf.keras.Input`](https://www.tensorflow.org/versions/r2.13/api_docs/python/tf/keras/Input) to replace [`tf.compat.v1.ragged.placeholder`](https://www.tensorflow.org/versions/r2.13/api_docs/python/tf/compat/v1/ragged/placeholder).
[`tf.function`](https://www.tensorflow.org/versions/r2.13/api_docs/python/tf/function) arguments also do the job of [`tf.compat.v1.ragged.placeholder`](https://www.tensorflow.org/versions/r2.13/api_docs/python/tf/compat/v1/ragged/placeholder).
For more details please read [Better
performance with tf.function](https://www.tensorflow.org/guide/function).

<br />

<br />

## Description

> [!IMPORTANT]
> **Important:** This ragged tensor will produce an error if evaluated. Its value must be fed using the `feed_dict` optional argument to `Session.run()`, [`Tensor.eval()`](https://www.tensorflow.org/api_docs/python/tf/Tensor#eval), or [`Operation.run()`](https://www.tensorflow.org/api_docs/python/tf/Operation#run).

<br />

<br />

<br />

| ## Args ||
|---|---|
| `dtype` | The data type for the `RaggedTensor`. |
| `ragged_rank` | The ragged rank for the `RaggedTensor` |
| `value_shape` | The shape for individual flat values in the `RaggedTensor`. |
| `name` | A name for the operation (optional). |

<br />

<br />

<br />

<br />

| ## Returns ||
|---|---|
| A `RaggedTensor` that may be used as a handle for feeding a value, but not evaluated directly. ||

<br />

<br />

<br />

<br />

| ## Raises ||
|---|---|
| `RuntimeError` | if eager execution is enabled |

<br />