如何使用张量索引访问张量流Tensor
中的男高音元素,如下所示:
import tensorflow as tf
import numpy as np
# indexing in numpy [Working]
matrix = np.random.randint(0, 10, [100, 100])
indices = np.random.randint(0, 100, [1000, 100])
elements = matrix[indices[:, 0], indices[:, 1]]
# indexing in tensorflow [Not working]
tf_matrix = tf.constant(matrix, dtype=tf.int32)
tf_indices = tf.constant(indices, dtype=tf.int32)
tf_elements = tf_matrix[tf_indices[:, 0], tf_indices[:, 1]] # Error
session = tf.Session()
session.run(tf_elements)
我收到这些错误:
tensorflow.python.framework.errors_impl。无效参数错误:形状 必须是等级 1,但对于"strided_slice_2"(OP: "StridedSlice"(,输入形状为:[100,100]、[2,1000]、[2,1000]、[2]。
值错误:形状必须是等级 1,但对于"strided_slice_2",形状的等级为 2 (op: 'StridedSlice'( 输入形状: [100,100], [2,1000], [2,1000], [2]。
tf_elements = tf.gather_nd(tf_matrix, tf_indices[:, 0:2])