zoukankan      html  css  js  c++  java
  • 基于pytorch中的Sequential用法说明

    一个时序容器。Modules 会以他们传入的顺序被添加到容器中。当然,也可以传入一个OrderedDict。
    为了更容易的理解如何使用Sequential, 下面给出了一个例子:
    # Example of using Sequential
     
    model = nn.Sequential(
    nn.Conv2d(1,20,5),
    nn.ReLU(),
    nn.Conv2d(20,64,5),
    nn.ReLU()
    )
    # Example of using Sequential with OrderedDict
    model = nn.Sequential(OrderedDict([
    ('conv1', nn.Conv2d(1,20,5)),
    ('relu1', nn.ReLU()),
    ('conv2', nn.Conv2d(20,64,5)),
    ('relu2', nn.ReLU())
    ]))
     
    补充知识:pytorch 中 torch.optim.Adam 方法的使用和参数的解释
    class torch.optim.Adam(params, lr=0.001, betas=(0.9, 0.999), eps=1e-08, weight_decay=0)[source]
    实现Adam算法。
    它在Adam: A Method for Stochastic Optimization中被提出。
    参数:
    params (iterable) – 待优化参数的iterable或者是定义了参数组的dict
    lr (float, 可选) – 学习率(默认:1e-3)
    betas (Tuple[float, float], 可选) – 用于计算梯度以及梯度平方的运行平均值的系数(默认:0.9,0.999)
    eps (float, 可选) – 为了增加数值计算的稳定性而加到分母里的项(默认:1e-8)
    weight_decay (float, 可选) – 权重衰减(L2惩罚)(默认: 0)
    个人理解:
    lr:同样也称为学习率或步长因子,它控制了权重的更新比率(如 0.001)。较大的值(如 0.3)在学习率更新前会有更快的初始学习,而较小的值(如 1.0E-5)会令训练收敛到更好的性能。
    betas = (beta1,beta2)
    beta1:一阶矩估计的指数衰减率(如 0.9)。
    beta2:二阶矩估计的指数衰减率(如 0.999)。该超参数在稀疏梯度(如在 NLP 或计算机视觉任务中)中应该设置为接近 1 的数。
    eps:epsilon:该参数是非常小的数,其为了防止在实现中除以零(如 10E-8)。
    读者可结合官方文档中的参数说明和我的个人理解掌握该函数的用法。
    以上这篇基于pytorch中的Sequential用法说明就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
    每日分享,喜欢的看标题和多多点赞收藏加关注~~蟹蟹
  • 相关阅读:
    VS Code 隐藏 .meta 文件
    CentOS7安装之后无法上网
    windows通过ssh方式访问CentOS7
    解决libc.so.6: version `GLIBC_2.18' not found问题
    Node.js ArrayBuffer 转为字符串
    centos7 tar, zip 解压文件命令(tar, zip)
    CentOS7安装 clang
    CentOS7开启 ssh 22端口
    MongoDB手册
    C++回调函数
  • 原文地址:https://www.cnblogs.com/nanhe/p/13598429.html
Copyright © 2011-2022 走看看