Python – tensorflow.gather_nd()
TensorFlow 是由 Google 设计的开源Python库,用于开发机器学习模型和深度学习神经网络。
collect_nd()用于根据提供的索引从输入张量中收集切片。
Syntax: tensorflow.gather_nd( params, indices, batch_dims, name)
Parameters:
- params: It is a Tensor with rank greater than or equal to axis+1.
- indices: It is a Tensor of dtype int32 or int64.
- batch_dims: It is an integer representing the number o batch dimension. It must be less than rank(indices).
- name: It defines the name for the operation.
Returns:
It returns a Tensor having same dtype as param.
示例 1:
Python3
# Importing the library
import tensorflow as tf
# Initializing the input
data = tf.constant([[1, 2], [3, 4], [5, 6]])
indices = tf.constant([[1], [0], [1]])
# Printing the input
print('data: ',data)
print('indices: ',indices)
# Calculating result
res = tf.gather_nd(data, indices)
# Printing the result
print('res: ',res)
Python3
# Importing the library
import tensorflow as tf
# Initializing the input
data = tf.constant([[1, 2, 3], [3, 4, 5], [5, 6, 7]])
indices = tf.constant([[1, 0], [0, 2], [1, 2]])
# Printing the input
print('data: ',data)
print('indices: ',indices)
# Calculating result
res = tf.gather_nd(data, indices)
# Printing the result
print('res: ',res)
输出:
data: tf.Tensor(
[[1 2]
[3 4]
[5 6]], shape=(3, 2), dtype=int32)
indices: tf.Tensor(
[[1]
[0]
[1]], shape=(3, 1), dtype=int32)
res: tf.Tensor(
[[3 4]
[1 2]
[3 4]], shape=(3, 2), dtype=int32)
示例 2:
Python3
# Importing the library
import tensorflow as tf
# Initializing the input
data = tf.constant([[1, 2, 3], [3, 4, 5], [5, 6, 7]])
indices = tf.constant([[1, 0], [0, 2], [1, 2]])
# Printing the input
print('data: ',data)
print('indices: ',indices)
# Calculating result
res = tf.gather_nd(data, indices)
# Printing the result
print('res: ',res)
输出:
data: tf.Tensor(
[[1 2 3]
[3 4 5]
[5 6 7]], shape=(3, 3), dtype=int32)
indices: tf.Tensor(
[[1 0]
[0 2]
[1 2]], shape=(3, 2), dtype=int32)
res: tf.Tensor([3 3 5], shape=(3,), dtype=int32)