Day48

部署运行你感兴趣的模型镜像

1、随机张量的生成:torch.randn函数
torch.randn 是 PyTorch 里用于生成随机数张量的函数。它所生成的随机数遵循标准正态分布,也就是均值为 0,标准差为 1 的分布。在神经网络的训练中,这个函数十分常用,像初始化权重的时候就会用到。
 
通俗来讲,你可以把 torch.randn 想象成一个 “随机数生成器”,它能按照你的要求创建指定大小的张量,并且张量里的每个数都是从标准正态分布中随机抽取的。
2、卷积和池化的计算公式(可以不掌握,会自动计算的)
卷积的计算
在卷积操作中,输出的尺寸由输入尺寸、卷积核大小、步长(stride)以及填充(padding)共同决定。其计算公式如下:
输出尺寸=⌊步长输入尺寸−卷积核大小+2×填充​⌋+1
举个例子,当输入是一个 10×10 的图像,使用 3×3 的卷积核,步长设为 1,不进行填充(即填充为 0)时,输出的尺寸就是 8×8。
⌊110−3+2×0​⌋+1=8

池化的计算
池化操作的输出尺寸计算方式和卷积类似。以最大池化(Max Pooling)为例,其计算公式为:
输出尺寸=⌊步长输入尺寸−池化核大小​⌋+1
例如,输入为 8×8 的特征图,采用 2×2 的池化核,步长为 2,那么输出尺寸就是 4×4。
⌊28−2​⌋+1=4

3、pytorch的广播机制:加法和乘法的广播机制

PyTorch 的广播机制允许在不同形状的张量之间进行算术运算,不过需要满足一定的规则。

加法的广播机制
当两个张量的形状不同时,PyTorch 会尝试对它们进行广播,使其形状变得兼容。具体规则是:从右往左逐个比较两个张量的维度。如果维度相等,或者其中一个维度为 1,那么就可以进行广播;否则,会抛出错误。
例如:

import torch
 
# 张量a的形状是(3, 1)
a = torch.tensor([[1], [2], [3]])
# 张量b的形状是(1, 4)
b = torch.tensor([[1, 2, 3, 4]])
 
# 广播后,两个张量的形状都变为(3, 4)
c = a + b
print(c)
乘法的广播机制

乘法的广播机制和加法是一样的,也是按照从右往左的顺序比较维度,遵循相同的规则。
例如:

# 张量a的形状是(3, 1)
a = torch.tensor([[2], [3], [4]])
# 张量b的形状是(1, 3)
b = torch.tensor([[1, 2, 3]])
 
# 广播后,两个张量的形状都变为(3, 3)
c = a * b
print(c)

@浙大疏锦行

您可能感兴趣的与本文相关的镜像

PyTorch 2.5

PyTorch 2.5

PyTorch
Cuda

PyTorch 是一个开源的 Python 机器学习库,基于 Torch 库,底层由 C++ 实现,应用于人工智能领域,如计算机视觉和自然语言处理

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值