主页 > 知识库 > 浅谈pytorch中的nn.Sequential(*net[3: 5])是啥意思

浅谈pytorch中的nn.Sequential(*net[3: 5])是啥意思

热门标签:硅谷的囚徒呼叫中心 电话运营中心 语音系统 Win7旗舰版 企业做大做强 呼叫中心市场需求 百度AI接口 客户服务

看到代码里面有这个

1 class ResNeXt101(nn.Module):
    2 def __init__(self):
        3 super(ResNeXt101, self).__init__()
        4 net = resnext101()
        # print(os.getcwd(), net)

        5 net = list(net.children())  # net.children()得到resneXt 的表层网络
        # for i, value in enumerate(net):
        #     print(i, value)
        6 self.layer0 = nn.Sequential(net[:3])  # 将前三层打包0, 1, 2两层
        print(self.layer0)
        7 self.layer1 = nn.Sequential(*net[3: 5])  # 将3, 4两层打包
        8 self.layer2 = net[5]
        9 self.layer3 = net[6]

可以看到代码中的第六行(序号自己去掉,我打上去的) self.layer0 = nn.Sequential(net[:3])
第七行self.layer1 = nn.Sequential(*net[3: 5])
有一个nn.Sequential(net[:3])
nn.Sequential(*net[3: 5])
今天不讲nn.Sequential()用法,意义,作用因为我也不咋明白。惊天就说*net[3: 5]这个东西为啥要带“ * ”
当代码中不带*的时候,运行会出现以下问题


意思就是列表不是子类,就是说参数不对

net = list(net.children())

这一行代码是将模型的每一层取出来构建一个列表,自己试着打印就可以。大概的输出就是[conv(),BatchNorm2d(), ReLU,MaxPool2d]等等


总共是是个元素,和一般的列表不太一样。

当我们取net[:3]的时候,传进去的参数是一个列表,但是我们用*net[:3]的时候传进去的是单个元素

list1 = ["conv", ("relu", "maxing"), ("relu", "maxing", 3), 3]
list2 = [list1[:1]]
list3 = [*list1[:1]]
print("list2:{}, *list1[:2]:{}".format(list1[:1], *list1[:1]))


结果不带✳的是列表,带✳的是元素,所以nn.Sequential(*net[3: 5])中的*net[3: 5]就是给nn.Sequential()这个容器中传入多个层。

到此这篇关于pytorch中的nn.Sequential(*net[3: 5])是啥意思的文章就介绍到这了,更多相关pytorch nn.Sequential(*net[3: 5])内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
  • pytorch_detach 切断网络反传方式
  • pytorch 禁止/允许计算局部梯度的操作
  • 如何利用Pytorch计算三角函数
  • 聊聊PyTorch中eval和no_grad的关系
  • Pytorch实现图像识别之数字识别(附详细注释)
  • Pytorch实现全连接层的操作
  • pytorch 优化器(optim)不同参数组,不同学习率设置的操作
  • PyTorch 如何将CIFAR100数据按类标归类保存
  • PyTorch的Debug指南
  • Python深度学习之使用Pytorch搭建ShuffleNetv2
  • win10系统配置GPU版本Pytorch的详细教程
  • pytorch visdom安装开启及使用方法
  • PyTorch CUDA环境配置及安装的步骤(图文教程)
  • pytorch中的nn.ZeroPad2d()零填充函数实例详解
  • 使用pytorch实现线性回归
  • pytorch实现线性回归以及多元回归
  • PyTorch学习之软件准备与基本操作总结

标签:山西 海南 安康 长沙 喀什 山西 济南 崇左

巨人网络通讯声明:本文标题《浅谈pytorch中的nn.Sequential(*net[3: 5])是啥意思》,本文关键词  ;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 收缩
    • 微信客服
    • 微信二维码
    • 电话咨询

    • 400-1100-266