OneHot
tensorflow C++ API
Returns a one-hot tensor.
Summary
The locations represented by indices inindices
take valueon_value
, while all other locations take valueoff_value
.
If the inputindices
is rankN
, the output will have rankN+1
, The new axis is created at dimensionaxis
(default: the new axis is appended at the end).
Ifindices
is a scalar the output shape will be a vector of lengthdepth
.
Ifindices
is a vector of lengthfeatures
, the output shape will be: ``` features x depth if axis == -1 depth x features if axis == 0 ```
Ifindices
is a matrix (batch) with shape[batch, features]
, the output shape will be: ``` batch x features x depth if axis == -1 batch x depth x features if axis == 1 depth x batch x features if axis == 0 ```
Examples
Suppose that
``` indices = [0, 2, -1, 1] depth = 3 on_value = 5.0 off_value = 0.0 axis = -1 ```
Then output is[4 x 3]
:
```output =
[5.0 0.0 0.0] // one_hot(0)
[0.0 0.0 5.0] // one_hot(2)
[0.0 0.0 0.0] // one_hot(-1)
[0.0 5.0 0.0] // one_hot(1)
```
Suppose that
``` indices = [0, 2, -1, 1] depth = 3 on_value = 0.0 off_value = 3.0 axis = 0 ```
Then output is[3 x 4]
:
```output =
[0.0 3.0 3.0 3.0]
[3.0 3.0 3.0 0.0]
[3.0 3.0 3.0 3.0]
[3.0 0.0 3.0 3.0]
// ^ one_hot(0)
// ^ one_hot(2)
// ^ one_hot(-1)
// ^ one_hot(1)
```
Suppose that
``` indices = [[0, 2], [1, -1]] depth = 3 on_value = 1.0 off_value = 0.0 axis = -1 ```
Then output is[2 x 2 x 3]
:
```output =
[
[1.0, 0.0, 0.0] // one_hot(0)
[0.0, 0.0, 1.0] // one_hot(2)
][
[0.0, 1.0, 0.0] // one_hot(1)
[0.0, 0.0, 0.0] // one_hot(-1)
]```
Arguments:
- scope: A Scope object
- indices: A tensor of indices.
- depth: A scalar defining the depth of the one hot dimension.
- on_value: A scalar defining the value to fill in output when
indices[j] = i
. - off_value: A scalar defining the value to fill in output when
indices[j] != i
.
Optional attributes (seeAttrs
):
- axis: The axis to fill (default: -1, a new inner-most axis).
Returns:
Output
: The one-hot tensor.
OneHot block
Source link :https://github.com/EXPNUNI/enuSpaceTensorflow/blob/master/enuSpaceTensorflow/tf_array_ops.cpp
Argument:
- Scope scope : A Scope object (A scope is generated automatically each page. A scope is not connected.)
- Input indices: A tensor of indices.
- Input depth: A scalar defining the depth of the one hot dimension.
- Input off_value: A scalar defining the value to fill in output when
indices[j] != i
. - Input on_value: A scalar defining the value to fill in output when
indices[j] = i
. - OneHot::Attrs attrs: The axis to fill (default: -1, a new inner-most axis).
Output:
- Output output : Output object of OneHot class object.
Result:
- std::vector(Tensor)
result_output
: A Tensor. have (indices vector size * depth value) shape and indices[N] of index inon_value