CNN之tf.argmax,简单暴力带你学

CNN之tf.argmax,简单暴力带你学

以下代码均在ubunu20.04下完成,与之前版本略有不同,均以改正!!

import tensorflow.compat.v1  as tf
tf.compat.v1.disable_eager_execution()
x=tf.constant([[1.,2.,3.,4.,],[5.,6.,7.,8.],[9.,10.,11.,12.],[13.,14.,15.,16]])
x=tf.reshape(x,[2,2,4,1])//把x分成两大块,两大块里在分两小块,两小块在分成一个4*1的矩阵
c0=tf.argmax(x,axis=0)
c1=tf.argmax(x,axis=1)
c2=tf.argmax(x,axis=2)
c3=tf.argmax(x,axis=3)
with tf.Session() as sess:
	a7=sess.run(c0)
	a8=sess.run(c1)
	a9=sess.run(c2)
	a10=sess.run(c3)
	print(a7)
	print(a8)
	print(a9)
	print(a10)
	

这里是[2,2,4,1]的x,再说一遍,把x分成两大块,两大块里在分两小块,两小块在分成一个4*1的矩阵,观察中括号你就可以发现!!
在这里插入图片描述
重点来咯!!!
axis=0,在0轴啥意思呢:就是在刚才分好的两大块之间分别对比,选取比较大的数字的索引值。
例如1和9,2和10;其中 1 的索引为 0,9 的索引为 1。2和10同理。
因为9大于1,就写1。 10大于2,就写1.
在这里插入图片描述
axis=1,意思就是在1轴进行对比,不懂没关系,这次注意观察两小块,这次就是在两小块之间对比。举例子不废话:1 和 5;2 和 6;;同理 1 的索引是 0 ;5 的索引是 1;谁大就写谁的。简单不,嘿嘿
在这里插入图片描述
axis=2;这个我不多废话,肯定是更小的进行对比。上例子:1 2 3 4 一起比较,1的索引是0,2的的索引是1,3的索引是2,4的索引是3;很明显 4 最大,所以 写 3
在这里插入图片描述
最后一个没人比较 ,都是自己000000,嘿嘿嘿嘿哈
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_51326570/article/details/112909610