这段时间看见分布式、并行之类的词语就害怕,结果这个是 distributions,分布,就是一些表征分布的函数们

签名:

torch.distributions.categorical.Categorical(probs=None, logits=None, validate_args=None)

Creates a categorical distribution parameterized by either probs or logits (but not both).
创建一个离散的类别分布,参数由 probslogits, 二者其一指定

If probs is 1-dimensional with length-K, each element is the relative probability of sampling the class at that index.

If probs is N-dimensional, the first N-1 dimensions are treated as a batch of relative probability vectors.

如果 probs 是个一维的长度为K的张量,则每个元素是索引对应的类别的相对概率,将通过该概率进行采样
probs 是N维张量,前N-1维只会被视为响应的 Batch, 这个不好翻译,直接看例子把

第一个例子(官方Demo):

>>> m = Categorical(torch.tensor([ 0.25, 0.25, 0.25, 0.25 ]))
>>> m.sample()  # 等概率的返回 0, 1, 2, 3

第二个例子:

probs = torch.FloatTensor([[0.05,0.1,0.85],[0.05,0.05,0.9]])dist = Categorical(probs)
print(dist)
# Categorical(probs: torch.Size([2, 3]))index = dist.sample()
print(index.numpy())
# 很大概率会是 [2 2]

如果 probs 变量的 -1 维度上求和不为1,Categorical 内部也会帮你归一化,然后再 sample

第二个例子:

>>> probs = torch.FloatTensor([[[0.05,0.1,0.85],[0.05,0.05,0.9]]])
>>> probs.shape
torch.Size([1, 2, 3])>>> dist = Categorical(probs)
>>> index = dist.sample()
>>> index.shape
torch.Size([1, 2])

上边这个例子,用来理解这句话:

If probs is N-dimensional, the first N-1 dimensions are treated as a batch of relative probability vectors.

probs.shape[X, Y, N, s]index.shape[X, Y, N]Categorical 只在最后一维上采样


最后补一句,Categorical对象,有.entropy() 方法,用来计算熵

>>> probs = torch.FloatTensor([[[0.05,0.1,0.85],[0.05,0.05,0.9]]])
>>> dist = Categorical(probs)
>>> dist.entropy()
tensor([[0.5182, 0.3944]])

[文档] torch.distributions.Categorical相关推荐

  1. gamma分布 pytorch_Probability distributions - torch.distributions

    概率分布 - torch.distributions distributions 包含可参数化的概率分布和采样函数. 这允许构造用于优化的随机计算图和随机梯度估计器. 这个包一般遵循 TensorFl ...

  2. pytorch 笔记:torch.distributions 概率分布相关(更新中)

    1 包介绍 torch.distributions包包含可参数化的概率分布和采样函数. 这允许构建用于优化的随机计算图和随机梯度估计器.  不可能通过随机样本直接反向传播. 但是,有两种主要方法可以创 ...

  3. torch dataloader 数据并行_PyTorch Parallel Training(单机多卡并行、混合精度、同步BN训练指南文档)

    0 写在前面 这篇文章是我做实验室组会汇报的时候顺带整理的文档,在1-3部分参考了很多知乎文章,感谢这些大佬们的工作,所以先贴出Reference,本篇文章结合了这些内容,加上了我的一些理解,不足之处 ...

  4. 翻译: 2.7. 如何利用帮助文档 深入神经网络 pytorch

    由于本书篇幅的限制,我们不可能介绍每一个 PyTorch 函数和类(你可能不希望我们这样做).API 文档和其他教程和示例提供了本书之外的大量文档.在本节中,我们为您提供一些探索 PyTorch AP ...

  5. 查询pytorch文档的实用方法

    查阅文档 对于pytorch,一些函数可能不是很熟悉,这里给出查阅函数文档的方法 查找模块中的所有函数和类 为了知道模块中可以调用哪些函数和类,我们调用dir函数.例如,我们可以(查询随机数生成模块中 ...

  6. 动手学习深度学习——2.7 文档(Pytorch)

    2.7 文档(Pytorch)   由于本书篇幅的限制,我们不可能介绍每一个单独的[PyTorch]函数和类.API文档,其他教程和示例提供了许多本书之外的文档.在本节中,我们将为您提供一些探索[Py ...

  7. bash: 无法为立即文档创建临时文件: 权限不够_世界顶级Linux大牛耗时三年总结出3000页Linux文档...

    众所皆知的,Linux的核心原型是1991年由托瓦兹(Linus Torvalds)写出来的,但是托瓦兹为何可以写出Linux这个操作系统?为什么它要选择386的计算机来开发?为什么Linux的发展可 ...

  8. python scipy模块文档_scipy模块stats文档

    https://github.com/yiyuezhuo/scipy.stats-doc-ch https://docs.scipy.org/doc/scipy/reference/tutorial/ ...

  9. linux mysql帮助文档,在 Linux 上安装 MySQL

    ## 2.5 在 Linux 上安装 MySQL Linux 支持多种不同的 Linux 安装解决方案. We recommend that you use one of the distributi ...

最新文章

  1. 【科技金融】互金风控大数据盘点
  2. KDD Cup 2019 AutoML Track冠军深兰科技DeepBlueAI团队技术分享 | 开源代码
  3. linux的命令窗口,(翻译)Linux命令行(二)
  4. 【机器学习】逻辑回归模型
  5. 7套干货,Python常用技术学习知识图谱!!(史上最全,建议收藏)
  6. TMD 之后,再无 BAT? | 畅言
  7. 二级域名的URL跳转
  8. au人声处理_Audacity音频处理
  9. 管理感悟:就事不论事
  10. html中图片动态效果代码,动态网页设计代码 网页制作动态图片效果源代码
  11. 软考信息系统项目管理师知识点总结2
  12. Badboy下载地址
  13. 新元宇宙奇科幻小说原创作品每周连载地球人奇游天球记第八回邂逅嫦娥
  14. 面向对象的五个基本原则
  15. Django框架学习记录(3)
  16. java-web6-Servlet知识
  17. 火影忍者精剪版 纯战役没有回忆
  18. java程序购买_JAVA(二) ——购买商品简单程序
  19. RabbitMQ学习笔记:springboot2 amqp集成生产者消费者
  20. openwrt 配置WAN 和 LAN

热门文章

  1. 曼哈顿距离,欧式距离,明式距离,切比雪夫距离以及马氏距离
  2. 3ds Max 2019: Advanced Lighting 3ds Max 2019:高级照明 Lynda课程中文字幕
  3. 5年测试经验华为社招:半月3次面试,成功拿到Offer
  4. 找个搞IOS逆向的大佬写个越狱插件,接单的联系,APP没加密,有可参照,有接单的大佬请联系下
  5. 小主机安装深度Linux,安装LinuxDeepin
  6. 解读 | CSA 软件定义边界(SDP)标准规范 2.0 VS 1.0
  7. ctfshow web入门 sql注入
  8. Restorator 2007 3.70.1729 1
  9. 火蚁机器人_南美红火蚁,“蚁蚁为我,我为蚁蚁”,大自然最壮烈的求生群体...
  10. AutoCAD2013-2017已经废弃的命令和系统变量参考