Attend the Women in ML Symposium on December 7

# tfp.experimental.distributions.marginal_fns.ps.cast

Stay organized with collections Save and categorize content based on your preferences.

Casts a tensor to a new type.

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.

`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).

A `Tensor` or `SparseTensor` or `IndexedSlices` with same shape as `x` and same type as `dtype`.

`TypeError` If `x` cannot be cast to the `dtype`.

[{ "type": "thumb-down", "id": "missingTheInformationINeed", "label":"Missing the information I need" },{ "type": "thumb-down", "id": "tooComplicatedTooManySteps", "label":"Too complicated / too many steps" },{ "type": "thumb-down", "id": "outOfDate", "label":"Out of date" },{ "type": "thumb-down", "id": "samplesCodeIssue", "label":"Samples / code issue" },{ "type": "thumb-down", "id": "otherDown", "label":"Other" }]
[{ "type": "thumb-up", "id": "easyToUnderstand", "label":"Easy to understand" },{ "type": "thumb-up", "id": "solvedMyProblem", "label":"Solved my problem" },{ "type": "thumb-up", "id": "otherUp", "label":"Other" }]