赞
踩
1.网络结构
github代码 pytorch搭建经典网络模型
数据集 http://download.tensorflow.org/example_images/flower_photos.tgz
将数据集执行split_data.py脚本自动将数据集划分成训练集train和验证集val
|—— flower_data
|———— flower_photos(解压的数据集文件夹,3670个样本)
|———— train(生成的训练集,3306个样本)
|———— val(生成的验证集,364个样本)代码相应部分:https://blog.csdn.net/com_fang_bean/article/details/108479808
1.model.py
- import torch.nn as nn
- import torch
- import torch.nn.functional as F
-
- # 4.定义googlenet网络
- # aux_logits=True:使用辅助分类器。
- # init_weights=False:初始化权重。
- # self.aux_logits = aux_logits->把是否使用辅助分类器传入到类变量当中。
- # ceil_mode=True->代表卷积后参数向上取整
- class GoogLeNet(nn.Module):
- def __init__(self, num_classes=1000, aux_logits=True, init_weights=False):
- super(GoogLeNet, self).__init__()
- self.aux_logits = aux_logits
-
- self.conv1 = BasicConv2d(3, 64, kernel_size=7, stride=2, padding=3)
- self.maxpool1 = nn.MaxPool2d(3, stride=2, ceil_mode=True)
-
- self.conv2 = BasicConv2d(64, 64, kernel_size=1)
- self.conv3 = BasicConv2d(64, 192, kernel_size=3, padding=1)
- self.maxpool2 = nn.MaxPool2d(3, stride=2, ceil_mode=True)
- # 按照inception结构(该层输入大小[上层输出大小],1x1,3x3reduce,3x3,5x5reduce,5x5)来写
- self.inception3a = Inception(192, 64, 96, 128, 16, 32, 32)
- self.inception3b = Inception(256, 128, 128, 192, 32, 96, 64)
- self.maxpool3 = nn.MaxPool2d(3, stride=2, ceil_mode=True)
-
- self.inception4a = Inception(480, 192, 96, 208, 16, 48, 64)
- self.inception4b = Inception(512, 160, 112, 224, 24, 64, 64)
- self.inception4c = Inception(512, 128, 128, 256, 24, 64, 64)
- self.inception4d = Inception(512, 112, 144, 288, 32, 64, 64)
- self.inception4e = Inception(528, 256, 160, 320, 32, 128, 128)
- self.maxpool4 = nn.MaxPoo

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。