Spec-Zone.ru › TensorFlow C++

tensorflow::ops::SegmentMaxV2

#include <math_ops.h>

Вычисляет максимум по сегментам тензора.

Краткое описание

Прочитайте раздел о сегментации, чтобы узнать больше о сегментах.

Вычисляет тензор, такой что \(output_i = \max_j(data_j)\), где max — по j, таким что segment_ids[j] == i.

Если для заданного идентификатора сегмента i максимум не определён, возвращается наименьшее возможное значение для соответствующего числового типа, output[i] = numeric_limits::lowest().

Примечание: в настоящее время эта операция поддерживается только при jit_compile=True.

Внимание: на CPU значения в segment_ids всегда проверяются на упорядоченность, и для индексов, расположенных не по возрастанию, возникает ошибка. На GPU проверка индексов на упорядоченность не приводит к ошибке. На GPU индексы, расположенные не по порядку, приводят к безопасному, но неопределённому поведению; в частности, такие индексы могут обрабатываться как следующий за ними меньший индекс.

Единственное отличие от SegmentMax — дополнительный входной параметр num_segments. Это помогает вычислить форму выходного тензора во время компиляции. num_segments должен согласовываться с segment_ids. Например, Max(segment_ids) должен быть равен num_segments - 1 для одномерного segment_ids. Операция выполняется и при несогласованном num_segments; отличается лишь размер выходного тензора: он определяется num_segments независимо от размеров segment_ids и data. Если num_segments меньше ожидаемого размера выходного тензора, последние элементы игнорируются. Если num_segments больше ожидаемого размера выходного тензора, для последних элементов устанавливается наименьшее возможное значение для соответствующего числового типа.

Например:

.function(jit_compile=True) ... def test(c): ... return tf.raw_ops.SegmentMaxV2(data=c, segment_ids=tf.constant([0, 0, 1]), num_segments=2) c = tf.constant([[1,2,3,4], [4, 3, 2, 1], [5,6,7,8]]) test(c).numpy() array([[4, 3, 3, 4], [5, 6, 7, 8]], dtype=int32)

Аргументы:

  • scope: объект Scope
  • segment_ids: одномерный тензор, размер которого равен размеру первого измерения data. Значения должны быть отсортированы; допускаются повторяющиеся значения. Значения должны быть меньше num_segments.

Внимание: на CPU значения всегда проверяются на упорядоченность, на GPU такая проверка не выполняется.

Возвращает:

  • Output: имеет ту же форму, что и data, за исключением первых segment_ids.rank измерений, которые заменяются одним измерением размером num_segments.
Конструкторы и деструкторы
SegmentMaxV2(const ::tensorflow::Scope & scope, ::tensorflow::Input data, ::tensorflow::Input segment_ids, ::tensorflow::Input num_segments)
Открытые атрибуты
operation
Operation
output
::tensorflow::Output
Открытые функции
node() const
::tensorflow::Node *
operator::tensorflow::Input() const
operator::tensorflow::Output() const

Открытые атрибуты

operation

Operation operation

output

::tensorflow::Output output

Открытые функции

SegmentMaxV2

 SegmentMaxV2(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input data,
  ::tensorflow::Input segment_ids,
  ::tensorflow::Input num_segments
)

node

::tensorflow::Node * node() const 

operator::tensorflow::Input

operator::tensorflow::Input() const 

operator::tensorflow::Output

operator::tensorflow::Output() const 

© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/api_docs/cc/class/tensorflow/ops/segment-max-v2

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API