Tensorflow函数之tf.argmax、tf.argmin理解
一、 tf.argmax知识点理解
1.1 作用
找到对应向量或矩阵中的最大值问题。
1.2 表示
tf.argmax的完整表示:tf.argmax(input,axis)
1、input可以是向量、或者矩阵(没有数值,单独一个数,没有比较的意义)。
2、根据axis取值的不同返回每行或者每列最大值的索引。
3、当axis=0,表示比较列,返回每列最大值的索引。当axis=1,表示比较行,返回每行最大值的索引。
1.3 实例
import tensorflow as tf
import numpy as np
A = [[1,3,4,5,6]] #1*5矩阵
B = [[1,3,4], [2,4,1]] #2*3矩阵
C = [1,2,5,7]#向量
with tf.compat.v1.Session() as sess:
print(sess.run(tf.argmax(A, 0)))#在A矩阵中对比每列,结果返回向量
print(sess.run(tf.argmax(B, 0)))#在B矩阵中对比每列
print(sess.run(tf.argmax(A, 1)))#在A矩阵中对比每行
print(sess.run(tf.argmax(B, 1)))#在B矩阵中对比每行
print(sess.run(tf.argmax(C, 0)))#对C向量,只能比较行,结果返回数值
结果:
[0 0 0 0 0]
[1 1 0]
[4]
[2 1]
3
二、 tf.argmin知识点理解
与tf.argmax目的相反,用法相似。
2.1 作用
找到对应向量或矩阵中的最小值问题。
2.2 表示
tf.argmin的完整表示:tf.argmininput,axis)
1、input可以是向量、或者矩阵(没有数值,单独一个数,没有比较的意义)。
2、根据axis取值的不同返回每行或者每列最小值的索引。
3、当axis=0,表示比较列,返回每列最小值的索引。当axis=1,表示比较行,返回每行最小值的索引。
2.3 实例
还是上一个例子为标准,仅更改tf.argmax为tf.argmin,具体代码如下:
import tensorflow as tf
import numpy as np
A = [[1,3,4,5,6]]
B = [[1,3,4], [2,4,1]]
C = [1,2,5,7]
with tf.compat.v1.Session() as sess:
print(sess.run(tf.argmin(A, 0)))
print(sess.run(tf.argmin(B, 0)))
print(sess.run(tf.argmin(A, 1)))
print(sess.run(tf.argmin(B, 1)))
print(sess.run(tf.argmin(C, 0)))
输出:
[0 0 0 0 0]
[0 0 1]
[0]
[0 2]
0