# tensorflow::ops::Where3

`#include <math_ops.h>`

Selects elements from `x` or `y`, depending on `condition`.

## Summary

The `x`, and `y` tensors must all have the same shape, and the output will also have that shape.

The `condition` tensor must be a scalar if `x` and `y` are scalars. If `x` and `y` are vectors or higher rank, then `condition` must be either a scalar, a vector with size matching the first dimension of `x`, or must have the same shape as `x`.

The `condition` tensor acts as a mask that chooses, based on the value at each element, whether the corresponding element / row in the output should be taken from `x` (if true) or `y` (if false).

If `condition` is a vector and `x` and `y` are higher rank matrices, then it chooses which row (outer dimension) to copy from `x` and `y`. If `condition` has the same shape as `x` and `y`, then it chooses which element to copy from `x` and `y`.

For example:

```# 'condition' tensor is [[True,  False]
#                        [False, True]]
# 't' is [[1, 2],
#         [3, 4]]
# 'e' is [[5, 6],
#         [7, 8]]
select(condition, t, e)  # => [[1, 6], [7, 4]]```

```# 'condition' tensor is [True, False]
# 't' is [[1, 2],
#         [3, 4]]
# 'e' is [[5, 6],
#         [7, 8]]
select(condition, t, e) ==> [[1, 2],
[7, 8]]```

```
Arguments:
scope: A Scope object
x: = A `Tensor` which may have the same shape as `condition`. If `condition` is rank 1, `x` may have higher rank, but its first dimension must match the size of `condition`.
y: = A `Tensor` with the same type and shape as `x`.

Returns:
`Output`: = A `Tensor` with the same type and shape as `x` and `y`.

Constructors and Destructors

`Where3(const ::tensorflow::Scope & scope, ::tensorflow::Input condition, ::tensorflow::Input x, ::tensorflow::Input y)`

Public attributes

`operation`

`Operation`

`output`

`::tensorflow::Output`

Public functions

`node() const `

`::tensorflow::Node *`

`operator::tensorflow::Input() const `

```
``````
```

`operator::tensorflow::Output() const `

```
``````
```

Public attributes

operation
Operation operation

output
::tensorflow::Output output

Public functions

Where3
Where3(
const ::tensorflow::Scope & scope,
::tensorflow::Input condition,
::tensorflow::Input x,
::tensorflow::Input y
)

node
::tensorflow::Node * node() const

operator::tensorflow::Input
operator::tensorflow::Input() const

operator::tensorflow::Output
operator::tensorflow::Output() const

[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"必要な情報がない"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"複雑すぎる / 手順が多すぎる"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"最新ではない"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"Samples / code issue"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"その他"
}]

[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"わかりやすい"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"問題の解決に役立った"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"その他"
}]

```