百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术分类 > 正文

PyTorch常用5个抽样函数(numpy抽样)

ztj100 2024-11-03 16:16 11 浏览 0 评论

PyTorch是一个开源的深度学习框架,它提供了一个用于高级特性的Python包。在本文中,我们将介绍PyTorch中的常见抽样函数。抽样是一个统计过程,它从总体中提取一个子集,通过子集来研究整个总体。

torch.bernoulli()

伯努利分布是一个离散分布,有两个结果,即成功和失败。如果成功的概率是p,那么失败的概率是(1-p),反之亦然。

PyTorch的实现和相应的输出如下:

a = torch.empty(3, 3).uniform_(0, 1)
print(a)

输出如下:

tensor([[0.0966, 0.7385, 0.6546],
[0.4255, 0.8294, 0.8315],
[0.8065, 0.8228, 0.6467]])

现在我们把bernoulli()函数应用到张量上

torch.bernoulli(a)

输出如下:

tensor([[0., 1., 1.],
[1., 1., 0.],
[1., 0., 1.]])

torch.Tensor.cauchy_()

柯西分布,又称柯西-洛伦兹分布,在统计学中,具有两个参数的连续分布函数,最早于19世纪初由法国数学家奥古斯丁-路易斯·柯西研究。后来,19世纪的荷兰物理学家亨德里克·洛伦兹(Hendrik Lorentz)用它来解释强迫共振或振动。第一眼看柯西分布看起来像正态分布,但它的“尾巴”并不像正态分布那样迅速逐渐消失。

柯西分布可能看起来类似于正态分布,它的峰值比高斯分布高,与正态分布不同的是,它的尾部衰减得更慢。

a = torch.ones(3, 3) 
a

输出:

tensor([[1., 1., 1.],
[1., 1., 1.],
[1., 1., 1.]])

现在我们应用cauchy_()函数

torch.Tensor.cauchy_(a)

输出:

tensor([[-4.5374, 0.3726, 0.4947],
[ 0.4111, 0.9167, 0.7214],
[ 1.0533, -9.2247, 0.7620]])

注意,这里的函数名称以"_"结尾,这是pytorch的一个规定,他将会用改写参数,也就是我们传进去的变量a

torch.poisson ()

泊松分布用于计算一个事件在平均价值率(时间)的一定时间内发生的可能性。泊松分布是一个离散的概率分布。

a = torch.rand(4, 4) * 5 # rate parameter between 0 and 5
torch.poisson(a)

输出如下:

tensor([[2., 1., 0., 8.],
[2., 3., 3., 3.],
[0., 0., 1., 6.],
[0., 5., 3., 3.]])

torch.normal ()

正态分布,又称高斯分布,是独立随机变量的连续分布函数。该分布有一个钟形曲线,其特征有两个参数:均值,即图型上的最大值,图总是对称的;还有标准差,它决定了离均值的差值。

torch.normal(mean=torch.arange(1., 11.), std=torch.arange(1, 0, -0.1))

输出如下:

tensor([-0.6932, 2.3833, 2.3547, 3.8103, 5.4436, 5.8295, 7.5898, 8.4793,
9.1938, 10.0637])

torch.rand ()

PyTorch torch.randn()返回一个由可变参数大小(定义输出张量形状的整数序列)定义的张量,包含来自标准正态分布的随机数。

标准正态分布,也称为z分布,是一种特殊的正态分布,其均值为0,标准差为1

torch.randn(4,4)

输出如下:

tensor([[-1.3119, -0.2177, -0.2496, 0.2361],
[-1.2755, -0.2271, 1.5297, 0.6433],
[-0.4198, -0.9269, -0.6260, -0.9713],
[ 0.6730, -1.2400, 2.1338, 0.2051]])

作者:Debgandhar Ghosh

相关推荐

Whoosh,纯python编写轻量级搜索工具

引言在许多应用程序中,搜索功能是至关重要的。Whoosh是一个纯Python编写的轻量级搜索引擎库,可以帮助我们快速构建搜索功能。无论是在网站、博客还是本地应用程序中,Whoosh都能提供高效的全文搜...

如何用Python实现二分搜索算法(python二分法查找代码)

如何用Python实现二分搜索算法二分搜索(BinarySearch)是一种高效的查找算法,适用于在有序数组中快速定位目标值。其核心思想是通过不断缩小搜索范围,每次将问题规模减半,时间复杂度为(O...

路径扫描 -- dirsearch(路径查找器怎么使用)

外表干净是尊重别人,内心干净是尊重自己,干净,在今天这个时代,应该是一种极高的赞美和珍贵。。。----网易云热评一、软件介绍Dirsearch是一种命令行工具,可以强制获取web服务器中的目录和文件...

78行Python代码帮你复现微信撤回消息!

来源:悟空智能科技本文约700字,建议阅读5分钟。本文基于python的微信开源库itchat,教你如何收集私聊撤回的信息。...

从零开始学习 Python!2《进阶知识》 Python进阶之路

欢迎来到Python学习的进阶篇章!如果你说已经掌握了基础语法,那么这篇就是你开启高手之路的大门。我们将一起探讨面向对象编程...

白帽黑客如何通过dirsearch脚本工具扫描和收集网站敏感文件

一、背景介绍...

Python之txt数据预定替换word预定义定位标记生成word报告(四)

续接Python之txt数据预定替换word预定义定位标记生成word报告(一)https://mp.toutiao.com/profile_v4/graphic/preview?pgc_id=748...

假期苦短,我用Python!这有个自动回复拜年信息的小程序

...

Python——字符串和正则表达式中的反斜杠('\')问题详解

在本篇文章里小编给大家整理的是关于Python字符串和正则表达式中的反斜杠('\')问题以及相关知识点,有需要的朋友们可以学习下。在Python普通字符串中在Python中,我们用'\'来转义某些普通...

Python re模块:正则表达式综合指南

Python...

Python中re模块详解(rem python)

在《...

python之re模块(python re模块sub)

re模块一.re模块的介绍1.什么是正则表达式"定义:正则表达式是一种对字符和特殊字符操作的一种逻辑公式,从特定的字符中,用正则表达字符来过滤的逻辑。(也是一种文本模式;)2、正则表达式可以帮助我们...

MySQL、PostgreSQL、SQL Server 数据库导入导出实操全解

在数字化时代,数据是关键资产,数据库的导入导出操作则是连接数据与应用场景的桥梁。以下是常见数据库导入导出的实用方法及代码,包含更多细节和特殊情况处理,助你应对各种实际场景。一、MySQL数据库...

Zabbix监控系统系列之六:监控 mysql

zabbix监控mysql1、监控规划在创建监控项之前要尽量考虑清楚要监控什么,怎么监控,监控数据如何存储,监控数据如何展现,如何处理报警等。要进行监控的系统规划需要对Zabbix很了解,这里只是...

mysql系列之一文详解Navicat工具的使用(二)

本章内容是系列内容的第二部分,主要介绍Navicat工具的使用。若查看第一部分请见:...

取消回复欢迎 发表评论: