详解 Pytorch.random

Pytorch 专栏收录该内容
17 篇文章 1 订阅

以下torch 方法默认返回的是 CPU torch.Generator

除了以下常用 torch方法以外, 还可以通过 torch.from_numpy(array) 将 Numpy的数组转换为torch张量;

1、torch.rand()

torch.rand(*size		, * , out=None, dtype=None, layout=torch.strided, 
			device=None	, 	  requires_grad=False  ) → Tensor

返回区间 [ 0,1) 上均匀分布的随机数填充的张量。
张量的形状由变量的参数大小定义。

Parameters:

  • size (int…)
    定义输出张量形状的整数序列;可以是可变数量的参数,也可以是像List或tuple这样的集合。

Example:

>>> torch.rand(4)
tensor([ 0.5204,  0.2503,  0.3525,  0.5673])
>>> torch.rand(2, 3)
tensor([[ 0.8237,  0.5781,  0.6879],
        [ 0.3816,  0.7249,  0.0998]])

2、torch.randint()

torch.randint(low=0, high, size, *, generator=None, out=None, dtype=None, 
			  layout=torch.strided, device=None	  , requires_grad=False	) → Tensor

返回在 [ low , high) 之间均匀生成的随机整数填充的张量。
张量的形状由变量的参数大小来定义。

Parameters:

  • low (int, optional)
    从分布中提取的下限整数(可以取到),Default: 0.

  • high (int)
    从分布中提取的上限整数(取不到)。

  • size (tuple)
    定义输出张量形状的元组。

Example:

>>> torch.randint(3, 5, (3,))
tensor([4, 3, 4])

>>> torch.randint(10, (2, 2))
tensor([[0, 2],
        [5, 5]])

>>> torch.randint(3, 10, (2, 2))
tensor([[4, 5],
        [6, 7]])

3、torch.randint_like()

torch.randint_like( input, low=0, high, *, dtype=None, layout=torch.strided, device=None, 
				 	requires_grad=False, memory_format=torch.preserve_format) → Tensor

返回与张量输入相同形状的张量,该张量由在 [low , high) 之间均匀生成的随机整数填充。

Parameters:

  • input (Tensor)
    输入张量的大小将决定输出张量的大小。

  • low (int, optional)
    从分布中提取的下限整数。默认值:0。

  • high (int)
    要从分布中提取的上限整数。


4、torch.randn()

torch.randn(*size		, *, out=None, dtype=None, layout=torch.strided, 
			 device=None, requires_grad=False) → Tensor

从均值为0和方差为1的正态分布中,返回一个由随机数填充的张量(也称为标准正态分布)。

o u t i ∼ N ( 0 , 1 ) out_i∼N(0,1) outiN(0,1)

Parameters:

  • size (int…)
    定义输出张量形状的整数序列。可以是可变数量的参数,也可以是像List或tuple的集合。

Example:

>>> torch.randn(4)
tensor([-2.1436,  0.9966,  2.3426, -0.6366])
>>> torch.randn(2, 3)
tensor([[ 1.5954,  2.8929, -1.0923],
        [ 1.1719, -0.4709, -0.1996]])

5、torch.randn_like

torch.randn_like(input	, *, dtype=None, layout=None, device=None, 
				 requires_grad=False, memory_format=torch.preserve_format) → Tensor

返回与输入相同大小的张量,该张量由均值为0和方差为1的正态分布中的随机数填充。

torch.randn_like(input) 
# 等效于
torch.randn(input.size(), dtype=input.dtype, layout=input.layout, device=input.device).

Parameters:

  • input (Tensor)
    输入张量的大小将决定输出张量的大小。

6、torch.randperm()

torch.randperm(n, *, out=None, dtype=torch.int64, layout=torch.strided, 
			   device=None	 , requires_grad=False) → LongTensor

返回整数从0到n-1的随机排列。

Parameters:

  • n (int)
    上限整数(不包含)

Example:

>>> torch.randperm(4)
tensor([2, 1, 0, 3])

6、torch.poisson()

torch.poisson(input *, generator=None) → Tensor

返回与输入相同大小的张量,从泊松分布中取样的每个元素都具有相应元素在输入中给定的速率参数,即,

o u t i ∼ P o i s s o n ( i n p u t i ) out_i∼Poisson(input_i) outiPoisson(inputi)

Parameters:

  • input (Tensor)
    包含泊松分布速率的输入张量

Example:

>>> rates = torch.rand(4, 4) * 5  # rate parameter between 0 and 5
>>> torch.poisson(rates)
tensor([[9., 1., 3., 5.],
        [8., 6., 6., 0.],
        [0., 4., 5., 3.],
        [2., 1., 4., 2.]])


  • 1
    点赞
  • 0
    评论
  • 5
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

相关推荐
程序员的必经之路! 【限时优惠】 现在下单,还享四重好礼: 1、教学课件免费下载 2、课程案例代码免费下载 3、专属VIP学员群免费答疑 4、下单还送800元编程大礼包 【超实用课程内容】  根据《2019-2020年中国开发者调查报告》显示,超83%的开发者都在使用MySQL数据库。使用量大同时,掌握MySQL早已是运维、DBA的必备技能,甚至部分IT开发岗位也要求对数据库使用和原理有深入的了解和掌握。 学习编程,你可能会犹豫选择 C++ 还是 Java;入门数据科学,你可能会纠结于选择 Python 还是 R;但无论如何, MySQL 都是 IT 从业人员不可或缺的技能!   套餐中一共包含2门MySQL数据库必学的核心课程(共98课时)   课程1:《MySQL数据库从入门到实战应用》   课程2:《高性能MySQL实战课》   【哪些人适合学习这门课程?】  1)平时只接触了语言基础,并未学习任何数据库知识的人;  2)对MySQL掌握程度薄弱的人,课程可以让你更好发挥MySQL最佳性能; 3)想修炼更好的MySQL内功,工作中遇到高并发场景可以游刃有余; 4)被面试官打破沙锅问到底的问题问到怀疑人生的应聘者。 【课程主要讲哪些内容?】 课程一:《MySQL数据库从入门到实战应用》 主要从基础篇,SQL语言篇、MySQL进阶篇三个角度展开讲解,帮助大家更加高效的管理MySQL数据库。 课程二:《高性能MySQL实战课》主要从高可用篇、MySQL8.0新特性篇,性能优化篇,面试篇四个角度展开讲解,帮助大家发挥MySQL的最佳性能的优化方法,掌握如何处理海量业务数据和高并发请求 【你能收获到什么?】  1.基础再提高,针对MySQL核心知识点学透,用对; 2.能力再提高,日常工作中的代码换新貌,不怕问题; 3.面试再加分,巴不得面试官打破沙锅问到底,竞争力MAX。 【课程如何观看?】  1、登录CSDN学院 APP 在我的课程中进行学习; 2、移动端:CSDN 学院APP(注意不是CSDN APP哦)  本课程为录播课,课程永久有效观看时长 【资料开放】 课件、课程案例代码完全开放给你,你可以根据所学知识,自行修改、优化。  下载方式:电脑登录课程观看页面,点击右侧课件,可进行课程资料的打包下载。
©️2020 CSDN 皮肤主题: 岁月 设计师:pinMode 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值