pytorch中torch.randn(batch_size,channels,width,height)理解

1 定义

torch.randn 函数是PyTorch中用于生成服从标准正态分布(均值为0,方差为1)的随机数的函数
1)用来创建指定大小的张量;
2)张量中的元素是从标准正态分布中采样得到的随机数。

torch.randn函数的使用方式如下:

torch.randn(*size, out=None, dtype=None, layout=torch.strided, device=None, requires_grad=False) -> Tensor

参数说明:

*size:表示生成的随机数张量的大小。可以是一个整数,表示生成一个具有指定大小的1维张量,也可以是一个整数元组,表示生成一个具有指定大小的多维张量。

out:可选参数,用于指定输出张量。

dtype:可选参数,用于指定输出张量的数据类型,默认为None,表示使用默认的数据类型。

layout:可选参数,用于指定输出张量的布局,默认为torch.strided。

device:可选参数,用于指定输出张量所在的设备,默认为None,表示使用默认设备。

requires_grad:可选参数,用于指定输出张量是否需要梯度计算,默认为False。

2 应用

torch.randn(batch_size,channels,width,height)
生成一个形状为(batch_size,channels,width,height)的四维张量,会生成一个均值为0,标准差为1的正态分布中的随机数,用于初始化模型参数或生成输入数据。

import torch


input = torch.randn(8,3,224,224)
print(input.size())

# 输出结果为 torch.Size([8, 3, 224, 224])

为了进一步的理解四维张量,将数字改小一些看输出结果

import torch


input = torch.randn(2,3,4,4)
print(input)

在这里插入图片描述
torch.randn(2,3,4,4)中参数的两种理解方式:
1)顺序剖解:

  • 一个四维的:包含batch_size = 2个三维的 (黄色框线)
  • 每一个三维:包含channels = 3个 二维的 (绿色框线)
  • 每一个二维:包含1个4*4的矩阵(红色框线)

2)逆序剖解

  • 最内层是4*4的二维矩阵(红色框线)
  • 3个二维矩阵构成一个三维 (绿色框线)
  • 2个三维构成一个四维(黄色框线)
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

努力当总裁的郭琛予

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值