Pytorch中torch.rand()、torch.randn()、torch.randint()、torch.randperm()几个函数的说明

1. torch.rand(*sizes, out=None) -> Tensor

  • 参数:

    • sizes (int...):整数序列,定义了输出张量的形状。
    • out (Tensor, 可选):输出张量。
  • 返回值:

    • 一个新的张量,包含了在区间 [0, 1) 上均匀分布的随机数。
  • 用途:

    • torch.rand 用于生成指定形状的张量,其元素从 [0, 1) 的均匀分布中随机抽取。这通常用于模型权重的初始化或任何需要均匀分布随机数的场景。

2. torch.randn(*sizes, out=None) -> Tensor

  • 参数:

    • sizes (int...):整数序列,定义了输出张量的形状。
    • out (Tensor, 可选):输出张量。
  • 返回值:

    • 一个新的张量,包含了从标准正态分布(均值为0,标准差为1)中抽取的随机数。
  • 用途:

    • torch.randn 生成具有标准正态分布(高

斯分布)的随机数张量。这在需要正态分布随机数的场景下使用,如权重初始化或概率模型的输入。

3. torch.randint(low=0, high, *sizes, out=None) -> Tensor

  • 参数:

    • low (int, 可选):随机整数生成的最低值(包含),默认为0。
    • high (int):随机整数生成的最高值(不包含)。
    • sizes (int...):整数序列,定义了输出张量的形状。
    • out (Tensor, 可选):输出张量。
  • 返回值:

    • 一个新的张量,包含了在区间 [low, high) 上均匀分布的随机整数。
  • 用途:

    • torch.randint 用于生成指定范围内的随机整数张量。常用于生成索引、随机抽样、初始化整数参数等场景。

4.torch.randperm(n, out=None) -> Tensor

  • 参数:

    • n (int):生成整数序列的上限,序列将包含 [0, n)。
    • out (Tensor, 可选):输出张量。
  • 返回值:

    • 一个新的张量,包含了一个长度为 n 的随机排列。
  • 用途:

    • torch.randperm 生成一个0到n-1的随机排列的张量。这个函数在需要随机打乱序列或者创建没有重复元素的随机索引时非常有用,比如在分割数据集为训练集和测试集时进行随机采样。
相关推荐
ADAI_Bowen2 分钟前
渲境AI实测:当AI尝试扛起建筑效果图的交付压力
大数据·人工智能
yi0112 分钟前
DAY27: LeetCode 110. 平衡二叉树 | 在递归中判断是否平衡
人工智能·笔记·python·算法·leetcode·二叉树·递归
Sammyyyyy4 分钟前
jev-ultrafast 实战:浏览器操作代理加本地 AI 网关,把云控制台配置做成自动化流水线
运维·人工智能·自动化·ai编程·servbay
狂师4 分钟前
爆火!新一代e2e AI测试框架,单日狂揽1500 star
前端·人工智能·测试
米小虾5 分钟前
随机基线都打不过:为什么一整代视觉 Token 压缩方法在混合线性注意力上集体失效
人工智能
米小虾5 分钟前
一条 rollout 的两种死法:RLVR 的学习信号漏在哪,怎么补
人工智能
yychen_java14 分钟前
第十二篇:完整项目实战——构建可验证的能源智能运维 Agent 中枢
运维·人工智能·能源
loulanyue_17 分钟前
蚂蚁集团AI Native研发实践:从面向人类到面向Agent的下一代技术架构演进——读平台技术事业群总架构师黄挺2026云栖专场演讲
人工智能·大模型·软件架构·蚂蚁集团
HAHAXX819 分钟前
影刀AI点数是怎么消耗的?拆解消耗规则 + 成本优化实战
人工智能·rpa
smartpi_ai20 分钟前
离线语音识别模块选型指南:CI-03T、SU-32T、SU-03T 等模块在不同场景下的对比与选择
人工智能·ci/cd·语音识别