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.
Note this operation can lead to a loss of precision when converting native
Python float and complex variables to tf.float64 or tf.complex128
tensors, since the input is first converted to the float32 data type and
then widened. It is recommended to use tf.convert_to_tensor instead of
tf.cast for any non-tensor inputs.
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.
|
View source on GitHub