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的随机排列的张量。这个函数在需要随机打乱序列或者创建没有重复元素的随机索引时非常有用,比如在分割数据集为训练集和测试集时进行随机采样。
相关推荐
用户9385156350714 分钟前
手写一个 LLM Harness 框架:用工程化手段把大模型幻觉踩在脚下
javascript·人工智能·后端
前端开发江鸟16 分钟前
我能解释 RAG、MCP 和 Eval,却画不出一条完整的 Agent 链路
人工智能
ivywriter1 小时前
【具身智能】物理AI具体指什么,和具身智能是什么关系?
人工智能
new_zhou1 小时前
C++ 项目 AI 协作指南(Windows / MSVC 环境)
c++·人工智能·windows
洛阳泰山1 小时前
AI 应用层被 Python 卷成红海,为什么我偏要用 Java 造一个 RAG + 工作流引擎?
java·人工智能·后端
wangray1997droid2 小时前
让 AI 拥有“真实记忆“:一次从碎片到叙事的记忆系统质变
人工智能
一次旅行2 小时前
AI 前沿日报 | 2026年08月08日 星期六
人工智能
hyuk的AI工坊2 小时前
Agent/Tool Calling 深度实战:LangChain4j 生产级工具设计
人工智能
manyingAi2 小时前
AIGC 落地影视内容行业:漫映 AI 漫剧全链路工作流技术架构解析
人工智能·架构·aigc
架构师汤师爷2 小时前
我用WorkBuddy和ima搭了一套AI写作工作流,真滴香晕了!
人工智能