当前位置:   article > 正文

使用pytorch搭建GoogLeNet网络_pytorch googlenet network

pytorch googlenet network

 1.网络结构

Alt

 

 

 

 

 

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

Alt

1.model.py  

  1. import torch.nn as nn
  2. import torch
  3. import torch.nn.functional as F
  4. # 4.定义googlenet网络
  5. # aux_logits=True:使用辅助分类器。
  6. # init_weights=False:初始化权重。
  7. # self.aux_logits = aux_logits->把是否使用辅助分类器传入到类变量当中。
  8. # ceil_mode=True->代表卷积后参数向上取整
  9. class GoogLeNet(nn.Module):
  10. def __init__(self, num_classes=1000, aux_logits=True, init_weights=False):
  11. super(GoogLeNet, self).__init__()
  12. self.aux_logits = aux_logits
  13. self.conv1 = BasicConv2d(3, 64, kernel_size=7, stride=2, padding=3)
  14. self.maxpool1 = nn.MaxPool2d(3, stride=2, ceil_mode=True)
  15. self.conv2 = BasicConv2d(64, 64, kernel_size=1)
  16. self.conv3 = BasicConv2d(64, 192, kernel_size=3, padding=1)
  17. self.maxpool2 = nn.MaxPool2d(3, stride=2, ceil_mode=True)
  18. # 按照inception结构(该层输入大小[上层输出大小],1x1,3x3reduce,3x3,5x5reduce,5x5)来写
  19. self.inception3a = Inception(192, 64, 96, 128, 16, 32, 32)
  20. self.inception3b = Inception(256, 128, 128, 192, 32, 96, 64)
  21. self.maxpool3 = nn.MaxPool2d(3, stride=2, ceil_mode=True)
  22. self.inception4a = Inception(480, 192, 96, 208, 16, 48, 64)
  23. self.inception4b = Inception(512, 160, 112, 224, 24, 64, 64)
  24. self.inception4c = Inception(512, 128, 128, 256, 24, 64, 64)
  25. self.inception4d = Inception(512, 112, 144, 288, 32, 64, 64)
  26. self.inception4e = Inception(528, 256, 160, 320, 32, 128, 128)
  27. self.maxpool4 = nn.MaxPoo
本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号