# tf.TensorArraySpec

<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/ops/tensor_array_ops.py#L1363-L1491) |

Type specification for a [`tf.TensorArray`](https://www.tensorflow.org/versions/r2.14/api_docs/python/tf/TensorArray).

Inherits From: [`TypeSpec`](https://www.tensorflow.org/versions/r2.14/api_docs/python/tf/TypeSpec), [`TraceType`](https://www.tensorflow.org/versions/r2.14/api_docs/python/tf/types/experimental/TraceType)

#### View aliases


**Compat aliases for migration**

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

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

<br />

    tf.TensorArraySpec(
        element_shape=None,
        dtype=https://www.tensorflow.org/versions/r2.14/api_docs/python/tf/dtypes#float32,
        dynamic_size=False,
        infer_shape=True
    )

<br />

<br />

<br />

| ## Args ||
|---|---|
| `element_shape` | The shape of each element in the `TensorArray`. |
| `dtype` | Data type of the `TensorArray`. |
| `dynamic_size` | Whether the `TensorArray` can grow past its initial size. |
| `infer_shape` | Whether shape inference is enabled. |

<br />

<br />

<br />

<br />

| ## Attributes ||
|---|---|
| `value_type` | <br /> <br /> |

<br />

## Methods

### `experimental_as_proto`

[View source](https://github.com/tensorflow/tensorflow/blob/v2.14.0/tensorflow/python/framework/type_spec.py#L218-L223)

    experimental_as_proto() -> struct_pb2.TypeSpecProto

Returns a proto representation of the TypeSpec instance.

Do NOT override for custom non-TF types.

### `experimental_from_proto`

[View source](https://github.com/tensorflow/tensorflow/blob/v2.14.0/tensorflow/python/framework/type_spec.py#L205-L216)

    @classmethod
    experimental_from_proto(
        proto: struct_pb2.TypeSpecProto
    ) -> 'TypeSpec'

Returns a TypeSpec instance based on the serialized proto.

Do NOT override for custom non-TF types.

<br />

<br />

<br />

| Args ||
|---|---|
| `proto` | Proto generated using 'experimental_as_proto'. |

<br />

### `experimental_type_proto`

[View source](https://github.com/tensorflow/tensorflow/blob/v2.14.0/tensorflow/python/framework/type_spec.py#L197-L203)

    @classmethod
    experimental_type_proto() -> Type[struct_pb2.TypeSpecProto]

Returns the type of proto associated with TypeSpec serialization.

Do NOT override for custom non-TF types.

### `from_value`

[View source](https://github.com/tensorflow/tensorflow/blob/v2.14.0/tensorflow/python/ops/tensor_array_ops.py#L1470-L1480)

    @staticmethod
    from_value(
        value
    )

### `is_compatible_with`

[View source](https://github.com/tensorflow/tensorflow/blob/v2.14.0/tensorflow/python/ops/tensor_array_ops.py#L1425-L1434)

    is_compatible_with(
        other
    )

Returns true if `spec_or_value` is compatible with this TypeSpec.

Prefer using "is_subtype_of" and "most_specific_common_supertype" wherever
possible.

<br />

<br />

<br />

| Args ||
|---|---|
| `spec_or_value` | A TypeSpec or TypeSpec associated value to compare against. |

<br />

### `is_subtype_of`

[View source](https://github.com/tensorflow/tensorflow/blob/v2.14.0/tensorflow/python/ops/tensor_array_ops.py#L1390-L1394)

    is_subtype_of(
        other
    )

Returns True if `self` is a subtype of `other`.

Implements the tf.types.experimental.func.TraceType interface.

If not overridden by a subclass, the default behavior is to assume the
TypeSpec is covariant upon attributes that implement TraceType and
invariant upon rest of the attributes as well as the structure and type
of the TypeSpec.

<br />

<br />

<br />

| Args ||
|---|---|
| `other` | A TraceType object. |

<br />

### `most_specific_common_supertype`

[View source](https://github.com/tensorflow/tensorflow/blob/v2.14.0/tensorflow/python/ops/tensor_array_ops.py#L1396-L1423)

    most_specific_common_supertype(
        others
    )

Returns the most specific supertype of `self` and `others`.

<br />

<br />

<br />

| Args ||
|---|---|
| `others` | A Sequence of `TypeSpec`. |

<br />

Returns `None` if a supertype does not exist.

### `most_specific_compatible_type`

[View source](https://github.com/tensorflow/tensorflow/blob/v2.14.0/tensorflow/python/framework/type_spec.py#L315-L333)

    most_specific_compatible_type(
        other: 'TypeSpec'
    ) -> 'TypeSpec'

Returns the most specific TypeSpec compatible with `self` and `other`. (deprecated)

> [!WARNING]
> **Deprecated:** THIS FUNCTION IS DEPRECATED. It will be removed in a future version. Instructions for updating: Use most_specific_common_supertype instead.

Deprecated. Please use `most_specific_common_supertype` instead.
Do not override this function.

<br />

<br />

<br />

| Args ||
|---|---|
| `other` | A `TypeSpec`. |

<br />

<br />

<br />

<br />

| Raises ||
|---|---|
| `ValueError` | If there is no TypeSpec that is compatible with both `self` and `other`. |

<br />

### `__eq__`

[View source](https://github.com/tensorflow/tensorflow/blob/v2.14.0/tensorflow/python/framework/type_spec.py#L537-L540)

    __eq__(
        other
    ) -> bool

Return self==value.

### `__ne__`

[View source](https://github.com/tensorflow/tensorflow/blob/v2.14.0/tensorflow/python/framework/type_spec.py#L542-L543)

    __ne__(
        other
    ) -> bool

Return self!=value.