This operator is similar to the unsorted segment sum operator found
(here)
. Instead of computing the sum over segments, it computes the maximum such that:
\(output_i = {j...} data[j...]\) where max is over tuples
j...
such that
segment_ids[j...] == i
.
If the maximum is empty for a given segment ID
i
, it outputs the smallest possible value for the specific numeric type,
output[i] = numeric_limits
::lowest()
.
If the given segment ID
i
is negative, then the corresponding value is dropped, and will not be included in the result.
segment_ids: A tensor whose shape is a prefix of
data.shape
.
Returns:
Output
: Has same shape as data, except for the first
segment_ids.rank
dimensions, which are replaced with a single dimension which has size
num_segments
.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2021-05-14 UTC."],[],[],null,["# tensorflow::ops::UnsortedSegmentMax Class Reference\n\ntensorflow::\nops::\nUnsortedSegmentMax\n=====================================\n\n`\n#include \u003cmath_ops.h\u003e\n`\n\n\nComputes the maximum along segments of a tensor.\n\nSummary\n-------\n\n\nRead\n[the section on segmentation](https://tensorflow.org/api_docs/python/tf/math#Segmentation)\nfor an explanation of segments.\n\n\nThis operator is similar to the unsorted segment sum operator found\n[(here)](../../../api_docs/python/math_ops.md#UnsortedSegmentSum)\n. Instead of computing the sum over segments, it computes the maximum such that:\n\n\n\\\\(output_i = {j...} data\\[j...\\]\\\\) where max is over tuples\n`\nj...\n`\nsuch that\n`\nsegment_ids[j...] == i\n`\n.\n\n\nIf the maximum is empty for a given segment ID\n`\ni\n`\n, it outputs the smallest possible value for the specific numeric type,\n`\noutput[i] = numeric_limits\n` ::lowest() `\n`\n.\n\n\nIf the given segment ID\n`\ni\n`\nis negative, then the corresponding value is dropped, and will not be included in the result.\n\n\n\u003cbr /\u003e\n\n\nFor example:\n\n\n```gdscript\nc = tf.constant([[1,2,3,4], [5,6,7,8], [4,3,2,1]])\ntf.unsorted_segment_max(c, tf.constant([0, 1, 0]), num_segments=2)\n# ==\u003e [[ 4, 3, 3, 4],\n# [5, 6, 7, 8]]\n```\n\n\u003cbr /\u003e\n\n\nArgs:\n\n- scope: A [Scope](/versions/r2.5/api_docs/cc/class/tensorflow/scope#classtensorflow_1_1_scope) object\n- segment_ids: A tensor whose shape is a prefix of `\n data.shape\n ` .\n\n\u003cbr /\u003e\n\n\nReturns:\n\n- `\n `[Output](/versions/r2.5/api_docs/cc/class/tensorflow/output#classtensorflow_1_1_output)`\n ` : Has same shape as data, except for the first `\n segment_ids.rank\n ` dimensions, which are replaced with a single dimension which has size `\n num_segments\n ` .\n\n\u003cbr /\u003e\n\n| ### Constructors and Destructors ||\n|---|---|\n| ` `[UnsortedSegmentMax](#classtensorflow_1_1ops_1_1_unsorted_segment_max_1aeb19f031754890ec47ed4697181ad221)` (const :: `[tensorflow::Scope](/versions/r2.5/api_docs/cc/class/tensorflow/scope#classtensorflow_1_1_scope)` & scope, :: `[tensorflow::Input](/versions/r2.5/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` data, :: `[tensorflow::Input](/versions/r2.5/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` segment_ids, :: `[tensorflow::Input](/versions/r2.5/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` num_segments) ` ||\n\n| ### Public attributes ||\n|--------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------|\n| ` `[operation](#classtensorflow_1_1ops_1_1_unsorted_segment_max_1a9df170fe16bf74c048a7ff8b8d8e55b2)` ` | ` `[Operation](/versions/r2.5/api_docs/cc/class/tensorflow/operation#classtensorflow_1_1_operation)` ` |\n| ` `[output](#classtensorflow_1_1ops_1_1_unsorted_segment_max_1a7406a8b8c43e7add9be33843cced1a48)` ` | ` :: `[tensorflow::Output](/versions/r2.5/api_docs/cc/class/tensorflow/output#classtensorflow_1_1_output)` ` |\n\n| ### Public functions ||\n|------------------------------------------------------------------------------------------------------------------------------------|--------------------------|\n| ` `[node](#classtensorflow_1_1ops_1_1_unsorted_segment_max_1a3655cb1e37a6e8dca92fd481d04ce919)` () const ` | ` ::tensorflow::Node * ` |\n| ` `[operator::tensorflow::Input](#classtensorflow_1_1ops_1_1_unsorted_segment_max_1a482d2d791129d646d9781c61e2d457bf)` () const ` | ` ` |\n| ` `[operator::tensorflow::Output](#classtensorflow_1_1ops_1_1_unsorted_segment_max_1a06ee890e348271ba3c04223c6149d5a7)` () const ` | ` ` |\n\nPublic attributes\n-----------------\n\n### operation\n\n```text\nOperation operation\n``` \n\n### output\n\n```text\n::tensorflow::Output output\n``` \n\nPublic functions\n----------------\n\n### UnsortedSegmentMax\n\n```gdscript\n UnsortedSegmentMax(\n const ::tensorflow::Scope & scope,\n ::tensorflow::Input data,\n ::tensorflow::Input segment_ids,\n ::tensorflow::Input num_segments\n)\n``` \n\n### node\n\n```gdscript\n::tensorflow::Node * node() const \n``` \n\n### operator::tensorflow::Input\n\n```gdscript\n operator::tensorflow::Input() const \n``` \n\n### operator::tensorflow::Output\n\n```gdscript\n operator::tensorflow::Output() const \n```"]]