View source on GitHub |
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.cast(x, tf.int32)
<tf.Tensor: shape=(2,), dtype=int32, numpy=array([1, 2], dtype=int32)>
Notice tf.cast
has an alias tf.dtypes.cast
:
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.
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 .
|