简单明了的Softmax解析
Pytorch Softmax用法
原文链接:https://blog.csdn.net/sinat_40258777/article/details/120275989
pytorch中的softmax主要存在于两个包中分别是:
torch.nn.Softmax(dim=None)
torch.nn.functional.softmax(input, dim=None, _stacklevel=3, dtype=None)
下面分别介绍其用法:
torch.nn.Softmax
torch.nn.Softmax中只要一个参数:来制定归一化维度如果是dim=0指代的是行,dim=1指代的是列。
import torch
import torch.nn as nn
input_0 = torch.Tensor([1,2,3,4])
input_1 = torch.Tensor([[1,2,3,4],[5,6,7,8]])
#规定不同方向的softmax
softmax_0 = nn.Softmax(dim=0)
softmax_1 = nn.Softmax(dim=1 )
#对不同维度的张量试验
output_0 = softmax_0(input_0)
output_1 = softmax_1(input_1)
output_2 = softmax_0(input_1)
#输出
print(output_0)
print(output_1)
print(output_2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
输出:
tensor([0.0321, 0.0871, 0.2369, 0.6439])
tensor([[0.0321, 0.0871, 0.2369, 0.6439],
[0.0321, 0.0871, 0.2369, 0.6439]])
tensor([[0.0180, 0.0180, 0.0180, 0.0180],
[0.9820, 0.9820, 0.9820, 0.9820]])
1
2
3
4
5
torch.nn.functional.softmax
与上面介绍不同的是torch.nn.Softmax,多了一个参数(input:输入的张量)
import torch
import torch.nn.functional as F
input_0 = torch.Tensor([1,2,3,4])
input_1 = torch.Tensor([[1,2,3,4],[5,6,7,8]])
output_0 = F.softmax(input_0)
output_1 = F.softmax(input_1,dim=0)
output_2 = F.softmax(input_1,dim=1)
print(output_0)
print(output_1)
print(output_2)
1
2
3
4
5
6
7
8
9
10
输出
tensor([0.0321, 0.0871, 0.2369, 0.6439])
tensor([[0.0180, 0.0180, 0.0180, 0.0180],
[0.9820, 0.9820, 0.9820, 0.9820]])
tensor([[0.0321, 0.0871, 0.2369, 0.6439],
[0.0321, 0.0871, 0.2369, 0.6439]])
1
2
3
4
5
对于log_softmax和softmax用法一模一样,但是输出结果不一样本
对于一些较大的数可以采取log_softmax,来防止溢出
简单明了的Softmax解析相关推荐
- 也许开发需要的只是一份简单明了的表格
本人原先是一名移动端开发工程师,本来是要一条道走到黑,准备做个it大咖,结果事与愿违,走到了测试的道路上.今天介绍一件通信测试上发生的事. 公司为青海移动做个项目,处于系统测试阶段,对各个系统进行测试 ...
- python编写登录_通过Python编写一个简单登录功能过程解析
通过Python编写一个简单登录功能过程解析 需求: 写一个登录的程序, 1.最多登陆失败3次 2.登录成功,提示欢迎xx登录,今天的日期是xxx,程序结束 3.要检验输入是否为空,账号和密码不能为空 ...
- 前端神器之Sublime Text2/3简单明了使用总结
为什么叫神器呢? 我总结如下: 第一:也是最重要的,它占内存很小(就如同notepad++那般迅速打开,所以那款其实也不错~).一般IDE比如WebStorm(它也是一款神器来着),Aptana(也比 ...
- Python面向对象编程(类编程)中self的含义详解(简单明了直击本质的解释)
以下是博主认为的对self讲解得比较透彻又简洁明了的资料. 上面的资料把这个问题说得简单明了,大家认真看一遍相信就对self有个深入的了解了. 总结一下: 在Python为面向对象编程中,成员函数被调 ...
- 最简单明了的QQ在线客服代码
最近老用来QQ在线客服代码,网上找的都不太顺手,自己写一个简单,只上下飘动. 源码下载:网站被封了,源码下载不了,但是这个源码很简单,相信有点基础的人都知道怎样用. floatAd.js代码如下: v ...
- 简单明了的正则表达式汇总
简单明了的正则表达式汇总!!! 资源来源:编程胶囊官网 基础正则总结 实例 描述 [Pp]ython 匹配"Python"或"python". rub[ye] ...
- 简单明了实现Java地图小程序项目
简单明了实现Java地图小程序项目 ✨博主介绍 前言 地图概述 地图技术 地图应用场景 网约车服务 智能穿戴 智能物流 智能景区 车联网 国内常见地图 地图API与搜索 JS API GL(演示百度地 ...
- 【log4j 2.x】【log4j日志升级漏洞修复】log4j2日志 [简单明了][一眼就会]
大多同学说的不是很全,写的不是很具体. 在此,本人出一篇简单明了的详细教程: 先看效果: 目录: 1.加载log4j 2包 2.配置xml文件 3.写测试并运行 4.log指定文件:自动打印info. ...
- pattern java怎么用_Pattern Java设计模式23种每个一个举例使用,名称直接对应英文,简单明了 Develop 238万源代码下载- www.pudn.com...
文件名称: Pattern下载 收藏√ [ 5 4 3 2 1 ] 开发工具: Java 文件大小: 156 KB 上传时间: 2014-05-17 下载次数: 2 提 供 者: 王小雄 详 ...
最新文章
- 准IT工作者如何择师、如何学习
- server 2008 mysql 报错 0xc000007b_docker插件部署项目,volumes报错invalid volume specification...
- 如何在Oracle11中配置st_shapelib
- MVC3教程之新手入门(转)
- C++ Primer 5th笔记(chap 19 特殊工具与技术)type_info 类
- jquery 如何保存拖动空间的位置
- loadruner11 socket脚本-10053错误
- (Matlab问题解决)运行matlab程序后,工作区不能显示变量
- linux sftp密码错误,linux个别用户sftp坏掉,验证密码后卡住, 大概是什么问题?...
- POJ 1141 Brackets Sequence
- Detour hook库x64编译
- 软件工程之软件质量管理
- 用C# 设置excel单元格格式
- html caption 靠左,HTML caption align 属性
- 【免费资源分享】给大家分享一款自己编写的免费语音合成软件,免费文字转语音,无需提供任何接口么,傻瓜式使用!
- 产品经理,原型设计之前你要做些什么?
- SUDA歌单管理软件,支持Spotify\Tidal\QQ\网易云导入导出歌单
- uniapp动态图片加载不出来
- NDB和InnoDB存储引擎比较
- 我的电脑硬盘由SSD+HD组合,在HD上成功安装CentOS6.9