VGG-25 使用块的网络 VGG【动手学深度学习v2】

AID:
CID:
视频图片:
作者头像:
弹幕地址:
视频描述:

热门回复:

  • Afei-6868:沐神更新太频繁了吧[妙啊]
  • 平淡方是真:参照VGG论文的实现: import torch from torch import nn def vgg_block(num_conv,in_channels,out_channels) ->nn.Sequential: layers: List【nn.Module】 = 【】 for _ in range(num_conv): layers.append(nn.Conv2d(in_channels,out_channels,kernel_size=3,padding=1)) layers.append(nn.ReLU()) in_channels = out_channels layers.append(nn.MaxPool2d(kernel_size=2,stride=2)) return nn.Sequential(*layers)
  • DesertRoad:这里又忘记了卷积的尺寸公式了,写一下:输出尺寸=[输入尺寸-kernel-size+2*padding+stride]/stride
  • 看不懂就再看一遍吧:我觉得沐神这里讲的实在是太好了,要是早点看就好了。可能很多人没有这个感觉,我觉得老师对VGG创新点理解的太透彻了---VGG block这个设计理念。有了这个理念,只要设计的块具有好的性质,那么加深只需要不断重复复制这个块就好了,每次卷积块之后都可以选择接一个池化层,这样feature map 的size也就通了。设计理念清楚之后,后面所有的改动就立刻清楚了。太厉害了!这就是大佬吗?我直接膜拜!
  • 官已呀吼呀吼:给大家参考一下我试的结果, 但是epochs由于手残设置成了128。训练完才发现 可恶!batch=128,lr=0.05 3090: 2695.9 examples/sec on cuda:0 用时1h左右 2080ti:1667.3 examples/sec on cuda:0 用时1h40min左右