栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

pytorch

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

pytorch

def __init__(self, num_classes 1001, zero_init_residual False): super(InceptionResNetV2, self).__init__() # Special attributs self.input_space None self.input_size (299, 299, 3) self.mean None self.std None # Modules self.conv2d_1a BasicConv2d(3, 32, kernel_size 3, stride 2) self.conv2d_2a BasicConv2d(32, 32, kernel_size 3, stride 1) self.conv2d_2b BasicConv2d(32, 64, kernel_size 3, stride 1, padding 1) self.maxpool_3a nn.MaxPool2d(3, stride 2) self.conv2d_3b BasicConv2d(64, 80, kernel_size 1, stride 1) self.conv2d_4a BasicConv2d(80, 192, kernel_size 3, stride 1) self.maxpool_5a nn.MaxPool2d(3, stride 2) self.mixed_5b Mixed_5b() self.repeat nn.Sequential( Block35(scale 0.17), Block35(scale 0.17), Block35(scale 0.17), Block35(scale 0.17), Block35(scale 0.17), Block35(scale 0.17), Block35(scale 0.17), Block35(scale 0.17), Block35(scale 0.17), Block35(scale 0.17) self.mixed_6a Mixed_6a() self.repeat_1 nn.Sequential( Block17(scale 0.10), Block17(scale 0.10), Block17(scale 0.10), Block17(scale 0.10), Block17(scale 0.10), Block17(scale 0.10), Block17(scale 0.10), Block17(scale 0.10), Block17(scale 0.10), Block17(scale 0.10), Block17(scale 0.10), Block17(scale 0.10), Block17(scale 0.10), Block17(scale 0.10), Block17(scale 0.10), Block17(scale 0.10), Block17(scale 0.10), Block17(scale 0.10), Block17(scale 0.10), Block17(scale 0.10) self.mixed_7a Mixed_7a() self.repeat_2 nn.Sequential( Block8(scale 0.20), Block8(scale 0.20), Block8(scale 0.20), Block8(scale 0.20), Block8(scale 0.20), Block8(scale 0.20), Block8(scale 0.20), Block8(scale 0.20), Block8(scale 0.20) self.block8 Block8(noReLU True) self.conv2d_7b BasicConv2d(2080, 1536, kernel_size 1, stride 1) self.avgpool_1a nn.AvgPool2d(5, count_include_pad False) self.bottleneck nn.Sequential( nn.Linear(1536, 512), nn.BatchNorm1d(512), nn.ReLU(), nn.Dropout(0.5) self.bottleneck[0].weight.data.normal_(0, 0.005) self.bottleneck[0].bias.data.fill_(0.1) self.head nn.Sequential( nn.Linear(512, 512), nn.ReLU(), nn.Dropout(0.5), nn.Linear(512, num_classes) # self.fc nn.Linear(512, num_classes) for dep in range(2): self.head[dep * 3].weight.data.normal_(0, 0.01) self.head[dep * 3].bias.data.fill_(0.0) 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) if zero_init_residual: for m in self.modules(): if isinstance(m, Bottleneck): nn.init.constant_(m.bn3.weight, 0) elif isinstance(m, BasicBlock): nn.init.constant_(m.bn2.weight, 0) def features(self, input): x self.conv2d_1a(input) x self.conv2d_2a(x) x self.conv2d_2b(x) x self.maxpool_3a(x) x self.conv2d_3b(x) x self.conv2d_4a(x) x self.maxpool_5a(x) x self.mixed_5b(x) x self.repeat(x) x self.mixed_6a(x) x self.repeat_1(x) x self.mixed_7a(x) x self.repeat_2(x) x self.block8(x) x self.conv2d_7b(x) return x def logits(self, features): x self.avgpool_1a(features) # print( x1.size {} .format(x.shape)) x x.view(x.size(0), -1) # print( x2.size {} .format(x.shape)) x self.bottleneck(x) x self.head(x) # x self.last_linear(x) return x def forward(self, input): x self.features(input) # print( x0.size {} .format(x.shape)) x self.logits(x) return x def inceptionresnetv2(num_classes 1000, pretrained imagenet ): r InceptionResNetV2 model architecture from the InceptionV4, Inception-ResNet... https://arxiv.org/abs/1602.07261 _ paper. if pretrained: pretrained imagenet background num_classes_hat 1001 settings pretrained_settings[ inceptionresnetv2 ][pretrained] # print(settings) # print( num %dn ,num_classes) # assert num_classes settings[ num_classes ], # num_classes should be {}, but is {} .format(settings[ num_classes ], num_classes) # both imagenet imagenet background are loaded from same parameters model InceptionResNetV2(num_classes num_classes_hat) model.load_state_dict(model_zoo.load_url(settings[ url ]), strict False) # if pretrained imagenet background : # # print( yes ) # # model.last_linear nn.Linear(1536, num_classes).cuda() # new_last_linear nn.Linear(1536, num_classes).cuda() # new_last_linear.weight.data model.last_linear.weight.data[1:] # new_last_linear.bias.data model.last_linear.bias.data[1:] # model.last_linear new_last_linear model.input_space settings[ input_space ] model.input_size settings[ input_size ] model.input_range settings[ input_range ] model.mean settings[ mean ] model.std settings[ std ] else: model InceptionResNetV2(num_classes num_classes) return model
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/267726.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号