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