Python TensorFlow:``tensorflow.math.unsorted_segment_max()`` 函数详解


发布日期 : 2022-09-19 06:56:16 UTC

访问量: 10 次浏览

Python – tensorflow.math.unsorted\_segment\_max()

TensorFlow是谷歌设计的开源Python库,用于开发机器学习模型和深度学习神经网络。

unsorted\_segment\_max()用于查找张量的段中的最大元素。

语法:
tensorflow.math.unsorted_segment_max( data, segment_ids, num_segments, name )

参数 :

  • data: 它是一个张量。允许的 dtypes 是float32, float64, int32, uint8, int16, int8, int64, bfloat16, uint16, half, uint32, uint64。
  • segment\_ids: 它是带有排序值的一维张量。它的大小应该等于数据的第一维的大小。允许的d类型是int32和int64。
  • num\_segments: 它是一个张量。允许的 dtypes 是int32和int64。
  • name(可选): 它定义了该操作的名称。

返回:
它返回一个dtype的张量为x。

示例 1:

# importing the library
import tensorflow as tf

# Initializing the input tensor
data = tf.constant([1, 2, 3])
segment_ids = tf.constant([2, 2, 2])

# Printing the input tensor
print('data: ', data)
print('segment_ids: ', segment_ids)

# Calculating result
res = tf.math.unsorted_segment_max(data, segment_ids, tf.constant(3))

# Printing the result
print('Result: ', res)

输出:

data: tf.Tensor([1 2 3], shape=(3, ), dtype=int32)
segment_ids: tf.Tensor([2 2 2], shape=(3, ), dtype=int32)
Result: tf.Tensor([-2147483648 -2147483648 3], shape=(3, ), dtype=int32)

示例 2:

# importing the library
import tensorflow as tf

# Initializing the input tensor
data = tf.constant([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
segment_ids = tf.constant([0, 0, 2])

# Printing the input tensor
print('data: ', data)
print('segment_ids: ', segment_ids)

# Calculating result
res = tf.math.unsorted_segment_max(data, segment_ids, tf.constant(3))

# Printing the result
print('Result: ', res)

输出:

data: tf.Tensor(
[[1 2 3]
[4 5 6]
[7 8 9]], shape=(3, 3), dtype=int32)
segment_ids: tf.Tensor([0 0 2], shape=(3, ), dtype=int32)
Result: tf.Tensor(
[[ 4 5 6]
[-2147483648 -2147483648 -2147483648]
[ 7 8 9]], shape=(3, 3), dtype=int32)