torch.rand()、torch.randn()、torch.randint()、torch.randperm()用法

本文详细介绍了PyTorch中用于生成随机数的几个关键函数,包括torch.rand()用于生成均匀分布的浮点数,torch.randn()用于生成标准正态分布的浮点数,torch.randint()用于生成指定范围内的整数,以及torch.randperm()用于生成不重复的整数序列。这些函数在构建和训练神经网络模型时非常有用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

torch.rand和torch.randn有什么区别? 
一个均匀分布,一个是标准正态分布。

torch.rand()
在这里插入图片描述

#rand(*size, out=None, dtype=None)
t1 = torch.rand(2,3)
print(t1,t1.type())

在这里插入图片描述
randn(*size, out=None, dtype=None)和randn_like(input, dtype=None)在这里插入图片描述

#randn(*size, out=None, dtype=None)
#randn_like(input, dtype=None)
t1 = torch.randn(2,3)
t2 = torch.randn_like(t1)
print(t1,t1.type())
print(t2,t2.type())

在这里插入图片描述
torch.randint(),torch,randint_like()

#randint(low=0, high, size, out=None, dtype=None)
#randint_like(input, low=0, high, dtype=None)
#整数范围[low, high)
t1 = torch.randint(1,4,(2,3,2)) #形状写成[2,3,2]也行
t2 = torch.randint_like(t1,4)
print(t1)
print(t2)

在这里插入图片描述
torch.randperm()
randperm(n, out=None, dtype=torch.int64)-> LongTensor

#torch中没有random.shuffle
#y = torch.randperm(n) y是把1到n这些数随机打乱得到的一个数字序列
import torch
#randperm(n, out=None, dtype=torch.int64)-> LongTensor
idx = torch.randperm(3)
a = torch.Tensor(4,2)
print(a)
print(idx,idx.type())
print(a[idx])

在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值