tf.cast
Stay organized with collections
Save and categorize content based on your preferences.
Casts a tensor to a new type.
tf.cast(
x, dtype, name=None
)
The operation casts x
(in case of Tensor
) or x.values
(in case of SparseTensor
or IndexedSlices
) to dtype
.
For example:
x = tf.constant([1.8, 2.2], dtype=tf.float32)
tf.dtypes.cast(x, tf.int32)
<tf.Tensor: shape=(2,), dtype=int32, numpy=array([1, 2], dtype=int32)>
The operation supports data types (for x
and dtype
) of
uint8
, uint16
, uint32
, uint64
, int8
, int16
, int32
, int64
,
float16
, float32
, float64
, complex64
, complex128
, bfloat16
.
In case of casting from complex types (complex64
, complex128
) to real
types, only the real part of x
is returned. In case of casting from real
types to complex types (complex64
, complex128
), the imaginary part of the
returned value is set to 0
. The handling of complex types here matches the
behavior of numpy.
Note casting nan and inf values to integral types has undefined behavior.
Args |
x
|
A Tensor or SparseTensor or IndexedSlices of numeric type. It could
be uint8 , uint16 , uint32 , uint64 , int8 , int16 , int32 ,
int64 , float16 , float32 , float64 , complex64 , complex128 ,
bfloat16 .
|
dtype
|
The destination type. The list of supported dtypes is the same as
x .
|
name
|
A name for the operation (optional).
|
Returns |
A Tensor or SparseTensor or IndexedSlices with same shape as x and
same type as dtype .
|
Raises |
TypeError
|
If x cannot be cast to the dtype .
|
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates. Some content is licensed under the numpy license.
Last updated 2021-02-18 UTC.
[null,null,["Last updated 2021-02-18 UTC."],[],[],null,["# tf.cast\n\n\u003cbr /\u003e\n\n|-----------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------|\n| [TensorFlow 1 version](/versions/r1.15/api_docs/python/tf/cast) | [View source on GitHub](https://github.com/tensorflow/tensorflow/blob/v2.4.0/tensorflow/python/ops/math_ops.py#L907-L969) |\n\nCasts a tensor to a new type.\n\n#### View aliases\n\n\n**Main aliases**\n\n[`tf.dtypes.cast`](https://www.tensorflow.org/api_docs/python/tf/cast)\n**Compat aliases for migration**\n\nSee\n[Migration guide](https://www.tensorflow.org/guide/migrate) for\nmore details.\n\n[`tf.compat.v1.cast`](https://www.tensorflow.org/api_docs/python/tf/cast), [`tf.compat.v1.dtypes.cast`](https://www.tensorflow.org/api_docs/python/tf/cast)\n\n\u003cbr /\u003e\n\n tf.cast(\n x, dtype, name=None\n )\n\nThe operation casts `x` (in case of `Tensor`) or `x.values`\n(in case of `SparseTensor` or `IndexedSlices`) to `dtype`.\n\n#### For example:\n\n x = tf.constant([1.8, 2.2], dtype=tf.float32)\n tf.dtypes.cast(x, tf.int32)\n \u003ctf.Tensor: shape=(2,), dtype=int32, numpy=array([1, 2], dtype=int32)\u003e\n\nThe operation supports data types (for `x` and `dtype`) of\n`uint8`, `uint16`, `uint32`, `uint64`, `int8`, `int16`, `int32`, `int64`,\n`float16`, `float32`, `float64`, `complex64`, `complex128`, `bfloat16`.\nIn case of casting from complex types (`complex64`, `complex128`) to real\ntypes, only the real part of `x` is returned. In case of casting from real\ntypes to complex types (`complex64`, `complex128`), the imaginary part of the\nreturned value is set to `0`. The handling of complex types here matches the\nbehavior of numpy.\n\nNote casting nan and inf values to integral types has undefined behavior.\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Args ---- ||\n|---------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `x` | A `Tensor` or `SparseTensor` or `IndexedSlices` of numeric type. It could be `uint8`, `uint16`, `uint32`, `uint64`, `int8`, `int16`, `int32`, `int64`, `float16`, `float32`, `float64`, `complex64`, `complex128`, `bfloat16`. |\n| `dtype` | The destination type. The list of supported dtypes is the same as `x`. |\n| `name` | A name for the operation (optional). |\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Returns ------- ||\n|---|---|\n| A `Tensor` or `SparseTensor` or `IndexedSlices` with same shape as `x` and same type as `dtype`. ||\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Raises ------ ||\n|-------------|---------------------------------------|\n| `TypeError` | If `x` cannot be cast to the `dtype`. |\n\n\u003cbr /\u003e"]]