softmax中axis参数

article/2025/10/6 21:20:16

从caffe中我们看到softmax有下面这些参数

// Message that stores parameters used by SoftmaxLayer, SoftmaxWithLossLayer
message SoftmaxParameter {enum Engine {DEFAULT = 0;CAFFE = 1;CUDNN = 2;}optional Engine engine = 1 [default = DEFAULT];// The axis along which to perform the softmax -- may be negative to index// from the end (e.g., -1 for the last axis).// Any other axes will be evaluated as independent softmaxes.optional int32 axis = 2 [default = 1];
}

一般来说axis也不需要修改,默认设为1,即在c上做计算。
那么设置不同的axis,结果有什么不同?我们举个例子一目了然;

import tensorflow as tf
import numpy as npa = np.array([[1, 2, 3], [1, 2, 3]])
a = tf.cast(a, tf.float32)
#>>> a
#tf.Tensor: shape=(2, 3), dtype=float32, numpy=
#array([[1., 2., 3.],
#       [1., 2., 3.]], dtype=float32)>
# s1 = tf.nn.softmax(a,axis=0)
print(s1)
#tf.Tensor(
#[[0.5 0.5 0.5]
#[0.5 0.5 0.5]], shape=(2, 3), dtype=float32)s2 = tf.nn.softmax(a,axis=1)
print(s2)
#tf.Tensor(
#[[0.09003057 0.24472848 0.66524094]
#[0.09003057 0.24472848 0.66524094]], shape=(2, 3), dtype=float32)

我们来看看计算过程:
axis = 0时(表示纵轴,方向从上到下)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

axis = 1时(表示横轴,方向从左到右)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
再举一个三维数组深入理解一下

import tensorflow as tf
import numpy as npa = np.array([[[1, 2, 3], [1, 2, 3]],[[4, 5, 6], [4, 5, 6]]])
a = tf.cast(a, tf.float32)
#>>> a
#<tf.Tensor: shape=(2, 2, 3), dtype=float32, numpy=
#array([[[1., 2., 3.],
#        [1., 2., 3.]],
#
#       [[4., 5., 6.],
#        [4., 5., 6.]]], dtype=float32)>
#
s1 = tf.nn.softmax(a,axis=0)
print(s1)
#tf.Tensor(
#[[[0.04742587 0.04742587 0.04742587]
#  [0.04742587 0.04742587 0.04742587]]
#
# [[0.95257413 0.95257413 0.95257413]
#  [0.95257413 0.95257413 0.95257413]]], shape=(2, 2, 3), dtype=float32)s2 = tf.nn.softmax(a,axis=1)
print(s2)
#tf.Tensor(
#[[[0.5 0.5 0.5]
#  [0.5 0.5 0.5]]
#
# [[0.5 0.5 0.5]
#  [0.5 0.5 0.5]]], shape=(2, 2, 3), dtype=float32)s3 = tf.nn.softmax(a,axis=2)
print(s3)
#tf.Tensor(
#[[[0.09003057 0.24472848 0.66524094]
#  [0.09003057 0.24472848 0.66524094]]
#
# [[0.09003057 0.24472848 0.66524094]
#  [0.09003057 0.24472848 0.66524094]]], shape=(2, 2, 3), dtype=float32)

计算过程如下:
axis=0时
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
。。。再来重复上面3个计算3次

axis=1时(1和2的计算和上面二维差不多)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
。。。

在这里插入图片描述
axis=2时
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述


http://chatgpt.dhexx.cn/article/C0IjheqD.shtml

相关文章

Softmax回归

softmax回归学习笔记&#xff1a; 分类问题&#xff1a; 假设数据集图像高和宽均为2像素&#xff0c;色彩为灰度。 例&#xff1a; 数据集真实标签&#xff1a; 狗 y1 猫 y2 鸡 y3 softmax回归模型&#xff1a; softmax回归和线性回归都需要将输入特征与权重做线性叠加。不同的…

softmax函数

输出层的设计 神经网络可以用在分类问题和回归问题上&#xff0c;不过需要根据情况改变输出层的激活函数。一般而言&#xff0c;回归问题用恒等函数&#xff0c;分类问题用softmax函数。机器学习的问题大致可以分为分类问题和回归问题。分类问题是数据属于哪一个类别的问题。比…

输出层的激活函数——softmax函数

概括 机器学习的问题大致可以分为分类问题和回归问题。分类问题是数据属于哪一个类别的问题。比如&#xff0c;区分图像中的人是男性还是女性的问题就是分类问题。而回归问题是根据某个输入预测一个&#xff08;连续的&#xff09;数值的问题。比如&#xff0c;根据一个人的图…

Softmax

又搬了个蒸馏相关~~ 神经网络中的蒸馏技术 “模型集成是一个相当有保证的方法&#xff0c;可以获得2%的准确性。“ —— Andrej Karpathy我绝对同意&#xff01;然而&#xff0c;部署重量级模型的集成在许多情况下并不总是可行的。有时&#xff0c;你的单个模型可能太大(例如G…

初探softmax

什么是softmax Softmax,又称作归一化指数函数。主要用于分类任务&#xff0c;降多分类的结果以概率的形式展现 下图展示softmax计算方法 softmax本质上是归一化网络&#xff0c;目的是将多个标量映射为一个概率分布,其输出的每一个值范围在&#xff08;0&#xff0c;1&#x…

神经网络之softmax(作用,工作原理【示例说明】,损失计算)

1、softmax作用 softmax将输出的分类结果映射到&#xff08;0-1&#xff09;之间&#xff0c;将神经网络的分类结果转化成对应的概率。不同的概率&#xff0c;表示此样本属于对应类别的可能性大小&#xff0c;概率越大&#xff0c;样本属于该分类的可能性越大。概率的总和为1。…

softmax算法详解

softmax简介 在机器学习尤其是深度学习中&#xff0c;softmax是个非常常用而且比较重要的函数&#xff0c;尤其在多分类的场景中使用广泛。他把一些输入映射为0-1之间的实数&#xff0c;并且归一化保证和为1&#xff0c;因此多分类的概率之和也刚好为1。 2.softmax函数的数学…

深度学习softmax函数理解

文章目录 一&#xff0c;引入二&#xff0c;softmax是什么&#xff1f;三&#xff0c;为什么 使用 e x e^x ex实现总结 一&#xff0c;引入 我们为什么要引入这个函数&#xff0c;我们知道在机器学习当中&#xff0c;一些问题大概可以分为两种&#xff0c;一种是分类问题&…

softmax详解

softmax又称归一化指数函数。它是二分类函数sigmoid在多分类上的推广&#xff0c;目的是将多分类的结果以概率的形式展现出来。它将多个神经元的输出&#xff0c;映射到&#xff08;0,1&#xff09;区间内&#xff0c;可以看成概率来理解&#xff0c;从而来进行多分类&#xff…

什么是事务的一致性?

事务的ACID特性 事务主要有四个特性&#xff1a;原子性&#xff08;Atomicity&#xff09;、一致性&#xff08;Consistency&#xff09;、隔离性&#xff08;Isolation&#xff09;、持续性&#xff08;Durability&#xff09; 下面我们分别来介绍着几种性质。 原子性 原子…

什么是事务,事务的用途,分布式事务

先看个例子&#xff1a; 客户A和客户B的银行账户金额都是10000元人民币&#xff0c;客户A需要把自己帐户中的5000元人民币转到客户B的账户上。 这个过程看似简单&#xff0c;实际上涉及了一系列的数据库操作&#xff0c;可以简单地视为两步基本操作&#xff0c;即从客户…

什么是事务和事务隔离级别

目录 1. 什么是事务2. 事务的作用3. 事务隔离所导致的一些问题4. 事务隔离级别 Isolation5. 事务传播行为 Propagation6. 事物隔离级别查看及修改 1. 什么是事务 事务是访问数据库的一个操作序列&#xff0c;数据库应用系统通过事务集来完成对数据库的存取。事务的正确执行使得…

什么是事务的一致性?一致性和原子性的区别是什么?

(PS:黄色字体为二次修改的内容) 关于事务的一致性&#xff0c;《数据库系统概念》中是这样描述的 第二段说的三个特性是指原子性、隔离性、持久性。 就算这样&#xff0c;相信大家也是懵懵的&#xff0c;我也是&#xff0c;所以才会写下这篇博客。 看到别的博客说&#xff0…

数据库得事务控制详解,什么是事务回滚详解,通俗易懂

常用的存储引擎有InnoDB(MySQL5.5以后默认的存储引擎)和MyISAM(MySQL5.5之前默认的存储引擎),其中InnoDB支持事务处理机制,而MyISAM不支持 事务是一个整体, 由一条或者多条SQL语句组成, 这些SQL语句要么都执行成功, 要么就失败, 只要有一条SQL出现异常, 整个操作就会回滚…

什么是事务?如何执行一个事务?

什么是事务&#xff0c;为什么要使用事务&#xff1f; 事务是指将一系列数据操作捆绑成为一个整体进行统一管理&#xff0c;如果某一事务执行成功&#xff0c;则在该事物中进行的所有数据更改均会提交&#xff0c;成为数据库中的永久组成部分&#xff0c; 如果事务执行时遇到错…

什么是事务,事务的ACID特性

一&#xff0e;什么是事务 事务是应用程序中一系列严密的操作&#xff0c;所有操作必须成功完成&#xff0c;否则在每个操作中所作的所有更改都会被撤消。也就是事务具有原子性&#xff0c;一个事务中的一系列的操作要么全部成功&#xff0c;要么一个都不做。 事务的结束有两种…

SQL中什么是事务

SQL中什么是事务 事务的概念&#xff1a; 事务是在数据库上按照一定的逻辑顺序执行的任务序列&#xff0c;既可以由用户手动执行&#xff0c;也可以由某种数据库程序自动执行。事务就是一些SQL语句组&#xff08;每条单独的SQL语句也算一个事务&#xff09;&#xff0c;其中事…

什么是事务?事务的特性?

在mysql中&#xff0c;事务是一种机制、一个操作序列&#xff0c;是访问和更新数据库的程序执行单元。事务中包含一个或多个数据库操作命令&#xff0c;会把所有的命令作为一个整体一起向系统提交或撤销操作请求&#xff0c;即这一组数据库命令要么都执行&#xff0c;要么都不执…

粒子群优化算法求解函数最值

一、实验题目 计算如下二元函数的最小值&#xff1a; &#xff08;其中自变量x、y的范围均为[-50, 50]&#xff09; 用matlab代码实现。代码必须能一键运行。最后输出x,y和z的最优值及收敛到最优值所需的迭代步数。算法关键参数需要注释清楚&#xff08;如权重因子、学习因子…

粒子群优化算法python

粒子群优化算法PSO 粒子群优化算法基本原理算法步骤代码实现 粒子群优化算法 一群鸟在随机搜索食物&#xff0c;在这个区域里只有一块食物。所有的鸟都不知道食物在那里。但是它们知道当前的位置离食物还有多远。那么&#xff0c;找到食物的最简单有效的方法就是搜寻离食物最近…