DDPM学习过程中一些代码细节学习

1. batch_size和patch_size的区别

Batch是批量的大小,就是你训练的时候每次输入多少张图片。

Patch是图像块的大小,比如说原图1024*1024,随机从图中裁剪出256*256大小的块,就是patch。更准确来说:“patch”, 指一个二维图片中的其中一个小块, 即一张二维图像中有很多个patch. 正如在神经网络的卷积运算中, 图像并不是一整块图像直接同卷积核进行运算, 而是被分成了很多很多个patch分别同卷积核进行卷积运算, 这些patch的大小取决于卷积核的size. 卷积核每次只查看一个patch, 然后移动到另一个patch, 直到图像分成的所有patch都参与完运算。跟matlab图像处理中分块处理的block一样。

2.config文件中的num_worker是什么意思?在给Dataloader设置worker数量时,到底设置多少合适?这个worker到底怎么工作的?

train_loader = torch.utils.data.DataLoader(train_dataset,
                                               batch_size=batch_size, shuffle=True,
                                               num_workers=4)

参数解释:

1) 每次dataloader加载数据时:dataloader一次性创建num_worker个worker,并用batch_sampler将指定batch分配给指定worker,worker将它负责的batch加载进RAM。之后,dataloader从RAM中找本轮迭代要用的batch,如果找到了,就使用。如果没找到,就要num_worker个worker继续加载batch到内存,直到dataloader在RAM中找到目标batch。一般情况下都是能找到的,因为batch_sampler指定batch时当然优先指定本轮要用的batch。

2)num_worker设置得大,好处是寻batch速度快,因为下一轮迭代的batch很可能在上一轮/上上一轮...迭代时已经加载好了。坏处是内存开销大,也加重了CPU负担(worker加载数据到RAM的进程是CPU复制的)。num_workers的经验设置值是自己电脑/服务器的CPU核心数,如果CPU很强、RAM也很充足,就可以设置得更大些
 

3)如果num_worker设为0,意味着每一轮迭代时,dataloader不再有自主加载数据到RAM这一步骤(因为没有worker了),而是在RAM中找batch,找不到时再加载相应的batch。缺点当然是速度更慢。

3.什么叫消融实验?

在机器学习和人工智能领域,消融实验可以用来评估模型的鲁棒性,例如,通过删除特征、引入噪声或改变输入数据的分布来测试模型的性能。总的来说,就是通过改变输入数据的某些特征,来测试模型的泛化能力。

4.论文中经常提及超参数实验,什么叫超参数?

超参数是指训练模型之前由研究人员或工程师手动设置的参数,常见的超参数有:

  1. 学习率(Learning Rate):学习率是控制模型参数更新的步长大小的超参数。它影响了模型在训练过程中的收敛速度和稳定性。

  2. 批量大小(Batch Size):批量大小定义了每次迭代中用于训练的数据样本数量。它影响了模型的内存使用和训练速度。

  3. 迭代次数(Epochs):迭代次数表示训练模型的总轮次。它决定了模型训练的持续时间。

  4. 正则化参数(Regularization Strength):正则化参数用于控制模型的复杂性,如 L1 正则化和 L2 正则化中的正则化权重。

  5. 隐藏层的数量和单元数:在深度学习中,神经网络的层数和每层的神经元数量是重要的超参数。

  6. 优化器的选择:选择用于模型权重更新的优化算法,如随机梯度下降(SGD)、Adam 等。

  7. 学习率衰减策略:定义学习率如何随时间变化的策略,如指数衰减、余弦退火等。

  8. 权重初始化方法:选择用于初始化模型权重的方法,如随机初始化、Xavier 初始化、He 初始化等。

  9. Dropout 比率:在神经网络中,Dropout 是一种正则化技术,它涉及到舍弃一些神经元以减少过拟合。Dropout 比率是一个超参数,用于控制舍弃的比例。

  10. 卷积神经网络中的卷积核大小和数量:在卷积神经网络中,卷积核的大小和数量是关键的超参数。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值