U
- data type for output()
output@Operator public final class OneHot<U> extends PrimitiveOp implements Operand<U>
The locations represented by indices in `indices` take value `on_value`, while all other locations take value `off_value`.
If the input `indices` is rank `N`, the output will have rank `N+1`, The new axis is created at dimension `axis` (default: the new axis is appended at the end).
If `indices` is a scalar the output shape will be a vector of length `depth`.
If `indices` is a vector of length `features`, the output shape will be:
features x depth if axis == -1
depth x features if axis == 0
If `indices` 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)
]
Modifier and Type | Class and Description |
---|---|
static class |
OneHot.Options
Optional attributes for
OneHot |
operation
Modifier and Type | Method and Description |
---|---|
Output<U> |
asOutput()
Returns the symbolic handle of a tensor.
|
static OneHot.Options |
axis(Long axis) |
static <U,T extends Number> |
create(Scope scope,
Operand<T> indices,
Operand<Integer> depth,
Operand<U> onValue,
Operand<U> offValue,
OneHot.Options... options)
Factory method to create a class wrapping a new OneHot operation.
|
Output<U> |
output()
The one-hot tensor.
|
equals, hashCode, op, toString
public static <U,T extends Number> OneHot<U> create(Scope scope, Operand<T> indices, Operand<Integer> depth, Operand<U> onValue, Operand<U> offValue, OneHot.Options... options)
scope
- current scopeindices
- A tensor of indices.depth
- A scalar defining the depth of the one hot dimension.onValue
- A scalar defining the value to fill in output when `indices[j] = i`.offValue
- A scalar defining the value to fill in output when `indices[j] != i`.options
- carries optional attributes valuespublic static OneHot.Options axis(Long axis)
axis
- The axis to fill (default: -1, a new inner-most axis).public Output<U> asOutput()
Operand
Inputs to TensorFlow operations are outputs of another TensorFlow operation. This method is used to obtain a symbolic handle that represents the computation of the input.
asOutput
in interface Operand<U>
OperationBuilder.addInput(Output)
Copyright © 2022. All rights reserved.