OneHot
tensorflow C++ API
Returns a one-hot tensor.
Summary
The locations represented by indices inindicestake valueon_value, while all other locations take valueoff_value.
If the inputindicesis rankN, the output will have rankN+1, The new axis is created at dimensionaxis(default: the new axis is appended at the end).
Ifindicesis a scalar the output shape will be a vector of lengthdepth.
Ifindicesis a vector of lengthfeatures, the output shape will be: ``` features x depth if axis == -1 depth x features if axis == 0 ```
Ifindicesis 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