category
type
status
date
slug
summary
tags
password
Property
Jan 22, 2026 02:05 PM
icon

摸索过程问题汇总

jupyter notebook中的库冲突问题
notion image
 

知识点记录

卷积概念
可视化理解
notion image
卷积核获取
在 PyTorch 的 nn.Conv2d 中,卷积核通过初始化训练更新两个阶段确定:
  1. 初始化阶段 卷积核作为可学习参数随机初始化,形状为 (out_channels, in_channels/groups, kernel_size[0], kernel_size[1])
默认采用 Kaiming 均匀分布初始化(nn.init.kaiming_uniform_):
  • 从均匀分布 U(-bound, bound) 中采样
  • bound = sqrt(6 / (1 + fan_in))
  • 目的是保持前向和反向传播时的方差稳定
也可使用其他初始化方法:
  1. 训练阶段 卷积核自动更新:
  • 注册为 nn.Parameter,默认 requires_grad=True
  • 反向传播时自动计算梯度
  • 优化器根据梯度更新参数
  1. 核心特点
  • 非预设:没有固定值,完全从数据中学习
  • 随机起点:初始化影响训练速度,但不决定最终性能
  • 可解释性:训练后的卷积核可视化可能呈现边缘、纹理等特征
总结:卷积核初始时随机生成,通过反向传播自动学习最优值,无需手动设计。
池化概念
notion image
ceil_model默认是False,池化的默认stride默认与池化核有关,如此处是stride=3,ceil_mode=true「与整数向上取整思想一致」 最大池化:MaxPool,即取池化核覆盖范围中的最大值进行输出
池化的目的:保留输入数据的特征并减少数据量。如视频的4k,720p
  • 池化输出结果和输入的通道数一样,但卷积输出结果的通道数和输入的通道数可能不一样。
非线性激活
非线性激活层主要是用于提高模型的泛化能力。
  • ReLU
    • notion image
      作用就是:将≤0的值设置0,将>0的值取原值 以下是inplace取不同值的效果,inplace默认值为False
      notion image
      ReLU — PyTorch 2.9 documentation
 

网络构建例子

notion image
notion image
最后有两个线性层
最后有两个线性层
计算每层卷积网络的参数
Conv2d的输入输出尺寸计算公式,dilation[0],dilation[1]默认值是1,stride的值默认情况下也是1,故由输入时32*32,输出也是32*32故可以算得padding=2
Conv2d的输入输出尺寸计算公式,dilation[0],dilation[1]默认值是1,stride的值默认情况下也是1,故由输入时32*32,输出也是32*32故可以算得padding=2

loss function

作用:根据loss函数输出值,并进行反向传播,计算出每个需要调节参数的梯度,进而利用优化器根据梯度进行优化,进而减小los function输出,从而达到误差下降的目的
notion image
notion image
CrossEntropyLoss交叉熵损失『适用于分类问题』
notion image
 
mit 6.S081 操作系统课程2026杂项
Loading...