Python – tensorflow.math.unsorted_segment_sum()
TensorFlow是谷歌设计的开源Python库,用于开发机器学习模型和深度学习神经网络。
unsorted_segment_sum()是用来寻找段的总和的。
语法: tensorflow.math.unsorted_segment_sum( data, segment_ids, num_segments, name )
参数 :
- data: 是一个张量。允许的dtypes是浮点或复数。
- segment_ids: 它是带有排序值的一维张量。它的大小应该等于数据的第一维大小。它代表不同段的ID的数量。允许的数据类型是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], dtype = tf.float64)
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_sum(data, segment_ids, tf.constant(3))
# Printing the result
print('Result: ', res)
输出:
data: tf.Tensor([1. 2. 3.], shape=(3, ), dtype=float64)
segment_ids: tf.Tensor([2 2 2], shape=(3, ), dtype=int32)
Result: tf.Tensor([0. 0. 6.], shape=(3, ), dtype=float64)
示例 2:
# importing the library
import tensorflow as tf
# Initializing the input tensor
data = tf.constant([[1, 2, 3], [4, 5, 6], [7, 8, 9]], dtype = tf.float64)
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_sum(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=float64)
segment_ids: tf.Tensor([0 0 2], shape=(3, ), dtype=int32)
Result: tf.Tensor(
[[5. 7. 9.]
[0. 0. 0.]
[7. 8. 9.]], shape=(3, 3), dtype=float64)