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的随机排列的张量。这个函数在需要随机打乱序列或者创建没有重复元素的随机索引时非常有用,比如在分割数据集为训练集和测试集时进行随机采样。
相关推荐
测试开发Kevin1 分钟前
小tip:换行符CRLF 和 LF 的区别以及二者在实际项目中的影响
java·开发语言·python
爱学习的阿磊10 分钟前
使用PyTorch构建你的第一个神经网络
jvm·数据库·python
阿狸OKay11 分钟前
einops 库和 PyTorch 的 einsum 的语法
人工智能·pytorch·python
低调小一16 分钟前
Google AI Agent 白皮书拆解(1):从《Introduction to Agents》看清 Agent 的工程底座
人工智能
feasibility.19 分钟前
混元3D-dit-v2-mv-turbo生成3D模型初体验(ComfyUI)
人工智能·3d·aigc·三维建模·comfyui
极智-99635 分钟前
GitHub 热榜项目-日榜精选(2026-02-02)| AI智能体、终端工具、视频生成等 | openclaw、99、Maestro等
人工智能·github·视频生成·终端工具·ai智能体·电子书管理·rust工具
悟纤1 小时前
AI 音乐创作中的音乐织体(Texture)完整指南 | Suno高级篇 | 第30篇
人工智能·suno·suno ai·suno api·ai music
编码者卢布1 小时前
【Azure Storage Account】Azure Table Storage 跨区批量迁移方案
后端·python·flask
可触的未来,发芽的智生1 小时前
狂想:为AGI代称造字ta,《第三类智慧存在,神的赐名》
javascript·人工智能·python·神经网络·程序人生
莱茶荼菜1 小时前
yolo26 阅读笔记
人工智能·笔记·深度学习·ai·yolo26