TensorFlow argmax函数

之前对这个函数理解一直有误。

以为是获取一个张量中,行/列的最大值。

其实他获取的是行/列中最大值的索引号

tf.argmax(input, axis=None, name=None, dimension=None)

axis:0按列,1按行。

举个例子

[[1,2,3,4]]

A=[[1,2,3,4]]
tf.argmax(A, 0)
tf.argmax(A, 1)

会得到

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #000000; background-color: #ffffff }
span.s1 { }

[0 0 0 0]

[3]

因为按列算,每一列的第唯一一个数组就是最大的数字,其索引号都是0。所以所有的列返回的都是0,总共有4列所以返回:[0,0,0,0]

按行计算得到的就是这一行4个数字中最大的数字4的索引号:3所以返回[3]

TensorFlow MNIST最佳实践中计算交叉熵的时候就使用了这个函数:

cross_entropy = tf.nn.sparse_softmax_cross_entropy_with_logits(logits=y, labels=tf.argmax(y_, 1))

在计算单一分类问题的交叉熵时,通常是这样绑定使用的。

这里的y_是测试数据的真实值。y是我们神经网络预测的值。

这里通过tf.argmax(y_, 1)方法,就获取到正确答案的序号了。然后再进行交叉熵的计算。

参考链接:

http://blog.csdn.net/zj360202/article/details/70259999

http://blog.csdn.net/UESTC_C2_403/article/details/72232807

时间: 2024-10-19 01:37:32

TensorFlow argmax函数的相关文章

『TensorFlow』函数查询列表_神经网络相关

神经网络(Neural Network) 激活函数(Activation Functions) 操作 描述 tf.nn.relu(features, name=None) 整流函数:max(features, 0) tf.nn.relu6(features, name=None) 以6为阈值的整流函数:min(max(features, 0), 6) tf.nn.elu(features, name=None) elu函数,exp(features) - 1 if < 0,否则featuresE

【Tensorflow】tf.argmax函数

tf.argmax(input, axis=None, name=None, dimension=None) 此函数是对矩阵按行或列计算最大值 参数 input:输入Tensor axis:0表示按列,1表示按行 name:名称 dimension:和axis功能一样,默认axis取值优先.新加的字段 返回:Tensor  一般是行或列的最大值下标向量 例: import tensorflow as tf a=tf.get_variable(name='a', shape=[3,4], dtyp

TensorFlow 常用函数汇总

本文介绍了tensorflow的常用函数,源自网上整理. TensorFlow 将图形定义转换成分布式执行的操作, 以充分利用可用的计算资源(如 CPU 或 GPU.一般你不需要显式指定使用 CPU 还是 GPU, TensorFlow 能自动检测.如果检测到 GPU, TensorFlow 会尽可能地利用找到的第一个 GPU 来执行操作.并行计算能让代价大的算法计算加速执行,TensorFlow也在实现上对复杂操作进行了有效的改进.大部分核相关的操作都是设备相关的实现,比如GPU. 下面是一些

TensorFlow 常用函数与方法

摘要:本文主要对tf的一些常用概念与方法进行描述. tf函数 TensorFlow 将图形定义转换成分布式执行的操作, 以充分利用可用的计算资源(如 CPU 或 GPU.一般你不需要显式指定使用 CPU 还是 GPU, TensorFlow 能自动检测.如果检测到 GPU, TensorFlow 会尽可能地利用找到的第一个 GPU 来执行操作. 并行计算能让代价大的算法计算加速执行,TensorFlow也在实现上对复杂操作进行了有效的改进.大部分核相关的操作都是设备相关的实现,比如GPU.下面是

tensorflow l2_normalize函数

1.l2_normalize函数 tf.nn.l2_normalize(x, dim, epsilon=1e-12, name=None) 解释:这个函数的作用是利用 L2 范数对指定维度 dim 进行标准化. 比如,对于一个一维的张量,指定维度 dim = 0,那么计算结果为: output = x / sqrt( max( sum( x ** 2 ) , epsilon ) ) 假设 x 是多维度的,那么标准化只会独立的对维度 dim 进行,不会影响到别的维度. 2.tensorflow实现

tensorflow l2_loss函数

1.l2_loss函数 tf.nn.l2_loss(t, name=None) 解释:这个函数的作用是利用 L2 范数来计算张量的误差值,但是没有开方并且只取 L2 范数的值的一半,具体如下: output = sum(t ** 2) / 2 2.tensorflow实现 import tensorflow as tf a=tf.constant([1,2,3],dtype=tf.float32) b=tf.constant([[1,1],[2,2],[3,3]],dtype=tf.float3

tensorflow elu函数应用

1.elu函数 图像: 2.tensorflow elu应用 import tensorflow as tf input=tf.constant([0,-1,2,-3],dtype=tf.float32) output=tf.nn.elu(input) with tf.Session() as sess: print('input:') print(sess.run(input)) print('output:') print(sess.run(output)) sess.close() 输出结

tensorflow softsign函数应用

1.softsign函数 图像 2.tensorflow softsign应用 import tensorflow as tf input=tf.constant([0,-1,2,-30,30],dtype=tf.float32) output=tf.nn.softsign(input) with tf.Session() as sess: print('input:') print(sess.run(input)) print('output:') print(sess.run(output)

(原)tensorflow中函数执行完毕,显存不自动释放

转载请注明出处: http://www.cnblogs.com/darkknightzh/p/7608916.html 参考网址: https://stackoverflow.com/questions/39758094/clearing-tensorflow-gpu-memory-after-model-execution https://github.com/tensorflow/tensorflow/issues/1727#issuecomment-285815312s tensorflo