PyTorch之torch.randn()如何创建正态分布随机数

目录
  • torch.randn()如何创建正态分布随机数
  • torch之随机数生成方式
    • 1. 均匀分布
    • 2. 标准正态分布
    • 3.离散正态分布
    • 4.线性间距向量
  • 总结

torch.randn()如何创建正态分布随机数

torch.randn(*size)从均值为0,方差为1的正态分布中获取随机数

【sample】

In [1]: import torch
In [2]: torch.randn(3)
Out[2]: tensor([1.7896, 0.7974, 0.7416])
In [3]: torch.randn(2,3)
Out[3]: tensor([[ 0.4030, -0.3138, -0.7579],
        [-0.1486,  1.0306,  0.0734]])
In [4]: torch.randn(())
Out[4]: tensor(-0.8383) # 维度为0

torch之随机数生成方式

torch.rand()    

torch.randn()

torch.normal()

torch.linespace()

1. 均匀分布

torch.rand(*sizes, out=None) → Tensor

返回一个张量,包含了从区间[0, 1)的均匀分布中抽取的一组随机数。张量的形状由参数sizes定义。

参数:

  • sizes (int...) - 整数序列,定义了输出张量的形状
  • out (Tensor, optinal) - 结果张量

例子:

torch.rand(2, 3)
0.0836 0.6151 0.6958
0.6998 0.2560 0.0139
[torch.FloatTensor of size 2x3]

2. 标准正态分布

torch.randn(*sizes, out=None) → Tensor

返回一个张量,包含了从标准正态分布(均值为0,方差为1,即高斯白噪声)中抽取的一组随机数。张量的形状由参数sizes定义。

参数:

  • sizes (int...) - 整数序列,定义了输出张量的形状
  • out (Tensor, optinal) - 结果张量

例子:

torch.randn(2, 3)
0.5419 0.1594 -0.0413
-2.7937 0.9534 0.4561
[torch.FloatTensor of size 2x3]

3.离散正态分布

torch.normal(means, std, out=None) → → Tensor

返回一个张量,包含了从指定均值means和标准差std的离散正态分布中抽取的一组随机数。

标准差std是一个张量,包含每个输出元素相关的正态分布标准差。

参数:

  • means (float, optional) - 均值
  • std (Tensor) - 标准差
  • out (Tensor) - 输出张量

例子:

torch.normal(mean=0.5, std=torch.arange(1, 6))
-0.1505
-1.2949
-4.4880
-0.5697
-0.8996
[torch.FloatTensor of size 5]

4.线性间距向量

torch.linspace(start, end, steps=100, out=None) → Tensor

返回一个1维张量,包含在区间start和end上均匀间隔的step个点。

输出张量的长度由steps决定。

参数:

  • start (float) - 区间的起始点
  • end (float) - 区间的终点
  • steps (int) - 在start和end间生成的样本数
  • out (Tensor, optional) - 结果张量

例子:

torch.linspace(3, 10, steps=5)
3.0000
4.7500
6.5000
8.2500
10.0000
[torch.FloatTensor of size 5]

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • pytorch常用函数之torch.randn()解读

    目录 pytorch常用函数torch.randn() pytorch torch.chunk(tensor, chunks, dim) 总结 pytorch常用函数torch.randn() torch.randn(*sizes, out=None) → Tensor 功能:从标准正态分布(均值为0,方差为1)中抽取的一组随机数.返回一个张量 sizes (int…) - 整数序列,定义输出张量的形状 out (Tensor, optinal) - 结果张量 eg: random = torc

  • Pytorch中torch.repeat_interleave()函数使用及说明

    目录 torch.repeat_interleave()函数解析 1.函数说明 2. 函数原型 3. 函数功能 4. 输入参数 5. 注意 6. 代码例子 7. 与torch.repeat()函数区别 总结 torch.repeat_interleave()函数解析 1.函数说明 官网:torch.repeat_interleave(),函数说明如下图所示: 2. 函数原型 torch.repeat_interleave(input, repeats, dim=None) → Tensor 3.

  • pytorch常用函数定义及resnet模型修改实例

    目录 模型定义常用函数 利用nn.Parameter()设计新的层 nn.Sequential nn.ModuleList() nn.ModuleDict() nn.Flatten 模型修改案例 修改模型层 添加外部输入 模型定义常用函数 利用nn.Parameter()设计新的层 import torch from torch import nn class MyLinear(nn.Module): def __init__(self, in_features, out_features):

  • PyTorch之torch.randn()如何创建正态分布随机数

    目录 torch.randn()如何创建正态分布随机数 torch之随机数生成方式 1. 均匀分布 2. 标准正态分布 3.离散正态分布 4.线性间距向量 总结 torch.randn()如何创建正态分布随机数 torch.randn(*size)从均值为0,方差为1的正态分布中获取随机数 [sample] In [1]: import torch In [2]: torch.randn(3) Out[2]: tensor([1.7896, 0.7974, 0.7416]) In [3]: to

  • PyTorch中torch.utils.data.Dataset的介绍与实战

    目录 一.前言 二.torch.utils.data.Dataset 是什么 1. 干什么用的? 2. 长什么样子? 三.通过继承 torch.utils.data.Dataset 定义自己的数据集类 四.为什么要定义自己的数据集类? 五.实战:torch.utils.data.Dataset + Dataloader 实现数据集读取和迭代 实例 1 实例 2:进阶 参考链接 总结 一.前言 训练模型一般都是先处理 数据的输入问题 和 预处理问题 .Pytorch提供了几个有用的工具:torch

  • Python使用numpy产生正态分布随机数的向量或矩阵操作示例

    本文实例讲述了Python使用numpy产生正态分布随机数的向量或矩阵操作.分享给大家供大家参考,具体如下: 简单来说,正态分布(Normal distribution)又名高斯分布(Gaussian distribution),是一个在数学.物理及工程等领域都非常重要的概率分布,在统计学的许多方面有着重大的影响力.一般的正态分布可以通过标准正态分布配合数学期望向量和协方差矩阵得到.如下代码,可以得到满足一维和二维正态分布的样本. 示例1(一维正态分布): # coding=utf-8 '''

  • pytorch中torch.max和Tensor.view函数用法详解

    torch.max() 1. torch.max()简单来说是返回一个tensor中的最大值. 例如: >>> si=torch.randn(4,5) >>> print(si) tensor([[ 1.1659, -1.5195, 0.0455, 1.7610, -0.2064], [-0.3443, 2.0483, 0.6303, 0.9475, 0.4364], [-1.5268, -1.0833, 1.6847, 0.0145, -0.2088], [-0.86

  • pytorch实现保证每次运行使用的随机数都相同

    其实在代码的开头添加下面几句话即可: # 保证训练时获取的随机数都是一样的 init_seed = 1 torch.manual_seed(init_seed) torch.cuda.manual_seed(init_seed) np.random.seed(init_seed) # 用于numpy的随机数 torch.manual_seed(seed) 为了生成随机数设置种子.返回一个torch.Generator对象 参数: seed (int) – 期望的种子数 torch.cuda.ma

  • 浅谈pytorch中torch.max和F.softmax函数的维度解释

    在利用torch.max函数和F.Ssoftmax函数时,对应该设置什么维度,总是有点懵,遂总结一下: 首先看看二维tensor的函数的例子: import torch import torch.nn.functional as F input = torch.randn(3,4) print(input) tensor([[-0.5526, -0.0194, 2.1469, -0.2567], [-0.3337, -0.9229, 0.0376, -0.0801], [ 1.4721, 0.1

  • Pytorch中torch.nn.Softmax的dim参数用法说明

    Pytorch中torch.nn.Softmax的dim参数使用含义 涉及到多维tensor时,对softmax的参数dim总是很迷,下面用一个例子说明 import torch.nn as nn m = nn.Softmax(dim=0) n = nn.Softmax(dim=1) k = nn.Softmax(dim=2) input = torch.randn(2, 2, 3) print(input) print(m(input)) print(n(input)) print(k(inp

  • Pytorch中torch.flatten()和torch.nn.Flatten()实例详解

    torch.flatten(x)等于torch.flatten(x,0)默认将张量拉成一维的向量,也就是说从第一维开始平坦化,torch.flatten(x,1)代表从第二维开始平坦化. import torch x=torch.randn(2,4,2) print(x) z=torch.flatten(x) print(z) w=torch.flatten(x,1) print(w) 输出为: tensor([[[-0.9814, 0.8251], [ 0.8197, -1.0426], [-

  • PyTorch中torch.manual_seed()的用法实例详解

    目录 一.torch.manual_seed(seed) 介绍 torch.manual_seed(seed) 功能描述 语法 参数 返回 二.类似函数的功能 三.实例 实例 1 :不设随机种子,生成随机数 实例 2 :设置随机种子,使得每次运行代码生成的随机数都一样 实例 3 :不同的随机种子生成不同的值 总结 一.torch.manual_seed(seed) 介绍 torch.manual_seed(seed) 功能描述 设置 CPU 生成随机数的 种子 ,方便下次复现实验结果. 为 CP

随机推荐