tf.nn.softmax参数详解以及作用

参考地址:https://zhuanlan.zhihu.com/p/93054123

tf.nn.softmax(logits,axis=None,name=None,dim=None)

  • logits:一个非空的Tensor。必须是下列类型之一:half, float32,float64
  • axis:将在其上执行维度softmax。默认值为-1,表示最后一个维度
  • name:操作的名称(可选)
  • dim:axis的已弃用的别名

输入: 全连接层(往往是模型的最后一层)的值
输出: 归一化的值,含义是属于该位置的概率;
通过Softmax回归,将logistic的预测二分类的概率的问题推广到了n分类的概率的问题。

softmax的输出向量是概率,该样本属于各个类的概率。输出的向量的每个值的大小范围为0到1。
当一个样本经过softmax层并输出一个向量,会取这个向量中值最大的那个数的index作为这个样本的预测标签

返回: 一个Tensor,与logits具有相同的类型和shape,softmax函数的输出不改变维度的大小
用途: 如果做单分类问题,那么输出的值就取top1(最大,argmax);如果做多(N)分类问题,那么输出的值就取topN

softmax的数学计算公式

softmax = tf.exp(logits) / tf.reduce_sum(tf.exp(logits), axis)

计算tf.exp(x)

e为自然底数,值为2.7182818284…
tf.exp(x) = e x

tf.reduce_sum(tensor,axis) 是求和函数

  • tensor: 要减少的张量
  • axis: 要减小的尺寸.
    默认值为None,则缩小所有尺寸.
    为0,按行求和
    为1,按列求和
  • keep_dims:如果为true,则保留长度为1的缩小尺寸.
x = tf.constant([[1, 1, 1], [1, 1, 1]])
sess = tf.InteractiveSession()print(sess.run(tf.reduce_sum(x))) # 6 默认值为None,则缩小所有尺寸.
print(sess.run(tf.reduce_sum(x,0))) # [2,2,2] 为0,按行求和
print(sess.run(tf.reduce_sum(x,0))) # [3,3] 为0,按列求和'''
axis=0是按照行来求和,即把所有的行都加起来,也就是[1+1,1+1,1+1]-->[2,2,2]
axis=1是按照列来求和,即把所有的列都加起来,也就是[1+1+1][1+1+1]-->[3,3]
'''

使用tf.nn.softmax

array = tf.constant([4.0,1.0,5.0], dtype=tf.float32)
sess = tf.InteractiveSession()
print(sess.run(tf.nn.softmax(array))) #[0.26538792 0.01321289 0.7213992 ]

tf.nn.softmax参数详解以及作用相关推荐

  1. pytorch nn.LSTM()参数详解

    输入数据格式: input(seq_len, batch, input_size) h0(num_layers * num_directions, batch, hidden_size) c0(num ...

  2. tf.nn.bidirectional_dynamic_rnn()函数详解

    转载自:https://blog.csdn.net/zhylhy520/article/details/86364789 首先我们了解一下函数的参数 bidirectional_dynamic_rnn ...

  3. tf.nn.conv2d()函数详解(strides与padding的关系)

    tf.nn.conv2d()是TensorFlow中用于创建卷积层的函数,这个函数的调用格式如下: def conv2d(input: Any,filter: Any,strides: Any,pad ...

  4. tf.nn.dynamic_rnn的详解

    tf.nn.dynamic_rnn 其和tf.nn.static_rnn,在输入,输出,参数上有很大的区别,请仔细阅读比较 tf.nn.dynamic_rnn(cell,inputs,sequence ...

  5. tf.nn.sampled_softmax_loss用法详解

    tensorflow中具体的函数说明如下: tf.nn.sampled_softmax_loss(weights, # Shape (num_classes, dim) - floatXXbiases ...

  6. c语言中argc的作用,C语言中 int main(int argc,char *argv[])的两个参数详解

    C语言中 int main(int argc,char *argv[])的两个参数详解 argc是命令行总的参数个数: argv[]是argc个参数,其中第0个参数是程序的全名,以后的参数.命令行后面 ...

  7. 通俗理解tf.nn.conv2d() tf.nn.conv3d( )参数的含义 pytorhc 卷积

    20210609 例如(3,3,(3,7,7))表示的是输入图像的通道数是3,输出图像的通道数是3,(3,7,7)表示过滤器每次处理3帧图像,卷积核的大小是3 x 7 x 7. https://blo ...

  8. Softmax函数详解与推导

    原文:https://www.cnblogs.com/zongfa/p/8971213.html Softmax函数详解与推导 一.softmax函数 softmax用于多分类过程中,它将多个神经元的 ...

  9. nmos导通流向_技术参数详解,MOS管知识最全收录!

    原标题:技术参数详解,MOS管知识最全收录! MOS管,即金属(Metal)-氧化物(Oxide)-半导体(Semiconductor)场效应晶体管,是一种应用场效应原理工作的半导体器件:和普通双极型 ...

最新文章

  1. 激光雷达(LiDAR)点云数据知多少?
  2. R创建分类变量(categorical variable)
  3. 如何用php向wsdl服务器发请求,知道服务器端Wsdl,不写服务端代码,仅写客户端代码能调用服务端的方法吗?...
  4. 如何从Exchange Server 2007/2010上删除邮件
  5. python的优缺点有哪些-python的优缺点有哪些
  6. 斯坦福python中文分词stanza
  7. .NET进阶系列之一:C#正则表达式整理备忘
  8. php image处理,php 中图像压缩处理类(二)imageutil.php
  9. java递归查询无限极分类_sqlserver实现树形结构递归查询(无限极分类)的方法
  10. 扒一扒AI的那些事儿
  11. Python:generator的send()方法流程分析
  12. Atitit Java内容仓库(Java Content Repository,JCR)的JSR-170 文件存储api标准 目录 1. Java内容仓库 1 2. Java内容仓库 2 2.1.
  13. centos查询 硬盘序列号查询_centos 查看硬盘SMART健康信息
  14. 二、AFD-Net: Aggregated Feature Difference Learning for Cross-Spectral Image Patch Matching论文阅读
  15. 有了这三个网站,你再也不用去找其它工具网站了
  16. Yii2 中 checkboxlist 复选框 默认选中
  17. 学成在线网站知识分享
  18. P2P TELNET
  19. python数据可视化开发(2):pandas读取Excel的数据格式处理(数据读取、指定列数据、DataFrame转json、数学运算、透视表运算输出)
  20. 怎样写一篇文章 施工中~

热门文章

  1. aws java mysql_AWS Serverless部署java api(RDS for MySQL篇)
  2. Python入门100题 | 第079题
  3. 爬虫 wordcloud操作
  4. c#多线程实现函数同步运行
  5. zookeeper服务发现实战及原理--spring-cloud-zookeeper源码分析
  6. 老司机谈APK瘦身套路-项目优化篇
  7. 【模型开发】EDA探索性分析
  8. 【区块链-以太坊】5 Ubuntu下truffle ganache安装及使用
  9. 比特币早期投资家:没有人能够阻止其发展 TechWeb 09-27 09:10 凤凰科技讯 据CNBC网站北京时间9月27日报道,风险投资家、“Social+Capital”基金创始人Chamath
  10. 真实而震撼:同班同学20年后,身价15亿与月薪5000元的区别