Model.modules和Model.children
首先我们先定义一个网络结构:

class Linear(nn.Module):def __init__(self):super().__init__()self.encoder = nn.Sequential(nn.Conv2d(),nn.BatchNorm2d(),nn.ReLU())self.decoder = nn.Sequential(nn.Linear(),nn.Interpolate())def forward(self,x)output = self.encoder(x)output = self.decoder(output)return output

然后我们实例化类:

model = Linear()

对于Model.modules,我们遍历整个模型:

会得到:
首先从linear层开始遍历:
nn.Sequential(
nn.Conv2d(),
nn.BatchNorm2d(),
nn.ReLU)

nn.Sequential(
nn.Linear(),
nn.Interpolate())
接着从self.encoder,self.decoder层开始向下遍历:
nn.Sequential(
nn.Conv2d(),
nn.BatchNorm2d(),
nn.ReLU)

nn.Conv2d(),
nn.BatchNorm2d(),
nn.ReLU

nn.Sequential(
nn.Linear(),
nn.Interpolate())

nn.Linear(),
nn.Interpolate()

而Model.children只会遍历self.encoder和self.encoder:
nn.Sequential(
nn.Conv2d(),
nn.BatchNorm2d(),
nn.ReLU())
nn.Sequential(
nn.Linear(),
nn.Interpolate())

Model.modules和Model.children相关推荐

  1. Pytorch中的model.modules()和model.children()的区别

    Pytorch中的model.modules()和model.children()的区别 背景:最近在做网络模型中可视化的过程中,需要将网络结构中的某一层的特征进行输出.所以就遇到了这个问题,小小记录 ...

  2. model.modules()和model.children()以及model._modules.items()

    两者包含的其实是你所定义的网络中继承自nn.Module的模块,比如nn.Relu,nn.Conv2d等,并不是你整个网络的forward()结构,而且你自定义的函数模块也是没有的,实验如下: 另外, ...

  3. pytroch:model.train()、model.eval()的使用

    前言:最近在把两个模型的代码整合到一起,发现有一个模型的代码整合后性能大不如前,但基本上是源码迁移,找了一天原因才发现是因为model.eval()和model.train()放错了位置!!!故在此介 ...

  4. Pytorch:model.train()和model.eval()用法和区别,以及model.eval()和torch.no_grad()的区别

    model.train()和model.eval()的区别主要在于Batch Normalization和Dropout两层. model.train() 官方文档 启用 Batch Normaliz ...

  5. model.fit以及model.fit_generator区别及用法

    model.fit以及model.fit_generator区别及用法_猫爱吃鱼the的博客-CSDN博客

  6. (深入理解)model.eval() 、model.train()以及torch.no_grad() 的区别

    文章目录 简要版解释 深入版解释 简要版解释 在PyTorch中进行validation或者test的时侯,会使model.eval()切换到测试模式,在该模式下,model.training=Fas ...

  7. 【pytorch】model.train和model.eval用法及区别详解

    使用PyTorch进行训练和测试时一定注意要把实例化的model指定train/eval,eval()时,框架会自动把BN和DropOut固定住,不会取平均,而是用训练好的值,不然的话,一旦test的 ...

  8. model.parameters(),model.state_dict(),model .load_state_dict()以及torch.load()

    一.model.parameters()与model.state_dict() model.parameters()与model.state_dict()都是Pytorch中用于查看网络参数的方法 一 ...

  9. MVC中Model BLL层Model模型互转

    MVC中Model BLL层Model模型互转 一. 模型通常可以做2种:充血模型和失血模型,一般做法是模型就是模型,不具备方法来操作,只具有属性,这种叫做失血模型(可能不准确):具备对模型一定的简单 ...

最新文章

  1. Spring学习(23)--- AOP之Introductions应用
  2. 700页的机器学习笔记火了!完整版开放下载
  3. 整了个程序员专用的红包封面,喜欢的来领咯!
  4. 【转】关于HTTP中文翻译的讨论
  5. ProjectManagement::Redmine备份与恢复
  6. ASM心跳超时检测之--Delayed ASM PST heart beats
  7. 浪潮服务器nf5280m2安装系统,破茧化蝶之作 浪潮NF5280M2服务器评测
  8. New Currency Rate IOS APP 上线
  9. truffle 安装以及基本指令
  10. Matlab调用系统命令行利用Internet Download Manager(IDM)实现批量下载
  11. 一文详解高精地图构建与SLAM感知优化建图策略
  12. html右侧划出层,点击按钮网页居中滑出覆盖层和消息提示盒子
  13. web前端学习之———互联网与HTML篇
  14. 小说作者推荐:漫漫何其多合集
  15. 再谈OT算法的协同文档制作的底层基础架构记录
  16. Jumpserver堡垒机部署(完整过程)
  17. accept()函数
  18. 学编程和乐高机器人的区别
  19. 民航飞机因何频繁遭遇乱流?
  20. Carmichael numbers 卡迈克尔数

热门文章

  1. 概率论与数理统计学习笔记——第7讲——连续型随机变量(2.5.5正态分布)
  2. python语音合成 标贝_让机器的声音听起来更像人声,专注语音合成前端技术的「标贝科技」完成千万级人民币融资...
  3. 解决centos 无法输入中文
  4. 深度学习半监督:mean teacher阅读笔记
  5. 名编辑电子杂志大师教程 | 批量转换PDF为电子杂志
  6. 通过霍夫直线检测方式获取直线,自定义提取直线(提取出两条接近平行的直线),将直线进行拟合
  7. 力特usb转串口线驱动 linux,力特USB转串口並口驱动
  8. wxpython列表框_wxpython中列表框(ListBox类)、复选列表框(CheckListBox)、下拉选项(Choice)、进度条(Gauge)、滑块(Slider)使用实例源码分享...
  9. 【STM32】基于HAL库的中断详细学习
  10. PHP输出一段励志的话,最经典励志的一段话