pytorch children和modules

您所在的位置:网站首页 KID模型 pytorch children和modules

pytorch children和modules

2024-07-15 15:08| 来源: 网络整理| 查看: 265

参考1 参考2 官方论坛讨论

children: 只包括网络的第一级孩子,不包括孩子的孩子 modules: 深度优先遍历,先输出孩子,再输出孩子的孩子,孩子的孩子的孩子。。。

children的用法:加载预训练模型 resnet = models.resnet50(pretrained=True) modules = list(resnet.children())[:-1] # 去除最后的fc层 resnet_base = nn.Sequential(*modules) linear = nn.Linear(resnet.fc.in_features, 10) # 替换新的fc层 # 或者直接替换 resnet = models.resnet50(pretrained=True) for param in resnet.parameters(): # 冻结参数 param.requires_grad = False resnet.fc = nn.Linear(resnet.fc.in_features, 100) modules的用法:初始化网络的参数,参考官方实现 for m in self.modules(): if isinstance(m, nn.Conv2d): nn.init.kaiming_normal_(m.weight, mode='fan_out', nonlinearity='relu') elif isinstance(m, (nn.BatchNorm2d, nn.GroupNorm)): nn.init.constant_(m.weight, 1) nn.init.constant_(m.bias, 0)


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3