# tf.reduce_max()它计算给定张量的全局最大值,但可以指定reduction_indices

x = tf.constant([[1, 220, 55], [4, 3, -1]])
x_max = tf.reduce_max(x, reduction_indices=[1])
print sess.run(x_max)  # ==> "array([220,   4], dtype=int32)"
# 如果您使用tf.argmax(),您可以从不同的张量中获得这些值。

ind_max = tf.argmax(x, dimension=1)
y = tf.constant([[1, 2, 3], [6, 5, 4]])

flat_y = tf.reshape(y, [-1])  # Reshape to a vector.

# N.B. Handles 2-D case only.
flat_ind_max = ind_max + tf.cast(tf.range(tf.shape(y)[0]) * tf.shape(y)[1], tf.int64)

y_ = tf.gather(flat_y, flat_ind_max)

print sess.run(y_) 
# ==> "array([2, 6], dtype=int32)"

tf.range

tf.range 是 TensorFlow 库中的一个函数,它用于生成一个张量(Tensor),该张量包含从指定的起始值开始到结束值结束(不包括结束值)的整数序列。这个函数通常用于创建一个等差数列,可以用于初始化循环、索引或其他需要序列数据的操作。

函数的基本用法如下:

tf.range(start, limit, delta, dtype)

参数说明:

  • start:序列的起始值。
  • limit:序列的结束值(不包括这个值)。
  • delta:序列中每个元素之间的差值,默认为1。
  • dtype:输出张量的数据类型,默认为 tf.int32

下面是一个使用 tf.range 的简单示例:

import tensorflow as tf

# 创建一个从0到4的整数序列,步长为1
sequence = tf.range(0, 5, 1)
print(sequence)  # 输出:tf.Tensor([0 1 2 3 4], shape=(5,), dtype=int32)

这个函数在 TensorFlow 中非常有用,尤其是在需要创建索引或循环迭代时。如果你在使用 TensorFlow 进行深度学习或其他数值计算任务,tf.range 可能会是一个你经常用到的工具。