aboutsummaryrefslogtreecommitdiffhomepage
path: root/tensorflow/core/api_def/base_api/api_def_UniqueWithCountsV2.pbtxt
blob: e21f56ba5b926826a79f10d154bb7b0c2253af2f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
op {
  graph_op_name: "UniqueWithCountsV2"
  in_arg {
    name: "x"
    description: <<END
A `Tensor`.
END
  }
  in_arg {
    name: "axis"
    description: <<END
A `Tensor` of type `int32` (default: None). The axis of the Tensor to
find the unique elements.
END
  }
  out_arg {
    name: "y"
    description: <<END
A `Tensor`. Unique elements along the `axis` of `Tensor` x.
END
  }
  out_arg {
    name: "idx"
    description: <<END
A 1-D Tensor. Has the same type as x that contains the index of each
value of x in the output y.
END
  }
  out_arg {
    name: "count"
    description: <<END
A 1-D Tensor. The count of each value of x in the output y.
END
  }
  summary: "Finds unique elements along an axis of a tensor."
  description: <<END
This operation either returns a tensor `y` containing unique elements
along the `axis` of a tensor. The returned unique elements is sorted
in the same order as they occur along `axis` in `x`.
This operation also returns a tensor `idx` and a tensor `count`
that are the same size as the number of the elements in `x` along the
`axis` dimension. The `idx` contains the index in the unique output `y`
and the `count` contains the count in the unique output `y`.
In other words, for an `1-D` tensor `x` with `axis = None:

`y[idx[i]] = x[i] for i in [0, 1,...,rank(x) - 1]`

For example:

```
# tensor 'x' is [1, 1, 2, 4, 4, 4, 7, 8, 8]
y, idx, count = unique_with_counts(x)
y ==> [1, 2, 4, 7, 8]
idx ==> [0, 0, 1, 2, 2, 2, 3, 4, 4]
count ==> [2, 1, 3, 1, 2]
```

For an `2-D` tensor `x` with `axis = 0`:

```
# tensor 'x' is [[1, 0, 0],
#                [1, 0, 0],
#                [2, 0, 0]]
y, idx, count = unique_with_counts(x, axis=0)
y ==> [[1, 0, 0],
       [2, 0, 0]]
idx ==> [0, 0, 1]
count ==> [2, 1]
```

For an `2-D` tensor `x` with `axis = 1`:

```
# tensor 'x' is [[1, 0, 0],
#                [1, 0, 0],
#                [2, 0, 0]]
y, idx, count = unique_with_counts(x, axis=1)
y ==> [[1, 0],
       [1, 0],
       [2, 0]]
idx ==> [0, 1, 1]
count ==> [1, 2]
```
END
}