写代码,看代码都要心中有数,输入是什么,输出是什么,结果是如何计算出来的。

一维数据:

# -*- coding: utf-8 -*-
import torch
import numpy as np
import torch.nn.functional as Fa = [1, 2, 3]
a = torch.from_numpy(np.array(a, dtype=np.float))
b1 = F.softmax(a, dim=0)
b2 = F.softmax(a, dim=-1)
print(b1)
print(b2)

运行结果:

dim=0,列和为1,列的和为1,由于只有一个维度,行在规模上是没有的,虽然眼睛看起来是1行3个数,但是实际上只有一个列维度是3,所以是列和为1,一共3列,那么计算出来的三个数的和应该是1,运行结果中可以看出,确实是,dim=-1和dim=0的结果一致,是循环所致。

二维数据:

# -*- coding: utf-8 -*-
import torch
import numpy as np
import torch.nn.functional as Fa = [[1, 2, 3],[4,5,6]]
a = torch.from_numpy(np.array(a, dtype=np.float))
b1 = F.softmax(a, dim=0)
b2 = F.softmax(a, dim=1)
b3 = F.softmax(a, dim=-1)
print(b1)
print(b2)
print(b3)

运行结果:

dim=-1和dim=1的结果一样,循环所致。

三维数据:

# -*- coding: utf-8 -*-
import torch
import numpy as np
import torch.nn.functional as Fa = [[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [1, 2, 4]]]
a = torch.from_numpy(np.array(a, dtype=np.float))
b1 = F.softmax(a, dim=0)
b2 = F.softmax(a, dim=1)
b3 = F.softmax(a, dim=2)
b4 = F.softmax(a, dim=-1)
print(b1)
print(b2)
print(b3)
print(b4)

运行结果:

dim=-1和dim=2的结果一样,原因嘛,循环所致。

剖析 | torch.nn.functional.softmax维度详解相关推荐

  1. Pytorch之torch.nn.functional.pad函数详解

    torch.nn.functional.pad是PyTorch内置的矩阵填充函数 (1).torch.nn.functional.pad函数详细描述如下: torch.nn.functional.pa ...

  2. KLD Loss( tf.nn.softmax, torch.nn.functional.softmax, log_softmax, kl_div) 计算技巧(一)

    最近在比较不同模型的性能,发现虽然文献中使用的相同的指标,比如KLD.但是数据的处理方式却存在着差异,这会导致最后的数据并不具有直接可比性. 这里记录下,其中的一些值得记住的细节.主要涉及的API包括 ...

  3. pytorch中tf.nn.functional.softmax(x,dim = -1)对参数dim的理解

    torch.nn.functional.Softmax(input,dim=None) tf.nn.functional.softmax(x,dim = -1)中的参数dim是指维度的意思,设置这个参 ...

  4. torch.nn.functional

    1. 非线性激活函数 torch.nn.functional.threshold(input, threshold, value, inplace=False) torch.nn.functional ...

  5. Pytorch的第二步:(1) torch.nn.functional.conv卷积模块详解模块

    torch.nn.functional 涉及了所有 torch.nn 需要 类 和 方法 ,torch.nn 构建的模块通常就是调用 torch.nn.functional 里的方法实现的,通过学习 ...

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

    tf.nn.softmax参数详解以及作用 参考地址:https://zhuanlan.zhihu.com/p/93054123 tf.nn.softmax(logits,axis=None,name ...

  7. mindspore.ops.Pad如何像torch.nn.functional.pad一样可以填充负维度

    torch.nn.functional.pad[x,[-1,-1,-1,-1,]]可以填充负维度,而mindspore.ops.Pad 却不能填充负维度. 但是在官网中写的torch.nn.funct ...

  8. torch.nn.functional.unfold 用法解读

    torch.nn.Unfold(kernel_size, dilation=1, padding=0, stride=1) 参数 kernel_size,滑动窗口的大小 dilation,和空洞卷积中 ...

  9. torch.nn.functional.pad

    作用 用来对一个tensor进行填充.最典型的就是图片了,原来是2*2的,现在想要变成3*3的,那么就需要填充,此时有很多选择,例如是在原来的右上进行填充还是左下?又或者是左上?等等. 这个函数就可以 ...

最新文章

  1. 互斥信号量的原理与创建
  2. java解析xml实例_在java中使用dom解析xml的示例分析
  3. Luogu P1122 最大子树和 树形DP
  4. 陆奇:疫情后将出现哪些创业新机会?
  5. 使用Zabbix进行IPMI监控
  6. 如何在 iOS 15 和 macOS Monterey 的 Safari 中隐藏 IP 地址?
  7. StringFormate使用
  8. MyBatis 的 4 个妙用,别再踩坑了!
  9. 使用Redis进行简单的数据缓存
  10. 2:Carmaker+Simulink+Canoe联合仿真,搭建ADAS HIL测试环境
  11. Mybatis学习之路——看这一篇文章,深刻学会Mybatis
  12. java写入到excel表格乱码怎么办,数据库导出excel表格是乱码-java导出excel表格乱码!...
  13. 股债轮动Python实现
  14. yii2-imagine 使用方法
  15. 智慧公厕擦手纸洗手液余量实时在线统计
  16. SNETCracker:开源的超级弱口令检查审计工具,支持批量多线程
  17. XSS与字符编码的那些事儿
  18. win10下编译OpenCV的微信二维码库给Dotnet使用
  19. C/C++ 中 exit() 函数
  20. C++经验:做题技巧、思路

热门文章

  1. 转载---SQL Server XML基础学习之5--XQuery(query)
  2. dbms_job涉及到的知识点
  3. 64win7+64Oracle+32plsql
  4. mySQL教程 第1章 数据库设计
  5. 学习之模块架构 DotNetNuke 6
  6. 适合前端工作者的iPhone Web App开发
  7. 函数指针声明时的形参列表可以没有
  8. MySql like 查询 变向写法(不用like 完成like查询)
  9. buildroot output子目录
  10. 6-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案升级篇(远程升级STM32程序,基于Wi-Fi,同时支持升级Wi-Fi,APP控制版)...