【学习】torch.rand

torch.rand 是 PyTorch 用于生成随机数的函数,生成的数值服从均匀分布

例如:torch.rand(2, 20) 是 PyTorch 中生成一个大小为 (2, 20) 的张量(tensor)的函数。这个张量的元素是从均匀分布中随机生成的,数值范围在 [0, 1) 之间(包括 0,不包括 1)。

执行 torch.rand(2, 20) 可能会生成如下类似的结果(每次运行会不同):

tensor([[0.5439, 0.3273, 0.8495, 0.6784, ..., 0.9547],
        [0.0123, 0.5678, 0.1234, 0.2345, ..., 0.3456]])

如何设置数值范围 [a,b) ?

可以先生成标准范围 [0, 1) 内的随机数,然后通过简单的线性变换将其缩放到你需要的范围 [a, b)

 例如生成 [5, 10):

import torch

# 设定范围
a = 5
b = 10

# 生成在 [5, 10) 范围内的随机数张量
tensor = a + torch.rand(2, 20) * (b - a)

print(tensor)

 

简单应用:在深度学习中,使用torch.rand()随机生成输入来测试模型。

import torch
from torch import  nn

net = nn.Sequential(nn.Linear(20, 256), nn.ReLU(), nn.Linear(256, 10))
X = torch.rand(2, 20)
print("X:", X)
print("net(X):", net(X))
X: tensor([[0.6276, 0.0258, 0.9628, 0.7895, 0.7752, 0.1271, 0.1957, 0.1183, 0.8805,
         0.2174, 0.9073, 0.4641, 0.0163, 0.4616, 0.0609, 0.4872, 0.7485, 0.7163,
         0.1049, 0.1827],
        [0.2842, 0.0678, 0.6589, 0.0828, 0.5802, 0.9499, 0.3822, 0.3030, 0.4426,
         0.9784, 0.0691, 0.3279, 0.6532, 0.6005, 0.3992, 0.7675, 0.1587, 0.3056,
         0.4126, 0.3587]])
net(X): tensor([[ 0.0059,  0.0834, -0.1534, -0.2256,  0.1103, -0.0531,  0.0551, -0.0732,
          0.0049, -0.2419],
        [-0.1094,  0.0662, -0.1624, -0.1287,  0.0970,  0.1054, -0.1353, -0.2035,
          0.1032,  0.0089]], grad_fn=<AddmmBackward0>)

Process finished with exit code 0

 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值